Commit Graph
708 Commits
Author SHA1 Message Date
Tor Hedin Brønner 071768969a Fix: Add a gap properly when opening windows in the background 2017-09-16 20:08:15 +02:00
Ole Jørgen Brønner d369476a9b Bugfix/regression: two quick moves ended in invalid state
Second ensure is cancelled since animation isn't done yet. In effect it looks
like the move wasn't done.
2017-09-16 18:59:13 +02:00
Tor Hedin Brønner 4671d4c8f8 Add print debugging for the PreviewNavigator
Also use `this._switcherList.windows` instead of calling `_getWindowList`
again. (which might fix things, but probably not).
2017-09-16 16:18:50 +02:00
Ole Jørgen Brønner f52289b5bb Simple winprop system
Based on notion/ion3

'float' and 'oneshot' support atm.
2017-09-16 11:45:57 +02:00
Tor Hedin Brønner 0623284de9 Add debug filtering
Set `debug_all` to `false` and eg. `debug_filter["window-added"] = true` and
you'll only get output which starts with `window-added`
2017-09-15 21:45:03 +02:00
Tor Hedin Brønner c3e08564c6 Add some convience globals 2017-09-15 19:48:19 +02:00
Ole Jørgen Brønner ede4f10dfa Select journal entries by executable
This will hopefully catch all relevant logs.
2017-09-15 18:46:48 +02:00
Tor Hedin Brønner 9c8986bc25 Only hide the statusbar when we're on a fullscreen window 2017-09-15 16:38:27 +02:00
Ole Jørgen Brønner f252a62204 Notes: (minor) 2017-09-15 14:44:22 +02:00
Tor Hedin Brønner 7d030a40db Support for tiling in new _static_ workspaces
Doesn't work with dynamic workspaces because they doesn't trigger the
`workspace-added` signal.

(Removed some superfluous logging)
2017-09-15 14:39:56 +02:00
Ole Jørgen Brønner 1c0e886bdd Recover tiling order across gnome-shell restart
Notes:
- X11 ids isn't exposed(?) (MetaWindow.get_xwindow C only)
- No other stable id seems to be exposed (get_stable_sequence is not that
  stable)
- Window title is too volatile (must persist order very frequently if used)
- Using the x position and stacking order seems to work (expect for windows that
  take up 100% of the screen width)
2017-09-15 10:59:46 +02:00
Ole Jørgen Brønner 8ea4a9e3cf Remove accidentally added file 2017-09-15 06:59:06 +02:00
Tor Hedin Brønner 38a9c9746a Fix fullscreen position
`PreviewWindowNavigator` scrolling past fullscreen windows work perfectly too :)
2017-09-14 22:12:14 +02:00
Ole Jørgen Brønner 26c8f1ff77 Notes: How gjs imports works 2017-09-14 16:34:13 +02:00
Tor Hedin Brønner d6e021e631 Regression: Don't set margin_lr globally in ensure_viewport 2017-09-14 11:53:13 +02:00
Tor Hedin Brønner 0ac8ba24c3 Don't don't ensure window is in view on first-frame
Only position the new inactive window correctly, we should never move the
focused window without also moving focus, or some explicit move/resize action.
2017-09-14 11:31:56 +02:00
Tor Hedin Brønner a911459b65 Robust initial position via. first-frame signal
`focus` runs before `first-frame` which means we need to set initial position
there to make sure that `ensure_viewport` works correctly.
2017-09-14 11:19:30 +02:00
Ole Jørgen Brønner d79af41297 Notes: bug 2017-09-14 11:15:54 +02:00
Tor Hedin Brønner 150f9ee242 Bug, not sure if valid 2017-09-14 10:47:56 +02:00
Ole Jørgen Brønner d8e6f4f7f9 Bugfix preview_navigate: parent constructor re-assigned _selectedIndex 2017-09-14 09:39:53 +02:00
Tor Hedin Brønner 2f831b6ec8 Add gnome-shell-mode to dir-locals 2017-09-14 09:27:10 +02:00
Ole Jørgen Brønner 88e1d82f87 Notes: "navigate-mode" 2017-09-14 08:28:44 +02:00
Ole Jørgen Brønner d68be69df4 PreviewedWindowNavigator: Navigate tiling with preview-strip and live changes
Temporary bindings: <super><ctrl>,/.

Note: can probably unify this and LiveWindowNavigator making the preview
optional. We probably want some sort of extra decoration on the actual windows
even when the preview is shown too.
2017-09-14 07:45:07 +02:00
Ole Jørgen Brønner 16edfa97f1 Remove debug noise 2017-09-14 07:23:46 +02:00
Ole Jørgen Brønner dd838977f1 Naming: FocusCycler -> LiveWindowNavigator 2017-09-14 07:10:07 +02:00
Ole Jørgen Brønner e965f03d7b notes 2017-09-14 06:57:39 +02:00
Ole Jørgen Brønner fee16e1dde notes 2017-09-14 05:47:13 +02:00
Ole Jørgen Brønner 10d6f56bed .dir-locals.el: enable org-indent-mode 2017-09-14 05:40:55 +02:00
Tor Hedin Brønner 11724bac52 Don't log the timestamp as journald already handles it 2017-09-14 02:38:09 +02:00
Tor Hedin Brønner eb95aeb12d Pass the workspace into the propogate functions
Also don't rely on declaration hoisting in `ensure_viewport`.

(sooo hard apparently to debug the fact I didn't pass the workspace in the
recursive calls at first...)
2017-09-14 02:38:04 +02:00
Tor Hedin Brønner 0e7c0276ed Fix alignment when closing the very first or last window
There's very little delay between `focus` and `window-removed` so there's no
jumpiness when running ensure twice.
2017-09-14 01:39:08 +02:00
Tor Hedin Brønner cc31091574 A problem with the stacklevel for two maximized windows 2017-09-14 01:11:32 +02:00
Tor Hedin Brønner e0b877431f Add a bug 2017-09-14 00:29:42 +02:00
Tor Hedin Brønner e0ab1619dd Closed bug 2017-09-14 00:28:43 +02:00
Tor Hedin Brønner acfb736e78 Use first-frame signal for initial positioning 2017-09-14 00:24:55 +02:00
Tor Hedin Brønner 9ca625d1f0 Add some comments and pull out the move_to function call 2017-09-14 00:13:19 +02:00
Tor Hedin Brønner 8313254e1f Add robust first/last window detection
Also some general cleanup of `ensure_viewport`.
2017-09-14 00:00:10 +02:00
Tor Hedin Brønner 3b49bcc066 Refactor out the common move code in ensure_viewport 2017-09-13 23:39:11 +02:00
Tor Hedin Brønner c67dec5ff6 Quick and dirty fix so that we're not double ensuring on focus
Keep track of what window we're moving into view, so we can abort subsequent
calls on the same window.
2017-09-13 23:30:12 +02:00
Ole Jørgen Brønner 32134619dc Don't wrap around on next/prev window 2017-09-13 21:29:57 +02:00
Ole Jørgen Brønner faf28459bb Change windows without changing focus immediately (on modifier release) 2017-09-13 19:13:55 +02:00
Ole Jørgen Brønner 6bc2f01afd repl: slow down factor 2017-09-13 17:40:27 +02:00
Tor Hedin Brønner a80786a0c7 Fix adding new window to the start (ie. index 0)
Should now properly set the initial position of new windows at the start, eg.
the first window on a workspace or maximized windows.
2017-09-13 16:40:35 +02:00
Ole Jørgen Brønner 64a455e85e regression maximize: key handlers have a particular signature
Added a `as_key_handler` helper to adapt simple functions to key handlers
2017-09-13 14:23:48 +02:00
Tor Hedin Brønner 69be1f4fcf Use custom maximize for new maximized windows 2017-09-13 13:10:19 +02:00
Tor Hedin Brønner 6e95b09162 Rename log to debug, as log is already used 2017-09-13 12:40:48 +02:00
Tor Hedin Brønner e8caf0eec7 Use the original x position on maximize before ensure 2017-09-12 17:46:56 +02:00
Tor Hedin Brønner 2deedca4e3 Fix ensure_viewport to center large windows
That is only use as much margin as there's room for without pushing the window
outside the viewport
2017-09-12 17:13:46 +02:00
Ole Jørgen Brønner 9a14679868 Action: toggle_maximize_horizontally
The built in maximze function forces the window to be fully visible so if we're
to use these we have to do some stuff when focus changes to other window.

One option is to simply unmaximize on focus-lost.

Or find out if it's possible to disable those constraints. (probably not, see
constraints in mutter)
2017-09-12 15:09:29 +02:00
Ole Jørgen Brønner 64e7134dca notes maintance 2017-09-12 13:02:06 +02:00