emersion
cfd02918c0
Render drag icons
2018-06-09 13:26:03 +01:00
emersion
88cd7616db
Fix compilation errors related to disabled outputs
2018-06-09 11:38:16 +01:00
Ryan Dwyer
bb66e6d578
Refactor everything that needs to arrange windows
...
* The arrange_foo functions are now replaced with arrange_and_commit, or
with manually created transactions and arrange_windows x2.
* The arrange functions are now only called from the highest level
functions rather than from both high level and low level functions.
* Due to the previous point, view_set_fullscreen_raw and
view_set_fullscreen are both merged into one function again.
* Floating and fullscreen are now working with transactions.
2018-06-09 10:11:25 +10:00
Ryan Dwyer
f9e6d703d2
Make main properties be the pending state
2018-06-09 10:08:43 +10:00
Ryan Dwyer
59c9488701
WIP: Atomic layout updates ground work
2018-06-09 10:08:43 +10:00
Brian Ashworth
e2b2fb0a0e
Switch restore workspaces to a nested for-loop
2018-06-08 13:08:00 -04:00
Brian Ashworth
5c9a917df9
Restore workspaces to outputs based on priority
2018-06-08 13:08:00 -04:00
emersion
acf71fe805
Merge pull request #2119 from martinetd/gcc-strtruncation
...
sway/criteria: gcc string truncation warning fix
2018-06-08 14:41:33 +01:00
Dominique Martinet
720313e185
sway/criteria: gcc string truncation warning fix
2018-06-08 22:30:13 +09:00
Dominique Martinet
d26a0a1a6e
sway exec command: use waitpid instead of wait
2018-06-08 22:28:28 +09:00
Brian Ashworth
212e4ef395
Remove strip quoting and fix strncpy-overlap
2018-06-07 20:37:08 -04:00
emersion
07bee8cffe
Merge pull request #2084 from RedSoxFan/runtime-var-expansion
...
Runtime variable expansion
2018-06-07 19:29:26 +01:00
Brian Ashworth
e072fbc6d9
Switch output storing from list_t to wl_list
2018-06-06 20:11:24 -04:00
Brian Ashworth
a0bbe67076
Address emersions comments on output re-enabling
2018-06-06 20:11:24 -04:00
Brian Ashworth
a1b5b93d29
Store sway_outputs so that they can be reenabled
2018-06-06 20:11:24 -04:00
Brian Ashworth
82b3b587dd
Remove tab/stack check for focusing after a split
2018-06-06 19:38:38 -04:00
Brian Ashworth
e7261e2917
Fix focusing after splitting tabs/stacks
2018-06-06 16:41:19 -04:00
Scott Leggett
609c420501
Initialise previous cursor position.
...
Fix the problem with focus jumping to the container under the cursor
when first starting sway.
2018-06-06 20:45:02 +10:00
Tobias Blass
d6d292897f
Remove suspicious unconditional return
...
This return effectively disables the log_kernel function
2018-06-05 23:27:35 +02:00
Brian Ashworth
f4870d5432
Fix logic issue in do_var_replacement
2018-06-05 10:08:00 -04:00
Brian Ashworth
067fe9d047
Support runtime var expansion and set at runtime
2018-06-05 10:08:00 -04:00
emersion
0f71547032
Merge pull request #2095 from emersion/fullscreen-damage-only-visible
...
Only send frame to visible surfaces when fullscreened
2018-06-05 11:18:52 +01:00
emersion
6b9ffbad20
Merge pull request #2103 from RyanDwyer/focus-fixes
...
Focus fixes
2018-06-05 08:44:53 +01:00
Brian Ashworth
9aaac8b8c8
Fix movement crashes/issues
2018-06-05 01:13:27 -04:00
Ryan Dwyer
1206a60977
Don't restore focus if unmapping surface wasn't focused
2018-06-04 13:31:09 +10:00
Ryan Dwyer
bcdb676abb
Don't set focus to NULL when clicking a surface which has no container
2018-06-04 11:31:25 +10:00
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
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
Ryan Dwyer
c4ea2b51f6
Fix hide_edge_borders constraints
...
When checking if a border is on the edge, the check should be done
against the workspace rather than the output.
2018-05-21 13:59:01 +10:00
Brian Ashworth
82cd55a670
Fix border commands from changing focus
2018-05-20 23:12:33 -04:00
Drew DeVault
cf3ab1f45f
Merge pull request #2007 from swaywm/fix-focus-follows-mouse
...
Fix focus_follows_mouse over swaybar
2018-05-20 16:05:53 -04:00
Drew DeVault
a3d3c819cf
Fix focus_follows_mouse over swaybar
...
If you moved your mouse over swaybar (e.g. to scroll between
workspaces), focus would move to the workspace. This is not the right
thing to do. The solution is complicated by the fact that if you move
your mouse into a new output with an empty workspace, that workspace
_should_ receive focus.
2018-05-20 14:46:29 -04:00
Brian Ashworth
750a497a8b
Pre-multiply alpha for non-textures
2018-05-20 09:33:47 -04:00
Konstantin Pospelov
fcc11f9771
Fix pixel bar below title
...
This commit changes how the left and right indents are calculated for the
title bottom pixel bar, so that it is displayed properly in case the left or
right border is hidden.
2018-05-19 18:39:01 +03:00
Ryan Dwyer
9fd28aea8c
Rebuild textures if needed when moving a container
...
When moving a container to an output which has a different scale than
the previous, rebuild the title and marks textures at the new scale.
Fixes #1999 .
2018-05-19 23:33:36 +10:00
Ryan Dwyer
f0212d66ee
Update marks textures on output scale event
2018-05-17 08:29:14 +10:00
Ryan Dwyer
ebb0d051db
Fix many border opacity issues
2018-05-17 08:29:14 +10:00
Ryan Dwyer
b1645fb352
Update show_marks documentation
2018-05-17 08:29:14 +10:00
Ryan Dwyer
69ac7f73e7
Destroy marks textures when view destroyed
2018-05-17 08:29:14 +10:00
Ryan Dwyer
b351d0a64a
Set textures to null when destroying
2018-05-17 08:29:14 +10:00
Ryan Dwyer
5384fdcbc6
Don't show marks which start with an underscore
2018-05-17 08:29:14 +10:00
Ryan Dwyer
0e2cc0af30
Implement show_marks
2018-05-17 08:29:14 +10:00
Ryan Dwyer
fc96f004d2
Don't steal focus when a view changes its title
...
Fixes #1989
2018-05-16 20:29:04 +10:00
Dominique Martinet
89ae1792b5
sway: run commands without waiting for Xwayland
...
Xwayland is lazy now, there is no need to wait at all
2018-05-16 16:50:56 +09:00
emersion
79e970d86e
Correctly clip title texture if necessary
2018-05-15 08:38:28 +01:00
Ryan Dwyer
4d1edfcba9
Change unmark implemention to match i3's
2018-05-15 11:24:16 +10:00
Ryan Dwyer
22d38600d0
Implement marks
2018-05-15 11:18:27 +10:00
Brian Ashworth
9ba0dca7ba
Merge branch 'master' into fix-1975
2018-05-14 09:06:23 -04:00
Brian Ashworth
77b42ec821
Always render top border for border normal
2018-05-14 09:04:18 -04:00
emersion
95a10dd4f3
Kill wl_shell
2018-05-14 13:26:10 +01:00
Brian Ashworth
3488fbc859
Fix y and height for a hidden top normal border
2018-05-14 01:46:53 -04:00
Brian Ashworth
34b864fb17
Merge branch 'master' into fix-1975
2018-05-14 00:28:21 -04:00
Brian Ashworth
6ff7c52736
Fix titles and detect edges for hide_edge_borders
2018-05-14 00:20:34 -04:00
Ryan Dwyer
92b8497a0b
Fix crash when launching programs from dmenu
2018-05-14 11:48:15 +10:00
Ryan Dwyer
8432d8a15e
xdg_shell: Replace get_prop with get_string_prop
2018-05-14 11:47:39 +10:00
Ryan Dwyer
490f92255c
Initialise error_arg to NULL in criteria_parse
2018-05-14 11:38:09 +10:00
Ryan Dwyer
39007fc30f
Fix double free in criteria
2018-05-14 11:38:09 +10:00
Ryan Dwyer
bffcb496cc
Revert "Revert "Merge pull request #1953 from RyanDwyer/criteria-focused""
...
This reverts commit ac0e62584f
.
This reimplements the criteria __focused__ commit in preparation for
fixing a known bug.
2018-05-14 11:38:09 +10:00
Ryan Dwyer
1e9aaa54a8
Revert "Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements""
...
This reverts commit 32a572cecf
.
This reimplements the criteria overhaul in preparation for fixing a
known bug.
2018-05-14 11:38:09 +10:00
Drew DeVault
404d006a1c
Enable lazy xwayland
2018-05-13 14:18:07 -04:00
Drew DeVault
b2dec12368
Merge pull request #1970 from emersion/xdg-shell-stable
...
Add xdg-shell stable support
2018-05-13 13:45:15 -04:00
emersion
88d9d43b36
Add xdg-shell stable support
2018-05-13 16:38:56 +01:00
Heghedus Razvan
789a877b37
Fix crash when using pango markup font
...
The characters & < > ' " needs to be escaped when using pango markup
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-05-13 17:53:45 +03:00
Drew DeVault
61aa0937a7
Merge pull request #1824 from snaggen/idle
...
DPMS and lock handling
2018-05-13 10:11:10 -04:00
Ryan Dwyer
90e6dfa268
Merge branch 'master' into edge-borders
2018-05-13 11:45:11 +10:00
Brian Ashworth
0f43eac5dc
Fix recursion when counting descendants of a type
2018-05-12 21:19:55 -04:00
Mattias Eriksson
8fbafbfab5
Idle handling for dpms/lockscreen et al
...
Swayidle handles idle events and allows
for dpms and lockscreen handling. It also
handles systemd sleep events, and can
raise a lockscreen on sleep
Fixes #541
2018-05-13 00:30:09 +02:00
emersion
360e63b8a7
Don't destroy view child on xdg-popup unmap
2018-05-12 19:33:38 +01:00
Brian Ashworth
2adf23c2a3
Only count views for hide_edge_borders smart
2018-05-12 12:56:26 -04:00
Brian Ashworth
ec60e24f75
Merge branch 'master' into edge-borders
2018-05-12 12:43:34 -04:00
Brian Ashworth
e3625d8f33
Count descendant views for hide_edge_borders smart
2018-05-12 12:37:48 -04:00
Drew DeVault
e2b8eac4bf
Merge branch 'master' into wlroots-970
2018-05-12 09:30:00 -04:00
Drew DeVault
2da685e913
Merge remote-tracking branch 'origin/master' into scdoc
2018-05-12 09:01:16 -04:00
Drew DeVault
51b0b25587
Merge pull request #1959 from RyanDwyer/ipc-get-seats
...
Implement IPC get_seats command
2018-05-12 09:00:32 -04:00
Drew DeVault
a2d7079b26
Merge branch 'master' into scdoc
2018-05-12 08:59:25 -04:00
Drew DeVault
da679a8051
Fix typos
2018-05-12 08:58:48 -04:00
emersion
50298dc901
Send pointer discrete axis values and source
...
Update for swaywm/wlroots#970
2018-05-12 13:56:17 +01:00
Drew DeVault
32a572cecf
Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements"
...
This reverts commit 3e1bf721c6
, reversing
changes made to 2217518bd5
.
2018-05-12 08:52:54 -04:00
Drew DeVault
ac0e62584f
Revert "Merge pull request #1953 from RyanDwyer/criteria-focused"
...
This reverts commit 2511adffc2
, reversing
changes made to 3e1bf721c6
.
2018-05-12 08:52:48 -04:00
Ryan Dwyer
c72940837c
Implement IPC get_seats command
2018-05-12 18:17:36 +10:00
Ryan Dwyer
4717c71da5
Merge branch 'master' into fix-crash-on-fullscreen
2018-05-12 17:52:51 +10:00
Ryan Dwyer
94e42f9857
Implement __focused__ criteria
2018-05-12 12:34:12 +10:00
Drew DeVault
7a964651fb
Remove sway-security(7)
...
We will need to overhaul this for 1.0
2018-05-11 21:31:59 -04:00
Drew DeVault
d9a08b7a9d
Add sway-input(5)
2018-05-11 21:25:05 -04:00
Drew DeVault
1813482266
Add sway-bar(5)
2018-05-11 21:13:43 -04:00
Drew DeVault
432256ad84
Add sway(5)
2018-05-11 21:03:43 -04:00
Drew DeVault
c2a7d367af
Wire up scdoc and rewrite sway(1)
2018-05-11 20:58:38 -04:00
Drew DeVault
3e1bf721c6
Merge pull request #1943 from RyanDwyer/criteria-improvements
...
Overhaul criteria implementation
2018-05-11 20:39:43 -04:00
Brian Ashworth
3db7fc2bb2
Implement hide_edge_borders
2018-05-11 18:44:56 -04:00
Dudemanguy911
935bda0f33
fix crash on fullscreen toggle
2018-05-11 07:42:56 -05:00
Drew DeVault
2217518bd5
Merge pull request #1956 from ggreer/move-focus
...
cmd_move_container: Focus a window on the source workspace.
2018-05-11 07:34:14 -04:00
Geoff Greer
87fa84df13
cmd_move_container: Focus a window on the source workspace.
...
In Sway 0.15, moving a window to another workspace would cause a window on the source workspace to be focused. This restores that behavior, allowing you to quickly move a lot of windows to another workspace.
2018-05-10 23:44:35 -07:00
Geoff Greer
0a79983f94
Allow setting border widths for normal borders using default_border.
...
In Sway 0.15, `default_border normal 1` would set 1px wide borders. This recreates that behavior.
2018-05-10 23:35:37 -07:00
Ryan Dwyer
8595fc5a6f
Update criteria documentation
2018-05-11 10:43:10 +10:00
Ryan Dwyer
0bf0a4fa40
Don't unescape \\ in criteria
2018-05-11 10:42:24 +10:00
Ryan Dwyer
3b0c26d149
Overhaul criteria implementation
...
The criteria struct now uses properties for each token type rather than
the list_t list of tokens. The reason for this is that different token
types have different data types: pcre, string and number to name a few.
This solution should be more flexible moving forward. A bonus of this is
that criteria is now easier to understand when looking at the struct
definition.
The criteria parser has been rewritten because the previous one didn't
support valueless pairs (eg. [class="foo" floating]).
Criteria now has types. Types at the moment are CT_COMMAND,
CT_ASSIGN_WORKSPACE and CT_ASSIGN_OUTPUT. i3 uses types as well.
Previously the assign command was creating a criteria with 'move to
workspace <name>' as its command, but this caused the window to appear
briefly on the focused workspace before being moved to the assigned
workspace. It now creates the view directly in the assigned workspace.
Each view will only execute a given criteria once. This is achieved by
storing a list of executed criteria in the view. This is the same
strategy used by i3.
Escaping now works properly. Previously you could do things like
[class="Fire\"fox"] and the stored value would be 'Fire\"fox', but it
should be (and now is) 'Fire"fox'.
The public functions in criteria.c are now all prefixed with criteria_.
Xwayland views now listen to the set_title, set_class and
set_window_type events and criteria will be run when these happen. XDG
shell has none of these events so it continues to update the title in
handle_commit.
Each view type's get_prop function has been split into get_string_prop
and get_int_prop because some properties like the X11 window ID and
window type are numeric.
The following new criteria tokens are now supported:
* id (X11 window ID)
* instance
* tiling
* workspace
2018-05-11 09:38:53 +10:00
Ryan Dwyer
83e314bf51
Highlight all child borders when using focus parent
2018-05-11 09:20:46 +10:00
emersion
44fcc06efd
Fix damage tracking on HiDPI
2018-05-10 23:22:00 +01:00
emersion
90614f3a63
Accumulate surface damage even if whole=true
2018-05-10 23:03:51 +01:00
emersion
c0f5d740a5
Damage container when updating title
2018-05-10 23:03:51 +01:00
emersion
70b80b4698
Damage container on focus
2018-05-10 23:03:50 +01:00
emersion
bec80f1551
Damage borders when damaging view
2018-05-10 23:03:50 +01:00
emersion
98f7ee8f59
Render borders with damage
2018-05-10 23:03:50 +01:00
emersion
c8a9ea3903
Implement full damage tracking
2018-05-10 23:02:37 +01:00
Drew DeVault
3bab37858a
Merge pull request #1932 from emersion/fix-layer-shell-exclusive
...
layer-shell: use usable_area when arranging non-exclusive layer surfaces
2018-05-10 08:19:03 -04:00
Ryan Dwyer
497793b5b7
Use reasonable default for font height
...
Fixes #1949
2018-05-10 21:24:00 +10:00
emersion
3d29e73e72
layer-shell: use usable_area when arranging non-exclusive layer surfaces
2018-05-10 12:19:38 +01:00
Dan Robertson
4ebd6f3507
Fix null deref in server_init
...
If the backend fails to be created, log an error and immidiately return
from server_init.
2018-05-09 16:32:55 +00:00
Ryan Dwyer
4922d269b8
Fix titles on rotated outputs
...
If the output is rotated, the scissor box needs to be transformed in the
opposite rotation.
2018-05-09 16:41:54 +10:00
Vincent Vanlaer
95dac2a069
Update xwayland start for new API
...
https://github.com/swaywm/wlroots/pull/959
2018-05-07 14:23:44 +02:00
Rostislav Pehlivanov
b592351eef
Revert "exec_always: Search for executables in /usr/lib/sway"
...
This reverts commit 7709340727
.
2018-05-06 00:20:49 +01:00
Rostislav Pehlivanov
2c0c3dc7cc
Revert "Make the LIBDIR path configurable"
...
This reverts commit 1670b46bf6
.
2018-05-06 00:19:52 +01:00
Rostislav Pehlivanov
0cdc47ab1e
Revert "Meson: Replace option instlibdir
with libexecdir
"
...
This reverts commit 830c4ef74c
.
2018-05-06 00:19:43 +01:00
Rostislav Pehlivanov
cf602687c6
Revert "command/exec_always: Use wlr_log for logging errors in the child process"
...
This reverts commit 177c67e6b8
.
2018-05-06 00:19:29 +01:00
Ryan Dwyer
556ff5f50e
Implement pango support
...
Implements support for the pango: prefix in the font command.
Closes #1903 .
2018-05-06 08:25:22 +10:00
Ryan Dwyer
1daf69477e
Fix PATH setenv() in exec_always
2018-05-06 08:16:34 +10:00
emersion
786727d8bb
Merge branch 'master' into usr-lib
2018-05-05 20:03:46 +01:00
Nicolas Braud-Santoni
177c67e6b8
command/exec_always: Use wlr_log for logging errors in the child process
2018-05-05 17:22:46 +02:00
Nicolas Braud-Santoni
830c4ef74c
Meson: Replace option instlibdir
with libexecdir
...
Derive a value from it, called `rundir` rather than writing join_paths(libexecdir,
'sway') all over the place.
2018-05-05 17:22:46 +02:00
Nicolas Braud-Santoni
1670b46bf6
Make the LIBDIR path configurable
2018-05-05 17:22:46 +02:00
Nicolas Braud-Santoni
7709340727
exec_always: Search for executables in /usr/lib/sway
2018-05-05 17:22:46 +02:00
Ryan Dwyer
936226845f
Add extra check for view title being NULL
2018-05-05 22:29:37 +10:00
Ryan Dwyer
5d6d24e71a
Move code for re-arranging after font height change into a common place
2018-05-05 22:29:37 +10:00
Ryan Dwyer
da7d6642d3
Refactor parse_title_format()
2018-05-05 22:29:37 +10:00
Ryan Dwyer
d10a0a8c41
Fix memory leak in title_format command
2018-05-05 22:29:37 +10:00
Ryan Dwyer
228c478e8d
Implement title_format
...
This implements the title_format command, with a new placeholder %shell
which gets substituted with the view type (xwayland, xdg_shell_v6 or
wl_shell).
Example config:
for_window [title=".*"] title_format %title (class=%class instance=%instance shell=%shell)
2018-05-05 22:29:37 +10:00
Ryan Dwyer
e83e5487be
Use scissor to render title texture
...
This allows the title's texture to always be the full width of the text,
and clipped at render time according to the desired width (eg. tabs...).
As an added bonus, the texture no longer needs to be updated when
containers are arranged.
2018-05-05 20:32:31 +10:00
Alex Xu (Hello71)
3202c45054
Check for NULL in container_update_title
...
Fixes crash when opening Firefox developer tools.
2018-05-04 11:10:01 -04:00
Drew DeVault
029c9b1796
Merge pull request #1907 from emersion/backend-input-mapping
...
Default to backend-wise input device mapping, if any
2018-05-03 10:46:02 -04:00
Drew DeVault
d233e75eec
Hide cursor on touch down
2018-05-03 10:39:34 -04:00
Drew DeVault
00e62c214d
Fix alphabetization of command list
2018-05-03 09:24:13 -04:00
emersion
424006089e
Default to backend-wise input device mapping, if any
2018-05-03 14:16:17 +01:00
emersion
29224e7aec
Fix segfault when running the resize command without arguments
2018-05-03 14:04:39 +01:00
Ryan Dwyer
ed0d606c2a
Fix title texture width
...
Use max of the container width or text width.
2018-05-03 22:51:14 +10:00
Drew DeVault
85396b90fb
Fix unfocused.text default
2018-05-03 08:22:16 -04:00
Drew DeVault
58a033d816
Convert border_colors.text to float[4]
2018-05-03 08:14:17 -04:00
Drew DeVault
8f06aa7598
Fix anti-aliasing
2018-05-03 08:12:26 -04:00
Ryan Dwyer
74d1367fac
Update titles when surfaces are committed
2018-05-03 15:42:49 +10:00
Ryan Dwyer
89d1571041
Fix potential segfault when setting container title
2018-05-03 15:23:39 +10:00
Ryan Dwyer
55b307cddf
Calculate config->font_height based on existing container titles
2018-05-03 15:12:00 +10:00
Ryan Dwyer
b667298a0a
Render titles
2018-05-03 15:12:00 +10:00
Drew DeVault
52aa245b24
Implement basic touch support
...
This required changing container_at_cursor to container_at_coords so
that we could get the appropriate surface (and sx/xy) without moving the
cursor.
Future work:
- Simulate a cursor for clients which have not bound to wl_touch
- Keep sending motion events when moving outside the surface (#1892 )
- Bind gestures to sway commands
2018-05-02 09:00:26 -04:00
Dillen Meijboom
b45e2bd95e
Fixed #1888 GCC cannot compile due to uninitialized variables ( #1889 )
2018-05-02 10:40:45 +01:00
Ryan Dwyer
daab8e3503
Support alpha in border colours
...
The alpha component is merged with the container's opacity.
Completes #1882 .
2018-05-02 08:40:38 +10:00
db
22170bde77
Fix layer surface crash on output destroy
...
Before freeing sway_output, NULL the wlr_output reference to it. Check for that
NULL in layer_shell handle_destroy. Don't damage null container in unmap.
Additionaly, terminate swaybg if its output is being disabled.
2018-05-01 19:05:32 +02:00
Ryan Dwyer
cb07434913
Remove unnecessary pointers
2018-05-01 22:48:57 +10:00
Ryan Dwyer
51df1d4ff8
Update cursor when border is changed
2018-05-01 22:42:08 +10:00
Drew DeVault
7f574c538d
Fix alphabetization of commands array
2018-05-01 07:46:57 -04:00
Ryan Dwyer
83952c5201
Restore view_update_position()
2018-05-01 07:46:57 -04:00
Ryan Dwyer
55577498c0
Allow clicking view decorations to focus view
2018-05-01 07:46:57 -04:00
Ryan Dwyer
700510b45e
Implement indicator border
2018-05-01 07:46:57 -04:00
Ryan Dwyer
ed9e2015b2
Scale borders according to output scale
2018-05-01 07:46:57 -04:00
Ryan Dwyer
0375f966f1
Fix surface offset when using borders
2018-05-01 07:46:57 -04:00
Ryan Dwyer
fa5de2876e
Move docblock and fix indenting of switch/case.
2018-05-01 07:46:57 -04:00
Ryan Dwyer
630ba30e3c
Implement borders
...
Implements rendering of borders. Title text is still to do.
Implements the following configuration directives:
* client.focused
* client.focused_inactive
* client.unfocused
* client.urgent
* border
* default_border
2018-05-01 07:46:57 -04:00
Ryan Dwyer
91f97fc21a
Fix segfault in view_unmap()
...
If the last remaining view on a workspace is unmapped and the workspace
is not visible, parent will be a C_OUTPUT. Call the arrange_output()
function in this case.
2018-05-01 17:18:20 +10:00
Ryan Dwyer
312fdf313f
Remove arrange_windows()
...
After the refactor, this function is no longer called.
2018-04-30 08:47:38 +10:00