ICEWM-SESSION(1)

πŸ’… ICEWM-SESSION β€” the icewm-session(1) glow-up

okay so welcome to the User Commands section bestie, this is icewm-session(1) and she is that girl: an X.Org session manager provider with IceWM 🧚✨


🌸 NAME 🌸

icewm-session β€” X.Org session manager provider with IceWM. yes that's literally her whole job description and she ate πŸ’…


✨ SYNOPSIS ✨

icewm-session [OPTIONS]

πŸ¦‹ DESCRIPTION πŸ¦‹

so icewm-session is an implementation of a X.Org session manager and can be run from a X11 session setup. she runs icewm as the default window manager and controls the life cycle of related support applications β€” like, she's the main character and everybody else is her supporting cast, periodt πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

πŸ’– SPECIFIC OPTIONS πŸ’–

  • -c, --config=FILE β€” let IceWM load preferences from FILE. your settings, your rules 🫢
  • -t, --theme=FILE β€” let IceWM load the theme FILE. aesthetic check: passed βœ…
  • -i, --icewm=FILE β€” use FILE as the IceWM window manager.
  • -o, --output=FILE β€” redirect all output to FILE. a leading tilde or environment variable is expanded (yes girl, it expands πŸ™ˆ).
  • -a, --alpha β€” use a 32-bit visual for translucency. see-through vibes, so iconic πŸͺŸ
  • -b, --nobg β€” do not start icewmbg. no background manager for you, ngl.
  • -n, --notray β€” do not start icewmtray. lowkey important caveat: this is only applicable if IceWM was explicitly configured to use an external icewmtray process πŸ‘€
  • -s, --sound β€” also start icesound. sound on, always πŸ”₯
  • --replace β€” replace an existing window manager. out with the old, in with the icon πŸ‘‘

🌈 GENERAL OPTIONS 🌈

  • -d, --display=DISPLAY β€” use DISPLAY to connect to the X server. if this option is missing then DISPLAY is read from the environment variable "DISPLAY" β€” she'll find it, don't worry πŸ’…
  • --sync β€” use a slower synchronous mode communication with the X11 server. yes she's slower but she's being careful 😭
  • -h, --help β€” give a list of all supported options and exit. the classic "what are my choices" moment ✨
  • -V, --version β€” print the program version and exit.
  • -C, --copying β€” print copying permissions and exit. legal era πŸ’€

🧚 DEBUGGING OPTIONS 🧚

  • -v, ---valgrind β€” let "/usr/bin/valgrind" run icewm. thoroughly examines the execution of icewm. (and yes, that flag really is written with three dashes β€” don't come for me, copy it exactly πŸ™ˆ)
  • -g, ---catchsegv β€” let "/usr/bin/catchsegv" run icewm. gives a backtrace if icewm segfaults. (three dashes here too, fr fr πŸ’€)

⭐ USAGE ⭐

on startup icewm-session executes the following steps, in order, no skipping:

  1. from the file env in the configuration directory it loads additional environment variables, if that file exists.
  2. then it will start icewmbg to manage root background colors and images.
  3. it may also start icesound, if this was enabled at configuration time.
  4. then icewm is started.

if there exists an executable script startup in the configuration directory, it will be executed. it may contain commands to initialize X11 settings with xset, load keyboard configuration, start a compositing manager like compton and load system tray applications. she's handing out side quests 🫢

when icewm exits, icewm-session will execute a shutdown script, if it exists in the configuration directory. when this finishes, icewm-session will terminate icewm, icewmbg and icesound. finally, icewm-session will exit. clean exit, no loose ends, we love a tidy queen πŸ’…

😭 the crash tea: if the icewm process crashes then icewm-session will attempt to restart it. if two such crashes occur in a short period, then icewm-session will attempt to popup a dialog using either yad, xmessage, kdialog or zenity. this dialog presents a choice between restarting icewm, starting a terminal, or abort execution of icewm-session. so basically she sits you down for a little talk πŸ’€

πŸ“ ENVIRONMENT πŸ“

  • ICEWM_OPTIONS β€” a space separated list of options that will be added to the command line invocation of icewm. this can be set in the env file. sneaky extra options, we stan 🌸

πŸ‘‘ SEE ALSO πŸ‘‘

icewm(1), icewm-env(5), icewm-shutdown(5), icewm-startup(5), icewmbg(1) β€” go read the whole friend group πŸ’–


πŸ’€ BUGS πŸ’€

please report bugs at <https://github.com/ice-wm/icewm/issues>. do it, bestie, the maintainers want to know πŸ™ˆ


🌟 AUTHOR 🌟

Brian Bidulock <mailto:bidulock@openss7.org>.

see --copying for full copyright notice and copying permissions.


πŸŽ€ LICENSE πŸŽ€

IceWM is licensed under the GNU Library General Public License. see the COPYING file in the distribution or use the --copying flag to display copying permissions. legal slay 🌈


okay that's the whole page, mwah πŸ’‹ β€” this was icewm version 4.1.0, dated 2026-08-06, and it's ICEWM-SESSION(1); go be iconic with your session manager πŸ¦‹βœ¨

πŸ“¦ where this page comes from