-
Notifications
You must be signed in to change notification settings - Fork 18
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
Several (related) taskbar issues #178
Comments
Thanks for pointing this out.
|
I see that this has already been fixed. Nice!
It seems that the relevant code is here: Line 852 in b843f88
My reasoning here would be that if you want to create different sizes of the same theme (see e.g. Antix themes) in order to accommodate different screen resolutions, then it makes sense to scale the graphs as well (and in order to keep their proportions right, you need to also scale their width. |
Release icewm-3.7.0 released 2025-02-22 --------------------------------------- git shortlog --no-merges -e -n -w80,6,8 3.6.0...3.7.0 Eduard Bloch <[email protected]> (107): LC_CTYPE specific hints to Xft selection Minor fixes and improvements on XDG menu WIP: switched more glib containers to stl Workaround for gettext not applied on submenu WIP: redesigning menu handling First working printing code after rewrite Fixup some of the expansion patterns in the exec string Cleanup, fix Other menu population Localized sorting Map unknown subcats to Other main cat Simple attempt to get duplicated items in parent nodes Attaching menu description, incomplete Fix main cat fallback Work around missing reverse iterator, can be plain C++11 again Fallback to directory file base name matching the category name Mark submenu labels translateable Drop menu info getter Don't recurse for .directory fetching clang-reformat fdomenu.cc Stop requiring glib in CMake build Common DBG macro to turn on/off debug notes Filter out duplicates where apps declare some intermediate categories as well Add extra separator handling Implemented execution in Terminal Rename local DBG macro Cleaning Support --no-sub-cats Stop storing lookup helper in global member Fewer stat operations using readdir hints Match country-specific languages correctly Printing of GenericName Drop old Perl based converter (obsolete) Restore option to remove Other menu Option to move lone entries to their parent menues. Update CMake requirement to prevent warnings Minor updates Helper to create locale folder mock Fix loading from gettext if menu did not have a description Fix and streamline conversion flow Hint on requirement of SVG support Drop dependency on YLocale class and X11 libs Disable sync with stdio Include implicitly pulled headers directly Deadline option to abort XDG data reading and print what we got so far Refactor, reformat, fix typo Better fix for duplicated appendixes Bugfixes, cleanup More sophisticated -S operation, also fixes, cleanup Restore .desktop launching function Simple string matching filter implemented Icon donation from AudioVideo section to Audio / Video Reimplemented --flat mode Fix segfault when AudioVideo did not have decoration Relocate --match-osec check to hit translated section names too Added a user hint and basic precaching hack on menu timeout Minor refactoring (DRYing) Minor heap usage optimization Tiny runtime saving by not cleaning up the tree in the end Document missing options and align help text format Document new options In timeout, don't waste time with nice-to-have optimizations Disable --no-sep-others again Configured timeout defaults to "sane" values Dodge the GenericName which just repeats Name content Support more OS with the d_ent shortcut Optional source comment, more hidding, various fixes Minor performance tuning with different containers Save a few CPU cycles Update XDG format reference version Fixed merging of some submenu entries into correct parent Stop using std::regex Don't evaluate TryExec Local formating of prog title Option to clamp rogue menu title's length Make true/false checks case-insensitive Overhaul content processing Resolve shadowing of apps which are having the same translated name Convert translated sorting to internal bubble sort Wide char aware string cropping Drop unused fields, ignore comments earlier More similar standard level selection (to autoconf with recent compilers) Fix C++14 issue with constness of functors Use system installation of nanosvg package, where possible Stop using smart pointers Work around GCC11 issue Solve some warnings from receng clang and gcc Stop using VLAs, they are not fully legal in C++ Make PACKAGE/VERSION overridable in from-git build mode Document optional requirements Ignore local junk from IDEs and personal notes Build dependency on gennews.sh for NEWS creation Control language selection by LINGUAS file, not filesystem wildcards POT/PO update Explicit blacklisting of menu-xdg subfolders Ignore certain prefix commands Unmark text while not moving ahead at the end Never mark text in the complete operation Fix potential resize-to-smaller problem Drop ycollections classes Render the list of proposals in a tooltip Make the tooltip act like an assistant with further proposals Stop tooltip when space was typed in Redo completion when deleting Try using smaller icon versions in WS overview Make clicks in the corner effective to ShowDesktop button in right-placed mode Fix a crash when selecting Default from the clock menu No text insertion while doing tooltip update only Bert Gijsbers <[email protected]> (69): Add support for _NET_WM_MOVERESIZE_CANCEL. Better guard move/sizes and make sure they are properly terminated. Stop move/sizes when changing tabs. End manual placement when the client exits. Properly compute the first parameter to the select(2) system call. Add -Await option to icesh to wait for and select new client windows. Improve support for properties with COMPOUND_TEXT in icesh. When a key event is handled, don't propagate it further. When DockApps has "dock" and LimitByDockLayer=1 then update the desktop work area so that maximized windows leave the DockApps container visible for issue #779. Also update DockApps container when downsizing. Update DockApps preferences comment. Document the layers and the support for dockapps. Document the use of the LimitByDockLayer pref for DockApps. Simplify captureEvents/releaseEvents. Support changing the Dock container layer while running. When focusing a frame under the mouse, prefer to focus its topmost transient. When raising a frame, check if the focused frame needs to bind the mouse buttons, if it is overlapped. When minimizing or hiding transients, check against transients being tabs in the same frame. When LimitPosition is false, you can drag maximized windows off-screen and closes issue #780. Revert "When LimitPosition is false, you can drag maximized windows off-screen." To drag a maximized window, keep the Shift key down for issue #780. Elaborate on symbols and expressions and document the minus operator. Support keybindings to shifted XF86keysyms like XF86AudioPause for issue #781. Move parsing key definitions to class WMKey. Reuse WMKey in KProgram. Enforce a limit of 8 mouse pointer buttons, as more is impossible. Add constructors to WMKey. Consistently use keyCodeToKeySym. Dissolve the WM_KEY macros. Move all keybinding initializations to its own C++ file. Correct versions and date. Drop ycollections. Succinct. Improve pager icon sizes conditional structure. Remove smart pointers from misc.cc. Restore mstring strncpy's. Improve readability. Restore unsigned char array in yarray. Replace max by min. Let icesh accept UTF-8 strings in properties. Support locales with three letter language codes. Remove silly casts. Restore simple arrays and avoid mallocs. Retstore the previous fontmacro's, because e.g. the InputFont no longer was bold. Let icewmbg also support the AVIF image format. Remove the default 1px black border on the right and bottom sides of the QuickSwitch window when Look is flat for issue ice-wm/icewm#174. Support OpenBSD tar in --install list for issue ice-wm/icewm#179. Both scrollbars need to be able to process the same key event. Cleanup the listing of installable themes for issue ice-wm/icewm#179. Revert "When undoing an arrange or showing the desktop, focus the last focused window instead of the topmost window." for issue #788. fix fi.po to fix the build. Don't call XKeysymToKeycode several times per key grab, but cache it. Create YKeycodeMap and getKeycodeMap. Drop grabVKey and fixupPreferences. Move unshift to WMKey grab. Support grabbing two keys simultaneously by a single keybinding definition when both keys are bound to the same keysym. Increase max backgrounds to 8000. Increase toolbar height when icons are taller for issue ice-wm/icewm#178. Drop a NOTE. Make 4 graph widths themable for issue ice-wm/icewm#178. Revert "Remove the default 1px black border of the QuickSwitch for issue ice-wm/icewm#174." This reverts commit e7511806257cdee92585a21a4a794e19e33478dd. Revert "Don't draw a border on QuickSwitch when Look=flat for issue #736." This reverts commit 11c0b34db6b24f5fbd9815d359e0b5ef1360517f. Mark support for global modality as done. Add ColorQuickSwitchBorder themable preference for issue #736. Never use CurrentTime, but always use last event time when setting the input focus to a window. Fix compilation error for fdomenu.cc undefined msglang when no I18N. Include locale include files last in fdomenu.cc, because they contain macro's. Restore support for NanoSVG in the CMake build. Update the about copyright to 2025. Update potfiles. Restore support for C++11 in fdomenu.cc. Check for __GNUC__ at least 5 for codecvt dependency. Baurzhan Muftakhidinov <[email protected]> (2): Translated using Weblate (Kazakh) Translated using Weblate (Kazakh) David Medina <[email protected]> (2): Translated using Weblate (Catalan) Translated using Weblate (Catalan) Ferdinand Galko <[email protected]> (2): Translated using Weblate (Slovak) Translated using Weblate (Slovak) Luna Jernberg <[email protected]> (2): Translated using Weblate (Swedish) Translated using Weblate (Swedish) Marina J. Donis <[email protected]> (2): Translated using Weblate (Spanish) Translated using Weblate (Spanish) Alessio Adamo <[email protected]> (1): Translated using Weblate (Italian) Aleš Kastner <[email protected]> (1): Translated using Weblate (Czech) Dmitriy Khanzhin <[email protected]> (1): Translated using Weblate (Russian) Ettore Atalan <[email protected]> (1): Translated using Weblate (German) Hugo Carvalho <[email protected]> (1): Translated using Weblate (Portuguese) Mehmet Akif 9oglu <[email protected]> (1): Translated using Weblate (Turkish) Rantala <[email protected]> (1): Translated using Weblate (Finnish) Temuri Doghonadze <[email protected]> (1): Translated using Weblate (Georgian) Virinas code <[email protected]> (1): Translated using Weblate (French) Yasuhiko Kamata <[email protected]> (1): Translated using Weblate (Japanese)
There appear to be several issues with the taskbar which are somehow related. I am also happy to report each issue individually, though, if this is more helpful. Please let me know if this is the case.
(1) The size of the taskbar does not equal the size of the start button (i.e. start.xpm nowadays), as stated in the FAQ (https://ice-wm.org/FAQ/): "Taskbar height is sized according size of start button. E.g. for linux if your linux.xpm in taskbar folder is 50x32 then your taskbar will be 32 pixels high."
It actually seem much more complicated. When using a start.xpm with a height of 24 pixels, and a
SmallIconSize
of 24 pixels, the taskbar will in fact be 33 pixels high. It appears that the minimal height of the taskbar is always the size ofSmallIconSize
+ 9 pixels. Only if start.xpm is larger than this, it will increase the taskbar height to the height of start.xpm + 5 pixels. There does not seem to be a way to have the taskbar the same height as eitherSmallIconSize
or start.xpm.(2)

TaskBarDoubleHeight
fails to "double" the height of the taskbar whenSmallIconSize
is larger than 16. In these cases it increases the taskbar to a height that is significantly less than double height, cutting off the application launch icons. This can be seen in all Antix themes for instance, which come in different sizes (that have differentSmallIconSize
values). Here is another example from a theme I am currently working on:There seem to be three ways to prevent this, which are all not desirable and are hence not universal solutions to the problem:
SmallIconSize
to 16 (obviously not desirable for larger themes)TrayIconMaxHeight
to something that is 1/3 larger than the size ofSmallIconSize
, such as 32 for aSmallIconSize
of 24 (also not desirable since it will make the tray icons significantly larger than all other items in the taskbar, while most themes have them even smaller than the other items)TaskBarGraphHeight
to a large value (e.g. 32), such that it fill the entire taskbar (also not desirable, due to the bug I will describe next, and even then it of course doesn't work anymore a soon as a user decides to not show any graphs)(3) The width of the taskbar graphs cannot be set by a theme. While the height of the taskbar graphs (CPU, Mem, Network, Battery) can be set in the default.theme file with
TaskBarGraphHeight
, the corresponding width settings (TaskBarCPUSamples
,TaskBarMEMSamples
,TaskBarNetSamples
,TaskBarApmGraphWidth
) do not seem to have any effect when they are set in default.theme.All of these issues were observed with IceWM version 3.6.0.
The text was updated successfully, but these errors were encountered: