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