scorpion-26 / gBar

Blazingly fast status bar written with GTK
MIT License
459 stars 17 forks source link

Spotube no tray icon #92

Closed crimsonduelist closed 3 months ago

crimsonduelist commented 3 months ago

No tray icon whether spotube is start first or gbar

scorpion-26 commented 3 months ago

Can I get a log for this? Also please follow the issue template.

crimsonduelist commented 3 months ago

Sry I d originally thought I shouldnt fill this cuz it wasnt a crash, having gone through I see it was my bad!

Please fill out this form and delete the defaults(everything not in bold font), so I can help you better

What doesn't work? Please be as precise as possible. Spotube tray icon doesnt show up

What did you do, that triggered the issue?

  1. launch gbar - gBar bar 0
  2. launch spotube or
  3. launch spotube
  4. launch gbar - gBar bar 0

What do you expect should happen? Spotube tray icon should appear like it does in other bars i.e. waybar


Please include as much information about the crash/bug as possible.

Set value for WidgetsLeft: [Workspaces]
Set value for WidgetsCenter: [Time]
Set value for WidgetsRight: [Tray, Packages, Audio, Bluetooth, Network, Disk, VRAM, GPU, RAM, CPU, Battery, Power]
Set value for CPUThermalZone: /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon2/temp1_input
Set value for DrmAmdCard: card0
Set value for AmdGPUThermalZone: /device/hwmon/hwmon1/temp1_input
Set value for SuspendCommand: ~/.config/scripts/sys.sh suspend
Set value for LockCommand: ~/.config/scripts/sys.sh lock
Set value for ExitCommand: killall Hyprland
Set value for BatteryFolder: /sys/class/power_supply/BAT1
Set value for BatteryWarnThreshold: 20
Set value for DiskPartition: /
Set value for DefaultWorkspaceSymbol: 
Set value for ShutdownIcon: \s
Set value for RebootIcon: 󰑐
Set value for SleepIcon: 󰏤
Set value for LockIcon: 
Set value for ExitIcon: 󰗼
Set value for BTOffIcon: 󰂲
Set value for BTOnIcon: 󰂯
Set value for BTConnectedIcon: 󰂱
Set value for DevKeyboardIcon: 󰌌\s
Set value for DevMouseIcon: 󰍽\s
Set value for DevHeadsetIcon: 󰋋\s
Set value for DevControllerIcon: 󰖺\s
Set value for DevUnknownIcon: \s
Set value for SpeakerMutedIcon: 󰝟
Set value for SpeakerHighIcon: 󰕾
Set value for MicMutedIcon: 󰍭
Set value for MicHighIcon: 󰍬
Set value for PackageOutOfDateIcon: 󰏔\s
Set value for WorkspaceScrollOnMonitor: true
Set value for WorkspaceScrollInvert: false
Set value for NumWorkspaces: 9
Set value for UseHyprlandIPC: true
Set value for Location: T
Set value for IconsAlwaysUp: false
Set value for CenterWidgets: true
Set value for CenterSpace: 300
Set value for DateTimeStyle: %a %D - %H:%M:%S %Z
Set value for MaxTitleLength: 30
Set value for AudioInput: false
Set value for AudioRevealer: false
Set value for AudioScrollSpeed: 5
Set value for AudioNumbers: false
Set value for CheckPackagesCommand: p="$(checkupdates)"; e=$?; if [ $e -eq 127 ] ; then exit 127; fi; if [ $e -eq 2 ] ; then echo "0" && exit 0; fi; echo "$p" | wc -l
Set value for CheckUpdateInterval: 300
Set value for NetworkAdapter: eno1
Set value for NetworkWidget: true
Set value for SensorTooltips: false
Set value for SensorSize: 24
Set value for NetworkIconSize: 24
Set value for EnableSNI: true
Set value for MinDownloadBytes: 0
Set value for MaxDownloadBytes: 10485760
Set value for MinUploadBytes: 0
Set value for MaxUploadBytes: 5242880
Wayland: Register <pending> at ID 0
Wayland: Monitor at ID 0 got name LVDS-2
NVML not found, disabling Nvidia GPU
AMD GPU not found, disabling AMD GPU
Can't connect to BlueZ d-bus! Disabling Bluetooth!
GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer 'org.bluez': activation request failed: unknown unit
PulseAudio: Context is ready!
PulseAudio: Update info
Warning: Couldn't open /home/crimson/.config/gBar/style.scss
Warning: Failed loading SCSS, falling back to CSS!
Info: Loading /home/crimson/.config/gBar/style.css
CSS found and loaded successfully!
Window: Create on monitor LVDS-2
Couldn't open battery charge files! Disabling battery widget.
SNI: Registered Item :1.629 /org/ayatana/NotificationItem/deluge
SNI: Registered Item :1.68 /org/ayatana/NotificationItem/alarm_clock_applet
SNI: Registered Item :1.1390 /org/ayatana/NotificationItem/31d13a60_0684_11ef_a634_97206047bb3f
SNI: Registered Item :1.1307 /StatusNotifierItem
SNI: Registered Item :1.1302 /StatusNotifierItem
SNI: Registered Item :1.30 /StatusNotifierItem
SNI: Creating Item :1.30 /StatusNotifierItem
SNI: Creating Item :1.1307 /StatusNotifierItem
SNI: Creating Item :1.1302 /StatusNotifierItem
SNI: Creating Item :1.1390 /org/ayatana/NotificationItem/31d13a60_0684_11ef_a634_97206047bb3f
SNI: Creating Item :1.68 /org/ayatana/NotificationItem/alarm_clock_applet
SNI: Creating Item :1.629 /org/ayatana/NotificationItem/deluge
SNI: Menu object path: /org/ayatana/NotificationItem/alarm_clock_applet/Menu
SNI: Creating icon from "alarm-clock"
SNI: Allocating static name buffer for :1.68
SNI: Add :1.68 to widget
SNI: Menu object path: /org/ayatana/NotificationItem/31d13a60_0684_11ef_a634_97206047bb3f/Menu
SNI: gtk_icon_theme_load_icon failed: Icon '/usr/share/spotube-bin/data/flutter_assets/assets/spotube-logo.png' not present in theme Adwaita
SNI: Cannot create item due to missing icon!
SNI: Menu object path: /org/ayatana/NotificationItem/deluge/Menu
SNI: Creating icon from "deluge-panel"
SNI: Allocating static name buffer for :1.629
SNI: Add :1.629 to widget
SNI: Title: 
SNI: Menu object path: /MenuBar
SNI: Width: 22
SNI: Height: 22
SNI: Creating icon from pixmap
SNI: Allocating static name buffer for :1.1307
SNI: Add :1.1307 to widget
SNI: Title: plsandthanku - KeePassXC
SNI: Menu object path: /MenuBar
SNI: Creating icon from "keepassxc-monochrome-light"
SNI: Allocating static name buffer for :1.30
SNI: Add :1.30 to widget
SNI: Title: Flameshot
SNI: Menu object path: /MenuBar
SNI: Creating icon from "flameshot"
SNI: Allocating static name buffer for :1.1302
SNI: Add :1.1302 to widget
SNI: Reloading :1.68 /org/ayatana/NotificationItem/alarm_clock_applet (Sender: :1.68)
SNI: Reloading :1.1307 /StatusNotifierItem (Sender: :1.1307)
SNI: Title: 
SNI: Menu object path: /MenuBar

If true, gBar ignores .scss files and only tries to load .css files.

This is useful, if you don't want to SCSS, or if you want to use newer SCSS features,

that libsass (the backend gBar uses) doesn't support.

ForceCSS: false

The following three options control the ordering of the widgets.

Reordering can cause slight margin inconsistencies,

so it is recommend to only make minor adjustments to the default layout.

Adding the same widget multiple times to the layout is not supported and will cause issues.

Widgets to show on the left side

WidgetsLeft: [Workspaces]

Widgets to center

WidgetsCenter: [Time]

Widgets to display on the right side

WidgetsRight: [Tray, Packages, Audio, Bluetooth, Network, Disk, VRAM, GPU, RAM, CPU, Battery, Power]

The CPU sensor to use

CPUThermalZone: /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon2/temp1_input

The card to poll when using AMDGPU. If you don't have an AMD card, you can skip this config.

Possible values can be found by querying /sys/class/drm

DrmAmdCard: card0

Relative path to AMD gpu thermal sensor, appended after /sys/class/drm/

AmdGPUThermalZone: /device/hwmon/hwmon1/temp1_input

The command to execute on suspend

SuspendCommand: ~/.config/scripts/sys.sh suspend

The command to execute on lock

LockCommand: ~/.config/scripts/sys.sh lock

The command to execute on exit

ExitCommand: killall Hyprland

The folder, where the battery sensors reside

BatteryFolder: /sys/class/power_supply/BAT1

Threshold, when the battery is considered low and a different color (as specified by the 'battery-warning' CSS property) is applied

BatteryWarnThreshold: 20

The partition to monitor with disk sensor

DiskPartition: /

Overrides the icon of the nth (in this case the first) workspace.

Please note the missing space between "," and the symbol. Adding a space here adds it to the bar too!

WorkspaceSymbol: 1,

The default symbol for the workspaces

DefaultWorkspaceSymbol: 

All of the icons that can be modified.

Please note that some icons require a space ("\s") (e.g. default ShutdownIcon)

ShutdownIcon: \s RebootIcon: 󰑐 SleepIcon: 󰏤 LockIcon:  ExitIcon: 󰗼 BTOffIcon: 󰂲 BTOnIcon: 󰂯 BTConnectedIcon: 󰂱 DevKeyboardIcon: 󰌌\s DevMouseIcon: 󰍽\s DevHeadsetIcon: 󰋋\s DevControllerIcon: 󰖺\s DevUnknownIcon: \s SpeakerMutedIcon: 󰝟 SpeakerHighIcon: 󰕾 MicMutedIcon: 󰍭 MicHighIcon: 󰍬 PackageOutOfDateIcon: 󰏔\s

Scroll through the workspaces of the current monitor instead of all workspaces

WorkspaceScrollOnMonitor: true

When true: Scroll up -> Next workspace instead of previous workspace. Analogous with scroll down

WorkspaceScrollInvert: false

Number of workspaces to display. Displayed workspace IDs are 1-n (Default: 1-9)

NumWorkspaces: 9

Use Hyprland IPC instead of the ext_workspace protocol for workspace polling.

Hyprland IPC is slightly less performant (+0.1% one core), but way less bug prone,

since the protocol is not as feature complete as Hyprland IPC.

NOTE: Hyprland no longer supports ext-workspace-unstable-v1 as of commit bb09334.

Hyprland IPC is thus required for workspace support under Hyprland >=v0.30.0!

UseHyprlandIPC: true

The location of the bar

Needs to be capitalized!!

Values are: L (Left), R (Right), T (Top), B (bottom)

Location: T

When the location is set to side, this option forces everything (even text) to be right-side up.

Always make sure to enable SensorTooltips when enabling this option. Failure to do so will cause graphical issues.

IconsAlwaysUp: false

Forces the widgets in the center to be centered.

This can cause the right widget to clip outside, if there is not enough space on screen (e.g. when opening the text)

Setting this to false will definitely fix this issue, but it won't look very good, since the widgets will be off-center.

So try to decrease "CenterSpace" first, before setting this configuration to false.

Legacy name: CenterTime

CenterWidgets: true

How much space should be reserved for the center widgets. Setting this too high can cause the right widgets to clip outside.

Therefore try to set it as low as possible if you experience clipping.

Although keep in mind, that a value that is too low can cause the widget to be be off-center,

which can also cause clipping.

If you can't find an optimal value, consider setting 'CenterWidgets' to false

Legacy name: TimeSpace

CenterSpace: 300

Set datetime style

DateTimeStyle: %a %D - %H:%M:%S %Z

Set datetime locale (defaults to system locale if not set or set to empty string)

DateTimeLocale: de_DE.utf8

How many characters of the title can be displayed. Note that higher values will cause styling issues, especially when it is in the center.

If you have the title in the center, consider also increasing "CenterSpace"

MaxTitleLength: 30

Adds a audio input(aka. microphone) widget

AudioInput: false

Sets the audio slider to be on reveal (Just like the sensors) when true. Only affects the bar.

AudioRevealer: false

Sets the rate of change of the slider on each scroll. In Percent

AudioScrollSpeed: 5

Display numbers instead of a slider for the two audio widgets. Doesn't affect the audio flyin

AudioNumbers: false

Command that is run to check if there are out-of-date packages.

The script should return ONLY a number. If it doesn't output a number, updates are no longer checked.

Default value is applicable for Arch Linux. (See data/update.sh for a human-readable version)

CheckPackagesCommand: p="$(checkupdates)"; e=$?; if [ $e -eq 127 ] ; then exit 127; fi; if [ $e -eq 2 ] ; then echo "0" && exit 0; fi; echo "$p" | wc -l

How often to check for updates. In seconds

CheckUpdateInterval: 300

Limits the range of the audio slider. Only works for audio output.

Slider "empty" is AudioMinVolume, Slider "full" is AudioMaxVolume

AudioMinVolume: 30 # Audio can't get below 30%

AudioMaxVolume: 120 # Audio can't get above 120%

The network adapter to use. You can query /sys/class/net for all possible values

NetworkAdapter: eno1

Disables the network widget when set to false

NetworkWidget: true

Use tooltips instead of sliders for the sensors

SensorTooltips: false

The size of the of the circular sensors

SensorSize: 24

The size of the network icon

NetworkIconSize: 24

Enables tray icons

EnableSNI: true

SNIIconSize sets the icon size for a SNI icon.

SNIPaddingTop Can be used to push the Icon down. Negative values are allowed

SNIIconName overrides what icon from an icon theme to display.

SNIDisabled prevents an icon from being registered.

For all SNI properties: The first parameter is a filter of the tooltip(The text that pops up, when the icon is hovered) of the icon.

The wildcard filter '*' does not work for SNIIconName and SNIDisabled

Scale everything down to 25 pixels ('*' as filter means everything)

SNIIconSize: *, 25

Explicitly make OBS a bit smaller than default

SNIIconSize: OBS, 23

Nudges the Discord icon a bit down

SNIPaddingTop: Discord, 5

Override the default icon given to gBar by discord to an icon theme supplied one (Example is from papirus theme)

SNIIconName: Discord, discord-tray

Prevents steam from displaying. Note: Steam doesn't have a tooltip, which means the object path is filtered instead.

SNIDisabled: steam, true

These set the range for the network widget. The widget changes colors at six intervals:

- Below Min...Bytes ("under")

- Between ]0%;25%]. 0% = Min...Bytes; 100% = Max...Bytes ("low")

- Between ]25%;50%]. 0% = Min...Bytes; 100% = Max...Bytes ("mid-low")

- Between ]50%;75%]. 0% = Min...Bytes; 100% = Max...Bytes ("mid-high")

- Between ]75%;100%]. 0% = Min...Bytes; 100% = Max...Bytes ("high")

- Above Max...Bytes ("over")

MinDownloadBytes: 0 MaxDownloadBytes: 10485760 # 10 1024 1024 = 10 MiB MinUploadBytes: 0 MaxUploadBytes: 5242880 # 5 1024 1024 = 5 MiB



 - OS: [Arch]
 - Desktop environment [Hyprland]
 - commit sha256 if possible [037a995f4b0b40e86ef476ba32b67120282f32ff] - I believe this is the one? I m using the aur gbar-git package, so took it  from https://aur.archlinux.org/cgit/aur.git/commit/?h=gbar-git&id=037a995f4b0b40e86ef476ba32b67120282f32ff
crimsonduelist commented 3 months ago

Noticed smthing similar with kalarm but changing themes seemed to register at least inside the tray. Can probably be resolved with #63 If I can set custom icon i.e. /usr/share/icons/spotube/spotube-logo.png which i guess is what waybar doing for such icons example? Because spotube doesnt appear to be in breeze or papirus yet for example. I ll update if I can resolve this, it s probably somthing easy to do on my part -Unless gbar was supposed to look for that custom on its own and I missunderstood

crimsonduelist commented 3 months ago

yeah kalarm for eample works fine but I cant get spotube icon to work Maybe I missunderstood smthing? I tried setting full path, copy pasting spotube-logo in both /usr/share/icons/ and .local/share/icons and SNIIconName: KAlarm, kalarm #worked

SNIIconName: Spotube, spotube-logo #didnt work

SNIIconName: Spotube, /usr/share/icons/spotube/spotube-logo.png #didnt work even tried some other generic ones i searched inside the themes i used i.e. anydesk - which for kalarm worked for example, but spotube still nothing showed up The icon doesnt appear to be the problem as i can just copy paste it into .local/share/icons or /usr/share/icons and it ll get used for kalarm.

scorpion-26 commented 3 months ago

The icon didn't load, because spotube only gives an absolute path, which is as far is I can tell against the specification. Anyways, I added a fix for this, so it should work out of the box now.

SNIIconName: Spotube, spotube-logo #didnt work

This was a bug on my side, since for the selector I only considered the tooltip (not set by spotube) and object path (a random string for spotube). gBar now also considers the title, so SNIIconName: spotube, ... (The lower case is important!) should work.

SNIIconName: Spotube, /usr/share/icons/spotube/spotube-logo.png #didnt work

Should also work now, when replacing "Spotube" with "spotube".