ICEWMHINT(1)
π ICEWMHINT(1) β like, the manual page, but make it make sense
okay so real talk, this is the icewmhint(1) page from the User Commands section, and I'm gonna walk you through it like we're texting at 2am because honestly? it's giving "small utility, big power" and I need you to get it. π
β¨ NAME β¨
icewmhint β sets IceWM hints by window class and instance. that's the whole thing bestie, that's the assignment π«Ά
πΈ SYNOPSIS πΈ
icewmhint CLASS.INSTANCE OPTION VALUE ...
π¦ DESCRIPTION π¦
so icewmhint is this little utility for passing IceWM hints along to icewm(1). and the way it works is genuinely iconic: icewm holds onto those hints for the first X11 client that gets started after that. periodt. π
and listen, they take precedence over hints from the icewm-winoptions(1) file. like, they win. main character energy fr fr.
a hint is a triplet β say it with me β a class.instance, an IceWM winoption, and its value. and you can pass multiple hints in a single invocation of icewmhint. multiple!! we love an efficient queen. β¨
how do they actually travel? over the "_ICEWM_WINOPTHINT" property on the root window. icewmhint appends hints to this property, and icewm removes the property after it reads it. teamwork, no cap. π€
π OPTIONS π
icewmhint recognizes the following options:
π COMMAND OPTIONS π
only one command option can be specified per invocation. and if you specify no command option at all? then argument parsing and processing is performed. iykyk.
-h,--helpβ prints a brief usage statement to stdout and exits.-V,--versionβ prints the program version to stdout and exits.-C,--copyingβ prints copying permissions to stdout for the program and exits.
β GENERAL OPTIONS β
-d,--display=DISPLAYβ specifies the X11DISPLAY. if you don't specify it, it defaults to$DISPLAY.
π ARGUMENTS π
these next three arguments are required for each hint. all three. every time. no skipping π
CLASS.INSTANCEβ specifies the ICCCM 2.0WM_CLASSproperty, in terms of resource class and resource name separated by a period ("."). for example:"XTerm.xterm". and guess what, just the resource class or resource name without a dot is also acceptable β like"XTerm"or"xterm". flexible icon behavior πOPTIONβ specifies theOPTIONto affect.VALUEβ gives theVALUEfor the option.
and yeah, multiple hints can be given. go off. π
π§ GENERAL OPTION ARGUMENTS π§
icon NAMEβ specifies the icon name for windows ofCLASS.INSTANCE.NAMEshould be the name of the icon, andicewm(1)will use its usual method to locate the icon. the default is the name provided by window manager hints.workspace WORKSPACEβ specifies the workspace on which a window ofCLASS.INSTANCEwill be initially placed. the default is the current workspace.WORKSPACEshould be a workspace number counting from 0 (yes, from zero, they're programmers).geometry GEOMETRYβ specifies the initial geometry for windows of the givenCLASS.INSTANCE.GEOMETRYmust be a geometry that can be parsed byXParseGeometry(3). the default is the geometry provided by window manager hints.order NUMBERβ the sorting order of task buttons and tray icons. the default value is zero. increasing positive values go farther right, while decreasing negative values go farther left. theorderoption applies to the task pane, the tray pane and the system tray. so like, it's a whole vibe across three panes π«Άopacity NUMBERβ sets the_NET_WM_WINDOW_OPACITYproperty ifNUMBERis a value between1and100.NUMBERis interpreted as percentage of maximum opaqueness.layer {LAYER|NUMBER}β specifies the layer to be associated with aCLASS.INSTANCE. the default is the"Normal"layer.VALUEis either a layer number or a symbolic layer name. the symbolic layer names are:Desktop(0)β Desktop window.Below(2)β Below the default layer.Normal(4)β Default layer for windows.OnTop(6)β Above the default layer.Dock(8)β Docked windows at edge of screen.AboveDock(10)β Windows above the dock.Menu(12)β The layer for menu's.Fullscreen(14)β When fullscreen and focused.AboveAll(15)β Always above anything.
tray {Ignore|Minimized|Exclusive|NUMBER}β specifies the tray handling to be applied to windows withCLASS.INSTANCE. this option is specific toicewm(1)and sets the"_ICEWM_TRAY"property associated with the window. the default is"Ignore".VALUEcan be an option number or a symbolic name as follows:Ignore(0)β only in task list.Minimized(1)β icon in tray, task list unminimized.Exclusive(2)β only in tray, not in task list.
frame label(default: none) β all windows with the same frame label become tabs in a single frame. tabs!! like a browser but make it window manager πβ¨
π FUNCTION OPTION ARGUMENTS π
these specify which functions are disabled or enabled (0/1) for windows with CLASS.INSTANCE. every function has a default value of enabled (1) unless overridden by the application. the Motif-like functions are as follows, and yes I'm listing every single one because they all matter:
fCloseβ can be closed: (default:1).fHideβ can be hidden: (default:1).fMaximizeβ can be maximized: (default:1).fMinimizeβ can be minimized: (default:1).fMoveβ can be moved: (default:1).fResizeβ can be resized: (default:1).fRollupβ can be shaded: (default:1).
π₯ DECOR OPTION ARGUMENTS π₯
these specify which decorations are disabled or enabled (0/1) for windows with CLASS.INSTANCE. all decor options have a default value of enabled (1) unless overridden by the application. the Motif-like decorations are:
dBorderβ has border: (default:1).dCloseβ has close button: (default:1).dDepthβ has depth button: (default:1).dHideβ has hide button: (default:1).dMaximizeβ has maximize button: (default:1).dMinimizeβ has minimize button: (default:1).dResizeβ has resize grips: (default:1).dRollupβ has shade button: (default:1).dSysMenuβ has window menu: (default:1).dTitleBarβ has title bar: (default:1).
π FEATURE OPTION ARGUMENTS π
these specify which advanced features are enabled/disabled (1/0) for windows with CLASS.INSTANCE. heads up bestie: all advanced features have a default value of disabled (0) unless overridden by the application. note the flip from the ones above, it's giving plot twist π
allWorkspacesβ on all workspaces.appTakesFocusβ let application take focus.doNotCoverβ limits workspace if sticky.doNotFocusβ do not focus.doNotManageβ do not manage.forcedCloseβ no close dialog.fullKeysβ provided more keys.ignoreNoFocusHintβ focus even no-input.ignorePagerPreviewβ do not show in pager preview.ignorePositionHintβ place automatically.ignoreQuickSwitchβ not on quick switch.ignoreTaskBarβ not on task bar.ignoreUrgentHintβ ignore urgent hints.ignoreWinListβ not on window list.ignoreActivationMessagesβ only user can focus window.ignoreOverrideRedirectβ ignore the override redirect flag.ignoreUserTime:β ignore wm_user_time and startup_id.noFocusOnAppRaiseβ no focus on raise.noFocusOnMapβ do not focus when mapped.noIgnoreTaskBarβ on task bar.startCloseβ close the window immediately.startFullscreenβ start full screen.startMaximizedβ start maximized.startMaximizedHorzβ start maximized horizontal.startMaximizedVertβ start maximized vertical.startMinimizedβ start minimized.
π EXAMPLE π
here's how to preload an invisible background process of chromium on the fourth workspace which is only visible on the Window List. copy it exactly, it's perfect:
# Here is how to preload an invisible background process of chromium
# on the fourth workspace which is only visible on the Window List.
icewmhint Chromium-browser startMinimized 1 \
Chromium-browser workspace 3 \
Chromium-browser ignorePagerPreview 1 \
Chromium-browser ignorePositionHint 1 \
Chromium-browser ignoreTaskBar 1 \
Chromium-browser ignoreQuickSwitch 1 \
Chromium-browser ignoreUrgentHint 1 \
Chromium-browser noFocusOnAppRaise 1
chromium
π BUGS π
please report bugs at <https://github.com/ice-wm/icewm/issues>. we love a feedback loop π«Ά
π AUTHOR π
Brian Bidulock <mailto:bidulock@openss7.org>.
see --copying for full copyright notice and copying permissions.
π§ LICENSE π§
IceWM is licensed under the GNU Library General Public License. see the COPYING file in the distribution or use the --copying flag to display copying permissions.
ok that's literally the whole page, you're so welcome, now go set some hints and slay π β¨
signing off from the icewm 4.1.0 era, dated 2026-08-06 β ICEWMHINT(1), forever in our hearts π
π¦ where this page comes from
- arch rolling: icewm 4.1.0-1 Β· LGPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms