Tor Hedin Brønner
317d2c0c2a
Basic scratch toggle
...
Stack ordering isn't preserved properly. Use <Super>e to toggle for now.
2017-09-22 23:37:27 +02:00
Ole Jørgen Brønner
719f3a2a2f
Minor variable rename
...
The window doesn't necessarily have focus and make the exact meaning apparent.
2017-09-22 23:01:01 +02:00
Ole Jørgen Brønner
db5f36a1d5
Insert windows opened from "Activities"/background at correct index
...
Track `Space.selectedWindow` and use that instead of focus().
Fixes #19
2017-09-22 22:55:28 +02:00
Ole Jørgen Brønner
e4584d79aa
New winprop action: scratch_layer
...
`stick` the window and don't add it to the space.
Not sure if we need both float and scratch_layer though?
Place Riot in scratch layer by default.
2017-09-22 22:22:04 +02:00
Tor Hedin Brønner
3438a73da1
Add monitor offset to initial positions
2017-09-22 21:31:12 +02:00
Tor Hedin Brønner
99f1384f1d
Rebind maximize-horizontally to <Super>f
2017-09-22 21:25:01 +02:00
Tor Hedin Brønner
be5ef5eb92
Semi fix for positioning windows moved between workspaces
...
TODO: actually figure out the correct position, relying on `focus()` isn't
correct.
2017-09-22 21:22:32 +02:00
Tor Hedin Brønner
5582f19b7d
Don't add already added windows
...
`window-added` sometimes run several times, (not sure why).
2017-09-22 21:12:27 +02:00
Tor Hedin Brønner
4a31e49381
Disconnect the focus handler properly
...
Uses a symbol to avoid any name collisions.
Fixes #22
2017-09-22 18:23:17 +02:00
Tor Hedin Brønner
bfa8528d51
Don't add windows which are shown on all workspaces to the space
...
At the moment it's pretty impractical to have windows duplicated over several
spaces.
2017-09-22 18:10:33 +02:00
Tor Hedin Brønner
520ecf93c9
Lookup the space using the workspace in window-removed handler
...
When a window is «always on visible workspace» (ie. stick() is run)
`get_workspace` will return the active workspace, which is incorrect.
2017-09-22 17:06:05 +02:00
Tor Hedin Brønner
51e95bf998
Use the primary monitor to position windows
...
`global.screen_height/width` is of course not suitable since it refers to the
whole monitor space. Use the primary monitor for now.
This makes it possible to eg. position the primary below the extra workspace.
2017-09-22 14:39:10 +02:00
Tor Hedin Brønner
949a3efbd1
Fix spaceOf naming
2017-09-22 13:57:58 +02:00
Ole Jørgen Brønner
865deb23be
Notes: cleanup
2017-09-21 23:37:26 +02:00
Ole Jørgen Brønner
56534ce5b2
Notes: GObject
2017-09-21 23:37:26 +02:00
Tor Hedin Brønner
7a186cd568
Center more wide windows
...
Be more liberal with what we consider to be a wide window. Another option is
having the cutoff be `stack_margin + window_gap` which means we'll center as
long as there's no other non-scaled window on the screen.
2017-09-21 23:02:02 +02:00
Ole Jørgen Brønner
1a95f82a6d
Fix crash on quick successive closes
...
Fixes #12
2017-09-21 19:26:17 +02:00
Tor Hedin Brønner
523c46b935
Skip removed windows when propogating positions
...
When a window is removed the new focus is triggered before the `window-removed`
is triggered. But the actor is already gone, so we use that as a proxy.
This change should facilitate handling windows that are minimized too.
2017-09-21 19:01:33 +02:00
Tor Hedin Brønner
98226d1b53
Fix center
...
Also fix spaceOf since `this[index]` seemingly doesn't work.
2017-09-21 18:40:31 +02:00
Ole Jørgen Brønner
9c3931f429
Move set_action_handler
2017-09-21 18:06:24 +02:00
Ole Jørgen Brønner
94cfaa8419
Add the canonical convenience.js file for accessing settings
2017-09-21 16:38:02 +02:00
Ole Jørgen Brønner
367a9430f4
Use global.get_current_time for timestamps
...
Probably fixes WM warnings about timestamps.
2017-09-21 16:11:12 +02:00
Ole Jørgen Brønner
e002d02e50
Move utils to separate file
2017-09-21 16:01:21 +02:00
Tor Hedin Brønner
1f2989d00f
Add spaces.spaceOf utility function
2017-09-21 15:21:22 +02:00
Tor Hedin Brønner
646a8b7bba
Create simple Space abstraction
...
Also move full spaces init to `enable`.
2017-09-21 15:18:43 +02:00
Tor Hedin Brønner
3246577447
Rename the array workspace to space
2017-09-21 15:15:51 +02:00
Tor Hedin Brønner
18605fc79f
Rename workspaces to spaces
2017-09-21 14:41:22 +02:00
Tor Hedin Brønner
67f8a7e7d6
Use panelBox.height instead of statusbar_height
...
Setting statusbar_height this early fails on new logins.
2017-09-21 12:26:02 +02:00
Ole Jørgen Brønner
dd5d762122
Fix regression: preserve tiling order across gnome-shell restart
...
Fixes #16
Note: should probably do a relayout too, instead of deferring this to first
window movement.
2017-09-21 12:13:25 +02:00
Tor Hedin Brønner
2376351042
Always position the panelBox above the monitor when hidden
...
The panel can be hidden by more than ensure_viewport. There's no point in
animating on the `hide` signal, but we can position the panel correctly,
later show animations work properly and will make sure any popdowns are position
correctly too.
2017-09-21 10:31:51 +02:00
Ole Jørgen Brønner
ad2de4783f
Minor bugfix: Use absolute path to local extension dir in install script
2017-09-21 10:29:55 +02:00
Tor Hedin Brønner
f215d61ba7
Move show panel animation to a signal
...
Should ideally have hide animation in a signal too, but this doesn't seem to be
viable as it gnome-shell tries really hard to hide the panel when focusing a
fullscreen window.
Ie. if we disconnect both signals, show the panel while animating out
gnome-shell will just hide it again.
2017-09-21 02:21:21 +02:00
Tor Hedin Brønner
e48943cc8e
Add panel in/out animation
2017-09-21 01:13:37 +02:00
Tor Hedin Brønner
24b67ccab3
Fix statusbar regression
...
Main.layoutManager.panelBox is the correct way to reference the panel when
checking if it's visible or not.
2017-09-21 00:38:29 +02:00
Tor Hedin Brønner
b6cfd0eefd
Add local install script
2017-09-20 16:06:44 +02:00
Tor Hedin Brønner
1de31e365a
Working extension
...
Regression: enable() is run too early to find the topbar the way we did it
before. Commented out the statusbar.visible handling, and hardcoded the height
for now.
TODO: find a signal we can use to find the topbar properly.
2017-09-20 15:58:02 +02:00
Tor Hedin Brønner
85fc37f617
Explicitly add all dependencies
2017-09-20 15:19:17 +02:00
Tor Hedin Brønner
ab1c99da01
Add bare bones necessary files for extension packing
2017-09-20 14:52:44 +02:00
Tor Hedin Brønner
769891f9b2
Move _repl to own file
2017-09-20 13:32:27 +02:00
Tor Hedin Brønner
b48b7ef3de
Move global preferences to the top
2017-09-19 11:20:26 +02:00
Tor Hedin Brønner
778ec72b2c
Give margin the sensible name stack_margin
2017-09-19 10:51:29 +02:00
Tor Hedin Brønner
299bab0bbd
Update path
2017-09-19 10:36:30 +02:00
Ole Jørgen Brønner
cdc40e82f6
Some comments on window positioning
2017-09-18 20:07:19 +02:00
Tor Hedin Brønner
6ca2e102b1
Make fresh workspaces work better
...
When there's enough screen width to fit all windows, make them share the
available space evenly.
NOTES:
This does NOT set the currently ensuring window, and does an ugly early return.
2017-09-18 19:54:31 +02:00
Tor Hedin Brønner
e0b37b62e6
Remove obsolete global variable overlap
2017-09-18 18:57:34 +02:00
Ole Jørgen Brønner
458a1e5a9f
Don't wrap around in PreviewedWindowNavigator
2017-09-18 17:21:45 +02:00
Ole Jørgen Brønner
7a215149cf
Debug utils: print stacktrace and allow mulitlines debug messages
...
Encode newlines using non-breaking space.
Don't unconditionally encode newlines though since it the debug script must be
used to decode them.
2017-09-18 12:13:44 +02:00
Ole Jørgen Brønner
e0381329fc
Disable debugging messages from PreviewedWindowNavigator
...
Change the debug filter to allow exclusion, not just inclusion.
2017-09-18 10:20:38 +02:00
Tor Hedin Brønner
3f880f0d35
Don't tile NORMAL transient windows
2017-09-18 09:58:45 +02:00
Ole Jørgen Brønner
007492e600
Bugfix: PreviewedWindowNavigator ensured wrong window sometimes
...
To reproduce:
- activate the popup
- move the pointer over an entry
- use the keyboard to select another entry
On modifier release the keyboard-selected window get focus, but the mouse/pointer
hovered window is ensured.
Not sure why item-enter (hover) is triggered since the pointer already has
entered that item, but this is a workaround. Even if the pointer was required to
move the situation could probably be triggered by actually moving the pointer
while releasing the modifier key.
2017-09-18 09:45:29 +02:00