Mikkel Oscar Lyderik
d21b15a4be
swaybar: Add support for Airblade i3bar extensions
...
This extends the i3bar protocol implementation with the following
features from @Airblade/i3:
* background
* border
* border_top, border_bottom, border_left, border_right
A block will now be rendered like this:
```
(border_left + margin) + width + (margin + border_right) + sep
```
Where `border_left/border_right` and their related margin is only drawn
if the `border` is specified and the border has a width > 0 (default is
1).
`border_top` and `border_bottom` does not affect the height of the bar
(no margin is added), thus it will be drawn behind the text if it is too
big. The user should specify a bar height if more space between
top/bottom borders are required.
2015-12-27 13:18:55 +01:00
Mikkel Oscar Lyderik
26d2381040
swaybar: remove random whitespaces
2015-12-25 15:59:00 +01:00
Mikkel Oscar Lyderik
e370187394
swaybar: Fix json related crash.
...
This should fix the random json related crashes in swaybar.
The crashes occured because the same socket was used for listening on
workspace events and requesting workspace info, resulting in a
unreliable message queue on the socket.
The solution is to use one socket for the events and one socket for
reliably requesting workspace/output info.
2015-12-25 15:57:04 +01:00
crondog
8e8ec6d92b
Merge branch 'master' of https://github.com/SirCmpwn/sway
2015-12-25 08:59:01 +11:00
progandy
21541e9e64
swaybar: Replace fgets with read and own buffer
2015-12-24 13:20:37 +01:00
crondog
edd93b5b55
swaybar: min_width and align
2015-12-24 13:55:17 +11:00
progandy
b66c51ea2c
swaybar: fix array indices in i3json_handle
2015-12-24 01:21:29 +01:00
crondog
bd74320da9
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.
2015-12-23 10:49:21 +11:00
progandy
8fefdb3c64
swaybar: fix memory leaks
2015-12-22 17:54:47 +01:00
progandy
d060d0a39f
swaybar: add a visible separator between elements
2015-12-22 17:54:38 +01:00
progandy
aa5930c966
swaybar: Improve i3bar proto implementation
...
Also reintroduce plaintext fallback for simple status lines.
2015-12-22 17:34:37 +01:00
progandy
d37169a927
swaybar: fix whitespace
2015-12-22 17:26:40 +01:00
crondog
70b24fbb1f
Clean up a bit
2015-12-22 22:49:41 +11:00
crondog
d1f6f45cb3
Make start on i3bar json parsing
2015-12-22 22:36:57 +11:00
Mikkel Oscar Lyderik
5c8a3afff9
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
2015-12-21 11:50:56 +01:00
Mikkel Oscar Lyderik
83eb8d16aa
swaybar: Add font support
2015-12-20 18:32:54 +01:00
Mikkel Oscar Lyderik
d373a193ac
swaybar: pixel perfect layout
...
This should make the bar workspace button layout identical to the layout
used in i3.
2015-12-20 17:52:33 +01:00
crondog
da6cd3cef7
swaybar: use height from config
2015-12-20 15:47:32 +11:00
Mikkel Oscar Lyderik
bc9b93f597
swaybar: use select instead of busyloop
...
Use of busyloop caused high cpu usage for sway because swaybar had to be
redrawn all the time. By using select instead the bar only has to be
redrawn when the status_command changes (i.e. every second) or when the
workspaces are updated.
Fix #345
2015-12-19 16:33:58 +01:00
crondog
c8555f5813
swaybar: use position from config
2015-12-19 12:15:12 +11:00
Drew DeVault
859f2fea0c
Just bail if ws_json is fucked up
2015-12-18 19:45:16 -05:00
Drew DeVault
de2f3b393a
Wow that was stupid
2015-12-18 19:38:36 -05:00
Drew DeVault
d1e031025d
I'm still getting crashes without this line
2015-12-18 19:35:27 -05:00
S. Christoffer Eliesen
de219f6bec
swaybar: ipc_update_ws: Fix memory corruption.
...
json_object_object_get_ex does not require json_object_put according to
docs, this should fix the random crashes.
2015-12-18 15:30:46 +01:00
Drew DeVault
a116eafaa4
Fix possible segfault in swaybar
2015-12-18 09:03:45 -05:00
S. Christoffer Eliesen
8a6e05d7a1
swaybar: Remove stropts.h, fixes build for fedora.
...
Turns out that fedora killed off stropts.h some time ago [1] and
removing it seems to work just fine. (Tested on Fedora 23)
[1] https://bugzilla.redhat.com/show_bug.cgi?id=439403
2015-12-18 13:18:35 +01:00
Mikkel Oscar Lyderik
529ee83ef6
swaybar: terminate status_command process
...
Fix #346
Send SIGTERM to the `status_command` process before swaybar exits.
2015-12-18 03:15:49 +01:00
Drew DeVault
d91185d67b
Fix null dereference in swaybar
2015-12-17 08:30:45 -05:00
Mikkel Oscar Lyderik
0f7614306d
swaybar: Check that registry is set before teardown
2015-12-17 02:45:14 +01:00
Drew DeVault
adadb109a7
Only re-render swaybar when it has changed
...
Fixes #345
2015-12-16 20:09:23 -05:00
Drew DeVault
5a9cc96446
Make swaybar a little quieter
2015-12-16 19:37:03 -05:00
Mikkel Oscar Lyderik
3bd388a307
Remove trailing whitespace
2015-12-16 16:31:12 +01:00
Mikkel Oscar Lyderik
1db4b4a8f5
Correct typo seperator -> separator
2015-12-16 16:30:43 +01:00
Kevin Hamacher
a9f6cd0e17
Make swaybar run without status_command
2015-12-16 12:17:18 +01:00
Kevin Hamacher
ce8b71415f
Make swaybar check command arguments
2015-12-16 11:13:12 +01:00
Drew DeVault
1825cf32bf
Apply color config from swaybar
2015-12-15 22:31:35 -05:00
Drew DeVault
473ac4531f
[swaybar] Get bar config via IPC
2015-12-15 22:22:22 -05:00
Drew DeVault
f80e7364b1
Parse command line in swaybar
2015-12-15 22:08:09 -05:00
Drew DeVault
93ac7d43a8
Fix rendering of borders on workspaces (swaybar)
2015-12-13 17:07:36 -05:00
Drew DeVault
e277d4e094
Subscribe to workspace change events and redraw
2015-12-13 16:04:54 -05:00
Drew DeVault
7918feb9cd
Display workspaces on swaybar
2015-12-13 15:40:19 -05:00
Drew DeVault
36bf4d24cf
Free last line in swaybar
2015-12-13 13:51:23 -05:00
Drew DeVault
6596582bc3
Display output from a command on swaybar
2015-12-13 08:35:39 -05:00
Christoph Gysin
cce9c338c0
cmake: build common code only once
...
This creates (static) libraries for protocols/, common/, and wayland/.
2015-12-02 12:15:57 +02:00
Christoph Gysin
c9ce15aa18
cmake: remove subprojects
2015-12-01 22:47:22 +02:00
Christoph Gysin
55b3532fe0
cmake: remove unnecessary quotes
2015-12-01 22:03:53 +02:00
Christoph Gysin
2dedf206d7
cmake: use out-of-source build
2015-12-01 22:03:09 +02:00
Christoph Gysin
f7ec3d00a0
cmake: use tabs instead of spaces
2015-12-01 22:03:09 +02:00
Christoph Gysin
905966bcae
cmake: style consistency
2015-12-01 22:03:09 +02:00
Christoph Gysin
2429266e3e
cmake: convert all cmake commands to lowercase
2015-12-01 22:03:09 +02:00