Age | Commit message (Collapse) | Author |
|
Note: since strtoul() has no real error return code (both 0 and
ULONG_MAX may be returned on both success and failure), set errno=0
before calling strtoul().
|
|
If the XCURSOR_THEME and/or XCURSOR_SIZE environment variables are
set, use the theme and size they define.
If they're not set, use the same defaults as before (system default
theme, size=24).
|
|
This adds swaybar-protocol.7.scd documenting the swaybar status line
protocol including some differences from the i3bar counterpart.
|
|
This just adds multiseat support to swaybar
|
|
This allows swaybar to become visible when the mode changes (to any
mode other than the default). swaybar will be hidden again when the
modifier is pressed and released or when switching back to the default
mode.
This also applies the same logic to visible by urgency to hide swaybar
when the modifier is pressed and released.
These changes are to match i3's behavior.
|
|
The read_theme_file function used to return an invalid icon_struct in
some cases, for example when an empty index.theme file was read.
This makes sure the struct we're returning is always valid as per the
Icon Theme specification.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
|
|
Add a 3xscale margin matching other spacing in swaybar as part of short
text width calculations
|
|
- Predicted status line can be negative, so corresponding variables should
not be unsigned. Changed to double as position is actually calculated as
double.
|
|
Matches i3bar behavior of setting all blocks to use the short_text if the full
text width does not fit.
|
|
|
|
If the icon index.theme contained a key-value pair without a preceding
group header, entry_handler() would be called with a zero pointer and
lead to a segfault.
Set the error flag and break on such malformed files.
|
|
`len` will underflow but will overflow right after, so it's not as bad as it
may appear. Still better not to under/overflow at all.
Fixes https://github.com/swaywm/sway/issues/3862
|
|
The only use of `join_list` in swaybar/tray/icon.c has been rewritten.
|
|
by converting from network byte order to host byte order
|
|
Overlay mode puts the bar above normal windows and passes through/ignores any
touch/mouse/keyboard events that would be sent to it.
|
|
|
|
|
|
|
|
Before, only the first matching item would be removed, which could leave
stale items.
|
|
Counter-intuitively, `sd_bus_slot_set_floating` expects 0 to set it to
floating.
|
|
This prevents a heap-use-after-free crash when sway terminates.
|
|
Revert double frees.
|
|
|
|
This reverts commit eda1bf769f239a9e8d5a9907255a330e3113a649.
|
|
This reverts commit b5d95f264d5b08f6228e05be680ee36fc06ca6d6.
|
|
|
|
json-c.pc contains `Cflags: -I${includedir}/json-c`, so `<json-c/json.h>`
won't be found unless the parent directory is searched by default.
|
|
swaybar: fix crash with some tray icon pixmaps
|
|
Apparently, IconThemePath needs to be reread on NewIcon signal.
This fixes tray icon updates in electron apps with libappindicator-gtk3.
|
|
Discard pixmaps for icons where width and height are 0 or not equal.
Fixes #3487
|
|
This fixes a typo on the malloc line in ipc_send_workspace_command. The
plus one to the size for the null-terminator was outside of the malloc
call, which was causing the incorrect pointer to be freed later in the
function.
|
|
Escape quotes and backslashes, allowing switching to workspace names
like "1" (including quotes) and \
|
|
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.
|
|
Its uses have been replaced by snprintf, which is more in line with its usage.
|
|
Also remove direct libm dependency where unused.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
This modifies `bar_cmd_tray_bindsym` to use `get_mouse_bindsym` for
parsing mouse buttons. This also introduces `bar_cmd_tray_bindcode`,
which will use `get_mouse_bindcode` for parsing mouse buttons. Like with
sway bindings, the two commands are encapsulated in a single file to
maximize shared code.
This also modifies tray bindings to work off of events codes rather than
x11 buttons, which allows for any mouse buttons to be used.
For `get_bar_config`, `event_code` has been added to the `tray_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`.
|
|
Improve mouse button parsing: bar mouse bindings
|
|
swaybar: obey height if given
|
|
swaybar: adjustable status padding
|
|
This allows `bar output` and `bar tray_output` to specify an output
identifier. Output names should still work as well.
This parses the output identifier from the xdg_output description,
which wlroots currently sets to `make model serial (name)`. Since this
could change in the future, all identifier comparisons are guarded by
NULL-checks in case the description cannot be parsed to an identifier.
|
|
This adds the bar subcommand `status_edge_padding <padding>` to set the
padding used when the status line is on the right edge of the bar.
|
|
Adds the bar subcommand `status_padding <padding>` which allows setting
the padding used for swaybar. If `status_padding` is set to `0`, blocks
will be able to take up the full height of the bar.
|
|
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`.
|