Tor Hedin Brønner
69decf9f12
navigator: Don't navigate using this.space.getWindows()
...
Also remove state like `_seletedIndex` which is superflous.
2018-06-29 11:06:02 +02:00
Tor Hedin Brønner
f0455bc93a
Add Space.getWindow(index, row) and Space.positionOf(w) => [i, r]
2018-06-29 11:06:02 +02:00
Tor Hedin Brønner
85d3474593
Keybind handling: accept native close action when navigating
2018-06-29 11:06:02 +02:00
Tor Hedin Brønner
e930b93fc8
Refactor space.emit('move-done') to space.moveDone()
...
This was simply the wrong way to use signals.
2018-06-27 11:40:49 +02:00
Tor Hedin Brønner
f011c6e0e9
Cleanup and some comments
2018-06-27 11:28:23 +02:00
Tor Hedin Brønner
acf06bae4e
windowEnteredMonitor: Don't move scratch windows
...
Or windows that are `stuck`
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
be15267cb0
Track monitor overlay
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
07ab09ec84
Fix moving selected window to another monitor/space
...
Let focus follow the selected window. This caused issues in the past, but seems
to work now. It actually makes the switch more reliable, squashing a weird bug
where changing to another after moving a window would trigger the native switch
workspace animation.
In `moveSizeHandler` we need to check the coordinates of the window against the
monitor because `metaWindow.get_monitor()` reports the old monitor.
We also need to force ensure when inserting a window into a workspace that's not
active.
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
b48ed8b2bd
Activate workspace with focus when the mouse enters a monitor
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
23693de392
Insert windows regardless of which monitor it spawns on
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
fc76805324
Fix up the active workspace after monitors-changed
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
d0e7cc259e
Support workspaces-only-on-primary
...
Also run `monitorsChanged` when `workspaces-only-on-primary` is toggled.
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
3d9a766699
Remember and restore monitor setup on disable/enable cycles
...
When monitors actually change we try out some heuristics. In particular we make
sure that the previously active workspace is shown on its assigned
monitor (which might've changed).
2018-06-27 10:22:07 +02:00
Tor Hedin Brønner
920a33b652
Use at least window_gap when dividing space among windows
2018-06-27 10:22:07 +02:00
Ole Jørgen Brønner
6a1d4dcbc5
Fix debug/log-viewer for non-nixos systems + show more initial lines
2018-06-26 21:46:33 +02:00
Tor Hedin Brønner
5f75e9376e
Document Space more
2018-06-26 14:29:15 +02:00
Tor Hedin Brønner
49ee4152a8
Prevent onComplete hiding the space.actor after we run show
...
Fix for 6f270ac442
2018-06-26 14:29:15 +02:00
Ole Jørgen Brønner
fd3be2cf25
Notes: how to check if a key sequence is bound (outside clutter)
2018-06-25 22:35:17 +02:00
Ole Jørgen Brønner
2dd9b86bb9
Minor cleanup: notes.org
2018-06-25 22:35:17 +02:00
Tor Hedin Brønner
5a4e78cd2d
Fix coordinates that broke multi monitor setup
...
Used monitor relative coordinates as absolute two places.
2018-06-25 21:28:16 +02:00
Ole Jørgen Brønner
0d19b749e7
Cleanup: remove repl.js
...
Not useful anymore - better to put some useful sample code in ./examples/
2018-06-25 20:30:03 +02:00
Ole Jørgen Brønner
b13cb4dda4
Minor cleanup
2018-06-25 20:26:16 +02:00
Tor Hedin Brønner
9dc591e697
Fix slurp and barf when navigating
...
Simply rebuild all the clones whenever we execute a non-navigating action. This
is a bit ad-hoc and the whole minimap should probably be rewritten using signals
emitted when the associated space changes (eg. on `space.addWindow`).
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
8c93f10509
fixColumn: move visible check outside the loop
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
ccc6249283
edge-overlays: Always cover the gap when targets are almost hidden
...
Instead of removing the gap when we're dealing with fullscreen or maximized
windows we remove it when the overlay is wider than 75 pixels.
Also fully cover all windows that aren't marked as `visible` by the space.
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
5f6a071651
move_to: Use overlay.target to check if the overlay has a target
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
a7cc11107f
edge-overlays: setTarget(metaWindow) -> setTarget(space, index)
...
Let the edge-overlays act on columns.
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
1ff4793cf4
disable: Lower all windows
...
Lower windows using the flat order of the space.
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
65726c197e
moveSizeHandler: only pass onComplete if we should animate
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
8a3bf62c9b
Constrain selection highlight to the bottom of the top bar
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
baf0d53000
Deprecrate detach in favor of space.removeWindow
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
604da418bc
Select the correct window when removing selectedWindow
...
We simply select the most raised window, ie. how clutter chooses the next focus
window.
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
db19ac1376
Simply keybindings somewhat
...
Only use one instance of the wrapped functions.
2018-06-25 16:50:44 +02:00
Ole Jørgen Brønner
5f7396f25f
Misc changes to moveSizeHandler, move_to and centerWindwo:
...
`move_to` means move the window's *column*, not the window itself.
- Honor y argument in move_to. It's needed to position fullscreen/maximized
windows.
- Provide a default y value for move_to (top of column)
- Use the moved frame's x position in moveSizeHandler (otherwise it's not
possible to move non-top vertically tiled windows
Only passing y to move_to in moveSizeHandler is maybe a bit confusing?
2018-06-25 16:50:44 +02:00
Ole Jørgen Brønner
cd874e4d21
Fix centerWindowHorizontally for vertically tiled windows
...
When centering a v-tiled window other than the top window, move_to squashed the
column since fixColumn started at the focus window's y
It's no fully clear what the `y` argument in `move_to` should do maybe?
After this fix is doesn't really do anything.
2018-06-25 16:50:44 +02:00
Ole Jørgen Brønner
b23f9f1d27
Handle non-tiled windows specially in centerWindowHorizontally
...
`move_to` broke for non-tiled windows, and `move` don't animate since the clone
isn't attached for non-tiled windows.
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
a61413c6f5
readme: document vertical tiling
2018-06-25 16:50:44 +02:00
Ole Jørgen Brønner
aa5a77738f
Main.layoutManager.focusMonitor is very new so use a "polyfill" for now
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
d47e731aae
Add slurp-[i]n/barf-[o]ut bindings
...
`<super>i` and `<super>o` as default bindings.
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
3c1dbf6c41
readme: Update keybindings
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
245a388ad5
Fix fullscreen and maximized handling
...
Regression caused by forgetting that fullscreen and maximized windows have fixed
positions, so we need to explicitly check the state.
`moveSizeHandler` needs to pass the actual top y position of the column.
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
5306316929
Add column reordering
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
49e4596e24
Add spatial navigation with arrow keys
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
a079300af3
Add `switch-left/right/up/down actions
...
Use `Super Page_Up/Down' for workspace movement
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
d59b16664e
Pass correct arguments to fixStack
2018-06-25 16:50:44 +02:00
Ole Jørgen Brønner
ec23728b24
Check array bounds in Navigator._reorder
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
e2daba83c9
minmap: Make room for vertical window gaps
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
c59cc48635
Use the top of the mru as the overlay target
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
aff871d783
navigate: Fix reordering
2018-06-25 16:50:44 +02:00
Tor Hedin Brønner
9f577f6981
Navigate through all the windows
2018-06-25 16:50:44 +02:00