scorpion-26
615d3f2964
Always require STB
2023-05-04 17:02:03 +02:00
scorpion-26
d78afe4279
SNI: Mention tested apps
2023-05-04 16:31:22 +02:00
scorpion-26
fdda223959
SNI: Add example config
2023-05-04 16:30:44 +02:00
scorpion-26
faa3f00418
SNI: Update Readme
2023-05-04 16:24:25 +02:00
scorpion-26
e9c9d3abb1
SNI: Add Icon positioning config options
2023-05-04 16:14:18 +02:00
scorpion-26
79e78826e0
SNI: Only add to clientsToQuery once
2023-05-04 15:04:06 +02:00
scorpion-26
31e070a3da
SNI: Add config
2023-05-04 13:57:50 +02:00
scorpion-26
67f048cd01
SNI: Add libdbusmenu-gtk3 to CI
2023-05-04 13:57:50 +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
40115befdd
SNI: Improve logging
2023-05-04 13:57:50 +02:00
scorpion-26
25912c7e35
SNI: Add tooltip
2023-05-04 13:57:50 +02:00
scorpion-26
6bd5a450b1
SNI: Implement changing properties
2023-05-04 13:57:50 +02:00
scorpion-26
b50ecb0f6c
SNI: Fix freeze when connecting to Qt SNI apps
...
Qt waits until the callback to RegisterItem is done. Thus, we can't
query the item and need to defer it
2023-05-04 13:57:50 +02:00
scorpion-26
a02bce9b91
SNI: Remove items on bus name vanish
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
8e953f985b
SNI: Fix CI
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
05e7635c80
Fix CI
2023-05-04 13:53:15 +02:00
scorpion-26
ecc52a81a5
Update all deprecated Material Design icons
...
All Material Design icons should now use their new code points.
This unbreaks gBar with Nerd Fonts v3.0.0
2023-05-03 23:21:21 +02:00
scorpion-26
be47a62880
Properly escape the default package command
...
/bin/sh would remove any newlines without ""
2023-05-03 23:20:29 +02:00
scorpion-26
c101449ba6
Allow Package widget to be anywhere
2023-05-03 19:02:26 +02:00
scorpion-26
aa08206e4b
Fix default packages command
2023-05-03 19:00:39 +02:00
scorpion-26
299b497748
Add package widget
...
Polling is done via user script and a pipe. Since it is only run every
5 minutes by default, this should be fine
Partially implements https://github.com/scorpion-26/gBar/issues/14
2023-05-03 18:40:45 +02:00
scorpion-26
3517fa5de8
Widget: Fix delayed "SetText"
2023-03-25 21:15:35 +01:00
scorpion-26
507cf222fb
Audio: Add Min/Max volume
...
AudioMinVolume/AudioMaxVolume remap the range 0%-100% to
AudioMinVolume-AudioMaxVolume
https://github.com/scorpion-26/gBar/issues/13
2023-03-21 22:09:56 +01:00
scorpion-26
d6610f2594
Config: Support double values
2023-03-21 22:08:59 +01:00
scorpion-26
2fa23a2d54
Audio: Log SetVolume*** events
2023-03-21 17:49:30 +01:00
Edvin Källström
3b6bafe91a
Add a home-manager nix module ( #11 )
...
Add a home-manager module to simplify installation and config management
on nix systems. This greatly reduces the setup time and
makes it integrate better with other programs on nix, mainly Hyprland
which this module is based on.
2023-03-13 21:00:08 +01:00
scorpion-26
00caccc459
Update manual build instructions
2023-03-11 00:46:02 +01:00
scorpion-26
c2c38dcae7
Workspaces: Add config option for Hyprland IPC
...
ext_workspace wasn't as perfect of a replacement as I thought it was...
2023-03-11 00:24:50 +01:00
scorpion-26
78107f16fa
Always activate first x monitors
...
The workspace of a second monitor would not be activated, so
lastActiveWorkspace of that would be nullptr. This would also happen for
the first monitor (First and second swapped)
after Hyprland boot.
Now the WS of the first monitor is fully activated by default and every
other monitor has at least lastActiveWorkspace set (Assumes, that WS
with MonID + 1 is on that monitor).
2023-03-05 20:30:43 +01:00
scorpion-26
f2bc8e00c8
Fix late update SetText
2023-03-04 22:07:25 +01:00
scorpion-26
ad92b7c12a
Workspaces: Implement ext_workspace protocol
...
Even though it isn't faster than Hyprland IPC, it still is more flexible
and more future proof.
Closes https://github.com/scorpion-26/gBar/issues/8
2023-03-03 20:46:37 +01:00
scorpion-26
63faae741f
Include Nix logs
2023-03-03 19:38:39 +01:00
scorpion-26
d78fe91c9e
Remove Docker for Nix
2023-03-03 19:36:34 +01:00
scorpion-26
8577eff37c
Use cachix/install-nix-action
2023-03-03 19:33:38 +01:00
scorpion-26
8102cc657f
Manually checkout on Nix
2023-03-03 19:24:36 +01:00
scorpion-26
e311c246da
Bump checkout version
2023-03-03 19:20:44 +01:00
scorpion-26
41d75eeedd
Add CI
2023-03-03 19:15:49 +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
6d3f1b64f4
Buildsystem: Remove LTO by default
...
LTO under gcc is suboptimal due to:
1. No thin LTO
2. Basically requires gcc-ar for static library support. Nix systems
apparently don't have that.
Fixes https://github.com/scorpion-26/gBar/issues/10
2023-02-27 21:02:43 +01:00
scorpion-26
c536e43cd0
Update README.md
2023-02-26 20:16:07 +01:00
Edvin Källström
8238182edb
Add nix support ( #9 )
...
add nix support via a flake.
Flake tested and builds successfully.
2023-02-26 19:59:26 +01:00
scorpion-26
d8eae96e50
Widgets: Avoid redraws by reducing gtk calls
2023-02-24 22:34:30 +01:00
scorpion-26
e1cf8f2475
PulseAudio: Optimizations
...
Instead of always polling audio volume, gBar subscribes to events,
causing the update to only happen on demand.
Plus we can block poll updates when there is audio change through gBar,
which results in a much smoother slider.
This change reduces (at least on my end) CPU times from 4-6% per core
to 2-4% per core.
2023-02-24 14:34:11 +01:00
scorpion-26
38116636ae
Workspaces: Optimize GetStatus
...
We previously called DispatchIPC 18 times every 100ms
Now it is only 2 times per 100ms
2023-02-24 13:28:09 +01:00
scorpion-26
d2d66171df
Buildsystem: More aggressive optimizations
...
- Enable LTO by default
- Enable Full optimizations by default
- Statically link to libgBar by default
2023-02-24 13:28:09 +01:00
scorpion-26
682f0a4c2f
Mention NF 2.3.0 requirement
2023-02-23 17:10:41 +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
3c8c93d774
Add Microphone support
...
This commit adds a new widget for the bar: A Microphone widget. It is
disabled by default and can can
be enabled with AudioInput: true.
Implements a flyin as well.
https://github.com/scorpion-26/gBar/issues/5 for the ping
2023-02-22 17:13:14 +01:00