]> git.phdru.name Git - dotfiles.git/blob - .fvwm/main.m4
.fvwmrc: Shorten titles to decrease buttons' size
[dotfiles.git] / .fvwm / main.m4
1 ##########################################################################
2 # FVWM - F? Virtual Window Manager, Version 2.x (fvwm2) Configuration File
3 #
4
5 dnl The file is in m4 format, use FvwmM4 module to read it
6 dnl like this: ModuleSynchronous FvwmM4 -lock main.m4
7
8 dnl This is to prevent FvwmM4 to shadow $HOME
9 undefine(`HOME')
10
11 dnl Echo dimension
12 `#' width = WIDTH
13
14 divert(-1)
15
16 dnl TrueType Fonts
17 define(`VERY_SMALL_FONT', `xft:Sans:size=10')
18 define(`SMALL_FONT', `xft:Sans:size=12')
19 define(`MEDIUM_FONT', `xft:Sans:size=14')
20 define(`BIG_FONT', `xft:Sans:size=16')
21 define(`LARGE_FONT', `xft:Sans:size=18')
22 define(`HUGE_FONT', `xft:Sans:size=20')
23 define(`GIGANTIC_FONT', `xft:Sans:size=22')
24
25 dnl Bold TT fonts
26 define(`SMALL_BOLD_FONT', SMALL_FONT`:Bold')
27 define(`MEDIUM_BOLD_FONT', MEDIUM_FONT`:Bold')
28 define(`BIG_BOLD_FONT', BIG_FONT`:Bold')
29
30 define(`TITLE_FONT', MEDIUM_FONT)
31 define(`ICON_FONT', LARGE_FONT)
32
33 dnl Font and geometry aliases that depend on whether the screen resolution is
34 dnl 800x600, 1024x768 or 1920x1200
35
36 define(`PAGER_GEOM',
37 ifelse(eval(WIDTH < 1024), 1, `365x100+0+0',
38        eval(WIDTH < 1920), 1, `365x100+0+0', `600x160+0+0'))
39
40 define(`SMALL_PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, VERY_SMALL_FONT, SMALL_FONT))
41 define(`PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, SMALL_FONT, BIG_FONT))
42 define(`BUTTONS_FONT', PAGER_FONT)
43
44
45 define(`MENU_FONT',
46 ifelse(eval(WIDTH < 1024), 1, BIG_FONT,
47        eval(WIDTH < 1920), 1, LARGE_FONT, GIGANTIC_FONT))
48 define(`IDENT_FONT', MENU_FONT)
49 define(`WIN_LIST_FONT', MENU_FONT)
50 define(`ICON_BOX_FONT', MENU_FONT)
51
52
53 dnl XSetBg message width and font
54 define(`TEXT_WIDTH',
55 ifelse(eval(WIDTH < 1024), 1, 70,
56        eval(WIDTH < 1920), 1, 75, 80))
57
58 define(`MESSAGE_FONT', `Nimbus Sans L 18')
59
60
61 dnl Terminal emulator
62 define(`TERM_GEOM',
63 ifelse(eval(WIDTH < 1024), 1, `80x25',
64        eval(WIDTH < 1920), 1, `80x30', `80x32'))
65
66 define(`TERM_GEOM_BOTLT', TERM_GEOM`+0-0')
67 define(`TERM_GEOM_BOTRT', TERM_GEOM`-0-0')
68
69 define(`TERM_GEOM_BIG',
70 ifelse(eval(WIDTH < 1024), 1, `96x30',
71        eval(WIDTH < 1920), 1, `112x32+2-0', `119x32+1-0'))
72
73
74 define(`TERM', `urxvt')
75 define(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM')
76 define(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')
77 define(`TERM_EN_UTF8', `Exec LC_CTYPE=en_US.UTF-8 exec TERM -name URxvt')
78 define(`TERM_HEB_UTF8', `Exec LC_CTYPE=he_IL.UTF-8 exec TERM -name URxvt')
79 define(`TERM_KOI8_BOTLT', `TERM_KOI8 -geometry TERM_GEOM_BOTLT')
80 define(`TERM_RU_UTF8_BOTLT', `TERM_RU_UTF8 -geometry TERM_GEOM_BOTLT')
81 define(`TERM_KOI8_BOTRT', `TERM_KOI8 -geometry TERM_GEOM_BOTRT')
82 define(`TERM_RU_UTF8_BOTRT', `TERM_RU_UTF8 -geometry TERM_GEOM_BOTRT')
83 define(`TERM_KOI8_BIG', TERM_KOI8 -geometry TERM_GEOM_BIG)
84 define(`TERM_UTF8_BIG', TERM_RU_UTF8 -geometry TERM_GEOM_BIG)
85
86
87 define(`SSH', `cgmem_nice 300 ssh')
88
89 define(`TERM_SSH', `$1 -e SSH $2')
90
91 define(`TERM_TITLE_SSH', `$1 -title "$3" -n "$3" -e SSH $2')
92
93 define(`TERM_KOI8_SSH',
94 TERM_TITLE_SSH(TERM_KOI8, $1, $2))
95
96 define(`SSH_SCREEN_KOI8', `-t $1 exec /usr/bin/screen -xRR -S default-koi8')
97 define(`SSH_SCREEN_UTF8', `-t $1 exec /usr/bin/screen -xRR -S default-utf8')
98
99 define(`TERM_TITLE_SSH_SCREEN_KOI8',
100 `$1 -title "$3 scr" -n "$3 scr" -e SSH SSH_SCREEN_KOI8($2)')
101
102 define(`TERM_TITLE_SSH_SCREEN_UTF8',
103 `$1 -title "$3 scr" -n "$3 scr" -e SSH SSH_SCREEN_UTF8($2)')
104
105 define(`MENU_TERM_KOI8_SSH',
106 "$2 (koi8)" TERM_KOI8_SSH($1, $2))
107
108 define(`TERM_KOI8_BOTLT_SSH',
109 TERM_TITLE_SSH(TERM_KOI8_BOTLT, $1, $2))
110
111 define(`TERM_KOI8_BOTRT_SSH',
112 TERM_TITLE_SSH(TERM_KOI8_BOTRT, $1, $2))
113
114 define(`MENU_TERM_KOI8_BOTLT_SSH',
115 "$2 (btlt,koi8)" TERM_KOI8_BOTLT_SSH($1, $2))
116
117 define(`MENU_TERM_KOI8_BOTRT_SSH',
118 "$2 (btrt,koi8)" TERM_KOI8_BOTRT_SSH($1, $2))
119
120 define(`TERM_KOI8_SSH_SCREEN',
121 TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8, $1, $2))
122
123 define(`MENU_TERM_KOI8_SSH_SCREEN',
124 "$2 (koi8,scr)" TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8, $1, $2))
125
126 define(`TERM_KOI8_BOTLT_SSH_SCREEN',
127 TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8_BOTLT, $1, $2))
128
129 define(`TERM_KOI8_BOTRT_SSH_SCREEN',
130 TERM_TITLE_SSH_SCREEN_KOI8(TERM_KOI8_BOTRT, $1, $2))
131
132 define(`MENU_TERM_KOI8_BOTLT_SSH_SCREEN',
133 "$2 (btlt,koi8,scr)" TERM_KOI8_BOTLT_SSH_SCREEN($1, $2))
134
135 define(`MENU_TERM_KOI8_BOTRT_SSH_SCREEN',
136 "$2 (btrt,koi8,scr)" TERM_KOI8_BOTRT_SSH_SCREEN($1, $2))
137
138 define(`TERM_UTF8_SSH',
139 TERM_TITLE_SSH(TERM_RU_UTF8, $1, $2))
140
141 define(`MENU_TERM_UTF8_SSH',
142 "$2 (utf8)" TERM_UTF8_SSH($1, $2))
143
144 define(`TERM_UTF8_BOTLT_SSH',
145 TERM_TITLE_SSH(TERM_RU_UTF8_BOTLT, $1, $2))
146
147 define(`TERM_UTF8_BOTRT_SSH',
148 TERM_TITLE_SSH(TERM_RU_UTF8_BOTRT, $1, $2))
149
150 define(`MENU_TERM_UTF8_BOTLT_SSH',
151 "$2 (btlt,utf8)" TERM_UTF8_BOTLT_SSH($1, $2))
152
153 define(`MENU_TERM_UTF8_BOTRT_SSH',
154 "$2 (btrt,utf8)" TERM_UTF8_BOTRT_SSH($1, $2))
155
156 define(`TERM_UTF8_SSH_SCREEN',
157 TERM_TITLE_SSH_SCREEN_UTF8(TERM_RU_UTF8, $1, $2))
158
159 define(`MENU_TERM_UTF8_SSH_SCREEN',
160 "$2 (utf8,scr)" TERM_UTF8_SSH_SCREEN($1, $2))
161
162 define(`TERM_UTF8_BOTLT_SSH_SCREEN',
163 TERM_TITLE_SSH_SCREEN_UTF8(TERM_RU_UTF8_BOTLT, $1, $2))
164
165 define(`TERM_UTF8_BOTRT_SSH_SCREEN',
166 TERM_TITLE_SSH_SCREEN_UTF8(TERM_RU_UTF8_BOTRT, $1, $2))
167
168 define(`MENU_TERM_UTF8_BOTLT_SSH_SCREEN',
169 "$2 (btlt,utf8,scr)" TERM_UTF8_BOTLT_SSH_SCREEN($1, $2))
170
171 define(`MENU_TERM_UTF8_BOTRT_SSH_SCREEN',
172 "$2 (btrt,utf8,scr)" TERM_UTF8_BOTRT_SSH_SCREEN($1, $2))
173
174 define(`TERM_KOI8_BIG_SSH',
175 TERM_KOI8_BIG -title "$2" -n "$2" -e SSH "$1")
176
177 define(`MENU_TERM_KOI8_BIG_SSH',
178 "$2 (koi8)" TERM_KOI8_BIG_SSH($1, $2))
179
180 define(`TERM_KOI8_BIG_SSH_SCREEN',
181 TERM_KOI8_BIG -title "$2" -n "$2" -e SSH_SCREEN_KOI8 "$1")
182
183 define(`MENU_TERM_KOI8_BIG_SSH_SCREEN',
184 "$2 (koi8,scr)" TERM_KOI8_BIG_SSH_SCREEN($1, $2))
185
186 divert
187
188 ##########################################################################
189 # PATH Setup
190 #
191 # Colon seperated unix directory paths for Modules, xpm files, and bitmaps
192 #ModulePath /usr/lib/fvwm
193 ImagePath /usr/share/icons/hicolor/32x32/apps/:/usr/share/pixmaps/fvwm:/usr/share/pixmaps:/usr/include/X11/bitmaps #:/usr/local/firefox/browser/chrome/icons/default:/usr/local/firefox/browser/icons
194
195 ############################################################################
196 # COLORS and FONTS
197 #
198 # Set the fore and back border colors for the window that has focus
199 Style * HilightFore Black, HilightBack #c06077
200
201 # Set fore/back border colors for all other windows
202 Style * Color Black/#60a0c0
203
204 # Set colors/font for pop-up menus
205 # Syntax: MenuStyle forecolor backcolor shadecolor font style(fvwm/mwm)
206 MenuStyle * FVWM, Foreground Black, Background grey, Greyed SlateGrey, Font MENU_FONT
207
208 # Set fonts to use on title bar and icon label
209 Style * Font              TITLE_FONT
210
211 ############################################################################
212 # ICON Setup
213 #
214 # If you don't want icons for some or all windows (or all of them!)
215 # Style * !Icon
216
217 # If you want ALL icons to follow you around the desktop (Sticky)
218 #Style * StickyIcon
219
220 # Auto Place Icons is a nice feature (Left Top Right Bottom)
221 #Style * IconBox 10 -75 -10 -0
222
223 Style * IconFont          ICON_FONT
224
225 ############################################################################
226 # FOCUS Setup
227 #
228 # Does the window with focus control the colormap, or the one under the mouse
229 ColormapFocus FollowsMouse
230
231 # Uncomment this to force you to click in a window to give it focus
232 #Style * ClickToFocus
233
234 # default: focus follows mouse
235 #Style * MouseFocus
236 #Style * FocusFollowsMouse
237
238 # If you knock your mouse out of the term, it keeps focus while in root window
239 Style *           SloppyFocus
240
241 ############################################################################
242 # MISC Setup
243 #
244 # click/release must occur in <n milliseconds to be a "click"
245 ClickTime 250
246
247 # if the window occupies less than n% of the screen, draw it opaque
248 OpaqueMoveSize 100
249
250 # Do not flip pages on the edge of the screen, but allow to move windows
251 EdgeScroll 0 0
252 EdgeResistance 10000
253 Style * EdgeMoveDelay 500
254 Style * EdgeMoveResistance 100
255
256 # MWM Emulation: Don't ignore hints for functions and transient decoration
257 #Style * MWMFunctions, MWMDecor, MWMButtons, MWMMenus
258 Style * MWMFunctions, MWMDecor, MWMButtons
259
260 # Changes the look of the "rubberband" you see when moving windows (0 - 255)
261 XORvalue 80
262
263 ###########################################################################
264 # PAGER Setup
265 #
266 # set the desk top size in units of physical screen size (width x height)
267 DesktopSize 2 2
268
269 ############################################################################
270 # WINDOW Placement
271 #
272 Style * PositionPlacement Center
273
274 ############################################################################
275 # STYLE Flag Setup
276 #
277 # (decorations and window options)
278 # Note: Order is important!! If compatible styles are set, styles are ORed
279 # together. If conflicting styles are set, the last one specified is used.
280
281 # change the default width, set a global icon, and give borders to popups
282 Style * BorderWidth 5, HandleWidth 5, Icon unknown1.xpm
283 Style * DecorateTransient, ClickToFocusRaisesOff
284
285 Style "Fvwm*"           !Title, Sticky, WindowListSkip
286 Style "FvwmButtons"     !Handles, BorderWidth 0, Layer 2
287 Style "FvwmPager"       Layer 2
288
289 # Terminals
290 Style "*term"           Icon term.xpm
291 Style "*rxvt"           Icon term.xpm
292 Style "term-im-local"   Icon pidgin-menu.xpm
293 Style "term-im-remote"  Icon rcalc2.xpm
294 Style "term-im-*"       IconBox 630 -75 -2 -2, IconGrid 200 80
295 Style "term-im-*"       StartsOnPage 1 1 0, StartIconic
296
297 # Browsers' windows
298 Style "Certificate Manager" PositionPlacement Center
299 Style "*Downloads"      PositionPlacement 50-50w +5
300 Style "*Mozilla*"       PositionPlacement +0 -0
301
302 Style "*Chromium*"      PositionPlacement +0 -0
303
304 # IM
305 Style "Gajim"           PositionPlacement +0 -0
306 Style "* - Gajim"       MinOverlapPercentPlacement
307 # Pidgin
308 Style "Buddy List"      PositionPlacement +0 -0
309 Style "*Pidgin*"        MinOverlapPercentPlacement
310
311 # (S)MPlayer
312 Style "*MPlayer*"       Layer 6, PositionPlacement 250p 100p
313 Style "*mpv"            Layer 6, PositionPlacement 250p 100p
314
315 Style "*clock"          !Title, Sticky, WindowListSkip, Color Black/#40c040, NeverFocus, PositionPlacement 50-50w +1p, Layer 2
316 Style "deadbeef"        PositionPlacement -0 -0
317 Style "gxmessage"       PositionPlacement 50-50w +20
318 Style "*lock"           !Title, Sticky, WindowListSkip
319 Style "Mosaic"          NoPPosition
320 Style "xbiff"           Icon mail1.xpm, !Title, Sticky, WindowListSkip
321 Style "xcalc"           Icon xcalc.xpm
322 Style "xconsole"        !Title, Sticky, WindowListSkip, NeverFocus
323 Style "xload"           !Title, Sticky, WindowListSkip, NeverFocus
324 Style "xman"            Icon xman.xpm
325 Style "xmh"             Icon mail2.xpm
326 Style "xsession"        !Title, Sticky, WindowListSkip, ClickToFocus
327 Style "XXkb"            !Title, !Borders, Sticky, WindowListSkip, Layer 5
328
329 ############################################################################
330 # BUTTON Setup
331 #
332
333 ## Buttons actually being used (duplicated below)
334 # small up triangle
335 #ButtonStyle 2 4 50x35@1 65x65@0 35x65@0 50x35@1
336 # small down triangle
337 #ButtonStyle 4 4 50x65@1 35x35@1 65x35@1 50x65@0
338 # Stylized X
339 #ButtonStyle 3 16 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
340
341 ## Triangles
342 #
343 # Small up Triangle
344 # ButtonStyle * 4 50x35@1 65x65@0 35x65@0 50x35@1
345 # Small down Triangle
346 #ButtonStyle * 4 50x65@1 35x35@1 65x35@1 50x65@0
347 # Large up Triangle
348 #ButtonStyle 6 4 50x25@1 75x75@0 25x75@0 50x25@1
349 # Large down Triangle
350 #ButtonStyle 8 4 50x75@1 25x25@1 75x25@1 50x75@0
351
352 ## Boxes
353 #
354 # Big Box
355 ButtonStyle 4 5 25x25@1 25x75@1 75x75@0 75x25@0 25x25@1
356 # Little Box
357 ButtonStyle 5 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1
358 # Tall Box
359 #ButtonStyle 7 5 40x25@1 60x25@1 60x75@0 40x75@0 40x25@1
360 # Dot
361 #ButtonStyle 5 5 45x45@1 55x45@1 55x55@0 45x55@0 45x45@1
362 # Big Box with arrow (left-up to right-down) to little box (iconify)
363 #ButtonStyle 6 14 20x20@1 20x70@1 70x70@0 70x20@0 20x20@1 60x60@0 60x50@0 60x60@0 50x60@0 60x60@0 60x80@0 80x80@0 80x60@0 60x60@0
364 # Big Box with arrow (right-up to left-down) to little box (iconify)
365 ButtonStyle 6 14 70x20@0 70x70@0 20x70@1 20x20@1 70x20@1 30x60@0 30x50@0 30x60@0 40x60@0 30x60@0 30x80@0 10x80@0 10x60@0 30x60@0
366
367 ## X's
368 #
369 # Standard X
370 #ButtonStyle 3 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
371 ButtonStyle 2 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
372 # Funky X
373 #ButtonStyle 3 13 26x29@1 34x21@1 50x35@1 70x21@1 79x29@1 63x48@0 79x65@1 70x75@0 50x61@0 34x75@0 26x65@0 44x48@1 26x29@0
374 # Stylized X
375 #ButtonStyle 3 16 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
376
377 ## Lightning Bolts
378 #
379 # Small Lightning Bolt (skinny at both ends)
380 #ButtonStyle 5 7 70x15@0 30x55@1 50x55@0 40x85@1 80x45@0 60x45@1 70x15@0
381 # Big Lighting Bolt (Fat at top, comes to a point)
382 #ButtonStyle 6 8 35x15@1 20x50@1 40x50@0 30x80@1 75x40@0 50x40@1 75x15@0 35x15@1
383
384 ## Miscellaneous Buttons
385 #
386 # Nested Right Angles (looks kinda crappy)
387 #ButtonStyle 5 13 10x0@1 80x0@1 80x10@1 80x80@0 0x80@0 0x60@1 10x65@1 70x65@0 70x0@0 55x0@1 55x10@1 55x55@0 10x55@0
388 # Nested Right Angles (looks nice)
389 #ButtonStyle 6 14 0x0@1 0x20@1 20x20@0 20x0@0 0x0@1 0x25@1 25x25@1 25x0@1 55x0@1 55x55@0 0x55@0 0x60@1 60x60@1 60x0@1
390 # 4 Horizontal bars (sticky)
391 #ButtonStyle 7 12 10x23@0 90x23@0 90x28@0 10x28@1 10x47@1 90x47@0 90x52@0 10x52@1 10x70@2 90x70@0 90x76@0 10x76@1
392 ButtonStyle 3 12 10x23@0 90x23@0 90x28@0 10x28@1 10x47@1 90x47@0 90x52@0 10x52@1 10x70@2 90x70@0 90x76@0 10x76@1
393 # Expanding Windows (iconify -- looks NICE)
394 #ButtonStyle 8 16 60x40@1 60x80@0 15x80@0 15x40@1 60x40@1 40x40@1 40x25@1 75x25@1 75x60@0 60x60@0 75x60@0 75x40@0 85x40@0 85x15@0 60x15@1 60x25@1
395
396 ## Arrows Galore
397 #
398 # Up Arrow
399 #ButtonStyle 3 8 40x80@1 40x50@1 20x50@1 50x20@1 80x50@0 60x50@0 60x80@0 40x80@0
400 # Down Arrow
401 #ButtonStyle 3 8 40x20@1 40x50@1 20x50@1 50x80@1 80x50@0 60x50@0 60x20@0 40x20@1
402 # Left arrow  ( <- )
403 #ButtonStyle 7 8 80x40@1 50x40@1 50x20@1 20x50@1 50x80@0 50x60@0 80x60@0 80x40@0
404 # Right arrow ( -> )
405 #ButtonStyle 8 8 20x40@1 50x40@1 50x20@1 80x50@1 50x80@0 50x60@0 20x60@0 20x40@1
406 # Horizontal Line with arrowheads on left and right ( <-> )
407 #ButtonStyle * 12 10x50@1 35x25@1 35x40@1 65x40@1 65x25@1 90x50@1 65x75@0 65x60@0 35x60@0 35x75@0 10x50@0 10x50@1
408 # Vertical Line with arrowheads on top and bottom
409 #ButtonStyle * 12 50x10@1 25x35@1 40x35@1 40x60@1 25x60@1 50x85@1 75x60@0 60x60@0 60x35@0 75x35@0 50x10@0 50x10@1
410 # Diagonal Line with arrowheads on top and bottom ( / )
411 #ButtonStyle 5 11 80x15@1 45x15@1 55x25@1 25x55@1 15x45@1 15x80@1 50x80@0 40x70@0 70x40@0 80x50@0 80x15@0
412 # Diagonal Line with arrowheads on top and bottom ( \ )
413 #ButtonStyle 6 12 55x15@0 45x25@0 75x55@0 85x45@0 85x80@0 50x80@0 60x70@1 30x40@1 20x50@1 20x15@1 55x15@1 55x15@0
414 #
415 # the number "2"
416 #ButtonStyle 8 12 80x80@0 22x80@0 80x40@0 70x25@0 30x25@0 20x35@0 20x30@1 30x20@1 70x20@1 80x30@1 20x75@1 80x75@1
417
418 ############################################################################
419 # MOUSE Setup
420 #
421 # First, the root window. Button 1 brings up the Main Menu. B2 is the
422 # window operations list, and B3 is the winlist module
423 #     Button    Context Modifi  Function
424 Mouse 1         R       A       Menu RootMenu Nop
425 Mouse 2         R       A       Menu Window-Ops Nop
426 Mouse 3         R       A       WindowList
427
428 # Now, title bar buttons
429 # Left button is the Window-Ops2 menu
430 #     Button    Context Modifi  Function
431 Mouse 0         1       A       Menu Window-Ops2 Close
432 Mouse 0         3       A       Stick
433 Mouse 0         5       A       Center
434 # Right buttonsare iconify/maximize, rightmost is close
435 Mouse 0         2       A       Close
436 Mouse 0         4       A       Maximize toggle
437 Mouse 0         6       A       Iconify
438
439 # Button 1 in Frame or Sides is a resize-or-raise, in Icons is a move or
440 # de-iconify, and on Top does a move-or-raise
441 #     Button    Context Modifi  Function
442 Mouse 1         F       A       Resize-or-Raise
443 Mouse 1         S       A       Move-or-Raise
444 Mouse 1         I       A       Move-or-Iconify
445 #Mouse 1                T       A       Move-or-Raise
446 Mouse 1         T       A       Shadify
447
448 # Button 2 in an Icon is de-iconify, in Corners/Sides/Titlebar gets Ops Menu
449 #     Button    Context Modifi  Function
450 Mouse 2         I       A       Iconify
451 Mouse 2         FST     A       Menu Window-Ops2 Nop
452
453 # Button 3 does a raise-lower on anything
454 Mouse 3         TSIF    A       RaiseLower
455
456 ############################################################################
457 # KEYBOARD Setup
458
459 #
460 # press arrow + control + meta anywhere, and scroll by 1 page
461 Key Left        A       CM      Scroll -100 +0
462 Key Right       A       CM      Scroll +100 +0
463 Key Up          A       CM      Scroll +0   -100
464 Key Down        A       CM      Scroll +0   +100
465
466 # press arrow + meta key, and scroll by 1/10 of a page
467 Key Left        A       M       Scroll -10   +0
468 Key Right       A       M       Scroll +10   +0
469 Key Up          A       M       Scroll  +0  -10
470 Key Down        A       M       Scroll  +0  +10
471
472 # press shift arrow + control anywhere, and move the pointer by 1% of a page
473 Key Left        A       SC      CursorMove -1  +0
474 Key Right       A       SC      CursorMove +1  +0
475 Key Up          A       SC      CursorMove +0  -1
476 Key Down        A       SC      CursorMove +0  +1
477
478 # press shift arrow + meta key, and move the pointer by 1/10 of a page
479 Key Left        A       SM      CursorMove -10  +0
480 Key Right       A       SM      CursorMove +10  +0
481 Key Up          A       SM      CursorMove +0  -10
482 Key Down        A       SM      CursorMove +0  +10
483
484 # Switch window, mswindows style :)
485 Key Tab         A       M       Next [*] focus
486 Key Escape      A       M       Prev [*] focus
487
488 # Goto desktop/page
489 Key 1           A       CM      Desk 0 0
490 Key 2           A       CM      Desk 0 1
491 Key 3           A       CM      Desk 0 2
492 Key 4           A       CM      Desk 0 3
493 Key 5           A       CM      GotoPage 0 0
494 Key 6           A       CM      GotoPage 1 0
495 Key 7           A       CM      GotoPage 0 1
496 Key 8           A       CM      GotoPage 1 1
497
498 #############################################################################
499 # START-UP Functions
500 #
501 DestroyFunc InitFunction
502 AddToFunc InitFunction
503 +              I Module FvwmBacker
504 +              I Module FvwmButtons
505 +              I Module FvwmCommandS
506 +              I Module FvwmPager 0 2
507
508 DestroyFunc RestartFunction
509 AddToFunc RestartFunction
510 +              I Module FvwmBacker
511 +              I Module FvwmButtons
512 +              I Module FvwmCommandS
513 +              I Module FvwmPager 0 2
514 +              I Schedule 1000 Raise-All
515
516 DestroyFunc UrgencyFunc
517 AddToFunc UrgencyFunc
518 +                             I Iconify off
519 +                             I ThisWindow ("*Downloads|Skype") Break
520 +                             I FlipFocus
521 +                             I Raise
522 +                             I WarpToWindow 5p 5p
523
524 DestroyFunc StartStandardSession
525 AddToFunc StartStandardSession
526 +              I GotoDeskAndPage 0 0 0
527 +              I TERM_KOI8
528 +              I Wait TERM
529 +              I Exec exec cgmem_nice 200 pulseaudio --start
530 +              I PaVuControl
531 +              I Exec exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
532 +              I XsetbgFilename
533 +              I Wait gxmessage
534 +              I GotoDeskAndPage 2 0 1
535 +              I TERM_KOI8_BIG
536 +              I Wait TERM
537 +              I FireFox
538 +              I GotoDeskAndPage 0 1 1
539
540 DestroyFunc ResumeFunction
541 AddToFunc ResumeFunction
542 +              I GotoDeskAndPage 0 0 0
543 +              I TERM_KOI8
544 +              I Wait TERM
545 +              I Exec exec cgmem_nice 200 pulseaudio --start
546 +              I None ("Volume Control") PaVuControl
547 +              I Exec sleep 10; exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
548 +              I XsetbgFilename
549 +              I Wait gxmessage
550 +              I Any ("*Mozilla Firefox") GotoDeskAndPage 0 1 1
551 +              I TestRc (Match) Break
552 +              I None ("*Mozilla Firefox") FireFox
553
554 ############################################################################
555 # COMPLEX FUNCTIONS
556 #
557 DestroyFunc Center
558 AddToFunc Center                I Move 50-50w 50-50w
559 +                               I WarpToWindow 74p 18p
560
561 DestroyFunc Iconify-and-Raise
562 AddToFunc Iconify-and-Raise     I Iconify
563 +                               I Raise
564
565 DestroyFunc Maximize-Func
566 AddToFunc Maximize-Func         C Maximize     toggle
567 +                               D Maximize     100 100
568
569 DestroyFunc Move-or-Iconify
570 AddToFunc Move-or-Iconify       I Raise
571 +                               M Move
572 +                               D Iconify
573
574 DestroyFunc Move-or-Raise
575 AddToFunc Move-or-Raise         I Raise
576 +                               M Move
577 +                               D Lower
578
579 DestroyFunc Move-or-Raise2
580 AddToFunc Move-or-Raise2        M Raise
581 +                               M Move
582 +                               D Lower
583
584 DestroyFunc Resize-or-Raise
585 AddToFunc Resize-or-Raise       I Raise
586 +                               M Resize
587 +                               D Lower
588
589 DestroyFunc Resize-or-Raise2
590 AddToFunc Resize-or-Raise2      M Raise
591 +                               M Resize
592 +                               D Lower
593
594 DestroyFunc Shadify
595 AddToFunc Shadify               D WindowShade
596 +                               M Move
597 +                               C RaiseLower
598
599 DestroyFunc warp-or-run
600 AddToFunc warp-or-run           I Next [$0 CirculateHit] Iconify -1
601 +                               I Next [$0 CirculateHit] Focus
602 +                               I None [$0] $1
603
604 DestroyFunc MailFunction
605 AddToFunc MailFunction          I Next [$0] Iconify -1
606 +                               I Next [$0] focus
607 +                               I None [$0] Exec exec $0 $1
608
609 DestroyFunc PrintFunction
610 AddToFunc PrintFunction         I Raise
611 +                               I Exec exec xdpr -id $w
612
613 DestroyFunc Raise-All
614 AddToFunc Raise-All           I All Raise
615
616 ##############################################################################
617 # User-defined functions
618 #
619
620 DestroyFunc PaVuControl
621 AddToFunc PaVuControl         I GotoDeskAndPage 0 1 1
622 +                             I Exec exec pulseaudio --kill
623 +                             I Exec exec cgmem_nice 200 pulseaudio --start
624 +                             I Exec exec cgmem_nice 200 pavucontrol
625 +                             I Wait "Volume Control"
626
627 changequote([,])
628 DestroyFunc Id3Info
629 AddToFunc Id3Info             I Exec "$HOME"/lib/audio/mp3/id3info.py "`audtool --current-song-filename`" | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
630 changequote([`], ['])
631
632 DestroyFunc AudioPlayer
633 AddToFunc AudioPlayer         I GotoDeskAndPage 0 1 1
634 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 400 deadbeef
635
636 DestroyFunc Term-Iskra
637 AddToFunc Term-Iskra          I GotoDeskAndPage 1 1 2
638 +                             I TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
639
640 DestroyFunc Term-Iskra-Big
641 AddToFunc Term-Iskra-Big      I GotoDeskAndPage 1 1 2
642 +                             I TERM_KOI8_BIG_SSH(iskra-aviel.phdru.name, ISKRA)
643
644 DestroyFunc Term-Oper
645 AddToFunc Term-Oper           I GotoDeskAndPage 1 1 2
646 +                             I TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper)
647
648 DestroyFunc Term-Oper-Big
649 AddToFunc Term-Oper-Big       I GotoDeskAndPage 1 1 2
650 +                             I TERM_KOI8_BIG_SSH(oper.med.ru, OPER)
651
652 DestroyFunc Term-Phdru
653 AddToFunc Term-Phdru          I GotoDeskAndPage 1 0 1
654 +                             I TERM_KOI8_SSH_SCREEN(phdru.name, phdru.name)
655
656 DestroyFunc Term-Phdru-Big
657 AddToFunc Term-Phdru-Big      I GotoDeskAndPage 1 0 1
658 +                             I TERM_KOI8_BIG_SSH(phdru.name, phdru.name)
659
660 DestroyFunc Term3Hosts
661 AddToFunc Term3Hosts          I Term-Iskra
662 +                             I Wait TERM
663 +                             I Term-Oper
664 +                             I Wait TERM
665 +                             I GotoDeskAndPage 1 0 1
666 +                             I TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru.name)
667 +                             I Wait TERM
668 +                             I GotoDeskAndPage 1 1 2
669
670 DestroyFunc FireFox
671 AddToFunc FireFox             I Any ("*Mozilla Firefox") Break
672 +                             I GotoDeskAndPage 1 0 0
673 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 4000 start-browser firefox -P phd
674 +                             I Wait "*Mozilla Firefox"
675 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 4000 firefox --new-window
676 +                             I Wait "*Mozilla Firefox"
677 +                             I Next ("*Mozilla Firefox") Iconify true
678
679 DestroyFunc Gajim
680 AddToFunc Gajim               I GotoDeskAndPage 1 1 0
681 +                             I Exec exec cgmem_nice 300 gajim
682
683 DestroyFunc Pidgin
684 AddToFunc Pidgin              I GotoDeskAndPage 1 1 0
685 +                             I Exec exec cgmem_nice 300 pidgin
686
687 DestroyFunc Skype
688 AddToFunc Skype               I GotoDeskAndPage 0 0 1
689 +                             I Exec BROWSER=firefox exec cgmem_nice 1000 skypeforlinux
690
691 DestroyFunc XFilename
692 AddToFunc XSetbgFilename      I Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
693
694 ##############################################################################
695 # MENU Setup
696 #
697
698 # This defines the most common window operations
699 AddToMenu Window-Ops    "Window Ops"    Title
700 +                       "Center"        Center
701 +                       "Move"          Move-or-Raise2
702 +                       "Resize"        Resize-or-Raise2
703 +                       "Raise"         Raise
704 +                       "Lower"         Lower
705 +                       "(De)Iconify"   Iconify
706 +                       "(Un)Stick"     Stick
707 +                       "(Un)Maximize"  maximize_func
708 +                       ""              Nop
709 +                       "Delete"        Delete
710 +                       "Close"         Close
711 +                       "Destroy"       Destroy
712 +                       ""              Nop
713 +                       "Refresh Screen" Refresh
714
715 # A trimmed down version of "Window Ops", good for binding to decorations
716 DestroyMenu Window-Ops2
717 AddToMenu Window-Ops2   "Center"        Center
718 +                       "Move"          Move-or-Raise
719 +                       "Iconify"       Iconify
720 +                       "(Un)Stick"     Stick
721 +                       "Refresh"       RefreshWindow
722 +                       ""              Nop
723 +                       "Close"         Close
724 +                       "Delete"        Delete
725 +                       "Destroy"       Destroy
726 +                       ""              Nop
727 +                       "Resize"        Resize-or-Raise
728 +                       "Shade"         WindowShade
729 +                       "Raise/Lower"   RaiseLower
730 +                       ""              Nop
731 +                       "ScrollBar"     Module FvwmScroll 2 2
732 +                       "Print"         PrintFunction
733
734 AddToMenu Terminals     "Terminals" Title
735 +               "Grey term (koi8)" TERM_KOI8
736 +               "Grey term (utf8)" TERM_RU_UTF8
737 +               "Grey term (heb-utf8)" TERM_HEB_UTF8
738 +               "Grey term (btlt,koi8)" TERM_KOI8_BOTLT
739 +               "Grey term (btrt,koi8)" TERM_KOI8_BOTRT
740 +               "Grey term (btlt,utf8)" TERM_RU_UTF8_BOTLT
741 +               "Grey term (btrt,utf8)" TERM_RU_UTF8_BOTRT
742 +               "Big grey term (koi8)" TERM_KOI8_BIG
743 +               "Big grey term (utf8)" TERM_UTF8_BIG
744 +                       ""      Nop
745 +               "White/black term (koi8)" TERM_KOI8 -fg white -cr white -bg black
746 +               "White/black term (utf8)" TERM_RU_UTF8 -fg white -bg black
747
748 AddToMenu TermColors    "Term Colors" Title
749 +                       "Term: black/mediumturquoise" TERM_KOI8 -fg black -cr black -bg mediumturquoise
750 +                       "Term: black/lightseagreen" TERM_KOI8 -fg black -cr black -bg lightseagreen
751 +                       ""      Nop
752 +                       "Term: black/lightsteelblue" TERM_KOI8 -fg black -cr black -bg lightsteelblue
753 +                       "Term: black/lightblue3" TERM_KOI8 -fg black -cr black -bg lightblue3
754 +                       ""      Nop
755 +                       "Term: black/lightgoldenrod" TERM_KOI8 -fg black -cr black -bg lightgoldenrod
756 +                       "Term: black/rosybrown1" TERM_KOI8 -fg black -cr black -bg rosybrown1
757 +                       "Term: black/pink1" TERM_KOI8 -fg black -cr black -bg pink1
758 +                       ""      Nop
759 +                       "Term: white/orchid4" TERM_KOI8 -fg white -cr white -bg orchid4
760 +                       "Term: white/purple3" TERM_KOI8 -fg white -cr white -bg purple3
761 +                       "Term: white/purple4" TERM_KOI8 -fg white -cr white -bg purple4
762 +                       ""      Nop
763 +                       "Term: white/lightslategrey" TERM_KOI8 -fg white -cr white -bg lightslategrey
764 +                       "Term: white/navyblue" TERM_KOI8 -fg white -cr white -bg navyblue
765 +                       "Term: white/mediumblue" TERM_KOI8 -fg white -cr white -bg mediumblue
766 +                       "Term: white/steelblue" TERM_KOI8 -fg white -cr white -bg steelblue
767 +                       ""      Nop
768 +                       "Term: white/forestgreen" TERM_KOI8 -fg white -cr white -bg forestgreen
769 +                       "Term: white/rosybrown" TERM_KOI8 -fg white -cr white -bg rosybrown
770 +                       "Term: white/deeppink" TERM_KOI8 -fg white -cr white -bg deeppink
771 +                       "Term: white/black" TERM_KOI8 -fg white -cr white -bg black
772
773 AddToMenu Systems       "Systems" Title
774 +                       "Iskra+Oper+Phdru" Term3Hosts
775 +                       ""        Nop
776 +                       MENU_TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
777 +                       MENU_TERM_UTF8_BOTLT_SSH(iskra-aviel.phdru.name, iskra)
778 +                       MENU_TERM_KOI8_BIG_SSH(iskra-aviel.phdru.name, ISKRA)
779 +                       ""        Nop
780 +                       MENU_TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper)
781 +                       MENU_TERM_UTF8_BOTRT_SSH(oper.med.ru, oper)
782 +                       MENU_TERM_KOI8_BIG_SSH(oper.med.ru, OPER)
783 +                       ""        Nop
784 +                       MENU_TERM_KOI8_SSH_SCREEN(phdru.name, phdru)
785 +                       MENU_TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru SOCKS5)
786 +                       MENU_TERM_UTF8_BOTLT_SSH(phdru.name, phdru)
787 +                       MENU_TERM_KOI8_BIG_SSH(phdru.name, PHDRU)
788
789 AddToMenu FvwmCommands  "Fvwm Commands" Title
790 +                       "Restart" Restart
791 +                       "Raise all" Raise-All
792 #+                       "Restart Fvwm2" Restart fvwm2
793 #+                       "Start Fvwm"    Restart fvwm
794 +                       "Fvwm Setup"    Popup FvwmSetup
795 +                       "Fvwm Modules"  Popup FvwmModules
796 +                       "" Nop
797 +                       "Exit Fvwm"     Quit
798
799 AddToMenu FvwmSetup     "Fvwm Setup" Title
800 +                       "Start standard session" StartStandardSession
801 +                       "Change Scrolling"      Popup FvwmScroll
802
803 AddToMenu FvwmScroll    "Change Scroll Behavior" Title
804 +                       "OFF"   EdgeScroll 0 0
805 +                       "ON"    EdgeScroll 100 100
806 +                       "Horizontal Only"       EdgeScroll 100 0
807 +                       "Vertical Only"         EdgeScroll 0 100
808 +                       "Partial"               EdgeScroll 50 50
809
810 AddToMenu FvwmModules   "Fvwm Modules" Title
811 +                       "Animate"      Module FvwmAnimate
812 +                       "Auto"         Module FvwmAuto
813 +                       "Backer"       Module FvwmBacker
814 +                       "Banner"       Module FvwmBanner
815 +                       "Buttons"      Module FvwmButtons
816 +                       "Cascade"      Module FvwmCascade
817 +                       "CommandS"     Module FvwmCommandS
818 +                       "Console"      Module FvwmConsole
819 +                       "ConsoleC"     Module FvwmConsoleC -e FvwmConsoleC.pl
820 +                       "Cpp"          Module FvwmCpp
821 +                       "Debug"        Module FvwmDebug
822 +                       "DragWell"     Module FvwmDragWell
823 +                       "Event"        Module FvwmEvent
824 +                       "Form"         Module FvwmForm
825 +                       "Gtk"          Module FvwmGtk
826 +                       "IconBox"      Module FvwmIconBox
827 +                       "IconMan"      Module FvwmIconMan
828 +                       "Ident"        Module FvwmIdent
829 +                       "M4"           Module FvwmM4
830 +                       "Pager"        Module FvwmPager 0 2
831 +                       "Rearrange"    Module FvwmRearrange
832 +                       "Save"         Module FvwmSave
833 +                       "SaveDesk"     Module FvwmSaveDesk
834 +                       "Script"       Module FvwmScript
835 +                       "Scroll"       Module FvwmScroll
836 +                       "TaskBar"      Module FvwmTaskBar
837 +                       "Theme"        Module FvwmTheme
838 +                       "Tile"         Module FvwmTile
839 +                       "Wharf"        Module FvwmWharf
840 +                       "WinList"      Module FvwmWinList
841
842 # This is the root menu
843 AddToMenu RootMenu "Root Menu"  Title
844 +               "Terminals"     Popup Terminals
845 #+               "Color term"    Popup TermColors
846 +               "Systems"       Popup Systems
847 +               ""              Nop
848 +               "Browsers"      Popup Browsers
849 +               "Utilities"     Popup Utilities
850 #+               ""              Nop
851 #+               "Lock Screen"   Popup XlockMenu
852 +               "XScreenSaver"  Popup XScreenSaverMenu
853 #+               "Tv-tuner"      Popup Tv-tuner
854 +               ""              Nop
855 +               "XSetBg"        Popup XSetBgMenu
856 +               "Fvwm Commands" Popup FvwmCommands
857
858 DestroyMenu OSMenu
859 AddToMenu OSMenu        "OS commands:" Title
860 +                       "Suspend to both" Exec exec s2b
861 +                       "Suspend to disk" Exec exec s2d
862 +                       "Suspend to ram"  Exec exec s2r
863
864 # This menu will fire up some often used programs
865 DestroyMenu Utilities
866 AddToMenu Utilities     "Choose one:" Title
867 +                       "OS"     Popup OSMenu
868 +                       ""       Nop
869 +                       "GVim (koi8)" Exec LC_CTYPE=ru_RU.KOI8-R exec gvim
870 +                       "GVim (utf8)" Exec LC_CTYPE=ru_RU.UTF-8  exec gvim
871 +                       ""       Nop
872 +                       "Refresh Screen" Refresh
873 +                       "xrefresh" Exec exec xrefresh
874 +                       ""       Nop
875 +                       "Skype" Skype
876 +                       "pavucontrol" PaVuControl
877
878 DestroyMenu  Browsers
879 AddToMenu Browsers      "Choose one:" Title
880 +                       "FireFox" FireFox
881 +                       "Chromium" None ("*Chromium") Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 2000 start-browser chromium
882 +                       "Opera" None ("*Opera") Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 2000 start-browser opera
883
884 # A wide variety of screenlocking options...
885 #AddToMenu XlockMenu     "Choose one:" Title
886 #+                       "Hop" Exec exec xlock -mode hop
887 #+                       "Image" Exec exec xlock -mode image
888 #+                       "Life" Exec exec xlock -mode life
889 #+                       "Flame" Exec exec xlock -mode flame
890 #+                       "Pyro" Exec exec xlock -mode pyro
891 #+                       "Qix" Exec exec xlock -mode qix
892 #+                       "Rotor" Exec exec xlock -mode rotor
893 #+                       "Swarm" Exec exec xlock -mode swarm
894 #+                       "" Nop
895 #+                       "Random" Exec exec xlock -mode random
896 #+                       "Blank" Exec exec xlock -mode blank
897
898 AddToMenu XScreenSaverMenu     "Choose mode:" Title
899 +                       "Blank Screen Now" Exec exec xscreensaver-command -activate
900 +                       "Lock Screen Now"  Exec exec xscreensaver-command -lock
901 +                       "Screen Saver Demo" Exec exec xscreensaver-command -demo
902 +                       "Screen Saver Preferences"  Exec exec xscreensaver-command -prefs
903 +                       "Reinitialize Screen Saver" Exec exec xscreensaver-command -restart
904 +                       "" Nop
905 +                       "Kill Screen Saver"         Exec exec xscreensaver-command -exit
906 +                       "Launch Screen Saver"       Exec exec xscreensaver
907
908 AddToMenu XSetBgMenu    "XSetBg" Title
909 +                       "Change wallpaper" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-force
910 +                       "Start" Exec exec cgmem_nice 100 "$HOME"/current/projects/xsetbg/xsetbg-http-start
911 +                       "Stop" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-stop
912 +                       "Restart" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-restart
913 +                       ""       Nop
914 changequote([,])
915 +                       "Xli" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" "$fn"
916 +                       "Xli (scaled)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" -zoom auto "$fn"
917 +                       "Open in browser" Exec exec webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`"
918 +                       "Filename" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r
919 +                       "XFilename" Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
920 +                       "XFilename (wrapped)" XSetbgFilename
921 +                       ""       Nop
922 +                       "Xli (prev.)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" "$fn"
923 +                       "Xli (prev., scaled)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" -zoom auto "$fn"
924 +                       "Open in browser (prev.)" Exec exec webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`"
925 changequote([`], ['])
926 +                       "Filename (prev.)" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r 1
927 +                       "XFilename (prev.)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
928 +                       "XFilename (prev., wrapped)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
929
930 ############################################################################
931 # FvwmBacker
932 #
933 #*FvwmBacker: Command (Desk 0, Page * *) -solid DarkCyan
934 #*FvwmBacker: Command (Desk 1, Page * *) -solid steelblue
935 #*FvwmBacker: Command (Desk 2, Page * *) -solid midnightblue
936 *FvwmBacker: Command (Desk *, Page * *) Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-change
937
938 ############################################################################
939 # FvwmButtons
940 #
941 # Colors
942 *FvwmButtons: Fore Black
943 *FvwmButtons: Back rgb:90/80/90
944
945 # Font
946 *FvwmButtons: Font BUTTONS_FONT
947
948 # Geometry-- really likes to pick its own size, but giving a position is OK
949 *FvwmButtons: Geometry -1+1
950
951 # Layout: specify rows or columns, not both
952 *FvwmButtons: Rows 2 #, Columns 5
953
954 # Transparent background
955 #*FvwmButtons: Pixmap none
956 # Background
957 #*FvwmButtons: Pixmap fvwm.xpm
958
959 # Define the buttons to use.....
960 #*FvwmButtons: Move              arrows2.xpm     Move
961 #*FvwmButtons: Kill              skull.xpm       Destroy
962 #*FvwmButtons: Quit              nuke.xpm        Popup "Quit-Verify"
963
964 #*FvwmButtons: (Swallow XClock 'Exec exec xclock -update 1 -geometry -3000-3000')
965
966 # Buttons
967 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM')
968 pushdef(`TERM_RU_UTF8', `Exec "URxvt" LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')
969 *FvwmButtons: (Title Term,     Icon rterm2.xpm,      Action TERM_KOI8)
970 *FvwmButtons: (Title UTF-8,    Icon rterm2.xpm,      Action TERM_RU_UTF8)
971 *FvwmButtons: (Title "phdru (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(phdru.name, phdru.name))
972 *FvwmButtons: (Title "iskra (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra))
973 *FvwmButtons: (Title "oper (k8,s)",     Icon xterm-linux.xpm, Action TERM_KOI8_BOTRT_SSH_SCREEN(oper.med.ru, oper))
974 popdef(`TERM_KOI8', `TERM_RU_UTF8')
975
976 *FvwmButtons: (Title Wallpaper, Icon find1.xpm,        Action Exec "gxmessage" "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -)
977 *FvwmButtons: (Title "-1",      Icon find1.xpm,        Action Exec "gxmessage" "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -)
978 *FvwmButtons: (Title Next,      Icon Jrecycle.xpm,     Action Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-force)
979 #*FvwmButtons: (Title pavucontrol, Icon mini.sound.xpm, Action Exec "Volume Control" exec cgmem_nice 200 pavucontrol)
980 #*FvwmButtons: (Title Id3Info,  Icon bell.xpm,         Action Id3Info)
981 *FvwmButtons: (Title AudioPlayer,  Icon bell.xpm,      Action Exec "deadbeef" LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 400 deadbeef)
982 #*FvwmButtons: (Title XLock,     Icon Jxlock.xpm,      Action Exec exec xscreensaver-command -lock)
983 *FvwmButtons: (Title Skype,    Icon skypeforlinux.png, Action Skype)
984
985 ############################################################################
986 # FvwmForm
987 #
988 # FvwmForm alias - rlogin to host via term
989 #FvwmForm Rlogin
990 #*Rlogin: WarpPointer
991 #*Rlogin: Font         *helvetica*m*r*n*14*
992 #*Rlogin: ButtonFont   *helvetica*m*o*n*14*
993 #*Rlogin: InputFont    *cour*m*r*n*14*
994 #*Rlogin: Fore         Black
995 #*Rlogin: Back         Light Gray
996 #*Rlogin: ItemFore          Wheat
997 #*Rlogin: ItemBack          Gray50
998 ## begin items
999 #*Rlogin: Line         center
1000 #*Rlogin: Text         "Login to Remote Host"
1001 #*Rlogin: Line         center
1002 #*Rlogin: Text         "Host:"
1003 #*Rlogin: Input        HostName  20   ""
1004 #*Rlogin: Line         center
1005 #*Rlogin: Selection    UserSel   single
1006 #*Rlogin: Choice       Default   Default   on   "same user"
1007 #*Rlogin: Choice       Custom    Custom    off  "user:"
1008 #*Rlogin: Input        UserName  10   ""
1009 #*Rlogin: Line         expand
1010 #*Rlogin: Button       quit "Login" ^M
1011 `#'*Rlogin: Command      TERM_KOI8 -T term@$(HostName) -e rlogin $(HostName) $(Custom?-l $(UserName))
1012 #*Rlogin: Button       restart   "Clear"
1013 #*Rlogin: Command Beep
1014 #*Rlogin: Button       quit "Cancel"
1015 #*Rlogin: Command Nop
1016 ##
1017 ## FvwmForm alias - query exit ala mwm
1018 #FvwmForm QuitVerify
1019 #*QuitVerify: GrabServer
1020 #*QuitVerify: WarpPointer
1021 #*QuitVerify: Font          *helvetica*m*r*n*14*
1022 ##*QuitVerify: ButtonFont    *helvetica*m*o*n*14*
1023 #*QuitVerify: ButtonFont    7x13bold
1024 #*QuitVerify: Fore          Black
1025 #*QuitVerify: Back          Light Gray
1026 #*QuitVerify: ItemFore Wheat
1027 #*QuitVerify: ItemBack Gray50
1028 ## begin items
1029 #*QuitVerify: Line          center
1030 #*QuitVerify: Text          "Do you really want to exit FVWM?"
1031 #*QuitVerify: Line          expand
1032 #*QuitVerify: Button   quit      " Exit "
1033 #*QuitVerify: Command  Quit
1034 #*QuitVerify: Button   quit      "Cancel"
1035 #*QuitVerify: Command  Nop
1036 #
1037 ##
1038 ## MyTalk & MyFvwmTalk from Dave Goldberg
1039 ## MyTalk Form - dissappears after use
1040 #FvwmForm MyTalk
1041 #*MyTalk: WarpPointer
1042 #*MyTalk: Font *helvetica*m*r*n*14*
1043 #*MyTalk: ButtonFont *helvetica*m*o*n*14*
1044 #*MyTalk: InputFont *cour*m*r*n*14*
1045 #*MyTalk: Fore Red
1046 #*MyTalk: Back Gray
1047 #*MyTalk: ItemFore Blue
1048 #*MyTalk: ItemBack Gray
1049 #*MyTalk: Line center
1050 #*MyTalk: Text "Fvwm Function"
1051 #*MyTalk: Input Func 40 ""
1052 #*MyTalk: Line expand
1053 #*MyTalk: Button quit "Run" ^M
1054 #*MyTalk: Command $(Func)
1055 #*MyTalk: Button restart "Clear" ^R
1056 #*MyTalk: Button quit "Cancel" ^C
1057 #*MyTalk: Command Nop
1058 ##
1059 ## MyFvwmTalk Form - sticks around
1060 #FvwmForm MyFvwmTalk
1061 #*MyFvwmTalk: WarpPointer
1062 #*MyFvwmTalk: Font *helvetica*m*r*n*14*
1063 #*MyFvwmTalk: ButtonFont *helvetica*m*o*n*14*
1064 #*MyFvwmTalk: InputFont *cour*m*r*n*14*
1065 #*MyFvwmTalk: Fore Red
1066 #*MyFvwmTalk: Back Gray
1067 #*MyFvwmTalk: ItemFore Blue
1068 #*MyFvwmTalk: ItemBack Gray
1069 #*MyFvwmTalk: Line center
1070 #*MyFvwmTalk: Text "Fvwm Function"
1071 #*MyFvwmTalk: Input Func 40 ""
1072 #*MyFvwmTalk: Line expand
1073 #*MyFvwmTalk: Button restart "Run" ^M
1074 #*MyFvwmTalk: Command $(Func)
1075 #*MyFvwmTalk: Button restart "Clear" ^R
1076 #*MyFvwmTalk: Command Nop
1077 #*MyFvwmTalk: Button restart "Iconify" ^Z
1078 #*MyFvwmTalk: Command Next [MyFvwmTalk] Iconify
1079 #*MyFvwmTalk: Button quit "Quit" ^C
1080 #*MyFvwmTalk: Command Nop
1081
1082 ############################################################################
1083 # FvwmIconBox
1084 #
1085 # NOTE: Icons will only be shown in module if "Style * !Icon" is set
1086 *FvwmIconBox: IconBack    #cfcfcf
1087 *FvwmIconBox: IconHiFore  black
1088 *FvwmIconBox: IconHiBack  LightSkyBlue
1089 *FvwmIconBox: Back        #5f9ea0
1090 #*FvwmIconBox: Fore       blue
1091 *FvwmIconBox: Geometry    5x1+0+0
1092 *FvwmIconBox: MaxIconSize 64x38
1093 *FvwmIconBox: Font        ICON_BOX_FONT
1094 *FvwmIconBox: SortIcons   IconName
1095 *FvwmIconBox: Padding     4
1096 *FvwmIconBox: Lines       10
1097 *FvwmIconBox: SBWidth     11
1098 *FvwmIconBox: Placement   Left Top
1099 *FvwmIconBox: Pixmap      fvwm.xpm
1100 #*FvwmIconBox: HideSC Horizontal
1101 *FvwmIconBox: SetWMIconSize
1102 *FvwmIconBox: HilightFocusWin
1103 #*FvwmIconBox: Resolution          Desk
1104 *FvwmIconBox: Mouse       1       Click           RaiseLower
1105 *FvwmIconBox: Mouse       1       DoubleClick     Iconify
1106 *FvwmIconBox: Mouse       2       Click           Iconify -1, Focus
1107 *FvwmIconBox: Mouse       3       Click           Module FvwmIdent
1108 *FvwmIconBox: Key         r       RaiseLower
1109 *FvwmIconBox: Key         space   Iconify
1110 *FvwmIconBox: Key         d       Close
1111 *FvwmIconBox: Key         n       Next
1112 *FvwmIconBox: Key         p       Prev
1113 *FvwmIconBox: Key         h       Left
1114 *FvwmIconBox: Key         j       Down
1115 *FvwmIconBox: Key         k       Up
1116 *FvwmIconBox: Key         l       Right
1117
1118 ############################################################################
1119 # FvwmIdent
1120 #
1121 # Give us colors and a fonts
1122 *FvwmIdent: Back MidnightBlue
1123 *FvwmIdent: Fore Yellow
1124 *FvwmIdent: Font IDENT_FONT
1125
1126 ############################################################################
1127 # FvwmPager
1128 #
1129 *FvwmPager: Back #908090
1130 *FvwmPager: Fore #484048
1131 *FvwmPager: Font TITLE_FONT
1132 *FvwmPager: Hilight #cab3ca
1133 *FvwmPager: Geometry PAGER_GEOM
1134 *FvwmPager: Label 0 System
1135 *FvwmPager: Label 1 Net
1136 *FvwmPager: Label 2 Work
1137 *FvwmPager: SmallFont SMALL_PAGER_FONT
1138
1139 *FvwmPager: Balloons All
1140 *FvwmPager: BalloonBack #efe3b5
1141 *FvwmPager: BalloonFore Black
1142 *FvwmPager: BalloonFont ICON_FONT
1143 *FvwmPager: BalloonYOffset +2
1144 *FvwmPager: BalloonBorderWidth 1
1145 *FvwmPager: BalloonBorderColor Black
1146
1147 ############################################################################
1148 # FvwmScroll
1149 #
1150 *FvwmScroll: Back grey40
1151 *FvwmScroll: Fore green
1152
1153 ############################################################################
1154 # FvwmWinList
1155 #
1156 *FvwmWinList: Back #908090
1157 *FvwmWinList: Fore Black
1158 *FvwmWinList: Font WIN_LIST_FONT
1159 *FvwmWinList: Action Click1 Iconify -1, Focus
1160 *FvwmWinList: Action Click2 Iconify
1161 *FvwmWinList: Action Click3 Module "FvwmIdent: " FvwmIdent
1162 *FvwmWinList: UseSkipList
1163 *FvwmWinList: Geometry +10-10