1475 Commits

Author SHA1 Message Date
Tor Hedin Brønner
39c129f4ad Implement stand alone resize grab 2020-01-17 22:24:39 +01:00
Tor Hedin Brønner
de60a6195d Handle workspaces-only-primary minimally 2020-01-17 22:24:39 +01:00
Tor Hedin Brønner
acbe3e76f1 keyboard move: go straight to dnd
This makes it possible to activate dnd with the keyboard. Which also
means scratch windows are dnd'able.
2020-01-17 22:23:38 +01:00
Tor Hedin Brønner
487f331058 Do not end grab until inGrab.end has run
This gives us better control in inGrab.end
2020-01-17 22:23:13 +01:00
Ole Jørgen Brønner
1e4449b476 Better initial tiling preview
Let the tiling preview zone inherit from the window when dnd starts.
2020-01-17 22:22:13 +01:00
Tor Hedin Brønner
162f1a6d92 ugly: center and increase detection on empty spaces 2020-01-17 22:21:55 +01:00
Ole Jørgen Brønner
acb112bc02 Implement window drag and drop
It's now possible to rearrange windows with the mouse:

Dragging the window up, or down, will scale its size gradually down.
When below a certain threshold it will pop out of the tiling leaving the
user free to attach it at any tiling edge.

If not dropped onto a tiling edge it will end up as a scratch/float window.
2020-01-17 22:15:54 +01:00
Ole Jørgen Brønner
a48dd56bf0 Space.globalToSpace coordinate transform util 2020-01-17 17:14:36 +01:00
Tor Hedin Brønner
ce969e77f3 addWindow: don't run layout automatically
Running two layouts after each other on wayland can cause the second
resize to be lost.

So avoid doing an automatic layout on addWindow giving the calling code
better control of the subsequent layout.
2020-01-17 17:14:36 +01:00
Tor Hedin Brønner
5adc6f1515 Force floating windows onto the correct monitor
It's possible for floating windows to appear on a monitor inhabited by
another workspace.

So always force floating windows onto the correct monitor.

ref #226
2020-01-16 14:57:06 +01:00
Tor Hedin Brønner
902e8ed86e topbar: avoid actor warning spam 2020-01-15 12:58:08 +01:00
Tor Hedin Brønner
6cba1a2f67 monitors-changed: deactivate active space overlay
When eg. unlocking the monitor overlay would be active on the current
workspace.
2020-01-13 19:47:53 +01:00
Tor Hedin Brønner
0f0f9c4e7c keybindings: reset move-to-monitor-* properly
closes #223
2020-01-11 17:26:05 +01:00
Ole Jørgen Brønner
cd9101067d examples/keybindings: cycle edge snap 2020-01-11 13:27:35 +01:00
Ole Jørgen Brønner
0f003b2d69 Make restore settings script executable
fixes #222
2020-01-11 10:00:38 +01:00
Tor Hedin Brønner
49fe4a39f7 minimum workspaces: Fix when using 3+ monitors
The monkey patched code in kludges wouldn't run on enable after eg.
unlocking as kludges.enable() happens after tiling.enable(). This left
us with too few workspaces.
34.2
2020-01-07 19:17:06 +01:00
Tor Hedin Brønner
244fcf1950 monitorsChanged: Guard against removed workspaces
It's possible for workspaces to have disappeared between a disable and
enable, guard against this.

ref #217
2020-01-07 18:18:37 +01:00
Tor Hedin Brønner
1d2cabea36 readme: fix typo 2020-01-07 11:26:26 +01:00
Tor Hedin Brønner
0d2e41ceae readme: link to some common issues 34.1 2020-01-07 11:22:10 +01:00
Tor Hedin Brønner
fb7b8aac4c window-gap: default to 20px 2019-12-22 19:03:18 +01:00
Tor Hedin Brønner
b8a5d7420a readme: document the new develop branch 2019-12-19 15:52:06 +01:00
Tor Hedin Brønner
9b6f071af4 readme: don't reccomend switching super and alt 2019-12-19 15:49:37 +01:00
Tor Hedin Brønner
0003fc9f64 readme: link to 3.36 branch 2019-12-19 15:48:10 +01:00
goodwillcoding
3b011e3387 sequential workspaces: only hide appmenu on start
fixes #210
2019-12-19 15:40:11 +01:00
Tor Hedin Brønner
7841e7368b Highlight: Do not protrude when maximized horizontally 2019-12-13 07:55:13 +01:00
Tor Hedin Brønner
27f8d957c7 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-13 07:55:13 +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 34.0 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