Commit graph

2136 commits

Author SHA1 Message Date
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
Ryan Dwyer
8fda41dab5
Merge branch 'master' into cmd-swap 2018-05-28 00:14:22 +10:00
Drew DeVault
a372852c44
Merge branch 'master' into xdg-shell-tiled 2018-05-27 08:58:10 -04:00
emersion
b350e8ec82
xdg-shell: make all toplevels tiled 2018-05-27 13:28:37 +01:00
Ryan Dwyer
d3dd7e5bae Rename view_get_type to view_get_shell 2018-05-27 22:02:00 +10:00
Ryan Dwyer
484cc189e9 Add shell criteria token
Closes #2044.
2018-05-27 22:02:00 +10:00
Scott Leggett
06098bef98 Focus containers only on entry. 2018-05-27 15:29:48 +10:00
Ryan Dwyer
51865c00c8 Add %app_id to title_format 2018-05-27 09:50:38 +10:00
Brian Ashworth
569f4e0e4c Implement swap command 2018-05-26 11:05:02 -04:00
Drew DeVault
fea654a6ce Replace oft-failing abort with if statement
Fixes #2045
2018-05-26 10:35:15 -04:00
Ivan Chebykin
464ec44b00
Check for next_focus before assert 2018-05-26 15:54:49 +03:00
Ivan Chebykin
6e6b0decd9
Fix usage of sway_assert 2018-05-26 15:51:36 +03:00
Ivan Chebykin
820a8c9c2d
Moved visibility check of of loop, added asserts 2018-05-26 13:34:14 +03:00
Ivan Chebykin
740234a4bc
Break after first tabbed/stacked layout 2018-05-25 17:45:41 +03:00
Ivan Chebykin
53516fa03f
Fix mouse focusing for horizontal/vertical views in tabbed containers 2018-05-25 17:22:25 +03:00
Ivan Chebykin
f85d3e15ba
Fixed styling issues 2018-05-25 16:54:43 +03:00
Ivan Chebykin
e19fe56e2f
Focus inactive container instead of checking cursor position 2018-05-25 16:54:43 +03:00
Ivan Chebykin
3b67253312
Skip all nested containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin
c62efbb5ce
Implement correct focusing for tabbed containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin
c1be4b0153
Fix focusing from other containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin
87af08966a
Don't focus tabbed and stacked containers on mouseover 2018-05-25 16:54:43 +03:00
emersion
24832d8574
Update for swaywm/wlroots#1000 2018-05-25 13:55:47 +01:00
emersion
01abab8838
Merge pull request #2017 from emersion/wlroots-993
Update for swaywm/wlroots#993
2018-05-25 13:54:54 +01:00
Drew DeVault
ab74c95d56
Merge pull request #2036 from RyanDwyer/workspace-switch-on-map
Switch workspace if required when mapping a view
2018-05-25 08:47:08 -04:00
Drew DeVault
daf328d054
Merge pull request #2033 from RyanDwyer/arrange-after-flatten
Arrange views after flattening the parent
2018-05-25 08:43:57 -04:00
Drew DeVault
a268a0c2ae
Merge pull request #2034 from RyanDwyer/cleanup-container-titles
Clean up container title functions
2018-05-25 08:41:01 -04:00
Ryan Dwyer
f32a002401 Switch workspace if required when mapping a view
If a view is created on a workspace that wasn't visible, switch to it.

Fixes #1879.
2018-05-25 22:28:01 +10:00
Ryan Dwyer
e496cc99f8 Fix focus bug when moving between outputs
When moving focus left or right to an adjacent output, only select the
first or last child in the new workspace if the workspace's layout is
horizontalish. If it's a verticalish layout, use the last focused
container.
2018-05-25 21:39:48 +10:00
Ryan Dwyer
db38b9bbf3 Clean up container title functions
* Add and use lenient_strcat and lenient_strncat functions
* Rename `concatenate_child_titles` function as that's no longer what it
does
* Rename `container_notify_child_title_changed` because we only need to
notify that the tree structure has changed, not titles
* Don't notify parents when a child changes its title
* Update ancestor titles when changing a container's layout
	* Eg. create nested tabs and change the inner container to stacking
* No need to store tree presentation in both container->name and
formatted_title
2018-05-25 21:07:59 +10:00
Ryan Dwyer
320703fdca Arrange views after flattening the parent
Fixes #2029.
2018-05-25 16:42:55 +10:00
Ryan Dwyer
c9630975da Fix crash in move workspace to output command
Fixes #2026.
2018-05-24 23:01:17 +10:00
Ryan Dwyer
cdbae9a5e9 Fix nested tabs
Fixes #2023.
2018-05-24 17:38:31 +10:00
Brian Ashworth
a6d43ff746 Implement IPC_GET_MARKS 2018-05-22 17:35:39 -04:00
Ryan Dwyer
5354988317 Implement clicking stacked title bars 2018-05-22 08:43:00 +10:00
Ryan Dwyer
f6c3682c05 Use constants for titlebar dimensions 2018-05-22 08:27:42 +10:00
Ryan Dwyer
664169fbf1 Implement stacked layout 2018-05-22 08:27:24 +10:00
Drew DeVault
8bbf78fdd4 Fix focus follows mouse with no focus 2018-05-21 17:21:01 -04:00
emersion
708ff238f3
Update for swaywm/wlroots#993 2018-05-21 19:11:20 +01:00
Brian Ashworth
0273c6438c Fix hide_edge_borders smart for tabs and stacks 2018-05-21 13:18:18 -04:00
Ryan Dwyer
048b29527b Pre-multiply alpha for tab decorations 2018-05-21 20:16:56 +10:00
Ryan Dwyer
90607dc329 Add left/right borders to tabs 2018-05-21 20:16:56 +10:00
Ryan Dwyer
5ab4930185 Fix tab border issues 2018-05-21 20:16:56 +10:00
Ryan Dwyer
4672cb7ccf Use class or app_id in tree representation 2018-05-21 20:16:56 +10:00
Ryan Dwyer
efc07fb3d4 Don't track damage for views on inactive tabs 2018-05-21 20:16:56 +10:00
Ryan Dwyer
bd79584f65 Add assertion in container_at_view 2018-05-21 20:16:56 +10:00
Ryan Dwyer
c08f9bf257 Implement tabbed layout 2018-05-21 20:16:56 +10:00