GoodStuff(1)
โจ GoodStuff(1) โ General Commands Manual โจ
Okay bestie, this is the manual page for GoodStuff(1) ๐ It's the FVWM button panel module and it is absolutely iconic ๐
๐ NAME ๐
GoodStuff - the FVWM button panel module ๐ฆ
๐ง SYNOPSIS ๐ง
GoodStuff
GoodStuff gets spawned by fvwm, so typing it in the command line is a no-go ๐
Heads up: no command line invocation will work. fvwm is the one that starts it, so don't try to run it yourself ๐
๐ธ DESCRIPTION ๐ธ
Okay so, the GoodStuff module gives you a button panel that sits right on the X terminal's root window โจ You can press the buttons whenever you want, and each one tells the window manager to run a command you picked. It's giving main character energy ๐
GoodStuff only works when fvwm is your window manager, so make sure that's the vibe you're going for ๐ซถ
The panel can be any layout or size you dream up, and the icons can be monochrome or colour. Whatever action a button stands for can have its own look ๐
๐ COPYRIGHTS ๐
The GoodStuff program, and the idea for hooking this module up to the Window Manager, are both original work by Robert Nation ๐
Copyright 1993, Robert Nation. There are no guarantees or warranties of any kind, implied or otherwise, so use this program at your own risk ๐ญ You're allowed to use it for any purpose, as long as the copyright stays intact.
๐ฆ INITIALIZATION ๐ฆ
When GoodStuff starts up, it goes hunting for a configuration file that describes the panel's geometry, colours, icons, and actions โจ The format of that file gets covered later on. It's the same configuration file that fvwm used when it started up, so everyone's on the same page ๐
Here's a fun trick ๐ If you make a link to the GoodStuff executable with a different name, like ln -s GoodStuff TermStuff, then a module called TermStuff will start up with a totally different configuration than GoodStuff. You just swap the keywords Good??? for Term??? in your config. That's how you get multiple button-bars going at once, and it's so good โจ
๐ INVOCATION ๐
To invoke GoodStuff, pop the line 'Module GoodStuff' into your .fvwmrc file ๐
You can put it on its own line if you want GoodStuff to start during fvwm's initialization. Or you can attach it to a menu, a mouse button, or a keystroke so it shows up later, whenever you want ๐ซถ
Fvwm searches the directory listed in the ModulePath configuration option to find GoodStuff, so make sure that path is set right ๐ฅ
๐ CONFIGURATION OPTIONS ๐
The following options can be placed in the .fvwmrc file ๐
*GoodStuffGeometry geometryโ This sets where the GoodStuff window lives and/or how big it is. If you don't give it a size, GoodStuff will auto-size itself in a reasonable way โจ The geometry has to be a standard X11 window geometry specification.*GoodStuffFont fontโ Picks the font used to label the buttons ๐*GoodStuffRows rowsโ Sets how many rows of buttons get made. If you skip this, you get 2 rows ๐ธ*GoodStuffColumns columnsโ Sets how many columns of buttons get made. If you skip this, the column count is set to the number of buttons requested, divided by the number of rows ๐งฎ- If you specify both rows and columns but they don't add up to as many buttons as you've defined, then your columns setting gets ignored ๐
*GoodStuffFore colorโ The colour for the button label text and monochrome icons ๐ค*GoodStuffBack colorโ The colour for the buttons themselves ๐*GoodStuff[(w x h)] label icon commandโ This is the big one ๐ It sets up a window manager built-in command, the kind described in the fvwm man page, that runs when a button gets pressed.- The
labelis the text written on the button. - The
iconis either an X11 bitmap file or an XPM colour icon file. GoodStuff hunts through the path from the fvwmIconPathorPixmapPathconfiguration items to find it ๐ - The optional
(w x h)makes the buttonwtimes the normal button width andhtimes the normal button height. Big buttons, big vibes ๐ฆ - If
labelis"-", then no label gets displayed on the button.
- The
If command is an fvwm Exec command, the button stays pushed in until a window whose name or class matches the quoted part of the command shows up ๐ This is there to give the user visual feedback that the action they asked for is actually happening. If the quoted part has no characters in it, the button pops right back out.
Tea spill: users can keep pressing the button and re-running the command, even when it looks "pressed in." Be careful out there ๐
GoodStuff also has one extra trick on top of the fvwm built-in commands โจ If you write something like *GoodStuff junk clock.xpm Swallow "Clock" rclock &, GoodStuff spawns an rclock process, grabs the first window whose name or resource is "Clock", and shows it right in the button-bar ๐ฐ๏ธ This is perfect for stuff like xclock, xbiff, and xload. You can swallow modules too, by writing SwallowModule instead of "swallow".
NOTE, very important: if you use xclock for this, you'll want to specify xclock -padding 0 ๐
๐ SAMPLE CONFIGURATION ๐
These are excerpts from a .fvwmrc file, showing the GoodStuff initialization commands ๐ง
##############################################################
# Load any modules which should be started during
# fvwm initialization
ModulePath /usr/lib/fvwm:/usr/bin/X11
Module GoodStuff
# Make goodstuff title-bar-less, sticky, and give it an icon
NoTitle GoodStuff
Sticky GoodStuff
Icon "GoodStuff" toolbox.xpm
##############################################################
##############################################################
#Definitions used by the modules
*GoodStuffFore Black
*GoodStuffBack #908090
*GoodStuffGeometry -135-5
*GoodStuffRows 1
*GoodStuffFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
*GoodStuff Resize resize.xpm Resize
*GoodStuff Move arrows2.xpm Move
*GoodStuff Lower Down Lower
*GoodStuff Raise Up Raise
*GoodStuff Kill bomb.xpm Destroy
*GoodStuff Dopey rterm.xpm Exec "big_win" xterm -T big_win -geometry 80x50&
*GoodStuff Snoopy rterm.xpm Exec "small_win" xterm -T small_wi &
*GoodStuff Xcalc rcalc.xpm Exec "Calculator" xcalc &
*GoodStuff XMag magnifying_glass2.xpm Exec "xmag" xmag &
*GoodStuff Mail mail2.xpm Exec "xmh" xmh &
*GoodStuff(4x1) - whatever SwallowModule "Fvwm Pager" FvwmPager 0 3
The last line is a little tricky, so pay attention ๐ It spawns an FvwmPager module and captures it so it displays in a quadruple width button ๐คฏ Since "-" is used for the button label, the Pager gets resized to be as big as it can possibly be within the button's borders. And whatever? That's a non-existent icon file, so GoodStuff just ignores it ๐
๐ AUTHOR ๐
Robert Nation ๐
Thanks for reading, bestie ๐ซถ This page came from the 3rd Berkeley Distribution, dated Jan 28 1994, and it's all about GoodStuff(1) ๐โจ
๐ฆ where this page comes from
- debian bookworm: fvwm1 1.24r-57+b1
- ubuntu jammy: fvwm1 1.24r-57ubuntu1
- ubuntu noble: fvwm1 1.24r-57ubuntu1
- ubuntu questing: fvwm1 1.24r-57.2
- ubuntu resolute: fvwm1 1.24r-57.2build1
- ubuntu stonking: fvwm1 1.24r-57.2build1
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms