You are not logged in.
Hello
I run XFCE v4.16 on Raspberry Pi OS, with a 7-inch, 1280x800 monitor. The default icon sizes appear too small, so I am attempting to set icons in all UI elements to be at least 32x32. Icons on panels can be resized in panel settings, but I cannot figure out how to resize icons appearing in other places, e.g. the app menu and toolbars.
Here's what I have tried (and didn't succeed ):
In the Settings Editor, changing the value of xsettings - Gtk - IconSizes to:
gtk-large-toolbar=32,32:gtk-small-toolbar=32,32:gtk-menu=32,32:gtk-button=32,32:gtk-dnd=32,32
(No icon size was affected by this.)
In ~/.config/gtk-3.0/settings.ini, adding:
gtk-icon-sizes = panel-menu=32,32:gtk-large-toolbar=32,32
(No icon size was affected by this.)
Setting global UI scaling in Appearance settings. There are only two options, 1x and 2x.
(Setting a 2x scaling makes everything too large and breaks some UI elements.)
What is the proper way to change the size of icons in these positions?
Last edited by UM-Li (2022-03-16 04:51:08)
Мяу?
Offline
gtk-icon-sizes is no longer supported by GTK3 - that's why it doesn't work.
Which GTK (Appearance) theme are you using? Does the problem persist is you use the Adwaita theme?
If you have an ~/.config/gtk-3.0/gtk.css file, can you post back the content?
Are you using any scaling?
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Thanks for the hints @ToZ
For Gtk appearance I use Materia-Dark theme. I changed to Adwaita and rebooted to let things take effect, but icon sizes were not affected by this.
~/.config/gtk-3.0/gtk.css only has something with color:
@define-color theme_selected_bg_color #87919b;
@define-color theme_selected_fg_color #f0f0f0;
There is no gtk.css in /etc/gtk-3.0.
Currently there is no scaling in effect.
Мяу?
Offline
Can you post back:
xfconf-query -c xsettings -lv
Edit: Does changing the icon theme make a difference?
Edit2: What is the contents of your ~/.config/gtk-3.0/settings.ini file?
Last edited by ToZ (2022-03-15 01:48:18)
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Sure.
$ xfconf-query -c xsettings -lv
/Gdk/WindowScalingFactor 1
/Gtk/ButtonImages true
/Gtk/CanChangeAccels false
/Gtk/ColorPalette black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90
/Gtk/CursorThemeName volantes_cursors
/Gtk/CursorThemeSize 48
/Gtk/DecorationLayout menu:minimize,maximize,close
/Gtk/DialogsUseHeader true
/Gtk/FontName Noto Sans CJK SC 20
/Gtk/IconSizes gtk-large-toolbar=32,32:gtk-small-toolbar=32,32:gtk-menu=32,32:gtk-dialog=88,88:gtk-button=32,32:gtk-dnd=32,32
/Gtk/KeyThemeName
/Gtk/MenuBarAccel F10
/Gtk/MenuImages true
/Gtk/MonospaceFontName 文泉驿等宽微米黑 20
/Gtk/TitlebarMiddleClick lower
/Gtk/ToolbarIconSize 3
/Gtk/ToolbarStyle icons
/Net/CursorBlink true
/Net/CursorBlinkTime 1200
/Net/DndDragThreshold 8
/Net/DoubleClickDistance 5
/Net/DoubleClickTime 400
/Net/EnableEventSounds true
/Net/EnableInputFeedbackSounds true
/Net/IconThemeName Papirus-Dark
/Net/SoundThemeName default
/Net/ThemeName Materia-dark
/Xfce/LastCustomDPI 96
/Xft/Antialias -1
/Xft/DPI 96
/Xft/Hinting 1
/Xft/HintStyle hintslight
/Xft/RGBA rgb
Re edit: When I changed Gtk theme I also changed the icon theme to Adwaita; made no difference.
Re edit2: (I've removed the gtk-icon-sizes line)
$ cat ~/.config/gtk-3.0/settings.ini
[Settings]
gtk-theme-name=Materia
gtk-icon-theme-name=Papirus
gtk-font-name=Noto Sans CJK SC 12
gtk-cursor-theme-name=PiXflat
gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb
Мяу?
Offline
If you're system has an ~/.xsession-errors file, can you post back the contents?
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Well there are 3,000 lines in my ~/.xsession-errors... I'll try to isolate entries that may be relevant, though I am not sure:
Xsession: X session started for pi at 2022年 03月 13日 星期日 19:32:43 CDT
(wrapper-2.0:7078): Gtk-WARNING **: 19:32:50.672: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 28
(wrapper-2.0:7075): Gtk-WARNING **: 19:32:50.869: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 28
(wrapper-2.0:7083): Gtk-WARNING **: 19:32:51.137: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 28
Xsession: X session started for pi at 2022年 03月 13日 星期日 20:48:04 CDT
(wrapper-2.0:3196): Gtk-WARNING **: 20:48:10.496: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 28
(wrapper-2.0:3198): Gtk-WARNING **: 20:48:10.684: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 28
(wrapper-2.0:3197): Gtk-WARNING **: 20:48:10.778: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 28
(xfce4-appearance-settings:12980): Gtk-CRITICAL **: 20:54:10.001: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook
(xfce4-appearance-settings:12980): Gtk-CRITICAL **: 20:54:10.001: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook
(xfce4-appearance-settings:12980): Gtk-CRITICAL **: 20:54:10.141: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook
(xfce4-appearance-settings:12980): Gtk-CRITICAL **: 20:54:10.141: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook
(xfwm4:3152): xfwm4-WARNING **: 20:58:12.171: XSync timeout for client "Appearance" (0x3000007)
(xfwm4:3152): xfwm4-WARNING **: 21:01:53.303: XSync timeout for client "pi" (0x1000007)
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 2011, resource id: 8737397, major code: 40 (TranslateCoords), minor code: 0
Xsession: X session started for pi at 2022年 03月 13日 星期日 21:07:12 CDT
(wrapper-2.0:7614): Gtk-WARNING **: 21:07:19.168: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 34
(wrapper-2.0:7615): Gtk-WARNING **: 21:07:19.182: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 34
(wrapper-2.0:7613): Gtk-WARNING **: 21:07:19.248: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 34
Xsession: X session started for pi at 2022年 03月 13日 星期日 21:23:20 CDT
(wrapper-2.0:8957): Gtk-WARNING **: 21:23:27.115: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 24
(wrapper-2.0:8959): Gtk-WARNING **: 21:23:27.215: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 24
(wrapper-2.0:8958): Gtk-WARNING **: 21:23:27.245: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 24
Xsession: X session started for pi at 2022年 03月 13日 星期日 21:33:04 CDT
(wrapper-2.0:29051): Gtk-WARNING **: 21:33:11.234: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 24
(wrapper-2.0:29049): Gtk-WARNING **: 21:33:11.255: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 24
(wrapper-2.0:29050): Gtk-WARNING **: 21:33:11.306: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 24
(wrapper-2.0:725): Gtk-WARNING **: 21:35:08.015: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 32
(xfwm4:28937): xfwm4-WARNING **: 21:51:02.679: XSync timeout for client "Settings Editor" (0x3400007)
Xsession: X session started for pi at 2022年 03月 13日 星期日 21:53:32 CDT
(wrapper-2.0:1656): Gtk-WARNING **: 21:53:42.183: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1660): Gtk-WARNING **: 21:53:42.200: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1652): Gtk-WARNING **: 21:53:42.260: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(xfce4-session:1418): GLib-GObject-WARNING **: 21:59:55.468: invalid unclassed pointer in cast to 'XfsmManager'
Xsession: X session started for pi at 2022年 03月 13日 星期日 22:00:00 CDT
(wrapper-2.0:2723): Gtk-WARNING **: 22:00:06.533: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:2726): Gtk-WARNING **: 22:00:06.659: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:2725): Gtk-WARNING **: 22:00:06.717: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:8409): Gtk-WARNING **: 22:20:27.531: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node button, owner GtkToggleButton)
Xsession: X session started for pi at 2022年 03月 13日 星期日 22:22:52 CDT
(wrapper-2.0:1651): Gtk-WARNING **: 22:23:22.637: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1644): Gtk-WARNING **: 22:23:22.778: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1642): Gtk-WARNING **: 22:23:22.844: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Xsession: X session started for pi at 2022年 03月 14日 星期一 00:24:06 CDT
(wrapper-2.0:3963): Gtk-WARNING **: 00:24:14.329: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:3956): Gtk-WARNING **: 00:24:14.512: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:3958): Gtk-WARNING **: 00:24:15.052: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(xfwm4:3886): xfwm4-WARNING **: 00:25:21.302: XSync timeout for client "pi" (0x1600007)
connect a handler to this signal, it must return
GDK_EVENT_PROPAGATE so the entry gets the event as well
[01f38360] main playlist: playlist is empty
QObject::~QObject: Timers cannot be stopped from another thread
Xsession: X session started for pi at 2022年 03月 14日 星期一 00:53:51 CDT
(wrapper-2.0:3901): Gtk-WARNING **: 00:53:58.854: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:3925): Gtk-WARNING **: 00:53:59.150: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:3917): Gtk-WARNING **: 00:53:59.237: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Xsession: X session started for pi at 2022年 03月 14日 星期一 01:24:30 CDT
(wrapper-2.0:2070): Gtk-WARNING **: 01:24:40.677: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:2109): Gtk-WARNING **: 01:24:40.814: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:2108): Gtk-WARNING **: 01:24:41.057: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Xsession: X session started for pi at 2022年 03月 14日 星期一 09:57:05 CDT
(wrapper-2.0:28660): Gtk-WARNING **: 09:57:13.027: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:28665): Gtk-WARNING **: 09:57:13.139: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:28668): Gtk-WARNING **: 09:57:13.145: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Xsession: X session started for pi at 2022年 03月 14日 星期一 09:59:04 CDT
(wrapper-2.0:29065): Gtk-WARNING **: 09:59:10.133: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:29063): Gtk-WARNING **: 09:59:10.146: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:29064): Gtk-WARNING **: 09:59:10.246: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(xfce4-appearance-settings:30896): dbind-WARNING **: 10:17:45.620: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Xsession: X session started for pi at 2022年 03月 14日 星期一 10:23:22 CDT
(wrapper-2.0:1758): Gtk-WARNING **: 10:23:32.269: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1713): Gtk-WARNING **: 10:23:32.547: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1747): Gtk-WARNING **: 10:23:32.682: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(xfwm4:1635): xfwm4-WARNING **: 10:29:21.307: XSync timeout for client "pi" (0x1600007)
Xsession: X session started for pi at 2022年 03月 14日 星期一 18:37:04 CDT
(wrapper-2.0:7387): Gtk-WARNING **: 18:37:11.823: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:7395): Gtk-WARNING **: 18:37:11.912: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:7389): Gtk-WARNING **: 18:37:12.089: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Xsession: X session started for pi at 2022年 03月 14日 星期一 18:42:21 CDT
(wrapper-2.0:1694): Gtk-WARNING **: 18:42:31.182: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1695): Gtk-WARNING **: 18:42:31.345: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1693): Gtk-WARNING **: 18:42:31.360: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(xfce4-appearance-settings:2237): Gtk-CRITICAL **: 18:44:41.194: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook
(xfce4-appearance-settings:2237): Gtk-CRITICAL **: 18:44:41.194: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkNotebook
Xsession: X session started for pi at 2022年 03月 14日 星期一 18:58:43 CDT
(wrapper-2.0:1721): Gtk-WARNING **: 18:59:13.823: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1755): Gtk-WARNING **: 18:59:13.838: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:1751): Gtk-WARNING **: 18:59:13.895: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Xsession: X session started for pi at 2022年 03月 14日 星期一 18:59:48 CDT
(wrapper-2.0:2181): Gtk-WARNING **: 18:59:55.423: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:2180): Gtk-WARNING **: 18:59:55.438: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:2179): Gtk-WARNING **: 18:59:55.476: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Xsession: X session started for pi at 2022年 03月 14日 星期一 20:42:15 CDT
(wrapper-2.0:3909): Gtk-WARNING **: 20:42:21.419: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:3911): Gtk-WARNING **: 20:42:21.497: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
(wrapper-2.0:3910): Gtk-WARNING **: 20:42:21.571: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 36
Here is a full version of this file: GitHub Gist
Мяу?
Offline
Can you try changing the Appearance and Icon themes one more time, but also renaming ~/.config/gtk-3.0/settings.ini as well? Reboot to test.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
I moved ~/.config/gtk-3.0/settings.ini elsewhere, changed the themes and rebooted. It didn't do the trick
Мяу?
Offline
This is really strange.
Can you create a second account on the computer, log in using that account, and see if the problem persists? Lets see if its a user profile issue.
The other thing I might suggest is to try using the en_US.UTF-8 locale - in case its related to language rendering.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Thanks again for the hints. This time I tried:
Creating a new user:
# useradd -m test
Setting the locale to English, by adding an ~test/.i18n:
export LANGUAGE=en_US.utf8
export LANG=en_US.utf8
export LC_ALL=en_US.utf8
and a ~test/.config/xfce4/xinitrc:
#!/bin/sh
[[ -f "$HOME/.i18n" ]] && . "$HOME/.i18n"
. /etc/xdg/xfce4/xinitrc
Reboot. XFCE runs in English when I log in as test.
Both the Gtk appearance theme and icon theme are Adwaita by default. Adding the line:
gtk-large-toolbar=32,32:gtk-small-toolbar=32,32:gtk-menu=32,32:gtk-button=32,32:gtk-dnd=32,32
back to xsettings - Gtk - IconSizes in the Settings Editor.
Reboot.
As a new user with an English locale, I still cannot change the icon sizes at issue. I also tried changing the themes to Materia-Dark + Papirus-Dark (which I use for pi), and these icons are still as small. Very strange indeed
Last edited by UM-Li (2022-03-17 05:08:23)
Мяу?
Offline
What if you don't perform (or undo) the "gtk-large-toolbar" entry in the Settings Editor. Does the problem still exist after a reboot?
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Not sure if I've understood what "gtk-large-toolbar entry" refers to, but I tried these as test:
In the beginning xsettings - Gtk - IconSizes is empty. This is the situation where icons in the app menu and toolbars are too small.
Setting the value of IconSizes to "gtk-large-toolbar..." and reboot, which brought me to my last post.
Removing "gtk-large-toolbar=32,32", so that the value of IconSizes became:
gtk-small-toolbar=32,32:gtk-menu=32,32:gtk-button=32,32:gtk-dnd=32,32
This didn't make a difference after reboot.
Setting the value of IconSizes back to empty. This didn't make a difference either after reboot.
It seems the only change I've made as test that may affect icon sizes is to the value of IconSizes, although adding that line did not change the sizes as expected. Setting it back to empty lets things return to the default, where the icons at issue feel too small.
Last edited by UM-Li (2022-03-15 17:26:48)
Мяу?
Offline
I have to admit, I'm stumped. I don't know what might be causing this.
You can try working around this by manually adjusting those icon sizes using css with something like this in ~/.config/gtk-3.0/gtk.css:
toolbar image, menu image { -gtk-icon-transform: scale(2.0); }
...adjust the 2.0 to suit - you will probably need a smaller value- 1.0 is the normal size. I'm not sure what this will do to the whole system (as toolbars and menus are used everywhere) and generally, when you increase the size of images in GTK it tends to blur them. Perhaps you can give it a try to see if it at least makes a difference.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Setting scaling this way in gtk.css does enlarge the icons, but also make them blurry. For now I'll hide icons in the app menu and buttons, although there's nothing I can do with those in toolbars. Thanks again for your time
P.S. do you think I should submit a bug report at XFCE GitLab?
Мяу?
Offline
P.S. do you think I should submit a bug report at XFCE GitLab?
You could, but I'm not sure anyone would know what to do unless if could be replicated or at least better understood.
I have one more idea. Can you try doing this:
XFSETTINGSD_DEBUG=1 xfsettingsd --replace --no-daemon
This will restart the xfce4-settings daemon in debug mode and start spewing out alot of information. Lets see if its picking up something about icons or image rendering.
Edit: I think I know what's happening. Try decreasing your font size (Appearance > Fonts & Window Manager > Title Font) to size 10. Then go to Settings Manager > Display and play with the "scale" setting to see if you can increase the scale to match your desired size.
Edit2: the scale factor in Display settings works opposite to how you think it should. Lower the value to increase the size.
Last edited by ToZ (2022-03-16 00:57:00)
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Yes... can confirm setting the display scaling enlarges everything consistently and works well with a smaller font size. Didn't realize I could also set scaling here; really should have tried this before going with xsettings. Thanks a lot!
Мяу?
Offline
[ Generated in 0.013 seconds, 7 queries executed - Memory usage: 673.06 KiB (Peak: 705.91 KiB) ]