Dominique Martinet
9ea4cc13a0
sway views: add helpers to get view and layer from wlr_surface
7 years ago
Ryan Dwyer
e396af853b
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
Rostislav Pehlivanov
0cc24dd9c8
Fix crash with stacking layout after f42bf0ad4
...
The "simple" rendering function only applies to tiled views.
7 years ago
Ryan Dwyer
fc6fde7d90
Fix compile error
7 years ago
Rostislav Pehlivanov
f42bf0ad4a
container_at_view: don't offset the view by the window geometry
...
Fixes floating window input offsets. As discussed on IRC with emersion,
this shouldn't have been done in the first place.
7 years ago
Rostislav Pehlivanov
e0d0e8f840
Revert "Don't unmaximize floating views"
...
This reverts commit 97672295ed
.
7 years ago
emersion
4de28bba68
Fix floating views not receiving frame events
...
That happened when they were in tabbed or stacked containers.
Fixes #2161
7 years ago
Ryan Dwyer
96c8c02483
Fix flash of background when xwayland views are mapped
...
A flash of background was happening for two reasons:
1) We were using the xsurface's dimensions to check if the surface is
ready, but these are pending dimensions.
2) In my particular setup, the default geometry of the xsurface does not
intersect any output, which prevented it from receiving a frame done
event. This made the transaction time out and the client would only
redraw once it's been rendered.
7 years ago
Ryan Dwyer
3a6ed5110c
Render saved buffers with the surface's dimensions
7 years ago
Ryan Dwyer
a2fbb20a61
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
Ryan Dwyer
d7169ee7ff
Replace list_empty with a simple alternative
7 years ago
Ryan Dwyer
e8fb6b3325
Fix crash when moving last child of a container to workspace or output
...
We were arranging a parent which may have been deleted by the reaper,
which meant the `current` children list of the surviving parent had a
dangling pointer.
Instead, we now reap the workspace.
7 years ago
Armin Preiml
1eede432fc
fix handling key modifiers if not pressed at first
...
fixes #2169
7 years ago
Armin Preiml
c4b900c1e0
fix accidently removing borders on XCB_CONFIGURE_REQUEST
...
The view was configured with the container coordinates.
Although they were right on the first configure, they
changed after a XCB_CONFIGURE_REQUEST, when the
border was already drawn.
7 years ago
Thomas Plaçais
9a3c6d2dbe
Check if command input has at least 2 arguments
7 years ago
Ryan Dwyer
9652529cc1
Allow views to skip configures
...
To do this properly, the transaction queue will only be processed if it
can be completely processed.
7 years ago
Ryan Dwyer
e6829c5991
Move unsetting of view->surface into view_unmap
7 years ago
Ryan Dwyer
8773ed3970
Fix memleak in container_get_box
...
Rather than allocate a structure and expect callers to free it, take a
pointer to an existing struct as an argument.
This function is no longer called anywhere though.
7 years ago
Ryan Dwyer
be86d3aba6
Remove transaction_add_damage
...
Instead, damage each container when applying the transaction.
7 years ago
Ryan Dwyer
61c1187685
Fix nitpicks
7 years ago
Ryan Dwyer
bf38081382
Merge branch 'master' into xwayland-wants-float
7 years ago
emersion
ecd748d240
Merge branch 'master' into float_xdg_shell
7 years ago
ael-code
a4578815f1
cleanup output-background subcommand handling
...
- fixes a double-free error when access() failed.
- refactor code to make memory managment (alloc/free) more straightforward
- do not bring the temporary wordexp_t struct around
- do not postpone errors handling
7 years ago
ael-code
4550cb2b3e
fix memleak on background cmd error
...
- src must be free after join_args()
- wordfree must bee used after wordexp
7 years ago
Dominique Martinet
6856866a61
layer_shell: order destroying before sway_output
...
Both sway_output and sway_layer_shell listen to wlr's output destroy event,
but sway_layer_shell needs to access into sway_output's data strucure and needs
to be destroyed first.
Resolve this by making sway_layer_shell listen to a new event that happens at
start of sway_output's destroy handler
7 years ago
Dominique Martinet
08800c8ee2
layer_shell: cleanup output link on output destroy
...
Fixes this kind of use-after-free:
==1795==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000191ef0 at pc 0x00000048c388 bp 0x7ffe308f0410 sp 0x7ffe308f0400
WRITE of size 8 at 0x612000191ef0 thread T0
#0 0x48c387 in wl_list_remove ../common/list.c:157
#1 0x42196b in handle_destroy ../sway/desktop/layer_shell.c:275
#2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#3 0x7f55cc22cf68 in layer_surface_destroy ../types/wlr_layer_shell.c:182
#4 0x7f55cc22d084 in layer_surface_resource_destroy ../types/wlr_layer_shell.c:196
#5 0x7f55cc4ca025 in destroy_resource src/wayland-server.c:688
#6 0x7f55cc4ca091 in wl_resource_destroy src/wayland-server.c:705
#7 0x7f55cc22c3a2 in resource_handle_destroy ../types/wlr_layer_shell.c:18
#8 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
#9 0x7f55c8ef09fe in ffi_call (/lib64/libffi.so.6+0x59fe)
#10 0x7f55cc4cdf2c (/lib64/libwayland-server.so.0+0xbf2c)
#11 0x7f55cc4ca3de in wl_client_connection_data src/wayland-server.c:420
#12 0x7f55cc4cbf01 in wl_event_loop_dispatch src/event-loop.c:641
#13 0x7f55cc4ca601 in wl_display_run src/wayland-server.c:1260
#14 0x40bb1e in server_run ../sway/server.c:141
#15 0x40ab2f in main ../sway/main.c:432
#16 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308
#17 0x408d29 in _start (/opt/wayland/bin/sway+0x408d29)
0x612000191ef0 is located 48 bytes inside of 312-byte region [0x612000191ec0,0x612000191ff8)
freed by thread T0 here:
#0 0x7f55ce3bb880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
#1 0x42f1db in handle_destroy ../sway/desktop/output.c:1275
#2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#3 0x7f55cc23b4c2 in wlr_output_destroy ../types/wlr_output.c:284
#4 0x7f55cc1ddc20 in xdg_toplevel_handle_close ../backend/wayland/output.c:235
#5 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
previously allocated by thread T0 here:
#0 0x7f55ce3bbe50 in calloc (/lib64/libasan.so.5+0xeee50)
#1 0x42f401 in handle_new_output ../sway/desktop/output.c:1308
#2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#3 0x7f55cc1d6cbf in new_output_reemit ../backend/multi/backend.c:113
#4 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#5 0x7f55cc1deac7 in wlr_wl_output_create ../backend/wayland/output.c:327
#6 0x7f55cc1db353 in backend_start ../backend/wayland/backend.c:55
#7 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35
#8 0x7f55cc1d67a0 in multi_backend_start ../backend/multi/backend.c:24
#9 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35
#10 0x40ba8a in server_run ../sway/server.c:136
#11 0x40ab2f in main ../sway/main.c:432
#12 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308
7 years ago
Ryan Dwyer
a7b3f29292
Remove incorrect assertion and supporting code
...
Children can exist when destroying a container, such as when destroying
the last output. Sway is not terminating in that case.
7 years ago
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
0085f64ac0
Remove timer when transaction destroys
7 years ago
Ryan Dwyer
e8001e6fbe
Damage output when views toggle fullscreen
...
Also add workspace to the transaction when a view maps in fullscreen
mode.
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
Dominique Martinet
c9be014557
xdg_shell: make view floating if a parent has been set
...
Prompts e.g. authentication request from firefox-wayland ought to be
floating.
This is a bit coarse but just fixed size is not enough, here is what
firefox does:
[1285461.363] -> xdg_wm_base@18.get_xdg_surface(new id xdg_surface@68, wl_surface@71)
[1285461.508] -> xdg_surface@68.get_toplevel(new id xdg_toplevel@67)
[1285461.571] -> xdg_toplevel@67.set_parent(xdg_toplevel@37)
[1285461.630] -> xdg_toplevel@67.set_title("Authentication Required")
[1285461.736] -> xdg_toplevel@67.set_app_id("firefox")
...
[1285476.549] xdg_toplevel@67.configure(0, 0, array)
...
[1285502.080] -> xdg_toplevel@67.set_min_size(299, 187)
[1285502.140] -> xdg_toplevel@67.set_max_size(1920, 32767)
This can also be observed with e.g. the open window of gedit
(gedit->open->other documents)
7 years ago
Ryan Dwyer
beacd4d9f9
Rename progress_queue to transaction_progress_queue
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
Tony Crisci
e9ad10c2d6
dont focus-follow-mouse when keyboard grab
7 years ago
Ryan Dwyer
c371ff3de8
Implement per-configure debug timings
7 years ago
Ryan Dwyer
289d696adc
Implement transaction timings debug
...
Launch sway with SWAY_DEBUG=txn_timings to enable it.
7 years ago
emersion
eeb38d65cb
xwayland: accept configure requests from floating views
7 years ago
Ryan Dwyer
a3976e2659
Fix another crash when moving out of stacks or tabs
7 years ago
Ryan Dwyer
1549fb719a
Implement atomic layout updates for xwayland views
7 years ago
Ryan Dwyer
b6a238c7b7
Fix crash when running move <direction> in an empty workspace
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
33e03cb277
Fix crash related to stacks and tabs
7 years ago
Ryan Dwyer
f08a30d6d0
Force transactions to complete in order
...
This forces transactions to complete in order by using a singly linked
list stored in the sway server.
7 years ago
Ryan Dwyer
32b865e610
Fix crash when deleting last child in a tabbed or stacked container
...
There was no `current` child because the container was destroyed. This
makes it fall back to looking in the parent's current children list.
7 years ago
Ryan Dwyer
b11c9199a6
Merge remote-tracking branch 'upstream/master' into atomic
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
Drew DeVault
5222e14555
Merge pull request #2155 from ael-code/fix_output_command_failure
...
bugfix: avoid access after free
7 years ago
ael-code
ad085c1332
bugfix: avoid access after free
...
if src is NULL due to a previous error we cannot use it in the command
result string.
Moreover if `src` points to `p.we_wordv[0]` we cannot use it after
`wordfree(&p)` in the command result string.
Bonus feature: If there was an error accessing the file, the string
rapresentation of the error is now included in the command result
string.
7 years ago
Drew DeVault
e8fbda4d21
Merge pull request #2146 from tobiasblass/prepare_server_before_dropping_privileges
...
Perform (partial) server initialization before dropping privileges.
7 years ago
Rostislav Pehlivanov
aa9f058e3e
Init the dmabuf exporting protocol in wlroots
...
Allows desktop capture via the dmabuf-capture wlroots example client.
7 years ago
Tobias Blass
a5c091e302
Perform (partial) server initialization before dropping privileges.
...
Some operations during backend creation (e.g. becoming DRM master)
require CAP_SYS_ADMIN privileges. At this point, sway has dropped them
already, though. This patch splits the privileged part of server_init
into its own function and calls it before dropping its privileges.
This fixes the bug with minimal security implications.
7 years ago
emersion
cda66e9a26
Automatically float xwayland windows
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
645bf446fa
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
emersion
088cae45c8
Update for swaywm/wlroots#1060
7 years ago
frsfnrrg
ca061ba8bf
Fix keyboard shortcut handling inconsistencies
...
* Ensure that modifier keys are identified even when the next key does
not produce a keysym. This requires that modifier change tracking
be done for each sway_shortcut_state.
* Permit regular and --release shortcuts on the same key combination.
Distinct bindings are identified for press and release cases; note
that the release binding needs to be identified for both key press
and key release events.
* Maintain ascending sort order for the shortcut state list, and keep
track of the number of pressed key ids, for simpler (and hence
faster) searching of the list of key bindings.
* Move binding duplicate detection into get_active_binding to avoid
duplicating error messages.
7 years ago
frsfnrrg
b23cd827cf
Sort binding key lists
...
Sort the list comprising the set of keys for the binding in ascending
order. (Keyboard shortcuts depend only on the set of simultaneously
pressed keys, not their order, so this change should have no external
effect.) This simplifies comparisons between bindings.
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
emersion
88cd7616db
Fix compilation errors related to disabled outputs
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
acf71fe805
Merge pull request #2119 from martinetd/gcc-strtruncation
...
sway/criteria: gcc string truncation warning fix
7 years ago
Dominique Martinet
720313e185
sway/criteria: gcc string truncation warning fix
7 years ago
Dominique Martinet
d26a0a1a6e
sway exec command: use waitpid instead of wait
7 years ago
Brian Ashworth
212e4ef395
Remove strip quoting and fix strncpy-overlap
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
Scott Leggett
609c420501
Initialise previous cursor position.
...
Fix the problem with focus jumping to the container under the cursor
when first starting sway.
7 years ago
Tobias Blass
d6d292897f
Remove suspicious unconditional return
...
This return effectively disables the log_kernel function
7 years ago
Brian Ashworth
f4870d5432
Fix logic issue in do_var_replacement
7 years ago
Brian Ashworth
067fe9d047
Support runtime var expansion and set at runtime
7 years ago
emersion
0f71547032
Merge pull request #2095 from emersion/fullscreen-damage-only-visible
...
Only send frame to visible surfaces when fullscreened
7 years ago
emersion
6b9ffbad20
Merge pull request #2103 from RyanDwyer/focus-fixes
...
Focus fixes
7 years ago
Brian Ashworth
9aaac8b8c8
Fix movement crashes/issues
7 years ago
Ryan Dwyer
1206a60977
Don't restore focus if unmapping surface wasn't focused
7 years ago
Ryan Dwyer
bcdb676abb
Don't set focus to NULL when clicking a surface which has no container
7 years ago
Ryan Dwyer
9253278328
Restore focus when unmapping layer shell surfaces
7 years ago
Ryan Dwyer
74799937cf
Restore focus when unmapping unmanaged xwayland surfaces
7 years ago
emersion
0549fd027b
Merge pull request #2087 from RedSoxFan/output-subcommand
...
Refactor cmd_output to use config_subcommand
7 years ago
emersion
6d0ad6a1ed
Merge pull request #2099 from RyanDwyer/fix-seat-get-active-child
...
Fix seat_get_active_child
7 years ago
Brian Ashworth
51fa988be9
Address review comments for output subcommands
7 years ago
Brian Ashworth
5ea4a4d3ee
Refactor cmd_output to use config_subcommand
7 years ago
Ryan Dwyer
d02e9aa4bc
Fix initial workspace orientation on a rotated output
7 years ago
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 .
7 years ago
emersion
ebe0b668c9
Merge pull request #2093 from emersion/damage-debug
...
Add SWAY_DAMAGE_DEBUG
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
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.
7 years ago
emersion
34bdf25bb5
Only send frame to visible surfaces when fullscreened
7 years ago
emersion
51eee3aecc
Schedule a frame even if damage is empty
7 years ago
Dominique Martinet
71ab13f1eb
sway/config: fix use-after-free for end of block
...
Introduced in 7c810dc344
7 years ago
Drew DeVault
df204b65d8
Merge pull request #2089 from emersion/send-frame-done-visible
...
Only send frame done to visible views
7 years ago
emersion
65845be802
Only send frame done to visible views
...
Also don't accumulate empty damage
7 years ago
Brian Ashworth
8bfa2def88
Address first round of review for generic blocks
7 years ago
Brian Ashworth
51bb9d8573
Support braces on next line for config blocks
7 years ago
Brian Ashworth
7c810dc344
Make command block implementation generic
7 years ago
emersion
2d480e754e
Merge pull request #2080 from frsfnrrg/keyboard-remodeling
...
Reduce work duplication in keyboard and binding code
7 years ago
Ryan Dwyer
3f1cfd547e
Fix top border when a view is initially floating
...
Fixes #2085 .
7 years ago
frsfnrrg
78b7b46895
Style fix, redundant entry removal, fix extra keysym delete
7 years ago
frsfnrrg
480f0c593c
Rename update_shortcut_model to update_shortcut_state
7 years ago
frsfnrrg
83d559dd03
Rename check_shortcut_model to get_active_binding
7 years ago
frsfnrrg
c53e4e6cde
Style fixed for keyboard.c
7 years ago
frsfnrrg
eb00edc6e2
Style fixes for bind.c
7 years ago
frsfnrrg
f2fe93d171
Remove almost-always redundant loop in key handling
7 years ago
frsfnrrg
705230a26c
Fix binding bindcode flag initialization
7 years ago
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.
7 years ago
frsfnrrg
f5ed65e633
Use XKB keycode numbering for bindcode
7 years ago
frsfnrrg
d77681ea3d
Share common code between bindsym and bindcode commands
7 years ago
Drew DeVault
96446fdbf7
Merge pull request #2027 from RyanDwyer/implement-floating
...
Implement floating
7 years ago
Brian Ashworth
edf37f27e1
Fix cmd_workspace crash when a surface has focus
7 years ago
Ryan Dwyer
70c2c50445
Fix changing borders on floating views
7 years ago
Ryan Dwyer
d466b8fa7b
Don't auto float xdg views if their dimensions are not set
7 years ago
Ryan Dwyer
a2c1cb9072
Fix mpv damage issue when unfullscreening into floating
7 years ago
Ryan Dwyer
c9e3a313b4
Fix fullscreen position of xwayland views
7 years ago
Ryan Dwyer
00cac22038
Fix crash when using multiple outputs
7 years ago
Drew DeVault
e605dc43bb
Fix mouse warping interaction with layout coords
7 years ago
Ryan Dwyer
c9f8d35ca9
Consider floating views when calculating title height
7 years ago
Ryan Dwyer
9119f87655
Fix floating position when view is floated when mapped
7 years ago
Ryan Dwyer
f7cadf2333
Adjust move command to account for changed coordinate system
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
becceafa7f
Remove unfinished wants_floating implementation for xwayland
7 years ago
Ryan Dwyer
5b1601c2e3
Don't let xwayland views set position unless unmanaged
7 years ago
Ryan Dwyer
02d385e06f
Use swayc rather than wlr_output when rendering
7 years ago
Ryan Dwyer
3b1db30a5e
Use surface size if xdg shell's geometry isn't set
7 years ago
Ryan Dwyer
4371c746e4
Implement wants_floating for xdg_shell and xdg_shell_v6
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
3281574fa3
Remove check for if floating view intersects output
7 years ago
Ryan Dwyer
7d2b33a458
Render floating views before top layer and unmanaged
7 years ago
Ryan Dwyer
e4e912ea91
Store swayc coordinates as layout-local
7 years ago
Ryan Dwyer
00f6e179cd
Add L_FLOATING back to debug tree
7 years ago
Ryan Dwyer
02de2a6f65
Rename set_maximized functions to set_tiled
7 years ago
Ryan Dwyer
5d69a56209
Prevent splitting a floating view
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
754cb7944c
Respect view's border config for floating containers
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
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
7 years ago
Drew DeVault
71db8de4be
Render floating views
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
64225b1137
Send IPC layout of node itself
7 years ago
Brian Ashworth
3b90b55666
Notify of subtree change
7 years ago
Brian Ashworth
f5e44d4b2c
Fix layout in -t get_tree
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
Brian Ashworth
d76729af22
Implement config parser for workspace_layout
7 years ago
Brian Ashworth
205a1732cf
Force fullscreen views to be fully opaque
7 years ago
Brian Ashworth
c81d0ef1e8
Support i3's legacy force_focus_wrapping command
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
Drew DeVault
b2c0ba5b18
Merge pull request #2050 from smlx/focus-fix
...
Focus containers only on entry.
7 years ago
Drew DeVault
53a3fc63c5
Merge pull request #2055 from RedSoxFan/output-destroy-workspace-ipc
...
Send workspace::move in container_output_destroy
7 years ago
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.
7 years ago
Scott Leggett
4d8120ccf3
Improve comment.
7 years ago
Brian Ashworth
fd137c4f05
Send workspace::move in container_output_destroy
7 years ago
Scott Leggett
b57f88e7db
Avoid assert on container type.
7 years ago
Scott Leggett
1b8de39287
Move previous cursor_position inline.
7 years ago
emersion
9c0cc98d07
Don't move empty workspaces when output is destroyed
7 years ago
Scott Leggett
d1ebbebea0
Remove unused function.
7 years ago
Scott Leggett
0039f7a4fd
Simplify logic, remove redundant variables.
7 years ago
Scott Leggett
dd86444e59
Rely on view_is_visible rather thank walking the tree ourselves.
7 years ago
Scott Leggett
4cd304e4ba
Store previous position in sway_cursor.
7 years ago
Ryan Dwyer
8fda41dab5
Merge branch 'master' into cmd-swap
7 years ago
Drew DeVault
a372852c44
Merge branch 'master' into xdg-shell-tiled
7 years ago
emersion
b350e8ec82
xdg-shell: make all toplevels tiled
7 years ago
Ryan Dwyer
d3dd7e5bae
Rename view_get_type to view_get_shell
7 years ago
Ryan Dwyer
484cc189e9
Add shell criteria token
...
Closes #2044 .
7 years ago
Scott Leggett
06098bef98
Focus containers only on entry.
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
fea654a6ce
Replace oft-failing abort with if statement
...
Fixes #2045
7 years ago
Ivan Chebykin
464ec44b00
Check for next_focus before assert
7 years ago
Ivan Chebykin
6e6b0decd9
Fix usage of sway_assert
7 years ago
Ivan Chebykin
820a8c9c2d
Moved visibility check of of loop, added asserts
7 years ago
Ivan Chebykin
740234a4bc
Break after first tabbed/stacked layout
7 years ago
Ivan Chebykin
53516fa03f
Fix mouse focusing for horizontal/vertical views in tabbed containers
7 years ago
Ivan Chebykin
f85d3e15ba
Fixed styling issues
7 years ago
Ivan Chebykin
e19fe56e2f
Focus inactive container instead of checking cursor position
7 years ago
Ivan Chebykin
3b67253312
Skip all nested containers
7 years ago
Ivan Chebykin
c62efbb5ce
Implement correct focusing for tabbed containers
7 years ago
Ivan Chebykin
c1be4b0153
Fix focusing from other containers
7 years ago
Ivan Chebykin
87af08966a
Don't focus tabbed and stacked containers on mouseover
7 years ago
emersion
24832d8574
Update for swaywm/wlroots#1000
7 years ago
emersion
01abab8838
Merge pull request #2017 from emersion/wlroots-993
...
Update for swaywm/wlroots#993
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
Brian Ashworth
a6d43ff746
Implement IPC_GET_MARKS
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
Drew DeVault
8bbf78fdd4
Fix focus follows mouse with no focus
7 years ago
emersion
708ff238f3
Update for swaywm/wlroots#993
7 years ago
Brian Ashworth
0273c6438c
Fix hide_edge_borders smart for tabs and stacks
7 years ago
Ryan Dwyer
048b29527b
Pre-multiply alpha for tab decorations
7 years ago
Ryan Dwyer
90607dc329
Add left/right borders to tabs
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
Brian Ashworth
82cd55a670
Fix border commands from changing focus
7 years ago
Drew DeVault
cf3ab1f45f
Merge pull request #2007 from swaywm/fix-focus-follows-mouse
...
Fix focus_follows_mouse over swaybar
7 years ago
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.
7 years ago
Brian Ashworth
750a497a8b
Pre-multiply alpha for non-textures
7 years ago
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.
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
f0212d66ee
Update marks textures on output scale event
7 years ago
Ryan Dwyer
ebb0d051db
Fix many border opacity issues
7 years ago
Ryan Dwyer
b1645fb352
Update show_marks documentation
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
Dominique Martinet
89ae1792b5
sway: run commands without waiting for Xwayland
...
Xwayland is lazy now, there is no need to wait at all
7 years ago
emersion
79e970d86e
Correctly clip title texture if necessary
7 years ago
Ryan Dwyer
4d1edfcba9
Change unmark implemention to match i3's
7 years ago
Ryan Dwyer
22d38600d0
Implement marks
7 years ago
Brian Ashworth
9ba0dca7ba
Merge branch 'master' into fix-1975
7 years ago
Brian Ashworth
77b42ec821
Always render top border for border normal
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
8432d8a15e
xdg_shell: Replace get_prop with get_string_prop
7 years ago
Ryan Dwyer
490f92255c
Initialise error_arg to NULL in criteria_parse
7 years ago
Ryan Dwyer
39007fc30f
Fix double free in criteria
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
Drew DeVault
404d006a1c
Enable lazy xwayland
7 years ago
Drew DeVault
b2dec12368
Merge pull request #1970 from emersion/xdg-shell-stable
...
Add xdg-shell stable support
7 years ago
emersion
88d9d43b36
Add xdg-shell stable support
7 years ago
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>
7 years ago
Drew DeVault
61aa0937a7
Merge pull request #1824 from snaggen/idle
...
DPMS and lock handling
7 years ago
Ryan Dwyer
90e6dfa268
Merge branch 'master' into edge-borders
7 years ago
Brian Ashworth
0f43eac5dc
Fix recursion when counting descendants of a type
7 years ago
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
7 years ago
emersion
360e63b8a7
Don't destroy view child on xdg-popup unmap
7 years ago
Brian Ashworth
2adf23c2a3
Only count views for hide_edge_borders smart
7 years ago
Brian Ashworth
ec60e24f75
Merge branch 'master' into edge-borders
7 years ago
Brian Ashworth
e3625d8f33
Count descendant views for hide_edge_borders smart
7 years ago
Drew DeVault
e2b8eac4bf
Merge branch 'master' into wlroots-970
7 years ago
Drew DeVault
2da685e913
Merge remote-tracking branch 'origin/master' into scdoc
7 years ago
Drew DeVault
51b0b25587
Merge pull request #1959 from RyanDwyer/ipc-get-seats
...
Implement IPC get_seats command
7 years ago
Drew DeVault
a2d7079b26
Merge branch 'master' into scdoc
7 years ago
Drew DeVault
da679a8051
Fix typos
7 years ago
emersion
50298dc901
Send pointer discrete axis values and source
...
Update for swaywm/wlroots#970
7 years ago
Drew DeVault
32a572cecf
Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements"
...
This reverts commit 3e1bf721c6
, reversing
changes made to 2217518bd5
.
7 years ago
Drew DeVault
ac0e62584f
Revert "Merge pull request #1953 from RyanDwyer/criteria-focused"
...
This reverts commit 2511adffc2
, reversing
changes made to 3e1bf721c6
.
7 years ago
Ryan Dwyer
c72940837c
Implement IPC get_seats command
7 years ago
Ryan Dwyer
4717c71da5
Merge branch 'master' into fix-crash-on-fullscreen
7 years ago
Ryan Dwyer
94e42f9857
Implement __focused__ criteria
7 years ago
Drew DeVault
7a964651fb
Remove sway-security(7)
...
We will need to overhaul this for 1.0
7 years ago
Drew DeVault
d9a08b7a9d
Add sway-input(5)
7 years ago
Drew DeVault
1813482266
Add sway-bar(5)
7 years ago
Drew DeVault
432256ad84
Add sway(5)
7 years ago
Drew DeVault
c2a7d367af
Wire up scdoc and rewrite sway(1)
7 years ago
Drew DeVault
3e1bf721c6
Merge pull request #1943 from RyanDwyer/criteria-improvements
...
Overhaul criteria implementation
7 years ago
Brian Ashworth
3db7fc2bb2
Implement hide_edge_borders
7 years ago
Dudemanguy911
935bda0f33
fix crash on fullscreen toggle
7 years ago
Drew DeVault
2217518bd5
Merge pull request #1956 from ggreer/move-focus
...
cmd_move_container: Focus a window on the source workspace.
7 years ago
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.
7 years ago
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.
7 years ago
Ryan Dwyer
8595fc5a6f
Update criteria documentation
7 years ago
Ryan Dwyer
0bf0a4fa40
Don't unescape \\ in criteria
7 years ago
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
7 years ago
Ryan Dwyer
83e314bf51
Highlight all child borders when using focus parent
7 years ago
emersion
44fcc06efd
Fix damage tracking on HiDPI
7 years ago
emersion
90614f3a63
Accumulate surface damage even if whole=true
7 years ago
emersion
c0f5d740a5
Damage container when updating title
7 years ago
emersion
70b80b4698
Damage container on focus
7 years ago
emersion
bec80f1551
Damage borders when damaging view
7 years ago
emersion
98f7ee8f59
Render borders with damage
7 years ago
emersion
c8a9ea3903
Implement full damage tracking
7 years ago
Drew DeVault
3bab37858a
Merge pull request #1932 from emersion/fix-layer-shell-exclusive
...
layer-shell: use usable_area when arranging non-exclusive layer surfaces
7 years ago
Ryan Dwyer
497793b5b7
Use reasonable default for font height
...
Fixes #1949
7 years ago
emersion
3d29e73e72
layer-shell: use usable_area when arranging non-exclusive layer surfaces
7 years ago
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.
7 years ago
Ryan Dwyer
4922d269b8
Fix titles on rotated outputs
...
If the output is rotated, the scissor box needs to be transformed in the
opposite rotation.
7 years ago
Vincent Vanlaer
95dac2a069
Update xwayland start for new API
...
https://github.com/swaywm/wlroots/pull/959
7 years ago
Rostislav Pehlivanov
b592351eef
Revert "exec_always: Search for executables in /usr/lib/sway"
...
This reverts commit 7709340727
.
7 years ago
Rostislav Pehlivanov
2c0c3dc7cc
Revert "Make the LIBDIR path configurable"
...
This reverts commit 1670b46bf6
.
7 years ago
Rostislav Pehlivanov
0cdc47ab1e
Revert "Meson: Replace option `instlibdir` with `libexecdir`"
...
This reverts commit 830c4ef74c
.
7 years ago
Rostislav Pehlivanov
cf602687c6
Revert "command/exec_always: Use wlr_log for logging errors in the child process"
...
This reverts commit 177c67e6b8
.
7 years ago
Ryan Dwyer
556ff5f50e
Implement pango support
...
Implements support for the pango: prefix in the font command.
Closes #1903 .
7 years ago
Ryan Dwyer
1daf69477e
Fix PATH setenv() in exec_always
7 years ago
emersion
786727d8bb
Merge branch 'master' into usr-lib
7 years ago
Nicolas Braud-Santoni
177c67e6b8
command/exec_always: Use wlr_log for logging errors in the child process
7 years ago
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.
7 years ago
Nicolas Braud-Santoni
1670b46bf6
Make the LIBDIR path configurable
7 years ago
Nicolas Braud-Santoni
7709340727
exec_always: Search for executables in /usr/lib/sway
7 years ago
Ryan Dwyer
936226845f
Add extra check for view title being NULL
7 years ago
Ryan Dwyer
5d6d24e71a
Move code for re-arranging after font height change into a common place
7 years ago
Ryan Dwyer
da7d6642d3
Refactor parse_title_format()
7 years ago
Ryan Dwyer
d10a0a8c41
Fix memory leak in title_format command
7 years ago
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)
7 years ago
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.
7 years ago
Alex Xu (Hello71)
3202c45054
Check for NULL in container_update_title
...
Fixes crash when opening Firefox developer tools.
7 years ago
Drew DeVault
029c9b1796
Merge pull request #1907 from emersion/backend-input-mapping
...
Default to backend-wise input device mapping, if any
7 years ago
Drew DeVault
d233e75eec
Hide cursor on touch down
7 years ago
Drew DeVault
00e62c214d
Fix alphabetization of command list
7 years ago
emersion
424006089e
Default to backend-wise input device mapping, if any
7 years ago
emersion
29224e7aec
Fix segfault when running the resize command without arguments
7 years ago
Ryan Dwyer
ed0d606c2a
Fix title texture width
...
Use max of the container width or text width.
7 years ago
Drew DeVault
85396b90fb
Fix unfocused.text default
7 years ago
Drew DeVault
58a033d816
Convert border_colors.text to float[4]
7 years ago
Drew DeVault
8f06aa7598
Fix anti-aliasing
7 years ago
Ryan Dwyer
74d1367fac
Update titles when surfaces are committed
7 years ago
Ryan Dwyer
89d1571041
Fix potential segfault when setting container title
7 years ago
Ryan Dwyer
55b307cddf
Calculate config->font_height based on existing container titles
7 years ago
Ryan Dwyer
b667298a0a
Render titles
7 years ago
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
7 years ago
Dillen Meijboom
b45e2bd95e
Fixed #1888 GCC cannot compile due to uninitialized variables ( #1889 )
7 years ago
Ryan Dwyer
daab8e3503
Support alpha in border colours
...
The alpha component is merged with the container's opacity.
Completes #1882 .
7 years ago
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.
7 years ago
Ryan Dwyer
cb07434913
Remove unnecessary pointers
7 years ago
Ryan Dwyer
51df1d4ff8
Update cursor when border is changed
7 years ago
Drew DeVault
7f574c538d
Fix alphabetization of commands array
7 years ago
Ryan Dwyer
83952c5201
Restore view_update_position()
7 years ago
Ryan Dwyer
55577498c0
Allow clicking view decorations to focus view
7 years ago
Ryan Dwyer
700510b45e
Implement indicator border
7 years ago
Ryan Dwyer
ed9e2015b2
Scale borders according to output scale
7 years ago
Ryan Dwyer
0375f966f1
Fix surface offset when using borders
7 years ago
Ryan Dwyer
fa5de2876e
Move docblock and fix indenting of switch/case.
7 years ago
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
7 years ago
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.
7 years ago
Ryan Dwyer
312fdf313f
Remove arrange_windows()
...
After the refactor, this function is no longer called.
7 years ago
emersion
976e6b99b6
Merge branch 'master' into refactor-arrange-windows
7 years ago
Drew DeVault
24ab66d123
Merge pull request #1867 from emersion/wlroots-923
...
Update for wlroots#923
7 years ago
emersion
3fd8897abe
Don't call view_set_fullscreen on unmapped xwayland views
7 years ago
Ryan Dwyer
167c2e1aa9
Refactor arrange_windows()
...
Replaces arrange_windows() with arrange_root(), arrange_output(),
arrange_workspace() and arrange_children_of().
Also makes fullscreen views save and restore their dimensions, which
allows it to preserve any custom resize and is also a requirement for
floating views once they are implemented.
7 years ago
emersion
860d2384b4
Update for swaywm/wlroots#923
7 years ago
Geoff Greer
5587af1782
Rename len to msg_len. Avoids an aliased variable that was a little confusing to follow.
7 years ago
Geoff Greer
b9726afd48
invoke_swaybar(): Set process group. Kill process group.
...
Fixes a bug where terminate_swaybar() did not terminate swaybar.
7 years ago
emersion
ff61df17ff
Add map_from_region command
7 years ago
Ryan Dwyer
ae39d7b28c
Remove sway_container.workspace_layout
...
Fixes #1716 .
7 years ago
Drew DeVault
c54097428a
Merge branch 'master' into criteria-commands
7 years ago
emersion
df245780d2
Do not let tiled xwayland views do what they want
7 years ago
emersion
3ed3bdf03f
Fix segfault when switching back to workspace with osu!
7 years ago
Ryan Dwyer
dfc26c664f
Update wording about unmanaged/unmapped views
7 years ago
Ryan Dwyer
689a6a5605
Use size_t instead of int and calloc instead of malloc
7 years ago
Ryan Dwyer
30a7488936
Add assert to view_execute_criteria()
7 years ago
Ryan Dwyer
72767e1cc3
Implement criteria commands
...
Implements the following commands:
* for_window [...] <cmdlist>
* assign [...] <workspace>
7 years ago
Ryan Dwyer
22b9169631
Fix crash in container_descendants()
...
If root is a C_VIEW, the children property is a null pointer.
7 years ago
Drew DeVault
420a669f21
Updates per swaywm/wlroots#887
7 years ago
Ryan Dwyer
fbb5198e43
Sort workspaces after rename
7 years ago
Ryan Dwyer
d956286b92
Implement rename workspace command
...
This implements the following commands:
* rename workspace to new_name
* rename workspace old_name to new_name
* rename workspace number n to new_name
7 years ago
Ryan Dwyer
4d2b3fc950
Render unmanaged xwayland views when an xwayland view is fullscreen
...
This makes Chromium and Firefox context menus appear when fullscreen.
7 years ago
emersion
a41057714f
Update for wlroots#885
7 years ago
Drew DeVault
72149111a5
Merge pull request #1838 from emersion/use-wlr-renderer-init-wl-shm
...
Use wlr_renderer_init_wl_shm
7 years ago
Drew DeVault
4386dcb624
Merge pull request #1837 from emersion/cursor-default-to-current-time
...
Default to current time when triggering cursor events
7 years ago
emersion
b96d774c70
Use wlr_renderer_init_wl_shm
7 years ago
emersion
4cf77e1de4
Default to current time when triggering cursor events
7 years ago
Drew DeVault
6e6decf385
Merge pull request #1834 from emersion/xwayland-no-unmap-on-destroy
...
Don't unmap on destroy, this is already guaranteed by wlroots
7 years ago
emersion
33ed279494
Update cursor when workspace focus changes
7 years ago
emersion
17bee33fc9
Don't unmap on destroy, this is already guaranteed by wlroots
7 years ago
Ryan Dwyer
34429a3605
Keep view fullscreened when moving to another workspace.
...
container_handle_fullscreen_reparent() must be called *after* setting
the container's new parent.
7 years ago
Ryan Dwyer
6afccd07d9
Add TODO about rendering fullscreen views smaller than the output
7 years ago
Ryan Dwyer
76837b9132
Ignore xdg_shell_v6 request_fullscreen if not mapped
7 years ago
Ryan Dwyer
bd67342bdc
Don't render top layer when fullscreen.
7 years ago
Drew DeVault
777800e37a
Fix qutebrowser crash on context menu dismissal
7 years ago
Drew DeVault
21eb63cc9e
Merge branch 'master' into fullscreen
7 years ago
Ryan Dwyer
9ab61716b5
Correct the repeat_rate documentation.
7 years ago
Ryan Dwyer
9d3739a6f7
Split repeat commands into separate files.
7 years ago
Ryan Dwyer
9715e38ca8
render_output(): When fullscreen, clear to black and don't render background
7 years ago
Ryan Dwyer
45a2fad0de
container_get_in_direction(): Don't split this function
7 years ago
Ryan Dwyer
7e38cc2e05
arrange_windows(): Calculate workspace properties when fullscreen
7 years ago
Ryan Dwyer
2acfbc519e
xdg_shell_v6: Use client_pending state instead of current
...
It appears client_pending is the state that should be used here.
7 years ago
Ryan Dwyer
1285f01b13
Merge branch 'master' into fullscreen
7 years ago
Ryan Dwyer
5b30391383
Make key repeat configurable
...
This creates two input commands for configuring the repeat delay and rate.
Example config:
input "myidentifier" {
repeat_delay 250
repeat_rate 25
}
7 years ago
Ryan Dwyer
8d06b222f0
Fullscreen rendering and input fixes.
...
* Render background when using fullscreen, because transparency.
* Check that fullscreen surface allows input.
* Don't look for surfaces in top layer if there's a fullscreen view.
7 years ago
Ryan Dwyer
35ccdd67a8
More fullscreen fixes.
...
* Render fullscreen views without wlr function, which makes popups and
lockscreen work.
* Don't allow input events to surfaces behind fullscreen views.
* Use correct output dimensions (for rotated outputs).
7 years ago
emersion
7114451607
Destroy display in server_fini
7 years ago
Ryan Dwyer
72beae209b
Fullscreen fixes.
7 years ago
Ryan Dwyer
cc4da245a8
Fix views unmapping their own fullscreen windows.
7 years ago
Ryan Dwyer
143b528f71
Handle fullscreen flag when mapping a surface.
7 years ago
Ryan Dwyer
a44d016e2b
Don't damage views if they're hidden by a fullscreen view.
7 years ago
Ryan Dwyer
c685ef081f
Create sway_workspace struct.
7 years ago
Ryan Dwyer
bfd5834f4c
Feedback for fullscreen.
7 years ago
Ryan Dwyer
52420cc24d
Implement fullscreen.
7 years ago
db
f555edf353
remove empty workspace when focusing its output
...
Until now, focus changing code only considered cleaning up the last focused
workspace. This commit adds removal of empty workspace from output that just
received focus on a different workspace.
Fixes : #1797
7 years ago
Dominique Martinet
8490d1662c
Fix gcc maybe-uninitialized warning
7 years ago
Dominique Martinet
25af959fe9
Fix gcc string truncation warnings
7 years ago
emersion
2b34bf1882
Merge branch 'master' into crashes
7 years ago
emersion
bdaf420ead
Do not call the map handler when an xwayland surface is created
7 years ago
Dominique Martinet
de65d05821
container_destroy: fix segfault
...
cont->children doesn't have to be NULL when there is no children
7 years ago
Dominique Martinet
1fd21650d7
seat_set_focus_wrap: fix use-after-free when destroying last focused container
7 years ago
Danny Bautista
c53b2edd41
Add documentation for seat cursor command.
7 years ago
Danny Bautista
c355d680e9
Clean up cursor simulation code.
7 years ago
Danny Bautista
1edb2bd892
Implement cursor event simulation with sway commands.
7 years ago
db
63b2543749
Add workspace_auto_back_and_forth for move cmd
7 years ago
Drew DeVault
07b6be6214
Merge pull request #1769 from acrisci/focus-inactive-fixes
...
Focus inactive fixes
7 years ago
Drew DeVault
0e3ddf255e
Add input "identifier" map_to_output "identifier"
7 years ago
Tony Crisci
8ecd89b7ef
address feedback
7 years ago
Tony Crisci
ae78f6fb93
Merge branch 'wlroots' into focus-inactive-fixes
7 years ago
Drew DeVault
9c5a88a7bd
Fix cursor motion issues
...
Use only one canonical cursor x/y position and send cursor enter when
mouse is warped.
Tangentally related to #1714
7 years ago
Tony Crisci
70b33342fe
criteria match containers
7 years ago
emersion
5ebc99253a
Use wlr_surface_point_accepts_input for unmanaged surfaces
7 years ago
Tony Crisci
46280460a5
push all parents of focused container in focus stack
7 years ago
Drew DeVault
efff7c4225
Merge pull request #1776 from emersion/wlroots-remove-backend-egl
...
Update for wlroots#850
7 years ago
emersion
9570e37016
Update for wlroots#850
7 years ago
Drew DeVault
8763957344
Merge pull request #1774 from swaywm/tablet-tool
...
Implement tablet tool support
7 years ago
Drew DeVault
9114d3b84c
Implement tablet tool support
7 years ago
db
042b80b9fa
Add workspace_auto_back_and_forth command
...
This is the only missing piece - other code regarding this functionality has
already been ported from pre-wlroots source.
7 years ago
Tony Crisci
9db859585e
container_create_notify on split
7 years ago
Tony Crisci
0ff22c1755
implement ipc focus stack
7 years ago
Tony Crisci
de811823b6
seat focus inactive children foreach
7 years ago
Tony Crisci
c0f9ee7bd1
seat get focus inactive view
7 years ago
emersion
2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
...
This fixes dmenu
7 years ago
emersion
a5d06b6e2b
Merge pull request #1766 from emersion/fix-output-container-position
...
Fix output containers position
7 years ago
Drew DeVault
5d34e4531f
Add basic server decorations support
7 years ago
emersion
61abd56ca4
Fix output containers position
7 years ago
Drew DeVault
b12b848bdc
Merge pull request #1759 from emersion/output-send-frame-done
...
Don't send frame done immediately when rendering
7 years ago
emersion
8af0c2b000
Don't send frame done immediately when rendering
7 years ago
emersion
33b4f945ab
Fix inverted assertion
...
Seems like it doesn't work this way
7 years ago
Drew DeVault
c47b4d4edb
Merge pull request #1756 from emersion/output-damage
...
Fine-grained damage tracking
7 years ago
Drew DeVault
f5a9bd5cb7
Merge pull request #1700 from swaywm/move-cmd-full
...
Implement move [left|right|up|down]
7 years ago
emersion
93ca8919f6
Don't rejigger if parent has two children
7 years ago
emersion
37b173f326
When moving between outputs, use output center as reference
7 years ago
Drew DeVault
606d322bc2
Container coordiantes/sizes are floating point
7 years ago
Drew DeVault
640232eb22
Revert "Break everything^W^WUse wlr_box for sway_container"
7 years ago
emersion
0c627918bb
Damage all surfaces when damaging whole container
7 years ago
Drew DeVault
df0d57b916
Fix issue with incorrectly rejiggered workspaces
7 years ago
Drew DeVault
764489e737
Break everything^W^WUse wlr_box for sway_container
7 years ago
Drew DeVault
9109b1fd11
Fix moving to parallel container on another output
7 years ago
Drew DeVault
5ff16994c5
Address @emersion feedback
7 years ago
emersion
58914822aa
Don't damage the whole output
7 years ago
Drew DeVault
c8be7bfc1e
Fix another of @orestisf1993's issues
7 years ago
emersion
e550e22c0b
Refactor rendering code
7 years ago
Drew DeVault
1f70b94f34
Fix moving into right end of container
7 years ago
Drew DeVault
cd6e3182fa
Fix issues @orestisf1993 raised
7 years ago
Drew DeVault
b5baa78dc3
Address @emersion's comments
7 years ago
Drew DeVault
603e0e42c5
Add debug tree view
7 years ago
emersion
516f5454ad
Simplify damage tracking functions, use them in layer shell
7 years ago
emersion
290c916290
Send surface enter/leave events to view children
7 years ago
Drew DeVault
a06052ad9d
Fix splitting workspaces
7 years ago
Drew DeVault
efac07db5f
Fix workspaces not updated on swaybar
7 years ago
Drew DeVault
57954a2b24
Implement move [left|right|up|down]
...
The exact semantics of this command are complicated. I'll describe each
test scenario as s-expressions. Everything assumes L_HORIZ if not
specified, but if you rotate everything 90 degrees the same test cases
hold.
```
(container (view a) (view b focus) (view c))
-> move left
(container (view b focus) (view a) (view c))
(container (view a) (view b focus) (view c))
-> move right
(container (view a) (view c) (view b focus))
(container L_VERT (view a))
(container L_HORIZ
(view b) (view c focus))
-> move up
(container L_VERT
(view a) (view c focus))
(container L_HORIZ (view b))
(workspace
(view a) (view b focus) (view c))
-> move up
(workspace [split direction flipped]
(view b focus)
(container (view a) (view c)))
(workspace
(view a) (view b focus) (view c))
-> move down
(workspace [split direction flipped]
(container (view a) (view c))
(view b focus)))
Note: outputs use wlr_output_layout instead of assuming that i+/-1 is
the next output in the move direction.
(root
(output X11-1
(workspace 1))
(output X11-2
(workspace 1 (view a focus) (view b)))))
-> move left
(root
(output X11-1
(workspace 1 (view a focus)))
(output X11-2
(workspace 1 (view b)))))
(root
(output X11-1
(workspace 1
(container (view a) (view b)))
(output X11-2
(workspace 1 (view c focus)))))
-> move left
(root
(output X11-1
(workspace 1
(container (view a) (view b))
(view c focus)))
(output X11-2
(workspace 1)))
```
7 years ago
Drew DeVault
d77a0119f4
Avoid arranging windows while reloading config
7 years ago
Drew DeVault
cca420b2f8
Fix focus_follows_mouse issues
7 years ago
Drew DeVault
b08f7e5183
Fix deletion of still-visible workspaces on unfocus
7 years ago
emersion
88e3e5ea5d
Fix wl_output enter/leave events
...
Fixes #1739
7 years ago
emersion
c2b1beef15
Remove L_TYPES
7 years ago
emersion
254ca8103c
Merge pull request #1747 from acrisci/ipc-layout
...
ipc layout
7 years ago
Drew DeVault
f63d9417cd
Merge pull request #1743 from emersion/subsurface-damage-tracking
...
Damage tracking for view children
7 years ago
Tony Crisci
6b308dbeb7
address feedback
7 years ago
Tony Crisci
235798ff8e
dont send ipc events when there are no listeners
7 years ago
emersion
641807d920
Handle unmanaged surfaces motion
7 years ago
emersion
d65d001aa5
Fix desktop_damage_whole_surface
7 years ago
emersion
6b9b03f09f
Remove outdated TODO
7 years ago
emersion
076bedb85e
Add container_damage_whole
7 years ago
emersion
1c91d0c10f
Add damage tracking for xwayland unmanaged surfaces
7 years ago
Tony Crisci
bbfc5487bc
add layout to ipc containers
7 years ago
emersion
07f3bb3ad1
Handle xwayland configure requests for unmanaged surfaces
7 years ago
emersion
a528aea2ee
Make xwayland surface destroy more foolproof
7 years ago
emersion
7ce1038478
Fix xwayland unmanaged surfaces
7 years ago
emersion
f5e5b1819b
Track damage of xdg-shell-v6 popups
7 years ago
Drew DeVault
f242362e7e
Handle output removal on swaybar
7 years ago
emersion
45f93e1650
Accumulate damage from subsurfaces
7 years ago
Drew DeVault
94ecd0f0aa
Configure wlr_xdg_output_manager during init
7 years ago
emersion
dcd15a2d3d
Implement shell views
7 years ago
Drew DeVault
9e89daf213
Merge pull request #1734 from swaywm/resize-cmd
...
Implement resize command
7 years ago
Drew DeVault
f77986338f
Implement resize command
7 years ago
Tony Crisci
aa35715f4b
Merge pull request #1736 from acrisci/ipc-container-type
...
Ipc container type
7 years ago
Tony Crisci
04ce09630c
add type to container json
7 years ago
Tony Crisci
65f254f3fb
Merge branch 'wlroots' into fix-focus-inactive
7 years ago
Tony Crisci
deda37469a
fix focus child
7 years ago
emersion
44b8d30f52
Use new wlr_*_surface_at functions
7 years ago
emersion
8eff00f723
Remove unused SWAY_VIEW_TYPES
7 years ago
Tony Crisci
fc9398a42e
Implement opacity command
7 years ago
Tony Crisci
cfd806577b
fix sending window new event
7 years ago
Tony Crisci
3e61718053
try to fix focus-inactive
7 years ago
Drew DeVault
d2d050d59c
Address review feedback
7 years ago
Drew DeVault
b7e7794912
Implement input-inhibit in sway, swaylock
7 years ago
Drew DeVault
06fbd51ff5
Add input inhibitor to input manager
7 years ago
Drew DeVault
3ede718c06
Refocus the last focused container on lock exit
7 years ago
Tony Crisci
76b0f3531f
send window close event
7 years ago
Tony Crisci
62c79ef451
fix double free
7 years ago
Tony Crisci
741e3959e3
Merge branch 'wlroots' into split-containers2
7 years ago
Tony Crisci
9d1cbd77ac
simplify container close
7 years ago
emersion
f3ef1da750
Fix wrong output container coordinates
7 years ago
Tony Crisci
fa004dd0d7
move output create to its own file
7 years ago
Drew DeVault
deb63eda88
Merge pull request #1717 from emersion/fix-multiple-outputs
...
Fix rendering with multiple outputs
7 years ago
Tony Crisci
a001890fb8
move workspace create to workspace.c
7 years ago
Tony Crisci
97b171649d
move output damage to workspace destructor
7 years ago
emersion
c0554d23d3
Fix rendering with multiple outputs
7 years ago
Tony Crisci
035a88e0dc
rename container_finish to _container_destroy
7 years ago
Tony Crisci
481a8275c1
address feedback
7 years ago
emersion
5cd9457247
Send enter event to layer shell surfaces
7 years ago
Drew DeVault
1a5785b0c3
Merge pull request #1712 from RedSoxFan/workspace-number-names
...
Fix name generation from workspace number commands
7 years ago
Brian Ashworth
1e549230db
Fix name generation for workspace number <name>
7 years ago
Tony Crisci
a514fee1b9
rename workspace_get_initial_output
7 years ago
Tony Crisci
9b567fc37e
clean up container_get_default_layout
7 years ago
Tony Crisci
065887bb7b
move container_set_layout to layout.h
7 years ago
Tony Crisci
fcbcbf34ad
make container_finish private
7 years ago
Tony Crisci
5f4761c4f4
unify workspace create functions
7 years ago
Tony Crisci
cba258e16a
move output code out of the tree
7 years ago
Tony Crisci
09d448ea2d
unify container destroy functions
7 years ago
Tony Crisci
b4c5f79725
move view and workspace destructors to container.c
7 years ago
Tony Crisci
7afbe9284f
rename _container_destroy to container_finish
7 years ago
Tony Crisci
33006c4e64
dont deallocate in container_close
7 years ago
Tony Crisci
20f9d49b82
cleanup
7 years ago
Tony Crisci
2992b72d61
change reap container approach
7 years ago
Drew DeVault
0bf3b88019
Give layer shells under the shell layer focus
7 years ago
Drew DeVault
56078edd65
Give exclusive focus to layers above shell layer
7 years ago
Tony Crisci
2c165e1288
fix more close segfaults
7 years ago
Drew DeVault
623a08e14f
Identify topmost interactive layer post-arrange
7 years ago
Tony Crisci
32ef182f47
cleanup split command handlers
7 years ago
Tony Crisci
a89096278b
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
d434da5632
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
d070244362
fix workspace splits
7 years ago
emersion
a4a241697a
Merge branch 'wlroots' into view-redesign
7 years ago
emersion
0c0cc79282
Merge pull request #1699 from acrisci/seat-fixes
...
Seat fixes and cleanup
7 years ago
emersion
2f64ce86c4
Xwayland unmanaged views aren't views anymore
7 years ago
Drew DeVault
4134407fa9
Merge pull request #1690 from swaywm/i3bar-json
...
I3bar json
7 years ago
Tony Crisci
357a4401fa
address feedback
7 years ago
Tony Crisci
2187684bd0
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
c7a6524954
fix segfault
7 years ago
Tony Crisci
5e024278a6
Merge branch 'wlroots' into seat-fixes
7 years ago
Tony Crisci
22287b42bf
dont copy input config
7 years ago
emersion
2a8985a345
Merge pull request #1697 from RedSoxFan/back-and-forth
...
Fix back-and-forth workspace name saving for non-empty workspaces
7 years ago
Tony Crisci
35445b40a2
remove unused attachment config
7 years ago
Drew DeVault
e3689dd5a9
Fixes regarding @emersion's feedback
7 years ago
Drew DeVault
c507727ad2
Fix use-after-free with block hotspots
7 years ago
Tony Crisci
a82c107c76
80col
7 years ago
Drew DeVault
b2d871cfe2
Partially implement move command
...
Works:
- move [container|window] to workspace <name>
- Note, this should be able to move C_CONTAINER but this is untested
- move [workspace] to output [left|right|up|down|<name>]
Not implemented yet:
- move [left|right|up|down]
- move scratchpad
- move position
7 years ago
emersion
61fabede14
Address review comments
7 years ago
Tony Crisci
53bb7ea996
dont copy seat config on the seat
7 years ago
Tony Crisci
0828c77251
rename input-manager functions
7 years ago
Tony Crisci
e677c5b204
rename seat functions
7 years ago
Tony Crisci
b5d49cc4e8
remove default from kill switch
7 years ago
Tony Crisci
27e394f8b0
fix children list segfault
7 years ago
Tony Crisci
eda425fdab
fix some segfaults
7 years ago
emersion
1d68f9ecca
Add sway_view_impl
7 years ago
emersion
b2c2ee693b
Introduce common functions to create, map, unmap, destroy views
7 years ago
Tony Crisci
2aec85bf24
clean up view destroy seat cleanup
7 years ago
Tony Crisci
6f7b33e691
handle container destroy in the seat
7 years ago
Tony Crisci
e7ecb001d7
reap container parent on destroy
7 years ago
Tony Crisci
f7a20726fc
temporarily add LD_LIBRARY_PATH stuff
7 years ago
Tony Crisci
7706d83160
basic split containers
7 years ago
Drew DeVault
122b96abed
Merge pull request #1684 from swaywm/follow-warp
...
Implement focus_follows_mouse, mouse_warping
7 years ago
Drew DeVault
f2332dc75c
Address review feedback
7 years ago
emersion
8aedc042ee
Fix two segfaults when destroying outputs
7 years ago
Drew DeVault
b9d2983324
Fix interaction between warping and following
7 years ago
Drew DeVault
9b38ef950f
Implement focus_follows_mouse
...
Also contains two other small changes:
- Clicking any button will focus the container clicked (not just left)
- Remove seamless_mouse (doesn't make sense on wlroots)
7 years ago
Drew DeVault
ae6d459000
Implement mouse warping
7 years ago
Drew DeVault
89ca6676be
Merge pull request #1681 from emersion/xwayland-configure-position
...
Fix various xwayland issues
7 years ago
emersion
98b67e2399
Fix xwayland configure in set_size
7 years ago
Drew DeVault
a1e7ffd857
Merge pull request #1677 from emersion/maximize-xwayland-views
...
Maximize xwayland views by default
7 years ago
Brian Ashworth
c901510e01
Fixes back-and-forth name saving for non-empty ws
7 years ago
emersion
0f7936735c
Fix unmanaged views rendering on all outputs
7 years ago
emersion
6579717994
Fix xwayland configure position
7 years ago
Drew DeVault
eb5a8e03ff
Check for null container
7 years ago
Drew DeVault
e4fd47d3a1
Merge pull request #1682 from emersion/unmanaged-no-container
...
Make it clear that unmanaged views don't have a container
7 years ago
Drew DeVault
ccdcaa478f
Fix bug with previous commit
7 years ago
emersion
a44a71c116
Make it clear that unmanaged views don't have a container
...
view->swayc is NULL anyway.
7 years ago
Drew DeVault
8aa195e311
Fix #1104
7 years ago
Drew DeVault
5c08e13e50
Set Xwayland seat on focus
...
Necessary to make primary selection syncronize
7 years ago
Drew DeVault
ae0552606b
Configure linux_dmabuf, primary_selection
7 years ago
Drew DeVault
6a1a94b87c
Merge pull request #1678 from emersion/xwayland-xcursor
...
Set xwayland cursor
7 years ago
Drew DeVault
18173fb5ad
Free bar configs on reload and exit
7 years ago
emersion
b237fa0b22
Set xwayland cursor
7 years ago
emersion
5f3fce7519
Maximize xwayland views by default
7 years ago
Drew DeVault
212b503992
Use wlr_surface_point_accepts_input
7 years ago
Drew DeVault
f5470f3338
Pass pointer events to surface layers
7 years ago
emersion
9665642765
Merge branch 'wlroots' into client-cursors
7 years ago
Drew DeVault
1b88eaee6b
Merge pull request #1665 from emersion/damage-tracking-lite
...
Add lite damage tracking
7 years ago
Drew DeVault
e6fa7a722e
Merge pull request #1669 from emersion/workspace-pointer-events
...
Fix pointer events for hidden workspaces
7 years ago
emersion
139f80b0f0
Handle map/unmap events in xdg-shell-v6
7 years ago
emersion
3a68c012a9
Remove debug, add explicit TODO
7 years ago
emersion
50219564c2
Fix white screen due to bad cast
7 years ago
emersion
a776ecbb86
Add lite damage tracking
...
This skips the renderer if nothing has changed, and renders
everything otherwise.
7 years ago
Tony Crisci
7e0d430a0c
Merge branch 'wlroots' into wlroots-xwayland-map
7 years ago
emersion
eb716c6c43
Fix segfaults when focusing a workspace
7 years ago
emersion
03255fd202
Fix pointer events for hidden workspaces
7 years ago
Drew DeVault
88f08a42f3
Fix segfault when reaping invisible workspaces
7 years ago
Drew DeVault
b28e6d2369
IPC fixes
7 years ago
Drew DeVault
49379dd0fc
Fix workspace deletion edge cases
7 years ago
emersion
cf09ea184b
Use the new map/unmap events for xwayland views
7 years ago
Drew DeVault
a5e457d59a
Add xwayland views to focused container
7 years ago
emersion
1592543fd6
Merge pull request #1659 from swaywm/default-orientation
...
Add default_orientation command
7 years ago
Drew DeVault
b6b674fd76
Merge pull request #1657 from emersion/render-fixes
...
Misc minor fixes
7 years ago
emersion
681f38c878
Fix segfault on xwayland unmanaged view unmap
7 years ago
emersion
6c9d67b105
Handle set_cursor requests from clients
...
Allow clients to set a custom cursor if they have the seat's
pointer focus.
7 years ago
Drew DeVault
01af343912
Destroy empty workspaces when moving away
7 years ago
Drew DeVault
69eb021767
Add default_orientation command
7 years ago
emersion
28cb412b0d
Unify initial xwayland view mapping with map handler
7 years ago
emersion
981827ca42
Cleanup and remove global renderer reference
7 years ago
Drew DeVault
2d46050281
Fix crash when override redirect views close
7 years ago
Drew DeVault
e62cc0ac26
Finish porting over workspace_next_name
7 years ago
Drew DeVault
00d450e554
Use output coords for layer surfaces
...
This will need to be more carefully thought out when we get the
output_layout working entirely.
7 years ago
Drew DeVault
d6acb3d86c
Set WAYLAND_DISPLAY earlier in startup
7 years ago
Drew DeVault
f26ecd9f58
Merge remote-tracking branch 'origin/wlroots' into swaybar-layers
7 years ago
Tony Crisci
8f490d7d2d
Fix oversights from previous pull request
7 years ago
Tony Crisci
dc8c9fbeb6
Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
...
This reverts commit 472e81f35d
, reversing
changes made to 6b7841b11f
.
7 years ago
Drew DeVault
d0c7f66e95
Revert "Refactor tree"
7 years ago
Drew DeVault
6b7841b11f
Merge pull request #1647 from acrisci/refactor-tree
...
Refactor tree
7 years ago
Tony Crisci
2778edef97
arrange windows
7 years ago
Tony Crisci
92c58b1e63
rename container_for_each_descendent
7 years ago
Drew DeVault
dbda7bfbed
Move declaration into loop
7 years ago
Drew DeVault
ddc09940b1
Exit ipc_get_workspace_callback early
7 years ago
Drew DeVault
8efee109ad
Implement modes
7 years ago
Drew DeVault
741424c4e7
Clean up imported bar commands
7 years ago
Drew DeVault
849c3515ab
Use statically allocated text buffer
7 years ago
Drew DeVault
c91adbd188
Fix failure to rearrange output in some cases
7 years ago
Drew DeVault
f3fbf19312
Do some small cleanup
...
- Fix workspace events (security config isn't in use so it wasn't being
sent)
- Kill status bar process when swaybar exits
- Don't rearrange windows on every layer surface commit
7 years ago
Drew DeVault
5f5076baff
Call arrange_windows on layer destroy
7 years ago
Drew DeVault
8b5b72c576
Restart swaybar on config reload
7 years ago
Drew DeVault
2e84f21ab7
Terminate swaybar when freeing bar config
7 years ago
Drew DeVault
2719ddfe5e
Spawn swaybars when outputs are added
7 years ago
Drew DeVault
5c9cdbcdd2
Add swaybg_command
7 years ago
Drew DeVault
569b2bfd5d
Move bar config into its own file
7 years ago
Drew DeVault
bf7a4cd0eb
Add bar configuration commands
7 years ago
Drew DeVault
6836074fed
Implement enough IPC for swaybar to work
7 years ago