Commit Graph
1224 Commits
Author SHA1 Message Date
Tor Hedin Brønner 89bae34412 workspace menu: add zen toggle 2019-04-28 03:25:01 +02:00
Tor Hedin Brønner dd812e5714 Implement 2019-04-28 03:09:37 +02:00
Tor Hedin Brønner 7dcac8896a workspace schema: add show-top-bar 2019-04-28 02:52:07 +02:00
Ole Jørgen Brønner f4e91d1e4f Respect workarea.y when laying out the tiling
Ref: #103
2019-04-27 17:50:25 +02:00
Tor Hedin Brønner 72ac302a62 minimumMargin: cap at horizontal-margin
closes #102
2019-04-27 02:12:36 +02:00
Tor Hedin Brønner ff8d8c4d45 Stability: null out destroyed actors
Acting on destroyed actors crashes 3.32 so make sure to null out references.
2019-04-15 21:01:02 +02:00
Tor Hedin Brønner c9bcebd1be stackoverlay: protect against acting on unmapped clone 2019-04-10 19:51:05 +02:00
Tor Hedin Brønner 509c38caee toggle-scratch-window: only hide when the scratch window has focus
This makes it easier to switch between the tiling and a floating window.
2019-04-08 15:23:47 +02:00
Tor Hedin Brønner 154cf59a59 reload: reset Topbar.menu to null when disabling
Else we might act on it when doing enable again.
2019-04-08 15:23:47 +02:00
Tor Hedin Brønner cba2399d7b navigator: never select a non-tiled window
We shouldn't really modify selectedWindow outside ensureViewport in general.
This might've caused a crash.
2019-04-01 19:24:24 +02:00
Tor Hedin Brønner bf15ad8078 navigator: Add race protection
Not entirely sure if this is necessary, but can't hurt, as it's done in
SwitcherPopup.
2019-03-30 22:14:58 +01:00
Tor Hedin Brønner df39ad99e0 navigator: Rewrite the keybind handler
Using a SwitcherPopup was just tiresome and made it difficult to fix some
issues.

This fixes a lot of the issues with #70, though eg. alt-tab still leaks
2019-03-30 22:10:11 +01:00
goodwillcoding f55e1f6ab5 Default workspace switching and moving to wrap around 2019-03-29 20:13:39 +01:00
Tor Hedin Brønner ded14faac5 Space.layout: protect against zero width workarea
Happens on monitors-changed and causes windows to be squeezed.
2019-03-28 19:25:31 +01:00
Tor Hedin Brønner 94e671b721 Prevent some more crashes from the minimap 2019-03-27 01:46:27 +01:00
Tor Hedin Brønner 0b5f415fbb Guard against setting child below itself
This would hang the shell completely when activating a window on another
workspace.
2019-03-26 01:06:02 +01:00
Tor Hedin Brønner 9f70e23ebc Add explicit 3.32 support 2019-03-24 03:50:52 +01:00
Tor Hedin Brønner 004e2e1e11 Remove blur, 3.32 makes things wonkey 2019-03-24 03:50:52 +01:00
Tor Hedin Brønner d2a6bef0f0 Avoid crash when showing the workspace menu
Mutter copiled without checks makes showing an unmapped StEntry with initial
text crash the shell.

Work around this by using `hint-text` and only updating the `text` property if
it's been set by the focus signal at some point.

TODO: Making the entry without a button makes the tracking obsolete as we update
the workspace name all the time. It's also probably just as good.
2019-03-24 03:50:52 +01:00
Tor Hedin Brønner f83eb0b839 fix crash: Only destroy mapped clones
This caused crashed on 3.32 when closing scratch windows. Ie. windows where the
clone isn't in the scene graph.
2019-03-24 03:50:52 +01:00
Tor Hedin Brønner f603aae46a Do not set actors above/below themselves
Mutter 3.32 is built with `G_DISABLE_CHECKS` which disables among other things
`g_return_if_fail`.

This makes `set_child_below/above_sibling` remove the child if it's the same as
sibling, but leaves the child with a parent link.
2019-03-24 03:50:52 +01:00
Tor Hedin Brønner 4e09f9832d window-created: Use first-frame signal (show no longer works)
This required some reworking of the showHandler, so that the window actors would
stay hidden properly until under our control.
2019-03-24 03:50:52 +01:00
Tor Hedin Brønner f2736440af topbar: avoid warnings 2019-03-24 03:50:52 +01:00
Tor Hedin Brønner 79b8be85e5 navigator: Add 3.30 compatibility 2019-03-24 03:50:52 +01:00
Tor Hedin Brønner 981008c429 Register and fix navigator 2019-03-24 03:49:36 +01:00
Tor Hedin Brønner 073986344a Polyfill GObject.registerClass
Register the WorkspaceMenu and LiveAltTab
2019-03-24 03:49:36 +01:00
Tor Hedin Brønner 621b7b728f Port to class in preparation for 3.32
see:
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/361

TODO: port the LayoutManager in minimap.js, though it looks like gjs won't
deprecrate Lang.Class yet, so it's probably fine to keep using it for now.
2019-03-24 03:49:36 +01:00
Tor Hedin Brønner f91a877dbc minimap: avoid warnings 2019-03-24 03:49:36 +01:00
Tor Hedin Brønner 3bba634862 minimap: Guard against acting on unmapped actor
This might've caused some spurious crashes
2019-03-24 03:49:36 +01:00
Tor Hedin Brønner 01da6b8962 navigator: Deal with minimmaps correctly in _doAction 2019-03-24 03:49:36 +01:00
Tor Hedin Brønner 2f1df54739 window actor clip: Use the largest clip possible
This should avoid clipping the window when resizing.
2019-03-24 03:49:36 +01:00
Ole Jørgen Brønner 9185e7d6d4 docs: describe the stage and space coordinate systems 2019-03-17 16:46:14 +01:00
Ole Jørgen Brønner 6cb848a6a1 Fix weird minimize animation of scratch windows with remembered position
The scratch window would first be moved to the remembered position - then
animated "down".

Also ensures that windows minimized when navigating get a proper position.
(restoring a window that was minimized when it was non-placeable results in the
window being out-of-view)

Note: Use 'effect-completed' to detect when a the animation is done - then
resize/move. Could also have stored the target position, but that complicates
all the places we want to preview a minimized window.
2019-03-17 16:37:33 +01:00
Ole Jørgen Brønner 98ee289aba Allow minimize hotkey when navigating 2019-03-17 16:33:09 +01:00
Tor Hedin Brønner 654b839cc3 Add better minimap delay 2019-03-02 18:30:24 +01:00
Tor Hedin Brønner 450359cd8a Make pressure barrier optional (false by default for now)
Set to false until we can figure out a good way to get it to work for multiple
monitors.
2019-03-02 18:29:42 +01:00
Tor Hedin Brønner 1ca729dc8a edge overlay: delay previews a tiny bit
This should prevent triggering previews when going across the overlay.
2019-03-01 12:19:53 +01:00
Tor Hedin Brønner 945e4cb895 switch workspace: init the workspace stack if it isn't already done 2019-02-27 22:42:52 +01:00
Tor Hedin Brønner 35173d0d12 navigator: release keyboard before doing anything complicated
This will prevent users getting stuck in a keyboard trap.
2019-02-27 22:42:52 +01:00
Ole Jørgen Brønner 9c702ecba2 scratch: always position scratch windows on focus monitor 2019-02-27 22:41:10 +01:00
Ole Jørgen Brønner 2174981cfc scratch: remember previous "scratch geometry" and restore it on detach 2019-02-27 22:41:00 +01:00
Ole Jørgen Brønner 6fdf1fe2f6 liveAltTab: run moveDone directly
Needed when the `to` window is in the scratch. In that case focus_handler
doesn't cause a moveDone.

The most obvious effect (X11) of not calling moveDone is that the background is
still tracked and the scratch window is thus unresponsive (ref: #80). It
also makes the tiled windows unresponsive to the first click since the window
actors will be hidden (wayland too I think) - the tiling will pick up the click
and activate the clicked window though.
2019-02-26 22:26:32 +01:00
Tor Hedin Brønner c80a8fd7eb workspace label: pick up the correct css for the label
A bit ad-hoc, but should work correctly.

The idea is picking up css rules with this selector:
 `#panel .panel-button StLabel`
2019-02-24 14:33:18 +01:00
Tor Hedin Brønner ce9416a55d liveAltTab: Don't allow actions while alt-tabbing 2019-02-24 12:06:05 +01:00
Tor Hedin Brønner f06b3b6bb0 liveAltTab: only reverse if we start with shift 2019-02-22 11:13:39 +01:00
Tor Hedin Brønner 5d9f3d59e4 liveAltTab: instant preview 2019-02-22 11:13:39 +01:00
Tor Hedin Brønner d7215ba0e1 ensureViewport: prefer last focused position when appropriate 2019-02-22 11:13:39 +01:00
Tor Hedin Brønner 97a7d36781 Refactor ensuredX out of ensureViewport 2019-02-22 11:12:29 +01:00
Tor Hedin Brønner 6cf0309b1d workspace label: simplify position logic 2019-02-22 11:07:37 +01:00
Tor Hedin Brønner 64b9ffbca8 readme: fix git clone instructions 2019-02-21 11:36:51 +01:00