35 Commits
Author SHA1 Message Date
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
Tor Hedin Brønner 6d55fbe3e4 Better fix for initial space.label positioning
Hide the label at space construction. Update and show the label when before we
start looking at the workspace mru stack.

Also use the position of the menu label relative to the panelbox, to support
placing the workspace menu in eg. the center.
2018-05-16 15:44:27 +02:00
Tor Hedin Brønner f4c6e057a9 If there's not enough colors in worspace-colors fill it up with '' 2018-05-15 22:37:17 +02:00
Tor Hedin Brønner ccbd44e3ff workspace menu: Always update the text color
We need to connect the Ste.Entry.clutter_text actor here.
2018-05-15 22:37:17 +02:00
Ole Jørgen Brønner 11a37af93d Create and destroy workspace menu on enable/disable
Lack of super.destroy() in WorkspaceMenu.destroy likely prevented previous
attempts from working properly.
2018-05-15 22:37:17 +02:00
Ole Jørgen Brønner 44237287f0 "Accept" PopupMenuEntry on <Return> (eg. set workspace name) 2018-05-15 22:37:17 +02:00
Ole Jørgen Brønner 5b60380d16 Handle renaming n'th workspace when (n-k)'th workspace doesn't have a name 2018-05-15 22:37:17 +02:00
Tor Hedin Brønner 88c11dadfe Add workspace menu with name and color selection 2018-05-15 22:37:17 +02:00
Tor Hedin Brønner 5a9663bce8 Ugly fix for label position 2018-05-09 23:55:09 +02:00
Tor Hedin Brønner 0a0812eaa1 Top bar: set correct space label position
Also use bold style for the workspace label to match the style of the top bar.
2018-05-05 13:21:35 +02:00
Ole Jørgen Brønner e955a9aca6 Hide the panel corners by opacity instead of actor.hide
dash-to-dock extension sometimes show the corner actors. Setting the opacity
makes sure they stay hidden :)
2018-04-30 17:18:46 +02:00
Tor Hedin Brønner 47ac7b648e Always keep the top bar on the focused monitor 2018-04-30 17:18:45 +02:00
Tor Hedin Brønner 42aedba3b6 Use var for all top level declarations to avoid warnings
We're assessing all top level declarations from outside the original scope when
we're evaluating code. So everything should be `var`.

Classes are `let` bound so we should use var for `ClickOverlay` too, but there's
a bug in gnome-shell-mode making such statements not evaluate. We therefor wait
for that to be fixed.
2018-04-30 00:03:08 +02:00
Tor Hedin Brønner 892946e053 top bar: Hide the rounded corners 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 8e4d488c39 Only hide the top bar when a fullscreen window has focus 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner c62bd686f7 topbar: Force transparency
See `data/theme/gnome-shell-sass/_common.ccss` in the gnome shell source code.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 9afd8db94b Use notify::fullscreen to handle fullscreen functionality
`'in-fullscreen-changed'` only works for a single fullscreen window per
workspace. Meaning it's useless for our purposes.

This also makes neighbouring windows responsive to fullscreen changes.
2018-04-13 18:50:46 +02:00
Tor Hedin Brønner 030b030eab topbar: Handle visibility correctly when fullscreen is toggled 2018-04-12 17:04:54 +02:00
Tor Hedin Brønner 0c7f454878 topbar: Refactor signal tracking 2018-04-12 17:04:49 +02:00
Tor Hedin Brønner d6de1585d6 topbar: Access the activities label in a more straightforward way 2018-04-05 13:56:44 +02:00
Tor Hedin Brønner 8366c15925 Move top bar specific code from tiling to topbar 2018-04-04 14:24:27 +02:00
Tor Hedin Brønner 769142f727 Repurpose the activity label as a worspace indicator
Introduces a topbar module.
2018-04-04 13:39:41 +02:00