Tor Hedin Brønner
6434bbd682
insertWindow: insert in correct workspace
2019-10-22 13:26:15 +02:00
Tor Hedin Brønner
1df69c1ec9
moveDone: complete moves in overview
2019-10-22 13:26:15 +02:00
Tor Hedin Brønner
c40fc9351f
workspacesChanged: Remove tiled windows on workspace removal
2019-10-22 13:26:15 +02:00
Tor Hedin Brønner
449d87c03a
showHandle: Avoid some warnings
2019-10-22 13:26:15 +02:00
Tor Hedin Brønner
ab96a09889
insertWindow: Do not handle tiled windows that are stuck
...
More only-on-primary work.
When a secondary monitor is to the left/right of primary, tiled windows become
`stuck` when they're pushed into the secondary monitor. Eg. if `A` and `B` is
tiled `B` will become `stuck` by entiring the secondary monitor:
|-----primary-----|----secondary------|
| |-------------| | |-------------| |
| | | | | | |
| | | | | | |
| | A | | | B | |
| | | | | | |
| |_____________| | |_____________| |
|_________________|___________________|
Handle this edge case by not doing anything with such windows.
2019-10-22 13:26:15 +02:00
Tor Hedin Brønner
acee807f37
Space.init: use the old space for selectedWindow
2019-10-22 13:26:15 +02:00
Tor Hedin Brønner
c5d651b9e3
window-removed: Delay removal until next addWindow
...
We need to guard against
2019-10-22 13:26:15 +02:00
Tor Hedin Brønner
047ec64287
Space: record which space a window is tiled
2019-10-22 13:26:15 +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
Tor Hedin Brønner
9c962f02ba
window-entered-monitor: Only handle grabs
...
We now have custom ways to move windows between monitors
2019-10-18 16:11:21 +02:00
Tor Hedin Brønner
b886665b08
clickOverlay: cover the entire monitor
...
We guard against small movements triggering monitor change already.
2019-10-18 16:11:21 +02:00
Tor Hedin Brønner
0653664dd3
clickOverlay: never activate when workspaces-only-on-primary
...
This means we can simply create clickOverlays for all the monitors, avoiding any
annyoing errors with missing overlays.
2019-10-18 16:10:41 +02:00
Tor Hedin Brønner
8916dde666
spaces: add onlyOnPrimary property
2019-10-18 14:06:01 +02:00
Tor Hedin Brønner
10038d417a
layout: Run ensureViewport on auto corrections too
...
`auto` doesn't ensure that the selected window is inside the viewport.
2019-10-17 23:44:03 +02:00
Tor Hedin Brønner
0239b4e7a5
Fix errors on X11 startup when auto spawning windows
2019-10-17 23:08:30 +02:00
Tor Hedin Brønner
c8dfaacb42
layout: Do not run any auto corrections when grabbing
...
NOTE: `animate` is false when grabbing. In general auto will cause an animate so
we disable it in the somewhat more general case.
2019-10-17 23:07:36 +02:00
Tor Hedin Brønner
3f1b4a7b8f
minimap: Limit highlight height
2019-10-17 22:25:56 +02:00