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β usecolorfor tray's background.colorcan be specified as an HTML hex triplet or as a name fromrgb.txt(note that#must be quoted). Default value:#777777. π¨-c filename,--config filenameβ read configuration fromfilenameinstead of default$HOME/.stalonetrayrc.-d decspec,--decorations decspec,decorations decspecβ specify visible tray window decorations. Possible values fordecspecare:all,title,border,none(default). π-display display,display displayβ use X displaydisplay.--dockapp-mode [mode],dockapp_mode [mode]β set dockapp mode, which can be eithersimplefor e.g. OpenBox,wmakerfor WindowMaker, ornone(default).-f [level],--fuzzy-edges [level],fuzzy_edges [level]β enable fuzzy edges of tray window and set fuzziness level which can range from0(disabled, default) to3. When omitted, the value ofleveldefaults to2. π¦--geometry geometry_spec,geometry geometry_specβ set tray's initial geometry togeometry_spec, specified in standard X notation:widthxheight[+x[+y]], wherewidthandheightare specified in icon slot multiples. Default value:1x1+0-0.--grow-gravity gravity,grow_gravity gravityβ specify icon positioning gravity (eitherN,S,W,E,NW,NE,SW,SE). Grow gravity specifies directions in which the tray's window may grow. For instance, if you specifyNWthe 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); withWthe 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 in0.8. Default value:NW. π±--icon-gravity gravity,icon_gravity gravityβ specify icon positioning gravity (eitherNW,NE,SW,SE). If you specify, e.gSW, 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 ton. 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 forlevel:err(default),info, andtrace. For thetraceoption to be available, stalonetray must be configured with--enable-debugat 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 WMforce_icons_sizeβ ignore resize events on all icons; force their size to be equal toicon_sizeuse_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 β¨ -mn,--monitorn,monitorn β 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, likeFvwmButtons. 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-bgpath_to_xpm,pixmap_bgpath_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) π-rname,--remote-click-iconname β
...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-buttonn β 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-positionxxy β sets the remote click's position. Where exactly the fake click lands, your call. π―--remote-click-typetype β sets the remote click's type. Possible values:singleanddouble. That's it, that's the whole menu β pick one. π-sn,--slot-sizew[xw],slot_sizew[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
wand height tob, and bestie, neither of those can be less thenicon_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? π --scrollbarsmode,scrollbarsmode β sets the scrollbar mode. Possible values arevertical,horizontal,all, ornone(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-highlightmode,scrollbars_highlightmode β sets the scrollbars highlight mode. Possible values: a color spec, ordisable. That's the whole vibe check. π--scrollbars-sizen,scrollbars_sizen
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 is1/2ofslot_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 tonone, then anyButton1drag 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_filepath β - 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 iswhite. That's it, that's the whole vibe. π€--tint-level,tint_level[level]β sets the tinting level π. Default value is0, 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 isfalse, 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,horizontalis what you get by default, so this flag is your main character moment for going tall instead of wide π--window-layerlayer,window_layerlayer β 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 lifenormalβ the default one, just vibing in the middle πtopβ up top, above everything, main character energy π
Default value: normal π
--window-strutmode,window_strutmode β 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 betop,bottom,left,right,none, orautoβ andautois the default one πΈ
fr fr if you don't want your maximized windows eating your tray alive, this is the setting, no cap π
--window-typetype,window_typetype β 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-levelinstead.--max-tray-width,--max-tray-height,max_tray_width,max_tray_heightβ please use--max-geometryinstead.-w,--withdrawn,withdrawnβ please use--dockapp-modeinstead.--respect-icon-hints,respect_icon_hintsβ please use--kludgeswith theuse_icon_hintsparameter 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 π
- 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
- arch rolling: stalonetray 1.5.0-1 Β· GPL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms