Tor Hedin Brønner
d5e3f5597a
prefs: Add monitor keybindings
2019-10-12 13:51:01 +02:00
Tor Hedin Brønner
010336c842
readme: document monitor keybindings
2019-10-12 13:51:01 +02:00
Tor Hedin Brønner
32fda5c904
monitors: Add switch/move to monitor bindings
2019-10-12 13:51:01 +02:00
Tor Hedin Brønner
66faba4f46
kludges: disable 4-finger workspace switching
...
We still aren't able capture the events, but we can override `_checkActivated`
to always return false, making the gesture always ineffectual.
2019-10-12 13:51:01 +02:00
Tor Hedin Brønner
c7f347c880
workspace menu: do not activate the overivew if navigating
2019-10-12 13:51:00 +02:00
Tor Hedin Brønner
da54898f66
vertical swipe: fix velocity bug
...
We didn't update the time, so all ticks were compared against the time when we
started swiping.
2019-10-12 13:51:00 +02:00
Tor Hedin Brønner
01bda889dd
horizontal swipe: update target window continuously
...
Run the basic timetravel on each update, highlighting the calculated target.
2019-10-12 13:51:00 +02:00
Tor Hedin Brønner
34a6b63c93
horizontal swipe: average velocity over the 3 latest ticks
2019-10-12 13:51:00 +02:00
Tor Hedin Brønner
101b3788b0
workspace menu: fix accessibility name
2019-10-12 13:51:00 +02:00
Tor Hedin Brønner
705f84fe68
navigator: Don't finish navigation if super is held down
2019-10-12 13:51:00 +02:00
Tor Hedin Brønner
98b6512b8b
minimap: add some minimum monitor padding
2019-10-12 13:50:59 +02:00
Tor Hedin Brønner
6521940a21
layout: Set positions if immediately if not animating
...
No need for the ad-hoc fix in Space.init anymore.
2019-10-12 13:50:59 +02:00
Tor Hedin Brønner
8187f25316
horizontal swipe: detect partially visible fullscreen windows
...
space.isPlaceable cares about the metawindow being placeable, while we only care
about it being partially visible.
2019-10-12 13:50:59 +02:00
Tor Hedin Brønner
cae30eaa7a
prefs: fixup
2019-10-12 13:50:59 +02:00
Tor Hedin Brønner
000ca3782e
prefs: Hook up sensitivity and friction spinners
2019-10-12 13:50:59 +02:00
Tor Hedin Brønner
4d7c6af6ae
prefs: Add some much needed margins and other fixes
2019-10-12 13:50:59 +02:00
Tor Hedin Brønner
abe7d3af45
settings: add swipe-friction
2019-10-12 13:50:58 +02:00
Tor Hedin Brønner
83e016b612
horizontal swipe: Rework target window logic
...
Not the prettiest code, but it works fairly well.
Selecting the target window works like this (when gliding is finished):
- if the tiling is outside the monitor select the first/last window and snap
- if there's any fully visible windows select the closest one
- if there's no visible window choose the window with highest visible width ratio
This is all calculated the moment we release the swipe, so instead of showing
any potential overshoot we simply adjust the travel so it doesn't overshoot.
2019-10-12 13:50:58 +02:00
Tor Hedin Brønner
4ce0f34e0d
horizontal swiping: Timetravel and use easing to glide
2019-10-12 13:50:58 +02:00
Tor Hedin Brønner
d5843d079e
gestures: Fix unwanted snapping at the edges
2019-10-12 13:50:58 +02:00
Tor Hedin Brønner
9d3f38233a
x11: fix unreactive floats on empty workspaces
...
Make sure space.targetX is synced, if it isn't moveDone won't get the chance to
remove the background tracker, which steals all mouse clicks.
2019-10-12 13:50:58 +02:00
Tor Hedin Brønner
7dbe882753
fix typo
2019-10-12 13:50:58 +02:00
Tor Hedin Brønner
ea848e2c1f
liveAltTab: kill unminimize animations manually
...
In 3.34 there's no _blockAnimations check, so we just set the correct
coordinates and scale immediately.
2019-10-12 13:50:58 +02:00
Tor Hedin Brønner
14362e1f96
prefs: don't scroll the tabs
...
The default tree view search doesn't work and can pop up outside the scroll so
disable it.
TODO: add something like `ctrl-f`, `/` to focus the search input
2019-10-12 13:50:57 +02:00
Tor Hedin Brønner
b1a31d8b19
startup: expose failures on startup
...
Pass the error notification utility to module.enable and use it in the startup
callback.
2019-10-12 13:50:57 +02:00
Tor Hedin Brønner
f4b178b4b4
workspaces-only-on-primary: ensure layout happens after overlay setup
2019-10-12 13:50:57 +02:00
Ole Jørgen Brønner
1229dfc8ac
settings: some utility/debug functions for workspace settings
2019-10-12 13:50:57 +02:00
Ole Jørgen Brønner
264e27349a
examples: keybinding for cycling workspace settings (among "unbound" and current)
...
Only relevant when using dynamic workspace. Typically used to change the empty
workspace settings to the one you want.
2019-10-12 13:50:57 +02:00
Ole Jørgen Brønner
47b5b08519
Cache workspace settings objects
...
Needed due to weird hang (sometimes crash) when creating (probably only when
done rapidly?) same relocatable setting more than once.
(noticed when implementing workspace settings cycling)
2019-10-12 13:50:57 +02:00
Ole Jørgen Brønner
29eaedfe59
Misc polyfills for 3.28 backwards compatibility
2019-10-12 13:50:57 +02:00
Tor Hedin Brønner
296e635005
Fix ease polyfill for 3.28
2019-10-12 13:50:57 +02:00
Tor Hedin Brønner
84380c1b67
Remove transition from tween calls
2019-10-12 13:50:56 +02:00
Tor Hedin Brønner
15c4c61c24
Fix non-default transition modes
2019-10-12 13:50:56 +02:00
Tor Hedin Brønner
b73acf166f
Fix reload visibility
...
Clutter's transition framework will delay painting the ease until some sort of
painting is requested or whatnat, even if duration == 0.
In particular on reload this means clones are invisible for quite a while.
Simply force positions on startup.
2019-10-12 13:50:56 +02:00
Tor Hedin Brønner
f1ed6cd07d
Use clutter animations
...
There's a few differences in how onComplete is run:
- We need to run moveDone on every clone transition, as the transitions aren't
done when cloneContainer's transition finishes
- We cannot run layout until startup is done. For some reason onComplete runs
before monitor setup is done properly.
squash! Use clutter animations
- Can't use addTween as a timeout, but transitions are now finished when
onComplete is run, so there's no need for this anymore.
2019-10-12 13:50:56 +02:00
Tor Hedin Brønner
7dcf082b62
Add a tweener to clutter dispatch
2019-10-12 13:50:56 +02:00
Tor Hedin Brønner
07a913ec09
Polyfill new 3.34 transition api
2019-10-12 13:50:55 +02:00
Tor Hedin Brønner
ed4baa7987
examples/user.js: add Keybindings and Examples
...
Examples is especially useful, as there's a bunch of bindings that can be
activated:
Examples.keybindings.cycleMonitor()
2019-10-12 13:50:55 +02:00
Tor Hedin Brønner
7ab6e9d2d1
Run layout timer on window-gap change
2019-10-12 13:50:55 +02:00
Ole Jørgen Brønner
3d75a9012d
prefs: show all stored workspace settings
...
num-workspaces does not reflect workspace count when using 'dynamic-workspaces'
2019-10-12 13:50:55 +02:00
Tor Hedin Brønner
09ab6a435c
Do not purge workspaces when using the workspace carousel
...
fixes #164
2019-10-12 13:50:55 +02:00
Tor Hedin Brønner
7bd7bc7161
Run focus handling when selecting a focused transient window
...
Selecting an already focused window with a transient would not trigger a proper
focus signal.
2019-10-12 13:50:55 +02:00
Ole Jørgen Brønner
424638cb95
fix wrong log message
2019-10-12 13:50:54 +02:00
Tor Hedin Brønner
268a89a1cb
debug: support native systemd services
...
3.34 can run sessions using systemd user services. Use these if available to
access the journal.
2019-10-12 13:50:54 +02:00
Ole Jørgen Brønner
ede956f1b1
readme: remove oneshot from winprop example
...
Doesn't really make sense there.
2019-10-12 13:50:54 +02:00
Ole Jørgen Brønner
7f2355e2f3
keybinding system: don't require a focused window to trigger custom keybindings
...
fixes #169
2019-10-12 13:50:54 +02:00
Tor Hedin Brønner
37a63b472b
liveAltTab: fix quick alt-tab in 3.34
...
_finish will now call destroy itself if the popup isn't yet visible:
https://gitlab.gnome.org/GNOME/gnome-shell/commit/12ec5d1cbec367835f356b84c79ea9131deecdb4
2019-10-12 13:50:54 +02:00
Ole Jørgen Brønner
95b6cd673d
liveAltTab: only show TabList.NORMAL windows
...
Non-normal windows are unfocusable or request `mw.skip_taskbar`
2019-08-24 10:02:54 +02:00
Ole Jørgen Brønner
4adfad7298
Bugfix: new jetbrains IDE window could crash insertWindow
...
In general: NPE in stackoverlay when target window is non-`TabList.NORMAL`
crashes `insertWindow` midway. (eg. size-changed signal never connected).
A `TabList.NORMAL` window is focusable and doesn't `mw.skip_taskbar`.
Example: The main window of pycharm on startup is (sometimes) non-normal(!).
Focusing the window fail so it's likely to become the stackoverlay target.
(java applications is a WM's worst nightmare..)
2019-08-24 09:20:14 +02:00
Ole Jørgen Brønner
2a0da27f9f
Bugfix: connectOneShot signals didn't disconnect on Signals.disconnect
...
Prevented 2364308681 from working in all
cases. (ie. windows could still be registered twice)
2019-08-14 22:27:12 +02:00