FLUXBOX(1)
π FLUXBOX(1) β Fluxbox Manual π
π NAME π
fluxbox β A lightweight window manager for the X Windowing System. Periodt.
β¨ SYNOPSIS β¨
fluxbox [-rc rcfile] [-no-slit] [-no-toolbar] [-log logfile] [-display
display] [-screen all|scr,scr...] [-verbose] [-sync]
fluxbox [-v | -version] | [-h | -help] | [-i | -info] | [-list-commands]
π¦ DESCRIPTION π¦
Okay so, fluxbox(1) is a window manager. As such it provides configurable window decorations, a root menu to launch applications and a toolbar that shows the current workspace name, a set of application names and the current time. There is also a workspace menu to add or remove workspaces. Multitasking queen behavior.
Fluxbox can iconify (or minimize) windows to the toolbar. One click and they reappear. A double-click on the titlebar of the window will shade it; i.e. the window will disappear, and only the titlebar will remain visible. Shade it and slay.
There are also two areas commonly used by small applets: the slit can be used to dock small applications; e.g. most of the bbtools and Window Maker dockapps can use the slit, and the systray which lives in the toolbar supports standard system tray icons provided by some applications. Dockapp besties, rise.
Fluxbox uses its own graphics class to render its images on the fly. By using style files, you can determine in great detail how your desktop looks. fluxbox styles are compatible with those of Blackbox 0.65 or earlier versions, so users migrating can still use their current favourite themes. Theme compatibility? Iconic.
Most of the default keyboard and mouse button actions mentioned in this manual can be changed and configured in the keys file. This powerful configuration file can also be used to automate almost any action you may want to perform, from launching applications to moving windows around the screen. See fluxbox-keys(5) for details. Automation is the moment.
Fluxbox can also remember certain attributes of individual application windows and restore these settings the next time the window opens. See the fluxbox-apps(5) for details. Memory unlocked.
Fluxbox supports the majority of the Extended Window Manager Hints (EWMH) specification, as well as numerous other Window Hinting standards. This allows all compliant window managers to provide a common interface to standard features used by applications and desktop utilities. Standards? We love to see it.
π OPTIONS π
-display displayβ Start fluxbox on the specified display. Programs started by fluxbox will share theDISPLAYenvironment variable also. Set the display, set the vibe.-h,-helpβ Display command line options. Helpful bestie energy.-i,-infoβ Display useful information concerning the defaults and compiled-in options. Info dump, but make it cute.-log logfileβ Starting fluxbox with this option will designate a file in which you want to log events to. Logs? For the girlies who debug.-no-slitβ Do not use the container for DockApps (aka the Slit). No slit, no problem.-no-toolbarβ Do not use the toolbar. Toolbar off, minimalist era.-rc rcfileβ Use a different config file other than the default~/.fluxbox/init. Custom rc? We love a personalized config.-v,-versionβ The version of fluxbox installed. Version check, bestie.-screen all|scr,scr...β Run on specified screens only or all (by default). Pick your screens.-verboseβ Print more information in process. Verbose mode: she talks a lot, we listen.-syncβ Synchronize with the X server for debugging. Debugging sync, periodt.-list-commandsβ Lists all available internal commands. Command list? Obsessed.
π STARTING FLUXBOX π
fluxbox(1) comes with a program called startfluxbox(1) usually located wherever you installed fluxbox. This script provides you with many options and variables that can be set when starting fluxbox. To actually call fluxbox and begin using it, you should place exec startfluxbox in your ~/.xinitrc as the last executed command. This is assuming that the location of fluxbox(1) and startfluxbox(1) are in your shellβs $PATH. Also note that you may need to create the ~/.xinitrc file or your setup may use ~/.xsession instead, depending on your X setup. Some X login managers like gdm(1) or kdm(1) may simply provide a βFluxboxβ session for you without having to alter any settings. So many paths, but you got this.
By using fluxbox -i youβll see the defaults used by fluxbox(1). These are what fluxbox looks for upon startup. In the list of βDefaults:β youβll see a menu file location, this is where you can provide a system-wide menu file for your users. System-wide menu? Generous queen.
On exit or restart, fluxbox will save user defaults in the file ~/.fluxbox/init. Resources in this file can also be edited by hand, see the RESOURCES section for more details. fluxbox(1) also has many tools to edit these; look through the main menu once fluxbox has started to find different ways of managing your session. Hand editing? We love a config file.
π USING FLUXBOX π
Okay bestie, real talk: the very first time you fire up fluxbox, if you're coming from a full desktop environment like KDE or Gnome, you're gonna look at your screen and go "...that's it? π§". And yeah, it looks mad minimal. That's not a bug, that's the whole point β fluxbox is built to be fast and powerful, so it takes a hot second to get used to. But the rewards?? Immaculate. Worth every second. π«Ά
This section is your little crash course in the common stuff. But fr fr, please go read the referenced sections of this manual too, because that's where you actually level up your understanding of what fluxbox can do. β¨
πΈ Root Window (Main)
So you just started fluxbox and you're staring at your desktop. What do you see? Basically one thing: the toolbar. That's it. That's the vibe. π
- Right-click (mouse button 3) somewhere on the desktop β you get the Root Menu π
- Middle-click (mouse button 2) on the desktop β you get the Workspace Menu
π Root Menu and Workspace Menu
From the RootMenu you can launch applications and configure fluxbox. Iconic behavior honestly.
The WorkspaceMenu shows you all your windows and which workspaces they're chillin' on. Super handy when you've lost something.
Wanna customize these menus? Head over to the MENUS section, bestie. π
π Toolbar
The toolbar is a little combo platter β it can hold any combination of the following tools, and by default they show up in this exact order:
- Workspace Name: Name of the current visible workspace
- Workspace Arrows: Previous/Next Workspace
- Iconbar: List of windows managed by fluxbox
- Window Arrows: Previous/Next Application Window
- System Tray: Area for applets
- Clock: Date and Time
And yes, you can customize both the contents and the behavior of the toolbar. The TOOLBAR section has all the deets. π
π³οΈ Slit
Not me having to tell you this: you will not see the slit at first. π» It's there. It exists. It's just not being used yet, and that trips up literally everyone at the start.
Think of it as a dock where you can park smaller programs. If you've peeped any screenshots on the official fluxbox web site, you probably noticed little tiny programs sitting on the edge of the screen β yeah, those were almost definitely docked programs living in the slit. π
There's an entire SLIT section below that goes into detail about all your options, so go read that when you're ready.
π₯ Layers
fluxbox manages these layers, listed from highest to lowest:
- Above Dock
- Dock
- Top
- Normal
- Bottom
- Desktop
Windows on a higher layer will always appear above windows on a lower one. Periodt. β
These layers work on application windows, the slit, or the toolbar. You can assign applications to a certain layer by specifying it in the apps file or through the WindowMenu.
- We talk about the
appsfile influxbox-apps(5)π - We talk about the WindowMenu in the MENUS section
- We go deeper on layers in the LAYERS section
π― Focus Model
The window that has the focus is the one receiving key and mouse events β it's the main character of the moment, basically. π
You can pick your focus model via the Configuration menu inside the root menu. The different types of focus are discussed down in the FOCUS MODEL section.
πͺ Windows
Here's your window choreography, memorize it:
- Left-click (mouse button 1) on any part of the window's border β raises it. Drag it and you move the window to another part of the desktop. π
- Right click and drag on the border β resizes the window
- Dragging the resize grips at the left and right bottom corners β also resizes the window
- Middle clicking on a border or titlebar β immediately lowers the window
- Right clicking on the titlebar β opens the Window menu
The commands unique to that Window menu are discussed in detail in the Window Menu section. Go look. π¦
ποΈ Tabs
fluxbox lets windows get grouped β you do this by middle clicking and holding on a window's tab, then dragging it onto another window. This is called "tabbing" and it's lowkey genius: multiple applications in one location on the desktop, and then you can do several operations (like moving or resizing) to all the windows in the group at once. π₯
By default, tabs sit just above the window, but they can be embedded in the titlebar or moved to other locations on the outside of the window. Config details live in the TAB OPTIONS section.
You can also set up automatic grouping using the apps file β check out GROUP SECTIONS in fluxbox-apps(5) for the details. π
β¨οΈ Key Bindings
There are a bunch of key bindings set up by default, and you can configure and extend them to just about anything you can imagine with a keyboard. See fluxbox-keys(5) for how to do all that.
Here are the default bindings fluxbox sets up for you:
π±οΈ Mouse clicks on the empty desktop:
- Left-click (Button 1): hides all fluxbox menus
- Middle-click (Button 2): shows the Workspace Menu
- Right-click (Button 3): shows the Root Menu
- Scroll wheel (Buttons 4 and 5): jump to the previous/next workspace
π±οΈ Mouse gestures on a window:
ALT+Drag Left-click anywhere on a window moves the window.ALT+Drag Right-click anywhere on a window resizes the window.ALT+Middle-click anywhere on a window lowers the current window.
π±οΈ Mouse gestures on a window's titlebar:
CTRL+Drag Left-click on a window's titlebar lets you drag to attach the window to another's tab group- Double Left-click on a window's titlebar shades the window
- Middle-click on a window's titlebar lowers the window
- Right-click on a window's titlebar pops up the Window Menu
π±οΈ Mouse gestures on the toolbar:
- Scroll wheel on the toolbar cycles through windows
β¨οΈ Keyboard bindings:
ALT+Tab/ALT+Shift+Tab: Cycle through windowsWIN+Tab/WIN+Shift+Tab: Cycle through tabsWIN+1-WIN+9: Select the 1st β 9th tab in the current windowALT+F1: Runxterm(1)to open a new terminalALT+F2: Runfbrun(1)for a small "run program" dialogALT+F4: Close the current windowALT+F5: Kill the current window (likexkill(1))ALT+F9: Minimize (iconify) the current windowALT+F10: Maximize the current windowALT+F11: Full-screen the current windowALT+Space: Open the Window MenuCTRL+ALT+Del: Exit fluxbox (log out)CTRL+ALT+Left/CTRL+ALT+Right: Go to the previous/next workspaceWIN+Left/WIN+Right: Send the current window to the previous/next workspace, but remain on this workspaceCTRL+WIN+Left/CTRL+WIN+Right: Take the current window to the previous/next workspace, and switch to that workspaceCTRL+F1-CTRL+F12: Switch to the 1st β 12th workspaceWIN+F1-WIN+F12: Send the current window to a specific workspaceCTRL+WIN+F1-CTRL+WIN+F12: Take the current window to a specific workspace
π MENUS π
okay so fluxbox ships a whole popup menu situation, and it's what powers a few different flavors of native menus. it's giving "right-click to unlock the universe", fr fr π
When a menu is open, you can click on items with the mouse to activate them. Some special menu items act a lil different depending on which mouse button you hit β but bestie, most of the time you want a left-click (button 1). π±οΈ
You can also keyboard-navigate with the arrow keys, or even just start typing the first few letters of an item's label to select it, then hit "enter" to activate it. no cap, it's so fast. β¨οΈβ¨
Normally activating a menu item closes the menu β as it should, periodt. You can also right-click the title area of a menu, or press "esc", to close it without activating anything. π«Ά
π Root Menu π
The root menu is your main character moment β it's where you launch the apps you actually use and tweak all the different aspects of fluxbox just by clicking a menu item. By default it pops open with a right-click on the empty area of the desktop. π
You can configure what's inside this menu β the deets live in fluxbox-menu(5).
The default menu, which is created by the fluxbox-generate_menu command, contains menus for your installed applications, plus a special "Fluxbox menu" item stuffed with the items detailed below: π
β¨ Configure β¨
The next level under this menu is where you can set certain resources and really begin to customize the look and feel of your desktop. See the Configure Menu section below for more details. π¨
β¨ System Styles β¨
This is where the standard styles are listed. Click one and it applies immediately, slay. System styles live in /usr/local/share/fluxbox/styles/ on a default install. Remember you can confirm this with fluxbox -i. π
- User Styles β This is where your custom styles are listed. It'll list any styles from
~/.fluxbox/styles/, which might be styles you grabbed off the Internet, or your own custom styles β as long as you follow the standards described influxbox-style(5). π¦ - Workspace List β This is the same as the Workspace Menu detailed below. ποΈ
- Tools β Listed here are different tools you can use. You can rename your workspace, run programs from a command line, or regenerate your menu. π οΈ
β¨ Window Managers β¨
Lets you switch your window manager. (Only listed if you have other window managers / desktop environments installed.) πͺ
β¨ Lock Screen β¨
Locks the screen, if a suitable locking program has been detected. π
β¨ Fluxbox Command β¨
A little commandline will pop up where you can enter a fluxbox command. These commands are the same as the ones detailed in fluxbox-keys(5). β¨οΈ
β¨ Reload config β¨
Use this to reload the fluxbox configuration files. You must do this after editing the keys file, the init file, or the current style. π
β¨ Restart β¨
Restart the whole darn thing. This starts a completely new fluxbox process, rereads files and redraws all graphical elements. Running applications will stay open, though β and they get restored to the same workspaces they were in before, once fluxbox comes back. π₯
β¨ Exit β¨
Exits fluxbox, which in turn either shuts down the X Window server or drops you back to the graphical login screen. π
π Configuration Menu π
This menu is your glow-up headquarters β it's the opportunity to set up fluxbox. It's got a ton of options that you could change by hand in the init file, but this is the easier and faster way to change the most common settings.
All changes take effect immediately. β‘
β¨ Focus Model β¨
Lets you configure the window focus model. For details, see FOCUS MODEL, below. π
β¨ Maximize Options β¨
Lets you configure what happens when you maximize a window. The four options are:
- Full Maximization: Normally, a maximized window won't overlap the toolbar, slit, or any docked windows (like panels). Enabling this option lets maximized windows be as large as the actual screen resolution. π
- Ignore Resize Increment: Normally, terminal windows specify a "resize increment" which means
fluxboxwill only resize the window to an even multiple of the character size. Enabling this option ignores that spec when maximizing. π₯οΈ - Disable Moving / Disable Resizing: Normally, maximized windows can still be moved and resized. Enabling these options prevents that behaviour. π«
β¨ Tab Options β¨
Lets you configure the properties of tabs. Detailed in TAB OPTIONS, below. ποΈ
β¨ Slit β¨
This menu can also be found by right-clicking the slit (if it's visible). Find more info about this menu's options in the Slit Menu section, below. π―
β¨ Toolbar β¨
This menu can also be found by right-clicking any non-icon part of the toolbar. Find more info about this menu's options in the Toolbar Menu section, below. π§°
β¨ Transparency β¨
This sets the default transparency for a focused window, an unfocused window, and the menu. Use the left mouse button to decrease and the right mouse button to increase the value. 0 is invisible, 255 is not transparent at all. π«οΈ
The transparency of individual application windows can be overridden in the apps file (fluxbox-apps(5)).
The Force Pseudo Transparency option will force fluxbox to ignore the xcomposite extension and use pseudo-transparency instead of true transparency.
β οΈ Note: When pseudo-transparency is on, the transparency values here only affect titlebars, not window contents. heads up bestie!
β¨ Opaque Window Moving β¨
If enabled, you'll see the window content while dragging it. Otherwise only an outline of the window will be shown. πͺ
β¨ Workspace Warping β¨
If enabled, you can drag windows from one workspace to another. The previous workspace is to the left, the next workspace is to the right. β¬ οΈβ‘οΈ
πΈ Window Menu πΈ
The Window menu pops up when you right-click on the titlebar of a window.
To customize this menu, see the WINDOW MENU section of fluxbox-menu(5).
By default, this menu contains:
β¨ Shade β¨
Shade the window (display the titlebar only). π
β¨ Stick β¨
(Un)Stick window. A "stuck" window will always be displayed on all workspaces. π
β¨ Send To... β¨
Send window to another workspace. When you select the workspace with a middle click, fluxbox will send you along with the application to the selected workspace. βοΈ
β¨ Maximize β¨
(Un)Maximize window. Depending on your toolbar and slit configuration, maximize may cover them. You can use the different mouse buttons for different aspects of the maximize function.
- Button 1 (Un)Maximize as normal. 1οΈβ£
- Button 2 (Un)Maximize window vertically. 2οΈβ£
- Button 3 (Un)Maximize window horizontally. 3οΈβ£
β¨ Iconify β¨
Iconify (or minimize) a window. The "icon" can be found in the Icons submenu of the workspace menu, as well as in the toolbar (if a Toolbar mode showing Icons is selected). π½
β¨ Raise β¨
Raise the window above all others in the same layer. β¬οΈ
β¨ Lower β¨
Lower the window below all others in the same layer. β¬οΈ
β¨ Layer... β¨
Change the layer of this window. See LAYERS for more details. π§±
β¨ Transparency β¨
Change this window's transparency, overriding the defaults from the Configuration Menu. π«οΈ
β¨ Remember... β¨
Specify which window settings should be stored in the apps file and resumed the next time this window is opened.
Specifically, the settings you may store are:
Workpace: Open this in the same workspace as where the window currently resides. ποΈ- Jump to workspace: When Workspace is selected,
fluxboxwill jump to the appropriate workspace when this window is opened there. If not selected, the window will open in the background. πββοΈ - Head: For xinerama users only β start this window on the current head (or screen). π₯οΈ
- Dimensions: Record the current window height and width. π
- Position: Record the current X and Y coordinates of the window. π
- Sticky: Record whether the window is on all desktops, or not. π
- Decorations: Record the current set of decorations (title bar, grips, tabs, etc) on the window. π
- Shaded: Record whether the window is shaded (or rolled-up) or not. π
- Minimized: Record whether the window is iconified (or minimized) or not. π½
- Maximized: Record whether the window is maximized or not. πΌ
- Fullscreen: Record whether the window is in fullscreen mode or not. πΌοΈ
- Transparency: Record the current Transparency settings. π«οΈ
- Layer: Record the current layer. π§±
- Save on close: If selected, any of the above items which are also selected will be updated with the window's current values as it is closed. πΎ
All of this is covered in more detail in fluxbox-apps(5). π
β¨ Close β¨
Close the application softly. π«Ά
β¨ Kill β¨
Kill the window's parent process, like xkill(1). π
π¦ Workspace Menu π¦
The workspace menu can be found, by default, by middle-clicking on the background. This menu contains entries to explore the currently defined workspaces and windows, and to add/remove/rename workspaces. πΊοΈ
β¨ Icons β¨
This menu shows any iconified (or, minimized) windows. Clicking on a window in this menu will raise it on the current workspace. π½
β¨ Workspaces β¨
The next section provides one submenu per workspace. Middle-clicking on a workspace name will take you to that workspace. The submenu contains a list of all open windows on that workspace. Clicking on a window name will take you to that window and raise it, changing the active workspace if necessary. πͺ
β¨ New Workspace β¨
This entry adds a new workspace to the end of the list of current workspaces. β
β¨ Edit current workspace name β¨
Pops up a dialog to enter a new name for the current workspace. βοΈ
β¨ Remove Last β¨
Remove the last workspace in the list. Any windows currently open there will be sent to the next-to-last workspace. β
β¨ TOOLBAR β¨
okay bestie so the toolbar is this lil strip that shows u info β think a clock, ur workspace name, a system tray, or a taskbar (aka the iconbar) that can hold all ur running programs. the color, the look, the font, all of that? that's defined in the STYLE. π
u can turn the toolbar tools on and off in the init file using the session.screen0.toolbar.tools resource. wanna know the deets on changing that value? the RESOURCES section has u covered.
the possible tools are, and yes this is the whole list:
- Clock β shows a lil area for the clock and the date, formatted per the spec in
man strtftime. β° - Iconbar β the area that holds all windows (all running apps, all minimized windows, or maybe no window at all β it fully depends on ur Toolbar Settings).
- Systemtray β can hold applications that are built to use it. π«Ά
- WorkspaceName β shows the name of the current workspace. also, left click = switch to the workspace to the left of the current one, right click = switch to the workspace to the right. no cap.
- PrevWorkspace β a lil arrow that lets u switch to the workspace left of the current one.
- NextWorkspace β a lil arrow that lets u switch to the workspace right of the current one.
- PrevWindow β an arrow that switches focus to the previous visible window on the current workspace.
- NextWindow β an arrow that switches focus to the next visible window on the current workspace.
other aspects of the toolbar can be configured two ways: through the toolbar menu (accessible in the Configuration part of the RootMenu, or with a middle click on the edge the toolbar), or by editing the init file (peep the RESOURCES section for more on that).
π Toolbar Menu
this menu opens by right-clicking on the toolbar (tho NOT on a window's name in the iconbar), or from the Configuration Menu.
all changes take effect immediately. like, instantly instantly.
here's the settings:
- Visible β sets the toolbar to either visible or invisible. iconic either way.
- Auto hide β if this is on, the toolbar dips out after a defined time once the mouse pointer leaves it. it slides back in when the cursor hits the remaining edge of the toolbar. the delay time? that's the
session.autoRaiseDelayresource. π¦ - Toolbar width percentage β sets the toolbar width as a percentage of ur total screen size. left mouse button to decrease, right mouse button to increase. value can be from 1-100.
- Maximize Over β turning this on lets windows maximize over the toolbar. with it switched on, they'll only expand to the edge of the bar. heads up tho: this option may be overridden by the "Full Maximization" from the Configuration Menu β if that option is enabled, this one has no effect.
- Layer... β sets the layer the toolbar sits on. with this u can set the toolbar to "Always on top". π
- Placement β sets the toolbar to any edge of the screen, either centered or aligned with a corner.
- Alpha β sets the alpha value for the toolbar. left mouse button to decrease, right mouse button to increase.
0is invisible,255is not transparent at all. - Iconbar Mode β specifies various modes of the iconbar's operation. okay so this one has layers, stay with me:
the first section outlines what types of windows get shown in the iconbar:
- None: β will not show any windows
- Icons: β shows windows from all workspaces that are iconified (or, minimized)
- NoIcons: β shows windows from all workspaces that are not iconified
- WorkspaceIcons: β shows windows from the current workspace that are iconified
- WorkspaceNoIcons: β shows windows from the current workspace that are not iconified
- Workspace: β shows all windows (iconified or not) from the current workspace
- All Windows: β shows all windows (iconified or not) from all workspaces
the next section specifies the alignment of the window names shown in the iconbar. the width is specified via the session.screen0.iconbar.iconWidth resource:
- Left: β all icons left-aligned with the width set in the
initfile - Relative: β all icons sized evenly to fill the iconbar completely
- Right: β all icons right-aligned with the width set in the
initfile
and the last option in this submenu is:
- Show Pictures: β if enabled, the iconbar shows the application's icon (if provided by the application) πΈ
- Clock β lets u switch between the
00:00am - 11:59pmand00:00 - 23:59notation. - Edit Clock Format β clicking this entry pops up a dialog window where u can set the clock format per
man strftime(orman date). β¨
π¦ FOCUS MODEL π¦
the Focus Model defines how windows gain focus β meaning how they become the active window, the one that receives keyboard and mouse events. u can change the focus model in the configuration menu (usually located under fluxbox menu in the Root Menu).
there are two main aspects of the focus model: how windows gain focus, and how tabs gain focus. each of these has two options: focus follows mouse and click to focus. focus follows mouse means windows gain focus when the mouse hovers over them. click to focus means windows gain focus when the mouse clicks on them.
so bestie, that's four main options when picking a focus model. u should choose one of the first two and one of the last two. they are:
- Click To Focus β click to focus windows.
- Mouse Focus β window focus follows mouse.
- ClickTabFocus β click to focus tabs.
- MouseTabFocus β tab focus follows mouse.
there are three more settings in the "Focus Model" menu:
- Focus New Windows β if enabled, a new window grabs X focus as soon as it's opened.
- Auto Raise β if enabled, focusing on a new window automatically raises that window above all others within its layer. when disabled, u have to explicitly raise a focused window using the window menu, keybinding, or Click Raises.
- Click Raises β if enabled, clicking anywhere on a window raises it above all others within its layer.
π TAB OPTIONS π
this section of the fluxbox configuration menu lets u configure a bunch of tab features. inside it there are three main options:
- Placement β u can choose where the external tabs get positioned relative to the window. for these options to work, Tabs in Titlebar must be off.
- Tabs in Titlebar β when this is on, tabs are fixed in the window titlebar and the width varies according to the amount of windows grouped.
- Maximize Over β when this is on, maximizing a window disregards the size and location of external tabs, which means they may get pushed out of the screen entirely. π
- External Tab Width β specifies in pixels the width of external tabs.
π STYLES π
fluxbox lets u use specialized files containing X(1) resources to specify colors, textures, pixmaps and fonts β and thus the whole overall look of ur window borders, menus and the toolbar. the vibe, basically.
the default installation of fluxbox provides some of these style files. peep fluxbox-style(5) to accommodate the growing number of style components.
β¨ Style Overlay
on top of the style file, there's the overlay file, whose location is specified by session.screen0.styleOverlay (default: ~/.fluxbox/overlay). u can use it to set style resources that override all styles. for more info about which parts of fluxbox can be controlled by the overlay file, see fluxbox-style(5). π«Ά
π«§ THE SLIT π«§
Okay bestie, the slit is a special fluxbox window frame that can hold dockable apps β think "bbtools" or "window maker dockapps". It's the little shelf where your tiny app friends live. π§
When apps run in the slit they have no window borders of their own β instead they get framed in the slit, and they're always visible in the current workspace. Every workspace, all the time, no hiding. π
Most dockable apps use the -w option to run in the slit. Like, for example, you could put this in your ~/.fluxbox/startup:
bbmail -w &
bbpager -w &
wmdrawer &
exec fluxbox
Heads up babes: to use the slit you must have it compiled into fluxbox. Luckily that's the default setting, so you're probably fine. π
Slit Menu
You can open this menu by right-clicking on the slit (but not on an app running inside the slit, okay? just the slit itself), or you can get to it from the Configuration Menu.
All changes take effect immediately. No reload, no drama. Here's what's in there:
- Placement β this lets you set the position of the slit. Slide it wherever you want it to live. π¦
- Layer β see LAYERS for details on the layer order.
- Auto hide β if this is enabled the slit will β¨disappearβ¨ after a defined time once the mouse pointer leaves it. Then it slides back in when your cursor hits the remaining edge of the slit. The delay time comes from the
session.autoRaiseDelayresource. Peekaboo energy. - Maximize Over β turn this on and windows can maximize over the slit. Leave it off and they'll only expand up to the edge of the slit, so the slit keeps its little territory. > Careful though: this option may be overridden by the "Full Maximization" setting from the Configuration Menu. If that one is enabled, this option has no effect at all.
- Alpha β sets the alpha value for the slit. Left mouse button decreases, right mouse button increases.
0is invisible,255is not transparent at all. Play with it, it's fun. π - Clients β this submenu lets you reorder the apps running in the slit. You can hide apps from the slit by unselecting them in the list showing β and no, this will not kill the app, it just ghosts them. π You can make them re-appear by selecting them in the list again. The
"Save SlitList"option saves the new order to your slitlist located in~/.fluxbox/slitlist. See the next section for the deets. πΎ
Slitlist File
fluxbox's slitlist file is there for everyone using dockapps in the slit. It helps fluxbox keep track of the order of the dockapps in the slit. It generally lives at ~/.fluxbox/slitlist. π
A simple procedure for getting the slit sequence exactly how you like it:
- Run fluxbox with no pre-loaded dockapps
- Run dockapps individually in the order you want them
- Add dockapps to your
startfluxbox(1)script
This sequence gets saved by default to ~/.fluxbox/slitlist and will be remembered for future instances of fluxbox. It remembers. It always remembers. π§ β¨
You're totally free to manually edit the slitlist file β it's just a simple list of window names, as given by xprop(1), one per dockapp. But similar to the init file, it should not be edited while fluxbox is running. Otherwise your changes may get overwritten and you'll be sad. π
You can also choose a different path for the slitlist file by setting the session.session0.slitlistFile resource. Your file, your rules. π
π LAYERS π
Layers affect the way windows overlap each other on screen. A window on a higher layer will always appear above windows on a lower one β doesn't matter if it's focused or not. Fluxbox uses 13 layers, starting from 1 (highest). Yes, thirteen. It's giving stacked.
There are two ways to assign a window to a different layer:
- When the window is open, you can pick the layer from the 'Layer ...' submenu of the window menu. That menu gives six choices for the layer, and fluxbox manages them by name. The names are, from highest to lowest layer:
2 - Above Dock4 - Dock6 - Top8 - Normal10 - Bottom12 - Desktop
- The other way is through the 'apps' file. That method is described in
fluxbox-apps(5).
π RESOURCES π
Usually the ~/.fluxbox/init resource file is created and maintained by fluxbox itself. You can use the Configure Menu (mentioned above, bestie) to set most of these options. But we're gonna cover all the resource options available to you. π
If you edit this file while fluxbox is running, you must "reconfigure" to reload the resource options. No reconfigure, no new vibes.
When running fluxbox in a multiple-screen environment, the screen0 key can also be screen1, screen2, to customize the behavior of fluxbox on each desktop accordingly. Here are the resources currently available:
session.screen0.window.{focus|unfocus}.alpha: integer β these resources let you set different levels of transparency for different components of fluxbox. Each one accepts a value between0-255, where255is opaque and0is completely transparent. Default:255session.screen0.{slit|toolbar}.autoHide: boolean β the autoHide resources let you set the behavior of the toolbar and slit. The behavior can be that they disappear when they're not being actively used, or that they remain visible at all times. Default:Falsesession.screen0.{slit|toolbar}.layer: layer β with these two resources you set the layer you want the toolbar and slit to appear on. Please read the LAYER section for more info. Default:Docksession.screen0.{slit|toolbar}.placement: placement β these let you place the slit and toolbar wherever you like. Possible options are:
BottomLeft BottomCenter BottomRight LeftBottom LeftCenter
LeftTop RightBottom RightCenter RightTop TopLeft TopCenter
TopRight
Slit default: RightBottom Toolbar default: BottomCenter
session.screen0.{slit|toolbar|tabs}.maxOver: boolean β set these toTrueand application windows can maximize over the complete screen. Set toFalseand the slit, toolbar, and external tabs hold their territory and stay visible even when an app is maximized. Default:Falsesession.screen0.toolbar.height: integer β sets the height of the toolbar. If the value is0, the style file gains control over the toolbar height. You can set a fixed height by changing this value to something greater than0. Default:0session.screen0.toolbar.visible: boolean β you can set whether you want a toolbar on screen at all. Set toFalseand the toolbar is removed from the screen entirely. Gone. Poof. π¨ Default:Truesession.screen0.toolbar.widthPercent: integer β sets the width percentage of the toolbar on the screen. Default:100session.screen0.toolbar.tools: tools β specifies the tools plugged into the toolbar. Read the TOOLBAR section in this manual for a description of each one. They can be specified in any order, delimited by the,character, and they'll appear in the order given. Possible tools:
clock iconbar nextwindow prevwindow nextworkspace prevworkspace
systemtray workspacename
Default:
workspacename, prevworkspace, nextworkspace, iconbar,
prevwindow, nextwindow, systemtray, clock
session.screen0.{slit|toolbar}.onhead: integer β for the xinerama girlies: set this value to the number of the head where you'd like to see the slit and toolbar, starting from1. Setting it to0will ignore xinerama information. Default:0for slit,1for toolbarsession.screen0.iconbar.mode: pattern β determines which windows will be displayed in the iconbar. Any window pattern is acceptable. See the section CLIENT PATTERNS in eitherfluxbox-keys(5)orfluxbox-apps(5)for details. Default:{static groups} (workspace)session.screen0.iconbar.usePixmap: boolean β this is also set in the Iconbar Mode menu. WhenTrue, it shows the native icon of applications. Default:Truesession.screen0.iconbar.iconTextPadding: integer β specifies the space between the window title and the edge of the button. Default:10session.screen0.iconbar.alignment: position β this value should be changed in the Iconbar Mode menu. Available options:Left: Fixed width, aligned leftRelative: Width varies to fill the iconbarRight: Fixed width, aligned right Default:Relative
session.screen0.iconbar.iconWidth: integer β used to specify the iconbar button width forLeft/Rightalignment. Default:128session.screen0.strftimeFormat: date β adjusts the way the current time is displayed in the toolbar. Uses thestrftime(3)format. Default:%k:%Msession.screen0.tabs.intitlebar: boolean β specifies whether tabs should be embedded in the titlebar or placed outside the window. Default:Truesession.screen0.tab.placement: placement β specifies where external tabs appear on the window. It has the same possible values assesion.screen0.{slit|toolbar}.placement. Default:TopLeftsession.screen0.tab.width: integer β specifies the width of external tabs in pixels. Default:64session.screen0.focusModel:ClickToFocus|MouseFocus|StrictMouseFocusβ controls how windows gain focus via the mouse. WithClickToFocus, you must click on the window. WithMouseFocus, windows gain focus whenever the mouse moves over them, but only when the mouse is moving. WithStrictMouseFocus, windows gain focus whenever the mouse enters any exposed area β even if that's due to layer changes, window movement, changing desktops, closing windows, etc. Default:ClickToFocussession.screen0.autoRaise: boolean β whenTrue, this automatically raises any window that gains focus. Default:Truesession.autoRaiseDelay: integer β adjusts the delay (in milli-sec) before focused windows will raise when using the Autoraise option. Default:250session.screen0.clickRaises: boolean β lets you click anywhere on a window to bring it on top of other windows. Otherwise, only the titlebar will work. Default:Truesession.screen0.workspacewarping: boolean β lets you change workspaces by dragging a window across the edge of the screen. Iconic behavior, honestly. β¨ Default:Truesession.screen0.showwindowposition: boolean β setting this toTrueshows you, in a little window, the exact position of the application window while you're dragging it. Perfect for precise window placement on a screen. π―
Default: False
session.screen0.defaultDeco(string) β This specifies the default window decorations, according to the same options available to the[Deco]option in the βappsβ file, described influxbox-apps(5). Default:NORMALsession.screen0.menuDelay(integer) β This sets the delay in milliseconds for submenus to open when you hover over them or to close when you hover over another item. Default:200session.screen0.focusNewWindows(boolean) β This sets whether or not new windows will become focused automatically. Default:Truesession.screen0.workspaceNames(names) β Here is where the user can name their workspaces, in a comma-delimited list. However it is recommended to use the tool available in the Workspace Menu to set these. Default:Workspace 1, Workspace 2, Workspace 3, Workspace 4session.screen0.edgeSnapThreshold(integer) β When moving a window across your screen, fluxbox is able to have it βsnapβ to the edges of the screen and other windows for easy placement. This variable tells fluxbox the distance (in pixels) at which the window will jump to the edge. Default:10session.screen0.windowPlacement(strategy) β This resource specifies where to place new windows when not otherwise specified (by the program or the βappsβ file, for example).
Available strategies:
RowSmartPlacement: tries to place windows in rows without overlappingColSmartPlacement: tries to place windows in columns without overlappingCascadePlacement: places windows below the titlebar of the previous oneUnderMousePlacement: places new windows underneath the mouse
Default: RowSmartPlacement
session.screen0.rowPlacementDirection(LeftToRight|RightToLeft) β These settings control the direction in which windows are tiled using theRowSmartPlacementandColSmartPlacementstrategies described above. Default:LeftToRightsession.screen0.colPlacementDirection(TopToBottom|BottomToTop) β These settings control the direction in which windows are tiled using theRowSmartPlacementandColSmartPlacementstrategies described above. Default:TopToBottomsession.screen0.fullMaximization(boolean) β If this setting is enabled, windows will maximize over the toolbar, slit, and any other window that creates a strut, no matter what their individual settings are. Default:Falsesession.screen0.opaqueMove(boolean) β When moving a window, setting this to True will draw the window contents as it moves (this is nasty on slow systems). If False, it will only draw an outline of the window border. Default:Truesession.screen0.workspaces(integer) β Set this to the number of workspaces the users wants. Default:4session.cacheLife(minutes) β This tells fluxbox how long unused pixmaps may stay in the X serverβs memory. Default:5session.cacheMax(KbSize) β This tells fluxbox how much memory it may use to store cached pixmaps on the X server. If your machine runs short of memory, you may lower this value. Default:200session.colorsPerChannel(integer) β This tells fluxbox how many colors to take from the X server on pseudo-color displays. A channel would be red, green, or blue. fluxbox will allocate this variable ^ 3 and make them always available. Value must be between 2-6. When you run fluxbox on an 8bpp display, you must set this resource to 4. Default:4session.doubleClickInterval(integer) β Adjust the delay in milliseconds between mouse clicks for fluxbox to consider a double click. Default:250session.forcePseudoTransparency(boolean) β If you have Xorgβs composite extension enabled, this setting will force the menu, windows, toolbar, and slit to use pseudo-transparency instead of true transparency. Default:Falsesession.ignoreBorder(boolean) β This configures the ability to move windows by dragging the border. Default:Falsesession.tabPadding(integer) β This specifies the spacing between tabs. Default:0session.tabsAttachArea(Window|Titlebar) β With this set to βWindowβ, windows may be grouped by dragging one tab with the middle mouse button and dropping it anywhere on another window. With βTitlebarβ, the user must drop the tab on the target windowβs titlebar. Default:Windowsession.titlebar.{left|right}(buttons) β The buttons or icons to place in the titlebar of decorated windows. You may specify any number, space-delimited.
The available options are: Close Maximize MenuIcon Minimize Shade Stick LHalf RHalf
Default left: Stick
Default right: Shade Minimize Maximize Close
LHalf and RHalf are buttons to quickly place a window into the left and right half of the current monitor.
All of the location resources following require a pathname to their specific files. This is where you can specify different files. Most of the defaults will be located in the userβs ~/.fluxbox directory.
session.appsFile(location) β Location of persistent application settings, or the βappsβ file. See the Remember... item in the Window Menu section above orfluxbox-apps(5)for details.session.groupFile(location) β Deprecated, auto-grouping is now done in the βappsβ file, seefluxbox-apps(5)for details.session.keyFile(location) β Location of the keyboard mapping settings, or the βkeysβ file. Seefluxbox-keys(5)for details.session.menuFile(location) β Location of the Root Menu file. Seefluxbox-menu(5)for details.session.slitlistFile(location) β Location of the file used to remember slit client ordering. See SLIT above for details.session.styleFile(location) β Location of the currently selected style. Seefluxbox-style(5)for details.session.styleOverlay(location) β Location of the style overlay file. Seefluxbox-style(5)for details.session.screen0.windowMenu(location) β This optionally specifies the location of a user-defined window menu. If left blank, it will use~/.fluxbox/windowmenu. Default:blanksession.menuSearch(nowhere|itemstart|somewhere) β This setting controls the way the menu search feature works.
Available options:
nowhere: disables the menu searchitemstart: typed text matches at the start of a menu itemssomewhere: typed text matches somewhere in a menu item
Default: itemstart (and yeah, the original had a little + there, we don't ask questions π
)
πΈ ENVIRONMENT πΈ
Okay bestie, fluxbox reads some env vars before it even starts, so listen up.
HOME
fluxbox uses $HOME to find the .fluxbox/init file and to resolve style file and -directory names.
DISPLAY
When no other display was given on the command line, fluxbox will start on the display specified by this variable.
fluxbox can also take advantage of other environment variables if they are set before fluxbox is started. For example, if $TERM is set, then it will be available whenever fluxbox uses the shell, such as the βkeysβ file ExecCommand or the root menuβs [exec] tag. See fluxbox-keys(5) and fluxbox-menu(5) for details.
The βkeysβ file also provides two commands that can alter the current environment of fluxbox: SetEnv and Export. Any changes made by these commands will also affect the environment as seen by fluxbox and all child processes started after that point. See fluxbox-keys(5) for details.
For more information about environment variables in general, see your shellβs manual.
π¨ SIGNALS π¨
fluxbox responds to the following signals:
SIGUSR1β restarts fluxbox.SIGUSR2β Forces reloading of configuration.
π AUTHORS π
fluxbox is written and maintained by Henrik Kinnunen <fluxgen at fluxbox org>, Simon Bowden <rathnor at fluxbox org>, Mathias Gumz <akira at fluxbox org>, and Mark Tiefenbruck <mark at fluxbox org>, with contributions and patches merged from many individuals around the world.
Blackbox was written and maintained by Brad Hughes <blackbox at alug org> and Jeff Raven <jraven at psu edu>.
This manpage is the combined work of:
- Jim Ramsay
<i.am at jimramsay com>(>fluxbox-1.0.0) - Curt Micol
<asenchi at asenchi com>(>fluxbox-0.9.11) - Tobias Klausmann
<klausman at users sourceforge net>(β¨fluxbox-0.9.11) - Grubert
<grubert at users sourceforge net>(fluxbox) - Matthew Hawkins
<matt at mh dropbear id au>(blackbox) - Wilbert Berendsen
<wbsoft at xs4all nl>(blackbox) - Numerous other languages could be available if someone jumps in.
π ONLINE DOCUMENTATION π
- The Official fluxbox website:
http://www.fluxbox.org - The Official fluxbox wiki:
http://www.fluxbox-wiki.org - Many compatible themes:
http://tenr.de
π BUGS π
If you find any bugs, please visit the #fluxbox irc channel on irc.freenode.net or submit them to the bug tracker at http://sf.net/projects/fluxbox . Or you may subscribe to one of the mailinglists. More information can be found on the official website.
π SEE ALSO π
fluxbox-apps(5) fluxbox-keys(5) fluxbox-style(5) fluxbox-menu(5) fluxbox-remote(1) fbsetroot(1) fbsetbg(1) fbrun(1) startfluxbox(1)
π AUTHOR π
Henrik Kinnunen <fluxgen@fluxbox.org> β Author.
πβ¨ That's the whole page, bestie! Source: fluxbox.txt, date: 08 February 2015, page: FLUXBOX(1). You ate that. Periodt. β¨π
π¦ where this page comes from
- debian trixie: fluxbox 1.3.7-1+b1 Β· MIT
- ubuntu noble: fluxbox 1.3.7-1build2 Β· MIT
- ubuntu questing: fluxbox 1.3.7-1build2
- ubuntu resolute: fluxbox 1.3.7-1build3 Β· MIT
- ubuntu stonking: fluxbox 1.3.7-1build3 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms