Commit Graph
265 Commits
Author SHA1 Message Date
Ole Jørgen Brønner 647a143231 Use preview_navigate to switch workspace as default 2017-10-02 20:16:21 +02:00
Ole Jørgen Brønner a5f683d9f1 Allow printing stacktraces of existing errors too 2017-10-02 19:45:09 +02:00
Tor Hedin Brønner 2e79d6666d Quite buggy workspace up/down action in PreviewNavigator 2017-10-02 19:43:27 +02:00
Tor Hedin Brønner 3541c7b910 Expose selectedIndex on the multimap 2017-10-02 19:42:35 +02:00
Tor Hedin Brønner d175348f73 Let SwitcherPopup do positioning by specifying the correct height 2017-10-02 18:39:45 +02:00
Tor Hedin Brønner e84b834960 Don't animate the first unfold 2017-10-02 18:37:16 +02:00
Tor Hedin Brønner d5efdf74a2 Remove obsolete code 2017-10-02 18:34:17 +02:00
Tor Hedin Brønner 4cf04a7b18 Minimal setup to use the multimap with Super </>
- We inherit from SwitcherPopup instead as now only need keyhandling.
- We need rescue the minimaps from destruction on destroy
2017-10-02 18:15:24 +02:00
Ole Jørgen Brønner 02289b7615 Remove unused class 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner 59bae795e1 Cleanup: proper member variables 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner e38d4230a4 Calculated the scaled size ourself so we don't rely on being part of the stage
Don't add stuff to the stage in the constructor.

get_transformed_size only work when the actor is part of the stage.
2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner c0f0a66db8 Don't animate *everything* when showing the multimap 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner cd03b72ac9 Reparent instead of add
In theory more robust
2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner 747562d788 MultiMap: onlyShowSelected 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner a9b25590da Very rough "multimap" 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner aad6dd51e8 WindowCloneLayout reports frame rect size 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner 76f35b8358 Let the minimap owner handle positioning 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner 2ae0f32889 Handle empty workspaces/minimaps 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner 6e08e92b0d Ups, typenames must be unique 2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner 126da56a68 WIP: Two working alternatives for a wrapper that let us use "frame coordinates"
Note: the allocation method is called ALOT

WindowCloneLayout based on the one in workspace.js, but the original
calulates the offset based on a static frame_rect. Unless that's updated the
clone's position will follow the source. The containers position (using the
layout manager) will _not_ follow it though. So the clone is not properly
contained inside the container..
2017-10-02 17:17:16 +02:00
Ole Jørgen Brønner e0e1e624ec Experimental stuff 2017-10-02 17:17:16 +02:00
Tor Hedin Brønner b5af3c2017 Only ensure if the window is part of the space 2017-10-01 16:50:15 +02:00
Tor Hedin Brønner 2bee270ccf Just scale the top bar down, don't hide it, when ensuring
This prevents the hide signal being triggered and doing the wrong thing while
previewing a fullscreen window while `selectedWindow` is non-fullscreen.
2017-10-01 14:45:41 +02:00
Tor Hedin Brønner 5beb29fa1b Override panel hiding when selectedWindow isn't fullscreen 2017-10-01 13:16:22 +02:00
Tor Hedin Brønner 29fd979467 Add LiveAltTab popup based on WindowSwitcherPopup
Issues:
- When releasing mid animation focus will restart the workspace switch animation
- There's no workspace animation back when escaping the popup
2017-09-30 01:11:17 +02:00
Tor Hedin Brønner ce54af8b92 Add _previewWorkspace and _previewWorkspaceDone to WindowManager
Gives more fine grained control as we can call complete when appropriate and
omits signaling mutter that workspace switching is finished, as we're not
responding to the `switch-workspace` signal.
2017-09-30 00:59:01 +02:00
Ole Jørgen Brønner a08d6e0be7 Some development utils: eg. update global variables command: Super-Insert
+ A function to visualize the window boxes (frame_rect and buffer_rect)
2017-09-29 16:09:40 +02:00
Tor Hedin Brønner fd9dd50383 Only set ensure selectedWindow if there's windows in the workspace
This broke enable and further initalization.
2017-09-29 14:52:58 +02:00
Tor Hedin Brønner e530addb5e Leftover x_offset in fold 2017-09-28 15:21:14 +02:00
Tor Hedin Brønner 8238d487c6 Put the WindowActor clone inside a St.Widget for style and position 2017-09-28 14:23:50 +02:00
Tor Hedin Brønner 3500089e8d Fix typo 2017-09-28 13:37:09 +02:00
Ole Jørgen Brønner 0269af8aee stylesheet.css
And a placeholder style for selected window in minimap.

The extension system load this file automatically. Simply set the class on a st
widget to use:

    new St.Bin({ style_class: "paper-mm-selected-window"});

The border is part of the width though (box-sizing not supported I think) so
if we're going to use borders directly around the clone some adjustment will be
needed to keep 100% aligned with the actual space.
2017-09-28 13:29:11 +02:00
Ole Jørgen Brønner 91e0f5e978 Naming: createMinimap -> Minimap
(constructor style)
2017-09-28 11:52:45 +02:00
Ole Jørgen Brønner f1d9fdca6e Space.selectedIndex util method 2017-09-27 23:02:56 +02:00
Ole Jørgen Brønner 0c9034255d Don't repopulate minimap when hiding it 2017-09-27 23:02:56 +02:00
Tor Hedin Brønner 7656af1138 Always show the panelbox when selecting non-fullscreen windows 2017-09-27 22:46:23 +02:00
Ole Jørgen Brønner a8bce1885b Lay out the minimap on toggle 2017-09-27 21:58:42 +02:00
Ole Jørgen Brønner 490a1afbd0 Repopulate minimap on toggle
ref: #33
2017-09-27 21:49:55 +02:00
Ole Jørgen Brønner d7fa57592c (empty) Minimap for all spaces!
Not hooked up to 'window-added/removed' so the map will be empty.
2017-09-27 21:26:08 +02:00
Tor Hedin Brønner 75220ee83d Set a max protrusion when folded
Also use frame coordinates
2017-09-27 20:11:07 +02:00
Tor Hedin Brønner e6af7c7a41 Basic fold with tons of hardcoded values
ref: #33
2017-09-27 19:46:35 +02:00
Ole Jørgen Brønner 9be97a5f36 Minimap prototype
NB: Only one workspace supported

Ref: #33
2017-09-27 18:43:53 +02:00
Ole Jørgen Brønner 5c28deb0e4 Copy-paste bugfix
(untested)
2017-09-27 14:35:35 +02:00
Ole Jørgen Brønner 17053b2ab5 Don't position windows on non-integer pixel positions
Results in blurry content.

Maybe we want to enforce this in `move`/`move_to` too?
2017-09-27 13:15:35 +02:00
Tor Hedin Brønner b6447a2f4c Use minimum for delay calculation
Returns NaN when margin_lr is largen than stack_margin obviously.
2017-09-27 13:08:24 +02:00
Tor Hedin Brønner a6e646127b Make a minimumMargin property for maximize and ensure
Maximize using `minimumMargin` so a high `margin_lr` will not interact with
maximize. Also use it to determine if a window should be pushed into the
viewport using the regular horizontal margins.

(Also let `primary` be a global, it breaks eval of basically everything)
2017-09-27 11:55:00 +02:00
Tor Hedin Brønner 77a4e432d4 Position the first window on a workspace correctly 2017-09-26 15:28:03 +02:00
Tor Hedin Brønner c4f14d495e Remove alignment on animation overwrite
Caused some weirdness when going back and forth fast, and didn't seem to do
anything useful.
2017-09-26 14:31:48 +02:00
Ole Jørgen Brønner ced00ebcb3 Don't enable() more than once. Workaround until disable is implemented
The extension sometimes go through multiple init -> enable -> disable cycles at
login or gnome-shell-restart.

This is especially problematic as we don't yet implement `disable`. Note that
`init` is **also** called multiple times when this happens..

Fixes #30
2017-09-26 13:30:37 +02:00
Tor Hedin Brønner 2964ab3d90 Use setInitialPosition for positioning existing windows too
Also set update `selectedWindow` correctly.
2017-09-26 13:28:25 +02:00