Commit Graph
1360 Commits
Author SHA1 Message Date
Ole Jørgen Brønner c0ee689d1c free-resize: add a 100% step to cycle window height for single windows
Poor-mans maximize height in free-resize mode
2019-10-15 20:33:10 +02:00
Ole Jørgen Brønner dc125d6b2c free-resize: clamp window height to workarea bounds
Allows to sloppily super+right-button-drag a window to maximized height
2019-10-15 20:33:10 +02:00
Ole Jørgen Brønner 329560b612 free-resize: customizable vertical resize/maximize policy
Winprops takes precedence over default values
2019-10-15 20:33:10 +02:00
Ole Jørgen Brønner 60a5a95277 examples/keybindings: adjust width (<Super>plus/minus) 2019-10-10 22:14:43 +02:00
Tor Hedin Brønner 3b6d9309cc examples/keybindings: moveSpaceToMonitor fixup
No idea why this is necessary, but I sometimes get bugged focus and topbar
without it.
2019-10-10 21:33:38 +02:00
Tor Hedin Brønner fd605e425b examples/keybindings: add moveSpaceToMonitor binding 2019-10-10 19:58:21 +02:00
Tor Hedin Brønner e5031142d2 prefs: fixup monitor bindings 2019-10-10 18:40:28 +02:00
Tor Hedin Brønner 0f15c879f5 prefs: Use All workspaces and `Per workspace frame 2019-10-10 18:40:28 +02:00
Tor Hedin Brønner dd9b577e29 settings: Add use-default-background preference
Does not support timed backgrounds.

fixes #122
2019-10-10 18:40:28 +02:00
Tor Hedin Brønner 1ff9a6497b monitor keybindings: activate the defaults when paperwm is disabled 2019-10-10 17:05:46 +02:00
Tor Hedin Brønner 7d8d30b77a prefs: Add monitor keybindings 2019-10-10 15:15:39 +02:00
Tor Hedin Brønner 8e324f7a69 readme: document monitor keybindings 2019-10-10 15:15:39 +02:00
Tor Hedin Brønner 3af9d23d76 monitors: Add switch/move to monitor bindings 2019-10-10 15:15:39 +02:00
Tor Hedin Brønner 80c3792ad8 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-10 12:55:03 +02:00
Tor Hedin Brønner 762a6d93c2 workspace menu: do not activate the overivew if navigating 2019-10-10 11:32:50 +02:00
Tor Hedin Brønner 2df6953f97 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-10 11:25:59 +02:00
Tor Hedin Brønner 94ecfc9f10 horizontal swipe: update target window continuously
Run the basic timetravel on each update, highlighting the calculated target.
2019-10-10 11:25:59 +02:00
Tor Hedin Brønner ef1be46ff7 horizontal swipe: average velocity over the 3 latest ticks 2019-10-10 09:04:40 +02:00
Tor Hedin Brønner a6f3dadfc7 workspace menu: fix accessibility name 2019-10-10 07:55:11 +02:00
Tor Hedin Brønner e701df8a6a navigator: Don't finish navigation if super is held down 2019-10-10 07:54:20 +02:00
Tor Hedin Brønner f113077d88 minimap: add some minimum monitor padding 2019-10-10 07:53:22 +02:00
Tor Hedin Brønner 15c3f7e4fc layout: Set positions if immediately if not animating
No need for the ad-hoc fix in Space.init anymore.
2019-10-09 03:54:34 +02:00
Tor Hedin Brønner e8a017b517 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-09 03:34:49 +02:00
Tor Hedin Brønner d7c412f4b3 prefs: fixup 2019-10-09 00:11:53 +02:00
Tor Hedin Brønner 2de1f82dfb prefs: Hook up sensitivity and friction spinners 2019-10-08 09:08:20 +02:00
Tor Hedin Brønner 269ea7e21a prefs: Add some much needed margins and other fixes 2019-10-08 09:08:20 +02:00
Tor Hedin Brønner 21ed59447d settings: add swipe-friction 2019-10-08 09:00:45 +02:00
Tor Hedin Brønner 5b70afb30d 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-08 07:08:57 +02:00
Tor Hedin Brønner f5ac57a752 horizontal swiping: Timetravel and use easing to glide 2019-10-07 10:31:02 +02:00
Tor Hedin Brønner 29cd9695b2 gestures: Fix unwanted snapping at the edges 2019-10-06 08:11:13 +02:00
Tor Hedin Brønner a908d2a208 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-05 12:16:29 +02:00
Tor Hedin Brønner 47f416553e fix typo 2019-10-03 02:03:18 +02:00
Tor Hedin Brønner 02012bc147 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-02 21:26:03 +02:00
Tor Hedin Brønner d9c59ef50e 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-01 22:20:19 +02:00
Tor Hedin Brønner fbd5dfbd5b startup: expose failures on startup
Pass the error notification utility to module.enable and use it in the startup
callback.
2019-10-01 17:11:27 +02:00
Tor Hedin Brønner 7988020aff workspaces-only-on-primary: ensure layout happens after overlay setup 2019-10-01 16:52:48 +02:00
Ole Jørgen Brønner ff282a0417 settings: some utility/debug functions for workspace settings 2019-09-29 23:18:30 +02:00
Ole Jørgen Brønner 024e8bb705 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-09-29 23:18:30 +02:00
Ole Jørgen Brønner 8891577a4e 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-09-29 23:06:21 +02:00
Ole Jørgen Brønner e0dae49840 Misc polyfills for 3.28 backwards compatibility 2019-09-29 23:04:16 +02:00
Tor Hedin Brønner 52d1f86635 Fix ease polyfill for 3.28 2019-09-29 22:15:03 +02:00
Tor Hedin Brønner 8daee7ce38 Remove transition from tween calls 2019-09-28 16:20:42 +02:00
Tor Hedin Brønner 7277e90433 Fix non-default transition modes 2019-09-28 16:20:42 +02:00
Tor Hedin Brønner aa1cc2894b 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-09-28 16:19:48 +02:00
Tor Hedin Brønner 18fd713900 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-09-28 15:06:57 +02:00
Tor Hedin Brønner d95acdfdbd Add a tweener to clutter dispatch 2019-09-28 15:06:57 +02:00
Tor Hedin Brønner aa183e89ec Polyfill new 3.34 transition api 2019-09-28 15:06:57 +02:00
Tor Hedin Brønner 5ed464eac3 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-09-28 00:58:39 +02:00
Tor Hedin Brønner 8d83c9536d Run layout timer on window-gap change 2019-09-27 22:20:03 +02:00
Ole Jørgen Brønner 42ab8b7352 prefs: show all stored workspace settings
num-workspaces does not reflect workspace count when using 'dynamic-workspaces'
2019-09-27 22:09:01 +02:00