Age | Commit message (Collapse) | Author |
|
Stop swaybar from not rendering after the first go around
|
|
I am not sure if this is a correct issue/fix but on my system at least
after an i3bar protocol is detected this while loop never goes back
around meaning it doesnt process the status line anymore.
|
|
swaybar: I3bar json protocol
|
|
|
|
|
|
Also reintroduce plaintext fallback for simple status lines.
|
|
|
|
|
|
|
|
|
|
|
|
musl libc compatibility
|
|
Trigger ipc_event_workspace in all cases
|
|
I've tried to make as few changes, as possible.
Usually the reason for using qsort_r is, that you can pass an extra userdata pointer to the
compare function. However, in sway list_sort wrapped qsort_r and always called a wrapper
function for comparing, the wrapper function then had the real compare function as argument.
The only thing, that the wrapper function does, is dereferencing the 'left' and 'right' function
arguments before passing them to the real compare function.
I have renamed list_sort to list_qsort to avoid confusion (so nobody tries to use list_qsort like
list_sort) and removed the wrapper functionality. Now the dereferencing must be done in the
compare function, that gets passed.
Some compare functions were used in both list_sort and list_seq_find. To make the difference
clear, I've added a '_qsort' suffix to the compare functions, that are intended to be used with
the new list_qsort. (In other words: list_qsort is not compatible anymore with list_seq_find).
- Changed and renamed function (it isn't used anywhere but in commands.c, and only for sorting):
compare_set -> compare_set_qsort
- New wrapper functions:
sway_binding_cmp_qsort (for sway_binding_cmp)
sway_mouse_binding_cmp_qsort (for sway_mouse_binding_cmp)
|
|
works on arch (glibc) and void linux (tested with musl libc) now
|
|
This makes sure that the workspace IPC event is triggered when needed.
Fixes #382 while making sure that the IPC event is only triggered once.
|
|
Linking fails otherwise:
Linking C executable ../bin/sway
/usr/bin/ld: CMakeFiles/sway.dir/commands.c.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
CMakeFiles/sway.dir/commands.c.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
sway/CMakeFiles/sway.dir/build.make:442: recipe for target 'bin/sway' failed
|
|
|
|
|
|
Don't skip all clients on ipc_workspace_event.
|
|
Implement ipc_event_barconfig_update
|
|
Only clients not subcriped to the workspace event should be skipped.
|
|
|
|
|
|
Handle bar commands outside config file
|
|
Our initial implementation of `bar { }` assumed that the commands could
only be used in the config. This is not true for two commands:
* bar mode
* bar hidden_state
This patch makes it possible to issue these commands outside a bar
block, for instance through swaymsg
$ swaymsg bar mode hide bar-0
This does not implement the `barconfig_update` IPC event which should be
trigged from these commands. I have added TODO's where this should be
added once implemented.
|
|
swaybar: Correct handling of SIGTERM.
|
|
Swaybar did not correctly handle the SIGTERM sent from sway when
exiting, ultimately leaving the child status_command behind.
This should correctly handle the SIGTERM signal and terminate the
status_command.
Fix #386
|
|
|
|
Fix gaps
|
|
Since x/y won't be zero when there's a top or left panel in place, we
need to take those coordinates into account too.
|
|
|
|
swaybar: Add font support
|
|
|
|
Per panel config
|
|
swaybar: pixel perfect layout
|
|
make gdk-pixbuf dependency really optional
|
|
This should make the bar workspace button layout identical to the layout
used in i3.
|
|
|
|
The new one has the top cut off, I didn't notice.
|
|
swaybar: use height from config
|
|
config: load_swaybars: Fix name comparison.
|
|
config: free_bar: Check if outputs is NULL.
|
|
Closes #368
|
|
Track each panel separately via its wl_resource. `set_panel_position`
might be called before `set_panel`, so reuse panel config.
Place the position in panel_config so that each panel has its own
position.
|
|
Change the name to something less ambigious.
|
|
|
|
bar_config.outputs is NULL if no output is explicitly defined in config
(ie. use for for all outputs).
|
|
|
|
swaybar: use select instead of busyloop
|