Tor Hedin Brønner
4efc2fd8af
Disable unredirect when switching workspaces
2018-04-25 13:36:44 +02:00
Tor Hedin Brønner
f3ee5900ac
super+ctrl+above_tab: Move the focused window through the scratch layer
...
If we're starting workspace navigation with `ctrl` lift the focused window into
the the scratch layer. When navigation is done, drop the lifted window into the
new workspace.
2018-04-25 10:36:57 +02:00
Tor Hedin Brønner
76d819b8f5
ensureViewport: Guard against maximized and fullscreened windows
...
Small bug where a maximized and fullscreened window would be positioned the
wrong way when navigating the workspace mru stack.
2018-04-24 13:07:39 +02:00
Tor Hedin Brønner
5b3bee5b82
navigator: fix regression
...
0a506605f broke abort when navigating within a space.
2018-04-24 09:46:13 +02:00
Tor Hedin Brønner
e8e0853ed8
Fix stackoverlay code ordering
...
The stackoverlays are created on enable so will have access to all top level
variables in any modules.
2018-04-24 07:58:45 +02:00
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