Next: Menu definition files Up: Configuration Previous: Configuration Contents

# uwmrc - the central UWM configuration file

uwmrc is uwms basic configuration file. It is loaded at startup and behavoir and outfit of UWM are controlled by this file as well. A typical uwrmc-line looks like this:

`BorderWidth=10`

As you can see it consists of a keyword, a '`=`' and finally a number which represents an argument.

Please note that there are several context-sensitive lines in uwrmc i.e. they have different meanings on different places.

Here's a description of all uwmrc-Keywords:

BorderWidth = <nr>
  sets the width of window borders to `<nr>` pixels. Defaults to 10

TitleHeight = <nr>
  sets the number of pixels the northern border is wider than the other ones. Defaults to 0.

ScreenColor = <col>
  sets the current workspace's screen background color.

ScreenPixmap = <filename>
  sets the current workspace's screen background image to the image file defined by `<filename>`. Overrides `ScreenColor` if set. Currently xpm and jpeg file formats are supported.

InactiveWin = <col>
  sets the color of inactive windows' borders on the current workspace.

ActiveWin = <col>
  sets the color of the active window's border on the current workspace.

MenuFont = <font>
  sets the font used in menus.

BackColor = <col>
  sets the current workspace's background color.

FontColor = <col>
  sets the current workspace's default color for standard text.

MenuFile = <filename>
  makes uwm reading its application menu from `<filename>`. Please note that uwm reads exactly one menu file after finishing reading `uwmrc`. This means that a `MenuFile` line overwrites any previous `MenuFile` lines. If you want to merge several menu files into one application menu, please use the features menu files offer to do this.

StartScript = <filename>
  sets uwms StartScript to `<filename>`. The file must be an executable or a shell script for /bin/sh. If set, this file will be executed when uwm starts. A `StartScript` line overrides any previous `StartScript` lines.

RubberMove = {0|1}
  enables (0) or disables (1) opaque window movement.

MenuSize = <triple>
  sets ude's menu layout: `#1` defines the width of menu bevels, `#2` and `#3` define the label's x- and y-offset.

NarrowBorderWidth = <nr>
  defines the widht of so-called transient window's borders. Most applications mark requesters and other dialogue windows etc. as transient.

UWMMenuButton = {1|2|3}
  defines the button which starts the UWM Menu from the root window. Since uwm doesn't check if all root window menus are accessible, this option should always be used together with `DeiconifyButton` and `AppMenuButton` to make sure all three menus can be reached. Defaults to 1.

DeiconifyButton = {1|2|3}
  defines the button which starts the Windows Menu from the root window. Since uwm doesn't check if all root window menus are accessible, this option should always be used together with `UWMMenuButton` and `AppMenuButton` to make sure all three menus can be reached. Defaults to 2.

AppMenuButton = {1|2|3}
  defines the button which starts the Application Menu from the root window. Since uwm doesn't check if all root window menus are accessible, this option should always be used together with `DeiconifyButton` and `DeiconifyButton` to make sure all three menus can be reached. Defaults to 3.

TransientMenues = {0|1}
  lets you choose if you want your menus disappear when you release the mouse pointer (1) or if you want them to stay until you either select an item or click somewhere outside of the menu (0). Defaults to 1.

SubMenuTitles = {0|1}
  Lets you choose whether redundant titles are displayed for submenus. Defaults to 0.

WinMenuButton = <triple>
  lets you change the button behavior for hex menus. `#1` specifies the button to make the hex menu appear, `#2` specifies the button used to move the window to the previous workspace and `#3` specifies the button used to move the window to the next workspace. Defaults to `1;2;3`. The use of this option is disencouraged!

DragButtons = <triple>
  lets you change the button behavior for dragging windows. `#1` specifies the button to enter dragging mode, `#2` specifies the button to raise windows and `#3` specifies the button for lowering windows. Defaults to `2;1;3`. The use of this option is disencouraged!

ResizeButtons = <triple>
  specifies the button behaviour for resizing windows. `#1` specifies the button to enter resizing mode, `#2` specifies the button for autoraising and `#3` specifies the button to quit autoraise mode and to activate the 'oldsize'-function. Defaults to `3;1;2`. The use of this option is disencouraged!

WorkSpaces = <nr>
  lets you specify the number of workspaces you want.

WorkSpaceName = <string>
  lets you specify a name for the current workspace.

WorkSpaceNr = <nr>
  sets the current workspace. Any options that take effect on the 'current workspace' apply to the workspace set to be the current workspace most recently.

PlacementStrategy = {0-7}
  defines the placement strategy to be used. There are the following possibilities:

  0 | no placement strategy
  2 | agressive gradient-placement (place all windows automatically)
  1 or 3 | gradient-placement (automatic placement)
  4 | agressive interactive placement (place all windows semi-automatically)
  5 | interactive placement (semi-automatic placement)
  6 | agressive user placement (place all windows manually)
  7 | user placement (manual placement)

PlacementThreshold = <nr>
  defines the overlapping value in pixels from which on you want to place your windows manually in interactive placement stratrgy. This is useless in other placement strategies. In most other WMs 0 is used here without any comments or a way to change. 0 is the default value. If you want this option to make sense your values shouldn't be too small (I tried out 100000 to be quite a good value at a screen-size of 1200 x 1024).

ScreenCommand = <string>
  defines a command line which is run when the current workspace is entered and killed when it is left. You can e.g. use this to have xearth on the background of one workspace while xsnow makes it winter on another one. Nice toy...

ReadFrom = <filename>
  reads another config file in `uwmrc` format immediately. The file is interpreted as if it was inserted at the place of the corresponding `ReadFrom` line.

BevelFactor = <float>
  defines how extreme bevels are drawn. A value of 1 draws no bevels, values 0<`<float>`<1 draw deep bevels and values greater than 1 draw usual high bevels. A `BevelFactor` setting affects all 3d-color definitons between itself and the next `BevelFactor` line.

FrameBevelWidth = <nr>
  specifies the bevel width used for window frames.

OpaqueMoveSize = <nr>
  specifies the size in pixels from which on windows are no longer moved opaquely but transparently. A value of 0, which is also the default, means move always opaque, any other value means move transparent from that size on. Values greater than 0 might be useful on slower machines with some applications. You should try out your favourite value or if e.g. transparent movement for all windows works better on your machine with your frequently used applications.

TitleFont = <font>
  specifies the font used for window titles.

ActiveTitle = <col>
  specifies the color the name of active windows is drawn with.

InactiveTitle = <col>
  specifies the color the name of inactive windows is drawn with.

FrameFlags = <nr>
  specifies the layout and behaviour of window titles and borders. Expects a sum of the following values:

  1 | Groove | draw the groove on window borders if there's enough space. |
  2 | Line | draw a black separation line along the inside of window borders. |
  4 | Inactive Title | display inactive windows' titles. |
  8 | Active Title | display active window's title. |
  16 | Dodgy Title | hide active window's title when hit by the mouse pointer. |
  32 | Center Title | display titles in the center of the top border instead of the northeastern corner. |

  E.g. use a value of 1+2+4+32=39 if you want titles in the center position disappearing when the window is activated and grooves drawn on your window borders.

BehaviourFlags = <nr>
  specifies parts of uwm's behaviour. Expects a sum of the following values:

  1 | AllMouse | do not ignore mouse events passed on to uwm by some client windows (e.g. xosview can be moved easily clicking somewhere in the window using this option). |

OtherWMs = <string>
  expects a comma seperated list of shell command lines used to start other window managers out of uwm.

MaxWinWidth = <nr>
  defines the maximum window width allowed during this session. This is useful on displays with low resolutions. Unfortunately there might be some problems with applications not regarding the most basic X11 specifications.

MaxWinHeight = <nr>
  defines the maximum window height allowed during this session. This is useful on displays with low resolutions. Unfortunately there might be some problems with applications not regarding the most basic X11 specifications.

StopScript = <filename>
  sets uwms StopScript to `<filename>`. The file must be an executable or a shell script for /bin/sh. If set, this file will be executed when uwm starts. A `StopScript` line overrides any previous `StopScript` lines.

WarpPointerToNewWinH = <nr>
  allows you to make uwm warp the pointer to any newly mapped window. Any value between 0 and 100 defines the X-position in the window (in percent) the pointer is warped to. A value of -1 means don't warp the pointer and a value of -2 means warp the pointer to the upper left corner of the window's border. Only takes effect if `WarpPointerToNewWinV` is set between 0 and 100.
WarpPointerToNewWinV = <nr>
  allows you to make uwm warp the pointer to any newly mapped window. Any value between 0 and 100 defines the Y-position in the window (in percent) the pointer is warped to. A value of -1 means don't warp the pointer and a value of -2 means warp the pointer to the upper left corner of the window's border. Only takes effect if `WarpPointerToNewWinH` is set between 0 and 100.
InactiveText = <col>
  defines the color of any inactive text.
HighlightedText = <col>
  sets font used for highlighted text.
HighlightedBgr = <col>
  sets the background color of highlighted text.
TextColor = <col>
  sets the text color for text windows, e.g. editors, terminals etc.
TextBgr = <col>
  sets the background color for text windows, e.g. editors, terminals etc.
BevelWidth = <nr>
  sets the width of bevels for ude applications (will be used in the library)
ResourceFile = <filename>
  uwm can read a file with the format described in section to set workspace specific application colors etc.
SnapDistance = <nr>
  sets the distance (in pixels) from which a window snaps to another window's or the screen's border when being moved.
HexPath = <string>
  sets the path where uwm first looks for a set of hex icons. The icons must be of .xpm format, and the named directory must contain a complete set of hex icons with the following names and meanings:

  Normal State | Selected State | Meaning |
  `autorise.xpm` | `autorises.xpm` | autorise or resize the window |
  `back.xpm` | `backs.xpm` | lower the window |
  `close.xpm` | `closew.xpm` | close the window |
  `iconify.xpm` | `iconifys.xpm` | iconify/minimize the window |
  `kill.xpm` | `kills.xpm` | shut down the application's connection to the x-server |
  `menu.xpm` | `menus.xpm` | open the window menu |
  `really.xpm` | `reallys.xpm` | security button that X-Server connection gets killed by accident |

TextFont = <font>
  sets the font used for text windows such as editors or terminals etc. The use of a fixed width font is highly recommended here.
HighlightFont = <font>
  sets the font for highlighted text.
InactiveFont = <font>
  sets the font for inactive elements such as buttons or menu items etc.

In this description the following data types are being used as arguments for the options:

<nr>
  is an integer number with the range specified in the option's description.
<string>
  represents a usual text line. it may contain any desired characters, whitespace etc. and is terminated by a linebreak.
<font>
  is an X11 font definition string. The most easy way to get such a string is to paste it directly from xfontsel into the file.
<filename>
  is the name of a file. The file is searched in the way described above and in most cases passed through the c preprocessor.
<col>
  represents an X11 color definition string. For the exact format of these strings please take a look at the man page of `XQueryColor`. All colors can be set for any workspace seperately.
<triple>
  represents a set of three semicolon seperated integers.
<float>
  represents a floating point number. Please note that the decimal expected seperation character may differ with the internationalized version of (g)libc with different `LANG`-environments set (e.g.`.` as default but `,` for `LANG=de`). Admins of multilingual systems say thanx to the big internationalisationers of libc for this feature.
{X|Y|Z}
  means one out of `X`, `Y` or `z`.

Next: Menu definition files Up: Configuration Previous: Configuration Contents