Commit Graph
227 Commits
Author SHA1 Message Date
Ole Jørgen Brønner d7fa57592c (empty) Minimap for all spaces!
Not hooked up to 'window-added/removed' so the map will be empty.
2017-09-27 21:26:08 +02:00
Tor Hedin Brønner 75220ee83d Set a max protrusion when folded
Also use frame coordinates
2017-09-27 20:11:07 +02:00
Tor Hedin Brønner e6af7c7a41 Basic fold with tons of hardcoded values
ref: #33
2017-09-27 19:46:35 +02:00
Ole Jørgen Brønner 9be97a5f36 Minimap prototype
NB: Only one workspace supported

Ref: #33
2017-09-27 18:43:53 +02:00
Ole Jørgen Brønner 5c28deb0e4 Copy-paste bugfix
(untested)
2017-09-27 14:35:35 +02:00
Ole Jørgen Brønner 17053b2ab5 Don't position windows on non-integer pixel positions
Results in blurry content.

Maybe we want to enforce this in `move`/`move_to` too?
2017-09-27 13:15:35 +02:00
Tor Hedin Brønner b6447a2f4c Use minimum for delay calculation
Returns NaN when margin_lr is largen than stack_margin obviously.
2017-09-27 13:08:24 +02:00
Tor Hedin Brønner a6e646127b Make a minimumMargin property for maximize and ensure
Maximize using `minimumMargin` so a high `margin_lr` will not interact with
maximize. Also use it to determine if a window should be pushed into the
viewport using the regular horizontal margins.

(Also let `primary` be a global, it breaks eval of basically everything)
2017-09-27 11:55:00 +02:00
Tor Hedin Brønner 77a4e432d4 Position the first window on a workspace correctly 2017-09-26 15:28:03 +02:00
Tor Hedin Brønner c4f14d495e Remove alignment on animation overwrite
Caused some weirdness when going back and forth fast, and didn't seem to do
anything useful.
2017-09-26 14:31:48 +02:00
Ole Jørgen Brønner ced00ebcb3 Don't enable() more than once. Workaround until disable is implemented
The extension sometimes go through multiple init -> enable -> disable cycles at
login or gnome-shell-restart.

This is especially problematic as we don't yet implement `disable`. Note that
`init` is **also** called multiple times when this happens..

Fixes #30
2017-09-26 13:30:37 +02:00
Tor Hedin Brønner 2964ab3d90 Use setInitialPosition for positioning existing windows too
Also set update `selectedWindow` correctly.
2017-09-26 13:28:25 +02:00
Tor Hedin Brønner 555cf7fe6b Hook up focus_wrapper on first-frame for new windows
This properly fixes the raciness between `setInitialPosition` and
`ensure_viewport` on first `focus`.

Also positions new focused windows properly by moving the frame before we
ensure.
2017-09-26 12:57:47 +02:00
Tor Hedin Brønner 0e182d6b1d Use move_to for initial positioning
Makes opening windows in the background less jumpy, eg. when emacs starts its
position at the left of the screen for a moment before jumping to it's initial
position.
2017-09-26 11:22:19 +02:00
Tor Hedin Brønner 7f9f43b5b0 Refactor setInitialPosition out of first-frame and focus
A bit hacky, but seems to work, and will actually clean up after itself (the old
disconnect didn't work as we know).
2017-09-26 00:35:38 +02:00
Tor Hedin Brønner 9b5f4e0a4a Refactor insertWindow out of add_handler 2017-09-25 18:47:22 +02:00
Tor Hedin Brønner 89f4cf9f3d Align the window frame to the actor when overwriting animations
Should decrease jumpiness
2017-09-25 18:09:38 +02:00
Tor Hedin Brønner 393339fa5a Fix silly regression, wrong argument ordering 2017-09-25 18:01:28 +02:00
Tor Hedin Brønner 7282d3ef79 Shouldn't be necesarry to force here
It might have caused some jumpiness on early release, though not sure how.
2017-09-25 15:52:39 +02:00
Tor Hedin Brønner fe9c2bb9e3 Remove obsolete code
Navigation and moving is handled by `PreviewedWindowNavigator` now.
2017-09-25 14:43:11 +02:00
Tor Hedin Brønner 6f4a77e4bc Also set selectedwindow on restart 2017-09-25 13:49:08 +02:00
Tor Hedin Brønner f25a023047 Run relayout on restart 2017-09-25 11:56:18 +02:00
Tor Hedin Brønner 4c6456df18 When adding scratch windows make them above 2017-09-25 11:49:53 +02:00
Tor Hedin Brønner d2b8e5771b Only force ensure when we reorder the space 2017-09-25 11:17:54 +02:00
Tor Hedin Brønner c215761b7c Refactor move_to out of ensure_viewport
Use `move_to` when adding already existing windows to a workspace.
2017-09-25 11:05:17 +02:00
Tor Hedin Brønner cc9d59c6ea Refactor ensure_viewport to take an explicit space argument 2017-09-25 11:05:17 +02:00
Ole Jørgen Brønner 37731b7cc6 Notes: More keybindings (eg. modifier-only keybindings) 2017-09-25 00:15:41 +02:00
Tor Hedin Brønner 269d91bc07 Fall back to focus_window when selectedWindow isn't set
`selectedWindow` won't be set when we restart.
2017-09-24 23:42:54 +02:00
Tor Hedin Brønner db19967416 Use space.selectedWindow to pick the starting point of navigation
This makes it possible to navigate the tiling while the scratch layer is
focused.
2017-09-24 22:32:58 +02:00
Ole Jørgen Brønner 9f8438e1e0 Remove obsolete LiveWindowNavigator
Superseded by PreviewedWindowNavigator. We don't need both, and if want
navigation without minimap we can just make a flag
2017-09-24 20:44:04 +02:00
Tor Hedin Brønner c4439cdaa6 Declare margin and gaps in schema
Makes it possible to customize in dconf.
2017-09-24 20:39:38 +02:00
Ole Jørgen Brønner 6eaa8333f9 Use hardcoded actions in PreviewedWindowNavigator 2017-09-24 20:33:21 +02:00
Ole Jørgen Brønner 1e34d37100 Integrate move-right/left into PreviewedWindowNavigator
Works towards #2
2017-09-24 20:00:10 +02:00
Ole Jørgen Brønner b1ee11e579 Global reference to extension object 2017-09-24 18:12:43 +02:00
Ole Jørgen Brønner ca35cf2595 Rename + store action ids for the rest of our custom actions too 2017-09-23 23:28:09 +02:00
Ole Jørgen Brønner deb9492e9d Use our own keybinding-actions to switch next/previous window in the space
NB: The user need to reset the switch-windows and switch-windows-backward
bindings using eg. dconf-editor

See the notes.org changes for some insight in why certain things is changed.
2017-09-23 23:16:46 +02:00
Ole Jørgen Brønner 67c5dd0b94 Don't ensure null window (when last window-removed)
Also include worspace index in window-added/removed log.
2017-09-23 20:24:57 +02:00
Tor Hedin Brønner ce1642718e Animate windows moving between workspaces
Use ensure when the window has focus, and just move when not.

TODO: propogate the changes properly when using `move`. This shuold really be
done by having a proper `insertWindow` function which fully handles positioning
of new windows, inserting them to the foreground or background approriately.
2017-09-23 19:31:06 +02:00
Tor Hedin Brønner dc4b1e7663 Fix "typo" 2017-09-23 19:21:53 +02:00
Tor Hedin Brønner cf7f0e868b window-removed: don't ensure windows that aren't part of the space 2017-09-23 17:08:17 +02:00
Tor Hedin Brønner f724ab372f Add detach utility function which can be called from lg 2017-09-23 16:59:12 +02:00
Tor Hedin Brønner 219c774c8a Delete obsolete margin variable/state 2017-09-23 16:14:23 +02:00
Tor Hedin Brønner 5be8617543 Make centering a proper case when moving windows into view
Centering shouldn't be implemented by mutating `margin`, but be its own case of
course. (can drop `margin` here now).
2017-09-23 15:55:33 +02:00
Tor Hedin Brønner 30637ddfbe We should center based on margin_lr too
`margin_lr` can be used for eg. always center mode, by setting it to half the
monitor width, or just having active windows always be eg. 20% off the monitor
edge.
2017-09-23 15:38:35 +02:00
Tor Hedin Brønner ab9e9ec0b0 Handle primary monitor changes 2017-09-23 15:22:58 +02:00
Tor Hedin Brønner e2bbccbf77 Animate the top bar using scale_y instead of position
Fixes #27
2017-09-23 14:06:40 +02:00
Tor Hedin Brønner 481c351d2e Add some missing monitor offsets 2017-09-23 13:41:35 +02:00
Ole Jørgen Brønner 6f5baa2ed7 Minor: remove obsolete/ill-positioned comment 2017-09-23 11:51:24 +02:00
Ole Jørgen Brønner 0d1fc33d98 Update selectedWindow when a window in a inactive WS is closed/moved 2017-09-23 11:29:01 +02:00
Ole Jørgen Brønner ac62fa75ae Bugfix: focus_window is null when activities/overview is open
Caused windows opened from activities to be opened as scratch/sticky windows.
2017-09-23 11:27:11 +02:00