Force windows on-screen when using:
[fvwm.git] / modules / FvwmWindowMenu / FvwmWindowMenu.1
blob31bfce0ba52b7822a873274e0b63de65dc0e15fc
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
131 .IX Title "FvwmWindowMenu 1"
132 .TH FvwmWindowMenu 1 "2004-06-29" "perl v5.8.3" "Fvwm Modules"
133 .SH "NAME"
134 FvwmWindowMenu \- open configurable fvwm menu listing current windows
135 .SH "SYNOPSIS"
136 .IX Header "SYNOPSIS"
137 FvwmWindowMenu should be spawned by \fIfvwm\fR\|(1) for normal functionality.
139 Run this module from your StartFunction:
141 .Vb 2
142 \&    AddToFunc StartFunction
143 \&    + I Module FvwmWindowMenu
145 .SH "DESCRIPTION"
146 .IX Header "DESCRIPTION"
147 A substitute for \fIfvwm\fR builtin \fBWindowList\fR, but written in Perl
148 and easy to customize. Unlike \fBFvwmIconMan\fR or \fBFvwmWinList\fR the
149 module does not draw its own window, but instead creates an
150 \&\fIfvwm\fR menu and asks \fIfvwm\fR to pop it up.
152 By defining a set of regular expressions, windows may
153 be sorted into sections based on a regexp matching the window
154 name, class or resource and included in the menu.
156 Similarly, another set of regular expressions can be used to exclude
157 items from the menu.
159 Any windows not matching an instance of the include or exclude list will
160 be placed in the last section of the menu.
161 .SH "USAGE"
162 .IX Header "USAGE"
163 Run the module, supposedly from StartFunction in \fI.fvwm2rc\fR:
165 .Vb 1
166 \&    Module FvwmWindowMenu
169 To actually invoke the menu add something like:
171 .Vb 2
172 \&    Key Menu A N SendToModule FvwmWindowMenu \e
173 \&        Post Root c c SelectOnRelease Menu
178 .Vb 1
179 \&    Mouse 2 A N SendToModule FvwmWindowMenu Popup
182 The additional parameters are any valid \fBMenu\fR command parameters without a
183 menu name, see fvwm.
185 Recognized actions are \fBPost\fR (or its alias \fBMenu\fR) and \fBPopup\fR, they
186 create \fIfvwm\fR menus and invoke them using the corresponding commands
187 \&\fBMenu\fR and \fBPopup\fR. If the module was started with \*(L"\-g\*(R" switch, it
188 additionally supports \fBPostBar\fR (not implemented yet).
190 Set module options for windows to include (Show) or exclude (DontShow).
191 The syntax is:
193 .Vb 6
194 \&    *FvwmWindowMenu: ShowName pattern
195 \&    *FvwmWindowMenu: ShowClass pattern
196 \&    *FvwmWindowMenu: ShowResource pattern
197 \&    *FvwmWindowMenu: DontShowName pattern
198 \&    *FvwmWindowMenu: DontShowClass pattern
199 \&    *FvwmWindowMenu: DontShowResource pattern
202 Pattern is a perl regular expression that will be evaluated in m// context.
203 See \fIperlre\fR\|(1).
205 For example:
207 .Vb 2
208 \&    *FvwmWindowMenu: ShowResource ^gvim
209 \&    *FvwmWindowMenu: ShowName Galeon|Navigator|mozilla-bin|Firefox
212 will define two sections containing respectively browsers, and GVim. A third
213 section will contain all other windows.
215 To only include matching windows, add:
217 .Vb 1
218 \&    *FvwmWindowMenu: DontShowName .*
221 Similarly:
223 .Vb 2
224 \&    *FvwmWindowMenu: DontShowName ^Fvwm
225 \&    *FvwmWindowMenu: DontShowClass Gkrellm
228 will cause the menu to ignore windows with name beginning with Fvwm
229 or class gkrellm.
231 Other options:
232 .IP "*FvwmWindowMenu: \fIOnlyIconified\fR {on|off}" 4
233 .IX Item "*FvwmWindowMenu: OnlyIconified {on|off}"
234 show only iconified windows
235 .IP "*FvwmWindowMenu: \fIAllDesks\fR {on|off}" 4
236 .IX Item "*FvwmWindowMenu: AllDesks {on|off}"
237 show windows from all desks
238 .IP "*FvwmWindowMenu: \fIAllPages\fR {on|off}" 4
239 .IX Item "*FvwmWindowMenu: AllPages {on|off}"
240 show windows from all pages
241 .IP "*FvwmWindowMenu: \fIMaxLen\fR 32" 4
242 .IX Item "*FvwmWindowMenu: MaxLen 32"
243 max length in chars of entry
244 .IP "*FvwmWindowMenu: \fIMenuName\fR MyMenu" 4
245 .IX Item "*FvwmWindowMenu: MenuName MyMenu"
246 name of menu to popup
247 .IP "*FvwmWindowMenu: \fIMenuStyle\fR MyMenuStyle" 4
248 .IX Item "*FvwmWindowMenu: MenuStyle MyMenuStyle"
249 name of MenuStyle to apply
250 .IP "*FvwmWindowMenu: \fIDebug\fR {0,1,2,3}" 4
251 .IX Item "*FvwmWindowMenu: Debug {0,1,2,3}"
252 level of debug info output, 0 means no debug
253 .IP "*FvwmWindowMenu: \fIFunction\fR MyWindowListFunc" 4
254 .IX Item "*FvwmWindowMenu: Function MyWindowListFunc"
255 function to invoke on menu entries; defaults to WindowListFunc
256 .IP "*FvwmWindowMenu: \fIItemFormat\fR formatstring" 4
257 .IX Item "*FvwmWindowMenu: ItemFormat formatstring"
258 how to format menu entries; substitutions are made as follows:
259 .RS 4
260 .ie n .IP "%n, %i\fR, \f(CW%c\fR, \f(CW%r" 4
261 .el .IP "%n, \f(CW%i\fR, \f(CW%c\fR, \f(CW%r\fR" 4
262 .IX Item "%n, %i, %c, %r"
263 the window name, icon name, class or resource
264 .ie n .IP "%x, %y" 4
265 .el .IP "%x, \f(CW%y\fR" 4
266 .IX Item "%x, %y"
267 the window x or y coordinates w.r.t. the page the window is on.
268 .ie n .IP "%X, %Y" 4
269 .el .IP "%X, \f(CW%Y\fR" 4
270 .IX Item "%X, %Y"
271 the window x or y coordinates w.r.t. the desk the window is on.
272 .IP "%d" 4
273 .IX Item "%d"
274 the window desk number
275 .IP "%m" 4
276 .IX Item "%m"
277 the window's mini-icon
278 .IP "%M" 4
279 .IX Item "%M"
280 the window's mini-icon only for iconified windows, otherwise empty
281 .IP "%t" 4
282 .IX Item "%t"
283 a tab
284 .IP "%%" 4
285 a literal %
287 .RS 4
289 The format string must be quoted. The default string is
290 \&\*(L"%m%n%t%t(+%x+%y) \- Desk \f(CW%d\fR\*(R".
292 .SH "MORE EXAMPLES"
293 .IX Header "MORE EXAMPLES"
294 Fancy binding of the window menu to the right windows key on some keyboards.
295 Hold this button while navigating using cursor keys, then release it.
297 .Vb 3
298 \&    CopyMenuStyle * WindowMenu
299 \&    MenuStyle WindowMenu SelectOnRelease Super_R
300 \&    *FvwmWindowMenu: MenuStyle WindowMenu
303 .Vb 1
304 \&    AddToFunc StartFunction I Module FvwmWindowMenu
307 .Vb 1
308 \&    Key Super_R A A SendToModule FvwmWindowMenu Post Root c c WarpTitle
310 .SH "AUTHORS"
311 .IX Header "AUTHORS"
313 .IP "Ric Lister <http://cns.georgetown.edu/~ric/>"
314 .IX Item "Ric Lister <http://cns.georgetown.edu/~ric/>"
316 .PD 0
317 .IP "Scott Smedley"
318 .IX Item "Scott Smedley"
320 .IP "Mikhael Goikhman"
321 .IX Item "Mikhael Goikhman"