Ian Fan
babd9618b9
swaybar: only create i3bar block hotspot if click events are enabled
6 years ago
Ian Fan
87c93d6ad9
swaybar: send trailing comma with click event json
6 years ago
Ian Fan
9932c6a1f1
swaybar: fix empty function prototypes
6 years ago
Ian Fan
952453480f
swaybar: invalidate file descriptors upon closing
6 years ago
Ian Fan
4cb28de89f
swaybar: remove block links upon exit
6 years ago
emersion
012df55be5
swaybar: use output names instead of output indexes
6 years ago
Ian Fan
e32e86b65d
bar: remove i3bar_block_free in favour of i3bar_block_unref
6 years ago
Ian Fan
2eaef80206
i3bar: count references to blocks
...
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
6 years ago
Ryan Dwyer
9215ca0f01
Align titles to baseline
...
This does the following:
* Adds a baseline argument to get_text_size (the baseline is the
distance from the top of the texture to the baseline).
* Stores the baseline in the container when calculating the title
height.
* Takes the baseline into account when calculating the config's max font
height.
* When rendering, pads the textures according to the baseline so they
line up.
6 years ago
Jason
13fbe5176b
Fix swaybar block background fill logic
...
Same as #2571 but for 1.0.
6 years ago
sghctoma
073dcb3a86
Change _XOPEN_SOURCE defines to _POSIX_C_SOURCE
6 years ago
sghctoma
cc16948c85
Fix feature macros for FreeBSD
...
On FreeBSD, snprintf and vsnprintf are visible only if
_XOPEN_SOURCE >= 600.
6 years ago
minus
bfcfabee2b
swaybar: Fix scroll handling on workspace buttons
...
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.
6 years ago
emersion
48b911a459
Merge pull request #2281 from pvsr/X11_click
...
Send clicks to swaybar blocks as X11 button ids
6 years ago
Peter Rice
e43c20134a
remove unnecessary parens
6 years ago
Peter Rice
14511da75d
send scroll events to swaybar blocks
6 years ago
Peter Rice
79a998849b
make hotspot callback take an x11 button id
6 years ago
Ryan Dwyer
255dc8bbb0
swaybar: Read urgent colors from IPC
6 years ago
minus
c73a40555f
swaybar/bg: Fix crash on DPMS off
...
When turning off displays via DPMS, swaybar and swaybg still tried to
render, but did not get a valid buffer, causing them to crash.
6 years ago
emersion
63b4bf5000
Update for swaywm/wlroots#1126
6 years ago
Brian Ashworth
1b4c289482
Fix swaybar teardown when workspace buttons hidden
6 years ago
Brian Ashworth
78c08fb0a2
Implement mode --pango_markup
6 years ago
Ryan Dwyer
e012b05b00
Swaybar: Respect pango_markup config
...
Makes swaybar respect the user's pango_markup configuration in the
workspace buttons and binding mode indicator.
7 years ago
Rostislav Pehlivanov
3b6629af3c
Revert "Install swaybar and swaybg under /usr/lib/sway"
...
This reverts commit f2c209c299
.
7 years ago
Rostislav Pehlivanov
2c0c3dc7cc
Revert "Make the LIBDIR path configurable"
...
This reverts commit 1670b46bf6
.
7 years ago
Rostislav Pehlivanov
0cdc47ab1e
Revert "Meson: Replace option `instlibdir` with `libexecdir`"
...
This reverts commit 830c4ef74c
.
7 years ago
Nicolas Braud-Santoni
830c4ef74c
Meson: Replace option `instlibdir` with `libexecdir`
...
Derive a value from it, called `rundir` rather than writing join_paths(libexecdir,
'sway') all over the place.
7 years ago
Nicolas Braud-Santoni
1670b46bf6
Make the LIBDIR path configurable
7 years ago
Nicolas Braud-Santoni
f2c209c299
Install swaybar and swaybg under /usr/lib/sway
7 years ago
emersion
aa36899d8a
Fix a bunch of swaybar memory leaks
7 years ago
Alex Xu (Hello71)
63267240bf
Work around maybe-uninitialized in bar.c
...
Fixes #1855 .
7 years ago
Scott Anderson
4dfbc3160c
Fix swaybar axis event logic
...
Uses 'visible' instead of 'focused', since we may scroll on a bar which
isn't the focused output.
We can't use "next_on_output" or "prev_on_output" to implement this,
because it only modify the focused output. So scrolling on an unfocused
output will affect the incorrect one.
We just use the "workspace name" command instead.
7 years ago
Scott Anderson
c63554885e
Remove void * casts
...
They're pointless.
7 years ago
Scott Anderson
2ebb6073b7
Remove status command event on error
...
This prevents very high CPU load when the status command dies,
and poll continuously awoken with POLLHUP.
7 years ago
Scott Anderson
9a3fb33e33
Change remove_event logic
...
We defer the removal of entries until after the poll loop has finished.
Otherwise we may end up adjusting the poll array while we're still
reading from it, causing us to skip events.
7 years ago
Scott Anderson
e0107c4dd7
Always send POLLHUP and POLLERR with event loop
7 years ago
Bruno Pinto
9bc4565a59
Fix memory leak on swaybar
...
Code from @NilsBrause
Ref #1820
7 years ago
Scott Anderson
0d67d56c2a
Set _POSIX_C_SOURCE properly
7 years ago
Drew DeVault
5785170421
Fix separator height calculation
...
Fixes #1796
Also rearranged this code to more closely mirror the similar code above
so future discrepancies are easier to spot.
7 years ago
emersion
84243a708e
Merge pull request #1792 from RyanDwyer/fix-swaybar-status-blocks
...
Fix swaybar not showing all status blocks
7 years ago
Ryan Dwyer
7dfc0409eb
Check height in surface local coordinates and rename some variables.
7 years ago
db
39e3319394
fix swaybar ipc handling
...
Swap return with break in IPC_EVENT_WORKSPACE case to free resp.
Change default return value to true. This causes IPC_EVENT_MODE changes to be
rendered instantly.
7 years ago
Ryan Dwyer
1a0d367f22
Fix swaybar not showing all status blocks.
7 years ago
Ryan Dwyer
c38de16722
Fix swaybar output config.
7 years ago
Drew DeVault
ac3be29517
Fix some more bugs
7 years ago
Ryan Dwyer
bac65078a2
Fix buffer issues in swaybar status line.
7 years ago
emersion
16e363e3e2
Fix swaybar HiDPI rounding issue
7 years ago
Drew DeVault
4ba6545c65
Fixup for #1773
7 years ago
db
257a831c72
Use full ws->name in swaybar hotspot callback
...
If strip_workspace_numbers option is enabled, we must preserve the right
workspace name for hotspot.
7 years ago
Drew DeVault
efac07db5f
Fix workspaces not updated on swaybar
7 years ago
Drew DeVault
f242362e7e
Handle output removal on swaybar
7 years ago
Drew DeVault
38bdd4bdeb
Address review feedback
7 years ago
Drew DeVault
c4e92c81f5
Adjust height calculation, naming
7 years ago
Drew DeVault
d48e7036aa
Don't use asserts with side-effects
7 years ago
Drew DeVault
2605950769
Add hidpi support to swaybar
7 years ago
Drew DeVault
f366ef373e
Fix #1709
7 years ago
Drew DeVault
ef50d84be1
Render blocks the correct order
7 years ago
Drew DeVault
c507727ad2
Fix use-after-free with block hotspots
7 years ago
Drew DeVault
0cbd2a4f49
Send click events for i3bar blocks
7 years ago
Drew DeVault
333dbcbe72
Render i3bar blocks
7 years ago
Drew DeVault
ee85c91831
Demarcate i3bar JSON into individual updates
7 years ago
Drew DeVault
2a5108a278
Implement workspace switch on click
7 years ago
Drew DeVault
ae14dfc7ae
Implement scroll wheel workspace switching
7 years ago
Drew DeVault
8d1425bde9
Initialize seat pointer in swaybar
7 years ago
Drew DeVault
2a90d26ebe
Fix issues with swaybar on DRM
7 years ago
Drew DeVault
d8104db8f1
Early return from render functions if necessary
7 years ago
Drew DeVault
095ac31921
Use render_all_frames from bar_setup
7 years ago
Drew DeVault
6fe66d0e6c
Fix layer_surface_closed
7 years ago
Drew DeVault
f3fbf19312
Do some small cleanup
...
- Fix workspace events (security config isn't in use so it wasn't being
sent)
- Kill status bar process when swaybar exits
- Don't rearrange windows on every layer surface commit
7 years ago
Drew DeVault
b72825441b
Fixed laggy focused output boolean
7 years ago
Drew DeVault
da6e48520b
Tear down bar when display exits
7 years ago
Drew DeVault
0464a9910d
Clean up status line on exit
7 years ago
Drew DeVault
0d0ab7c5ce
Implement status line
...
Does not yet support i3bar json protocol
7 years ago
Drew DeVault
718502c815
Iterate over workspaces backwards
7 years ago
Drew DeVault
531c175d3e
Respect user bar height preference
...
This is an i3-gaps feature we support
7 years ago
Drew DeVault
1e8faeec02
Pixel-perfect rendering
7 years ago
Drew DeVault
37b61eff2d
Add binding mode indicator
7 years ago
Drew DeVault
86ba0fc15d
Re-render bar on IPC updates
7 years ago
Drew DeVault
3a458cd7b5
Implement workspace button rendering
7 years ago
Drew DeVault
3399ad9840
Round up workspaces on each output
7 years ago
Drew DeVault
e5e8094dc3
Only utilize the configured outputs
7 years ago
Drew DeVault
5c9ad035db
Wire up basic IPC support
7 years ago
Drew DeVault
cab1352801
Start port of swaybar to layer shell
...
This starts up the event loop and wayland display and shims out the
basic top level rendering concepts. Also includes some changes to
incorporate pango into the 1.x codebase properly.
7 years ago
Tony Crisci
d071ff08ae
remove the rest of cmake
7 years ago
Joona Romppanen
675e4b7de7
Removed trailing comma from swaybar click event json
7 years ago
Johannes Lundberg
44e72573cb
Fix include path to input-event-codes.h for FreeBSD.
7 years ago
Johannes Lundberg
5a63f0f57b
Fix build on FreeBSD adjusting/removing _XOPEN_SOURCE declaration.
7 years ago
John Axel Eriksson
feb8bb96ee
swaybar protocol: handle button 4 and 5
...
i3 bar handles scroll events as button 4 and 5. An example use
case would be volume up/down.
7 years ago
akokshar@redhat.com
2b927685ca
styling fixes
7 years ago
akokshar@redhat.com
39df3aed82
styling fixes
7 years ago
akokshar@redhat.com
d873d09f23
style fixes
7 years ago
akokshar@redhat.com
65022e1cbf
click_events as documented at https://i3wm.org/docs/i3bar-protocol.html
7 years ago
Calvin Lee
ba6224f4e5
Prevent crash if DBus connection is NULL
...
Fixes #1307
7 years ago
Tobias Blass
8976a47f62
[swaybar] fix non-dbus build
...
Swaybar's CMakeLists.txt uses the enable-tray option directly to decide whether to build the tray. This leads to a compilation error if dbus is not installed.
This patch uses the ENABLE_TRAY variable instead, which is only true if the user enabled the tray *and* dbus is available.
7 years ago
Calvin Lee
e8f589c3dc
Fix memory leaks in swaybar tray
7 years ago
Calvin Lee
5ceb52962e
Fix name validation in sni_watcher.c
...
This commit also fixes a memory leak that occurs on failure.
7 years ago
Calvin Lee
62223e8fbb
Don't trust SNI names, fixes #1274
...
If an item doesn't have a well-formed name, it will not be added to the
tray.
7 years ago
Johannes Lundberg
6a525b23dd
Adjust _XOPEN_SOURCE value for build on FreeBSD and fix pointer comparison error.
7 years ago
Drew DeVault
387eca1b29
Revert "swaybar: Group child processes for signalling"
...
This reverts commit 8f4bc0a374
.
8 years ago
Drew DeVault
5f915a9d03
Fix #1252
8 years ago