Commit Graph
1250 Commits
Author SHA1 Message Date
Tor Hedin Brønner 02131fb22c Add swipe sensitivity preference
Tune using (defaults are [1.0, 2.0]):
dconf write /org/gnome/shell/extensions/paperwm/swipe-sensitivity "[x, y]"
2019-06-17 11:42:31 +02:00
Ole Jørgen Brønner 4c89ef385a set-recommended-gnome-shell-settings: use 'gsettings' instead of 'dconf'
dconf can't reliable get default values(?)

According to https://bugzilla.redhat.com/show_bug.cgi?id=1541448 the dconf
default value might also differ from the gsettings default value(?)

I did not find a way to differentiate between "use default value" and the actual
default value - so running the script might change some settings from "use
default value" to the actual default value.

IIUC 'gsettings' require the gsettings daemon to run, while 'dconf' is lower
level and modify the database directly.

Fixes #121
2019-06-16 15:37:57 +02:00
Ole Jørgen Brønner e73e6e2d26 Fix gnome-shell version comparison
The old variant seems to work but I don't se any reason to no use the actual
output format..
2019-06-16 15:04:25 +02:00
Ole Jørgen Brønner 393365ed05 Bugfix: broken resizing of vertically tiled window in some multimonitor setups
Global y coordinate was used in calculations, breaking things for vertically
stacked monitors.
2019-05-19 19:41:49 +02:00
Ole Jørgen Brønner 7b726753ea fixup! Make cycleWindowHeight work for scratch windows 2019-05-17 10:33:22 +02:00
Ole Jørgen Brønner 66acfc63ef Make cycleWindowHeight work for scratch windows 2019-05-17 10:08:00 +02:00
Ole Jørgen Brønner c7c4e6d048 Bugfix: liveAltTab clones positioned wrong on multimonitor setups 2019-05-06 21:53:45 +02:00
Ole Jørgen Brønner e1f6a980ef Enable 'affectsStruts' on topbar again
With #73 resolved (cd95ad220) we can tolerate changes to workarea across
workspaces.

Extensions that rely on workarea.y (eg. upright dash-to-dock) will no longer be
broken.

Note that (3.28) only windows with visible actors are affected (immediately) by
workarea changes so changing workspace from without-top-bar (A) to
with-top-bar (B) only cause resizes of B's visible windows.

Workspace navigation by itself (shows the topbar) does not cause resizes. (eg.
initiate and cancel a navigation)

Navigation between without-top-bar workspaces does not cause resizes.

This reverts commit 86283c5dea
This reverts commit 20809ad6b0
2019-05-05 17:50:45 +02:00
Ole Jørgen Brønner cd95ad220f Don't resize windows recursively (can cause window freezes)
A freeze can be triggered like this: (might have to run the resize twice)

    metaWindow.connect('size-changed', () => {
        let f = metaWindow.get_frame_rect()
        metaWindow.move_resize_frame(true, f.x, f.y, f.width, 500)
    })
    let f = metaWindow.get_frame_rect()
    metaWindow.move_resize_frame(true, f.x, f.y, f.width, f.height-50)

Fixes #73
2019-05-05 15:47:46 +02:00
Tor Hedin Brønner 979bcc6c57 schema: fix default-show-top-bar description 2019-05-01 22:39:50 +02:00
Ole Jørgen Brønner 86283c5dea Regression: notifications and topbar overlaps
Monkeypatch notification system to position notifications relative to topbar
instead of workarea.

See https://gitlab.gnome.org/GNOME/gnome-shell/blob/8572bb97c70821bd82dbe5cca78071b474eb33c4/js/ui/messageTray.js#L830

Regression after 20809ad6b0
Fixes #109
2019-05-01 22:33:26 +02:00
Ole Jørgen Brønner 20809ad6b0 Disable 'affectsStruts' for the topbar
Caused problems when switching to workspaces without topbar - probably because
the topbar is briefly shown during navigation - restricting the workarea -
resizing the windows in the workspace without topbar - causing the dreaded #73.

This conjecture is not verified, but disabling the affectsStruts fixes the
symptoms :)

Fixes #108
2019-05-01 01:04:46 +02:00
Tor Hedin Brønner 65e009815a Fix overview order and animation
Use the tiling to sort the overview. Floating windows are sorted the regular way
among themselves and put before the tiled windows.

We also report the correct coordinates so animation to and from the overview is
correct.

ref #4
2019-04-30 14:11:19 +02:00
Tor Hedin Brønner 3d1b629171 Integrate the default fallback 2019-04-30 13:57:45 +02:00
Tor Hedin Brønner b3c2845a2c Add default-show-top-bar preference
Also set per-workspace setting to true by default
2019-04-30 13:57:31 +02:00
Tor Hedin Brønner 323112bd46 animateDown: respect space.showTopBar 2019-04-30 13:36:46 +02:00
Tor Hedin Brønner 49c39992cd always show the top bar when navigating the workspace stack 2019-04-30 13:36:46 +02:00
Tor Hedin Brønner 5220f7919d topbar.show: force hide if in zen-mode 2019-04-30 13:36:46 +02:00
Tor Hedin Brønner 5a4351d3c5 workspace menu: add zen toggle 2019-04-30 13:36:46 +02:00
Ole Jørgen Brønner 1e015e5887 space.layout: respect show-top-bar preference
We don't use workarea.y directly as it can cause problems cause problems if eg.
a layout is triggered when a fullscreen window is active. Instead we scale the
panel height with `space.showTopBar`.
2019-04-30 13:36:40 +02:00
Tor Hedin Brønner d991a04319 workspace schema: add show-top-bar
Per workspace setting.
2019-04-30 13:36:40 +02:00
Tor Hedin Brønner b19cfccb4f fix revert
No idea why this didn't get reverted...
2019-04-28 19:12:55 +02:00
Tor Hedin Brønner e8a9eea8e9 Revert previous 7 commits
Was not intended for master.

Revert "don't use workarea.y directly"

This reverts commit cb67f451a2.

Revert "space: connect settings"

This reverts commit 3c7ac9509e.

Revert "fixup! workspace menu: add zen toggle"

This reverts commit bff403c134.

Revert "workspace menu: add zen toggle"

This reverts commit 89bae34412.

Revert "Implement"

This reverts commit dd812e5714.

Revert "workspace schema: add `show-top-bar`"

This reverts commit 7dcac8896a.
2019-04-28 10:57:35 +02:00
Tor Hedin Brønner cb67f451a2 don't use workarea.y directly
Can cause problems if eg. a layout is triggered when a fullscreen window is
active.
2019-04-28 10:06:15 +02:00
Tor Hedin Brønner 3c7ac9509e space: connect settings 2019-04-28 10:05:53 +02:00
Tor Hedin Brønner bff403c134 fixup! workspace menu: add zen toggle 2019-04-28 10:05:19 +02:00
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