From 41e3663bde392f28982a1bd0f27bf3cbf86370f7 Mon Sep 17 00:00:00 2001 From: rasatpc Date: Fri, 24 May 2024 23:04:52 +0300 Subject: [PATCH] Config modules A brief introduction of config's main modules. --- Wiki/Config/Modules/6-size-buttons.png | Bin 0 -> 7366 bytes Wiki/Config/Modules/index.md | 103 +++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 Wiki/Config/Modules/6-size-buttons.png diff --git a/Wiki/Config/Modules/6-size-buttons.png b/Wiki/Config/Modules/6-size-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..8f3cfa29e372202cdbf628c4faf65d4b65fe738d GIT binary patch literal 7366 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 literal 0 HcmV?d00001 diff --git a/Wiki/Config/Modules/index.md b/Wiki/Config/Modules/index.md index 0f5a3879..81cd38e8 100644 --- a/Wiki/Config/Modules/index.md +++ b/Wiki/Config/Modules/index.md @@ -9,4 +9,107 @@ description: | # Fvwm Modules +* TOC +{:toc} +The Modules are bits of software launched from within Fvwm using the `Module` +command to add more functionality and versatility to the Desktop. There are a handful +of different modules. The main ones are: + +`FvwmIdent` to identify a window and gives information about it that can be useful +in configuring Fvwm.
+`FvwmScript` allows one to write custom desktop widgets and various other tools.
+`FvwmPager` shows a miniature view of the Desktops and Pages, and to switch desks +and pages.
+`FvwmIconMan` provides a grid of Icons (Buttons) that represent the running windows +on the system.
+`FvwmButtons` a powerful module that can be used to build custom panels and docks. + +## Configuration + +You need to configure a module and then launch it using the `Module` command. The modules +use `Colorsets` as an option, to be used throughout the module section. + +{% fvwm2rc %} +# Module Colorsets +################## +# 10 - Module Default +# 11 - Module Hilight +# 12 - Module ActiveButton (Mouse Hover) +# 13 - FvwmPager Active Page +# 14 - FvwmIconMan Iconified Button +Colorset 10 fg #ffffff, bg #2b4e5e, hi #aaaaaa, sh #999999, Plain, NoShape +Colorset 11 fg #ffffff, bg #1a6e99, hi #ffffff, sh #ffffff, Plain, NoShape +Colorset 12 fg #2d2d2d, bg #ffffff, hi, sh, Plain, NoShape +Colorset 13 fg #ffffff, bg #006c6c, hi, sh, Plain, NoShape +Colorset 14 fg #a8988f, bg #2b4e5e, hi #aaaaaa, sh #999999, Plain, NoShape +{% endfvwm2rc %} + +To see how the basic syntax for module configuration works, let's take a look at the +`FvwmIdent` module. As with most things in Fvwm, the first thing that +should be done is to destroy any previous config. After that send some options to the +module as follows: + +{% fvwm2rc %} +# FvwmIdent +########### +DestroyModuleConfig FvwmIdent: * +*FvwmIdent: Colorset 10 +*FvwmIdent: Font "xft:Sans:Bold:size=12:antialias=True" +{% endfvwm2rc %} + +The config tells `FvwmIdent` what font and Colorset to use. To launch the module, add +`Module FvwmIdent` to an action. + +Next, let's set up some `Styles` for FvwmPager. We want to set up the pager so it has +no window decorations and also so it won't include itself in the list of running tasks. +Also, make the pager `Sticky` so it will be shown on all your Virtual desktops and make +its size and position fixed. You can achieve this as follows: + +{% fvwm2rc %} +##### +# FvwmPager +########### +Style "FvwmPager" NoTitle, !Handles, !Borders, Sticky, WindowListSkip, \ + CirculateSkip, StaysOnBottom, FixedPosition, FixedSize, !Iconifiable +{% endfvwm2rc %} + +Refer to the [FvwmPager]( +{{ "/Modules/FvwmPager" | prepend: site.wikiurl }}) or man page for a full explanation +of all the options available. + +`FvwmButtons` is an incredible piece of software. It can create freeform panels of any +size, shape, colour and function. It can `Swallow` other applications, have `panels` that +slide out consisting of other panels, hundreds of possible bindings, and can even change +dynamically and respond to window manager events. + +The basic layout of `FvwmButtons` is a rectangle. You set the geometry of the `FvwmButtons` by +giving its size (width X height) and then can break that into a grid by expressing the number of +rows and columns it has. Then inside each button, you can set up `Titles`, `Icons`, `Actions` and +even have it `Swallow` other applications. The buttons are filled in from the top left to the +bottom right as shown in the figure. + +![image](6-size-buttons.png) + +{% fvwm2rc %} +DestroyModuleConfig MyButtons: * +*MyButtons: Geometry 120x120+0+0 +*MyButtons: Colorset 10 +*MyButtons: Rows 4 +*MyButtons: Columns 4 +*MyButtons: Frame 1 +*MyButtons: Font "xft:Sans:Bold:size=12:antialias=True" +*MyButtons: (1x2, Title "1", Icon /move.png, Action Move) +*MyButtons: (2x2, Title "2", Action(Mouse 1) 'Exec exec Calendar.sh') +*MyButtons: (1x3, Title "3") +*MyButtons: (2x1, Title "4") +*MyButtons: (1x1, Title "5", Action Resize) +*MyButtons: (4x1, Title "6", Swallow "xclock" 'Exec exec xclock') +{% endfvwm2rc %} + +The example is simple just to show you the basic syntax. A 4 rows and 4 columns button +with a title, a few action and launch buttons, and swallow Xclock. + +Refer to the [FvwmButtons]( +{{ "/Modules/FvwmButtons" | prepend: site.wikiurl }}) or man page for a full explanation +of all the options available.