Commit Graph
207 Commits
Author SHA1 Message Date
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
Ole Jørgen Brønner 8e5a17cd2b The new Space.selectedWindow is more accurate here 2017-09-23 10:48:10 +02:00
Ole Jørgen Brønner 25482a7c07 Try to let mutter control next focus after closing a window
Ref: #20
2017-09-23 10:46:05 +02:00
Tor Hedin Brønner b924867e2c Keybinding: toggle-fullscreen - <super><shift>f 2017-09-23 10:22:32 +02:00
Tor Hedin Brønner a1a71a0849 Fix #22: unmake_above when hiding scratch layer 2017-09-23 00:55:29 +02:00
Tor Hedin Brønner 317d2c0c2a Basic scratch toggle
Stack ordering isn't preserved properly. Use <Super>e to toggle for now.
2017-09-22 23:37:27 +02:00
Ole Jørgen Brønner 719f3a2a2f Minor variable rename
The window doesn't necessarily have focus and make the exact meaning apparent.
2017-09-22 23:01:01 +02:00
Ole Jørgen Brønner db5f36a1d5 Insert windows opened from "Activities"/background at correct index
Track `Space.selectedWindow` and use that instead of focus().

Fixes #19
2017-09-22 22:55:28 +02:00
Ole Jørgen Brønner e4584d79aa New winprop action: scratch_layer
`stick` the window and don't add it to the space.

Not sure if we need both float and scratch_layer though?

Place Riot in scratch layer by default.
2017-09-22 22:22:04 +02:00
Tor Hedin Brønner 3438a73da1 Add monitor offset to initial positions 2017-09-22 21:31:12 +02:00
Tor Hedin Brønner 99f1384f1d Rebind maximize-horizontally to <Super>f 2017-09-22 21:25:01 +02:00
Tor Hedin Brønner be5ef5eb92 Semi fix for positioning windows moved between workspaces
TODO: actually figure out the correct position, relying on `focus()` isn't
correct.
2017-09-22 21:22:32 +02:00
Tor Hedin Brønner 5582f19b7d Don't add already added windows
`window-added` sometimes run several times, (not sure why).
2017-09-22 21:12:27 +02:00
Tor Hedin Brønner 4a31e49381 Disconnect the focus handler properly
Uses a symbol to avoid any name collisions.

Fixes #22
2017-09-22 18:23:17 +02:00
Tor Hedin Brønner bfa8528d51 Don't add windows which are shown on all workspaces to the space
At the moment it's pretty impractical to have windows duplicated over several
spaces.
2017-09-22 18:10:33 +02:00
Tor Hedin Brønner 520ecf93c9 Lookup the space using the workspace in window-removed handler
When a window is «always on visible workspace» (ie. stick() is run)
`get_workspace` will return the active workspace, which is incorrect.
2017-09-22 17:06:05 +02:00
Tor Hedin Brønner 51e95bf998 Use the primary monitor to position windows
`global.screen_height/width` is of course not suitable since it refers to the
whole monitor space. Use the primary monitor for now.

This makes it possible to eg. position the primary below the extra workspace.
2017-09-22 14:39:10 +02:00
Tor Hedin Brønner 949a3efbd1 Fix spaceOf naming 2017-09-22 13:57:58 +02:00
Ole Jørgen Brønner 865deb23be Notes: cleanup 2017-09-21 23:37:26 +02:00
Ole Jørgen Brønner 56534ce5b2 Notes: GObject 2017-09-21 23:37:26 +02:00
Tor Hedin Brønner 7a186cd568 Center more wide windows
Be more liberal with what we consider to be a wide window. Another option is
having the cutoff be `stack_margin + window_gap` which means we'll center as
long as there's no other non-scaled window on the screen.
2017-09-21 23:02:02 +02:00