1429 Commits

Author SHA1 Message Date
Tor Hedin Brønner
5fc7de65f7 background: use WALLPAPER style 2019-11-05 10:54:28 +01:00
Tor Hedin Brønner
3a69ecffe6 ... 2019-11-05 10:54:28 +01:00
Tor Hedin Brønner
424a32b25a wip 2019-11-05 10:54:28 +01:00
goodwillcoding
9a21af6a03 Gnome 3.28 compatibility fixes for #182 (#197)
Add global.display.get_monitor_neighbor_index that uses 
global.screen.get_monitor_neighbor_index
Meta.DisplayDirection = Meta.ScreenDirection;
2019-11-05 09:59:57 +01:00
Tor Hedin Brønner
8f22ab6b1e keybindings: do not override actionless keys
It's possible to pick up schema changes without a full reload. If the new
bindings conflicts with gnome-shell we will try to override. But since we have
registered no action, this will fail.

Simply guard against actionless bindings.

fixes #190
2019-11-02 23:42:45 +01:00
Tor Hedin Brønner
e36b4b923e kludges: fix overview ordering in 3.34
3.34 changed introduced changes to the layout algorithm breaking our simple
ordering monkey patch.

Simply take computeLayout from 3.32 and monkeypatch it back in.
2019-11-01 01:44:41 +01:00
Tor Hedin Brønner
6efd2e8b4a default winprops: match gnome-screenshot on x11 too 2019-11-01 01:35:29 +01:00
Tor Hedin Brønner
54aba40fc8 winprops: support regexps in wm_class 2019-11-01 01:35:29 +01:00
Ole Jørgen Brønner
d2887263a2 examples/keybindings: tile into left/right column
Takes the selected window and tile it into the left/right neighbour column.
2019-10-31 20:08:03 +01: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