summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Merge pull request #2174 from martinetd/view-from-surfaceLibravatar Drew DeVault2018-06-30
|\ | | | | sway views: add helpers to get view and layer from wlr_surface
| * sway views: add helpers to get view and layer from wlr_surfaceLibravatar Dominique Martinet2018-06-30
|/
* Merge pull request #2072 from RyanDwyer/atomicLibravatar Drew DeVault2018-06-30
|\ | | | | Atomic layout updates
| * Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-30
| |\ | |/ |/|
* | Merge pull request #2179 from atomnuker/masterLibravatar emersion2018-06-30
|\ \ | | | | | | Fix crash with stacking layout after f42bf0ad4
| * | Fix crash with stacking layout after f42bf0ad4Libravatar Rostislav Pehlivanov2018-06-30
|/ / | | | | | | The "simple" rendering function only applies to tiled views.
* | Merge pull request #2175 from apreiml/fix-swaymsg-error-outputLibravatar emersion2018-06-30
|\ \ | | | | | | fix swaymsg: errors are displayed again
| * | refactor success_objectLibravatar Armin Preiml2018-06-30
| | |
| * | fix swaymsg: errors are displayed againLibravatar Armin Preiml2018-06-30
| | | | | | | | | | | | | | | Command errors didn't get displayed, because the success function didn't accept objects
* | | Merge pull request #2171 from atomnuker/masterLibravatar emersion2018-06-30
|\ \ \ | | | | | | | | Revert "Don't unmaximize floating views"
| * | | container_at_view: don't offset the view by the window geometryLibravatar Rostislav Pehlivanov2018-06-30
| | | | | | | | | | | | | | | | | | | | Fixes floating window input offsets. As discussed on IRC with emersion, this shouldn't have been done in the first place.
| * | | Revert "Don't unmaximize floating views"Libravatar Rostislav Pehlivanov2018-06-30
|/ / / | | | | | | | | | This reverts commit 97672295ed50d1d6272876c4a3b6b5607cab05c6.
* | | Merge pull request #2173 from emersion/fix-floating-no-frame-eventLibravatar Ryan Dwyer2018-06-30
|\ \ \ | |/ / |/| | Fix floating views not receiving frame events
| * | Fix floating views not receiving frame eventsLibravatar emersion2018-06-30
|/ / | | | | | | | | | | That happened when they were in tabbed or stacked containers. Fixes #2161
| * Fix compile errorLibravatar Ryan Dwyer2018-06-30
| |
| * Fix flash of background when xwayland views are mappedLibravatar Ryan Dwyer2018-06-30
| | | | | | | | | | | | | | | | | | | | | | 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.
| * Render saved buffers with the surface's dimensionsLibravatar Ryan Dwyer2018-06-29
| |
| * Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-29
| |\ | |/ |/|
* | Merge pull request #2172 from apreiml/fix-keybinding-modifier-handlingLibravatar Drew DeVault2018-06-28
|\ \ | | | | | | fix handling key modifiers if not pressed at first
| * | fix handling key modifiers if not pressed at firstLibravatar Armin Preiml2018-06-28
| | | | | | | | | | | | fixes #2169
* | | Merge pull request #2170 from apreiml/masterLibravatar emersion2018-06-27
|\| | | | | | | | fix accidently removing borders on XCB_CONFIGURE_REQUEST
| * | fix accidently removing borders on XCB_CONFIGURE_REQUESTLibravatar Armin Preiml2018-06-27
|/ / | | | | | | | | | | | | 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.
* | Merge pull request #2168 from BlueGone/input-cmd-arg-nbLibravatar emersion2018-06-27
|\ \ | | | | | | Check if command input has at least 2 arguments
| * | Check if command input has at least 2 argumentsLibravatar Thomas Plaçais2018-06-27
|/ /
* | Merge pull request #2145 from emersion/xwayland-wants-floatLibravatar Drew DeVault2018-06-26
|\ \ | | | | | | Automatically float xwayland windows
| * \ Merge branch 'master' into xwayland-wants-floatLibravatar Ryan Dwyer2018-06-27
| |\ \ | |/ / |/| |
* | | Merge pull request #2162 from martinetd/float_xdg_shellLibravatar Drew DeVault2018-06-26
|\ \ \ | | | | | | | | xdg_shell: make view floating if a parent has been set
| * \ \ Merge branch 'master' into float_xdg_shellLibravatar emersion2018-06-26
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #2164 from ael-code/background_fixesLibravatar Drew DeVault2018-06-26
|\ \ \ \ | | | | | | | | | | output bg command: fix memleak and refactoring
| * | | | cleanup output-background subcommand handlingLibravatar ael-code2018-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
| * | | | fix memleak on background cmd errorLibravatar ael-code2018-06-26
|/ / / / | | | | | | | | | | | | | | | | - src must be free after join_args() - wordfree must bee used after wordexp
* | | | Merge pull request #2163 from martinetd/use-after-freeLibravatar Ryan Dwyer2018-06-26
|\ \ \ \ | | | | | | | | | | layer shell: fix some use after free on destroy
| * | | | layer_shell: order destroying before sway_outputLibravatar Dominique Martinet2018-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | layer_shell: cleanup output link on output destroyLibravatar Dominique Martinet2018-06-26
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * / / xdg_shell: make view floating if a parent has been setLibravatar Dominique Martinet2018-06-26
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | Merge pull request #2159 from acrisci/focus-dont-follow-keyboard-grabLibravatar Drew DeVault2018-06-24
|\ \ \ | | | | | | | | dont focus-follow-mouse when keyboard grab
| * | | dont focus-follow-mouse when keyboard grabLibravatar Tony Crisci2018-06-24
|/ / /
| * | xwayland: accept configure requests from floating viewsLibravatar emersion2018-06-24
| | |
| * | Automatically float xwayland windowsLibravatar emersion2018-06-18
| | |
| | * Add comment about usage to arrange_windows declarationLibravatar Ryan Dwyer2018-06-29
| | |
| | * Replace list_empty with a simple alternativeLibravatar Ryan Dwyer2018-06-29
| | |
| | * Fix crash when moving last child of a container to workspace or outputLibravatar Ryan Dwyer2018-06-29
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * Allow views to skip configuresLibravatar Ryan Dwyer2018-06-27
| | | | | | | | | | | | | | | To do this properly, the transaction queue will only be processed if it can be completely processed.
| | * Move unsetting of view->surface into view_unmapLibravatar Ryan Dwyer2018-06-27
| | |
| | * Fix memleak in container_get_boxLibravatar Ryan Dwyer2018-06-27
| | | | | | | | | | | | | | | | | | | | | 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.
| | * Remove transaction_add_damageLibravatar Ryan Dwyer2018-06-27
| | | | | | | | | | | | Instead, damage each container when applying the transaction.
| | * Fix nitpicksLibravatar Ryan Dwyer2018-06-27
| | |
| | * Remove incorrect assertion and supporting codeLibravatar Ryan Dwyer2018-06-26
| | | | | | | | | | | | | | | Children can exist when destroying a container, such as when destroying the last output. Sway is not terminating in that case.
| | * Fix crash when closing output window from outer sessionLibravatar Ryan Dwyer2018-06-26
| | | | | | | | | | | | | | | | | | 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.
| | * Fix crash when disconnecting outputLibravatar Ryan Dwyer2018-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.