Commit Graph
482 Commits
Author SHA1 Message Date
Tor Hedin Brønner 030b030eab topbar: Handle visibility correctly when fullscreen is toggled 2018-04-12 17:04:54 +02:00
Tor Hedin Brønner 0c7f454878 topbar: Refactor signal tracking 2018-04-12 17:04:49 +02:00
Tor Hedin Brønner 1d8af9cc97 Move previewWorkspace to navigator 2018-04-12 17:00:26 +02:00
Tor Hedin Brønner efa637fc63 Move PreviewedWindowNavigator into new navigator module 2018-04-09 15:19:07 +02:00
Tor Hedin Brønner 83c2428507 disable -> enable: Reuse the old ordering if available
This is useful in the case of nothing changing between a disable and enable. For
instance when locking the screen. Having windows move around in that case is
pretty bad.

We do create a new spaces however as we want to support editing the `Space`
definition and getting the changes when we do a reload (this should work as long
as `Space` is an Array).
2018-04-09 15:19:07 +02:00
Tor Hedin Brønner 666aac0411 Move tiling specific enable functionality to tiling 2018-04-09 15:19:07 +02:00
Tor Hedin Brønner 6857d4f702 Don't execute toggle-scratch-layer when previewing windows
It doesn't make much sense to show the scratch layer when previewing. In
addition if using `super+escape` as the binding this makes it impossible to
abort the preview.

In the long run it's probably better to make a whitelist of bindings that's
appropriate to execute while a preview is active.
2018-04-06 14:23:34 +02:00
Tor Hedin Brønner ec10e4baae Hide the application button when previewing workspaces
This reduces the jumpiness caused by different workspace name length.
2018-04-06 13:50:12 +02:00
Tor Hedin Brønner 425f4077d1 bindings: Add Ctrl bindings for moving windows 2018-04-05 17:41:38 +02:00
Tor Hedin Brønner d6de1585d6 topbar: Access the activities label in a more straightforward way 2018-04-05 13:56:44 +02:00
Tor Hedin Brønner 205cb781ff tiling: move init, enable and disable to the top
This is a lot clearer
2018-04-04 14:26:32 +02:00
Tor Hedin Brønner 8366c15925 Move top bar specific code from tiling to topbar 2018-04-04 14:24:27 +02:00
Tor Hedin Brønner 769142f727 Repurpose the activity label as a worspace indicator
Introduces a topbar module.
2018-04-04 13:39:41 +02:00
Tor Hedin Brønner 6e198425e7 minimap: remove noisy and useless debug print 2018-04-04 05:45:17 +02:00
Tor Hedin Brønner a7861474d5 Ensure parents of transient windows
ref #40

Also return if we're dealing with a window in the scratch layer.
2018-03-29 15:00:59 +02:00
Ole Jørgen Brønner f3eb2b7b88 Fix change-workspace abort
Pressing <meta>-ESC will now abort workspace changes the same way window changes
are aborted

Probably fixes #37 too (untested since <super>-TAB is restricted to active workspace
atm.)
2018-03-29 14:53:59 +02:00
Tor Hedin Brønner 9351bf8607 Fix left over spaces._spaces references 2018-03-22 09:51:08 +01:00
Tor Hedin Brønner 2223ca20af Disable default '<super>escape' binding 2018-03-22 05:28:38 +01:00
Tor Hedin Brønner da64d0fcf9 scratch: Show top bar when a floating window is open 2018-03-16 21:31:51 +01:00
Tor Hedin Brønner 1e1506abb1 Don't disconnect focus when moving windows between spaces 2018-03-12 17:17:32 +01:00
Tor Hedin Brønner ccf59e8a6b Don't access label after it's destroyed 2018-03-11 22:16:14 +01:00
Tor Hedin Brønner a00517b209 Don't connect the focus signal more than once
Resetting the `focus_signal` on reload should work, but it's better to just
handle it with `init`.
2018-03-11 22:03:17 +01:00
Tor Hedin Brønner 633af3a0df Run scratch layer heuristic for all windows on startup
Since `add_filter` will filter out «stuck» windows the heuristic wasn't run on
any possible scratch windows (since most floating scratch windows are «stuck»).
2018-03-11 20:07:45 +01:00
Tor Hedin Brønner cfe253a0fa Handle scratch windows on focus
In particular we want to set `above` as it gets unset on minimize.
2018-03-11 19:13:08 +01:00
Tor Hedin Brønner e4d1226100 focus handling: Add focus handler to all windows
Also set selectedWindow in `ensure_viewport`, as this avoids setting
selectedWindow on any windows not in a space.
2018-03-11 19:12:18 +01:00
Tor Hedin Brønner dbc0a9ce70 Simplify and move focus_wrapper 2018-03-11 19:10:53 +01:00
Tor Hedin Brønner 5b01fbab68 spaces: Simplify structure
Make the spaces object a `Map`.
2018-03-11 18:33:22 +01:00
Tor Hedin Brønner 96b395efc3 spaces: Actually use Map
Somewhat long standing bug, where we introduced `Map`, but actually just used it
as a regular object.
2018-03-11 18:27:50 +01:00
Tor Hedin Brønner a7b2bc11ef Use class for Space, instead of function 2018-03-11 18:16:22 +01:00
Tor Hedin Brønner e7e24c842d ensure: Remove delay
Since we're now raising the target window immediately there's little use for
this delay.
2018-03-10 23:16:56 +01:00
Tor Hedin Brønner b26d5fda1a alt-tab: Restrict to the current workspace 2018-03-10 22:37:32 +01:00
Tor Hedin Brønner def0d6c47c isScratchWindow: don't fail on null
Silly regression
2018-03-10 22:09:53 +01:00
Tor Hedin Brønner d80e2eacc6 scratch: Use an explicit marker for floating windows
On startup we use a heuristic to figure out which windows should float in the
scratch layer, but from then on we simply check if the window is marked as
floating.

NB: Since `above` is reset when a window is minimized there's no guarantee that
a floating window will be above when visible.
2018-03-10 20:42:00 +01:00
Tor Hedin Brønner 32cca42def Use makeScratch when adding windows to the scratch layer 2018-03-10 20:21:54 +01:00
Tor Hedin Brønner cc8cfac71c add_filter: Add missing startup argument 2018-03-10 19:50:50 +01:00
Tor Hedin Brønner 9c4b53c306 startup: Don't make windows scratch based on current focus
This fixes a bug where all windows will be moved to the scratch layer if it's in
focus when doing a restart.
2018-03-07 16:39:37 +01:00
Tor Hedin Brønner 4e5007e544 bindings: Don't overwrite already registered actions 2018-02-26 20:26:33 +01:00
Tor Hedin Brønner 2b6a406071 scratch: Simplify scratch menu 2018-02-26 13:32:13 +01:00
Tor Hedin Brønner 9191f0677f binding: <super><shift>tab should be reversed 2018-02-25 10:36:40 +01:00
Tor Hedin Brønner 47dc3298d7 Bind <super>above_tab to previous-workspace 2018-02-25 10:36:40 +01:00
Tor Hedin Brønner 1e3b841f94 Add compiled schema
Makes it less likely to trigger crashes due to missing schema keys. Also makes
it easier to install for other people.
2018-02-25 10:36:40 +01:00
Tor Hedin Brønner fa0a0db195 Add scratch window toggle
Binding `<Super><Ctrl>Escape>`.

Schema change
2018-02-25 10:36:40 +01:00
Tor Hedin Brønner 769b66307d Load rc file on enable 2018-02-25 10:36:40 +01:00
Tor Hedin Brønner 419a7d682c propagate_forward: x is monitor relative 2018-02-25 10:36:40 +01:00
Tor Hedin Brønner 2ba2f64566 Reset leftOverlay when all windows are visible 2018-02-25 10:36:40 +01:00
Ole Jørgen Brønner 17c4d5ae4b Notes keybinding system 2018-02-24 22:28:30 +01:00
Tor Hedin Brønner 0177bf6770 Use a windows destination when ensuring it's in view
This makes it possible to «peak» by quickly doing `super-<>` or `super-><`.
2018-02-19 07:54:41 +01:00
Tor Hedin Brønner fc453fb7a7 Automate module init/enable/disable 2018-02-17 21:52:46 +01:00
Tor Hedin Brønner c0a65058b8 Add a kludge module to monkey patch around gnome shell oddities 2018-02-17 21:52:31 +01:00
Tor Hedin Brønner 4d9c75ca71 Sort the stack by distance and then mru
O(`max`*`space.length`) ~ O(`space.length`) for finitely wide screens. Doesn't
seem like there's a large performance penalty to decide ties between
equidistant windows using the mru, instead of deciding ties by sorting on
left/right.
2018-02-17 21:16:27 +01:00