Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spotube no tray icon #92

Closed
crimsonduelist opened this issue Apr 29, 2024 · 5 comments
Closed

Spotube no tray icon #92

crimsonduelist opened this issue Apr 29, 2024 · 5 comments

Comments

@crimsonduelist
Copy link

No tray icon whether spotube is start first or gbar

@scorpion-26
Copy link
Owner

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

@crimsonduelist
Copy link
Author

crimsonduelist commented Apr 30, 2024

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.

  • If it is a visual glitch, please include a screenshot/video as well as any modifications to the css (if any).
    Literally using just copy pasted defaults from /usr/share/gBar/ no modifications

-Logs - I notice:
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!

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
  • The config (~/.config/gBar/config) used is always valuable to diagnose an issue, so please include it.
    Literally using just copy pasted defaults from /usr/share/gBar/
    Here copy pasted from my .config/gBar/config
# Example configuration.
# Everything after '#' is ignored
# Format of the variables:
#    [variable]: [value]
# Whitespaces are ignored in the following locations:
# - Before the variable
# - After the ':'
# - After the value
#
# String variables can be escaped ([Notation in config] -> "Result"):
# - foo\\bar -> "foo<backlash>bar"
# - foo\nbar -> "foo<newline>bar"
# - foo\sbar -> "foo bar"

# 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/<DrmAmdCard>
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

@crimsonduelist
Copy link
Author

crimsonduelist commented May 2, 2024

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
Copy link
Author

crimsonduelist commented May 2, 2024

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 added a commit that referenced this issue May 2, 2024
This adds a way to filter items, which don't have a nice object path nor
a tooltip.
#92 (comment)
scorpion-26 added a commit that referenced this issue May 2, 2024
Even though this is non-standard behavior, some apps still do this (e.g.
spotube)

Fixes: #92
@scorpion-26
Copy link
Owner

scorpion-26 commented May 2, 2024

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".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants