Commit Graph
486 Commits
Author SHA1 Message Date
Tor Hedin Brønner 1a74a7eaef tiling: Make signal control a bit easier 2018-04-13 18:50:42 +02:00
Tor Hedin Brønner e894c45e7f Push minimized windows to the scratch layer
TODO: Push to the bottom of the stack instead of the top
2018-04-12 22:52:33 +02:00
Tor Hedin Brønner a66d8fc4e7 scratch: When detaching/attaching windows also show/hide the scratch layer
Attaching and detaching windows could be somewhat disorienting. Eg. making the
focused window hidden by other floating windows when attaching the current
window to the tiling.
2018-04-12 20:11:50 +02:00
Tor Hedin Brønner 83fb20eb6a scratch: Add show/hide functions 2018-04-12 20:06:33 +02:00
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