Ryan Dwyer
9253278328
Restore focus when unmapping layer shell surfaces
2018-06-04 11:31:07 +10:00
Ryan Dwyer
74799937cf
Restore focus when unmapping unmanaged xwayland surfaces
2018-06-04 11:30:26 +10:00
emersion
0549fd027b
Merge pull request #2087 from RedSoxFan/output-subcommand
...
Refactor cmd_output to use config_subcommand
2018-06-03 18:48:00 +01:00
emersion
6d0ad6a1ed
Merge pull request #2099 from RyanDwyer/fix-seat-get-active-child
...
Fix seat_get_active_child
2018-06-03 18:46:48 +01:00
Brian Ashworth
51fa988be9
Address review comments for output subcommands
2018-06-03 10:29:00 -04:00
Brian Ashworth
5ea4a4d3ee
Refactor cmd_output to use config_subcommand
2018-06-03 10:26:06 -04:00
Ryan Dwyer
d02e9aa4bc
Fix initial workspace orientation on a rotated output
2018-06-03 23:39:09 +10:00
Ryan Dwyer
57e78414fa
Fix seat_get_active_child
...
seat_get_active_child is used for tabbed and stacked containers to get
the active child. The previous implementation used seat_get_focus_inactive
then ascended the tree to the child of the tabbed/stacked container, but
this fails when the workspace itself is stacked or tabbed and the most
recently active child is floating.
The new implementation takes a more simple approach, where it directly
scans the focus stack for the first immediate child which isn't the
floating container.
Fixes #2098 .
2018-06-03 22:31:54 +10:00
emersion
ebe0b668c9
Merge pull request #2093 from emersion/damage-debug
...
Add SWAY_DAMAGE_DEBUG
2018-06-03 10:31:19 +01:00
emersion
8e3d19aad2
Merge pull request #2096 from kupospelov/fix-title-update
...
Fix view title update order
2018-06-03 09:20:57 +01:00
Ryan Dwyer
8289e30308
Fix potential crash when destroying workspace
...
`_container_destroy` emits a destroy event, and any listener for this
event should have access to the full container, not a half destroyed
one.
`_container_destroy` also destroys the swayc, so we have to grab a
reference to the sway_workspace so we can free it afterwards.
This also fixes a memory leak where the floating container wasn't freed.
Fixes #2092 .
2018-06-03 10:28:24 +10:00
Konstantin Pospelov
e6baac4297
Fix view title update order
...
This commit fixes the function call order to make sure that the title
texture is updated using the relevant global font size.
2018-06-03 00:32:18 +03:00
emersion
55b855d867
Add SWAY_DAMAGE_DEBUG
...
Setting it to "rerender" will always re-render everything
regardless of the damaged region. Setting it to "highlight" will
clear the screen and render only damaged regions.
2018-06-02 21:57:34 +01:00
emersion
34bdf25bb5
Only send frame to visible surfaces when fullscreened
2018-06-02 20:56:33 +01:00
emersion
51eee3aecc
Schedule a frame even if damage is empty
2018-06-02 20:42:26 +01:00
Dominique Martinet
71ab13f1eb
sway/config: fix use-after-free for end of block
...
Introduced in 7c810dc344
2018-06-03 00:31:51 +09:00
Drew DeVault
df204b65d8
Merge pull request #2089 from emersion/send-frame-done-visible
...
Only send frame done to visible views
2018-06-02 08:13:01 -07:00
emersion
65845be802
Only send frame done to visible views
...
Also don't accumulate empty damage
2018-06-02 15:19:03 +01:00
Brian Ashworth
8bfa2def88
Address first round of review for generic blocks
2018-06-02 08:07:44 -04:00
Brian Ashworth
51bb9d8573
Support braces on next line for config blocks
2018-06-02 08:07:44 -04:00
Brian Ashworth
7c810dc344
Make command block implementation generic
2018-06-02 08:07:44 -04:00
emersion
2d480e754e
Merge pull request #2080 from frsfnrrg/keyboard-remodeling
...
Reduce work duplication in keyboard and binding code
2018-06-02 09:18:07 +01:00
Ryan Dwyer
3f1cfd547e
Fix top border when a view is initially floating
...
Fixes #2085 .
2018-06-02 11:45:16 +10:00
frsfnrrg
78b7b46895
Style fix, redundant entry removal, fix extra keysym delete
2018-06-01 18:52:36 -04:00
frsfnrrg
480f0c593c
Rename update_shortcut_model to update_shortcut_state
2018-06-01 18:52:36 -04:00
frsfnrrg
83d559dd03
Rename check_shortcut_model to get_active_binding
2018-06-01 18:52:36 -04:00
frsfnrrg
c53e4e6cde
Style fixed for keyboard.c
2018-06-01 18:52:36 -04:00
frsfnrrg
eb00edc6e2
Style fixes for bind.c
2018-06-01 18:52:36 -04:00
frsfnrrg
f2fe93d171
Remove almost-always redundant loop in key handling
2018-06-01 18:52:36 -04:00
frsfnrrg
705230a26c
Fix binding bindcode flag initialization
2018-06-01 18:52:36 -04:00
frsfnrrg
a056419ad7
Rewrite shortcut handling code to avoid hardcoded values
...
The same shortcut algorithm is now used for keycodes,
raw keysyms, and translated keysyms. Pressed keysyms
are now stored in association with the keycodes that
generated them. Modifier keycodes (and associated
keysyms) are identified retroactively by the subsequent
change to the modifier flags.
2018-06-01 18:52:36 -04:00
frsfnrrg
f5ed65e633
Use XKB keycode numbering for bindcode
2018-06-01 18:52:36 -04:00
frsfnrrg
d77681ea3d
Share common code between bindsym and bindcode commands
2018-06-01 18:52:36 -04:00
Drew DeVault
96446fdbf7
Merge pull request #2027 from RyanDwyer/implement-floating
...
Implement floating
2018-06-01 15:41:49 -07:00
Brian Ashworth
edf37f27e1
Fix cmd_workspace crash when a surface has focus
2018-06-01 14:07:55 -04:00
Ryan Dwyer
70c2c50445
Fix changing borders on floating views
2018-06-01 23:14:58 +10:00
Ryan Dwyer
d466b8fa7b
Don't auto float xdg views if their dimensions are not set
2018-06-01 23:14:58 +10:00
Ryan Dwyer
a2c1cb9072
Fix mpv damage issue when unfullscreening into floating
2018-06-01 23:14:58 +10:00
Ryan Dwyer
c9e3a313b4
Fix fullscreen position of xwayland views
2018-06-01 23:14:58 +10:00
Ryan Dwyer
00cac22038
Fix crash when using multiple outputs
2018-06-01 23:14:58 +10:00
Drew DeVault
e605dc43bb
Fix mouse warping interaction with layout coords
2018-06-01 23:14:58 +10:00
Ryan Dwyer
c9f8d35ca9
Consider floating views when calculating title height
2018-06-01 23:14:58 +10:00
Ryan Dwyer
9119f87655
Fix floating position when view is floated when mapped
2018-06-01 23:14:58 +10:00
Ryan Dwyer
f7cadf2333
Adjust move command to account for changed coordinate system
2018-06-01 23:14:58 +10:00
Ryan Dwyer
f24087d104
Fix fullscreen position
2018-06-01 23:14:58 +10:00
Ryan Dwyer
97672295ed
Don't unmaximize floating views
2018-06-01 23:14:58 +10:00
Ryan Dwyer
40af5d81a1
Fix getting adjacent output
2018-06-01 23:14:58 +10:00
Ryan Dwyer
becceafa7f
Remove unfinished wants_floating implementation for xwayland
2018-06-01 23:14:58 +10:00
Ryan Dwyer
5b1601c2e3
Don't let xwayland views set position unless unmanaged
2018-06-01 23:14:58 +10:00
Ryan Dwyer
02d385e06f
Use swayc rather than wlr_output when rendering
2018-06-01 23:14:58 +10:00
Ryan Dwyer
3b1db30a5e
Use surface size if xdg shell's geometry isn't set
2018-06-01 23:14:58 +10:00
Ryan Dwyer
4371c746e4
Implement wants_floating for xdg_shell and xdg_shell_v6
2018-06-01 23:14:58 +10:00
Ryan Dwyer
d4ed204d4d
Remove container_self_or_parent_floating
2018-06-01 23:14:58 +10:00
Ryan Dwyer
70f5d6fcf3
Rename container_set_geometry_from_view
2018-06-01 23:14:58 +10:00
Ryan Dwyer
3281574fa3
Remove check for if floating view intersects output
2018-06-01 23:14:58 +10:00
Ryan Dwyer
7d2b33a458
Render floating views before top layer and unmanaged
2018-06-01 23:14:58 +10:00
Ryan Dwyer
e4e912ea91
Store swayc coordinates as layout-local
2018-06-01 23:14:58 +10:00
Ryan Dwyer
00f6e179cd
Add L_FLOATING back to debug tree
2018-06-01 23:14:58 +10:00
Ryan Dwyer
02de2a6f65
Rename set_maximized functions to set_tiled
2018-06-01 23:14:58 +10:00
Ryan Dwyer
5d69a56209
Prevent splitting a floating view
2018-06-01 23:14:58 +10:00
Ryan Dwyer
dc83b158e1
Fix issues with sticky containers and workspaces
...
* Attach sticky containers to new workspaces when switching
* Fire the close event *before* we start destroying the workspace to
prevent a crash
Because the sticky container now follows the visible workspace, this
simplifies the rendering and container_at logic.
2018-06-01 23:14:58 +10:00
Ryan Dwyer
13a4b0512e
Fix unfullscreening a floating view
2018-06-01 23:14:58 +10:00
Ryan Dwyer
754cb7944c
Respect view's border config for floating containers
2018-06-01 23:14:58 +10:00
Ryan Dwyer
aaba7642b3
Replace is_floating boolean with function
2018-06-01 23:14:58 +10:00
Ryan Dwyer
34f35f0bad
Use L_FLOATING instead of reapable boolean
2018-06-01 23:14:58 +10:00
Ryan Dwyer
1f2e399ade
Implement floating
2018-06-01 23:14:58 +10:00
Drew DeVault
1132efe42e
Send frame done to floating views
...
Also centers them on the screen when initially floated
In the future we'll need a more sophisticated solution than that
2018-06-01 23:14:58 +10:00
Drew DeVault
71db8de4be
Render floating views
2018-06-01 23:14:58 +10:00
Drew DeVault
f3ab895916
Implement floating enable
2018-06-01 23:14:58 +10:00
emersion
c47d6cb1c4
Merge pull request #2081 from RedSoxFan/fix-2077
...
Send reparent events in container_split
2018-06-01 10:36:47 +01:00
Brian Ashworth
8237d944d4
Fix move perpendicular segfault
2018-06-01 01:12:10 -04:00
Brian Ashworth
cca587b21f
Send reparent events in container_split
2018-05-31 23:47:21 -04:00
Brian Ashworth
e13c94f2dd
Fix typo
2018-05-31 12:07:54 -04:00
Brian Ashworth
633bee9019
Fix moving out of tab/stack when only child
2018-05-31 11:51:00 -04:00
Brian Ashworth
64225b1137
Send IPC layout of node itself
2018-05-29 21:45:18 -04:00
Brian Ashworth
3b90b55666
Notify of subtree change
2018-05-29 11:27:04 -04:00
Brian Ashworth
f5e44d4b2c
Fix layout in -t get_tree
2018-05-29 11:21:55 -04:00
Brian Ashworth
103a302fa4
Fix moving out of a tabbed/stacked workspace
2018-05-29 11:21:55 -04:00
Brian Ashworth
a66fd74a54
Fix breaking out of tabs/stacks
2018-05-29 11:21:55 -04:00
Ryan Dwyer
6f4cb2b29d
Add tree representation to IPC workspace description
2018-05-29 17:42:11 +10:00
Brian Ashworth
d76729af22
Implement config parser for workspace_layout
2018-05-28 22:55:06 -04:00
Brian Ashworth
205a1732cf
Force fullscreen views to be fully opaque
2018-05-28 13:55:38 -04:00
Brian Ashworth
c81d0ef1e8
Support i3's legacy force_focus_wrapping command
2018-05-28 11:09:46 -04:00
emersion
1071785f56
Merge pull request #2060 from RedSoxFan/focus-wrapping
...
Implement focus_wrapping
2018-05-28 10:30:11 +01:00
emersion
015878e5db
Merge pull request #2058 from RyanDwyer/refactor-parse-title-format
...
Refactor parse_title_format
2018-05-28 09:18:07 +01:00
Brian Ashworth
46da1dc32b
Implement focus_wrapping
2018-05-27 23:20:21 -04:00
Ryan Dwyer
7c7d24600b
Fix ancestor typos
2018-05-28 12:45:42 +10:00
Ryan Dwyer
9df1432f56
Refactor parse_title_format
...
Don't read properties until needed, and do it with less lines of code.
2018-05-28 12:03:43 +10:00
Drew DeVault
b2c0ba5b18
Merge pull request #2050 from smlx/focus-fix
...
Focus containers only on entry.
2018-05-27 15:42:39 -04:00
Drew DeVault
53a3fc63c5
Merge pull request #2055 from RedSoxFan/output-destroy-workspace-ipc
...
Send workspace::move in container_output_destroy
2018-05-27 15:42:08 -04:00
frsfnrrg
a78a5684ea
Implement bindsym/bindcode --locked
...
Adds the --locked flag to bindsym and bindcode commands.
When a keyboard's associated seat has an exclusive client
(i.e, a screenlocker), then bindings are only executed if
they have the locked flag. When there is no such client,
this restriction is lifted.
2018-05-27 13:28:02 -04:00
Scott Leggett
4d8120ccf3
Improve comment.
2018-05-28 02:35:24 +10:00
Brian Ashworth
fd137c4f05
Send workspace::move in container_output_destroy
2018-05-27 12:27:18 -04:00
Scott Leggett
b57f88e7db
Avoid assert on container type.
2018-05-28 02:25:42 +10:00
Scott Leggett
1b8de39287
Move previous cursor_position inline.
2018-05-28 02:14:19 +10:00
emersion
9c0cc98d07
Don't move empty workspaces when output is destroyed
2018-05-27 16:58:31 +01:00
Scott Leggett
d1ebbebea0
Remove unused function.
2018-05-28 01:38:46 +10:00
Scott Leggett
0039f7a4fd
Simplify logic, remove redundant variables.
2018-05-28 01:38:46 +10:00
Scott Leggett
dd86444e59
Rely on view_is_visible rather thank walking the tree ourselves.
2018-05-28 01:38:46 +10:00
Scott Leggett
4cd304e4ba
Store previous position in sway_cursor.
2018-05-28 01:37:43 +10:00