1= IceWM Manual
2:!webfonts:
3:author: Marko Macek
4:revdate: 2021 March 17
5:revnumber: 2.2.1
6:homepage: https://ice-wm.org/
7:toc:
8:toclevels: 2
9
10[[introduction]]
11== Introduction
12
13This document is the manual for the *IceWM* X11 window manager.
14The https://ice-wm.org/man/[IceWM manpages] provide additional
15documentation.
16
17The goal of IceWM is to provide a small, fast and familiar window
18manager for the X11 window system, which is compatible with the
19EWMH and ICCCM window manager protocols. Generally, it tries to make
20all functions available both by keyboard and by mouse (this is not
21currently possible when using mouse focus).
22
23IceWM originally was designed to emulate the look of Motif, OS/2
24Warp 4, OS/2 Warp 3 and Windows 95. Since it has a theming engine
25others styles are possible. A large number of original themes have
26been created and https://themes.ice-wm.org/[published by users].
27
28Further information can be found at https://ice-wm.org/[the IceWM
29website],
30at the https://github.com/bbidulock/icewm/[current site of
31development],
32which includes the https://github.com/bbidulock/icewm/issues/[support
33requests].
34
35[[copying]]
36== Copying
37
38IceWM and its documentation are covered by a GNU LGPL license,
39which is included in the distribution.
40
41[[first-steps]]
42== First steps
43
44[[icewm-components]]
45=== IceWM components
46
47The IceWM suite consists of the following core applications provided
48by the main package:
49
50* *https://ice-wm.org/man/icewm[icewm]* - The actual window manager
51binary. It handles window placement and draws the window decorations.
52* *https://ice-wm.org/man/icewmbg[icewmbg]* - The background setting
53application. It can assign plain background color or images in
54different formats to the X background. Either shared or separate for
55different workspaces. This program should be started before `icewm`.
56* *https://ice-wm.org/man/icewm-session[icewm-session]* - The IceWM
57session manager runs all of the above. This is the preferred program
58to start IceWM.
59* *https://ice-wm.org/man/icewm-menu-fdo[icewm-menu-fdo]* - This
60generates IceWM program menus from FreeDesktop `.desktop` files.
61* *https://ice-wm.org/man/icewmhint[icewmhint]* - Is a simple
62utility for passing IceWM hints to IceWM by window class and
63instance. Icewmhint uses a special property, '"_ICEWM_WINOPHINT"',
64on the root window to pass special hints to IceWM.
65* *https://ice-wm.org/man/icehelp[icehelp]* - Is used by icewm
66to display the 'IceWM manual' and the manpages. See the output of
67`icehelp --help` for details.
68* *https://ice-wm.org/man/icesh[icesh]* - Could be used to manage
69IceWM internals from the command line.
70
71[[starting-icewm]]
72=== Starting icewm
73
74The `icewm` program alone is suitable for use with desktop environments
75like GNOME. If you wish to run the whole IceWM suite (WM, background
76changer, Docklet support, and startup/shutdown script handling), use
77the `icewm-session` binary instead of pure `icewm`. Note that this
78is not a complete Session Manager but it helps to automate the startup.
79
80First make sure that you choose the correct
81https://www.tldp.org/HOWTO/XWindow-User-HOWTO/runningx.html[X startup]
82script in your home directory. For most distributions either the
83file `$HOME/.xsession` or `$HOME/.xinitrc` is honored by startx and
84X display managers like KDM. On RedHat, the `$HOME/.Xclients` may
85be used instead. In all cases, choose the one recommended by your
86distribution and make sure that there is no concurrency between the
87X startup scripts. Ensure that the script is executable. Mine looks
88something like this:
89
90....
91#!/bin/bash
92# run profile to set $PATH and other env vars correctly
93. $HOME/.bash_profile
94# setup touchpad and the external mouse
95xset m 7 2
96xinput set-ptr-feedback 0 7 1.9 1
97
98# start icewm-session
99exec icewm-session
100xterm
101....
102
103The xterm on the last line is there simply to make sure that your X
104session doesn't crash if IceWM does (should never happen). You can
105restart IceWM from there or start some other window manager. The
106session will close if you close the xterm.
107
108[[startup-and-shutdown-scripts]]
109=== Startup and shutdown scripts
110
111After initialization `icewm-session` will search the resource
112path for a `startup` script. If this file is found and if it is
113executable `icewm-session` will run this script. During termination of
114`icewm-session` the `shutdown` script is executed.
115
116Example `~/.icewm/startup` script:
117
118....
119#!/bin/bash
120
121[ -x ~/.icewm/restart ] && source ~/.icewm/restart
122
123gnome-terminal --geometry 80x25+217+235 &
124xscreensaver &
125....
126
127On termination the `shutdown` script will be run first, then
128`icewm-session` will terminate icewm and icewmbg.
129
130TIP: `icewm-session` is meant for easy desktop initialization and it
131is part of IceWM due to popular demand. For more sophisticated session
132management one could use a real session manager. IceWM supports the
133XSESSION protocol.
134
135[[extra-session-environment]]
136=== Extra session environment
137
138Please note that if icewm-session is used as the only startup mechanism
139(without having .xsession involved), one can write additional
140environment settings into the file `$HOME/.icewm/env`. Expansion
141of simple shell style variables should be supported on most
142platforms. Shell command expansion is supported if `wordexp` was
143configured. This extra environment is only effective in applications
144started by icewm-session and their subprocesses.
145
146Example `env`:
147
148 PATH=~/bin:$PATH
149 LANG=de_DE.UTF-8
150
151[[focus-models]]
152== Focus models
153
154IceWM implements four general focus models:
155
156* *clickToRaise*
157+
158Exactly like Win95, OS/2 Warp. When window is clicked with a mouse,
159it is raised and activated.
160
161* *clickToFocus*
162+
163Window is raised and focused when titlebar or frame border is
164clicked. Window is focused but not raised when window interior
165is clicked.
166
167* *pointerFocus*
168+
169When the mouse is moved, focus is set to window under a mouse. It
170should be possible to change focus with the keyboard when mouse is
171not moved.
172
173* *explicitFocus*
174+
175When a window is clicked, it is activated, but not raised. New windows
176do not automatically get the focus unless they are transient windows
177for the active window.
178
179Detailed configuration is possible using the configuration file
180options.
181
182[[mouse-commands]]
183== Mouse Commands
184
185[[frame-commands]]
186=== Frame Commands
187
188* *Left Button*
189+
190Select and raise the window. On the window frame, resize the window.
191
192* *Right Button*
193+
194When dragged, moves the window. When clicked, displays the context
195menu.
196
197[[title-bar-commands]]
198=== Title Bar Commands
199
200* *Any Button Drag*
201+
202Move the window.
203
204* *Alt + Left Button*
205+
206Lower the window.
207
208* *Left Button Double Click*
209+
210Maximize/Restore the window.
211
212* *Middle Button Double Click*
213+
214Rollup/Unroll the window.
215
216The Ctrl key can be used together with a mouse button to prevent a
217window from being raised to the top of the stack.
218
219[[taskbar-commands]]
220=== Taskbar commands
221
222* *Left Button Click*
223+
224Activate the workspace with the window and raise the window. Toggles
225the minimized/active state of the window.
226
227* *Shift + Left Button Click*
228+
229Move window to current workspace. This only works when windows from
230all workspaces are shown on the taskbar all the time.
231
232* *Control + Left Button Click*
233+
234Minimize/restore the window.
235
236* *Middle Button Click*
237+
238Toggle raised/lowered state of the window.
239
240* *Shift + Middle Button Click*
241+
242Add the window to the current workspace.
243
244* *Control + Middle Button Click*
245+
246Lower the window.
247
248* *Right Button Click*
249+
250Display a context menu.
251
252[[keyboard-commands]]
253== Keyboard Commands
254
255The Alt key is assumed to be the key defined as the Mod1 modifier.
256
257* `Alt+F1`
258+
259Raise the window.
260
261* `Alt+F2`
262+
263Make a window occupy all desktops.
264
265* `Alt+F3`
266+
267Lower the window to the bottom of the stack.
268
269* `Alt+F4`
270+
271Close the window.
272
273* `Alt+F5`
274+
275Restore the window state if maximized or minimized/hidden.
276
277* `Alt+F6`
278+
279Focus to next window.
280
281* `Alt+Shift+F6`
282+
283Focus to previous window.
284
285* `Alt+F7`
286+
287Starts movement of the active window. Move the window either by the
288mouse or by the arrow keys. The arrow keys can be accelerated four
289times by the Shift key or sixteen times by the Control key. Press
290the left button or the Enter key when done. To cancel press Escape.
291
292* `Alt+F8`
293+
294Starts resizing of the active window. Resize the window either by the
295mouse or by the arrow keys. The arrow keys can be accelerated four
296times by the Shift key or sixteen times by the Control key. Press
297the left button or the Enter key when done. To cancel press Escape.
298
299* `Alt+F9`
300+
301Minimize the window to taskbar.
302
303* `Alt+F10`
304+
305Maximize the window.
306
307* `Alt+Shift+F10`
308+
309Maximize the window vertically (toggle).
310
311* `Alt+F11`
312+
313Hide the window (appears in window list, but not on taskbar).
314
315* `Alt+F12`
316+
317Rollup the window.
318
319* `Ctrl+Escape`
320+
321Show the start menu.
322
323* `Ctrl+Alt+Escape`
324+
325Show the window list.
326
327* `Shift+Escape`
328+
329Show the system-menu of the window.
330
331* `Alt+Escape`
332+
333Focus to next window (down in zorder)
334
335* `Alt+Shift+Escape`
336+
337Focus to previous window (up in zorder)
338
339* `Alt+Tab`
340+
341Switch between windows (top \-> bottom).
342
343* `Alt+Shift+Tab`
344+
345Switch between windows (bottom \<- top).
346
347* `Ctrl+Alt+LeftArrow`
348+
349Switch to the previous workspace (cycle).
350
351* `Ctrl+Alt+RightArrow`
352+
353Switch to the next workspace (cycle).
354
355* `Ctrl+Alt+DownArrow`
356+
357Switch to the previously active workspace.
358
359* `Ctrl+Alt+Shift+LeftArrow`
360+
361Move the focused window to the previous workspace and activate it.
362
363* `Ctrl+Alt+Shift+RightArrow`
364+
365Move the focused window to the next workspace and activate it.
366
367* `Ctrl+Alt+Shift+DownArrow`
368+
369Move the focused window to the previously active workspace and
370activate it.
371
372* `Ctrl+Alt+Delete`
373+
374displays the session dialog.
375
376* `Ctrl+Alt+Space`
377+
378Activate the AddressBar. This is a command line in the taskbar where a
379shell command can be typed. Pressing the Enter key will execute the
380command. If *AddressBarCommand* was configured it will be used to
381execute the command otherwise `/bin/sh` is used. If the *Control*
382key was also pressed then the command is executed in a terminal
383as given by *TerminalCommand*. The address bar maintains a history
384which is navigable by the Up and Down keys. A rich set of editing
385operations is supported, including cut-/copy-/paste-operations and
386file completion using *Tab* or *Ctrl-I*.
387
388* `Ctrl+Alt+d`
389+
390Show the desktop.
391
392* `Ctrl+Alt+h`
393+
394Toggle taskbar visibility.
395
396[[the-resource-path]]
397== The Resource Path
398
399IceWM looks in several locations for configuration information,
400themes and customization; together these locations are called the
401resource path. The resource path contains the following directories:
402
403$ICEWM_PRIVCFG; $XDG_CONFIG_HOME/icewm; $HOME/.icewm
404The first of these which is defined and existent is used to search
405for the user's personal customization.
406
407/etc/icewm
408the system-wide defaults directory
409
410/usr/share/icewm OR /usr/local/share/icewm
411the compiled-in default directory with default files
412
413The directories are searched in the above order, so any file located
414in the system/install directory can be overridden by the user by
415creating the same directory hierarchy under `$HOME/.icewm`.
416
417To customize icewm yourself, you could create the `$HOME/.icewm`
418directory and copy the files that you wish to modify, like
419`preferences`, `keys` or `winoptions`, from `/etc/icewm`,
420`/usr/share/icewm` or `/usr/local/share/icewm` and then modify as
421you like.
422
423To customize the default themes, create the `$HOME/.icewm/themes`
424directory and copy all the theme files there and then modify as
425necessary. Each theme has its own subdirectory. Themes can be
426downloaded from https://themes.ice-wm.org.
427
428[[configuration-files]]
429== Configuration Files
430
431IceWM uses the following configuration files:
432
433* *https://ice-wm.org/man/icewm-theme[theme]*
434+
435Currently selected theme
436
437* *https://ice-wm.org/man/icewm-preferences[preferences]*
438+
439General settings - paths, colors, fonts...
440
441* *https://ice-wm.org/man/icewm-prefoverride[prefoverride]*
442+
443Settings that should override the themes.
444
445* *https://ice-wm.org/man/icewm-menu[menu]*
446+
447Menu of startable applications. Usually customized by the user.
448
449* *https://ice-wm.org/man/icewm-programs[programs]*
450+
451Automatically generated menu of startable applications (this should
452be used for *wmconfig*, *menu* or similar packages, perhaps as a part
453of the login or X startup sequence).
454
455* *https://ice-wm.org/man/icewm-winoptions[winoptions]*
456+
457Application window options
458
459* *https://ice-wm.org/man/icewm-keys[keys]*
460+
461Global keybindings to launch applications (not window manager related)
462
463* *https://ice-wm.org/man/icewm-toolbar[toolbar]*
464+
465Quick launch application icons on the taskbar.
466
467[[theme]]
468== Theme
469
470The `theme` file contains the currently selected theme. It will be
471overwritten automatically when a theme is selected from the Themes
472menu.
473
474[[preferences]]
475== Preferences
476
477This section shows preferences that can be set in `preferences`. Themes
478will not be able to override these settings. Default values are shown
479following the equal sign.
480
481[[focus-and-behavior]]
482=== Focus and Behavior
483
484The following settings can be set to value 1 (enabled) or value 0
485(disabled).
486
487* `ClickToFocus = 1`
488+
489Enables click to focus mode.
490
491* `RaiseOnFocus = 1`
492+
493Window is raised when focused.
494
495* `FocusOnClickClient = 1`
496+
497Window is focused when client area is clicked.
498
499* `RaiseOnClickClient = 1`
500+
501Window is raised when client area is clicked.
502
503* `RaiseOnClickTitleBar = 1`
504+
505Window is raised when titlebar is clicked.
506
507* `RaiseOnClickButton = 1`
508+
509Window is raised when title bar button is clicked.
510
511* `RaiseOnClickFrame = 1`
512+
513Window is raised when frame is clicked.
514
515* `LowerOnClickWhenRaised = 0`
516+
517Lower the active window when clicked again.
518
519* `PassFirstClickToClient = 1`
520+
521The click which raises the window is also passed to the client.
522
523* `FocusChangesWorkspace = 0`
524+
525Change to the workspace of newly focused windows.
526
527* `AutoRaise = 0`
528+
529Windows will raise automatically after AutoRaiseDelay when focused.
530
531* `StrongPointerFocus = 0`
532+
533When focus follows mouse always give the focus to the window under
534mouse pointer - Even when no mouse motion has occurred. Using this
535is not recommended. Please prefer to use just ClickToFocus=0.
536
537* `FocusOnMap = 1`
538+
539Window is focused after being mapped.
540
541* `FocusOnMapTransient = 1`
542+
543Transient window is focused after being mapped.
544
545* `FocusOnMapTransientActive = 1`
546+
547Focus dialog window when initially mapped only if parent frame focused.
548
549* `FocusOnAppRaise = 1`
550+
551The window is focused when application raises it.
552
553* `RequestFocusOnAppRaise = 1`
554+
555Request focus (flashing in taskbar) when application requests raise.
556
557* `MapInactiveOnTop = 1`
558+
559Put new windows on top even if not focusing them.
560
561* `PointerColormap = 0`
562+
563Colormap focus follows pointer.
564
565* `DontRotateMenuPointer = 1`
566+
567Don't rotate the cursor for popup menus.
568
569* `LimitSize = 1`
570+
571Limit size of windows to screen.
572
573* `LimitPosition = 1`
574+
575Limit position of windows to screen.
576
577* `LimitByDockLayer = 0`
578+
579Let the Dock layer limit the workspace (incompatible with GNOME Panel).
580
581* `ConsiderHBorder = 0`
582+
583Consider border frames when maximizing horizontally.
584
585* `ConsiderVBorder = 0`
586+
587Consider border frames when maximizing vertically.
588
589* `ConsiderSizeHintsMaximized = 1`
590+
591Consider XSizeHints if frame is maximized.
592
593* `CenterMaximizedWindows = 0`
594+
595Center maximized windows which can't fit the screen (like terminals).
596
597* `HideBordersMaximized = 0`
598+
599Hide window borders if window is maximized.
600
601* `HideTitleBarWhenMaximized = 0`
602+
603Hide title bar when maximized.
604
605* `CenterLarge = 0`
606+
607Center large windows.
608
609* `CenterTransientsOnOwner = 1`
610+
611Center dialogs on owner window.
612
613* `SizeMaximized = 0`
614+
615Window can be resized when maximized.
616
617* `MinimizeToDesktop = 0`
618+
619Window is minimized to desktop area (in addition to the taskbar).
620
621* `MiniIconsPlaceHorizontal = 0`
622+
623Place the mini-icons horizontal instead of vertical.
624
625* `MiniIconsRightToLeft = 0`
626+
627Place new mini-icons from right to left.
628
629* `MiniIconsBottomToTop = 0`
630+
631Place new mini-icons from bottom to top.
632
633* `GrabRootWindow = 1`
634+
635Manage root window (EXPERIMENTAL - normally enabled!).
636
637* `ShowMoveSizeStatus = 1`
638+
639Move/resize status window is visible when moving/resizing the window.
640
641* `ShowWorkspaceStatus = 1`
642+
643Show name of current workspace while switching.
644
645* `ShowWorkspaceStatusAfterSwitch = 1`
646+
647Show name of current workspace while switching workspaces.
648
649* `ShowWorkspaceStatusAfterActivation = 1`
650+
651Show name of current workspace after explicit activation.
652
653* `WarpPointer = 0`
654+
655Pointer is moved in pointer focus move when focus is moved using
656the keyboard.
657
658* `OpaqueMove = 1`
659+
660Window is immediately moved when dragged, no outline is shown.
661
662* `OpaqueResize = 0`
663+
664Window is immediately resized when dragged, no outline is shown.
665
666* `DelayPointerFocus = 1`
667+
668Similar to delayed auto raise.
669
670* `Win95Keys = 0`
671+
672Makes 3 additional keys perform sensible functions. The keys must
673be mapped to MetaL, MetaR and Menu. The left one will activate the
674start menu and the right one will display the window list.
675
676* `ModSuperIsCtrlAlt = 1`
677+
678Treat Super/Win modifier as Ctrl+Alt.
679
680* `UseMouseWheel = 0`
681+
682Mouse wheel support.
683
684* `TaskBarTaskGrouping = 0`
685+
686Group applications with the same class name under a single task button.
687
688* `ShowPopupsAbovePointer = 0`
689+
690Show popup menus above mouse pointer.
691
692* `ReplayMenuCancelClick = 0`
693+
694Send the clicks outside menus to target window.
695
696* `ManualPlacement = 0`
697+
698Windows must be placed manually by the user.
699
700* `SmartPlacement = 1`
701+
702Smart window placement (minimal overlap).
703
704* `IgnoreNoFocusHint = 0`
705+
706Ignore no-accept-focus hint set by some windows.
707
708* `MenuMouseTracking = 0`
709+
710If enabled, menus will track the mouse even when no mouse button
711is pressed.
712
713* `ClientWindowMouseActions = 1`
714+
715Allow mouse actions on client windows.
716
717* `SnapMove = 1`
718+
719Snap to nearest screen edge/window when moving windows.
720
721* `SnapDistance = 8`
722+
723Distance in pixels before windows snap together
724
725* `ArrangeWindowsOnScreenSizeChange = 1`
726+
727Automatically arrange windows when screen size changes.
728
729* `MsgBoxDefaultAction = 0`
730+
731Preselect to Cancel (0) or the OK (1) button in message boxes
732
733* `EdgeResistance = 32`
734+
735Resistance to move window with mouse outside screen limits. Setting
736it to 10000 makes the resistance infinite.
737
738* `AllowFullscreen = 1`
739+
740Allow to switch a window to fullscreen.
741
742* `FullscreenUseAllMonitors = 0`
743+
744Span over all available screens if window goes into fullscreen.
745
746* `NetWorkAreaBehaviour = 0`
747+
748NET_WORKAREA behaviour: 0 (single/multimonitor with STRUT information,
749like metacity), 1 (always full desktop), 2 (singlemonitor with STRUT,
750multimonitor without STRUT).
751
752* `ConfirmLogout = 1`
753+
754Confirm Logout.
755
756* `MultiByte = 1`
757+
758Overrides automatic multiple byte detection.
759
760* `ShapesProtectClientWindow = 1`
761+
762Don't cut client windows by shapes set trough frame corner pixmap.
763
764* `DoubleBuffer = 1`
765+
766Use double buffering when redrawing the display.
767
768* `XRRDisable = 0`
769+
770Disable use of new XRANDR API for dual head (nvidia workaround)
771
772* `PreferFreetypeFonts = 1`
773+
774Favor *Xft fonts over core X11 fonts where possible.
775
776* `IconPath =
777/usr/share/icons/hicolor:/usr/share/icons:/usr/share/pixmaps`
778+
779Icon search path (colon separated)
780
781* `MailCommand = xterm -name mutt -e mutt`
782+
783Command to run on mailbox.
784
785* `MailClassHint = mutt.XTerm`
786+
787WM_CLASS to allow runonce for MailCommand.
788
789* `LockCommand =`
790Command to lock display/screensaver.
791* `ClockCommand = xclock -name icewm -title Clock`
792+
793Command to run on clock.
794
795* `ClockClassHint = icewm.XClock`
796+
797WM_CLASS to allow runonce for ClockCommand.
798
799* `RunCommand =`
800Command to select and run a program.
801* `OpenCommand =`
802Command to run to open a file.
803* `TerminalCommand = xterm`
804
805Terminal emulator must accept -e option.
806
807* `LogoutCommand =`
808Command to start logout.
809* `LogoutCancelCommand =`
810Command to cancel logout.
811* `ShutdownCommand =`
812Command to shutdown the system.
813* `RebootCommand =`
814Command to reboot the system.
815* `SuspendCommand =`
816Command to send the system to standby mode.
817* `CPUStatusCommand =`
818Command to run on CPU status.
819* `CPUStatusClassHint = top.XTerm`
820+
821WM_CLASS to allow runonce for CPUStatusCommand.
822
823* `CPUStatusCombine = 1`
824+
825Combine all CPUs to one.
826
827* `NetStatusCommand =`
828Command to run on Net status.
829* `NetStatusClassHint = netstat.XTerm`
830+
831WM_CLASS to allow runonce for NetStatusCommand.
832
833* `AddressBarCommand =`
834Command to run for address bar entries.
835* `XRRPrimaryScreenName =`
836screen/output name of the primary screen.
837
838[[quick-switch-list]]
839=== Quick Switch List
840
841* `QuickSwitch = 1`
842+
843enable Alt+Tab window switcher.
844
845* `QuickSwitchToMinimized = 1`
846+
847Alt+Tab switches to minimized windows too.
848
849* `QuickSwitchToHidden = 1`
850+
851Alt+Tab to hidden windows.
852
853* `QuickSwitchToUrgent = 1`
854+
855Prioritize Alt+Tab to urgent windows.
856
857* `QuickSwitchToAllWorkspaces = 1`
858+
859Alt+Tab switches to windows on any workspace.
860
861* `QuickSwitchGroupWorkspaces = 1`
862+
863Alt+Tab: group windows on current workspace.
864
865* `QuickSwitchAllIcons = 1`
866+
867Show all reachable icons when quick switching.
868
869* `QuickSwitchTextFirst = 0`
870+
871Show the window title above (all reachable) icons.
872
873* `QuickSwitchSmallWindow = 0`
874+
875Attempt to create a small QuickSwitch window (1/3 instead of 3/5 of
876
877* `QuickSwitchMaxWidth = 0`
878+
879Go through all window titles and choose width of the longest one.
880
881* `QuickSwitchVertical = 1`
882+
883Place the icons and titles vertical instead of horizontal.
884
885* `QuickSwitchHugeIcon = 0`
886+
887Show the huge (48x48) of the window icon for the active window.
888
889* `QuickSwitchFillSelection = 0`
890+
891Fill the rectangle highlighting the current icon.
892
893[[edge-workspace-switching]]
894=== Edge Workspace Switching
895
896* `EdgeSwitch = 0`
897+
898Workspace switches by moving mouse to left/right screen edge.
899
900* `HorizontalEdgeSwitch = 0`
901+
902Workspace switches by moving mouse to left/right screen edge.
903
904* `VerticalEdgeSwitch = 0`
905+
906Workspace switches by moving mouse to top/bottom screen edge.
907
908* `ContinuousEdgeSwitch = 1`
909+
910Workspace switches continuously when moving mouse to screen edge.
911
912[[task-bar]]
913=== Task Bar
914
915The following settings can be set to value 1 (enabled) or value 0
916(disabled).
917
918* `ShowTaskBar = 1`
919+
920Task bar is visible.
921
922* `TaskBarAtTop = 0`
923+
924Task bar is located at top of screen.
925
926* `TaskBarKeepBelow = 1`
927+
928Keep the task bar below regular windows
929
930* `TaskBarAutoHide = 0`
931+
932Task bar will auto hide when mouse leaves it.
933
934* `TaskBarFullscreenAutoShow = 1`
935+
936Auto show task bar when fullscreen window active.
937
938* `TaskBarShowClock = 1`
939+
940Task bar clock is visible.
941
942* `TaskBarShowAPMStatus = 0`
943+
944Show battery status monitor on task bar.
945
946* `TaskBarShowAPMAuto = 1`
947+
948Enable TaskBarShowAPMStatus if a battery is present.
949
950* `TaskBarShowAPMTime = 1`
951+
952Show battery status on task bar in time-format.
953
954* `TaskBarShowAPMGraph = 1`
955+
956Show battery status in graph mode.
957
958* `TaskBarShowMailboxStatus = 1`
959+
960Display status of mailbox (see 'Mailbox' below).
961
962* `TaskBarMailboxStatusBeepOnNewMail = 0`
963+
964Beep when new mail arrives.
965
966* `TaskBarMailboxStatusCountMessages = 0`
967+
968Display mail message count as tooltip.
969
970* `TaskBarShowWorkspaces = 1`
971+
972Show workspace switching buttons on task bar.
973
974* `TaskBarShowWindows = 1`
975+
976Show windows on the taskbar.
977
978* `TaskBarShowShowDesktopButton = 1`
979+
980Show 'show desktop' button on taskbar.
981If set to 2, it will move the icon to the right side, after the clock.
982
983* `ShowEllipsis = 0`
984+
985Show Ellipsis in taskbar items and some other locations. This is a
986visual indicator like "..." to show that a string didn't fit into
987the visible area.
988
989* `TaskBarShowTray = 1`
990+
991Show windows in the tray.
992
993* `TrayShowAllWindows = 1`
994+
995Show windows from all workspaces on tray.
996
997* `TaskBarEnableSystemTray = 1`
998+
999Enable the system tray in the taskbar.
1000
1001* `TaskBarShowTransientWindows = 1`
1002+
1003Show transient (dialogs, ...) windows on task bar.
1004
1005* `TaskBarShowAllWindows = 0`
1006+
1007Show windows from all workspaces on task bar.
1008
1009* `TaskBarShowWindowIcons = 1`
1010+
1011Show icons of windows on the task bar.
1012
1013* `TaskBarShowStartMenu = 1`
1014+
1015Show button for the start menu on the task bar.
1016
1017* `TaskBarShowWindowListMenu = 1`
1018+
1019Show button for window list menu on taskbar.
1020
1021* `TaskBarShowCPUStatus = 1`
1022+
1023Show CPU status on task bar (Linux & Solaris).
1024
1025* `CPUStatusShowRamUsage = 1`
1026+
1027Show RAM usage in CPU status tool tip.
1028
1029* `CPUStatusShowSwapUsage = 1`
1030+
1031Show swap usage in CPU status tool tip.
1032
1033* `CPUStatusShowAcpiTemp = 1`
1034+
1035Show ACPI temperature in CPU status tool tip.
1036
1037* `CPUStatusShowAcpiTempInGraph = 0`
1038+
1039Show ACPI temperature in CPU graph.
1040
1041* `AcpiIgnoreBatteries =`
1042List of battery names ignore.
1043* `CPUStatusShowCpuFreq = 1`
1044+
1045Show CPU frequency in CPU status tool tip.
1046
1047* `NetStatusShowOnlyRunning = 0`
1048+
1049Show network status only for connected devices, such as an active
1050ethernet link or associated wireless interface. If false, any network
1051interface that has been brought up will be displayed.
1052
1053* `TaskBarShowMEMStatus = 1`
1054+
1055Show memory usage status on task bar (Linux only).
1056
1057* `TaskBarShowNetStatus = 1`
1058+
1059Show network status on task bar (Linux only).
1060
1061* `NetworkStatusDevice = "[ew]*"`
1062List of network devices to be displayed in tray, space separated. Shell
1063wildcard patterns can also be used.
1064* `TaskBarShowCollapseButton = 0`
1065+
1066Show a button to collapse the taskbar.
1067
1068* `TaskBarDoubleHeight = 0`
1069+
1070Double height task bar
1071
1072* `TaskBarWorkspacesLeft = 1`
1073+
1074Place workspace pager on left, not right.
1075
1076* `TaskBarWorkspacesTop = 0`
1077+
1078Place workspace pager on top row when using dual-height taskbar.
1079
1080* `PagerShowPreview = 1`
1081+
1082Show a mini desktop preview on each workspace button. By pressing
1083the middle mouse button the 'window list' is shown. The right button
1084activates the 'window list menu'. By using the scroll wheel over the
1085'workspace list' one can quickly cycle over all workspaces.
1086
1087* `PagerShowWindowIcons = 1`
1088+
1089Draw window icons inside large enough preview windows on pager
1090(if PagerShowPreview=1).
1091
1092* `PagerShowMinimized = 1`
1093+
1094Draw even minimized windows as unfilled rectangles (if
1095PagerShowPreview=1).
1096
1097* `PagerShowBorders = 1`
1098+
1099Draw border around workspace buttons (if PagerShowPreview=1).
1100
1101* `PagerShowNumbers = 1`
1102+
1103Show number of workspace on workspace button (if PagerShowPreview=1).
1104
1105* `TaskBarLaunchOnSingleClick = 1`
1106+
1107Execute taskbar applet commands (like MailCommand, ClockCommand,
1108...) on single click.
1109
1110* `EnableAddressBar = 1`
1111+
1112Enable address bar functionality in taskbar.
1113
1114* `ShowAddressBar = 1`
1115+
1116Show address bar in task bar.
1117
1118* `TimeFormat = "%X"`
1119+
1120format for the taskbar clock (time) (see strftime(3) manpage).
1121
1122* `TimeFormatAlt = ""`
1123+
1124Alternate Clock Time format (e.g. for blinking effects).
1125
1126* `DateFormat = "%c"`
1127+
1128format for the taskbar clock tooltip (date+time) (see strftime(3)
1129manpage).
1130
1131* `TaskBarCPUSamples = 20`
1132+
1133Width of CPU Monitor.
1134
1135* `TaskBarMEMSamples = 20`
1136+
1137Width of Memory Monitor.
1138
1139* `TaskBarNetSamples = 20`
1140+
1141Width of Net Monitor.
1142
1143* `TaskbarButtonWidthDivisor = 3`
1144+
1145Default number of tasks in taskbar.
1146
1147* `TaskBarWidthPercentage = 100`
1148+
1149Task bar width as percentage of the screen width.
1150
1151* `TaskBarJustify = "left"`
1152+
1153Taskbar justify left, right or center.
1154
1155* `TaskBarApmGraphWidth = 10`
1156+
1157Width of battery Monitor.
1158
1159* `TaskBarGraphHeight = 20`
1160+
1161Height of taskbar monitoring applets.
1162
1163* `XineramaPrimaryScreen = 0`
1164+
1165Primary screen for xinerama (taskbar, ...).
1166
1167[[mailbox-monitoring-updated-2018-03-04]]
1168=== Mailbox Monitoring (updated 2018-03-04)
1169
1170* `MailCheckDelay = 30`
1171+
1172Delay between new-mail checks. (seconds).
1173
1174* `MailBoxPath = ""`
1175
1176This may contain a list of mailbox specifications. Mailboxes are
1177separated by a space. If `TaskBarShowMailboxStatus` is enabled
1178then IceWM will monitor each mailbox for status changes each
1179`MailCheckDelay` seconds. For each mailbox IceWM will show an icon on
1180the taskbar. The icon shows if there is mail, if there is unread mail,
1181or if there is new mail. Hovering the mouse pointer over an icon shows
1182the number of messages in this mailbox and also the number of unread
1183mails. A mailbox can be the path to a file in conventional _mbox_
1184format. If the path points to a directory then _Maildir_ format is
1185assumed. Remote mail boxes are specified by an URL using the Common
1186Internet Scheme Syntax (RFC 1738):
1187
1188 scheme://user:password@server[:port][/path]
1189
1190Supported schemes are `pop3`, `pop3s`, `imap`, `imaps` and `file`. The
1191`pop3s` and `imaps` schemes depend on the presence of the `openssl`
1192command for `TLS/SSL` encryption. This is also the case if `port` is
1193either `993` for imap or `995` for pop3. When the scheme is omitted
1194then `file` is assumed. IMAP subfolders can be given by the path
1195component. Reserved characters like _slash_, _at_ and _colon_ can
1196be specified using escape sequences with a hexadecimal encoding like
1197`%2f` for the slash or `%40` for the at sign. For example:
1198
1199 file:///var/spool/mail/captnmark
1200 file:///home/captnmark/Maildir/
1201 pop3://markus:%2f%40%3a@maol.ch/
1202 pop3s://markus:password@pop.gmail.com/
1203 imap://mathias@localhost/INBOX.Maillisten.icewm-user
1204 imaps://mathias:password@imap.gmail.com/INBOX
1205
1206To help solve network protocol errors for pop3 and imap set the
1207environment variable `ICEWM_MAILCHECK_TRACE`. IceWM will then log
1208communication details for POP3 and IMAP mailboxes. Just set `export
1209ICEWM_MAILCHECK_TRACE=1` before executing icewm, or set this in the
1210`env` configuration file.
1211
1212Note that for IceWM to access Gmail you must first configure your Gmail
1213account to enable POP3 or IMAP access. To allow non-Gmail applications
1214like IceWM to use it see the Gmail help site for "Let less secure
1215apps use your account". Also set secure file permissions on your
1216IceWM preferences file and the directory which contains it. It is
1217unwise to store a password on file ever. Consider a wallet extension
1218for IceWM. The following Perl snippet demonstrates how to hex encode
1219a password like `!p@a%s&s~`:
1220
1221 perl -e 'foreach(split("", $ARGV[0])) { printf "%%%02x", ord($_);  }; print "\n";' '!p@a%s&s~'
1222 %21%40%23%24%25%5e%26%2a%7e
1223
1224* `NewMailCommand =`
1225+
1226The command to be run when new mail arrives. It is executed by
1227`/bin/sh -c`.
1228The following environment variables will be set:
1229
1230 ** `ICEWM_MAILBOX` mailbox index number of `MailBoxPath` starting
1231 from 1.
1232 ** `ICEWM_COUNT` gives the total number of messages in this mailbox.
1233 ** `ICEWM_UNREAD` gives the number of unread messages in this mailbox.
1234
1235[[menus]]
1236=== Menus
1237
1238* `AutoReloadMenus = 1`
1239+
1240Reload menu files automatically if set to 1.
1241
1242* `ShowProgramsMenu = 0`
1243+
1244Show programs submenu.
1245
1246* `ShowSettingsMenu = 1`
1247+
1248Show settings submenu.
1249
1250* `ShowFocusModeMenu = 1`
1251+
1252Show focus mode submenu.
1253
1254* `ShowThemesMenu = 1`
1255+
1256Show themes submenu.
1257
1258* `ShowLogoutMenu = 1`
1259+
1260Show logout menu.
1261
1262* `ShowHelp = 1`
1263+
1264Show the help menu item.
1265
1266* `ShowLogoutSubMenu = 1`
1267+
1268Show logout submenu.
1269
1270* `ShowAbout = 1`
1271+
1272Show the about menu item.
1273
1274* `ShowRun = 1`
1275+
1276Show the run menu item.
1277
1278* `ShowWindowList = 1`
1279+
1280Show the window menu item.
1281
1282* `MenuMaximalWidth = 0`
1283+
1284Maximal width of popup menus, 2/3 of the screen's width if set to zero.
1285
1286* `NestedThemeMenuMinNumber = 25`
1287+
1288Minimal number of themes after which the Themes menu becomes nested
1289(0=disabled).
1290
1291[[timings]]
1292=== Timings
1293
1294* `DelayFuzziness = 10`
1295+
1296Percentage of delay/timeout fuzziness to allow for merging of timer
1297timeouts.
1298
1299* `ClickMotionDistance = 5`
1300+
1301Movement before click is interpreted as drag.
1302
1303* `ClickMotionDelay = 200`
1304+
1305Delay before click gets interpreted as drag.
1306
1307* `MultiClickTime = 400`
1308+
1309Time (ms) to recognize for double click.
1310
1311* `MenuActivateDelay = 40`
1312+
1313Delay before activating menu items.
1314
1315* `SubmenuMenuActivateDelay = 300`
1316+
1317Delay before activating menu submenus.
1318
1319* `ToolTipDelay = 5000`
1320+
1321Time before showing the tooltip.
1322
1323* `ToolTipTime = 60000`
1324+
1325Time before tooltip window is hidden (0 means never).
1326
1327* `AutoHideDelay = 300`
1328+
1329Time to auto hide taskbar (must enable first with TaskBarAutoHide).
1330
1331* `AutoShowDelay = 500`
1332+
1333Delay before task bar is shown.
1334
1335* `AutoRaiseDelay = 400`
1336+
1337Time to auto raise (must enable first with AutoRaise).
1338
1339* `PointerFocusDelay = 200`
1340+
1341Delay for pointer focus switching.
1342
1343* `EdgeSwitchDelay = 600`
1344+
1345Screen edge workspace switching delay.
1346
1347* `ScrollBarStartDelay = 500`
1348+
1349Initial scroll bar autoscroll delay
1350
1351* `ScrollBarDelay = 30`
1352+
1353Scroll bar autoscroll delay
1354
1355* `AutoScrollStartDelay = 500`
1356+
1357Auto scroll start delay
1358
1359* `AutoScrollDelay = 60`
1360+
1361Auto scroll delay
1362
1363* `WorkspaceStatusTime = 2500`
1364+
1365Time before workspace status window is hidden.
1366
1367* `TaskBarCPUDelay = 500`
1368+
1369Delay between CPU Monitor samples in ms.
1370
1371* `TaskBarMEMDelay = 500`
1372+
1373Delay between Memory Monitor samples in ms.
1374
1375* `TaskBarNetDelay = 500`
1376+
1377Delay between Net Monitor samples in ms.
1378
1379* `FocusRequestFlashTime = 0`
1380+
1381Number of seconds the taskbar app will blink when requesting focus
1382(0 = forever).
1383
1384* `FocusRequestFlashInterval = 250`
1385+
1386Taskbar blink interval (ms) when requesting focus (0 = blinking
1387disabled).
1388
1389* `BatteryPollingPeriod = 10`
1390+
1391Delay between power status updates (seconds).
1392
1393[[buttons-and-keys]]
1394=== Buttons and Keys
1395
1396* `UseRootButtons = 255`
1397+
1398Bitmask of root window button click to use in window manager.
1399
1400* `ButtonRaiseMask = 1`
1401+
1402Bitmask of buttons that raise the window when pressed.
1403
1404* `DesktopWinMenuButton = 0`
1405+
1406Desktop mouse-button click to show the window list menu.
1407
1408* `DesktopWinListButton = 2`
1409+
1410Desktop mouse-button click to show the window list.
1411
1412* `DesktopMenuButton = 3`
1413+
1414Desktop mouse-button click to show the root menu.
1415
1416* `TitleBarMaximizeButton = 1`
1417+
1418TitleBar mouse-button double click to maximize the window.
1419
1420* `TitleBarRollupButton = 2`
1421+
1422TitleBar mouse-button double click to rollup the window.
1423
1424* `RolloverButtonsSupported = 0`
1425+
1426Does it support the 'O' title bar button images (for mouse rollover)
1427
1428[[workspaces]]
1429=== Workspaces
1430
1431* WorkspaceNames
1432+
1433List of workspace names, for example:
1434+
1435WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4 "
1436
1437[[paths]]
1438=== Paths
1439
1440* LibPath
1441+
1442Path to the icewm/lib directory.
1443
1444* IconPath
1445+
1446Path to the icon directory. Multiple paths can be given using the
1447colon as a separator.
1448
1449[[programs]]
1450=== Programs
1451
1452* ClockCommand
1453+
1454program to run when the clock is double clicked.
1455
1456* MailCommand
1457+
1458program to run when mailbox icon is double clicked.
1459
1460* LockCommand
1461+
1462program to run to lock the screen.
1463
1464* RunCommand
1465+
1466program to run when *Run* is selected from the start menu.
1467
1468[[window-menus]]
1469=== Window Menus
1470
1471WinMenuItems
1472Items to show in the window menus, possible values are:
1473
1474* `a=rAise`
1475* `c=Close`
1476* `f=Fullscreen`
1477* `h=Hide`
1478* `i=trayIcon`
1479* `k=Kill`
1480* `l=Lower`
1481* `m=Move`
1482* `n=miNimize`
1483* `r=Restore`
1484* `s=Size`
1485* `t=moveTo`
1486* `u=rollUp`
1487* `w=WindowsList`
1488* `x=maXimize`
1489* `y=laYer`
1490+
1491Examples:
1492+
1493WinMenuItems=rmsnxfhualyticw   #Default menu
1494  WinMenuItems=rmsnxfhualytickw  #Menu with all possible options
1495  WinMenuItems=rmsnxc            #MS-Windows menu
1496
1497[[theme-settings]]
1498== Theme Settings
1499
1500This section shows settings that can be set in theme files. They can
1501also be set in `preferences` file but themes will override the values
1502set there. To override the theme values the settings should be set in
1503`prefoverride` file. Default values are shown following the equal sign.
1504
1505* `ThemeAuthor =`
1506+
1507Theme author, e-mail address, credits.
1508
1509* `ThemeDescription =`
1510+
1511Description of the theme, credits.
1512
1513* `Gradients =`
1514+
1515List of gradient pixmaps in the current theme.
1516
1517[[borders]]
1518=== Borders
1519
1520The following settings can be set to a numeric value.
1521
1522* `BorderSizeX = 6`
1523+
1524Left/right border width.
1525
1526* `BorderSizeY = 6`
1527+
1528Top/bottom border height.
1529
1530* `DlgBorderSizeX = 2`
1531+
1532Left/right border width of non-resizable windows.
1533
1534* `DlgBorderSizeY = 2`
1535+
1536Top/bottom border height of non-resizable windows.
1537
1538* `CornerSizeX = 24`
1539+
1540Width of the window corner.
1541
1542* `CornerSizeY = 24`
1543+
1544Height of the window corner.
1545
1546* `TitleBarHeight = 20`
1547+
1548Height of the title bar.
1549
1550* `TitleBarJustify = 0`
1551+
1552Justification of the window title.
1553
1554* `TitleBarHorzOffset = 0`
1555+
1556Horizontal offset for the window title text.
1557
1558* `TitleBarVertOffset = 0`
1559+
1560Vertical offset for the window title text.
1561
1562* `TitleBarCentered = 0`
1563+
1564Draw window title centered (obsoleted by TitleBarJustify)
1565
1566* `TitleBarJoinLeft = 0`
1567+
1568Join title*S and title*T
1569
1570* `TitleBarJoinRight = 0`
1571+
1572Join title*T and title*B
1573
1574* `ScrollBarX = 16`
1575+
1576Scrollbar width.
1577
1578* `ScrollBarY = 16`
1579+
1580Scrollbar (button) height.
1581
1582* `MenuIconSize = 16`
1583+
1584Menu icon size.
1585
1586* `SmallIconSize = 16`
1587+
1588Dimension of the small icons.
1589
1590* `LargeIconSize = 32`
1591+
1592Dimension of the large icons.
1593
1594* `HugeIconSize = 48`
1595+
1596Dimension of the large icons.
1597
1598* `QuickSwitchHorzMargin = 3`
1599+
1600Horizontal margin of the quickswitch window.
1601
1602* `QuickSwitchVertMargin = 3`
1603+
1604Vertical margin of the quickswitch window.
1605
1606* `QuickSwitchIconMargin = 4`
1607+
1608Vertical margin in the quickswitch window.
1609
1610* `QuickSwitchIconBorder = 2`
1611+
1612Distance between the active icon and it's border.
1613
1614* `QuickSwitchSeparatorSize = 6`
1615+
1616Height of the separator between (all reachable) icons and text,
16170 to avoid it.
1618
1619* `ShowMenuButtonIcon = 1`
1620+
1621Show application icon over menu button.
1622
1623* `TitleButtonsLeft = "s"`
1624+
1625Titlebar buttons from left to right (x=close, m=max, i=min, h=hide,
1626r=rollup, s=sysmenu, d=depth).
1627
1628* `TitleButtonsRight = "xmir"`
1629+
1630Titlebar buttons from right to left (x=close, m=max, i=min, h=hide,
1631r=rollup, s=sysmenu, d=depth).
1632
1633* `TitleButtonsSupported = "xmis"`
1634+
1635Titlebar buttons supported by theme (x,m,i,r,h,s,d).
1636
1637[[fonts]]
1638=== Fonts
1639
1640The following settings can be set to a string value.
1641
1642* `TitleFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1643+
1644Name of the title bar font.
1645
1646* `MenuFontName = "-*-sans-bold-r-*-*-*-100-*-*-*-*-*-*"`
1647+
1648Name of the menu font.
1649
1650* `StatusFontName = "-*-monospace-bold-r-*-*-*-120-*-*-*-*-*-*"`
1651+
1652Name of the status display font.
1653
1654* `QuickSwitchFontName = "-*-monospace-bold-r-*-*-*-120-*-*-*-*-*-*"`
1655+
1656Name of the font for Alt+Tab switcher window.
1657
1658* `NormalButtonFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1659+
1660Name of the normal button font.
1661
1662* `ActiveButtonFontName = "-*-sans-bold-r-*-*-*-120-*-*-*-*-*-*"`
1663+
1664Name of the active button font.
1665
1666* `NormalTaskBarFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1667+
1668Name of the normal task bar item font.
1669
1670* `ActiveTaskBarFontName = "-*-sans-bold-r-*-*-*-120-*-*-*-*-*-*"`
1671+
1672Name of the active task bar item font.
1673
1674* `ToolButtonFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1675+
1676Name of the tool button font (fallback: NormalButtonFontName).
1677
1678* `NormalWorkspaceFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1679+
1680Name of the normal workspace button font (fallback:
1681NormalButtonFontName).
1682
1683* `ActiveWorkspaceFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1684+
1685Name of the active workspace button font (fallback:
1686ActiveButtonFontName).
1687
1688* `MinimizedWindowFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1689+
1690Name of the mini-window font.
1691
1692* `ListBoxFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1693+
1694Name of the window list font.
1695
1696* `ToolTipFontName = "-*-sans-medium-r-*-*-*-120-*-*-*-*-*-*"`
1697+
1698Name of the tool tip font.
1699
1700* `ClockFontName = "-*-monospace-medium-r-*-*-*-140-*-*-*-*-*-*"`
1701+
1702Name of the task bar clock font.
1703
1704* `TempFontName = "-*-monospace-medium-r-*-*-*-140-*-*-*-*-*-*"`
1705+
1706Name of the task bar temperature font.
1707
1708* `ApmFontName = "-*-monospace-medium-r-*-*-*-140-*-*-*-*-*-*"`
1709+
1710Name of the task bar battery font.
1711
1712* `InputFontName = "-*-monospace-medium-r-*-*-*-140-*-*-*-*-*-*"`
1713+
1714Name of the input field font.
1715
1716* `LabelFontName = "-*-sans-medium-r-*-*-*-140-*-*-*-*-*-*"`
1717+
1718Name of the label font.
1719
1720When IceWM is configured with `--enable-xfreetype`, only the settings
1721with "Xft" suffix will be used. They specifiy the font name in
1722fontconfig format:
1723
1724 MenuFontNameXft="sans-serif:size=12:bold"
1725
1726* `TitleFontNameXft = "sans-serif:size=12"`
1727+
1728Name of the title bar font.
1729
1730* `MenuFontNameXft = "sans-serif:size=10:bold"`
1731+
1732Name of the menu font.
1733
1734* `StatusFontNameXft = "monospace:size=12:bold"`
1735+
1736Name of the status display font.
1737
1738* `QuickSwitchFontNameXft = "monospace:size=12:bold"`
1739+
1740Name of the font for Alt+Tab switcher window.
1741
1742* `NormalButtonFontNameXft = "sans-serif:size=12"`
1743+
1744Name of the normal button font.
1745
1746* `ActiveButtonFontNameXft = "sans-serif:size=12:bold"`
1747+
1748Name of the active button font.
1749
1750* `NormalTaskBarFontNameXft = "sans-serif:size=12"`
1751+
1752Name of the normal task bar item font.
1753
1754* `ActiveTaskBarFontNameXft = "sans-serif:size=12:bold"`
1755+
1756Name of the active task bar item font.
1757
1758* `ToolButtonFontNameXft = "sans-serif:size=12"`
1759+
1760Name of the tool button font (fallback: NormalButtonFontNameXft).
1761
1762* `NormalWorkspaceFontNameXft = "sans-serif:size=12"`
1763+
1764Name of the normal workspace button font (fallback:
1765NormalButtonFontNameXft).
1766
1767* `ActiveWorkspaceFontNameXft = "sans-serif:size=12"`
1768+
1769Name of the active workspace button font (fallback:
1770ActiveButtonFontNameXft).
1771
1772* `MinimizedWindowFontNameXft = "sans-serif:size=12"`
1773+
1774Name of the mini-window font.
1775
1776* `ListBoxFontNameXft = "sans-serif:size=12"`
1777+
1778Name of the window list font.
1779
1780* `ToolTipFontNameXft = "sans-serif:size=12"`
1781+
1782Name of the tool tip font.
1783
1784* `ClockFontNameXft = "monospace:size=12"`
1785+
1786Name of the task bar clock font.
1787
1788* `TempFontNameXft = "monospace:size=12"`
1789+
1790Name of the task bar temperature font.
1791
1792* `ApmFontNameXft = "monospace:size=12"`
1793+
1794Name of the task bar battery font.
1795
1796* `InputFontNameXft = "monospace:size=12"`
1797+
1798Name of the input field font.
1799
1800* `LabelFontNameXft = "sans-serif:size=12"`
1801+
1802Name of the label font.
1803
1804[[colors]]
1805=== Colors
1806
1807* `ColorDialog = "rgb:C0/C0/C0"`
1808+
1809Background of dialog windows.
1810
1811* `ColorNormalBorder = "rgb:C0/C0/C0"`
1812+
1813Border of inactive windows.
1814
1815* `ColorActiveBorder = "rgb:C0/C0/C0"`
1816+
1817Border of active windows.
1818
1819* `ColorNormalButton = "rgb:C0/C0/C0"`
1820+
1821Background of regular buttons.
1822
1823* `ColorNormalButtonText = "rgb:00/00/00"`
1824+
1825Textcolor of regular buttons.
1826
1827* `ColorActiveButton = "rgb:E0/E0/E0"`
1828+
1829Background of pressed buttons.
1830
1831* `ColorActiveButtonText = "rgb:00/00/00"`
1832+
1833Textcolor of pressed buttons.
1834
1835* `ColorNormalTitleButton = "rgb:C0/C0/C0"`
1836+
1837Background of titlebar buttons.
1838
1839* `ColorNormalTitleButtonText = "rgb:00/00/00"`
1840+
1841Textcolor of titlebar buttons.
1842
1843* `ColorToolButton = ""`
1844+
1845Background of toolbar buttons, ColorNormalButton is used if empty.
1846
1847* `ColorToolButtonText = ""`
1848+
1849Textcolor of toolbar buttons, ColorNormalButtonText is used if empty.
1850
1851* `ColorNormalWorkspaceButton = ""`
1852+
1853Background of workspace buttons, ColorNormalButton is used if empty.
1854
1855* `ColorNormalWorkspaceButtonText = ""`
1856+
1857Textcolor of workspace buttons, ColorNormalButtonText is used if empty.
1858
1859* `ColorActiveWorkspaceButton = ""`
1860+
1861Background of the active workspace button, ColorActiveButton is used
1862if empty.
1863
1864* `ColorActiveWorkspaceButtonText = ""`
1865+
1866Textcolor of the active workspace button, ColorActiveButtonText is
1867used if empty.
1868
1869* `ColorNormalTitleBar = "rgb:80/80/80"`
1870+
1871Background of the titlebar of regular windows.
1872
1873* `ColorNormalTitleBarText = "rgb:00/00/00"`
1874+
1875Textcolor of the titlebar of regular windows.
1876
1877* `ColorNormalTitleBarShadow = ""`
1878+
1879Textshadow of the titlebar of regular windows.
1880
1881* `ColorActiveTitleBar = "rgb:00/00/A0"`
1882+
1883Background of the titlebar of active windows.
1884
1885* `ColorActiveTitleBarText = "rgb:FF/FF/FF"`
1886+
1887Textcolor of the titlebar of active windows.
1888
1889* `ColorActiveTitleBarShadow = ""`
1890+
1891Textshadow of the titlebar of active windows.
1892
1893* `ColorNormalMinimizedWindow = "rgb:C0/C0/C0"`
1894+
1895Background for mini icons of regular windows.
1896
1897* `ColorNormalMinimizedWindowText = "rgb:00/00/00"`
1898+
1899Textcolor for mini icons of regular windows.
1900
1901* `ColorActiveMinimizedWindow = "rgb:E0/E0/E0"`
1902+
1903Background for mini icons of active windows.
1904
1905* `ColorActiveMinimizedWindowText = "rgb:00/00/00"`
1906+
1907Textcolor for mini icons of active windows.
1908
1909* `ColorNormalMenu = "rgb:C0/C0/C0"`
1910+
1911Background of pop-up menus.
1912
1913* `ColorNormalMenuItemText = "rgb:00/00/00"`
1914+
1915Textcolor of regular menu items.
1916
1917* `ColorActiveMenuItem = "rgb:A0/A0/A0"`
1918+
1919Background of selected menu item, leave empty to force transparency.
1920
1921* `ColorActiveMenuItemText = "rgb:00/00/00"`
1922+
1923Textcolor of selected menu items.
1924
1925* `ColorDisabledMenuItemText = "rgb:80/80/80"`
1926+
1927Textcolor of disabled menu items.
1928
1929* `ColorDisabledMenuItemShadow = ""`
1930+
1931Shadow of regular menu items.
1932
1933* `ColorMoveSizeStatus = "rgb:C0/C0/C0"`
1934+
1935Background of move/resize status window.
1936
1937* `ColorMoveSizeStatusText = "rgb:00/00/00"`
1938+
1939Textcolor of move/resize status window.
1940
1941* `ColorQuickSwitch = "rgb:C0/C0/C0"`
1942+
1943Background of the quick switch window.
1944
1945* `ColorQuickSwitchText = "rgb:00/00/00"`
1946+
1947Textcolor in the quick switch window.
1948
1949* `ColorQuickSwitchActive = ""`
1950+
1951Rectangle arround the active icon in the quick switch window.
1952
1953* `ColorDefaultTaskBar = "rgb:C0/C0/C0"`
1954+
1955Background of the taskbar.
1956
1957* `ColorNormalTaskBarApp = "rgb:C0/C0/C0"`
1958+
1959Background for task buttons of regular windows.
1960
1961* `ColorNormalTaskBarAppText = "rgb:00/00/00"`
1962+
1963Textcolor for task buttons of regular windows.
1964
1965* `ColorActiveTaskBarApp = "rgb:E0/E0/E0"`
1966+
1967Background for task buttons of the active window.
1968
1969* `ColorActiveTaskBarAppText = "rgb:00/00/00"`
1970+
1971Textcolor for task buttons of the active window.
1972
1973* `ColorMinimizedTaskBarApp = "rgb:A0/A0/A0"`
1974+
1975Background for task buttons of minimized windows.
1976
1977* `ColorMinimizedTaskBarAppText = "rgb:00/00/00"`
1978+
1979Textcolor for task buttons of minimized windows.
1980
1981* `ColorInvisibleTaskBarApp = "rgb:80/80/80"`
1982+
1983Background for task buttons of windows on other workspaces.
1984
1985* `ColorInvisibleTaskBarAppText = "rgb:00/00/00"`
1986+
1987Textcolor for task buttons of windows on other workspaces.
1988
1989* `ColorScrollBar = "rgb:A0/A0/A0"`
1990+
1991Scrollbar background (sliding area).
1992
1993* `ColorScrollBarSlider = "rgb:C0/C0/C0"`
1994+
1995Background of the slider button in scrollbars.
1996
1997* `ColorScrollBarButton = "rgb:C0/C0/C0"`
1998+
1999Background of the arrow buttons in scrollbars.
2000
2001* `ColorScrollBarArrow = "rgb:C0/C0/C0"`
2002+
2003Background of the arrow buttons in scrollbars (obsolete).
2004
2005* `ColorScrollBarButtonArrow = "rgb:00/00/00"`
2006+
2007Color of active arrows on scrollbar buttons.
2008
2009* `ColorScrollBarInactiveArrow = "rgb:80/80/80"`
2010+
2011Color of inactive arrows on scrollbar buttons.
2012
2013* `ColorListBox = "rgb:C0/C0/C0"`
2014+
2015Background of listboxes.
2016
2017* `ColorListBoxText = "rgb:00/00/00"`
2018+
2019Textcolor in listboxes.
2020
2021* `ColorListBoxSelection = "rgb:80/80/80"`
2022+
2023Background of selected listbox items.
2024
2025* `ColorListBoxSelectionText = "rgb:00/00/00"`
2026+
2027Textcolor of selected listbox items.
2028
2029* `ColorToolTip = "rgb:E0/E0/00"`
2030+
2031Background of tooltips.
2032
2033* `ColorToolTipText = "rgb:00/00/00"`
2034+
2035Textcolor of tooltips.
2036
2037* `ColorLabel = "rgb:C0/C0/C0"`
2038+
2039Background of labels, leave empty to force transparency.
2040
2041* `ColorLabelText = "rgb:00/00/00"`
2042+
2043Textcolor of labels.
2044
2045* `ColorInput = "rgb:FF/FF/FF"`
2046+
2047Background of text entry fields (e.g. the addressbar).
2048
2049* `ColorInputText = "rgb:00/00/00"`
2050+
2051Textcolor of text entry fields (e.g. the addressbar).
2052
2053* `ColorInputSelection = "rgb:80/80/80"`
2054+
2055Background of selected text in an entry field.
2056
2057* `ColorInputSelectionText = "rgb:00/00/00"`
2058+
2059Selected text in an entry field.
2060
2061* `ColorClock = "rgb:00/00/00"`
2062+
2063Background of non-LCD clock, leave empty to force transparency.
2064
2065* `ColorClockText = "rgb:00/FF/00"`
2066+
2067Background of non-LCD monitor.
2068
2069* `ColorApm = "rgb:00/00/00"`
2070+
2071Background of battery monitor, leave empty to force transparency.
2072
2073* `ColorApmText = "rgb:00/FF/00"`
2074+
2075Textcolor of battery monitor.
2076
2077* `ColorApmBattary = "rgb:FF/FF/00"`
2078+
2079Color of battery monitor when discharging.
2080
2081* `ColorApmLine = "rgb:00/FF/00"`
2082+
2083Color of battery monitor when charging.
2084
2085* `ColorApmGraphBg = "rgb:00/00/00"`
2086+
2087Background color for graph mode.
2088
2089* `ColorCPUStatusUser = "rgb:00/FF/00"`
2090+
2091User load on the CPU monitor.
2092
2093* `ColorCPUStatusSystem = "rgb:FF/00/00"`
2094+
2095System load on the CPU monitor.
2096
2097* `ColorCPUStatusInterrupts = "rgb:FF/FF/00"`
2098+
2099Interrupts on the CPU monitor.
2100
2101* `ColorCPUStatusIoWait = "rgb:60/00/60"`
2102+
2103IO Wait on the CPU monitor.
2104
2105* `ColorCPUStatusSoftIrq = "rgb:00/FF/FF"`
2106+
2107Soft Interrupts on the CPU monitor.
2108
2109* `ColorCPUStatusNice = "rgb:00/00/FF"`
2110+
2111Nice load on the CPU monitor.
2112
2113* `ColorCPUStatusIdle = "rgb:00/00/00"`
2114+
2115Idle (non) load on the CPU monitor, leave empty to force transparency.
2116
2117* `ColorCPUStatusSteal = "rgb:FF/8A/91"`
2118+
2119Involuntary Wait on the CPU monitor.
2120
2121* `ColorCPUStatusTemp = "rgb:60/60/C0"`
2122+
2123Temperature of the CPU.
2124
2125* `ColorMEMStatusUser = "rgb:40/40/80"`
2126+
2127User program usage in the memory monitor.
2128
2129* `ColorMEMStatusBuffers = "rgb:60/60/C0"`
2130+
2131OS buffers usage in the memory monitor.
2132
2133* `ColorMEMStatusCached = "rgb:80/80/FF"`
2134+
2135OS cached usage in the memory monitor.
2136
2137* `ColorMEMStatusFree = "rgb:00/00/00"`
2138+
2139Free memory in the memory monitor.
2140
2141* `ColorNetSend = "rgb:FF/FF/00"`
2142+
2143Outgoing load on the network monitor.
2144
2145* `ColorNetReceive = "rgb:FF/00/FF"`
2146+
2147Incoming load on the network monitor.
2148
2149* `ColorNetIdle = "rgb:00/00/00"`
2150+
2151Idle (non) load on the network monitor, leave empty to force
2152transparency.
2153
2154* `ColorApmBattery = rgb:FF/FF/00`
2155+
2156Color of battery monitor in battery mode.
2157
2158[[desktop-background]]
2159=== Desktop Background
2160
2161The following options are used by `icewmbg`:
2162
2163* `DesktopBackgroundCenter = 0`
2164+
2165Display desktop background centered and not tiled. (set to 0 or 1).
2166
2167* `DesktopBackgroundScaled = 0`
2168+
2169Resize desktop background to full screen.
2170
2171* `DesktopBackgroundColor = ""`
2172+
2173Color(s) of the desktop background.
2174
2175* `DesktopBackgroundImage = ""`
2176+
2177Image(s) for desktop background. If you want IceWM to ignore the
2178desktop background image / color set both DesktopBackgroundColor and
2179DesktopBackgroundImage to an empty value ("").
2180
2181* `SupportSemitransparency = 1`
2182+
2183Support for semitransparent terminals like Eterm or gnome-terminal.
2184
2185* `DesktopTransparencyColor = ""`
2186+
2187Color(s) to announce for semitransparent windows.
2188
2189* `DesktopTransparencyImage = ""`
2190+
2191Image(s) to announce for semitransparent windows.
2192
2193* `DesktopBackgroundMultihead = 0`
2194+
2195Paint the background image over all multihead monitors combined.
2196
2197[[task-bar-style]]
2198=== Task Bar Style
2199
2200* `TaskBarClockLeds = 1`
2201+
2202Display clock using LCD style pixmaps.
2203
2204[[menus-and-toolbar-updated-2018-05-06]]
2205== Menus and Toolbar (updated 2018-05-06)
2206
2207[[menu]]
2208=== menu
2209
2210Within the `menu` configuration file you can configure which programs
2211are to appear in the root/start menu.
2212
2213Submenus can be created with:
2214
2215 menu "title" icon_name {
2216 # contained items
2217 }
2218 separator
2219 menufile "title" icon_name filename
2220 menuprog "title" icon_name program arguments
2221 menuprogreload "title" icon_name timeout program arguments
2222 include filename
2223 includeprog program arguments
2224
2225Menus can be populated with submenus and with program entries as
2226explained below for the `program` configuration file. Comments start
2227with a #-sign.
2228
2229The `menufile` directive creates a submenu with a title and an
2230icon, while `menuprog` and `menuprogreload` create a submenu with
2231entries from the output of `program arguments` where the timeout
2232of `menuprogreload` says to reload the submenu after the timeout
2233expires. The `include` statement loads more configuration from the
2234given filename, while `includeprog` runs `program arguments` to parse
2235the output.
2236
2237[[toolbar]]
2238=== toolbar
2239
2240The `toolbar` configuration file is used to put programs as buttons
2241on the taskbar. It uses the same syntax as the `menu` file.
2242
2243[[programs-2]]
2244=== programs
2245
2246Usually automatically generated menu configuration file of installed
2247programs. The `programs` file should be automatically generated by
2248`wmconfig` (Redhat), `menu` (Debian), or `icewm-menu-fdo`.
2249
2250Programs can be added using the following syntax:
2251
2252 prog "title" icon_name program_executable options
2253
2254Restarting another window manager can be done using the restart
2255program:
2256
2257 restart "title" icon_name program_executable options
2258
2259icon_name can be `-` if icon is not wanted, or `!` if the icon name
2260shall be guessed by checking the command (i.e. the real executable
2261file, following symlinks as needed).
2262
2263The "runonce" keyword allows to launch an application only when no
2264window has the WM_CLASS hint specified. Otherwise the first window
2265having this class hint is mapped and raised. Syntax:
2266
2267 runonce "title" icon_name "res_name.res_class" program_executable
2268 options
2269 runonce "title" icon_name "res_name" program_executable options
2270 runonce "title" icon_name ".res_class" program_executable options
2271
2272The class hint of an application window can be figured out by running
2273
2274 xprop WM_CLASS
2275
2276Submenus can be added using the same keywords as the `menu`
2277configuration file.
2278
2279Only double quotes are interpreted by IceWM. IceWM doesn't run the
2280shell automatically, so you may have to do that.
2281
2282[[hot-keys]]
2283== Hot Keys
2284
2285IceWM allows launching of arbitrary programs with any key
2286combination. This is configured in the `keys` file. The syntax of
2287this file is like:
2288
2289*key* "key combination" program options...
2290
2291For example:
2292
2293 key  "Alt+Ctrl+t"  xterm -rv
2294 key "Ctrl+Shift+r" icewm --restart
2295 runonce "Alt+F12"  "res_name.res_class" program_executable options
2296
2297[[window-options-updated-2018-03-04]]
2298== Window Options (updated 2018-03-04)
2299
2300The *winoptions* file is used to configure settings for individual
2301application windows. Each line in this file must have one of the
2302following formats:
2303
2304* *window_name.window_class.option: argument*
2305* *window_name.window_role.option: argument*
2306* *window_class.option: argument*
2307* *window_name.option: argument*
2308* *window_role.option: argument*
2309* *.option: argument*
2310
2311The last format sets a default option value for all windows. Each
2312window on the desktop should have *name* and *class* resources
2313associated with it. Some applications also have a *window role*
2314resource. They can be determined using the `xprop` utility. When used
2315on a toplevel window, `xprop | grep -e CLASS -e ROLE` should output
2316a line like this:
2317
2318 WM_CLASS = "name", "Class"
2319
2320and may also display a line like this:
2321
2322 WM_WINDOW_ROLE = "window role"
2323
2324It's possible that an application's *name* and/or *class* contains
2325a dot character (*.*), which is also used by IceWM to separate
2326*name*, *class* and *role* values. In this case precede the dot
2327with the backslash character. In the following example, we suppose
2328an application's window has `the.name` as its *name* value and
2329`The.Class` as its *class* value and for this combination we set
2330*option* to *argument*.
2331
2332 the\.name.The\.Class.option: argument
2333
2334Options that can be set per window are as follows:
2335
2336* *icon*
2337+
2338The name of the icon.
2339
2340* *workspace*
2341+
2342Default workspace for window (number, counting from 0)
2343
2344* *layer*
2345+
2346The default stacking layer for the window. Layer can be one of the
2347following seven strings:
2348
2349 ** _Desktop_
2350Desktop window. There should be only one window in this layer.
2351 ** _Below_
2352Below default layer.
2353 ** _Normal_
2354Default layer for the windows.
2355 ** _OnTop_
2356Above the default.
2357 ** _Dock_
2358Layer for windows docked to the edge of the screen.
2359 ** _AboveDock_
2360Layer for the windows above the dock.
2361 ** _Menu_
2362Layer for the windows above the dock.
2363
2364+
2365You can also use a number from 0 to 15.
2366
2367* *geometry*
2368+
2369The default geometry for the window. This geometry should be specified
2370in the usual X11-geometry-syntax, formal notation:
2371
2372   [=][<width>{xX}<height>][{+-}<xoffset>{+-}<yoffset>]
2373
2374* *tray*
2375+
2376The default tray option for the window. This affects both the tray
2377and the task pane. Tray can be one of the following strings:
2378
2379 ** _Ignore_
2380Don't add an icon to the tray pane.
2381 ** _Minimized_
2382Add an icon the the tray. Remove the task pane button when minimized.
2383 ** _Exclusive_
2384Add an icon the the tray. Never create a task pane button.
2385
2386* *order: 0*
2387+
2388The sorting order of task buttons and tray icons. The default value
2389is zero. Increasing positive values go farther right, while decreasing
2390negative values go farther left. The order option applies to the task
2391pane, the tray pane and the system tray.
2392
2393* *allWorkspaces: 0*
2394+
2395If set to 1, window will be visible on all workspaces.
2396
2397* *appTakesFocus: 0*
2398+
2399if set to 1, IceWM will assume the window supports the WM_TAKE_FOCUS
2400protocol even if the window did not advertise that it does.
2401
2402* *dBorder: 1*
2403+
2404If set to 0, window will not have a border.
2405
2406* *dClose: 1*
2407+
2408If set to 0, window will not have a close button.
2409
2410* *dDepth: 1*
2411+
2412If set to 0, window will not have a depth button.
2413
2414* *dHide: 1*
2415+
2416If set to 0, window will not have a hide button.
2417
2418* *dMaximize: 1*
2419+
2420If set to 0, window will not have a maximize button.
2421
2422* *dMinimize: 1*
2423+
2424If set to 0, window will not have a minimize button.
2425
2426* *dResize: 1*
2427+
2428If set to 0, window will not have a resize border.
2429
2430* *dRollup: 1*
2431+
2432If set to 0, window will not have a shade button.
2433
2434* *dSysMenu: 1*
2435+
2436If set to 0, window will not have a system menu.
2437
2438* *dTitleBar: 1*
2439+
2440If set to 0, window will not have a title bar.
2441
2442* *doNotCover: 0*
2443+
2444if set to 1, this window will limit the workspace available for
2445regular applications. At the moment the window has to be sticky to
2446make it work.
2447
2448* *doNotFocus: 0*
2449+
2450if set to 1, IceWM will never give focus to the window.
2451
2452* *fClose: 1*
2453+
2454If set to 0, window will not be closable.
2455
2456* *fHide: 1*
2457+
2458If set to 0, window will not be hidable.
2459
2460* *fMaximize: 1*
2461+
2462If set to 0, window will not be maximizable.
2463
2464* *fMinimize: 1*
2465+
2466If set to 0, window will not be minimizable.
2467
2468* *fMove: 1*
2469+
2470If set to 0, window will not be movable.
2471
2472* *fResize: 1*
2473+
2474If set to 0, window will not be resizable.
2475
2476* *fRollup: 1*
2477+
2478If set to 0, window will not be shadable.
2479
2480* *forcedClose: 0*
2481+
2482if set to 1 and the application had not registered WM_DELETE_WINDOW,
2483a close confirmation dialog won't be offered upon closing the window.
2484
2485* *fullKeys: 0*
2486+
2487If set to 1, the window manager leave more keys (Alt+F?) to the
2488application.
2489
2490* *ignoreNoFocusHint: 0*
2491+
2492if set to 1, IceWM will focus even if the window does not handle input.
2493
2494* *ignorePagerPreview: 0*
2495+
2496If set to 1, window will not appear in pager preview.
2497
2498* *ignorePositionHint: 0*
2499+
2500if set to 1, IceWM will ignore the position hint.
2501
2502* *ignoreQuickSwitch: 0*
2503+
2504If set to 1, window will not be accessible using QuickSwitch feature
2505(Alt+Tab).
2506
2507* *ignoreTaskBar: 0*
2508+
2509If set to 1, window will not appear on the task bar.
2510
2511* *ignoreUrgentHint: 0*
2512+
2513if set to 1, IceWM will ignore it if the window sets the urgent hint.
2514
2515* *ignoreWinList: 0*
2516+
2517If set to 1, window will not appear in the window list.
2518
2519* *noFocusOnAppRaise: 0*
2520+
2521if set to 1, window will not automatically get focus as application
2522raises it.
2523
2524* *noFocusOnMap: 0*
2525+
2526if set to 1, IceWM will not assign focus when the window is mapped
2527for the first time.
2528
2529* *noIgnoreTaskBar: 0*
2530+
2531if set to 1, will show the window on the taskbar.
2532
2533* *startFullscreen: 0*
2534+
2535if set to 1, window will cover the entire screen.
2536
2537* *startMaximized: 0*
2538+
2539if set to 1, window starts maximized.
2540
2541* *startMaximizedHorz: 0*
2542+
2543if set to 1, window starts maximized horizontally.
2544
2545* *startMaximizedVert: 0*
2546+
2547if set to 1, window starts maximized vertically.
2548
2549* *startMinimized: 0*
2550+
2551if set to 1, window starts minimized.
2552
2553[[icon-handling]]
2554== Icon handling
2555
2556[[generic]]
2557=== Generic
2558
2559The window manager expects to find two XPM files for each icon
2560specified in the configuration files as _ICON_. They should be named
2561like this:
2562
2563* *ICON_16x16.xpm*
2564+
2565A small 16x16 pixmap.
2566
2567* *ICON_32x32.xpm*
2568+
2569A normal 32x32 pixmap.
2570
2571* *ICON_48x48.xpm*
2572+
2573A large 48x48 pixmap.
2574
2575Other pixmap sizes like 20x20, 24x24, 40x40, 48x48, 64x64 might be
2576used in the future. Perhaps we need a file format that can contain
2577more than one image (with different sizes and color depths) like
2578Windows'95 and OS/2 .ICO files.
2579
2580It would be nice to have a feature from OS/2 that varies the icon
2581size with screen resolution (16x16 and 32x32 icons are quite small
2582on 4000x4000 screens ;-)
2583
2584[[gdk-pixbuf]]
2585=== GDK-Pixbuf
2586
2587When icewm was configured with the `--enable-gdk-pixbuf` option all
2588of GdkPixbuf's image formats are supported. Use them by specifying
2589the full filename or an absolute path:
2590
2591* *ICON.bmp*
2592+
2593A PPM icon in your IconPath.
2594
2595* */usr/share/pixmap/ICON.png*
2596+
2597An PNG image with absolute location.
2598
2599[[mouse-cursors]]
2600== Mouse cursors
2601
2602IceWM scans the theme and configuration directories for a subdirectory
2603called _cursors_ containing monochrome but transparent XPM files. To
2604change the mouse cursor you have to use this filenames:
2605
2606* *left.xbm*
2607+
2608Default cursor (usually pointer to the left).
2609
2610* *right.xbm*
2611+
2612Menu cursor (usually pointer to the right).
2613
2614* *move.xbm*
2615+
2616Window movement cursor.
2617
2618* *sizeTL.xbm*
2619+
2620Cursor when you resize the window by top left.
2621
2622* *sizeT.xbm*
2623+
2624Cursor when you resize the window by top.
2625
2626* *sizeTR.xbm*
2627+
2628Cursor when you resize the window by top right.
2629
2630* *sizeL.xbm*
2631+
2632Cursor when you resize the window by left.
2633
2634* *sizeR.xbm*
2635+
2636Cursor when you resize the window by right.
2637
2638* *sizeBL.xbm*
2639+
2640Cursor when you resize the window by bottom left.
2641
2642* *sizeB.xbm*
2643+
2644Cursor when you resize the window by bottom.
2645
2646* *sizeBR.xbm*
2647+
2648Cursor when you resize the window by bottom right.
2649
2650[[themes]]
2651== Themes
2652
2653Themes are used to configure the way the window manager looks. Things
2654like fonts, colors, border sizes, button pixmaps can be configured. Put
2655together they form a theme.
2656
2657Theme files are searched in the `themes` subdirectories.
2658
2659These directories contain other directories that contain related
2660theme files and their .xpm files. Each theme file specifies fonts,
2661colors, border sizes, ...
2662
2663The theme to use is specified in `~/.icewm/theme` file:
2664
2665* `Theme = "nice/default.theme"`
2666+
2667Name of the theme to use. Both the directory and theme file name must
2668be specified.
2669
2670If the theme directory contains a file named _fonts.dir_ created by
2671mkfontdir the theme directory is inserted into the X servers font
2672search path.
2673
2674https://themes.ice-wm.org[www.box-look.org] has a very large number
2675of themes which were created by users of IceWM.
2676
2677[[command-line-options]]
2678== Command Line Options
2679
2680`icewm` supports the following options:
2681
2682....
2683-d, --display=NAME
2684NAME of the X server to use.
2685
2686--client-id=ID
2687Client id to use when contacting session manager.
2688
2689--sync
2690Synchronize X11 commands.
2691
2692-c, --config=FILE
2693Load preferences from FILE.
2694
2695-t, --theme=FILE
2696Load theme from FILE.
2697
2698--postpreferences
2699Print preferences after all processing.
2700
2701-V, --version
2702Prints version information and exits.
2703
2704-h, --help
2705Prints this usage screen and exits.
2706
2707--replace
2708Replace an existing window manager.
2709
2710-r, --restart
2711Tell the running icewm to restart itself.
2712
2713--configured
2714Print the compile time configuration.
2715
2716--directories
2717Print the configuration directories.
2718
2719-l, --list-themes
2720Print a list of all available themes.
2721....
2722
2723The restart option can be used to reload the IceWM configuration
2724after modifications. It is the preferred way to restart IceWM from
2725the command line or in scripts. To load a different theme from the
2726command line, combine this with the `--theme=NAME` option like:
2727
2728 icewm -r -t CrystalBlue
2729
2730The theme name will then be saved to the 'theme' configuration file,
2731before restarting IceWM.
2732
2733[[glossary]]
2734== Glossary
2735
2736Resource Path
2737A set of directories used by IceWM to locate resources like
2738configuration files, themes, icons. See section *The Resource Path*.
2739
2740[[authors]]
2741== Authors
2742
2743Authors having contributed to this document include Gallium, Macek,
2744Hasselmann, Gijsbers, Bidulock and Bloch.
2745
2746[[see-also]]
2747== See Also
2748
2749https://ice-wm.org/man/icehelp[icehelp(1)],
2750https://ice-wm.org/man/icesh[icesh(1)],
2751https://ice-wm.org/man/icesound[icesound(1)],
2752https://ice-wm.org/man/icewm-env[icewm-env(5)],
2753https://ice-wm.org/man/icewm-focus_mode.html[icewm-focus_mode(5)],
2754https://ice-wm.org/man/icewm-keys[icewm-keys(5)],
2755https://ice-wm.org/man/icewm-menu-fdo[icewm-menu-fdo(1)],
2756https://ice-wm.org/man/icewm-menu[icewm-menu(5)],
2757https://ice-wm.org/man/icewm-preferences[icewm-preferences(5)],
2758https://ice-wm.org/man/icewm-prefoverride[icewm-prefoverride(5)],
2759https://ice-wm.org/man/icewm-programs[icewm-programs(5)],
2760https://ice-wm.org/man/icewm-session[icewm-session(1)],
2761https://ice-wm.org/man/icewm-set-gnomewm[icewm-set-gnomewm(1)],
2762https://ice-wm.org/man/icewm-shutdown[icewm-shutdown(5)],
2763https://ice-wm.org/man/icewm-startup[icewm-startup(5)],
2764https://ice-wm.org/man/icewm-theme[icewm-theme(5)],
2765https://ice-wm.org/man/icewm-toolbar[icewm-toolbar(5)],
2766https://ice-wm.org/man/icewm-winoptions[icewm-winoptions(5)],
2767https://ice-wm.org/man/icewm[icewm(1)],
2768https://ice-wm.org/man/icewmbg[icewmbg(1)],
2769https://ice-wm.org/man/icewmhint[icewmhint(1)],
2770https://ice-wm.org/man/icewmtray[icewmtray(1)].
2771