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
Ole Jørgen Brønner
0ce41886a0
settings: dev/debugging utils to delete workspace settings
2019-10-17 20:17:21 +02:00
Tor Hedin Brønner
710e1f9c92
layout: remove unnecessary code
...
This shouldn't be necessary as we update space.targetX before running
ensureViewport, so the target window will always be inside the view port.
2019-10-17 15:37:42 +02:00
Tor Hedin Brønner
ce94061df8
addWindow: On first window just center targetX, leave rest to layout
...
Do not set cloneContainer.x directly, this can cause jumps.
But we do want to center space.targetX so layout knows that it should center the
tiling.
2019-10-17 15:37:42 +02:00
Ole Jørgen Brønner
4c36d5d203
cycle-window-width: let Space.layout take care of moving the window
...
Old logic kept for scratch windows.
Combined with 8ec37f1 keep a rightmost positioned window rightmost after
shrinking.
2019-10-17 15:25:19 +02:00
Tor Hedin Brønner
81136e1b44
center first window
2019-10-16 14:06:15 +02:00
Tor Hedin Brønner
8ec37f1987
tiling: try to maximize the space when removing/adding windows
...
fixes #104
2019-10-16 14:06:15 +02:00
Tor Hedin Brønner
8e79e36934
winprops: make gnome-screenshot floating by default
2019-10-16 11:51:57 +02:00