aboutsummaryrefslogtreecommitdiff
path: root/swaybar/i3bar.c
AgeCommit message (Collapse)Author
2019-01-10bar_cmd_bind: utilize mouse button helpersBrian Ashworth
This modifies `bar_cmd_bindsym` to use `get_mouse_bindsym` for parsing mouse buttons. This also introduces `cmd_bar_bindcode`, which will use `get_mouse_bindcode` for parsing mouse buttons. Like sway bindings, the two commands are encapsulated in a single file with shared code. This also modifies swaybar to operate off of event codes rather than x11 button numbers, which allows for any mouse button to be used. This introduces two new IPC properties: - For `get_bar_config`, `event_code` has been added to the `bindings` section and will include to event code for the button. If the event code can be mapped to a x11 button, `input_code` will still be the x11 button number. Otherwise, `input_code` will be `0`. - Likewise for `click_events`, `event` has been added and will include the event code for the button clicked. If the event code can be mapped to a x11 button, `button` will still be the x11 button number. Otherwise, `button` will be `0`.
2018-12-04Add relative coordinates in JSON for i3bar click eventsHristo Venev
Compatibility with i3 commit 161db6f17d734ac9deb0a20e81b78d4b2a92ce68.
2018-10-18swaybar: separate input code to new fileIan Fan
2018-10-02swaybar: add leading comma to click event JSONIan Fan
2018-09-28swaybar: move i3bar definitions into separate fileIan Fan
2018-09-21swaybar: log invalid i3bar jsonIan Fan
2018-09-21swaybar: reset tokener if json is incompleteIan Fan
If the tokener parses incomplete json, it sets its error value to json_tokener_continue. This means that extra json should be provided, but the code was providing the entire object again. In the interest of simplicity, the tokener is reset so that buffer_pos always points to the start of the current object.
2018-09-21swaybar: update buffer_pos when moving object to start of bufferIan Fan
2018-09-18swaybar: add debugging statements for handling i3bar jsonIan Fan
2018-09-18swaybar: rewrite i3bar protocol handlingIan Fan
This now correctly handles an incoming json infinite array by shifting most of the heavy listing to the json-c parser, as well as sending multiple statuses at once. It also removes the struct i3bar_protocol_state and moves its members into the status_line struct, allowing the same buffer to be used for both protocols.
2018-09-18swaybar: send trailing comma with click event jsonIan Fan
2018-09-14bar: remove i3bar_block_free in favour of i3bar_block_unrefIan Fan
2018-09-12i3bar: count references to blocksIan Fan
This prevents blocks from being destroyed before their hotspots are destroyed, in case it is used for a pending click event that fires between the bar receiving a new status, which destroys the block, and the bar rendering the new status, which destroys the hotspot; this problem can be easily produced by scrolling on a block that immediately causes a new status to be sent, with multiple outputs
2018-07-19swaybar: Fix scroll handling on workspace buttonsminus
As well as ignoring scroll events on status elements when click_events is enabled. Previously, using the scroll wheel on a workspace button would switch to that workspace instead of scrolling through them. Clicks and scrolling on status elements would always be processed by swaybar, too. So in case you were using scrolling as volume control on a status item, swaybar would additionally scroll through your workspaces.
2018-07-17remove unnecessary parensPeter Rice
2018-07-16make hotspot callback take an x11 button idPeter Rice
2018-07-09Update for swaywm/wlroots#1126emersion
2018-04-24Fix a bunch of swaybar memory leaksemersion
2018-04-20Fix memory leak on swaybarBruno Pinto
Code from @NilsBrause Ref #1820
2018-04-09Fix some more bugsDrew DeVault
2018-04-09Fix buffer issues in swaybar status line.Ryan Dwyer
2018-04-03Fix #1709Drew DeVault
2018-04-02Fix use-after-free with block hotspotsDrew DeVault
2018-04-02Send click events for i3bar blocksDrew DeVault
2018-04-02Render i3bar blocksDrew DeVault
2018-04-02Demarcate i3bar JSON into individual updatesDrew DeVault