aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-16Prevent duplicate workspace::focus eventsRyan Dwyer
Previously we would compare the last focus's workspace with the new focus's workspace to determine if we need to emit an IPC workspace::focus event. This doesn't work when moving the focused container to a new workspace. This adds a workspace property to the seat which stores the last emitted workspace::focus workspace. Using this method, after moving the container, refocusing it will trigger exactly one workspace::focus event: from the old workspace to the new workspace.
2018-10-15Introduce seat_set_raw_focus and remove notify argument from seat_set_focus_warpRyan Dwyer
This introduces seat_set_raw_focus: a function that manipulates the focus stack without doing any other behaviour whatsoever. There are a few places where this is useful, such as where we set focus_inactive followed by another call to set the real focus again. With this change, the notify argument to seat_set_focus_warp is also removed as these cases now use the raw function instead. A bonus of this is we are no longer emitting window::focus IPC events when setting focus_inactive, nor are we sending focus/unfocus events to the surface. This also fixes the following: * When running `move workspace to output <name>` and moving the last workspace from the source output, the workspace::focus IPC event is no longer emitted for the newly created workspace. * When splitting the currently focused container, unfocus/focus events will not be sent to the surface when giving focus_inactive to the newly created parent, and window::focus events will not be emitted.
2018-10-14Merge pull request #2831 from swaywm/move-output-docsDrew DeVault
Establish sway-output(5)
2018-10-14Establish sway-output(5)Drew DeVault
2018-10-14Merge pull request #2826 from RyanDwyer/common-eventloopDrew DeVault
Implement common event loop for swaybar and swaylock
2018-10-14Update README.MD (and README.*.md)Drew DeVault
2018-10-15Event loop: Fix memmove and remove extraneous declarationRyan Dwyer
2018-10-15Event loop: Free fds and fix race conditionRyan Dwyer
2018-10-15Remove timerfd from loop implementationRyan Dwyer
timerfd doesn't work on the BSDs, so this replaces it with a timespec for the expiry and uses a poll timeout to check the timers when needed.
2018-10-15swaylock: Don't wait too long for surface damage before verifyingRyan Dwyer
2018-10-15swaylock: clear password after 10 secondsRyan Dwyer
2018-10-15swaylock: Remove indicator after 3 secondsRyan Dwyer
2018-10-15swaylock: Use common event loopRyan Dwyer
2018-10-15Move swaybar's event loop to common directory and refactorRyan Dwyer
* The loop functions are now prefixed with `loop_`. * It is now easy to add timers to the loop. * Timers are implemented using pollfd and timerfd, rather than manually checking them when any other event happens to arrive.
2018-10-14Document `border csd`Drew DeVault
2018-10-14Merge pull request #2751 from ianyfan/swaybarDrew DeVault
Bar mode/hidden_state events
2018-10-14swaybar: add documentation for hide/hidden_state subcommandsIan Fan
2018-10-14swaybar: when hiding bar, save old height to be restored upon reshowIan Fan
Previously, when the bar was hidden, the height would be set to 0. This meant that if the bar was empty upon reshow, it would not render since the height was still 0, which made it seem there was a problem. Now, the height is not reset, but the width is, to indicate upon reshow that the layer surface needed reconfiguring.
2018-10-14swaybar: send signal to status when hiding or showing barIan Fan
2018-10-14swaybar: show hidden bar on urgencyIan Fan
2018-10-14swaybar: show hidden bar on key eventIan Fan
Since wayland does not currently allow swaybar to create global keybinds, this is handled within sway and sent to the bar using a custom event, so as not to pollute existing events, called bar_state_update.
2018-10-14swaybar: handle mode/hidden_state changesIan Fan
As well as adding the hidden_state property to the bar config struct, this commit handles barconfig_update events when the mode or hidden_state changes, and uses a new function determine_bar_visibility to hide or show the bar as required, using, respectively, destroy_layer_surface, which is also newly added, and add_layer_surface, which has been changed to allow dynamically adding the surface.
2018-10-14swaybar: streamline ipc handlingIan Fan
The received json is handled outside of the case statement, which will allow better extensibility. This commit also introduces the variable bar_is_dirty, the return value signifying whether the bar requires rendering.
2018-10-14swaybar: move mode & mode_pango_markup to bar structIan Fan
This distinguishes the binding mode from the distinct config mode, as well as removing mode_pango_markup from the config struct where it should not be present.
2018-10-14swaybar: only send initial workspace request if workspace buttons are enabledIan Fan
2018-10-14swaybar: add free_hotspots helper functionIan Fan
2018-10-14swaybar: only subscribe to required eventsIan Fan
This adds barconfig_update to the list of subscribed events, as well as checking when the other events need to be subscribed to.
2018-10-14swaybar: annotate wl_list properties in definitionsIan Fan
2018-10-14swaybar: save id upon startupIan Fan
This adds an id property to the bar, which will be used to filter barconfig_update events
2018-10-14commands: fix sending bar mode/hidden_state updates to all barsIan Fan
Previously, if a change was sent to all bars, it would only actually change the first bar it encountered, due to return value handling
2018-10-14Merge pull request #2808 from RedSoxFan/bar-subcommandsDrew DeVault
Fix bar subcommand handler structs and selection
2018-10-14Merge pull request #2829 from espkk/masterDrew DeVault
Fix clear_password_buffer
2018-10-14swaylock: fix clear_password_bufferespkk
2018-10-13Remove unnecessary commentDrew DeVault
2018-10-13Merge pull request #2823 from tarmack/fix_edge_gapsBrian Ashworth
Fix edge gaps
2018-10-13Merge branch 'master' into fix_edge_gapsBrian Ashworth
2018-10-13cmd_bar: simplify logicBrian Ashworth
2018-10-13cmd_bar: fix bar id issuesBrian Ashworth
Allows bar-subcommand to be a valid bar-ids Destroys runtime created bar if trying to use a config only subcommand Allow subcommands (except for id) to be ids
2018-10-13fix_edge_gaps: Allow negative values for outer gaps.Tarmack
While allowing negative values for the outer gaps it is still prevented that negative values move windows out of the container. This replaces the non-i3 option for edge_gaps.
2018-10-13bar_cmd_status_command: only reload current barBrian Ashworth
Ideally, this will be replaced with an IPC barconfig_update event in the near future
2018-10-13Fix bar subcommand handler structs and selectionBrian Ashworth
2018-10-13Merge pull request #2828 from RyanDwyer/fix-locked-map-crashemersion
Fix crash when view maps while locked
2018-10-13Fix crash when view maps while lockedRyan Dwyer
When locked, there is no active workspace so it must find the focus_inactive workspace instead. Additionally, this adds a check for if a view maps while there are no outputs connected and handles it gracefully.
2018-10-12Merge pull request #2825 from RyanDwyer/fractional-scale-pixel-leaksDrew DeVault
Fix pixel leaks when using fractional scaling
2018-10-12Fix pixel leaks when using fractional scalingRyan Dwyer
The basic idea here is to apply rounding after scaling. It's not as simple as this, though, and I've detailed it in the comments for a function. In order to fix some pixel leaks in the title bar, I found it easier to change how we place rectangles to fill the area. Instead of placing two rectangles across the full width above and below the title and having shorter rectangles in the inner area, it's now pieced together in vertical chunks. This method involves drawing two less rectangles per container.
2018-10-12Merge pull request #2821 from meakio/masterRyan Dwyer
fix: cmd_sticky crash sway with empty container
2018-10-12Merge branch 'master' into masterRyan Dwyer
2018-10-11fix: cmd_sticky crash sway with empty containermeak
2018-10-11Merge pull request #2824 from chtison/masterDrew DeVault
Fix documentation of output
2018-10-11Fix documentation of outputchtison