Commit graph

30 commits

Author SHA1 Message Date
scorpion-26
952f020fb5 Allow AddClass before widget creation
This is necessary for multiple layout classes.
2023-11-29 23:27:41 +01:00
scorpion-26
2420574c70 SNI: Allow svgs as icons
To facilitate that, Texture now accepts GdkPixbuf instead of raw
uint8_t[], because we can't convert svgs into uint8_t[] easily without
the use of GdkPixbuf.
2023-11-05 22:03:50 +01:00
scorpion-26
dc7c7b7902 Add checks for null GtkWidget
Gtk complained about invalid widgets, because they were null.
2023-11-05 22:02:58 +01:00
scorpion-26
eb8e0bc2b5 Fix gtk_widget_destroy warnings
gtk_remove_widget unrefs the widget and destroys it and all its children.
Since we also do that in the destructor, we do a double free.
To fix this, a ref is added to prevent destroying by gtk_remove_widget.
2023-11-05 22:01:09 +01:00
scorpion-26
3bac707bf5 Fix compiler warnings 2023-07-28 19:11:13 +02:00
scorpion-26
42a0710551 Fix SNIPaddingTop for sideways bar 2023-07-21 01:24:25 +02:00
scorpion-26
f78758c4ee SNI: Allow bar rotation
Texture was also rewritten, so it doesn't need the SNIPaddingTop hack as much
anymore
2023-07-21 01:08:38 +02:00
scorpion-26
4a9ac0ff5b Add angle property to widgets
This allows us to rotate various widgets.
2023-07-19 01:13:57 +02:00
scorpion-26
e4be65a348 Fix stupid comparison bug
Previously, dim.width < dim.height would never return true, since it is
already checked by dim.height >= dim.width.
2023-07-19 01:13:57 +02:00
scorpion-26
ba366729fe Add margin to Transform 2023-07-19 01:13:57 +02:00
scorpion-26
e9c9d3abb1 SNI: Add Icon positioning config options 2023-05-04 16:14:18 +02:00
scorpion-26
b7a92e50d9 SNI: Add context menu
Since it uses a 13 year old library, it is broken. The popup size is
hard-fixed at 200x200, with looks really ugly with non-transparent
background.
2023-05-04 13:57:50 +02:00
scorpion-26
d4ffac395b SNI: Proper alignment for the icons 2023-05-04 13:57:50 +02:00
scorpion-26
1241d7c87c SNI: Initial proof of concept
Implements a rough outline of the SNI (StatusNotifierItem) d-bus
protocol for tray icons.

Note: This is currently *very* WIP

Full implementation will close https://github.com/scorpion-26/gBar/issues/5
2023-05-04 13:57:50 +02:00
scorpion-26
3517fa5de8 Widget: Fix delayed "SetText" 2023-03-25 21:15:35 +01:00
scorpion-26
f2bc8e00c8 Fix late update SetText 2023-03-04 22:07:25 +01:00
scorpion-26
660e690195 Cache SetText
Apparently, gtk_button_set_label is very expensive to do. Now it is
only called when necessary.

This is the culprit for the mysterious high CPU usage and not the Hyprland
IPC as said in https://github.com/scorpion-26/gBar/issues/7 and https://github.com/scorpion-26/gBar/issues/8.
2023-03-03 17:02:59 +01:00
scorpion-26
d8eae96e50 Widgets: Avoid redraws by reducing gtk calls 2023-02-24 22:34:30 +01:00
scorpion-26
35a6670868 Fix issue with audio slider
Due to the fact, that we needed to manually propagate hover events from
the slider, two hover events are sent when coming from the side of the
slider. This we need to await BOTH close events until we can call the
leave function.
2023-02-22 17:23:47 +01:00
scorpion-26
a12cb9af5d AudioSlider: Add option for scroll speed
There seems to be a floating point error somewhere though, since
sometimes it goes up by AudioScrollSpeed - 1 instead of
AudioScrollSpeed...

For the ping https://github.com/scorpion-26/gBar/issues/5
2023-02-20 23:04:37 +01:00
scorpion-26
c29d752cb8 EventBox: Fix fault callback parameter. 2023-02-12 14:56:59 +01:00
scorpion-26
b4dfaa62b1 EventBox: Add scroll event 2023-02-12 14:28:46 +01:00
scorpion-26
3134c82245 Add a Network Widget
This new widget visualizes the up and download speeds for a
specified network adapter. It is on by default, but can be disabled.
2023-02-10 17:20:26 +01:00
scorpion-26
9e48830dc8 Abstract out quad calculation from Sensor
The calculation of the bounding quad is now in CairoArea, as it is quite
useful
2023-02-09 16:16:18 +01:00
scorpion-26
902f445757 Abstract out the cairo drawing area
And rename CairoSensor to Sensor
2023-02-04 16:09:08 +01:00
scorpion-26
df1e62f501 Revealer + slider combi now works as intended 2023-02-04 15:43:51 +01:00
scorpion-26
7f867aa0fb Initial impl for audio revealer
System events are now propagated to the slider. Problems: Rest of the
revealers don't work...
2023-02-04 15:07:05 +01:00
scorpion-26
ed32d70916 Added a bluetooth widget
I think it looks really slick. Probably still many bugs
2023-01-14 23:18:34 +01:00
scorpion-26
7b91486441 Add Bluetooth tooltips 2023-01-14 23:14:53 +01:00
scorpion-26
b0ed0d17e5 Initial commit! 2023-01-13 16:19:21 +01:00