GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SDORFEHS(1) FreeBSD General Commands Manual SDORFEHS(1)

sdorfehs
window manager without mouse dependency

sdorfehs [-hv]

sdorfehs [-d dpy] [-s num] [-f file]

sdorfehs [-d dpy] [-s num] [-i] -c command [-c command ...]

sdorfehs is a window manager without fat library dependencies, fancy graphics or dependence on a mouse.

The screen can be split into non-overlapping frames. All windows are kept maximized inside their frames.

All interaction with the window manager is done through keystrokes. sdorfehs has a prefix map to minimize key clobbering.

The options are as follows:

command
Send sdorfehs a command. There must be a sdorfehs instance running as window manager for the given display/screen for this to work. Do not forget to quote the command if it contains spaces. For example:

sdorfehs -cecho hello world
display
Set the X display to use or send commands to.
filename
Specify an alternate configuration file. If this is not given, sdorfehs will try $HOME/.config/sdorfehs/config and execute each command when starting up.
Show summary of options.
Execute commands given with -c in interactive mode. That means it will behave exactly as if called with C-a : like prompting for missing arguments and things like that.
number
Only use the specified screen.

To avoid conflicts with other programs, all default sdorfehs key bindings start with an escape key which, by default, is C-a (Control-a). Some important default key bindings:
Show key bindings
Send a Control-a to the current window
Start an X terminal
Switch to next window
Switch to previous window
| | | | | | | | |
Switch to window number 0 | 1 | 2 | ...
Close the current window
XKill the current application
|
Split the current frame into two vertical | horizontal ones
| | | |
Switch to the next | left | top | right | bottom frame.
Make the current frame the only one
Execute a sdorfehs command
| | | | | | | | | | |
Switch to vscreen number 0 | 1 | 2 | ...

Further default key bindings can be found in parentheses after the commands in the next section.

(C-a C-g) Do nothing and that successfully. (Useful if you pressed C-a in error).
event command
Add a hook: run command whenever event is called. Possible events are:
Run after a window is withdrawn.
Run after a new window is mapped.
Run whenever a top level key is pressed (by default C-a).
Run before exiting sdorfehs.
Run before restarting sdorfehs.
Run after a frame actually switched, but before the window in it is focused.
Run when the user switches to a different screen.
Run after a new window is selected. (With dedication, it may already be inactive again, if it was put into another frame)
alias command
Add alias as new way to call command.
key command
alias for “definekey root key command
(C-a b) Banish the rat cursor to the lower right corner of the screen.
Banish the rat cursor to the lower right corner of the current window. If there isn't a window in the current frame, it banishes the rat cursor to the lower right corner of the frame.
[directory]
If the optional argument is given, change the current directory of sdorfehs to directory. If nothing is given, change it to the value of the environment variable “HOME”.
Clears the unmanaged window list.
Like next but switch to the next window with another resource class than the current one. (That means the next window belonging to another type of application than the current one.)
Like prev but switch to the previous window with another resource class than the current one. (That means the previous window belonging to another type of application than the current one.)
sdorfehs-command (C-a :)
Execute sdorfehs-command interactively. (i.e. ask for possible missing arguments.)
Like other but switch to the window of the current vscreen that was last accessed and has another resource class but is not currently visible.
(C-a F)
Show a bar marking the current frame.
keymap key command
Add a new key binding in keymap for key to execute command. Default keymaps are top normally only containing C-a, which reads a key from root, containing all the normal commands.

Note that you have to describe ":" by "colon", "!" by "exclam" and so on. If you cannot guess a name of a key, try either C-a key and look at the error message, or try :describekey root and pressing the key.

[0 | 1]
Consider the current frame dedicated/chaste (1) or promiscuous (0).

A dedicated frame will not accept new windows. When new windows are to be focused, they will be opened in a non-dedicated frame instead.

If no argument is given, toggle the current dedicateness. By default no windows are dedicated.

(C-a k)
Close the current window.
keymap
Deletes the keymap named keymap, that was generated with newkmap. The keymaps top (or whatever was specified by set topkmap) and root cannot be deleted.
keymap
Grab the next key. Similar to readkey, describekey shows only the command in keymap, that would be executed by readkey.
text
Show text as sdorfehs message.
key
Update the default escape key to key.

Strictly speaking it updates the readkey root command in the keymap top to key, the other binding in root to key, and meta binding in root to key without modifiers or C-key if key has no modifiers. (If set topkmap was called with an argument other than top that will be used instead of top.)

(C-a C-Down)
Exchange the window in the current frame with the window in the frame below the current frame.
(C-a C-Left)
Exchange the window in the current frame with the window in the frame left of the current frame.
(C-a C-Right)
Exchange the window in the current frame with the window in the frame right of the current frame.
(C-a C-Up)
Exchange the window in the current frame with the window in the frame above the current frame.
shell-command (C-a !)
Spawn a shell executing shell-command.
shell-command
Spawn a shell executing shell-command, without remembering the current frame, so that _NET_WM_PID declaring programs will be placed into the frame active when they open a window instead of the frame active when sdorfehs gets this command.
frame shell-command
Spawn a shell executing shell-command, showing _NET_WM_PID supporting programs in the given frame instead of the frame selected when this program is run.
[screenno]
Output the defining data for all frames of the current screen, or for screen number screenno if this is specified.
(C-a Tab)
Focus the next frame.
Switch to the last selected focus.
(C-a Left)
Switch to the frame to the left of the current one.
(C-a Down)
Switch to the frame beneath the current one.
(C-a Right)
Switch to the frame to the right of the current one.
Focus the previous frame.
(C-a Up)
Switch to the frame above the current one.
frames
Replace the current frames with the ones specified in frames in the format as generated by fdump.
[frameno] (C-a f)
If an argument is supplied, switch to a frame given by number frameno.

If no argument is given, show a frame selector in each frame and wait for a key to be pressed. If the key matches an existing frame selector, this frame gets focused.

Frame selectors are by default the numbers starting with zero, but they can be changed by setting framesels.

variable
Output the value of the environment variable variable.
Paste the current X Selection into the current window.
[nw | w | sw | n | c | s | ne | e | se]
Change how in its frame the current window is aligned.
[keymap]
If the optional parameter keymap is given, list all keybindings in this keymap, otherwise list all key bindings in keymap root.
[l/p | [-]pixels] (C-a S)
Split the current frame into left frame and a right frame. If no parameter is given, split in halves. If two numbers separated by a slash (‘/’) are given, the left one is l times the pth part and the right one (p - l) times the pth part of the prior width. Otherwise the right half is pixels wide or the left one is pixels wide, depending whether there is ‘-’ in front of the number or not.
Like next but switch to the next window with the same resource class as the current one. (That means the next window belonging to the same application as the current one.)
(C-a i)
Output the current the width, height, window number and window name of the current window. (What name means is chosen by “set winname”.)
Like prev but switch to the previous window with the same resource class as the current one. (That means the previous window belonging to the same application as the current one.)
Like other but switch to the window of the current vscreen that was last accessed and has the same resource class but is not currently visible.
(C-a K)
Close the X-connection of the X-client responsible for the current window.
(C-a m)
Reshow the last message.
key [keymap]
Do what key is bound to in the keymap keymap if supplied. Otherwise what key is bound to in keymap root.
event
List all commands specified with addhook to be executed when even event occurs.
[key] (C-a t)
Send the escape key (that which normally is C-a) to the current window. If a key is specified, this is sent instead. Note that some applications by default ignore the synthetic key that is sent using this command as it is considered a security hole. xterm is one such application.
keymap
Generate a new keymap named keymap. This keymap can be used to add new key-command mappings to it with definekey and can be called with readkey.
(C-a Return | C-a n | C-a space)
Switch to the next window in the current vscreen.
(C-a N)
Switch to the next screen. (If you have multiple physical ones.)
new [old]
Give the number new to the window with the number old or the current window.
(C-a Q)
Remove all frames on the current screen except the current frame and maximize this one to the size of the whole screen.
(C-a C-a)
Switch to the window of the current vscreen that was last accessed but is not currently visible.
(C-a p)
Switch to the previous window in the current vscreen.
(C-a P)
Switch to the previous screen. (If you have multiple physical ones.)
[prompt]
sdorfehs will ask the user for input, showing prompt (or a single colon, if no argument is given) and output the input the user has made. Note that this command probably does not make much sense in interactive mode.
x-selection
Replace the X selection with the text x-selection. It can be inserted into the current window with getsel.
Quit sdorfehs.
Display the x y coordinates of the rat cursor relative to the screen.
Display the x y coordinates of the rat cursor relative to the current window or current frame if no window is focused
x y
Move the rat cursor to the position (x, y).
deltax deltay
Move the rat cursor to (deltax, deltay), relative to the current position.
[button]
Simulate a rat click with button (button 1=left button if none given).
(up | ) [button]
Simulate pressing|releasing rat button button (1=left button if none given).
keymap
Grab the next key pressed, and execute the command associated to this key in keymap. To show it is waiting for a key, sdorfehs will change the rat cursor to a square if waitcursor is set. This command is perhaps best described with its usage in the default configuration: by pressing C-a, which is the only key in the keymap top , the command “readkey root” is executed. The next key then executes the command in keymap root belonging to this command.
(C-a l)
Extend the current window to the whole size of its current frame and redisplay it. (Useful to redisplay normal windows or bring transient windows to the full size of the frame as only normal windows are maximized by sdorfehs)
(C-a U)
Revert the last undo of frame changes.
event command
Remove command command from the list of commands to be called when event event is hit. (The command has to specified, as an event can have multiple commands attached to it.) Use “listhook hook” to get a list of all attached commands.
(C-a R)
Remove the current frame and extend some frames around to fill the remaining gap.
[deltax deltay] (C-a r)
If deltax and deltay are supplied, resize the current frame by that (i.e. move the bottom right corner by the given offsets and then move this frame and resize adjacent frames to make the frames fill the whole screen again.)

If in interactive mode no arguments are supplied, resize the current frame interactively:

finish resizing
, Escape
abort resizing
, Down, j
grow vertically
, Up, k
shrink vertically
, Right, l
grow horizontally
, Left, h
shrink horizontally
shrink to size of current window

While resizing interactively, changes are in multiples of the amount of pixels given by set resizeunit (by default 10).

Restart sdorfehs.
Output the list of all screens. The screens are separated by commas. Each screen is shown as 6 values: its number, its x-coordinate, its y-coordinate, its width, its height and if it is currently selected (1=true, 0=false).
(- | name | number) (C-a ')
If a number is given, switch to the window with number number. If a name is given, switch to the window in the current vscreen with name name. Blank the current frame, if - is given.
[variable [value]]
If no argument is given, output all sdorfehs variables and their values.

If one argument is given, output the value of sdorfehs variable variable. Otherwise set variable to value. What values are valid depends on the variable. See the section VARIABLES later in this document for details.

variable value
Set the environment variable variable to value. (Environment variables will be passed to all programs started from sdorfehs.)
Output all frames similar to fdump, but not limited to one screen, but all screens at once and with the screen number after each frame.
frames
Replace the current frames with the ones specified in frames in the format as generated by sfdump.
Shrink the current frame to the size of the current window with in.
[split] (C-a s)
alias for vsplit
file
Read file and execute each line as sdorfehs command.
screennumber
Switch to the screen screennumber. (If you have multiple physical ones.)
[screen]
Move the current window to the current frame and vscreen on screen screen and focus it.
Mark the current window as sticky in its current frame, making it unavailable to other frames when selecting an available window.
dest-frame [src-frame] (C-a x)
Exchange the window in src-frame (or the current frame if there is no second argument) with the window dest-frame (or ask interactively which frame to swap with if there is no argument).
newname (C-a A)
Overwrite the title of the current window with newname. All following sdorfehs commands will only know the window under the new name.
alias
Remove the alias alias.
key
alias for
undefinekey root key
keymap key
Remove the binding for key from keymap.
(C-a _, C-a u)
Un-do the last change to the frameset. (Like splitting, resizing, deleting, ...)

The amount of steps that can be undone is specified by the variable maxundos.

[name]
Add name to the list of unmanaged windows. Thus, windows of this name will not be managed but allowed to choose their position themselves.

In non-interactive mode calling it without arguments will print the list.

The list can be cleared again by calling clrunmanaged.

variable
Remove variable variable from the list of environment variables.
No longer consider the current window as sticky in its current frame, making it again available to appear in other frames.
cmdline
Spawn a shell executing cmdline after showing a message with the command.
(C-a v)
Output version and compile time information.
[vscreen]
Move the current window to the current frame on vscreen vscreen and switch to it.
Rename current vscreen.
Output a list of all vscreens with their number.
vscreen
Select the vscreen named vscreen.
[l/p | pixels-from-top | -pixels-from-bottom] (C-a s)
Split the current frame into upper frame and a lower frame. If no parameter is given, split in halves. If two numbers separated by a slash (“/”) are given, the upper one is l times the pth part and the lower one (p - l) times the pth part of the prior height. Otherwise the lower one is pixels from bottom wide or the upper one pixels from top high, depending whether there is a “-” in front of the number or not.
[format] (C-a w)
In interactive mode, show the list of all windows in the current vscreen for the duration specified by the variable msgwait. If msgwait was zero, toggle between indefinitely showing and not showing.

The messages are shown in columns or rows depending on the value of winliststyle in the format set by set winfmt. The following substitutions happen in format:

application name (resource name)
resource class
frame number
gravity of the window
height of the window
unit to resize the window vertically (height_inc)
X Window ID
process ID
last access number
string Maxsize, if it specifies a maximum size
window number
window status (‘*’ is active window, ‘+’ would be chosen by other, ‘-’ otherwise)
screen number
window name (see set winname),
the string “Transient”, if it is a transient window
width of the window
unit to resize the window horizontally (width_inc)
xrandr screen number
litteral ‘%

Additionally there can be a positive decimal integer number between the percent sign and the format string to specify the length this value should be truncated to if longer. (For example: %20t)

In non-interactive mode, output the list of windows in the current vscreen line by line. The format string can be overwritten by the optional parameter format.

sdorfehs variables can be shown and set with set. The following variables are supported:
pixels
Selects how thick the frame around sdorfehs's bar, prompt, and message windows is.

Default is 1.

color
The color of the bar, prompt, and message windows sdorfehs creates.

Default is black.

nw | | | | | | | |
Select the location where message and prompt bars appear.

Default is nw.

0 |
If there is padding, determines whether the bar appears at the edge of the screen (1) or at the edge of the window area (0).

Default is 1.

x y
Set horizontal padding of sdorfehs windows to x and vertical padding to y.

Default is 14 10.

0 |
When set to 1, the bar remains on screen at all times and when messages or lists are not being shown, it displays the output of the current window information formatted with stickyfmt.

Default is 1.

color
The background color of the windows sdorfehs creates.

Default is black.

pixels
Selects how thick the frame around windows is.

Default is 1.

color
The border color of unfocused windows.

Default is black.

color
The foreground color of the windows sdorfehs creates.

Default is #eeeee.

font
Make sdorfehs use font font.
format
Choose the default format for the window label shown when selecting a different frame.

Default is Frame %f (%Wx%H).

seconds
The duration the ‘Current frame’ indicator is shown. If seconds is zero, wait until the next interactive command. If seconds is -1, don't show any message.
selectors
Override the frame selectors fselect uses. The first character is the selector for the first frame, the second character is the selector for the second frame and so on.

Using this variable, one can directly access more than 10 frames.

Default is an empty string, which is equivalent to "0123456789".

color
The border color of the focused window.

Default is black.

pixels
Specify the number of pixels surrounding each frame, except for the outer edges which border the screen or its padding.

Default is 20.

number
Specify maximum number of values kept in input history.

Default is 20.

0 |
When set to (1), window resize hints will be ignored, forcing windows to be the exact sizes of their containing frame.

Default is 0.

pixels
Determine the width of the input window.

Default is 200.

nw | | | | | | | |
Set the default gravity new self-maximized windows will get. Possible values are the same as in the gravity command, which changes the gravity of an existing window: cardinal points or numbers 1 to 9.

Default is c.

number
The maximal amount of step sdorfehs can undo with the undo command.

Default is 20.

seconds
The duration the message window is shown. If seconds is zero, wait infinitely.

Default is 3.

0 |
Determine whether to show borders and gaps (1) or not (0) when there is only one frame on the screen.

Default is 1.

left top right bottom
Set how much space at the borders of the screen will not be used.

Default is 20 20 20 20.

format
Choose the default format for the window label shown when interactively resizing a window.

Default is Resize frame (%Wx%H) which shows the window width and height divided by any PResizeInc hints, which for terminals will show the number of columns and lines.

pixels
Set the amount of pixels interactive resize will add/subtract in each step.

Default is 5.

number
Show or set what kind of windows are allowed to jostle into the foreground.

number is a bitwise OR of the following values:

1
Transient windows may raise.
2
Normal windows may raise.
4
New transient windows end up in the foreground.
8
New normal windows end up in the foreground.

Default is all allowed i.e. 15.

0 |
Decide whether to show a greeting message at startup.

The default is 1.

format
Choose the default format for current window information shown in the bar when the barsticky setting is enabled.

Default is %t.

kmap
Make kmap the top keymap sdorfehs grabs directly.

The default value is top.

nw | | | | | | | |
Set the default gravity new transient windows will get. Possible values are the same as in the gravity command, which changes the gravity of an existing window: cardinal points or numbers 1 to 9.

Default is c.

number
Set the number of virtual screens (vscreens).

Default is 12.

0 |
Decide if focusing a window moves the rat cursor to the place it had been last time this window was focused, or not.

Default is 0 (off).

nw | | | | | | | |
Set the default gravity new normal windows will get. Possible values are the same as in the gravity command, which changes the gravity of an existing window: cardinal points or numbers 1 to 9.

Default is nw.

0 |
Determine whether to change the rat cursor when waiting for a key (1) or not (0) See readkey and describekey.

Default is 1.

format
Choose the default format for the windows command.

Default is %n%s%t.

row |
Determines whether windows are shown in rows or in columns.

Default is column.

title | |
Choose what is considered the "name" of the window by sdorfehs:

title
The title of the window.
name
The resource name of the window.
class
The resource class i.e. the name of the application.

Default is title.

~/.config/sdorfehs/config
Configuration file read at startup time, if present.

~/.config/sdorfehs/control
Unix socket which accepts remote control commands sent by sdorfehs -c.

~/.config/sdorfehs/bar
FIFO/named pipe which accepts input to show on the sticky bar when barsticky is enabled.

The sdorfehs utility exits 0 on success, and >0 if an error occurs.

sdorfehs is maintained by joshua stein <jcs@jcs.org> and is derived from ratpoison which was originally written by Shawn Betts <sabetts@gmail.com>.
August 22, 2019 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.