.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.02) .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "FvwmWindowMenu 1" .TH FvwmWindowMenu 1 "2009-03-22" "2.5.28 (from cvs)" "Fvwm Modules" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" FvwmWindowMenu \- open configurable fvwm menu listing current windows .SH "SYNOPSIS" .IX Header "SYNOPSIS" FvwmWindowMenu should be spawned by \fIfvwm\fR\|(1) for normal functionality. .PP Run this module from your StartFunction: .PP .Vb 2 \& AddToFunc StartFunction \& + I Module FvwmWindowMenu .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" A substitute for \fIfvwm\fR builtin \fBWindowList\fR, but written in Perl and easy to customize. Unlike \fBFvwmIconMan\fR or \fBFvwmWinList\fR the module does not draw its own window, but instead creates an \fIfvwm\fR menu and asks \fIfvwm\fR to pop it up. .PP By defining a set of regular expressions, windows may be sorted into sections based on a regexp matching the window name, class or resource and included in the menu. .PP Similarly, another set of regular expressions can be used to exclude items from the menu. .PP Any windows not matching an instance of the include or exclude list will be placed in the last section of the menu. .SH "USAGE" .IX Header "USAGE" Run the module, supposedly from StartFunction in \fI.fvwm2rc\fR: .PP .Vb 1 \& Module FvwmWindowMenu .Ve .PP To actually invoke the menu add something like: .PP .Vb 2 \& Key Menu A N SendToModule FvwmWindowMenu \e \& Post Root c c SelectOnRelease Menu .Ve .PP or: .PP .Vb 1 \& Mouse 2 A N SendToModule FvwmWindowMenu Popup .Ve .PP The additional parameters are any valid \fBMenu\fR command parameters without a menu name, see fvwm. .PP Recognized actions are \fBPost\fR (or its alias \fBMenu\fR) and \fBPopup\fR, they create \fIfvwm\fR menus and invoke them using the corresponding commands \fBMenu\fR and \fBPopup\fR. If the module was started with \*(L"\-g\*(R" switch, it additionally supports \fBPostBar\fR (not implemented yet). .PP Set module options for windows to include (Show) or exclude (DontShow). The syntax is: .PP .Vb 6 \& *FvwmWindowMenu: ShowName pattern \& *FvwmWindowMenu: ShowClass pattern \& *FvwmWindowMenu: ShowResource pattern \& *FvwmWindowMenu: DontShowName pattern \& *FvwmWindowMenu: DontShowClass pattern \& *FvwmWindowMenu: DontShowResource pattern .Ve .PP Pattern is a perl regular expression that will be evaluated in m// context. See \fIperlre\fR\|(1). .PP For example: .PP .Vb 2 \& *FvwmWindowMenu: ShowResource ^gvim \& *FvwmWindowMenu: ShowName Galeon|Navigator|mozilla\-bin|Firefox .Ve .PP will define two sections containing respectively browsers, and GVim. A third section will contain all other windows. .PP To only include matching windows, add: .PP .Vb 1 \& *FvwmWindowMenu: DontShowName .* .Ve .PP Similarly: .PP .Vb 2 \& *FvwmWindowMenu: DontShowName ^Fvwm \& *FvwmWindowMenu: DontShowClass Gkrellm .Ve .PP will cause the menu to ignore windows with name beginning with Fvwm or class gkrellm. .PP Other options: .IP "*FvwmWindowMenu: \fIOnlyIconified\fR {on|off}" 4 .IX Item "*FvwmWindowMenu: OnlyIconified {on|off}" show only iconified windows .IP "*FvwmWindowMenu: \fIAllDesks\fR {on|off}" 4 .IX Item "*FvwmWindowMenu: AllDesks {on|off}" show windows from all desks .IP "*FvwmWindowMenu: \fIAllPages\fR {on|off}" 4 .IX Item "*FvwmWindowMenu: AllPages {on|off}" show windows from all pages .IP "*FvwmWindowMenu: \fIMaxLen\fR 32" 4 .IX Item "*FvwmWindowMenu: MaxLen 32" max length in chars of entry .IP "*FvwmWindowMenu: \fIMenuName\fR MyMenu" 4 .IX Item "*FvwmWindowMenu: MenuName MyMenu" name of menu to popup .IP "*FvwmWindowMenu: \fIMenuStyle\fR MyMenuStyle" 4 .IX Item "*FvwmWindowMenu: MenuStyle MyMenuStyle" name of MenuStyle to apply .IP "*FvwmWindowMenu: \fIDebug\fR {0,1,2,3}" 4 .IX Item "*FvwmWindowMenu: Debug {0,1,2,3}" level of debug info output, 0 means no debug .IP "*FvwmWindowMenu: \fIFunction\fR MyWindowListFunc" 4 .IX Item "*FvwmWindowMenu: Function MyWindowListFunc" function to invoke on menu entries; defaults to WindowListFunc .IP "*FvwmWindowMenu: \fIItemFormat\fR formatstring" 4 .IX Item "*FvwmWindowMenu: ItemFormat formatstring" how to format menu entries; substitutions are made as follows: .RS 4 .ie n .IP "%n\fR, \f(CW%i\fR, \f(CW%c\fR, \f(CW%r" 4 .el .IP "\f(CW%n\fR, \f(CW%i\fR, \f(CW%c\fR, \f(CW%r\fR" 4 .IX Item "%n, %i, %c, %r" the window name, icon name, class or resource .ie n .IP "%x\fR, \f(CW%y" 4 .el .IP "\f(CW%x\fR, \f(CW%y\fR" 4 .IX Item "%x, %y" the window x or y coordinates w.r.t. the page the window is on. .ie n .IP "%X\fR, \f(CW%Y" 4 .el .IP "\f(CW%X\fR, \f(CW%Y\fR" 4 .IX Item "%X, %Y" the window x or y coordinates w.r.t. the desk the window is on. .ie n .IP "%d" 4 .el .IP "\f(CW%d\fR" 4 .IX Item "%d" the window desk number .ie n .IP "%m" 4 .el .IP "\f(CW%m\fR" 4 .IX Item "%m" the window's mini-icon .ie n .IP "%M" 4 .el .IP "\f(CW%M\fR" 4 .IX Item "%M" the window's mini-icon only for iconified windows, otherwise empty .ie n .IP "%t" 4 .el .IP "\f(CW%t\fR" 4 .IX Item "%t" a tab .IP "%%" 4 a literal % .RE .RS 4 .Sp The format string must be quoted. The default string is \*(L"%m%n%t%t(+%x+%y) \- Desk \f(CW%d\fR\*(R". .RE .SH "MORE EXAMPLES" .IX Header "MORE EXAMPLES" Fancy binding of the window menu to the right windows key on some keyboards. Hold this button while navigating using cursor keys, then release it. .PP .Vb 3 \& CopyMenuStyle * WindowMenu \& MenuStyle WindowMenu SelectOnRelease Super_R \& *FvwmWindowMenu: MenuStyle WindowMenu \& \& AddToFunc StartFunction I Module FvwmWindowMenu \& \& Key Super_R A A SendToModule FvwmWindowMenu Post Root c c WarpTitle .Ve .SH "AUTHORS" .IX Header "AUTHORS" Richard Lister . .PP Scott Smedley . .PP Mikhael Goikhman .