glad to hear you are trying to create your own theme but it's not easy to tell as I don't know your theme. I don't know how much space was assigned to the quicklaunch box and how your CSS looks like.
The property "normal-icon-size" manages the unscaled size of the icons in the quicklaunch box. The default value is 1px (pixel) and if I look at the attached image I think you have already set this properties to a higher value. Please keep in mind that this properties defines the unscaled size of the icons. The icons will be scaled down if they do not fit into the quicklaunch box anymore. That means the more icons you have in the quicklaunch the more likely they do not fit into the qucklaunch's box space and they need to be scaled down to fit again.
I copied the theme "xfdashboard-blue" and replaced the layout file "xfdashboard.xml" with your version and ... what should I say? It looks like expected. Very big icons which fit into screen as you can see at my attached screenshot.
If the space filled by the quicklaunch is okay but "only" the icon size is incorrect, have you checked your CSS file if it overrides the property "normal-icon-size" of your quicklaunch? CSS files have higher priority as the layout file.
Incorrect icon scaling only occurs with horizontal orientation, can be fixed by executing this only if vertical orientation is set. Just a quick fix, not sure if it is correct.
@michal4132 Thanks for the hint. Yes, this function should only be called if the orientation of quicklaunch is vertical and so it needs a different function for horizontal orientation which already exist.
As it seems that you know this problem (and solved it with a quick fix) and also have a theme for this problem, may I ask you if the following patch would work?
--- libxfdashboard/quicklaunch.c.old 2022-06-16 08:41:48.254186785 +0200+++ libxfdashboard/quicklaunch.c 2022-06-16 08:42:40.501325486 +0200@@ -2546,7 +2546,14 @@ clutter_actor_box_get_size(inBox, &availableWidth, &availableHeight); /* Find scaling to get all children fit the allocation */- priv->scaleCurrent=_xfdashboard_quicklaunch_get_scale_for_height(self, availableHeight, FALSE);+ if(priv->orientation==CLUTTER_ORIENTATION_HORIZONTAL)+ {+ priv->scaleCurrent=_xfdashboard_quicklaunch_get_scale_for_width(self, availableWidth, FALSE);+ }+ else+ {+ priv->scaleCurrent=_xfdashboard_quicklaunch_get_scale_for_height(self, availableHeight, FALSE);+ } /* Calculate new position and size of visible children */ childAllocation.x1=childAllocation.y1=priv->spacing;