Discussion:
FVWM: REWRITE: Request for help -- parsing of command token
Dominik Vogt
2014-09-13 08:24:02 UTC
Permalink
For testing pusposes I need to get an overwiev of what types of
commands people use in fvwm. Could everybody please look through
My own lines:

#define CLOSE CloseAnimated
+ D CLOSE
Cpp macro expansion

+ I None ($$0, CirculateHit) $$1

In a function called with "Foo <windowname> '<command>'" uses
<windowname> in the condition and executes <command> after
removing the quotes

+ I Exec $1

Similar to above.

+ I PipeRead 'cd $HOME/.fvwm2/backgrounds; /bin/ls *.bg.* | sed -e \"s#\\(.*\\)\\(\\.bg\\..*\\)#+ \\\\&\\1%$HOME/.mvwm/backgrounds/\\1.thumb.png% Function SetDefaultBackground \\1\\2\:\\1.thumb.png#\"'

Complex quoting

AddToFunc MakePaletteMenu
+ I DestroyMenu PaletteMenu
+ I AddToMenu PaletteMenu `Palettes [ MVWMPALETTE]` Title
+ I + `show current palette` FvwmButtons ColourTable
+ I + "" Nop
+ I AddToMenu PaletteMenu
+ I PipeRead 'cd $HOME/.fvwm2/palettes; /bin/ls *.pal | sed -e \"s:\\(.*\\)\\(\\.pal\\):+ \\\\&\\1 Function SetPalette \\1\\2:\"'

Menu definition inside a complex function

Read .fvwm2rc.$[screen]
3) Fvwm allows to start modules without using the "Module" command,
e.g. with just "FvwmButtons" instead of "Module FvwmButtons".
Do you use this? Did you know that's possible?
No, yes.

Ciao

Dominik ^_^ ^_^
--
Dominik Vogt
Dominik Vogt
2014-09-13 08:14:03 UTC
Permalink
For testing pusposes I need to get an overwiev of what types of
commands people use in fvwm. Could everybody please look through
their configuration files and post any commands:

1) That contain whitespace, quoting characters or variables
(e.g. $[foo] or $w) in the first word of the line. Expamples:

-- snip --
|* FvwmButtons: ...
| Move 0 0
|"Resize" ...
| ` Stick ` ...
|Some\ Function ...
|Some$[env.function]" ...
-- snip --

If it's not obvious, please include the command line that is
actually executed.

2) Such things in conditional commands or function or menu
definitions in place of the command name, menue name or
function name. Examples:

-- snip --
AddToFounc Foo$[desk.n] I "Desk$[w.desk] Func"
+ I \ MyOwnFunc\ a b c
All `Destroy`
+ I PipeRead 'cd $HOME/.fvwm2/palettes; /bin/ls *.pal | sed -e \"s:\\(.*\\)\\(\\.pal\\):+ \\\\&\\1 Function SetPalette \\1\\2:\"'
-- snip --

(With the same explanation as above, if necessary).

3) Fvwm allows to start modules without using the "Module" command,
e.g. with just "FvwmButtons" instead of "Module FvwmButtons".
Do you use this? Did you know that's possible?

Please be careful to not post sensitive information, and please
post only interesting lines, not your whole configuration files!
If you have a similar line multiple times, plese post it only
once.

Ciao

Dominik ^_^ ^_^
--
Dominik Vogt
Thomas Funk
2014-09-13 12:54:32 UTC
Permalink
For testing pusposes I need to get an overwiev of what types of
commands people use in fvwm. Could everybody please look through
1) That contain whitespace, quoting characters or variables
(e.g. $[foo] or $w) in the first word of the line.
PipeRead "echo InfoStoreAdd ratio `perl -e 'printf \"%.1f\",log($[vp.width]*$[vp.height])/log(10)-log(1024*768)/log(10)+1'`"
=> calculates a ratio for resolution dependent things

*************************************************************

#-----------------------------------------------------------------------
# replacement for iconify. Creates a small thumb with little app icon
# on the upper right and the name of the app at the bottom
#-----------------------------------------------------------------------
DestroyFunc FuncThumbnail
AddToFunc FuncThumbnail
+ I Raise
+ I ThisWindow (!Iconic) PipeRead "echo SetEnv app_name `xprop -id $[w.id] WM_CLASS |cut -d',' -f2 |cut -d'\"' -f2`"
+ I PipeRead "echo SetEnv Icon-$[w.id] `fns-find-icon -i $[w.id]`"
+ I PipeRead 'test ! -d "${FVWM_USERDIR}/temp" && mkdir "${FVWM_USERDIR}/temp"'
+ I ThisWindow (!Shaded, Iconifiable, !Iconic) PipeRead \
"sleep 0.001; xwd -silent -id $[w.id] | convert -scale 128x72! -frame 1x1 \
-mattecolor black -quality 0 xwd:- png:$[FVWM_USERDIR]/temp/icon.tmp.$[w.id].png \
&& echo WindowStyle IconOverride, Icon $[FVWM_USERDIR]/temp/icon.tmp.$[w.id].png \
|| echo Nop"
+ I TestRc (Match) Test (f $[Icon-$[w.id]], f $[FVWM_USERDIR]/temp/icon.tmp.$[w.id].png) PipeRead \
"convert $[FVWM_USERDIR]/temp/icon.tmp.$[w.id].png \\\( $[Icon-$[w.id]] -scale 24x24 \\\) \
-gravity northeast -geometry +10+10 -compose multiply -composite \
-fill white -undercolor '#00000080' -gravity south -annotate +0+5 \" $[app_name] \" \
$[FVWM_USERDIR]/temp/icon.tmp.$[w.id].png; echo Nop"
+ I Iconify

#-----------------------------------------------------------------------
# replacement for deiconify.
#-----------------------------------------------------------------------
DestroyFunc FuncDeThumbnail
AddToFunc FuncDeThumbnail
+ I Test (i $[Icon-$[w.id]]) WindowStyle Icon $[Icon-$[w.id]]
+ I TestRc (NoMatch) WindowStyle NoIconOverride, Icon
+ I Exec rm -f $[FVWM_USERDIR]/temp/icon.tmp.$[w.id].png
+ I All (Iconic, CurrentPage) PlaceAgain icon
+ I PipeRead 'if [ -O $[Icon-$[w.id]] ]; then rm -f $[Icon-$[w.id]];fi'
+ I UnsetEnv Icon-$[w.id]
+ I UnsetEnv app_name

*************************************************************

#-----------------------------------------------------------------------
# Shows a FvwmForm Infobox with one or multiple message line(s)
# realized with shell commands over PipeRead
#-----------------------------------------------------------------------
# Example:
# FuncShowMessage "<title>" "<message_1>" ... "<message_n>"
DestroyFunc FuncShowMessage
AddToFunc FuncShowMessage
+ I PipeRead `echo 'DestroyModuleConfig FvwmForm-Messages: *' > ${FVWM_USERDIR}/FvwmForm-Messages; \
echo '*FvwmForm-Messages: Font 8x13' >> ${FVWM_USERDIR}/FvwmForm-Messages; \
echo '*FvwmForm-Messages: WarpPointer' >> ${FVWM_USERDIR}/FvwmForm-Messages; \
echo "*FvwmForm-Messages: Title \\"\\$\[gt.$0\]\\"" >> ${FVWM_USERDIR}/FvwmForm-Messages `
+ I PipeRead `start=0; for i in $*; do \
if [ "$start" -gt "0" ]; then \
echo '*FvwmForm-Messages: Line left' >> ${FVWM_USERDIR}/FvwmForm-Messages; \
msg=$i; \
echo "*FvwmForm-Messages: Text \\"\\$\[gt.$msg\]\\"" >> ${FVWM_USERDIR}/FvwmForm-Messages; \
fi; \
start=$(($start+1)); \
done `
+ I PipeRead `echo '*FvwmForm-Messages: Line center' >> ${FVWM_USERDIR}/FvwmForm-Messages; \
echo '*FvwmForm-Messages: Button quit \"\$\[gt. Ok \]\" ^M' >> ${FVWM_USERDIR}/FvwmForm-Messages; \
echo '*FvwmForm-Messages: Command !(rm -f ${FVWM_USERDIR}/FvwmForm-Messages)' >> ${FVWM_USERDIR}/FvwmForm-Messages `
+ I Schedule 100 Module FvwmForm FvwmForm-Messages

Example:
# Button Context Modifi Function
Mouse 0 T SCM FuncShowMessage "Mouse Bindings for Titlebar" \
"Mouse 1: Drag moves window" \
" Maximize on double click" \
"Mouse 2: Drag moves window" \
" Raise or lower with click" \
"Mouse 3: WindowOpsTrimmed menu with click" \
" WindowOpsFull menu with ALT + click" \
"Mouse 4/5: Shade/unshade window" \
" with rolling wheel up/down"

*************************************************************

#-----------------------------------------------------------------------
# Wallpaper Browser by Taviso.
#-----------------------------------------------------------------------
DestroyFunc FuncWallpaperBrowser
AddToFunc FuncWallpaperBrowser
+ I PipeRead 'test ! -d "${FVWM_USERDIR}/wallpapers" && mkdir "${FVWM_USERDIR}/wallpapers"; \
test ! -d "${FVWM_USERDIR}/wallpapers/.thumbs" && mkdir "${FVWM_USERDIR}/wallpapers/.thumbs"'
+ I FuncCreateWpDirLinks
+ I PipeRead '_dir_path=`basename "$0"`; \
sep=`test "$_dir_path" != "wallpapers" && echo /`; \
echo SetEnv dir_path "${sep}`echo \\"\\$_dir_path\\" | sed \\"s#\\.#/#g;s#//#/\\.#g\\"`${sep}"'
+ I PipeRead ' \
for i in "$0/"*; do \
test -f "${FVWM_USERDIR}/wallpapers/.thumbs/${i##*/}" -a "${i}" -ot "${FVWM_USERDIR}/wallpapers/.thumbs/${i##*/}" || { \
convert -define jpeg:size=200 -strip -quality 0 -thumbnail 42 "${i}" "png:${FVWM_USERDIR}/wallpapers/.thumbs/${i##*/}" 2>/dev/null \
|| continue; \
}; \
done; \
fvwm-menu-directory --title "$[dir_path]" \
--icon-file __PIXMAP__ --links \
--icon-dir folder-images.svg:$[infostore.MenuIconSize] \
--dir "$0" --command-file="FuncNewWallpaper \\"%f\\"" \
--exec-t="^xv -wait 2 *" --func-name FuncWallpaperBrowser | sed \
"s#__PIXMAP__\\(.*\\)\\\"\\(.*/\\)\\(.*\\)\\\"#\\$[FVWM_USERDIR]/wallpapers/.thumbs/\\3\\1\\2\\3#g"'
+ I UnsetEnv dir_path

#-----------------------------------------------------------------------
# Create links in wallpaper directory to additional directories
#-----------------------------------------------------------------------
DestroyFunc FuncCreateWpDirLinks
AddToFunc FuncCreateWpDirLinks
+ I PipeRead 'for _dir in `echo $[infostore.additional_wp_dirs] | sed "s#:# #g"`; do \
if [ -d "$_dir" ]; then \
_dir_name=`echo "$_dir" | sed "s#^/##;s#/#.#g"`; \
if [ ! -L "${FVWM_USERDIR}/wallpapers/$_dir_name" ]; then \
ln -s "$_dir" "${FVWM_USERDIR}/wallpapers/$_dir_name"; \
fi; \
fi; \
done'
+ I FuncRemoveWpDirLinks

#-----------------------------------------------------------------------
# Remove links of obsolete additional directories in wallpaper directory
#-----------------------------------------------------------------------
DestroyFunc FuncRemoveWpDirLinks
AddToFunc FuncRemoveWpDirLinks
+ I PipeRead ' \
_wp_dirs=`echo "$[infostore.additional_wp_dirs]" | sed "s#^/\\|/\\\\$##g;s#:/#:#g;s#/:#:#g;s#/#\\.#g"`; \
for _link in `find "${FVWM_USERDIR}/wallpapers" -maxdepth 1 -type l`; do \
if [ -d "$_link" ]; then \
_basename=`basename "$_link"`; \
if [ -n "${_wp_dirs##*$_basename*}" ]; then \
rm -f "$_link"; \
fi; \
fi; \
done'

Example:
#-----------------------------------------------------------------------
# Dynamic Configuration sub menu for setting a background with
# a picture or FvwmBaker (default background)
# realized with MissingSubmenuFunction (for the pictures)
#-----------------------------------------------------------------------
AddToMenu MenuWallpaperConfiguration DynamicPopupAction FuncMenuWallpaperConfiguration

DestroyFunc FuncMenuWallpaperConfiguration
AddToFunc FuncMenuWallpaperConfiguration
+ I DestroyMenu MenuWallpaperConfiguration
+ I AddToMenu MenuWallpaperConfiguration "$[gt.Background Configuration]" Title
+ I AddToMenu MenuWallpaperConfiguration DynamicPopupAction FuncMenuWallpaperConfiguration
+ I Test (EnvMatch DesktopIconsOn 0) Test (I $[infostore.fvwm_wallpaper]) \
AddToMenu MenuWallpaperConfiguration "$[gt.Set &Default background]%delete.svg:$[infostore.MenuIconSize]%" FuncDelWallpaperlink
+ I AddToMenu MenuWallpaperConfiguration MissingSubmenuFunction FuncWallpaperBrowser
+ I AddToMenu MenuWallpaperConfiguration "$[gt.Set &Wallpaper background]%background.svg:$[infostore.MenuIconSize]%" Popup $[FVWM_USERDIR]/wallpapers


*************************************************************

#-----------------------------------------------------------------------
# Restore the previous state of a window
#-----------------------------------------------------------------------
DestroyFunc FuncRestore
AddToFunc FuncRestore
+ I ThisWindow (!Iconic !Shaded Maximized) Maximize false
+ I ThisWindow (!Iconic Shaded ) WindowShade false
+ I ThisWindow ( Iconic ) Iconify false

*************************************************************
3) Fvwm allows to start modules without using the "Module" command,
e.g. with just "FvwmButtons" instead of "Module FvwmButtons".
Do you use this? Did you know that's possible?
No, no. Even though it is inconsistent. Better is to use "Module" infront
all the time to see that it is a module and not a function.

-- Thomas --

--
Jesús J. Guerrero Botella
2014-09-13 15:52:39 UTC
Permalink
Hello.

Here you are in case it helps.

I do basic maths using bash:

Piperead 'echo SetEnv taskbar_width
$(($[panel_width]-$[clock_width]-$[button_width]*3-$[widget_width]*2-$[pa$
Piperead 'echo SetEnv widget_height $(($[panel_height]-2*$[separator]))'
Piperead 'echo SetEnv button_height $((($[panel_height]-2*$[separator])/3))'

I also change panel labels like this:

DestroyFunc FvwmSetVolume
AddToFunc FvwmSetVolume
+ I Piperead 'echo SetEnv vol $(setvol $0)'
+ I SendToModule FvwmPanel ChangeButton vol_button Title "$[vol]"

And to define and launch panels:

DestroyModuleConfig FvwmPanel: *
*FvwmPanel: Frame 0
*FvwmPanel: Columns $[panel_width]
*FvwmPanel: Rows $[panel_height]
*FvwmPanel: Colorset 1
*FvwmPanel: ActiveColorset 2
*FvwmPanel: PressColorset 3
*FvwmPanel: Font "xft:DejaVu Sans:size=7:encoding=iso10646-1"
*FvwmPanel: ($[panel_width]x$[separator], Frame 0)
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[clock_width]x$[widget_height], Colorset 2, Padding 4, Frame
1, Swallow "clock" "FvwmScript DigitalClock")
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"gimp", Action (Mouse 1) "Exec exec gimp")
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"urxvt", Action (Mouse 1) "Exec exec urxvtc")
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"LEER", Action (Mouse 1) "Exec echo \"$(xsel -o)\" | festival --tts")
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[taskbar_width]x$[widget_height], Frame 0, Swallow
"FvwmIconMan")
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[tray_width]x$[widget_height], Colorset 2, Frame 1, Swallow
(NoClose,UseOld,Respawn) "stalonetray" "Exec exec stalonetray -geometry
1x2-0+1 --grow-gravity E --icon-gravity N --icon-size 24 --transparent")
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[widget_width]x$[widget_height], Colorset 2, Frame 1, Swallow
(NoClose,UseOld,Respawn) "bubblemon" "Exec exec bubblemon -k")
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[widget_width]x$[widget_height], Colorset 2, Frame 1, Id
"vol_button", Font "xft:DejaVu Sans:size=17:encoding=iso10646-1", Title
"$[vol]", Action (Mouse 1) "Exec exec alsamixer", Action (Mouse 4)
FvwmSetVolume 4, Action (Mouse 5) FvwmSetVolume -4)
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[pager_width]x$[widget_height], Colorset 2, Padding 4, Frame
1, Swallow "FvwmPager")
*FvwmPanel: ($[separator]x$[widget_height], Frame 0)
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"kcolorchooser", Action (Mouse 1) "Exec exec kcolorchooser")
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"nwn", Action (Mouse 1) "Exec cd $[HOME]/games/nwn;exec ./nwn")
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"kcontrol", Action (Mouse 1) "Exec exec systemsettings")
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"gwenview", Action (Mouse 1) "Exec exec gwenview")
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"dolphin", Action (Mouse 1) "Exec exec dolphin")
*FvwmPanel: ($[button_width]x$[button_height], Colorset 1, Frame 1, Title
"lxappearance", Action (Mouse 1) "Exec exec lxappearance")
*FvwmPanel: ($[panel_width]x$[separator], Frame 0)

DestroyFunc StartFunction
AddToFunc StartFunction
+ I All (Maximized) WindowStyle BorderWidth 0, HandleWidth 0
+ I UpdateStyles
+ I All (Maximized) Maximize True
+ I Module FvwmButtons -g $[panel_width]x$[panel_height]+$[panel_offset]-0
FvwmPanel
+ I Module FvwmIconMan
+ I Module FvwmPager
+ I Schedule 1000 ColorizeLayers

Other random stuff:

DestroyFunc FvwmDmenuWrapper
AddToFunc FvwmDmenuWrapper
+ I Piperead 'echo SetEnv exe $(dmenu_path|dmenu -nb "#ffe3ab" -nf black
-sb "#afaca7" -sf "#ffe3ab" -fn "-*-$
+ I Exec exec $[exe]



As for 3), I knew, but I prefer using a consistent scheme for everything.
My brain for sure will be grateful for that when I have to review the
config I wrote 5 years later.
For testing pusposes I need to get an overwiev of what types of
commands people use in fvwm. Could everybody please look through
1) That contain whitespace, quoting characters or variables
-- snip --
|* FvwmButtons: ...
| Move 0 0
|"Resize" ...
| ` Stick ` ...
|Some\ Function ...
|Some$[env.function]" ...
-- snip --
If it's not obvious, please include the command line that is
actually executed.
2) Such things in conditional commands or function or menu
definitions in place of the command name, menue name or
-- snip --
AddToFounc Foo$[desk.n] I "Desk$[w.desk] Func"
+ I \ MyOwnFunc\ a b c
All `Destroy`
+ I PipeRead 'cd $HOME/.fvwm2/palettes; /bin/ls *.pal | sed -e
\"s:\\(.*\\)\\(\\.pal\\):+ \\\\&\\1 Function SetPalette \\1\\2:\"'
-- snip --
(With the same explanation as above, if necessary).
3) Fvwm allows to start modules without using the "Module" command,
e.g. with just "FvwmButtons" instead of "Module FvwmButtons".
Do you use this? Did you know that's possible?
Please be careful to not post sensitive information, and please
post only interesting lines, not your whole configuration files!
If you have a similar line multiple times, plese post it only
once.
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt
--
Jesús Guerrero Botella
p***@pair.com
2014-09-14 09:50:15 UTC
Permalink
in message <***@gmx.de>,
wrote Dominik Vogt thusly...
For testing pusposes I need to get an overwiev of what types of
commands people use in fvwm. Could everybody please look through
1) That contain whitespace, quoting characters or variables
(e.g. $[foo] or $w) in the first word of the line.
These seems to be most obvious ...

DestroyFunc deiconify-func
AddToFunc deiconify-func
+ I Iconify false
+ I WindowShade false
+ I $0

DestroyMenu vnc-menu
AddToMenu vnc-menu "VNC" Title
+ "start vn&c" Function log-exec vnc-control start
+ "kill vn&c" Function log-exec vnc-control stop
+ "" Nop
-- snip --
|* FvwmButtons: ...
| Move 0 0
|"Resize" ...
| ` Stick ` ...
|Some\ Function ...
|Some$[env.function]" ...
-- snip --
If it's not obvious, please include the command line that is
actually executed.
Do the characters on the next line of continuation line count?
2) Such things in conditional commands or function or menu
definitions in place of the command name, menue name or
-- snip --
AddToFounc Foo$[desk.n] I "Desk$[w.desk] Func"
+ I \ MyOwnFunc\ a b c
All `Destroy`
+ I PipeRead 'cd $HOME/.fvwm2/palettes; /bin/ls *.pal | sed -e \"s:\\(.*\\)\\(\\.pal\\):+ \\\\&\\1 Function SetPalette \\1\\2:\"'
SetEnv XVT 'xterm -fg rgb:b0/b0/b0 -bg rgb:30/0/15'
key F2 A 4 Exec $XVT

key 2 TW 4 Function resize-place 90c 29c $[w.id]
key 3 TW 4 Function resize-place 830p 542p $[w.id]

# Generate window related functions
# -- Perl program to create key bindings from
# ~/cf/fvwm/fvwm-make-key-menu.cf
DestroyFunc window-op-test
AddToFunc window-op-test
PipeRead 'menu-binding.fvwm'
3) Fvwm allows to start modules without using the "Module" command,
e.g. with just "FvwmButtons" instead of "Module FvwmButtons".
Do you use this? Did you know that's possible?
Hunh, I have both usage ...

key g A 4 Module FvwmConsole

DestroyModuleConfig FvwmIdent: *
*FvwmIdent: Font ...


... I could change to either format if required to do so without any
problem.


--
Dominik Vogt
2014-09-14 11:30:54 UTC
Permalink
Post by p***@pair.com
wrote Dominik Vogt thusly...
For testing pusposes I need to get an overwiev of what types of
commands people use in fvwm. Could everybody please look through
1) That contain whitespace, quoting characters or variables
(e.g. $[foo] or $w) in the first word of the line.
These seems to be most obvious ...
DestroyFunc deiconify-func
AddToFunc deiconify-func
+ I Iconify false
+ I WindowShade false
+ I $0
Would you use any weird stuff as "$0", or just a couple of plain
words?
Post by p***@pair.com
-- snip --
|* FvwmButtons: ...
| Move 0 0
|"Resize" ...
| ` Stick ` ...
|Some\ Function ...
|Some$[env.function]" ...
-- snip --
If it's not obvious, please include the command line that is
actually executed.
Do the characters on the next line of continuation line count?
Not really. Continuation lines are concatenated before the parser
does anithing with them.
Post by p***@pair.com
3) Fvwm allows to start modules without using the "Module" command,
e.g. with just "FvwmButtons" instead of "Module FvwmButtons".
Do you use this? Did you know that's possible?
Hunh, I have both usage ...
key g A 4 Module FvwmConsole
But you could also use just
Post by p***@pair.com
key g A 4 FvwmConsole
without the "Module" command. I've never seen anybody using that,
though.

Ciao

Dominik ^_^ ^_^
--
Dominik Vogt
Thomas Adam
2014-09-14 11:37:24 UTC
Permalink
Post by Dominik Vogt
Post by p***@pair.com
key g A 4 FvwmConsole
without the "Module" command. I've never seen anybody using that,
though.
I do. :) But then I know what I'm doing and understand the way fvwm
looks up the commands it wants to run. It's a little niche but it's
handy to perform certain things before the actual module loads. For
example:

DestroyFunc FvwmConsole
AddToFunc FvwmConsole
+ I Exec exec $[infostore,xterm] -g 118x55+2042+132 -e 'tail -f
~/.xsession-errors'
+ I Module FvwmConsole

Usually I only ever open FvwmConsole to debug it and having tail
opening the main xsession log file is useful.

Would I rely on this in practice if we change it for fvwm3? Nope.

-- Thomas Adam
Jaimos Skriletz
2014-09-17 10:04:50 UTC
Permalink
On Sat, Sep 13, 2014 at 2:14 AM,
​​
For testing pusposes I need to get an overwiev of what types of
commands people use in fvwm. Could everybody please look through
1) That contain whitespace, quoting characters or variables
No occurrences in my config file.
​
2) Such things in conditional commands or function or menu
definitions in place of the command name, menue name or
I use variables in conditional commands to test for files before accessing
the file such as

​Test (f $[FVWM_USERDIR]/cfg/WallpaperMenu) Read
$[FVWM_USERDIR]/cfg/WallpaperMenu

Test (f $[FVWM_USERDIR]/cfg/DebianMenu) Read $[FVWM_USERDIR]/cfg/DebianMenu
3) Fvwm allows to start modules without using the "Module" command,
e.g. with just "FvwmButtons" instead of "Module FvwmButtons".
Do you use this? Did you know that's possible?
​Nope, I did not know that was possible and have no occurrences of such a
thing.​

jaimos
Piotr Isajew
2014-09-13 10:41:25 UTC
Permalink
3) Fvwm allows to start modules without using the "Module"
command,
e.g. with just "FvwmButtons" instead of "Module
FvwmButtons". Do you use this? Did you know that's
possible?
No. Yes.

Loading...