Commit Graph
589 Commits
Author SHA1 Message Date
Tor Hedin Brønner fc72f92c1e ensureViewport: remove pivot reset and onStart
These are no longer necessary
2018-04-24 07:53:24 +02:00
Tor Hedin Brønner 7dd2883830 Add StackOverlay.reset()
Also reset the overlay when we're done with navigation. It would hang around
when switching to a blank workspace.
2018-04-23 11:17:40 +02:00
Tor Hedin Brønner 0a506605f4 navigator: Consolidate all finish handling in _onDestroy
This also fixes aborting to a blank workspace.
2018-04-23 11:15:56 +02:00
Tor Hedin Brønner d6fe710d07 Fix typo 2018-04-23 10:33:18 +02:00
Tor Hedin Brønner 95cff98230 Position and size the stackoverlay using gap and margin preferences
Extend it to the bottom of the screen so the bottom corners can be used to
switch windows though.
2018-04-23 09:25:25 +02:00
Tor Hedin Brønner d65f6a25e4 Treat maximized windows the same as fullscreen windows 2018-04-23 09:25:25 +02:00
Tor Hedin Brønner 07c598af0c navigator: fix escape when previewing the active workspace 2018-04-23 09:25:25 +02:00
Tor Hedin Brønner 4e0fe38c43 scratch: Don't show the whole layer when floating a new window 2018-04-23 09:25:25 +02:00
Ole Jørgen Brønner 0e21d71d10 bin/debug: Ignore Tweener "has already been finalized" by brute force
Also force sed to use line buffering so we can grep the output interactively
2018-04-22 15:21:13 +02:00
Tor Hedin Brønner b42adca37c Always cover fullscreen windows in stackoverlay 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner a8c112ce4e Deactivate the stackoverlay when the scratch layer is active 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 6bd47b4bf4 Hook up the stackoverlay again
This also fixes an regression where the left/right decision would use the
wrong `destX` value.
2018-04-22 15:01:57 +02:00
Ole Jørgen Brønner e77f3fac79 Notes 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 722a684525 navigator: Initialize the space mru only when needed
Also use an explicit Tween to position a potential fullscreen window correctly
for the first space.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 69898e8f55 Reduce the x clip on Space
When a fullscreen window was selected 1px of the neighbour edges was visible.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner fff958568d Use monitor relative coordinates in ensureViewport
The whole pipeline assumes coordinates being relative, correcting them back to
absolute coordinates in move.
2018-04-22 15:01:57 +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 6d07d53b48 Slide fullscreen windows down when previewing workspaces
Introduces `Navigator.workspaceMru` which indicates if we're previewing
workspaces.

If so we simply treat fullscreen windows as other windows.

Lastly we force ensure on workspace preview finish so that a selected fullscreen
window will be moved back to it's correct position.

There's also some cleanup of the init code.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 7576a9401f Bundle up new window handling 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 ee58a63dd7 Always substitute fullscreen windows with their clone
Only show the window actor when a fullscreen window has focus.

Since it's impossible to actually change the position of fullscreen windows, the
window actors have a tendency to jump back to their actual position. A reliable
case is evince.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 612b7eed0b Place tiled fullscreen windows below the top bar
This looks better (especially when we can get the topbar to always be
transparent). It also means we only need to deal with any selected fullscreen
windows when showing the workspace mru.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner be27e337ed insertWindow: Only set clone position for new windows 2018-04-22 15:01:57 +02:00
Ole Jørgen Brønner 76b4783fe2 Fix broken transient windows:
Some dialog windows doesn't set the transient hint. Without that hint it's hard
to sanely treat the window as eg. a dialog so we simply add it. (eg. gnome-shell
extension preference windows)

In the clone-stack branch this becomes more apparent that before I think.

We could handle this case-by-case in kludges.js instead?

We could try to guess the parent window and set transient_of?
But not sure how hard that is both technically (can we set the hint?) and
logically (can we reliable guess the correct window?) I think notion does
something like that.

We could simply set "above" too?
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 5c9939a877 Rename setInitialPosition and make it sane
Handle the one-shot `show` connection in window-created.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 313c346c93 Detect window type properly on wayland
Fixes #44
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner ac27e439ce Only register sizeHandler once
It also seems like there's no longer any reason to delay the registration to
`actor::show`.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 633e73cd59 animations: Don't show the window actor if we're navigating 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 36d00dd4fc navigator: Make sure WindowActors are visible when done
We need to ensure on finish too as we want to update the window actors.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner f53118dabd setInitialPosition: Add animation 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 0b81a58e2c Position the clone on the initialPosition 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 3d37619eea Force activation of new windows 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 55222d8a50 Let window-created take care of positioning for new windows
Also remove the ad-hoc `[isInserted]` property, as it's just as easy to check if
the window is inserted into its space.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner cfcbdb01d3 Fix switchWorkspace when triggered from random focus 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner b0bc53833b navigator: Don't ensure when selecting spaces 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner c82e7992c5 Set clone position on creation 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 5ffc0784e2 We shouldn't need to turn off redirection anymore 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 867d86c784 startup: Hide scratch layer actors if not active 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 00ed83eb19 Spaces: add generic mru method 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner dc2e6d3de7 Move initWorkspaces into Spaces.constructor 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 1839d3713d Move add_all_from_workspace calling into Space 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 46eaa777c1 Move enable stuff into Spaces 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 0ac2af032f Add destroy method 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 7b40ec71fa Check existence before we destroy clones 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner b649a4a6a0 Make the color palette stable across disable->enable 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 101ace3c12 refactor: spaces -> Spaces 2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 6fd1185558 Move Space to the top
Classes aren't hoisted
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner 6abe6ea287 Update supported versions
We require 3.26 or greater.
2018-04-22 15:01:57 +02:00
Tor Hedin Brønner fcbdd30ca5 Raise the clone when re-ordering windows 2018-04-22 15:01:57 +02:00