Commit Graph

1450 Commits

Author SHA1 Message Date
Tor Hedin Brønner
d4d28e414b dynamic-ws: Keep a minimum number of spaces
Keep a minimum of `org.gnome.desktop.wm.preferences num-workspaces`
alive at a time.
2019-12-01 15:20:38 +01:00
Tor Hedin Brønner
fe1770263c kludges: Move _checkWorkspaces to its own function 2019-12-01 15:16:03 +01:00
Tor Hedin Brønner
13729b7a61 liveAltTab: Include non-modal transient windows 2019-12-01 00:52:37 +01:00
Tor Hedin Brønner
84b281935e Clip WindowActor to the whole monitor 2019-11-25 20:02:39 +01:00
Tor Hedin Brønner
b58050f7f5 Revert "insertWindow: derive existing from metaWindow.unmapped"
This reverts commit 1c5779116b.

Not entirely sure what's up here, but this triggers infinite recursion when
eg. opening the color picker from paperwm prefs.

fixes #200
2019-11-20 11:58:13 +01:00
Tor Hedin Brønner
d46b7bf701 minimap: fix resizing in 3.34 2019-11-19 03:13:23 +01:00
Tor Hedin Brønner
30eb45c2cc Space.layout: emit layout 2019-11-19 02:32:09 +01:00
Tor Hedin Brønner
697f025c55 edge previews: remove after timeout 2019-11-13 15:38:27 +01:00
Tor Hedin Brønner
788c328155 sequential space navigation: Include empty workspaces
Empty workspaces are trivial to move between monitors, so include them when
navigating workspaces sequentially.
2019-11-12 23:25:15 +01:00
Tor Hedin Brønner
9eb29214a3 Fix insertion kludge
Managed to not test on my own setup...
2019-11-12 16:29:29 +01:00
Tor Hedin Brønner
76c2206e56
Merge pull request #115 from goodwillcoding/sequencial-workspace-navigation
Spaces: Add sequential workspace switching and window move using sliding wall animation
2019-11-12 14:24:35 +01:00
goodwillcoding
6ea3bacca5 update readme with sequential workspace bits 2019-11-12 14:21:46 +01:00
Tor Hedin Brønner
1bb973b36e switchWorkspace: Don't set up animation if moving between monitors 2019-11-12 14:19:30 +01:00
Tor Hedin Brønner
74f7049107 animateToSpace: Animate the whole sequence of spaces
When finishing sequential navigation the selected space will be correctly
animated into place. The other spaces will stand still however, which is
especially noticable if a neighboring space is above the newly selected space.

Make use of _animateToSpaceOrdered to finish sequential navigation to fix this.
2019-11-12 14:19:30 +01:00
Tor Hedin Brønner
370d864d61 Spaces: Refactor out _animateToSpaceOrdered(toSpace, animate = true) 2019-11-12 14:19:30 +01:00
Tor Hedin Brønner
c5dc1e3c66 Spaces: Add _getOrderedSpaces(monitor) -> [Space] 2019-11-12 14:19:30 +01:00
goodwillcoding
98657bcb63 Spaces: Disallow switching between stack and sequential navigation 2019-11-12 14:19:30 +01:00
goodwillcoding
77e7ae15a9 rename selectSpace to selectStackSpace
(and switchSpace to selectSequenceSpace)
2019-11-12 14:19:30 +01:00
goodwillcoding
5d148a3f6a Spaces: add sequential navigation of spaces 2019-11-12 14:19:30 +01:00
Tor Hedin Brønner
e680ba8946 ClickOverlay: Don't change monitors while in workspace preview 2019-11-12 13:45:54 +01:00
Tor Hedin Brønner
e9fa665fb2 kludges: use upstreams code to fix insertion issue
This is fixed in upstream, so use the correct code. Probably not necessary, but
dosen't hurt.
2019-11-12 01:00:34 +01:00
Tor Hedin Brønner
9a64129006 Fix window insertion in gnome-shell-3.34 (a43c22e3af)
(references to gnome-shell commits/merge-requsts)

22b6a09c (!815 (merged)) removed WindowManager._removeEffect, but didn't remove
all its uses as it was made on top of b6d47c18. So when cherry picked some code
paths in 3.34 still relied on _removeEffect.

Simply monkey patch around the problem...
2019-11-11 22:32:33 +01:00
Tor Hedin Brønner
1c5779116b insertWindow: derive existing from metaWindow.unmapped
When using `workspaces-only-on-primary` it's possible to trigger insertWindow
from `window-added` instead of `window-created`, leaving insertWindow thinking
the window is `existing`.

Simply use `metaWindow.unmapped` to figure out if a window is newly created or
not.
2019-11-11 16:24:18 +01:00
Ole Jørgen Brønner
426ed7b285 Cache gsettings objects
If a user updates the extension without restarting gnome-shell we risk
re-reading the updated schema file without using the updated code (typically
after locking the screen (disable/enable cycle))

related-to: #190
2019-11-06 22:03:29 +01:00
goodwillcoding
9a21af6a03 Gnome 3.28 compatibility fixes for #182 (#197)
Add global.display.get_monitor_neighbor_index that uses 
global.screen.get_monitor_neighbor_index
Meta.DisplayDirection = Meta.ScreenDirection;
2019-11-05 09:59:57 +01:00
Tor Hedin Brønner
8f22ab6b1e keybindings: do not override actionless keys
It's possible to pick up schema changes without a full reload. If the new
bindings conflicts with gnome-shell we will try to override. But since we have
registered no action, this will fail.

Simply guard against actionless bindings.

fixes #190
2019-11-02 23:42:45 +01:00
Tor Hedin Brønner
e36b4b923e kludges: fix overview ordering in 3.34
3.34 changed introduced changes to the layout algorithm breaking our simple
ordering monkey patch.

Simply take computeLayout from 3.32 and monkeypatch it back in.
2019-11-01 01:44:41 +01:00
Tor Hedin Brønner
6efd2e8b4a default winprops: match gnome-screenshot on x11 too 2019-11-01 01:35:29 +01:00
Tor Hedin Brønner
54aba40fc8 winprops: support regexps in wm_class 2019-11-01 01:35:29 +01:00
Ole Jørgen Brønner
d2887263a2 examples/keybindings: tile into left/right column
Takes the selected window and tile it into the left/right neighbour column.
2019-10-31 20:08:03 +01:00
Tor Hedin Brønner
0bd9de889e cycleWindowWidth: fix typo 2019-10-26 15:57:03 +02:00
Tor Hedin Brønner
6556cb55d4 liveAltTab: fix typo 2019-10-26 15:36:56 +02:00
Tor Hedin Brønner
4b50816fcd workspace menu: Use symbolic preference icon 2019-10-26 15:35:58 +02:00
Tor Hedin Brønner
d9d11fab97 space.workArea(): Wrap workarea logic
I left a few sites which operates in global coordinates, or otherwise actually
want the actual workArea.
2019-10-26 15:34:58 +02:00
Tor Hedin Brønner
c3e5d5f8dd window highlight: Support maximized windows better 2019-10-26 15:33:26 +02:00
Ole Jørgen Brønner
e75f3aac7f Notes: summarize signal sequence of misc state changes (WIP) 2019-10-21 21:36:35 +02:00
Ole Jørgen Brønner
e54c2b34f0 Fix 3.28 error by polyfilling missing display.get_monitor_scale 2019-10-21 21:18:38 +02:00
Tor Hedin Brønner
482d29118e
Merge pull request #179 from paperwm/workspace-menu
Modernize the workspace menu
2019-10-21 13:26:23 +02:00
Tor Hedin Brønner
501ea8a136 workspace label: Set min width to avoid movement while typing 2019-10-21 12:59:37 +02:00
Tor Hedin Brønner
2d98d9c57b workspace menu: Focus workspace name on open
For some reason activation doesn't work immediately on `_onOpenStateChanged`, so
we need an idle_add (like gpaste).
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
02dd23bfd2 workspace menu: grab key focus on button clicks 2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
7974f6adc5 workspace menu: Use Hide top bar 2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
ddd5c495a8 workspace menu: add ornamental label
This adds some need width too.
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
bcdc387554 workspace menu: add next/prev workspace settings buttons 2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
0dead29718 workspace menu: simplify 2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
4cfe445477 tiling: Move cycle to Tiling.cycleWorkspaceSettings 2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
384dd6dab6 registerClass: Support passing extra spec as first arg 2019-10-20 19:05:43 +02:00
Tor Hedin Brønner
82ddc02716 Space.moveDone: Only block on grabbing a tiled window
When dragging a window to a shared secondary monitor, moveDone is blocked by
`inGrab`. However we only want this as long as the window haven't been detached
by window-entered-monitor.
2019-10-20 14:27:11 +02:00
Tor Hedin Brønner
196368d3ec tiling: Remove stray logging 2019-10-20 14:21:21 +02:00
Ole Jørgen Brønner
18b5507853 resize-actions: Increase "slack" and make it simpler to adjust
See https://gist.github.com/olejorgenb/434dcc616343a50d9d63f2a700ad89b7 for a
helper script to test various window constraints.

ref: #187
2019-10-20 11:48:47 +02:00