Ryan Dwyer
93696b78ec
Fix crash when closing output window from outer session
...
Emitting the close event needs to happen before
container_output_destroy, because container_output_destroy sets the
sway_output to NULL and sway_output is used in IPC.
7 years ago
Ryan Dwyer
834805f5e2
Fix crash when disconnecting output
...
We were freeing the sway_output immediately upon disconnect which left
a dangling pointer in the output's container. It then tried to use the
pointer when the container is freed.
We don't need to store the sway_output in an output's container which is
destroying, so the fix is to set the pointer to NULL and remove the use
in container_free.
Also added an arrange when the output is disconnected for good measure.
7 years ago
Ryan Dwyer
50190bc760
Rename view's free callback to destroy
7 years ago
Ryan Dwyer
7a922c65aa
Damage output when a fullscreen view unmaps
...
Also moved the arranging into view_unmap to avoid excessive code
duplication.
7 years ago
Ryan Dwyer
9b15e81cff
Fix potential crash when fullscreen view unmaps
...
It happened when a view is a grandchild or deeper of the workspace, is
fullscreen, and unmaps. The workspace would not be included in the
transaction and its pointer to the fullscreen view was left dangling.
7 years ago
Ryan Dwyer
a3976e2659
Fix another crash when moving out of stacks or tabs
7 years ago
Ryan Dwyer
b864ac0149
Fix crash when unmapping a view with reapable parents
...
container_destroy was calling container_reap_empty, which calls
container_destroy and so on. Eventually the original container_destroy
would return a NULL pointer to the caller which caused a crash.
This also fixes an arrange on the wrong container when moving views in
and out of stacks.
7 years ago
Ryan Dwyer
38398e2d77
Implement atomic layout updates for tree operations
...
This implements atomic layout updates for when views map, reparent or
unmap.
7 years ago
Ryan Dwyer
1c89f32533
Preserve buffers during transactions
...
* Also fix parts of the rendering where it was rendering the pending
state instead of current.
7 years ago
Ryan Dwyer
9e96cfd310
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
Drew DeVault
867fb6aedb
Merge pull request #2124 from emersion/drag-icons
...
Render drag icons
7 years ago
Nate Symer
6a910b9ba5
Implement gaps (PR #2047 )
7 years ago
emersion
cfd02918c0
Render drag icons
7 years ago
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.
7 years ago
Ryan Dwyer
f9e6d703d2
Make main properties be the pending state
7 years ago
Ryan Dwyer
59c9488701
WIP: Atomic layout updates ground work
7 years ago
Brian Ashworth
e2b2fb0a0e
Switch restore workspaces to a nested for-loop
7 years ago
Brian Ashworth
5c9a917df9
Restore workspaces to outputs based on priority
7 years ago
emersion
07bee8cffe
Merge pull request #2084 from RedSoxFan/runtime-var-expansion
...
Runtime variable expansion
7 years ago
Brian Ashworth
e072fbc6d9
Switch output storing from list_t to wl_list
7 years ago
Brian Ashworth
a0bbe67076
Address emersions comments on output re-enabling
7 years ago
Brian Ashworth
a1b5b93d29
Store sway_outputs so that they can be reenabled
7 years ago
Brian Ashworth
82b3b587dd
Remove tab/stack check for focusing after a split
7 years ago
Brian Ashworth
e7261e2917
Fix focusing after splitting tabs/stacks
7 years ago
Brian Ashworth
067fe9d047
Support runtime var expansion and set at runtime
7 years ago
Brian Ashworth
9aaac8b8c8
Fix movement crashes/issues
7 years ago
Ryan Dwyer
d02e9aa4bc
Fix initial workspace orientation on a rotated output
7 years ago
emersion
8e3d19aad2
Merge pull request #2096 from kupospelov/fix-title-update
...
Fix view title update order
7 years ago
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 .
7 years ago
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.
7 years ago
Ryan Dwyer
3f1cfd547e
Fix top border when a view is initially floating
...
Fixes #2085 .
7 years ago
Ryan Dwyer
a2c1cb9072
Fix mpv damage issue when unfullscreening into floating
7 years ago
Ryan Dwyer
f24087d104
Fix fullscreen position
7 years ago
Ryan Dwyer
97672295ed
Don't unmaximize floating views
7 years ago
Ryan Dwyer
40af5d81a1
Fix getting adjacent output
7 years ago
Ryan Dwyer
d4ed204d4d
Remove container_self_or_parent_floating
7 years ago
Ryan Dwyer
70f5d6fcf3
Rename container_set_geometry_from_view
7 years ago
Ryan Dwyer
e4e912ea91
Store swayc coordinates as layout-local
7 years ago
Ryan Dwyer
02de2a6f65
Rename set_maximized functions to set_tiled
7 years ago
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.
7 years ago
Ryan Dwyer
13a4b0512e
Fix unfullscreening a floating view
7 years ago
Ryan Dwyer
aaba7642b3
Replace is_floating boolean with function
7 years ago
Ryan Dwyer
34f35f0bad
Use L_FLOATING instead of reapable boolean
7 years ago
Ryan Dwyer
1f2e399ade
Implement floating
7 years ago
Drew DeVault
f3ab895916
Implement `floating enable`
7 years ago
emersion
c47d6cb1c4
Merge pull request #2081 from RedSoxFan/fix-2077
...
Send reparent events in container_split
7 years ago
Brian Ashworth
8237d944d4
Fix move perpendicular segfault
7 years ago
Brian Ashworth
cca587b21f
Send reparent events in container_split
7 years ago
Brian Ashworth
e13c94f2dd
Fix typo
7 years ago
Brian Ashworth
633bee9019
Fix moving out of tab/stack when only child
7 years ago
Brian Ashworth
3b90b55666
Notify of subtree change
7 years ago
Brian Ashworth
103a302fa4
Fix moving out of a tabbed/stacked workspace
7 years ago
Brian Ashworth
a66fd74a54
Fix breaking out of tabs/stacks
7 years ago
Ryan Dwyer
6f4cb2b29d
Add tree representation to IPC workspace description
7 years ago
emersion
1071785f56
Merge pull request #2060 from RedSoxFan/focus-wrapping
...
Implement focus_wrapping
7 years ago
emersion
015878e5db
Merge pull request #2058 from RyanDwyer/refactor-parse-title-format
...
Refactor parse_title_format
7 years ago
Brian Ashworth
46da1dc32b
Implement focus_wrapping
7 years ago
Ryan Dwyer
7c7d24600b
Fix ancestor typos
7 years ago
Ryan Dwyer
9df1432f56
Refactor parse_title_format
...
Don't read properties until needed, and do it with less lines of code.
7 years ago
Brian Ashworth
fd137c4f05
Send workspace::move in container_output_destroy
7 years ago
emersion
9c0cc98d07
Don't move empty workspaces when output is destroyed
7 years ago
Ryan Dwyer
8fda41dab5
Merge branch 'master' into cmd-swap
7 years ago
Ryan Dwyer
d3dd7e5bae
Rename view_get_type to view_get_shell
7 years ago
Ryan Dwyer
51865c00c8
Add %app_id to title_format
7 years ago
Brian Ashworth
569f4e0e4c
Implement swap command
7 years ago
Drew DeVault
ab74c95d56
Merge pull request #2036 from RyanDwyer/workspace-switch-on-map
...
Switch workspace if required when mapping a view
7 years ago
Drew DeVault
daf328d054
Merge pull request #2033 from RyanDwyer/arrange-after-flatten
...
Arrange views after flattening the parent
7 years ago
Drew DeVault
a268a0c2ae
Merge pull request #2034 from RyanDwyer/cleanup-container-titles
...
Clean up container title functions
7 years ago
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 .
7 years ago
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.
7 years ago
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
7 years ago
Ryan Dwyer
320703fdca
Arrange views after flattening the parent
...
Fixes #2029 .
7 years ago
Ryan Dwyer
c9630975da
Fix crash in move workspace to output command
...
Fixes #2026 .
7 years ago
Ryan Dwyer
cdbae9a5e9
Fix nested tabs
...
Fixes #2023 .
7 years ago
Ryan Dwyer
5354988317
Implement clicking stacked title bars
7 years ago
Ryan Dwyer
f6c3682c05
Use constants for titlebar dimensions
7 years ago
Ryan Dwyer
664169fbf1
Implement stacked layout
7 years ago
Brian Ashworth
0273c6438c
Fix hide_edge_borders smart for tabs and stacks
7 years ago
Ryan Dwyer
5ab4930185
Fix tab border issues
7 years ago
Ryan Dwyer
4672cb7ccf
Use class or app_id in tree representation
7 years ago
Ryan Dwyer
efc07fb3d4
Don't track damage for views on inactive tabs
7 years ago
Ryan Dwyer
bd79584f65
Add assertion in container_at_view
7 years ago
Ryan Dwyer
c08f9bf257
Implement tabbed layout
7 years ago
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.
7 years ago
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 .
7 years ago
Ryan Dwyer
ebb0d051db
Fix many border opacity issues
7 years ago
Ryan Dwyer
69ac7f73e7
Destroy marks textures when view destroyed
7 years ago
Ryan Dwyer
b351d0a64a
Set textures to null when destroying
7 years ago
Ryan Dwyer
5384fdcbc6
Don't show marks which start with an underscore
7 years ago
Ryan Dwyer
0e2cc0af30
Implement show_marks
7 years ago
Ryan Dwyer
fc96f004d2
Don't steal focus when a view changes its title
...
Fixes #1989
7 years ago
Ryan Dwyer
22d38600d0
Implement marks
7 years ago
Brian Ashworth
9ba0dca7ba
Merge branch 'master' into fix-1975
7 years ago
emersion
95a10dd4f3
Kill wl_shell
7 years ago
Brian Ashworth
3488fbc859
Fix y and height for a hidden top normal border
7 years ago
Brian Ashworth
34b864fb17
Merge branch 'master' into fix-1975
7 years ago
Brian Ashworth
6ff7c52736
Fix titles and detect edges for hide_edge_borders
7 years ago
Ryan Dwyer
92b8497a0b
Fix crash when launching programs from dmenu
7 years ago
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.
7 years ago
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.
7 years ago