Tor Hedin Brønner
fb758b5b42
app: return promised window
2019-10-29 22:26:39 +01:00
Tor Hedin Brønner
01329ee81f
ActionDispatcher: support promised pseudo focus
2019-10-28 04:33:00 +01:00
Tor Hedin Brønner
951bc5b03d
dynamic_function_ref: pass through return values
2019-10-28 04:08:08 +01:00
Tor Hedin Brønner
35799d5d01
navigator: fix typo
2019-10-27 16:04:50 +01:00
Tor Hedin Brønner
7a488ccc7b
fixup! cycleWindowWidth: Remember and prefer the originial position
2019-10-27 14:40:18 +01:00
Tor Hedin Brønner
bd1a64bb36
fixup! navigator: Select the correct window
2019-10-27 14:02:29 +01:00
Tor Hedin Brønner
b7afbdad24
cycleWindowWidth: Use correct workarea for floating windows
2019-10-27 02:27:31 +02:00
Tor Hedin Brønner
a87f2d60fd
cycleWindowWidth: Remember and prefer the originial position
2019-10-27 02:27:31 +02:00
Tor Hedin Brønner
8e6e8a54e6
navigator: Select the correct window
2019-10-27 02:27:31 +02:00
Tor Hedin Brønner
73a4e27bf7
action dispatcher: Introduce global pseudo focus while navigating
...
The action dispatcher would only allow actions to operate on tiled windows.
However some actions, like cycleWindowWidth, are able to operate on eg. scratch
windows, while it at the same time wants context between repeated cycles.
To solve this we add an explicitly tracked pseduo focus to the dispatcher.
Actions can now return a MetaWindow which then becomes the new focus.
This should pave the way for us to integrate eg. alt-tab with the dispatcher.
2019-10-27 02:25:41 +02:00
Tor Hedin Brønner
aecf376078
action dispatcher: Provide a context object for repeated actions
2019-10-27 00:22:46 +02:00
Tor Hedin Brønner
0bd9de889e
cycleWindowWidth: fix typo
2019-10-26 15:57:03 +02:00
Tor Hedin Brønner
6556cb55d4
liveAltTab: fix typo
2019-10-26 15:36:56 +02:00
Tor Hedin Brønner
4b50816fcd
workspace menu: Use symbolic preference icon
2019-10-26 15:35:58 +02:00
Tor Hedin Brønner
d9d11fab97
space.workArea(): Wrap workarea logic
...
I left a few sites which operates in global coordinates, or otherwise actually
want the actual workArea.
2019-10-26 15:34:58 +02:00
Tor Hedin Brønner
c3e5d5f8dd
window highlight: Support maximized windows better
2019-10-26 15:33:26 +02:00
Ole Jørgen Brønner
e75f3aac7f
Notes: summarize signal sequence of misc state changes (WIP)
2019-10-21 21:36:35 +02:00
Ole Jørgen Brønner
e54c2b34f0
Fix 3.28 error by polyfilling missing display.get_monitor_scale
2019-10-21 21:18:38 +02:00
Tor Hedin Brønner
482d29118e
Merge pull request #179 from paperwm/workspace-menu
...
Modernize the workspace menu
2019-10-21 13:26:23 +02:00
Tor Hedin Brønner
501ea8a136
workspace label: Set min width to avoid movement while typing
2019-10-21 12:59:37 +02:00
Tor Hedin Brønner
2d98d9c57b
workspace menu: Focus workspace name on open
...
For some reason activation doesn't work immediately on `_onOpenStateChanged`, so
we need an idle_add (like gpaste).
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
02dd23bfd2
workspace menu: grab key focus on button clicks
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
7974f6adc5
workspace menu: Use Hide top bar
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
ddd5c495a8
workspace menu: add ornamental label
...
This adds some need width too.
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
bcdc387554
workspace menu: add next/prev workspace settings buttons
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
0dead29718
workspace menu: simplify
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
4cfe445477
tiling: Move cycle to Tiling.cycleWorkspaceSettings
2019-10-21 12:47:39 +02:00
Tor Hedin Brønner
384dd6dab6
registerClass: Support passing extra spec as first arg
2019-10-20 19:05:43 +02:00
Tor Hedin Brønner
82ddc02716
Space.moveDone: Only block on grabbing a tiled window
...
When dragging a window to a shared secondary monitor, moveDone is blocked by
`inGrab`. However we only want this as long as the window haven't been detached
by window-entered-monitor.
2019-10-20 14:27:11 +02:00
Tor Hedin Brønner
196368d3ec
tiling: Remove stray logging
2019-10-20 14:21:21 +02:00
Ole Jørgen Brønner
18b5507853
resize-actions: Increase "slack" and make it simpler to adjust
...
See https://gist.github.com/olejorgenb/434dcc616343a50d9d63f2a700ad89b7 for a
helper script to test various window constraints.
ref: #187
2019-10-20 11:48:47 +02:00
Tor Hedin Brønner
c7cbd847cc
window-entered-monitor: Only act on grabbed windows
2019-10-19 20:53:11 +02:00
Tor Hedin Brønner
ba43c68ba8
edge overlays: start out unactivated
...
Be sane and start in a clean state.
2019-10-19 19:13:19 +02:00
Tor Hedin Brønner
e290062253
insertWindow: Do not hide windows that are on all workspaces
2019-10-19 19:13:05 +02:00
Ole Jørgen Brønner
114e1be3b4
Merge pull request #185 from paperwm/workspace-directory
...
Launch apps from workspace directory
2019-10-18 19:54:53 +02:00
Ole Jørgen Brønner
426d44bf11
app: mkCommandLineSpawner util expanding %d to workspace directory
...
Use `tilix --working-directory %d` for tilix. Otherwise the daemon will have the
workspace dir as working directory. Subsequent new windows might inherit that
directory. (eg. in spaces that doesn't specify an explicit directory(?))
2019-10-18 19:21:45 +02:00
Tor Hedin Brønner
86d8b6275f
app: Don't throw in spawnWindow, let trySpawnWindow throw
...
`spawnWindow` can be useful from `user.js`, so we make it always succeed, while
we while we introduce a throwing `trySpawnWindow` for internal use.
2019-10-18 19:21:45 +02:00
Tor Hedin Brønner
2c7bfae7d7
app: Fall back to original spawn when space.directory is unset
...
If the user haven't set a workspace directory we play it safe and call the
spawn the app with the non-kludged method.
2019-10-18 19:21:45 +02:00
Tor Hedin Brønner
957e27a1d1
kludges: Add overrideWithFallback
2019-10-18 19:21:45 +02:00
Ole Jørgen Brønner
739c4350d7
app: Launch new windows from the workspace directory if set
...
We override these methods so this will work from the typical launchers:
Shell.App.open_new_window
Shell.App.launch_action('new-window', ...)
Gio.DesktopAppInfo.launch
Gio.DesktopAppInfo.launch_action('new-window', ...)
NOTE: overridden `launch` can act somewhat strange with single process many
window apps if the process. If the process is launched with a specific directory
new windows might inherit this on non-overridden `new-window`. (seen in Tilix)
2019-10-18 19:21:45 +02:00
Ole Jørgen Brønner
528154db4e
app: launchFromWorkspaceDir util
2019-10-18 19:21:45 +02:00
Ole Jørgen Brønner
5ea58aabcb
utility: add app as dev global
2019-10-18 19:21:45 +02:00
Ole Jørgen Brønner
9e8da016f2
workspace-directory: prefs GUI
2019-10-18 19:21:45 +02:00
Tor Hedin Brønner
9d90930165
settings: add per workspace directory key
2019-10-18 19:21:45 +02:00
Tor Hedin Brønner
56845e6267
readme: Note workspaces-only-on-primary limitations
2019-10-18 16:11:21 +02:00
Tor Hedin Brønner
f382ac07a1
kludge overview: handle only-on-primary
2019-10-18 16:11:21 +02:00
Tor Hedin Brønner
c8b8d78636
insertWindow: Handle stuck windows minimally
...
When spawning windows on a secondary monitor, and there's
workspaces-only-on-primary, we simply want to connect the necessary signals and
make sure the window is shown.
2019-10-18 16:11:21 +02:00
Tor Hedin Brønner
d4838298d7
insertWindow: Make unstuck scratch windows stuck
...
When using `workspaces-only-primary` and a scratch window is moved from a
secondary monitor to the primary gnome-shell will make the window unstuck. So we
need to make it stuck again.
2019-10-18 16:11:21 +02:00
Tor Hedin Brønner
642640c66e
switchMonitor: Handle workspaces-only-on-primary
2019-10-18 16:11:21 +02:00
Tor Hedin Brønner
540c07dda3
grab window: Handle workspaces only on primary correctly
2019-10-18 16:11:21 +02:00