Tor Hedin Brønner
dc9923cae0
insertWindow: don't allow windows being vertically maximized
2019-10-26 15:58:57 +02:00
Tor Hedin Brønner
6a5ca3a2c7
docked: handle layout in oneshot
2019-10-26 15:58:57 +02:00
Tor Hedin Brønner
ed9f211201
wip: edge dock
2019-10-26 15:58:57 +02:00
Tor Hedin Brønner
8c1a56f96b
moveDone: Actually check if we're grabbing a tiled window
2019-10-26 15:58:57 +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
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