Commit Graph

71 Commits

Author SHA1 Message Date
Tor Hedin Brønner
762a6d93c2 workspace menu: do not activate the overivew if navigating 2019-10-10 11:32:50 +02:00
Tor Hedin Brønner
a6f3dadfc7 workspace menu: fix accessibility name 2019-10-10 07:55:11 +02:00
Tor Hedin Brønner
47f416553e fix typo 2019-10-03 02:03:18 +02:00
Tor Hedin Brønner
8daee7ce38 Remove transition from tween calls 2019-09-28 16:20:42 +02:00
Tor Hedin Brønner
18fd713900 Use clutter animations
There's a few differences in how onComplete is run:
- We need to run moveDone on every clone transition, as the transitions aren't
done when cloneContainer's transition finishes
- We cannot run layout until startup is done. For some reason onComplete runs
before monitor setup is done properly.

squash! Use clutter animations

- Can't use addTween as a timeout, but transitions are now finished when
onComplete is run, so there's no need for this anymore.
2019-09-28 15:06:57 +02:00
Tor Hedin Brønner
7fb9f4a0c1 Fix full hot code reload
`getCurrentExtension()` does not work with gnome-shell-mode's eval. Use a
somewhat verbose feature detection to work around the changes made in 3.34.
2019-09-03 17:36:37 +02:00
Rasmus Eneman
f949799c37 Fix crash under Gnome 3.34 2019-08-30 08:16:23 +02:00
Spiss, Lukas
eb36f7938a Add panel offset to label position 2019-07-14 20:30:43 +02:00
Tor Hedin Brønner
786950d576 bug fix: topbar::hide focus_window can be null 2019-06-23 18:09:00 +02:00
Ole Jørgen Brønner
e1f6a980ef Enable 'affectsStruts' on topbar again
With #73 resolved (cd95ad220) we can tolerate changes to workarea across
workspaces.

Extensions that rely on workarea.y (eg. upright dash-to-dock) will no longer be
broken.

Note that (3.28) only windows with visible actors are affected (immediately) by
workarea changes so changing workspace from without-top-bar (A) to
with-top-bar (B) only cause resizes of B's visible windows.

Workspace navigation by itself (shows the topbar) does not cause resizes. (eg.
initiate and cancel a navigation)

Navigation between without-top-bar workspaces does not cause resizes.

This reverts commit 86283c5dea
This reverts commit 20809ad6b0
2019-05-05 17:50:45 +02:00
Ole Jørgen Brønner
86283c5dea Regression: notifications and topbar overlaps
Monkeypatch notification system to position notifications relative to topbar
instead of workarea.

See 8572bb97c7/js/ui/messageTray.js (L830)

Regression after 20809ad6b0
Fixes #109
2019-05-01 22:33:26 +02:00
Ole Jørgen Brønner
20809ad6b0 Disable 'affectsStruts' for the topbar
Caused problems when switching to workspaces without topbar - probably because
the topbar is briefly shown during navigation - restricting the workarea -
resizing the windows in the workspace without topbar - causing the dreaded #73.

This conjecture is not verified, but disabling the affectsStruts fixes the
symptoms :)

Fixes #108
2019-05-01 01:04:46 +02:00
Tor Hedin Brønner
3d1b629171 Integrate the default fallback 2019-04-30 13:57:45 +02:00
Tor Hedin Brønner
49c39992cd always show the top bar when navigating the workspace stack 2019-04-30 13:36:46 +02:00
Tor Hedin Brønner
5220f7919d topbar.show: force hide if in zen-mode 2019-04-30 13:36:46 +02:00
Tor Hedin Brønner
5a4351d3c5 workspace menu: add zen toggle 2019-04-30 13:36:46 +02:00
Ole Jørgen Brønner
1e015e5887 space.layout: respect show-top-bar preference
We don't use workarea.y directly as it can cause problems cause problems if eg.
a layout is triggered when a fullscreen window is active. Instead we scale the
panel height with `space.showTopBar`.
2019-04-30 13:36:40 +02:00
Tor Hedin Brønner
e8a9eea8e9 Revert previous 7 commits
Was not intended for master.

Revert "don't use workarea.y directly"

This reverts commit cb67f451a2.

Revert "space: connect settings"

This reverts commit 3c7ac9509e.

Revert "fixup! workspace menu: add zen toggle"

This reverts commit bff403c134.

Revert "workspace menu: add zen toggle"

This reverts commit 89bae34412.

Revert "Implement"

This reverts commit dd812e5714.

Revert "workspace schema: add `show-top-bar`"

This reverts commit 7dcac8896a.
2019-04-28 10:57:35 +02:00
Tor Hedin Brønner
bff403c134 fixup! workspace menu: add zen toggle 2019-04-28 10:05:19 +02:00
Tor Hedin Brønner
89bae34412 workspace menu: add zen toggle 2019-04-28 03:25:01 +02:00
Tor Hedin Brønner
dd812e5714 Implement 2019-04-28 03:09:37 +02:00
Tor Hedin Brønner
154cf59a59 reload: reset Topbar.menu to null when disabling
Else we might act on it when doing enable again.
2019-04-08 15:23:47 +02:00
Tor Hedin Brønner
d2a6bef0f0 Avoid crash when showing the workspace menu
Mutter copiled without checks makes showing an unmapped StEntry with initial
text crash the shell.

Work around this by using `hint-text` and only updating the `text` property if
it's been set by the focus signal at some point.

TODO: Making the entry without a button makes the tracking obsolete as we update
the workspace name all the time. It's also probably just as good.
2019-03-24 03:50:52 +01:00
Tor Hedin Brønner
f2736440af topbar: avoid warnings 2019-03-24 03:50:52 +01:00
Tor Hedin Brønner
073986344a Polyfill GObject.registerClass
Register the WorkspaceMenu and LiveAltTab
2019-03-24 03:49:36 +01:00
Tor Hedin Brønner
6cf0309b1d workspace label: simplify position logic 2019-02-22 11:07:37 +01:00
Tor Hedin Brønner
5f20007ff2 workspace label: react to changes in top bar font changes 2019-02-20 11:15:14 +01:00
Tor Hedin Brønner
adcfa414ad preference: add use-workspace-name switch
Defaults to true. If false uses gnome shell's `Activities` text and hides the
workspace labels.

Set to false like this:
```
Extension.imports.convenience.getSettings()
  .set_boolean('use-workspace-name', false)
```
2019-02-15 00:15:54 +01:00
Tor Hedin Brønner
d7336e95fd Fix workspace label position 2019-02-08 19:32:12 +01:00
Tor Hedin Brønner
554ac341cb workspace menu: use standard gtk-preference icon 2019-01-18 18:48:56 +01:00
Tor Hedin Brønner
5d45f5f1aa topbar: fix button handling when menu is open 2019-01-13 15:08:27 +01:00
Tor Hedin Brønner
3ed41c0942 prefs: add preference button to workspace menu 2019-01-13 15:08:27 +01:00
Tor Hedin Brønner
529102add1 Add animation-time setting 2018-12-17 22:21:57 +01:00
Tor Hedin Brønner
ba75b68445 topbar: fix visibility when changing to an empty monitor
If the topbar is hidden, moving to an empty workspace on another monitor will
result in the top bar still being hidden.
2018-12-05 06:08:28 +01:00
Tor Hedin Brønner
49479d5e4a Disconnect signals before destroying objects
This now causes an error
2018-09-19 18:56:26 +02:00
Tor Hedin Brønner
73ac480f39 Get rid of the ugly spaces._yPositions 2018-09-16 12:54:37 +02:00
Tor Hedin Brønner
96b9ac57fd Fix startup with already existing windows
Installing and enabling the extension didn't work, as some stuff accessed
`TopBar.menu` too early. This was a pretty bad bug, that was fixed, but then
reverted.
2018-08-31 02:07:37 +02:00
Tor Hedin Brønner
581960fe17 Revert "Construct spaces on enable"
This reverts commit a4f8cd1e3f.

This broke restart on X11 for somee reason, reverting for now
2018-08-29 16:53:01 +02:00
Tor Hedin Brønner
145a8d3347 Polyfill global.workspace_manager 2018-08-27 20:33:34 +02:00
Tor Hedin Brønner
a4f8cd1e3f Construct spaces on enable
To avoid showing the shared background on startup we create spaces on enable,
only deferring adding the windows (which isn't available on enable).
2018-08-26 17:58:36 +02:00
Tor Hedin Brønner
c8678ea79f workspace scroll: Add smooth scroll for touchpads
closes #74
2018-08-03 15:50:42 +02:00
Tor Hedin Brønner
0746432d05 workspace scroll: Intergrate properly with keybindings 2018-07-29 13:04:59 +02:00
Tor Hedin Brønner
e672a86a52 navigator: Only create a single navigator 2018-07-29 13:04:59 +02:00
Ole Jørgen Brønner
164a509c10 Change workspace by scrolling over workspace indicator 2018-07-19 10:31:17 +02:00
Tor Hedin Brønner
fc260da22d Consistently declare and use screen and display
Makes things shorter and removes language warnings of using undeclared
variables.
2018-07-12 16:14:26 +02:00
Tor Hedin Brønner
9982b77c9e WorkspaceMenu: Only open the config menu on right click
See #67 for more discussion.
2018-07-08 12:09:47 +02:00
Tor Hedin Brønner
c723fa2a4d Use new workspace settings schema
Per workspace settings can be accessed through `space.settings`.

A setting's path is stored under its uuid in
`/org/gnome/shell/extensions/paperwm/workspaces/${uuid}/`. When modifying a
workspace setting the uuid will be recorded in
`org.gnome.Shell.Extensions.PaperWM.WorkspaceList`.

Spaces get their settings by looking for an uuid with an `index` key
corrosponding to its `workspace.index()`. If such a setting can't be found the
space will be given a fresh uuid and the name and color will be assigned as
before.
2018-07-08 12:09:47 +02:00
Tor Hedin Brønner
6b44a9139f cleanup: Remove a bunch of unconditional logging 2018-07-03 00:08:40 +02:00
Tor Hedin Brønner
3548f219a2 Rename prefs.js to settings.js
prefs.js causes issues as its used to lauch the settings gui from eg. tweaks.
2018-07-02 22:31:55 +02:00
Ole Jørgen Brønner
acb383249e Minor cleanup 2018-05-17 14:18:43 +02:00