aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* ipc: describe libinput device configurationLibravatar Brian Ashworth2019-03-07
| | | | | | | | This adds the device configurations to the ipc response for libinput devices. Only supported configuration options for the device will be added. This also moves `libinput_send_events` inside a new `libinput` object that contains the rest of the configuration options. sway-ipc(7) has been updated to reflect the changes and document the new additions.
* ipc: fix fullscreen deco_rectLibravatar Brian Ashworth2019-03-06
| | | | | | This fixes the deco_rect reported by the ipc for fullscreen containers to be all zeroes. Children of the fullscreen container should still have their decorations reported correctly
* ipc: fix rect for stacked childrenLibravatar Brian Ashworth2019-03-06
| | | | | This now takes all titlebars for stacked children into account for the ipc property `rect`
* Fix container_parent_layout for scratchpad windowsLibravatar emersion2019-03-06
|
* ipc: change {,deco_}rect to match i3Libravatar Brian Ashworth2019-03-06
| | | | | | | | | | | | This fixes the `deco_rect` and `rect` properties in the IPC responses to match i3's behavior. `deco_rect` should be relative to the parent node, not the current node. This also takes tabbed and stacked decorations into account and will calculate `deco_rect` for all containers since tabbed and stacked child containers will have decorations. `rect` should exclude the window decorations.
* Set DISPLAY after initializing XwaylandLibravatar emersion2019-03-04
| | | | This is necessary after https://github.com/swaywm/wlroots/pull/1596
* meson: update scdoc requirement to >= 1.9.2Libravatar Brian Ashworth2019-03-04
| | | | | | | | Since scdoc 1.9.1 is bugged, this updates the meson version check to >= 1.9.2 and drops the version requirement from the README. This should make it more obvious to users who have 1.9.1 that they need to update scdoc to be able to compile man pages and hopefully cut down on the duplicate issues
* Allow concurrent clicksLibravatar Ryan Dwyer2019-03-04
| | | | | | | | | | | | | | | | | | | | | If two cursor buttons are pressed at the same time, the client will now be notified of the second button press. The main reason for not sending the concurrent presses was due to an early return in dispatch_cursor_button if a seatop is in progress. This patch makes it call seat_pointer_notify_button prior to returning. But it also has to make sure there's not a mismatch in events such as a release without a press. Prior to this patch, the down seatop would send press and release events in its begin and finish functions. No other seatops did this. A press event would be sent prior to starting tiling drag, but never an associated release. After this patch, no seatops send their own press or release events. We send them prior to calling the seatop begin functions, then the first part of dispatch_cursor_button handles all presses during seatops and when releasing the seatop.
* sway.1.scd: document environment vars set by swayLibravatar Brian Ashworth2019-03-03
| | | | | This just documents the few environment variables set by sway in sway.1.scd
* render_floating: skip fullscreen floatersLibravatar Brian Ashworth2019-03-03
| | | | | | | | If a floater is fullscreen either on a workspace or globally, it should not be rendered on any output is is not fullscreened on. When rendering it on an output it should not be rendered on, there will be an extraneous border along the adjacent side of the output. This adds a check in render_floating to skip all fullscreened floaters
* Fixes crash in spawn_swaybg (closes #3733)Libravatar Noam Preil2019-03-03
|
* floating_maximum_size: change default behaviorLibravatar Brian Ashworth2019-03-02
| | | | | | | | | | | | | This changes the way zero (which is the default) is interpreted for both the width and height of `floating_maximum_size`. It now refers to the width and height of the entire output layout, which matches i3's behavior. This also removes duplicated code to calculate the floating constraints in three files. Before this, `container_init_floating` used two-thirds of the workspace width/height as the max and the entire workspace width/height was used everywhere else. Now, all callers use a single function `floating_calculate_constraints`.
* Minor fix of code duplication.Libravatar hugbubby2019-03-02
| | | | Removes 3~ lines of code that didn't need to be restated.
* ci: use scdoc-git because 1.9.1 is brokenLibravatar emersion2019-03-01
|
* meson: check scdoc versionLibravatar emersion2019-03-01
|
* seat: don't send button release when not pressedLibravatar emersion2019-02-28
| | | | | | | | | All seat operations except "down" eat the button pressed event and don't send it to clients. Thus, when ending such seat operations we shouldn't send the button released event. This commit moves the logic used to send pressed/released into the "down" operation.
* tray: fix pixmap colorsLibravatar Ian Fan2019-02-28
| | | | by converting from network byte order to host byte order
* Merge pull request #3790 from RedSoxFan/sway-ipc-clarify-window-rectLibravatar Drew DeVault2019-02-27
|\ | | | | sway-ipc.7: clarify window_rect omits decorations
| * sway-ipc.7: clarify window_rect omits decorationsLibravatar Brian Ashworth2019-02-27
|/ | | | | | According to the i3 ipc documentation, `window_rect` excludes the window decorations from the calculation. This just clarifies that in `sway-ipc.7.scd`
* Add output dpms to manpageLibravatar emersion2019-02-27
|
* Merge pull request #3766 from RedSoxFan/sway-ipc-scdocLibravatar Drew DeVault2019-02-27
|\ | | | | Add sway-ipc.7.scd to document IPC protocol
| * Add sway-ipc.7.scd to document IPC protocolLibravatar Brian Ashworth2019-02-27
| | | | | | | | | | | | | | This add `sway-ipc.7.scd` that documents the IPC protocol. This also increased the minimum scdoc version from 1.8.1 to 1.9.0 to allow for table cells to be continued on the following line
* | Merge pull request #3786 from emersion/wlroots-versionLibravatar Drew DeVault2019-02-27
|\ \ | | | | | | Set minimum wlroots version
| * | Set minimum wlroots versionLibravatar emersion2019-02-27
| | |
* | | Merge pull request #3787 from emersion/meson-print-featuresLibravatar Drew DeVault2019-02-27
|\ \ \ | |/ / |/| | Print Meson features
| * | Print Meson featuresLibravatar emersion2019-02-27
|/ /
* | config: remove double assignement to result in get_output_configLibravatar Rouven Czerwinski2019-02-27
| |
* | cursor: intitialize sx and sy to zeroLibravatar Rouven Czerwinski2019-02-27
| | | | | | | | | | If node_at_coords does an early return without setting these values, they can be used uninitialized later. Initialize both to zero.
* | cursor: remove unused node assignementLibravatar Rouven Czerwinski2019-02-27
| | | | | | | | | | The node variable is not used before its reassigned later in the function, remove the assignement.
* | execute_command: do not strip qoutes for cmd_modeLibravatar Brian Ashworth2019-02-26
| | | | | | | | | | | | | | | | | | `cmd_mode` performs its own quote stripping for the mode string to avoid double stripping quotes for `cmd_bindcode` and `cmd_bindsym` in `config_command` and `execute_command`. Stripping quotes in `execute_command` for `cmd_mode` will also result in double stripping, which will cause issues for any mode string with spaces, such as pango markup.
* | fix smart_borders description in manualLibravatar Carlo Abelli2019-02-25
| | | | | | | | The wording for smart_borders was opposite the actual behavior.
* | Allow 0 degree transform (normal transform).Libravatar Connor E2019-02-25
| |
* | swaybar: add overlay mode (fix #1620)Libravatar Milkey Mouse2019-02-24
| | | | | | | | | | Overlay mode puts the bar above normal windows and passes through/ignores any touch/mouse/keyboard events that would be sent to it.
* | add --i3 flag to hide_edge_bordersLibravatar db2019-02-24
|/ | | | | | | Enables i3-compatible behavior regarding hiding the title bar on tabbed and stacked containers with one child. Related issues and merge requests: #3031, #3002, #2912, #2987.
* Make load_include_configs void. Fix some cases where WD would not be restored.Libravatar Connor E2019-02-24
|
* Fix crash exiting fullscreened floating containerLibravatar minus2019-02-23
| | | | | | | | container_floating_move_to_center and container_fullscreen_disable were calling recursively when the container spawned as a fullscreen floating container (via for_window). Such a window now doesn't crash sway anymore but is still configured with a wrong, zero size, making it not directly usable.
* ipc: add missing fields to disabled outputsLibravatar Caleb Bassi2019-02-23
| | | | | | i3 requires all outputs to have certain fields, including 'primary', 'current_workspace', and 'rect' which were missing on disabled outputs. https://i3wm.org/docs/ipc.html#_outputs_reply
* swaybar: cycle workspaces on touch dragLibravatar Drew DeVault2019-02-23
|
* swaybar: process hotspots on touch tapLibravatar Drew DeVault2019-02-23
|
* Merge pull request #3700 from emersion/refactor-dndLibravatar Drew DeVault2019-02-23
|\ | | | | Update for swaywm/wlroots#1517
| * Update for swaywm/wlroots#1517Libravatar emersion2019-02-23
|/
* handle_seat_node_destroy: update seat->workspaceLibravatar Brian Ashworth2019-02-23
| | | | | | | If an unmanaged or layer surface is focused when an output gets disabled and an empty workspace on the output was focused by the seat, the seat needs to refocus it's focus inactive to update the value of `seat->workspace`.
* fish: improve completions a little bitLibravatar Tim Sampson2019-02-23
|
* handle_layer_shell_surface: do not use noop outputLibravatar Brian Ashworth2019-02-23
| | | | | | | | If the noop output is focused (all other outputs disabled/disconnected), do not auto assign a layer surface to it. The noop output is not enabled and does not have the `output->layers` list initialized. It also does not make sense to map the layer surfaces to something that is not visible.
* view: set xdg_decoration->view to NULL, check decoration destroyLibravatar Rouven Czerwinski2019-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes heap-use-after-free: ==32046==ERROR: AddressSanitizer: heap-use-after-free on address 0x615000064d20 at pc 0x55571ce4d303 bp 0x7fff545c64c0 sp 0x7fff545c64b0 WRITE of size 8 at 0x615000064d20 thread T0 #0 0x55571ce4d302 in xdg_decoration_handle_destroy ../sway/xdg_decoration.c:13 #1 0x7f64009d6f36 in wlr_signal_emit_safe ../util/signal.c:29 #2 0x7f64009d3c46 in toplevel_decoration_handle_resource_destroy ../types/wlr_xdg_decoration_v1.c:65 #3 0x7f6400a19f8d (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x7f8d) #4 0x7f6400a19fed in wl_resource_destroy (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x7fed) #5 0x7f64009d3d1f in toplevel_decoration_handle_surface_destroy ../types/wlr_xdg_decoration_v1.c:82 #6 0x7f64009d6f36 in wlr_signal_emit_safe ../util/signal.c:29 #7 0x7f64009b059c in reset_xdg_surface ../types/xdg_shell/wlr_xdg_surface.c:453 #8 0x7f64009b0688 in destroy_xdg_surface ../types/xdg_shell/wlr_xdg_surface.c:483 #9 0x7f64009af08c in xdg_client_handle_resource_destroy ../types/xdg_shell/wlr_xdg_shell.c:71 #10 0x7f6400a19f8d (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x7f8d) #11 0x7f6400a1e211 (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0xc211) #12 0x7f6400a1e6fe (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0xc6fe) #13 0x7f6400a1a0ec in wl_client_destroy (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x80ec) #14 0x7f6400a1a1c4 (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x81c4) #15 0x7f6400a1b941 in wl_event_loop_dispatch (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x9941) #16 0x7f6400a1a569 in wl_display_run (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x8569) #17 0x55571ce4c7fd in server_run ../sway/server.c:214 #18 0x55571ce4ad59 in main ../sway/main.c:405 #19 0x7f640071109a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) #20 0x55571ce2cfa9 in _start (/usr/local/bin/sway+0x35fa9) 0x615000064d20 is located 32 bytes inside of 504-byte region [0x615000064d00,0x615000064ef8) freed by thread T0 here: #0 0x7f6401531b70 in free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xedb70) #1 0x55571ce6c72b in destroy ../sway/desktop/xdg_shell.c:252 #2 0x55571cee3f7b in view_destroy ../sway/tree/view.c:60 #3 0x55571cee4090 in view_begin_destroy ../sway/tree/view.c:73 #4 0x55571ce6dd95 in handle_destroy ../sway/desktop/xdg_shell.c:464 #5 0x7f64009d6f36 in wlr_signal_emit_safe ../util/signal.c:29 #6 0x7f64009b059c in reset_xdg_surface ../types/xdg_shell/wlr_xdg_surface.c:453 #7 0x7f64009b0688 in destroy_xdg_surface ../types/xdg_shell/wlr_xdg_surface.c:483 #8 0x7f64009af08c in xdg_client_handle_resource_destroy ../types/xdg_shell/wlr_xdg_shell.c:71 #9 0x7f6400a19f8d (/usr/lib/x86_64-linux-gnu/libwayland-server.so.0+0x7f8d) previously allocated by thread T0 here: #0 0x7f6401532138 in calloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xee138) #1 0x55571ce6df39 in handle_xdg_shell_surface ../sway/desktop/xdg_shell.c:485 #2 0x7f64009d6f36 in wlr_signal_emit_safe ../util/signal.c:29 #3 0x7f64009b0167 in handle_xdg_surface_commit ../types/xdg_shell/wlr_xdg_surface.c:350 #4 0x7f64009ce2a5 in surface_commit_pending ../types/wlr_surface.c:372 #5 0x7f64009ce523 in surface_commit ../types/wlr_surface.c:444 #6 0x7f63ff63ddad in ffi_call_unix64 (/usr/lib/x86_64-linux-gnu/libffi.so.6+0x5dad) Fixes #3759
* input/cursor: allow whole-window bindings on wsLibravatar Brian Ashworth2019-02-22
| | | | | To match i3's behavior, this allows mouse bindings to be triggered over a workspace when `--whole-window` is given.
* Merge pull request #3740 from Emantor/fix/ipc_allocsLibravatar Ian Fan2019-02-22
|\ | | | | Fix small memory leaks reported in #3658
| * run_as_ipc_client: free response after running the IPC commandLibravatar Rouven Czerwinski2019-02-21
| | | | | | | | | | | | | | | | | | | | | | | | Fixes memory leaks in the form of: Direct leak of 24 byte(s) in 1 object(s) allocated from: #0 0x7f5f7c2f4f30 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xedf30) #1 0x563c799569f2 in ipc_recv_response ../common/ipc-client.c:94 #2 0x563c79957062 in ipc_single_command ../common/ipc-client.c:138 #3 0x563c798a56cc in run_as_ipc_client ../sway/main.c:127 #4 0x563c798a6a3a in main ../sway/main.c:349 #5 0x7f5f7b4d609a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
| * ipc-client: free payload after sending it over the socketLibravatar Rouven Czerwinski2019-02-21
| | | | | | | | | | | | | | | | | | | | Fixes memory leaks in the form of: Direct leak of 20 byte(s) in 1 object(s) allocated from: #0 0x7f5f7c2f4f30 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xedf30) #1 0x563c7995b36a in join_args ../common/stringop.c:268 #2 0x563c798a6a1a in main ../sway/main.c:348 #3 0x7f5f7b4d609a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
* | move scratchpad: hide visible scratchpad containerLibravatar Brian Ashworth2019-02-22
| | | | | | | | | | | | | | This makes it so running `move [to] scratchpad` on a container already in the scratchpad does not return an error. To match i3's behavior, a visible scratchpad container will be hidden and a hidden scratchpad container will be treated as a noop.