aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-22swaybar: fix workspace commandIan Fan
Escape quotes and backslashes, allowing switching to workspace names like "1" (including quotes) and \
2019-01-22Merge pull request #3496 from mstoeckl/fix-sanDrew DeVault
Fix dead stores found by scan-build
2019-01-22Fix dead stores found by scan-buildM Stoeckl
In addition to removing unused code, two minor problems are fixed: (1) `resize set` and `resize adjust` did not error when given too many arguments. (2) `orientation` was incorrectly overridden to be 'U' for scroll events in the swaybar tray `handle_click` function.
2019-01-22Merge pull request #3494 from ianyfan/commandsDrew DeVault
i3 command behaviour compatibility fixes
2019-01-22root_scratchpad_remove_container: do not showBrian Ashworth
This removes the call to `root_scratchpad_show` from `root_scratchpad_remove_container` and places it in the `cmd_move_container`. This also moved the IPC `window::move` event to `cmd_scratchpad`.
2019-01-22util.c: remove numlen functionIan Fan
Its uses have been replaced by snprintf, which is more in line with its usage.
2019-01-22commands: allow setting floating on scratchpad containersIan Fan
2019-01-22commands: allow tiled containers to be stickiedIan Fan
This also stops stickied containers from losing its sticky status when it is tiled, allowing it to be immediately stickied when floated again.
2019-01-22Remove assumption that noop output will be called NOOP-1Ryan Dwyer
2019-01-22Don't allow noop output to be configuredRyan Dwyer
2019-01-22Hide noop output in IPCRyan Dwyer
2019-01-22Prevent noop output from being enabledRyan Dwyer
2019-01-22Use noop output when there's no outputs connectedRyan Dwyer
Instead of having NULL workspace->output pointers, use a noop output. This should be safer.
2019-01-22seat_create: set initial focus for added seatsBrian Ashworth
This sets the initial focus for all seats other than the first seat, which gets it focus on launch. The ensures that all seats have something focused.
2019-01-22swaynag: Small graphical fix, add offset of +1 to X/Y.Connor E
2019-01-22Merge pull request #3485 from mstoeckl/minimize-depsBrian Ashworth
Remove wlroots dependency for sway(bar|bg|msg|nag)
2019-01-21Removed unused wlroots dependency for sway(bg|bar|msg|nag)M Stoeckl
Also remove direct libm dependency where unused.
2019-01-21Fix edge case bug in numlen, dropping use of math.h functionsM Stoeckl
(Specifically, numlen when called with INT_MIN gave an incorrect result, because abs(INT_MIN) == INT_MIN < 0.)
2019-01-21Move sway-specific functions in common/util.c into sway/M Stoeckl
Modifier handling functions were moved into sway/input/keyboard.c; opposite_direction for enum wlr_direction into sway/tree/output.c; and get_parent_pid into sway/tree/root.c .
2019-01-21swaybar: fix setting floating watcher slotsIan Fan
2019-01-21Merge pull request #3480 from RedSoxFan/input-modes-improved-toggleDrew DeVault
input_cmd_events: allow toggle modes to be listed
2019-01-21Merge pull request #3482 from emersion/meson-systemd-versionDrew DeVault
meson: set minimum systemd version
2019-01-21Fix one remaining wlr_log callemersion
2019-01-21Replace wlr_log with sway_logM Stoeckl
This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
2019-01-21meson: set minimum systemd versionemersion
sd_bus_slot_set_floating has been introduced in systemd 239.
2019-01-21Log libinput_config_status errorsBrian Ashworth
This add errors from calls to `libinput_device_config_*_set` to the debug log. This may be useful when looking at issues related to input devices and config settings not working.
2019-01-21input_cmd_events: allow toggle modes to be listedBrian Ashworth
This extends `input <identifier> events toggle` to allow for an optional list of modes to toggle through. If no event modes are listed, all supported modes are cycled through (current behavior). If event modes are listed, they will be cycled through, defaulting to the first mode listed when the current mode is not in the list. This modes listed will also not be checked to see if the device supports them and may fail.
2019-01-20Allocate minimum size necessary in pango text functions. (#3473)Connor Edwards
* Allocate minimum size necessary in pango text functions. * Handle malloc failure.
2019-01-20Merge pull request #3468 from emersion/fix-output-gain-crtcDrew DeVault
Fix re-enabling outputs gaining a CRTC
2019-01-19Fix backup methods in get_socketpath for IPC clientM Stoeckl
Previously, the success of `getline` was tested by checking if the buffer it allocates is nonempty and has a nonzero first byte. As `getline` does not explicitly zero out its memory buffer, this may fail (e.g., with AddressSanitizer). Instead, we check that at least one character was returned on standard output. Also, trailing newlines (if present) are now removed.
2019-01-19apply_output_config: remove output_iBrian Ashworth
output_i was used in apply_output_config when swaybar used wl_output index numbers instead of xdg-output names. This is no longer needed.
2019-01-19Fix re-enabling outputs gaining a CRTCemersion
If output->configured is true, then the output has been modeset correctly and we don't need to try again. If output->enabled is true, then we are in the process of configuring the output and we shouldn't do anything.
2019-01-19swaynag: fix XDG_CONFIG_HOME handlingemersion
2019-01-19Fix memory leaks in swaybarM Stoeckl
2019-01-19Prevent crashes in handle_transform and handle_scale tooemersion
2019-01-19Fix crash in cursor_rebase with multiple screensemersion
Designing the output configuration sequence without invalid state is tricky. We have one function, apply_output_config, that takes an output and (besides other things) performs a modeset and inserts the output in the output layout. The modeset can fail, in which case we don't want the output to be enabled. We also have an output_enable function, which calls output_apply_config and also configures the output's workspace and inserts it in the root container. Now, we have two choices. Either we configure the output before it's been inserted in the root container and then, if the modeset was successful, we insert it and create the workspace. The main issue with this approach is that configuring the output triggers a handful of signals, namely wlr_output.mode and wlr_output_layout.change. In those event handlers, we need to make sure to ignore these outputs in the process of being configured. Either we first insert the output, create the workspace and then try to configure it. It means we need to undo everything if the modeset fails. The main issue with this solution is that it enables and disables the output very quickly, creates a workspace and immediately destroys it, and maybe moves views back and forth (see output_evacuate). I've tried to make it so an output isn't enabled then immediately disabled. We already have code for ignoring outputs when the output is being destructed. Fixes https://github.com/swaywm/sway/issues/3462
2019-01-19Merge pull request #3464 from emersion/meson-check-wlroots-xwaylandScott Anderson
Make sure wlroots has been built with xwayland
2019-01-18meson: make sure wlroots has been built with xwaylandemersion
2019-01-18Merge pull request #3452 from emersion/meson-featuresDrew DeVault
Use Meson feature options
2019-01-18Merge pull request #3460 from emersion/output-enable-segfaultDrew DeVault
Fix segfault in output_enable
2019-01-18Fix segfault in output_enableemersion
2019-01-18Merge pull request #3457 from emersion/swaybg-no-escapeDrew DeVault
Don't escape swaybg arguments anymore
2019-01-18Merge pull request #3455 from emersion/output-no-crtcDrew DeVault
Better handle outputs without CRTC
2019-01-18Better handle outputs without CRTCemersion
This happens if you plug in more outputs than supported by your GPU. This patch makes it so outputs without CRTCs appear as disabled. As soon as they get a CRTC (signalled via the mode event), we can enable them.
2019-01-18output: remove output_add_listenersemersion
Simplify the code by registering signals when outputs are created and removing signals when they are destroyed.
2019-01-18Don't escape swaybg arguments anymoreemersion
swaybg used to be invoked with sh, which made escaping necessary. This is no longer necessary. Fixes https://github.com/swaywm/sway/issues/3456
2019-01-18meson: remove extraneous parenthesesemersion
2019-01-18meson: remove rpath optionsemersion
2019-01-18meson: remove unused dependenciesemersion
2019-01-18meson: add gdk-pixbuf and man-pages optionsemersion