Icons defer to deprecated GTK CSS property -gtk-icon-theme
Created by: elsiehupp
Information
- Solaar version:
1.04
- Distribution: Debian Bullseye (GNOME 3.38.5)
- Kernel version:
Linux 5.10.0-5-amd64 x86_64 GNU/Linux
- Output of
solaar show
:
/usr/share/solaar/lib/solaar/ui/__init__.py:27: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import GLib, Gtk
Unifying Receiver
Device path : /dev/hidraw0
USB id : 046d:C52B
Serial : DD729326
Firmware : 12.10.B0032
Bootloader : 02.15
Other : AA.AA
Has 1 paired device(s) out of a maximum of 6.
Notifications: wireless, software present (0x000900)
Device activity counters: 1=138
1: Illuminated Living-Room Keyboard K830
Device path : /dev/hidraw1
WPID : 404C
Codename : K830
Kind : keyboard
Protocol : HID++ 4.1
Polling rate : 8 ms (125Hz)
Serial number: A7EBE278
Model ID: B335404C0000
Unit ID: 18EB5384
Bootloader: BOT 21.00.B0005
Firmware: RQK 62.01.B0015
Firmware: RBK 40.01.B0015
Other:
The power switch is located on the edge of top right corner.
Supports 28 HID++ 2.0 features:
0: ROOT {0000}
1: FEATURE SET {0001}
2: DEVICE FW VERSION {0003}
Firmware: Bootloader BOT 21.00.B0005 404C19BCD210
Firmware: Firmware RQK 62.01.B0015 404CF5AAB3B8
Firmware: Firmware RBK 40.01.B0015 B335F5AAB3B8
Firmware: Other
Unit ID: 18EB5384 Model ID: B335404C0000 Transport IDs: {'btleid': 'B335', 'wpid': '404C'}
3: DEVICE NAME {0005}
Name: Illuminated Living-Room Keyboard K830
Kind: keyboard
4: WIRELESS DEVICE STATUS {1D4B}
5: RESET {0020}
6: BATTERY STATUS {1000}
Battery: 90%, discharging, next level 50%.
7: BACKLIGHT {1981}
8: unknown:1A20 {1A20} internal, hidden
9: REPROG CONTROLS V4 {1B04}
10: SWAP BUTTON CANCEL {2005}
11: NEW FN INVERSION {40A2}
Fn-swap: enabled
Fn-swap default: enabled
Swap Fx function: True
12: ENCRYPTION {4100}
13: KEYBOARD DISABLE KEYS {4521}
Disable keys: {'1': False, '4': False, '8': False, '16': False}
14: TOUCHPAD RAW XY {6100} hidden
15: GESTURE 2 {6501}
Gestures: {'1': True, '2': True, '30': True, '10': True, '45': False, '42': True, '43': True, '64': False, '65': False, '67': False, '84': True, '34': True}
Gesture params: {'4': {'scale': 256}}
16: DFUCONTROL UNSIGNED {00C1}
17: unknown:1811 {1811} internal, hidden
18: unknown:1830 {1830} internal, hidden
19: unknown:1890 {1890} internal, hidden
20: unknown:1891 {1891} internal, hidden
21: unknown:18A0 {18A0} internal, hidden
22: unknown:1DF3 {1DF3} internal, hidden
23: unknown:1E00 {1E00} hidden
24: unknown:1EB0 {1EB0} internal, hidden
25: unknown:1861 {1861} internal, hidden
26: unknown:18B0 {18B0} internal, hidden
27: unknown:1F07 {1F07} internal, hidden
Has 19 reprogrammable keys:
0: Second Left Click , default: Left Click => Left Click
mse, divertable, pos:0, group:0, group mask:empty
reporting: default
1: Back , default: Mouse Back Button => Mouse Back Button
is FN, FN sensitive, reprogrammable, divertable, pos:2, group:0, group mask:empty
reporting: default
2: MY HOME , default: HomePage => HomePage
is FN, FN sensitive, reprogrammable, divertable, pos:3, group:0, group mask:empty
reporting: default
3: Application Switcher , default: Application Switcher => Application Switcher
is FN, FN sensitive, reprogrammable, divertable, pos:4, group:0, group mask:empty
reporting: default
4: CONTEXTUAL MENU , default: Right Click => Right Click
is FN, FN sensitive, reprogrammable, divertable, pos:5, group:0, group mask:empty
reporting: default
5: Search , default: Search Files => Search Files
is FN, FN sensitive, reprogrammable, divertable, pos:6, group:0, group mask:empty
reporting: default
6: Show Desktop , default: Show Desktop => Show Desktop
is FN, FN sensitive, reprogrammable, divertable, pos:7, group:0, group mask:empty
reporting: default
7: Maximize Window , default: Maximize Window => Maximize Window
is FN, FN sensitive, reprogrammable, divertable, pos:8, group:0, group mask:empty
reporting: default
8: MEDIA PLAYER , default: Music => Music
is FN, FN sensitive, reprogrammable, divertable, pos:9, group:0, group mask:empty
reporting: default
9: Previous , default: Previous => Previous
is FN, FN sensitive, divertable, pos:10, group:0, group mask:empty
reporting: default
10: Play/Pause , default: Play/Pause => Play/Pause
is FN, FN sensitive, divertable, pos:11, group:0, group mask:empty
reporting: default
11: Next , default: Next => Next
is FN, FN sensitive, divertable, pos:12, group:0, group mask:empty
reporting: default
12: SLEEP , default: Sleep => Sleep
reprogrammable, divertable, pos:0, group:0, group mask:empty
reporting: default
13: Mute , default: Mute => Mute
nonstandard, divertable, pos:0, group:0, group mask:empty
reporting: default
14: Volume Down , default: Volume Down => Volume Down
nonstandard, divertable, pos:0, group:0, group mask:empty
reporting: default
15: Volume Up , default: Volume Up => Volume Up
nonstandard, divertable, pos:0, group:0, group mask:empty
reporting: default
16: Fn Left Click , default: ShowUI => ShowUI
divertable, pos:0, group:0, group mask:empty
reporting: default
17: Left Button , default: Left Click => Left Click
mse, pos:0, group:0, group mask:empty
reporting: default
18: Right Button , default: Right Click => Right Click
mse, pos:0, group:0, group mask:empty
reporting: default
Has 17 gesture(s), 1 param(s) and 5 spec(s):
Track1Finger Enabled (None): None
TapGestures Enabled (None): None
Tap1Finger Enabled ( 0): True
Tap2Finger Enabled ( 1): True
TapDrag1Finger Enabled ( 2): True
DoubleTap1Finger Enabled ( 3): True
Scroll2FingerStateless Enabled (None): None
NaturalScrolling Enabled ( 4): False
Scroll2FingerHoriz Enabled ( 5): True
Scroll2FingerVert Enabled ( 6): True
LeftEdgeSwipe1Finger2 Enabled ( 7): False
RightEdgeSwipe1Finger2 Enabled ( 8): False
TopEdgeSwipe1Finger2 Enabled ( 9): False
Zoom2FingerStateless Enabled ( 10): True
FnClickGestureSuppression Enabled ( 11): True
TwoFingersPresent Enabled (None): None
DeviceSpecificRawData Enabled (None): None
ScaleFactor Value ( 0): 256 [Default: 256]
period unit Spec ( 3): 768
DVI field width Spec ( 1): 8
field widths Spec ( 2): 8
multiplier Spec ( 5): None
resolution Spec ( 4): 4
Battery: 90%, discharging, next level 50%.
Describe the bug
The tray icon defaults to Hicolor, rather than symbolic, presumably due to this line of code:
To Reproduce
Launch Solaar without the -b [icon-theme]
option.
Additional context
Presumably the sensible defaults vary depending on what desktop shell someone is using, but on GNOME, at least, it would make sense to default to the Symbolic icon theme for the tray icon. If there is a way to detect what desktop shell the application is running in, it could be preferable to automatically choose the default icon theme based on that.
Additionally, while the battery indicator is rendered as symbolic, it would be nice to be able to have the Solaar indicator icon render as symbolic, too. Rendering as symbolic in this instance just means that the icon's fill color is determined by the operating system, rather than using a preset fill.
Finally, it would be nice if the icon-theme option were presented in the user interface, which would help solve the issue of dubious defaults. Like, I didn't know that the icon theme could be set from the command line until I dug down in the code, since Solaar is not primarily a command-line application.