STALONETRAY(1)

πŸŽ€ STALONETRAY(1) β€” NAME πŸŽ€

okay so bestie, this is the User Commands page for stalonetray β€” a stand-alone system tray (notification area) implementation. This document covers 1.5.0 version of stalonetray. πŸ’–

✨ SYNOPSIS ✨

stalonetray [option...]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so stalonetray is a stand-alone system tray (notification area) for X Window System/X11 (e.g. XOrg or XFree86). It has minimal build and run-time dependencies: an X11 lib only. Complete XEMBED support is under development. Stalonetray works with virtually any EWMH-compliant window manager. no cap πŸ’…

The behaviour and the look of stalonetray can be configured either via command line options or via configuration file. As usual, command-line options have precedence over options that are specified in the configuration file. periodt.

Names of command line parameter may have two variants: short (-o) and long (--option). Write -ovalue or -o value to pass a value using the short name of a parameter; to pass a value using a long name, write --option value or --option=value. All flag-like parameters have optional boolean value that when omitted is assumed to be "true". Write "true", "yes", "1" for positive boolean values, and "false", "no", "0" for negative ones. 🫢

Default configuration file is $HOME/.stalonetrayrc. If it is not found, then $XDG_CONFIG_HOME/stalonetrayrc is checked for. A configuration file contains case-insensitive keyword-argument pairs, one per line. Lines starting with # and empty lines are ignored. Alternatively, config file can specified via -c or --config command-line options.

Stalonetray can be configured to write diagnostic log messages to the standard error stream. iykyk ✨

Below is the list of possible command line/configuration file options. Options starting with hyphens are command-line parameters; others are configuration file keywords. Options that are new in 1.5.0 version are marked with β€œNEW in 1.5.0”.

🌈 OPTIONS 🌈

  • -bg color, --background color, background color β€” use color for tray's background. color can be specified as an HTML hex triplet or as a name from rgb.txt (note that # must be quoted). Default value: #777777. 🎨
  • -c filename, --config filename β€” read configuration from filename instead of default $HOME/.stalonetrayrc.
  • -d decspec, --decorations decspec, decorations decspec β€” specify visible tray window decorations. Possible values for decspec are: all, title, border, none (default). πŸŽ€
  • -display display, display display β€” use X display display.
  • --dockapp-mode [mode], dockapp_mode [mode] β€” set dockapp mode, which can be either simple for e.g. OpenBox, wmaker for WindowMaker, or none (default).
  • -f [level], --fuzzy-edges [level], fuzzy_edges [level] β€” enable fuzzy edges of tray window and set fuzziness level which can range from 0 (disabled, default) to 3. When omitted, the value of level defaults to 2. πŸ¦‹
  • --geometry geometry_spec, geometry geometry_spec β€” set tray's initial geometry to geometry_spec, specified in standard X notation: widthxheight[+x[+y]], where width and height are specified in icon slot multiples. Default value: 1x1+0-0.
  • --grow-gravity gravity, grow_gravity gravity β€” specify icon positioning gravity (either N, S, W, E, NW, NE, SW, SE). Grow gravity specifies directions in which the tray's window may grow. For instance, if you specify NW the tray's window will grow down vertically and to the right horizontally (these are sides that are opposite to upper-left or North-West corner of the window); with W the tray's window will grow horizontally to the left side only, and it will vertically grow both upwards and downwards maintaining position of its center. Please note that the latter behaviour is new in 0.8. Default value: NW. 🌱
  • --icon-gravity gravity, icon_gravity gravity β€” specify icon positioning gravity (either NW, NE, SW, SE). If you specify, e.g SW, then icons will appear starting from the lower-left corner of the tray's window. Default value: NW.
  • -i n, --icon-size n, icon_size n β€” set default icon size to n. Default value: 24. Minimum: 16. πŸ’–
  • -h, --help β€” show help message.
  • ignore_classes classes β€” set X11 window class names to be ignored by stalonetray. Class names are separate arguments: class1 class2 ....
  • --log-level level, log_level level β€” set the amount of info to be output by stalonetray to the standard output. Possible values for level: err (default), info, and trace. For the trace option to be available, stalonetray must be configured with --enable-debug at build-time. πŸ”
  • --kludges kludge [,kludge...] β€” enable specific kludges to work around non-conforming WMs and/or stalonetray bugs. Argument is a comma-separated list of:
    • fix_window_pos β€” fix tray window position on erroneous moves by WM
    • force_icons_size β€” ignore resize events on all icons; force their size to be equal to icon_size
    • use_icons_hints β€” use icon window hints to determine icon size
  • --max-geometry geometry_spec, max_geometry geometry_spec
  • maximal geometry β€” sets the tray's maximal geometry to geometry_spec. Default value: 0x0, which means no limit at all, live your truth bestie ✨
  • -m n, --monitor n, monitor n β€” points the tray at target monitor n. Default value: 0, iykyk πŸ–₯️
  • --no-shrink, no_shrink [bool] β€” tells the tray not to shrink its window back down after an icon gets removed. Super useful when the tray is swallowed by another window, like FvwmButtons. Default value: false. No cap, this one's a lifesaver when your tray's living inside something else 🫢
  • -p, --parent-bg, parent_bg [bool] β€” uses the parent's window as the background of the tray's window. Default value: false. It's giving "borrowed fit, still ate" πŸ’…
  • --pixmap-bg path_to_xpm, pixmap_bg path_to_xpm β€” uses the pixmap from an XPM file specified by path_to_xpm as the tray's window background (and yeah, the pixmap gets tiled to fill the entire window, so it's gonna repeat, that's the vibe) πŸŽ€
  • -r name, --remote-click-icon name β€”

...so that's the whole remote click situation πŸ’… When you pass --remote-click name, stalonetray sends a fake click to the icon whose window is named name and then dips out β€” like, it literally exits after. 🫢

Little detail that matters: the icon gets looked up in the currently active tray for the current screen, so no, you can't poke at an icon living somewhere else, sorry babe. πŸ™ˆ

And the default behaviour? By default, stalonetray sends a single click with the 1st mouse button to the center of the icon. Iconic. πŸ‘‘

Wanna change that up? The options below are literally exactly for that β€” go off. ✨

  • --remote-click-button n β€” sets the remote click's button number to n (in the X11 numbering order, bestie β€” different numbering than what you're probably picturing, so don't come for me 😭).
  • --remote-click-position xxy β€” sets the remote click's position. Where exactly the fake click lands, your call. 🎯
  • --remote-click-type type β€” sets the remote click's type. Possible values: single and double. That's it, that's the whole menu β€” pick one. πŸ’€
  • -s n, --slot-size w[xw], slot_size w[xw]

Ok so that last one, the slot size situation? Yeah, hold that thought β€” more on it in a sec, don't scroll away on me πŸ§šπŸ’œ

  • (still the previous option, we're mid-list, don't @ me) β€” set grid slot width to w and height to b, and bestie, neither of those can be less then icon_size. By default the slot size is literally the same as the icon size. If you omit the height, it just gets set to be the same as the width. Convenient, right? πŸ’…
  • --scrollbars mode, scrollbars mode β€” sets the scrollbar mode. Possible values are vertical, horizontal, all, or none (that last one is the default, so if you never touch this you get zero scrollbars, periodt). The scrollbars show up as extra space at the tray borders that you can click to scroll the icon area β€” and the mouse wheel works too. πŸ–±οΈβœ¨
  • --scrollbars-highlight mode, scrollbars_highlight mode β€” sets the scrollbars highlight mode. Possible values: a color spec, or disable. That's the whole vibe check. πŸŽ€
  • --scrollbars-size n, scrollbars_size n
okay so that's exactly where this part of the page cuts off 😭 the description for --scrollbars-size is coming at you in the next chunk, hang tight bestie 🫢

Set scrollbar size to n pixels β€” by default the size is 1/4 of slot_size. πŸ’…

  • --scrollbars-step n, scrollbars_step n β€” sets the scrollbar step to n pixels. The default is 1/2 of slot_size. πŸŽ€
  • --scroll-everywhere, scroll_everywhere [bool] β€” turns on scrolling outside of the scrollbars too, not just on them. Default value: false. 🌸
  • --drag-reorder [bool], drag_reorder [bool] β€” lets you reorder your icons by holding the drag modifier and dragging them around with the left mouse button. Default value: true. ✨
  • --drag-modifier mod, drag_modifier mod β€” 🫢 (keep reading, bestie, this one's explanation is right there)

okay so this next bit is literally the tail end of the option that was already in progress β€” you know the one β€” and it's all about which keyboard key you gotta be holding down to kick off a drag πŸ’…

The keyboard modifier that must be held down to start a drag. Accepted values are alt, shift, ctrl, super, or none. Default value: alt.

⚠️ heads up bestie: if you set this to none, then any Button1 drag will start a reorder β€” and it will also fire a click on the icon. So like, the reorder and the click both happen. Not a drill. 🫢

  • --remember-icon-order [bool], `remember_icon_order [bool] β€” ✨ (bestie the details for this one are rolling in next, hold the vibe check πŸ˜­πŸ’–)

okay so picture this: you close your laptop lid, your whole tray situation goes poof, and you come back to icons scattered like confetti πŸŽ€ β€” not on this option's watch. This setting persists the icon order across tray restarts, so your little lineup survives the chaos. iconic behaviour, honestly πŸ‘‘

on startup, the previous order is restored as icons redock πŸ’–. applications that are no longer running get dropped (bye bestie 😭), and icons that show up afterwards follow the tray's gravity. that's the whole vibe.

the order is keyed by WM_CLASS β€” because window ids are not stable across a restart, so like, they're useless for this, ngl β€” with _NET_WM_PID doing the distinguishing when several icons share a class 🫢. and it's tied to the current X session, so it gets discarded after a full X restart. (yes, fully starting over. main character reset energy ⭐)

Default value: true.

  • *--icon-order-file *path, icon_order_file path β€”
  • Path to the icon order state file. Defaults to $XDG_STATE_HOME/stalonetray/order-screen (and if that's not a thing, it falls back to ~/.local/state/stalonetray/). ✨
  • --icon-order-timeout n, icon_order_timeout n β€” How many seconds to wait at startup for your icons to redock before it just gives up and settles on the restored order. Bestie, it's not gonna sit there bored for the full countdown though β€” the wait ends early the second every remembered icon has returned. πŸ’… Default value: 10.
  • --skip-taskbar, skip_taskbar [bool] β€” Hides the tray's window from the taskbar. Lowkey stealth mode for your panel. 🫢 Default value: false.
  • --sticky, sticky [bool] β€” Makes the tray's window sticky across multiple desktops/pages, so it follows you around like a loyal little icon bestie. 🌸 Default value: false.
  • --tint-color, tint_color [bool] β€” bestie this one sets the tinting color ✨ and the default value is white. That's it, that's the whole vibe. 🀍
  • --tint-level, tint_level [level] β€” sets the tinting level πŸ’œ. Default value is 0, which lowkey means tinting is straight up disabled until you say otherwise. no cap, zero = off πŸ™ˆ
  • -t, --transparent, transparent [bool] β€” turns on root transparency 🫢. Default value is false, so the glow-up is opt-in only, iykyk. ✨
  • -v, --vertical, vertical [bool] β€” makes the icons stack in a vertical layout πŸ¦‹ instead of the side-by-side situation. fr fr, horizontal is what you get by default, so this flag is your main character moment for going tall instead of wide πŸ’…
  • --window-layer layer, window_layer layer β€” ok so this one takes a layer argument and the full tea on it is literally spilling over into the next bit πŸ‘€ keep reading bestie, it's right there ⭐

...okay so this next bit is the tail end of an option, and it's setting the EWMH-compliant layer of the tray's window ✨ Like, which stacking layer the tray lives on, that kind of thing.

The values you can give for layer are:

  • bottom β€” down at the bottom of the stack, humble, lowkey, living its life
  • normal β€” the default one, just vibing in the middle πŸ’…
  • top β€” up top, above everything, main character energy πŸ‘‘

Default value: normal πŸŽ€


  • --window-strut mode, window_strut mode β€” okay so this one turns on window struts for the tray window 🫢 and the whole reason is literally so your maximized windows don't come along and cover the tray window, which is rude ngl. The mode is what decides which screen border the tray window gets attached to. It can be top, bottom, left, right, none, or auto β€” and auto is the default one 🌸
fr fr if you don't want your maximized windows eating your tray alive, this is the setting, no cap πŸ’€
  • --window-type type, window_type type β€” sets the EWMH-compliant type of the tray’s window. Possible values for type: desktop, dock, normal, toolbar, utility. Default value: dock. πŸ’…
  • --xsync, xsync [bool] β€” operate on the X server synchronously (SLOW, turned off by default). Like, it works, but it’s giving β€œwhy is everything taking so long” energy. 😭

πŸ’€ DEPRECATIONS πŸ’€

As of stalonetray 0.8, the following command line and configuration file parameters are deprecated:

  • --dbg-level, dbg_level β€” please use --log-level instead.
  • --max-tray-width, --max-tray-height, max_tray_width, max_tray_height β€” please use --max-geometry instead.
  • -w, --withdrawn, withdrawn β€” please use --dockapp-mode instead.
  • --respect-icon-hints, respect_icon_hints β€” please use --kludges with the use_icon_hints parameter instead.

πŸ“ FILES πŸ“

  • $HOME/.stalonetrayrc β€” default configuration file. πŸŽ€

πŸ› BUGS πŸ›

There are some, definetly. πŸ’€

If you need support, the best way to get it is open an issue at the stalonetray github page[1] or to e-mail me directly at <busa_ru@users.sourceforge.net>. 🫢

If you have found a bug, please try to reproduce it with the log level set to trace and redirect standard error stream to a file. Then attach the file to a github issue or to an e-mail. If the issue is intermittent, attach two log files -- one with the good and one with the bad behavior. If you have installed stalonetray from a package repository, you can also file a bug in the respective bug tracking system. ✨


πŸ‘‘ AUTHOR πŸ‘‘

Roman Dubtsov. πŸ‘‘


πŸ“ NOTES πŸ“

  1. github page β€” https://github.com/kolbusa/stalonetray

Okay bestie, that’s the whole page β€” go forth and tray icon with confidence. πŸ¦‹ This iconic little manual is from stalonetray 1.5.0, dated 06/04/2026, and honestly? It ate. πŸ’…βœ¨

πŸ“¦ where this page comes from