1##########################################################################
2# Windows behaviour
3##########################################################################
4#
5# Alt-tab between windows, similar to Windows9x.  For instance:
6#  AutoReverse 0: default switching among the windows in one direction
7#  AutoReverse 1: #1->#2->#3->#4 and then #4->#3->#2->#1
8#  AutoReverse 2: #1->#2->#3->#4 and then #4->#1->#3->#2 etc.
9AutoReverse 2
10#
11# window switching through desks?
12#AutoTabThroughDesks
13#
14# Automatically raise a window if mouse stays > 500 msec on it
15# AutoRaise 500
16#
17# While zapping, warp mouse pointer to
18Xzap 2
19Yzap 2
20#
21# Avoid problems with xpaint like applications which define their own icon
22# as a window and tell the window manager it's its icon
23KeepIconWindows
24
25# when application changes its name - hints will be updated and applied
26#FollowTitleChanges
27
28#
29# Don't push titlebar when clicked
30# Titlebarnopush
31#
32# Click on titlebar to focus window (ie put it in the foreground)
33# ClickToFocus
34#
35# Click on titlebar to raise window (ie put it in the foreground)
36ClickToRaise
37#
38# Focus on window until pointer gets in another one
39SloppyFocus
40#
41# Iconify to original place
42StubbornIcons
43#
44# Uniconify to original place
45StubbornPlacement
46#
47# Optimize icon placement
48# StubbornIconPlacement
49#
50# Give a name to each icon
51IconTitle
52#
53# Icons follow you on the desktop
54StickyIcons
55#
56# Don't jump to an icon while zapping windows
57CirculateSkipIcons
58#
59# Center the screen on the current window while circulating
60#CenterOnCirculate
61#
62# If time between Button Press and release events is short then the below
63# value - that will be considered a click event :
64# ClickTime 500
65#
66# Keep showing window while being moved if size<N%
67OpaqueMove 100
68#
69# Keep showing window while being resized if size<N%
70OpaqueResize 100
71#
72# Mouse pushing on screen edge : N% move
73EdgeScroll 100 100
74#
75# To avoid unwanted moving, edges resist during N ms
76#EdgeResistance 800 80
77EdgeResistance 800 4
78
79###########################################################################
80# Initial Placement of the windows
81###########################################################################
82# Old style (simplified) settings :
83
84# Place window in empty zones
85SmartPlacement
86# Random window placement
87RandomPlacement
88# Windows can't chose where to place
89#NoPPosition
90
91#############
92# New style (simplified) settings :
93# WindowBox configuration may look something like this :
94# WindowBox   "some_name"
95# 	Area   WxH+X+Y
96# 	Virtual
97#	MinWidth	width
98#	MinHeight	height
99#	MaxWidth	width
100#	MaxHeight	height
101#	FirstTry	SmartPlacement|RandomPlacement|Tile
102#	ThenTry 	RandomPlacement|Cascade|Manual
103#	VerticalPriority
104#	ReverseOrder
105#     	Desk        desk
106#     	MinLayer    min_layer
107#     	MaxLayer    max_layer
108#~WindowBox
109#
110#DefaultWindowBox  "some_name"
111#
112
113# this window box prevents windows from being random-placed under WinList :
114WindowBox   "nowinlist"
115 	Area   		+0+30
116	FirstTry	SmartPlacement
117	ThenTry 	RandomPlacement
118     	MaxLayer    	2
119~WindowBox
120
121DefaultWindowBox  "nowinlist"
122
123##########################################################################
124# X server performance tweaks :
125#AppsBackingStore
126#BackingStore
127#SaveUnders
128
129##########################################################################
130# Misc stuff :
131#
132#RecentSubmenuItems   <number>   # changes number of recently used submenu items displayed in poarent menu
133#
134# Put a titlebar + various stuff on dialog boxes
135DecorateTransients
136#
137
138# this will cause blue screen to come up on desktop changes even if desktop background
139# in the same  on both desks :
140AnimateDeskChange
141
142# these defines how desktop cover (blue screen) is animated when withdrawn :
143#   Available Types :
144#     sliding 	1 - 8
145#     shrinking 9 - 11
146#     melting	12
147CoverAnimationSteps	12
148CoverAnimationType	10
149
150# The following two settings are usefull for thoise who prefered old afterstep 1.8 behaviour :
151#To disable colored desktop cover use this :
152#DontCoverDesktop
153
154#To disable animated root background change use this :
155#DontAnimateBackground
156
157##########################################################################
158# Cursor
159##########################################################################
160#
161# Cursor THISTYPE THISCURSOR where type is :
162#
163#  0 POSITION      - used when initially placing windows
164#  1 TITLE         - used in a window title-bar
165#  2 DEFAULT       - used in windows that don't bother to set their cursor
166#  3 SYS           - used in one of the title-bar buttons
167#  4 MOVE          - used when moving or resizing windows.
168#  5 WAIT          - used during an EXEC builtin command.
169#  6 MENU          - used in a menus.
170#  7 SELECT        - used for various builtin commands such as iconify.
171#  8 DESTROY       - used for DESTROY and DELETE built-ins.
172#  9 TOP           - used in the top side-bar of a window
173# 10 RIGHT        - used in the right side-bar of a window
174# 11 BOTTOM
175# 12 LEFT
176# 13 TOP_LEFT
177# 14 TOP_RIGHT
178# 15 BOTTOM_LEFT
179# 16 BOTTOM_RIGHT
180#
181# while /usr/include/X11/cursorfont.h contains available cursors
182#
183#Cursor 0
184Cursor 1 58
185Cursor 2 68
186Cursor 3 22
187Cursor 4 120
188Cursor 5 150
189Cursor 6 60
190Cursor 7 68
191Cursor 8 88
192Cursor 9 138
193Cursor 10 96
194Cursor 11 16
195Cursor 12 70
196Cursor 13 134
197Cursor 14 136
198Cursor 15 12
199Cursor 16 14
200
201##########################################################################
202# Functions
203##########################################################################
204# Used to move icons on desktop
205Function "Move-or-Top"
206        Move            "Motion"
207        RaiseLower      "Click"
208        ToggleLayer     "DoubleClick" 1
209EndFunction
210
211Function "Move-or-Normal"
212        Move            "Motion"
213        RaiseLower      "Click"
214        ToggleLayer     "DoubleClick" -1
215EndFunction
216
217# Used to move windows on desktop
218Function "Move-or-Iconify"
219        Move            "Motion"
220        Iconify         "Click"
221EndFunction
222
223Function "Resize-or-Top"
224        Resize          "Motion"
225        RaiseLower      "Click"
226EndFunction
227
228# Window operations
229Popup "Window"
230        Title           "This window :"
231        ToggleLayer     "Promote to Next Layer"  1
232 SmallMiniPixmap "normal/Windows"
233        ToggleLayer     "Demote to Lower Layer"  -1
234 SmallMiniPixmap "normal/WindowsBackground"
235        Move            "Move"
236 SmallMiniPixmap "normal/WindowsMove"
237        WindowsDesk     " - to desk #0" 0
238 SmallMiniPixmap "normal/Pager"
239        WindowsDesk     " - to desk #1" 1
240 SmallMiniPixmap "normal/Pager"
241        WindowsDesk     " - to desk #2" 2
242 SmallMiniPixmap "normal/Pager"
243        WindowsDesk     " - to desk #3" 3
244 SmallMiniPixmap "normal/Pager"
245        Resize          "Resize"
246 SmallMiniPixmap "normal/WindowsResize"
247        Maximize "Maximize 80%" 80 80
248 SmallMiniPixmap "normal/WindowsResize"
249        Maximize "Maximize 100%" 100 100
250 SmallMiniPixmap "normal/WindowsResize"
251        Fullscreen "Make Fullscreen"
252 SmallMiniPixmap "normal/WindowsResize"
253        Destroy         "Kill"
254 SmallMiniPixmap "large/Stopsign"
255        Delete          "Quit"
256 SmallMiniPixmap "normal/HandOnWindowCloseIcon"
257        Refresh         "Redraw"
258 SmallMiniPixmap "normal/Recycle"
259	TakeWindowShot  "Capture window image"
260 SmallMiniPixmap "normal/Camera4"
261	TakeFrameShot   "Capture framed window image"
262 SmallMiniPixmap "normal/Camera4"
263	TakeScreenShot  "Capture screen image"
264 SmallMiniPixmap "normal/Camera4"
265EndPopup
266
267##########################################################################
268# Key binding :
269#
270# [Zap button] [Window ops]   Title   [Iconify] [Shade] [Quit]
271#
272# Zap switches to next window, if middle clicked switches to previous one while
273#  right click open man file of the current window.
274#
275# Window ops lets you act on window geometry, size (...) if right clicked
276#  asks which window you want to switch to.
277#
278# Iconify button iconifies current window, if right clicked it maximises it.
279#
280# Shade swallows window under titlebar and makes it sticky, if right clicked
281#  it only makes it sticky, without swallowing it
282#
283# Quit closes current window, if right clicked it kills it
284##########################################################################
285
286##########################################################################
287# Calls
288#
289# There are 4 colums to the table
290# First column is the event (Mouse Click or Key Press)
291#   Mouse 0 specify any click in a TitleBar box
292#     Where can be 1 or 2 for first or second box
293#   Mouse 1 is left button, 2 is middle, 3 is right
294# Second Column is where the click takes place
295#   R = Root window (main background)
296#   F = Window Frame (the corners)
297#   S = Bottom bar
298#   I = Icon Window
299#   T = TitleBar
300#   W = Application Window
301#   A = Any context except for inside the TitleBar Boxes
302# Third Column is the Context (ie, modifier keys)
303#   N = No modifiers
304#   A = Any modifier
305#   C = Control
306#   S = Shift
307#   M = Meta
308#   Combos are allowed (eg, CS = Control+Shift)
309# Fourth Column is the action to take upon click : function, popup, or action
310
311#
312# Mouse actions
313#
314Mouse 1         R       A       PopUp "0" 0
315Mouse 2         R       A       GetHelp
316Mouse 3         R       A       WindowList
317Mouse 1         1       A       ChangeWindowUp
318Mouse 2         1       C       BookmarkWindow "1"	bkmrk1
319Mouse 2         1       S       GoToBookmark "1"	bkmrk1
320Mouse 3         1       A       ChangeWindowDown
321Mouse 1         2       A       Delete
322Mouse 2         2       A       Close
323Mouse 3         2       A       Destroy
324Mouse 1         3       A       PopUp "Window Menu" Window
325Mouse 2         3       A       WindowList 2
326Mouse 3         3       A       WindowList
327Mouse 1         4       A       Shade
328Mouse 2         4       A       Stick
329Mouse 3         4       A       Stick
330Mouse 1         5       A       PinMenu
331Mouse 2         5       A       PinMenu
332Mouse 3         5       A       PinMenu
333Mouse 1         6       A       Iconify
334Mouse 2         6       A       Maximize
335Mouse 3         6       A       Maximize
336Mouse 1         7       A       Delete
337Mouse 2         7       A       WindowList 2
338Mouse 3         7       A       PopUp "Window Menu" Window
339Mouse 1         FS      A       Function "Resize-or-Top"
340Mouse 2         FS      A       Function "Resize-or-Top"
341Mouse 3         FS      A       Function "Resize-or-Top"
342Mouse 1         T       A       Function "Move-or-Top"
343Mouse 2         T       A       Function "Move-or-Normal"
344Mouse 3         T       A       RaiseLower
345Mouse 0         I       A       Function "Move-or-Iconify"
346
347#
348# Keys actions
349#
350# control + arrow = 1 page
351Key Left        A       C       Scroll -100 0
352Key Right       A       C       Scroll +100 +0
353Key Up          A       C       Scroll +0   -100
354Key Down        A       C       Scroll +0   +100
355
356# Those keybindings trap Mozilla history navigation keybindings, but you can
357# uncomment them if you do not use those Mozilla keybindings.
358# alt + arrow = 1/10 page
359#Key Left        A       M       Scroll -10 +0
360#Key Right       A       M       Scroll +10 +0
361#Key Up          A       M       Scroll +0  -10
362#Key Down        A       M       Scroll +0  +10
363
364# alt + shift + arrow = move cursor
365Key Left        A       MS       CursorMove -1 0
366Key Right       A       MS       CursorMove +1 +0
367Key Up          A       MS       CursorMove +0 -1
368Key Down        A       MS       CursorMove +0 +1
369
370# shift + control + arrow = change desktop
371#Key Left        A       SC      Desk 0 0
372#Key Right       A       SC      Desk 0 1
373#Key Up          A       SC      Desk 0 2
374#Key Down        A       SC      Desk 0 3
375
376# here is the better approach to desktop switching : Ctrl-Fx =
377Key F1          A       C        Desk 0 0
378Key F2          A       C        Desk 0 1
379Key F3          A       C        Desk 0 2
380Key F4          A       C        Desk 0 3
381
382# For asforms & menus : Ctrl-Shift-Fx =
383Key F1          A       SC      Module "Help" Form HELPForm
384Key F1          A       SC      GetHelp
385Key F2          A       SC      Iconify
386Key F3          A       SC      Resize
387Key F4          A       SC      Delete
388Key F5          A       SC      Move
389Key F6          A       SC      Destroy
390Key F7          A       SC      ChangeWindowUp
391Key F8          A       SC      Module "Run"  Form RUNForm
392Key F9          A       SC      Maximize
393Key F10         A       SC      PutOnBack
394#Key F11         A       SC      Module "Find" Form FINDForm
395Key F11         A       SC      WindowList
396Key F12         A       SC      PopUp "Start Menu"  0
397
398# GWCommand
399Key 	j 	A	CM	Exec "-" GWCommand jump
400Key 	i 	A	CM	Exec "-" GWCommand iconify
401Key 	c 	A	CM	Exec "-" GWCommand center
402Key 	s 	A	CM	Exec "-" GWCommand sendtodesk
403
404################################################################################
405# Menu popups keybindings
406################################################################################
407# The "Menu" key is a key introduced by Microsoft on PC keyboards
408# Popups the window manager menu (default window, ie the "0" window)
409Key Menu        A       A       Popup "Start Menu" 0
410# Lists all the applications of the current desk
411Key Menu        A       C       WindowList 2
412# Lists all the applications on all the desks
413Key Menu        A       S       WindowList
414
415################################################################################
416# Window wrapping
417################################################################################
418# alt + tab = change window
419Key Tab         A       M       WarpFore
420# alt + q = return to window
421Key q		A	M	WarpBack
422# shift + alt + tab = focus on current window
423Key Tab         A       S       Focus
424#Key Meta_L      A       A       WarpFore
425#Key Meta_R      A       A       WarpBack
426
427# ctrl-v = paste
428# If you have problems with pasting data into applications -
429# try uncommenting this :
430#Key v		W	C	PasteSelection
431
432# PC keys aren't always defined in keymaps
433Key Print       A       A       TakeScreenShot
434#Key Print       A       A       Exec "screenshot" exec xwd -root -out ~/screen.xwd && mogrify -format png ~/screen.xwd && rm ~/screen.xwd
435Key Print       A       S       TakeWindowShot
436#Key Print       A       S       Exec "windowshot" exec xwd -nobdrs -out ~/window.xwd && mogrify -format png ~/window.xwd && rm ~/window.xwd
437Key Print       A       M       TakeFrameShot
438#Key Print       A       M       Exec "frameshot" exec xwd -frame -out ~/frame.xwd && mogrify -format png ~/frame.xwd && rm ~/frame.xwd
439Key Pause       A       A       Exec "xscreensaver" exec xscreensaver-command -lock
440Key Sys_Req     A       A       GetHelp
441#Key Scroll_Lock A       A       Desk 0
442
443################################################################################
444# Term keybindings
445################################################################################
446# One should note that it is the "asterisk key" that is bound, not the "* key".
447# To get the keymap table : $ xmodmap -pke
448# Binding the asterisk key + Ctrl to display a term window
449Key asterisk    A       C       Exec "x-terminal-emulator" exec x-terminal-emulator
450
451################################################################################
452# XMMS keybindings
453################################################################################
454# ugrave is for the french key with the "%" sign on it
455#Key ugrave      A       CS      Exec "-" xmms
456# Start playing current playlist or play the current track from the beginning
457#Key p           A       CS      Exec "-" xmms --play
458# Toggle : Pause if playing, play otherwise
459#Key t           A       CS      Exec "-" xmms --play-pause
460#Key b           A       CS      Exec "-" xmms --rew
461#Key f           A       CS      Exec "-" xmms --fwd
462
463