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