% -*-Mode: Shell-Script;-*-
% Anybody volunteering to write a dedicated Emacs mode?
%
% /etc/X11/ude/uwmrc.hook
%
% This is a part of UWMRC, the main config file for the ultimate window
% manager. It is sourced by /etc/X11/ude/uwmrc. It defines the general
% behaviour.
% please place a '%' before comments.
%
% Please read /usr/doc/ude/uwm_manual.ascii.gz and/or
% /usr/doc/ude/manual.dvi for more information.

% Here's a description of all "uwmrc" data types:
%
%	<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".

%#######################################################################
%######   File "management"
%#######################################################################

% ReadFrom = <filename>
%	Default: n.a.
%
%	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.
ReadFrom=uwmrc-ws.hook

%#######################################################################
%######   General layout settings
%#######################################################################

% BorderWidth = <nr>
%	Default: 10
%
%	Sets the width of window borders to <nr> pixels.
BorderWidth=10

% NarrowBorderWidth = <nr>
%	Default: 3
%
%	Defines the width of so-called transient window's
%	borders. Most applications mark requesters and other dialogue
%	windows etc. as transient.
NarrowBorderWidth=3

% FrameBevelWidth = <nr>
%	Default: 2
%
%	Specifies the bevel width used for window frames.
%	Use 0 if you do not want bevels to be drawn on your window
%	borders (old and ugly look of uwm).
FrameBevelWidth=3

% BevelWidth = <nr>
%	Default: 2
%
%	Sets the width of bevels for ude applications (will be used in
%	the library)

% TitleHeight = <nr>
%	Default: 0
%
%	Sets the number of pixels the northern border is wider than
%	the other ones.
TitleHeight=0

% FrameFlags = <nr>
%	Default: 31
%
%	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. 
FrameFlags=31

% ResourceFile = <filename>
%	Default: ""
%
%	uwm can read a file which has the same format as xrdb files
%	(see xrdb documentation for details) except that there are
%	some additional macros defined which are replaced by uwm
%	workspace dependent.
ResourceFile=urdb

%#######################################################################
%######   settings for uwm's menus
%#######################################################################

% MenuFont = <font>
%	Default: (according to availability)
%
%	Sets the font used in menus.
MenuFont=lucidasans-12

% MenuFile = <filename>
%	Default: "appmenu"
%
%	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. 
MenuFile=appmenu

% MenuSize = <triple>
%	Default: 2;4;2
%
%	Sets ude's menu layout:
%	#1 defines the width of menu bevels,
%	#2 defines the label's x-offset,
%	#3 defines the label's y-offset.
MenuSize=2;4;2

% TransientMenues = {0|1}
%	Default: 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).
TransientMenues=1

% OtherWMs = <string>
%	Default: ""
%
%	Expects a comma seperated list of shell command lines used to
%	start other window managers out of uwm.
OtherWMs=xterm

%#######################################################################
%######   startup settings
%#######################################################################

% StartScript = <filename>
%	Default: ""
%
%	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.
StartScript=StartScript

% StopScript = <filename>
%	Default: ""
%
%	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 stops. A "StopScript" line overrides
%	any previous "StopScript" lines.
StopScript=StopScript

%#######################################################################
%######   general behaviour settings
%#######################################################################

% RubberMove = {0|1}
%	Default: 0
%
%	0	enables opaque window movement,
%	1	disables opaque window movement.
RubberMove=0

% OpaqueMoveSize = <nr>
%	Default: 0
%
%	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.
OpaqueMoveSize=500000

% UWMMenuButton = {1|2|3}
%	Default: 1
%
%	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.
UWMMenuButton=1

% DeiconifyButton = {1|2|3}
%	Default: 2
%
%	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.
DeiconifyButton=2

% AppMenuButton = {1|2|3}
%	Default: 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. 
AppMenuButton=3

% PlacementStrategy = {0-7}
%	Default: 3
%
%	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)
PlacementStrategy=3

% PlacementThreshold = <nr>
%	Default: 0
%
%	Defines the overlapping value in pixels from which on you want
%	to place your windows manually in interactive placement
%	strategy. This is useless in other placement strategies. In
%	most other WMs 0 is used here without any comments or a way to
%	change.
%	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 12001024).
PlacementThreshold=100000

% SnapDistance = <nr>
%	Default: 10
%
%	Sets the distance (in pixels) from which a window snaps to
%	another window's or the screen's border when being moved.

% WarpPointerToNewWinH = <nr>
%	Default: -1
%
%	Allows you to make uwm warp the pointer to any newly mapped
%	window.
%
%	0-100	defines the X-position in the window (in percent) the
%		pointer is warped to.
%	-1	don't warp the pointer
%	-2	warp the pointer to the upper left corner of the
%		window's border.
%
%	Only takes effect if "WarpPointerToNewWinV" is set between 0
%	and 100.
WarpPointerToNewWinH=-2

% WarpPointerToNewWinV = <nr>
%	Default: -1
%
%	Allows you to make uwm warp the pointer to any newly mapped
%	window.
%
%	0-100	defines the Y-position in the window (in percent) the
%		pointer is warped to.
%	-1	don't warp the pointer
%	-2	warp the pointer to the upper left corner of the
%		window's border.
%
%	Only takes effect if "WarpPointerToNewWinH" is set between 0
%	and 100.
WarpPointerToNewWinV=-2

% MaxWinWidth = <nr>
%	Default: 0
%
%	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.
MaxWinWidth=0

% MaxWinHeight = <nr>
%	Default: 0
%
%	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.
MaxWinHeight=0

% HexPath = <string>
%	Default: ""
%
%	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
%
%	If "HexPath" is an empty string, uwm looks into the directory
%	where it is installed into.

%#######################################################################
%######   button behaviour settings - please read the following before use
%#######################################################################

% THE USE OF THESE OPTIONS IS DISENCOURAGED!
%
% If one of the following options is set, the others must be set too,
% except you simply make 'internal' changes to either dragging or
% resizing (i.e. the first number is set to its default value). Make
% sure that all three first numbers are different: each of 1, 2 and 3
% must be used as first number!
%
% IF YOU WANT TO USE THE OPTION JUST TO GET USED TO UWM I'D RECOMMEND
% NOT TO DO SO: YOU'LL HAVE TO GET USED TO ANY CONFIGURATION YOU SET
% HERE! THE FIRST TIME IT'S HARD BUT THE SECOND TIME WILL BE EVEN
% HARDER AND YOU'LL NEVER REALLY GET AWAY FROM YOUR INITIAL
% CONFIGURATION.
%
% The presets are designed to fit best to the rest of X-look-and-feel
% and so to provide a logical and unique desktop. (e.g. it makes no
% sense that under X usually button 2 is used for drag'n'drop, but you
% use button 1 for dragging windows)

% WinMenuButton = <triple>
%	Default: 1;2;3
%
%	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.
% WinMenuButton=1;2;3

% DragButtons = <triple>
%	Default: 2;1;3
%
%	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.
% DragButtons=2;1;3
 
% ResizeButtons = <triple>
%	Default: 3;1;2
%
%	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.
% ResizeButtons=3;1;2

% Since I'm not very happy supplying these options there'll be a way
% to switch ANY UWM-CONFIGURATION to the default settings of the
% button-config, so that e.g. a sysop helping someone logged in to
% his/her account still is able to work with ude. I recognized that
% once you are used to one configuration of this you'll never wanna
% get away from it... 

