Commit graph

3735 commits

Author SHA1 Message Date
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
Ryan Dwyer
0b798ed954
Merge pull request #2115 from RedSoxFan/restore-workspaces
Restore workspaces to output when re-enabled
2018-06-09 08:43:57 +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
c65c84444e
Merge pull request #2121 from martinetd/swaylock-ctrl-u
swaylock: implement ^U to clear buffer
2018-06-08 16:03:50 +01:00
Dominique Martinet
c78ce0770a swaylock: implement ^U to clear buffer
The whole state->xcb.modifiers thing didn't work at all (always 0)
The xkb doc says "[xkb_state_serialize_mods] should not be used in
regular clients; please use the xkb_state_mod_*_is_active API instead"
so here it is
2018-06-08 22:42:15 +09: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
emersion
231c72a141
Merge pull request #2120 from martinetd/swayidle-zombies
Swayidle: doublefork to not leave zombies around
2018-06-08 14:41:22 +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
Dominique Martinet
2477930d90 swayidle: doublefork to not leave zombies around 2018-06-08 22:28:28 +09:00
emersion
bf6ca69ae8
Merge pull request #2118 from RedSoxFan/fix-2117
Remove strip quoting and fix strncpy-overlap
2018-06-08 08:55:29 +01: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
emersion
2e289831ee
Merge pull request #2108 from RedSoxFan/store-outputs
Allow outputs to be re-enabled
2018-06-07 19:26:55 +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
Ryan Dwyer
22c1c4beb4
Merge pull request #2116 from RedSoxFan/fix-2113
Fix focusing after splitting tabs/stacks
2018-06-07 09:47:37 +10: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
emersion
b1e72461cf
Merge pull request #2110 from smlx/initialise-cursor-previous
Initialise previous cursor position.
2018-06-06 12:10:00 +01: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
emersion
cac400a40b
Merge pull request #2107 from tobiasblass/remove_suspicious_return
Remove suspicious unconditional return
2018-06-05 23:59:52 +01: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
emersion
e410757fe8
Merge pull request #2106 from RedSoxFan/fix-2105
Fix movement crashes/issues
2018-06-05 08:44:16 +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
emersion
4bc88772ec
Merge pull request #2100 from RyanDwyer/fix-workspace-orientation
Fix initial workspace orientation on a rotated output
2018-06-03 18:46:26 +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
emersion
5c2ae9c600
Merge pull request #2097 from RyanDwyer/fix-workspace-segfault
Fix potential crash when destroying workspace
2018-06-03 09:20:22 +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