Page 1 of 1

FVWM myExt collection

Posted: Sun Dec 20, 2020 12:35 pm
by rasat
This thread collects FVWM3 extensions that are created in "FVWM3 configs & addon" thread. For questions and new ideas post in this link.
viewtopic.php?f=82&t=61605

Inspired by Gnome Extensions that make gnome multifunctional. This gave the name "FVWM myExtensions". The new FVWM3 (F? Virtual Window Manager 3), started as an experiment and became a fully functional base that makes "my" daily computer workflow simpler and more efficient. This is a model for you to use, modify or create your own extensions

Earlier was missing were style and beauty. The config extensions provide the missing parts and make the workflow simpler and more efficient. With myExt, it is easy to work and manage by using the default FVWM3 config as a base, directly in ~/.fvwm. The config is split into folders and runs in the same sequence as the original. The additional extension configs are simply added in associated folders.

1. 1Functions
2. 2-3Styles
3. 4Menus
4. 5Bindings
5. 6Decor
6. 7Modules

Besides the fast and low memory usage of FVWM, the aim is to speed up the workflow on common tasks and a clean desk. Access to choices and customization. This system helps to maintain and create new functions, decors, and modules. Here is the config that runs startup, extensions, and does changes in preloaded settings.

Code: Select all

## .fvwm/config
## STARTUP ##

## Load default 1.Functions
Read $[FVWM_USERDIR]/1Functions/MyInitMgr.sys
Read $[FVWM_USERDIR]/1Functions/FVWM-StartFunction.sys

## Load 2-3.Styles
Read $[FVWM_USERDIR]/2-3Styles/FVWM-Page.sys
Read $[FVWM_USERDIR]/2-3Styles/FVWM-Colorsets.sys
Read $[FVWM_USERDIR]/2-3Styles/my-Colorsets.sys
Read $[FVWM_USERDIR]/2-3Styles/Fvwm-Thumbnails.sys
Read $[FVWM_USERDIR]/2-3Styles/my-BorderStyle.sys

## Load 4.Menus
Read $[FVWM_USERDIR]/4Menus/myMenu.conf
# Read $[FVWM_USERDIR]/4Menus/AutoMoveWin.sys

## Load 5.Bindings (min, max, close button, and win focus)
Read $[FVWM_USERDIR]/5Bindings/my-MouseBindings.sys

## Load 6.Decorations
Read $[FVWM_USERDIR]/6Decor/myDecor.sys

## Load 7.Modules
Read $[FVWM_USERDIR]/7Modules/FvwmScript.sys
Read $[FVWM_USERDIR]/7Modules/myRightPanel.sys
# Read $[FVWM_USERDIR]/7Modules/AutoHideList.sys
Read $[FVWM_USERDIR]/7Modules/FvwmPager.sys
Read $[FVWM_USERDIR]/7Modules/FvwmIconMan.sys
Read $[FVWM_USERDIR]/7Modules/DiaryThumbPlace.sys
Read $[FVWM_USERDIR]/7Modules/SimpleButton.sys
Read $[FVWM_USERDIR]/7Modules/ControlPanelBP.sys

######
## Change preloaded settings
######
----
### Colorsets in 2-3Styles/
## Module Default bg #2b4e5e (background pager, buttons, etc.)
Colorset 10 fg #ffffff, bg #2b4e5e, hi #aaaaaa, sh #999999, Plain, NoShape
----
## TouchPad Off
# + I Test (Init) Exec synclient TouchpadOff=1
----
# Style setting
Style Ulauncher* NoTitle
Style QuickEdit* NoTitle #config editor dialog box
----
### Settings and styles in 3Styles/FVWM-Page.sys
## Default Font
DefaultFont "xft:Noto Sans:size=12"

## EdgeScroll will move the view port between the Pages when the mouse
## moves to the edge of the screen.
EdgeScroll 0 0
EdgeResistance 450
EdgeThickness 1
Style * EdgeMoveDelay 500, EdgeMoveResistance 100

# EwmhBaseStruts [left] [right] [top] [bottom]
# Reserves space along the edge(s) of the Screen that will not
# be covered when maximizing or placing windows.

EwmhBaseStruts 40 120 70 0

## Mouse click behaviour
Style * ClickToFocus

## Window Placement
Style * TileCascadePlacement

## Quit location and style
Style ConfirmQuit !Title, PositionPlacement Center, WindowListSkip, Layer 6
Style FvwmIdent WindowListSkip
############

Image

Re: FVWM3 myExt collection

Posted: Sun Dec 20, 2020 12:36 pm
by rasat
EXTENSIONS

1. SimpleButton - using FvwmButtons as a panel that contains icons to launch applications.

Image

2. Auto Hiding Windows - allows withdrawing a window to a location where it does not use precious desktop space.

Code: Select all

## 7Modules: AutoHideList.sys
# # AutoHidingWindows
#
DestroyFunc autohide
AddToFunc autohide
+ I ThisWindow ($0) Deschedule $[w.id]
+ I ThisWindow ($0) ThisWindow (Shaded) WindowShade off
+ I TestRc (!Match) All ($0, !Shaded) autohide\_hide $1 $2

DestroyFunc autohide_hide
AddToFunc autohide_hide
+ I Schedule $0 $[w.id] WindowShade $1
+ I Schedule $0 $[w.id] Deschedule $[w.id]

# Start FvwmAuto
AddToFunc StartFunction I Module FvwmAuto FvwmAutohide -menter enter_handler

# Add windows you want to autohide
DestroyFunc enter_handler
AddToFunc enter_handler
+ I autohide RightPanel 50 E
+ I autohide SimpleButtons 50 N
3. DiaryDecor and Thumbnails - a borderless window frame with minimized window thumbnail (based on addy-fe's Diary theme).

Image

4. AutoMoveWindows - moves applications to specific workspaces (pages) when they create windows.

Code: Select all

## 4Menus: AutoMoveWin.sys
#
Style Firefox StartsOnPage 0 0 0 #page 0
Style Thunar StartsOnPage 0 1 0 #page 1
Style "Mozilla Thunderbird" StartsOnPage 0 0 1 #page 2
Style Evolution StartsOnPage 0 1 1 #page 3
5. RightPanel - part of FVWM default config

6. myMenu - see below screenshool.

Screenshot with visible extensions:

Image

##########################

MY FVWM3 SETUP:

Image

Re: FVWM3 myExt collection

Posted: Tue Dec 22, 2020 11:13 am
by manyroads
@rasat would you like some help? I may be skilled enough to assist but I don't want to muddle your efforts.

Re: FVWM3 myExt collection

Posted: Wed Dec 30, 2020 2:22 pm
by rasat
The new extensions improve the workflow without getting distracted by a small minimize, maximize, or close button. Or limiting the feature of resizing or moving a window. On the desk you can do it with a right-click mouse and click anywhere on the window. Or use larger buttons on the control panel. On the pager, you can move a window from one page to another with the mid-click mouse.

The desk looks clean without a fancy title bar and the minimized windows are easily retrieved thumbnails. Cerebro finds applications and websites.

EXTENSIONS

7. ControlPanelBP - Manages the window move, resize, minimize, maximize, and close. On the pager, you can move a window page location.

Image

8. myDecor - Buttonlless title bar (the image shows also the right-click menu).

Image


9. myMenu (added configs) - Manages the window move, resize, minimize, maximize, close. and moves windows to a selected page.

Code: Select all

## Titlebar right-click
DestroyMenu MenuWindowOps
AddToMenu   MenuWindowOps
+ "Send to " Popup MenuSendTo
+ "Min" Thumbnail
+ "Shade" WindowShade
+ "Close" Close
+ "-" Nop
+ "Quit" Destroy

## Desktop right-click
DestroyMenu MenuWindowOpsLong
AddToMenu   MenuWindowOpsLong
+ " " Nop
+ "Min%$[mimg]/icons/win/iconify.png%" Thumbnail
+ "Move%$[mimg]/icons/win/move.png%" Move
+ "Resize%$[mimg]/icons/win/resize.png%" Resize
+ "Max%$[mimg]/icons/win/max.png%" Maximize
+ "Close%$[mimg]/icons/win/close.png%" Close
+ "---" Nop
+ "Quit%$[mimg]/icons/quit.png%" Module FvwmScript FvwmScript-ConfirmQuit

## Titlebar Right Click >> Send To
DestroyMenu MenuSendTo
AddToMenu MenuSendTo
+ " Page 1" MoveToPage 0 0
+ " Page 2" MoveToPage 1 0
+ " Page 3" MoveToPage 0 1
+ " Page 4" MoveToPage 1 1
10. Ulauncher - a local search engine for Linux distros

Image

SCREENSHOT OF NEW EXTENSIONS

Image

Image

Re: FVWM3 myExt collection

Posted: Wed Jan 06, 2021 5:25 am
by rasat
Here is the latest. The snapshot is for users who prefer the classic all-in-one config.
Note: Cerebro search app is replaced by Ulauncher which is lighter and has good preference settings.

Download:
Full version v.0.9.7 (15 Feb 2021)
http://rasatpc.net/download/fvwm/ext/FV ... v0.9.7.zip

Snapshot v. 0.7 (old)
http://rasatpc.net/download/fvwm/ext/FV ... apshot.zip

Image

Re: FVWM3 myExt collection

Posted: Wed Jan 06, 2021 9:14 am
by manyroads
Nice job, @rasat.

Re: FVWM3 myExt collection

Posted: Sun Jan 10, 2021 3:47 pm
by rasat
These extensions are new choices to an existing system, such as replacing RightPanel with a separate pager and task panel. Here I am displaying how wallpaper is also part of the extensions.

EXTENSIONS

11. TaskPanelCurve - is similar to the classic windows taskbar (based on David Lanham’s Somatic theme). Choice of round or curve panel end.

Image

Code: Select all

DestroyMenu MenuStart
AddToMenu MenuStart
+ "Menu" Popup XDGMenu
Test (x featherpad) + "Help" Exec exec featherpad $[FVWM_USERDIR]/howTo.txt
+ "-" Nop
+ "Restart" Restart
+ "Quit" Module FvwmScript FvwmScript-ConfirmQuit

# Generate XDGMenu
PipeRead "fvwm-menu-desktop -e"

SetEnv tpc-image $[HOME]/.fvwm/images/TaskPanel
Module FvwmButtons TPanelButtons

DestroyModuleConfig TPanelButtons: *
*TPanelButtons: Geometry 912x30+0+0
*TPanelButtons: Colorset 10
*TPanelButtons: Frame 0
#*TPanelButtons: Font -*-helvetica-medium-r-*-*-12-*
*TPanelButtons: Columns 912
*TPanelButtons: Padding 0 0

*TPanelButtons: (100x25, Icon $[tpc-image]/fvwm.png, ActionOnPress, Action(Mouse 1) `Menu MenuStart Rectangle +$left+23 0 0m`)
*TPanelButtons: (631x23, Swallow FvwmIconMan 'Module FvwmIconMan')
Test (x stalonetray) *TPanelButtons: (120x30, Swallow(NoClose,UseOld) \
    stalonetray 'Exec exec stalonetray --config \
    "$[FVWM_DATADIR]/default-config/.stalonetrayrc"', Frame 0, Colorset 10)
  *TPanelButtons: (30x30, Colorset 10)
*TPanelButtons: (31x30, Icon $[tpc-image]/curve1-wood.png, Colorset 18)

## Style setting
Style TPanelButtons !Borders, !Title, WindowListSkip, Sticky
12. VPager6pg - a vertical pager with six pages. This is inspired by the Gnome's "Workspace To Dock" extension. Later there will be one app icon launcher on the right side.

Image

Code: Select all

# Virtual Desktop
DesktopSize "1x6"
Module FvwmPager VPager

DestroyModuleConfig VPager: *
*VPager: Geometry 113x600-0+150
*VPager: Back #d9d9d9
#*VPager: Colorset * 13
*VPager: HilightColorset * 6 #selected page background (original 13)
*VPager: BalloonColorset * 10 # font color
*VPager: WindowColorsets 10 11 # original 10 11 (inactive apps)
*VPager: Font none
*VPager: SolidSeparators
*VPager: WindowBorderWidth 1
*VPager: Balloons All
*VPager: BalloonFont "xft:Sans:Bold:size=10:antialias=True"
*VPager: BallonYOffset +2
*VPager: Window3dBorders
*VPager: MiniIcons

Style "VPager" NoTitle, !Handles, Borders, BorderWidth 5, BorderColorset 6, Sticky, WindowListSkip, FixedSize, !Iconifiable ## BorderColorset 19 (border line)
Module VPager
###############

SCREENSHOT OF NEW EXTENSION (action).

Image

Re: FVWM3 myExt collection

Posted: Wed Jan 20, 2021 9:32 am
by rasat
This collection is directly related to window management as per the acronym WM. In this regard, a WM does better than a Desktop which is more related to the applications and appearance. The core of FVWM is window management. It does well when dealing with a cluttered desk. In my case, this often happens when working with Gimp images and OpenShot video editing. And a file manager to "drag and drop" between the two.

Image

13. WinListSwitch - a two-button switch to view windows on the current page and all pages. Similar to a taskbar but easier to manage.

Image

14. New menu update - includes lowering a window (brings hidden windows to appear). And to close windows one after another without clicking on them. Fast way of closing numbers of open windows.

Code: Select all

## Titlebar right-click
DestroyMenu MenuWindowOps
AddToMenu   MenuWindowOps
+ "Send to " Popup MenuSendTo
+ "Min" Thumbnail
+ "Shade" WindowShade ## NEW UPDATE
+ "Low" Lower ## NEW UPDATE
+ "Close" Close
+ "-" Nop
+ "Quit" Destroy

## Desktop right-click
DestroyMenu MenuWindowOpsLong
AddToMenu   MenuWindowOpsLong
+ " " Nop
+ "Min%$[mimg]/icons/win/iconify.png%" Thumbnail
+ "Move%$[mimg]/icons/win/move.png%" Move
+ "Resize%$[mimg]/icons/win/resize.png%" Resize
+ "Low%$[mimg]/icons/win/bottom.png%" Lower ## NEW UPDATE
+ "Max%$[mimg]/icons/win/max.png%" Maximize
+ "---" Nop
+ "Done%$[mimg]/icons/win/done.png%" Next (Focused) Close ## NEW UPDATE
+ "---" Nop
+ "Quit%$[mimg]/icons/quit.png%" Module FvwmScript FvwmScript-ConfirmQuit

Re: FVWM3 myExt collection

Posted: Wed Jan 27, 2021 1:21 pm
by rasat
This is the last major part of the myExt to switch the configs without using an external script. Also, no restart is required.

15. ExtensionSwitch - this config uses “KillModule” and “Read” to do the job. At present, it has 5 buttons that can be extended to any number. Each button changes a set of module configs and one button changes the decoration. Later, the idea is to have a set for a particular work environment (office, multimedia, etc.)

1. myRightPanel + ControlBPanel (with pager)
2. VerticalPager + TaskPanel + ControlButtons
3. TaskPanel and ControlButtons
4 . DiaryDecoration
5. Reset

For this to work, some of the configs were re-written which makes the whole system stable and easier to add new extensions.

Image

Sample of “RPanel” config…

Code: Select all

## 7Modules: ExtSwitch/RPanel.sys
## Close VerticalPager, TaskPanelCurve, and ControlButtons.
## Load ControlBPanel and myRightButtons.

## Close VerticalPager and TaskPanelCurve.
KillModule FvwmPager VPager
KillModule FvwmButtons ClockPanel
KillModule FvwmButtons TPanelButtons
KillModule FvwmButtons CPanelButtons

## Load ControlPanel and myRightButtons
Read $[FVWM_USERDIR]/7Modules/myRightButtons.sys
Read $[FVWM_USERDIR]/7Modules/controlPanelBPg.sys

## Change SimpleButtons geometry
KillModule FvwmButtons SimpleButtons
Read $[FVWM_USERDIR]/7Modules/simpleButton.sys
*SimpleButtons: Geometry 500x50+720+0
16. Time, Day, and Calendar - is an addon to FvwmScript-DateTime with one calendar button.

Image

Code: Select all

## Time, Date, and Calendar
Module FvwmButtons TimeDayButton

DestroyModuleConfig TimeDayButton:*
*TimeDayButton: Geometry 120x80-0-50
*TimeDayButton: Colorset 10
*TimeDayButton: Columns 120
*TimeDayButton: Font "xft:Sans:Bold:size=10:antialias=True"
*TimeDayButton: (25x20,  Frame 0)
*TimeDayButton: (25x20,  Frame 0)
*TimeDayButton: (120x30, Title Calendar, Action(Mouse 1) "Exec exec $[FVWM_USERDIR]/scripts/Calendar.sh", Font "xft:Sans:size=10:antialias=True", Frame 0)
*TimeDayButton: (120x45, Swallow DateTime 'Module FvwmScript', Frame 0)
*TimeDayButton: (120x25, Frame 0)

Style TimeDayButton !Borders, !Title, WindowListSkip, Sticky
Style yad* NoTitle ## no titel bar

## Yad position
AddToFunc StartFunction I Module FvwmEvent FvwmEvent-MoveWindow

DestroyModuleConfig FvwmEvent-MoveWindow: *
*FvwmEvent-MoveWindow: Cmd Function
*FvwmEvent-MoveWindow: add_window MoveYad

DestroyFunc MoveYad
AddToFunc   MoveYad
+ I ThisWindow ("yad") Move -2 -20
Bash script

Code: Select all

#!/bin/bash
# /scripts/calendar.sh

CAL_GET=`yad --calendar --text "" --list --button=Close:0 --title "My Calendar"`
case $? in
	0)
		exit ;;
esac

17. RestartShutdown - restart and shutdown panel (not included in the default FVWM).

Image

Code: Select all

SetEnv logo-image $[HOME]/.fvwm/images
Module FvwmButtons RestShutButtons

DestroyModuleConfig RestShutButtons: *
*RestShutButtons: Fore #2b4e5e
*RestShutButtons: Back #88b2b1
*RestShutButtons: Geometry 480x100-750+550

*RestShutButtons: Frame 0
*RestShutButtons: Rows 2
*RestShutButtons: BoxSize smart
*RestShutButtons: Font "xft:Sans:size=14:antialias=True"
*RestShutButtons: Padding 2 2

*RestShutButtons: (Icon "$[logo-image]/fvwm-logo-small.png", Back #f5f6f7, Fore #000000)
*RestShutButtons: (3x1, Title "Power Off", Back #f5f6f7, Fore #707070, Font "xft:Sans:size=18:antialias=True")

*RestShutButtons: (4x1,Container(Rows 1,Frame 1))
*RestShutButtons: (Title Cancel, Action(Mouse 1) KillModule FvwmButtons RestShutButtons)
*RestShutButtons: (Title Resart, Action(Mouse 1) Exec sudo /sbin/reboot)
*RestShutButtons: (Title "Power Off", Action(Mouse 1) Exec sudo /sbin/poweroff)

# Style Setting
Style RestShutButtons !Borders, !Title, WindowListSkip, Sticky
####

Download version 0.9.7 (15 Feb 2021)
http://rasatpc.net/download/fvwm/ext/FV ... v0.9.7.zip

Re: FVWM3 myExt collection

Posted: Mon Feb 15, 2021 3:14 pm
by rasat
FVWM is a Window Manager (WM). What sets it apart from other WMs? It is also a Virtual window manager. Among the powerful fvwm features is the virtual desktop, which allows you to place windows on an area much larger than the actual size of the visible display.

18. Virtual Window Switch - this switch changes the desk into a size of six pages (screens). 3 pages wide and 2 pages high (3x2). Allows full window view (100% to 200%) by using the pager or scroll screen edge with the mouse cursor (EdgeScroll 100 100). Here is Scribus in action, window view zoom 170%.

Image

Re: FVWM3 myExt collection

Posted: Tue Nov 23, 2021 8:43 am
by rasat
I have uploaded the latest myExt config package 1.9.8 on Box-Look. An improvement on the virtual management config (vPager4pg.sys) and the config structure in general.
https://www.box-look.org/p/1472903

The wallpaper is inspired by the latest MX 21 "Wildflowers". Matches well with myExt configs. :happy: Soon there will also be one new MX Fvwm respin.

Image

Re: FVWM myExt collection (configs)

Posted: Sun May 01, 2022 6:25 am
by rasat
Copied from
https://forum.mxlinux.org/viewtopic.php ... 89#p682089
pianokeyjoe wrote: Sat Apr 30, 2022 1:25 pm @rasat Thankyou for the direction. Now I have a .config folder in my home directory and there is one in the root home directory as well. Now what file do I edit for the CDEDecor? Do I find a .fvwmrc file somewhere in my Linux filesystem? Or do I make a .fvwmrc file if it does not exist? And where do I put that file so my local user fvwm desktop finds it and changes the default theme to the CDEDecor theme? So far there is NO .fvwmrc file in my /home/linux home directory. I did find a system wide file in /etc/X11/fvwm/system.fvwmrc and system.fvwmrc-menu. Do I edit those? And then put the files in my /home/linux directory or do I drag and drop them into /home/linux/.config/ folder instead? It is kinda confusing cause the online instructions do NOT tell you WHAT file to edit or create, and WHERE to save the file..
Welcome to Fvwm basic startup.
When loading Fvwm it creates one hidden home folder .fvwm where you set up all configs and settings. When the folder is empty, it runs the default /usr/share/fvwm3/default-config/config (depending of version 3 or fvwm2). To modify the config file or add another user-made config, copy it to .fvwm. In Fvwm2, the file name "config" cannot be renamed which means that the default root config is excluded. In Fvwm3 the root config is included when home .fvwm/config is renamed to local.config that I am using in this sample to create the CDE look as per this link.
https://www.fvwm.org/Wiki/Decor/CDE/

Usually, everything is added into one file but I prefer to keep each major feature in a separate file. It becomes easier to debug, search and keep a proper order when separating the features. Also, sometime the right sequence must be kept. If you use Fvwm3, in .fvwm folder, create these 5 files, stating with local.config

1. local.config

Code: Select all

## Home variable
SetEnv HOME_DIR $[HOME]/.fvwm

## 1.Functions

## 2-3.Styles
Read $[HOME_DIR]/styleCDE
Read $[HOME_DIR]/colorsetCDE

## 4.Menus

## 5.Bindings
Read $[HOME_DIR]/bindingCDE

## 6.Decorations
Read $[HOME_DIR]/decorCDE

## 7.Modules

######
## Change preloaded default settings
######

## EwmhBaseStruts [left] [right] [top] [bottom]
## Reserves space along the edge(s) of the Screen that will not
## be covered when maximizing or placing windows.
## (untag and edit below line)

# EwmhBaseStruts 70 150 60 100

## Mouse click behaviour and window focus.
Style * ClickToFocus, FPGrabFocus

2. styleCDE

Code: Select all

Style * Colorset 1, HilightColorset 2, BorderColorset 3, HilightBorderColorset 4, \
        BorderWidth 5, HandleWidth 5, MWMBorder, DepressableBorder, MWMButtons, UseDecor CDEDecor
3. colorsetCDE

Code: Select all

#   1 - Inactive Windows 
#   2 - Active Window
#   3 - Inactive Windows Borders
#   4 - Active Windows Borders
Colorset 1 fg white, bg #afbdc07ac200
Colorset 2 fg white, bg #cc0068006f00
Colorset 3 fg white, bg #afbdc07ac200
Colorset 4 fg white, bg #cc0068006f00
4. bindingCDE

Code: Select all

# Window Button Locations [1 Title 42]
Mouse 1 4 A Iconify
Mouse 1 2 A Maximize
Mouse 1 1 A Menu MenuWindowOps
5. decorCDE

Code: Select all

AddToDecor CDEDecor
+ TitleStyle    AllInactive -- Raised
+ TitleStyle    AllActive -- Raised
+ ButtonStyle   All Simple -- UseTitleStyle
+ BorderStyle   Simple
+ TitleStyle    Centered -- Raised
+ ButtonStyle   All -- Raised

+ AddButtonStyle 1 Vector 3 23x58@0 77x58@0 77x42@0
+ AddButtonStyle 1 Vector 3 23x58@1 23x42@1 77x42@1

+ AddButtonStyle 2 Vector 3 21x79@0 79x79@0 79x21@0
+ AddButtonStyle 2 Vector 3 21x79@1 21x21@1 79x21@1

+ AddButtonStyle 4 Vector 3 42x58@0 58x58@0 58x42@0
+ AddButtonStyle 4 Vector 3 42x58@1 42x42@1 58x42@1

+ TitleStyle Height MinHeight 20
Note: After doing any changes, restart Fvwm (left-click, Restart)

If any questions, be free to ask.

Re: FVWM myExt collection (configs)

Posted: Sun May 01, 2022 4:59 pm
by pianokeyjoe
Thankyou @rasat for leading me in the right direction with all this! I have almost successfully done a CDE LOOK FVWM setup. The old right hand side panel is still in the config file as is the color scheme of default fvwm 2/3 but only on the side panel. I am piecing together a working CDE look fvwm theme now.. Since fvwm 2/3 both support .png graphics files where the old versions from 1990s and early 2000s did NOT, I would have to reconfigure the menu to NOT use icons or to use .xpm icons instead in order to make the theme truly universal across all versions of fvwm. I am not sure about fvwm 1.x though. That version was the only fvwm in the 90s and early 2000s for most NIX OSs. I guess one step and one thing at a time eh?! But thankyou cause now I am much further along in this goal then I have been for decades! In your instructions for colorsets this is incomplete as it only colors the window borders but not the menus(desktop menu nor window menus). The window button binding is also broken because I could not access the WindowMenu to close the windows and if you iconify a window or app, you can not restore it by clicking on the icon on the desktop. I had to use parts of the default fvwm config file to restore much of these needed basic operations.. I am still playing around here but I will report back upon success of a fully working theme for fvwm 2.

Re: FVWM myExt collection (configs)

Posted: Mon May 02, 2022 9:37 am
by rasat
pianokeyjoe wrote: Sun May 01, 2022 4:59 pm I guess one step and one thing at a time eh?!
For my information, you are using Fvwm2 or Fvwm3?
For a general understanding about Fvwm, there is no universal theme that affects all features. Each item is individually configured with a style and color. Lets continue with the menu.
Add this file to .fvwm folder.

menuCDE

Code: Select all

## Menu Styling
MenuStyle * MenuColorset 1, ActiveColorset 6, GreyedColorset 3, TitleColorset 4
MenuStyle * Hilight3DOff, HilightBack, HilightTitleBack, SeparatorsLong
MenuStyle * TrianglesSolid, TrianglesUseFore
MenuStyle * ItemFormat "%|%3.1i%5.3l%5l%5r%5.3>%|"
MenuStyle * Font "xft:Sans:Bold:size=8:antialias=True"
Add this line in local.config below "4.Menu"

Code: Select all

Read $[HOME_DIR]/menuCDE
Replace colorsetCDE with this content

Code: Select all

## Colorset for windows
#   1 - Inactive Windows 
#   2 - Active Window
#   3 - Inactive Windows Borders
#   4 - Active Windows Borders

## Colorset for menuCDE
#   1 - Menu - Inactive Item
#   6 - Menu - Active Item
#   3 - Menu - Grayed Item
#   4 - Menu - Title

Colorset 1 fg white, bg #afbdc07ac200
Colorset 2 fg white, bg #cc0068006f00
Colorset 3 fg white, bg #afbdc07ac200
Colorset 4 fg white, bg #cc0068006f00

Colorset 6  fg #000000, bg #88b2b1, hi, sh, Plain, NoShape # (highlight text color)
To change an item is to identify it. The name of right-side panel is "RightPanel". It is made of two parts (FvwmPager and FvwmIconMan) and scripts, How does it look-like in CDE, I am not sure. This is just a sample.

Add this at the end of local.config file.

Code: Select all

###
CHANGE RIGHT PANEL
###

## Right Panel color
*RightPanel: Colorset 1

## Fvwm Pager color
*FvwmPager: Colorset * 4
#*FvwmPager: HilightColorset * 13
#*FvwmPager: BalloonColorset * 11
*FvwmPager: WindowColorsets 1 2

## Fvwm IconMan

*FvwmIconMan: Colorset 1
*FvwmIconMan: FocusColorset 2
# *FvwmIconMan: IconColorset 14
# *FvwmIconMan: FocusAndSelectColorset 12
# *FvwmIconMan: SelectColorset 12
# *FvwmIconMan: IconAndSelectColorset 12

## Date and Time
*FvwmScript: DefaultColorset 2

## Style
Style "RightPanel" Borders, BorderWidth 4, BorderColorset 2
Restart and have a look.

Re: FVWM3 myExt collection

Posted: Mon May 02, 2022 1:00 pm
by oops
rasat wrote: Wed Jan 27, 2021 1:21 pm
####
Download version 0.9.7 (15 Feb 2021)
http://rasatpc.net/download/fvwm/ext/FV ... v0.9.7.zip
Nice rasat,
I have tested your FVWM-myExt-v0.9.7.zip, nice job.
tested too: FVWM-myExt-v3.2.zip ... here: https://www.box-look.org/p/1472903

One suggestion, you can optimize all yours bigs .png files with (size divided by 2 or more):
pngquant -f --ext .png --quality 70-95 MyPicture.png

Re: FVWM myExt collection (configs)

Posted: Mon May 02, 2022 1:49 pm
by pianokeyjoe
@rasat Thankyou!! It all worked! I did more or less just replace lines of code in the default config file with the appropriate lines for CDE and saved. I am using FVWM2. It is the default version that comes provided in synaptic under misc graphical or something like that. I reckon I could replace this with fvwm3 but then I would break NsCDE which required fvwm2 and during the install of NsCDE it did uninstall fvwm3 and replaced it with fvwm2. No worries here! I will be packing the theme file shortly and sharing it and giving credit where credit is due.

Re: FVWM myExt collection (configs)

Posted: Mon May 02, 2022 2:26 pm
by amlug
pianokeyjoe wrote: Mon May 02, 2022 1:49 pm I reckon I could replace this with fvwm3 but then I would break NsCDE which required fvwm2 and during the install of NsCDE it did uninstall fvwm3 and replaced it with fvwm2.
What NSCDE version you have? Version 2.1 work good on Fvwm3.

Re: FVWM myExt collection (configs)

Posted: Mon May 02, 2022 7:10 pm
by pianokeyjoe
amlug wrote: Mon May 02, 2022 2:26 pm
pianokeyjoe wrote: Mon May 02, 2022 1:49 pm I reckon I could replace this with fvwm3 but then I would break NsCDE which required fvwm2 and during the install of NsCDE it did uninstall fvwm3 and replaced it with fvwm2.
What NSCDE version you have? Version 2.1 work good on Fvwm3.
I have installed version 1.2 which was the latest available from SparkyLinux at the time. I just checked their repo site again and found the new 2.1. I have downloaded the .deb files for all the CPU platforms and will try it though I suspect it is only for Bullseye and not for Buster(Debian 10/MX 19). So I would have to try it on a MX21 install which I do not have access to at the moment. But it is nice to know that when I do setup a desktop with MX21.1 that I have better choices! I even have CDE DESKTOP 2.4.0 that may work on Bullseye/MX21.1 as well. Again, these are deb files from SparkyLinux repo. MX nor any other distro based on Debian has these files. Sure, Elive has the uber rare E16(Enlightenment 16) release deb files in its repo which I do activate on MX when I want to only install the Debianized packages of E16 but sadly they do not have NsCDE nor CDE Desktop nor any other vintage Desktop or WM. Not that I am not looking! Fvwm3.. what benefits does fvwm3 have over fvwm2?

Re: FVWM3 myExt collection

Posted: Tue May 03, 2022 11:28 am
by rasat
oops wrote: Mon May 02, 2022 1:00 pm One suggestion, you can optimize all yours bigs .png files with (size divided by 2 or more):
pngquant -f --ext .png --quality 70-95 MyPicture.png
Thanks, this is great. I have been avoiding adding many png (wallpaper) images due to the large size.

Re: FVWM myExt collection (configs)

Posted: Tue May 03, 2022 11:37 am
by rasat
pianokeyjoe wrote: Mon May 02, 2022 7:10 pm ...what benefits does fvwm3 have over fvwm2?
Fvwm3 is designed for duel-monitors, overall improvement, and smaller memory usage. One of the visible differences is the use of local.config that runs along with the default config.

Re: FVWM3 myExt collection

Posted: Tue May 03, 2022 2:47 pm
by oops
oops wrote: Tue May 03, 2022 2:35 pm
rasat wrote: Tue May 03, 2022 11:28 am
oops wrote: Mon May 02, 2022 1:00 pm One suggestion, you can optimize all yours bigs .png files with (size divided by 2 or more):
pngquant -f --ext .png --quality 70-95 MyPicture.png
Thanks, this is great. I have been avoiding adding many png (wallpaper) images due to the large size.
Your welcome.
you can do this recusively for all .png by:

Code: Select all

cd /the-baseDir
find . -name '*.png' -exec pngquant -f --ext .png --quality 70-95 {} \;
PS: Maybe you can also provide a custom config for eepc (with small screen like: 1024x600 )

Re: FVWM3 myExt collection

Posted: Wed May 04, 2022 3:46 am
by rasat
oops wrote: Tue May 03, 2022 2:47 pm PS: Maybe you can also provide a custom config for eepc (with small screen like: 1024x600 )
Yes, for sure. This annoyance of odd-looking wallpaper of large resolution on a small screen can now be solved. There will be a similar script that adjusts panels and buttons as per screen resolution.
https://github.com/rasatpc/FVWM3-myEXT/ ... osition.sh

FVWM myEXT GitHub:
https://github.com/rasatpc/FVWM3-myEXT

Re: FVWM myExt collection (configs)

Posted: Wed May 04, 2022 7:45 am
by oops
Thanks Rasat, I didn't know.

Re: FVWM3 myExt collection

Posted: Wed May 04, 2022 10:45 am
by pianokeyjoe
oops wrote: Tue May 03, 2022 2:47 pm
oops wrote: Tue May 03, 2022 2:35 pm
rasat wrote: Tue May 03, 2022 11:28 am
Thanks, this is great. I have been avoiding adding many png (wallpaper) images due to the large size.
Your welcome.
you can do this recusively for all .png by:

Code: Select all

cd /the-baseDir
find . -name '*.png' -exec pngquant -f --ext .png --quality 70-95 {} \;
PS: Maybe you can also provide a custom config for eepc (with small screen like: 1024x600 )
Installed pngquant and experimented with the compression ratios. I wish there was a GUI version to preview the results of the different compression ratios but it all worked eitherway!

Re: FVWM myExt collection (configs)

Posted: Fri May 06, 2022 7:30 pm
by oops
Hello,
I have tested a little bit more (the memory side) , and fvmw3 is in the middle range (beetween IceWM and XFCE4 DE), FvwmButtons consumes some extra memory.

All AMD64

20520KB - fvwm3
18936KB - FvwmScript
18844KB - FvwmButtons
18700KB - FvwmButtons
16872KB - FvwmButtons
16816KB - FvwmButtons
16752KB - FvwmButtons
13040KB - FvwmButtons
12908KB - FvwmButtons
12808KB - FvwmButtons
12596KB - FvwmPager
9312KB - FvwmIconMan
652KB - FvwmEvent
648KB - FvwmEvent
648KB - FvwmEvent
------------------------------------
190052KB: Memory used by user 'autre-mx'

//////////////////////////////////////////////////////
------------- bspwm-----------------------
3196KB - bspwm_help.sh
2444KB - bspwm
2336KB - sxhkd
------------------------------------
7976KB: Memory used by user 'autre-mx'

-----------JWM x32-------------------------
26020KB - jwm
------------------------------------
26020KB: Memory used by user 'user-mx'

----------- icewm-session 64bits-------------------------
24896KB - icewm
1960KB - icewm-session
------------------------------------
26856KB: Memory used by user 'autre-mx'
-----------icewm-session 32bits-------------------------
19132KB - icewm
1668KB - icewm-session
------------------------------------
20800KB: Memory used by user autre-mx'

------------I3------------------------
17356KB - i3
15192KB - i3bar
6668KB - i3status
------------------------------------
39216KB: Memory used by user 'autre-mx'

-------------only fluxbox - amd64-----------------------
15920KB - fluxbox
------------------------------------
15920KB: Memory used by user 'autre-mx'
------------fluxbox X32------------------------
29428KB - tint2
25508KB - wmalauncher
24544KB - wmalauncher
24524KB - wmalauncher
24476KB - wmalauncher
24420KB - wmalauncher
24384KB - wmalauncher
24352KB - wmalauncher
24324KB - wmalauncher
24256KB - wmalauncher
19964KB - wmalauncher
10240KB - fluxbox
------------------------------------
280420KB: Memory used by user 'user-mx'


------------XFCE4 with xfwm4 ------------------------
90920KB - xfwm4
52660KB - xfce4-panel
47960KB - xfce4-clipman
31016KB - xfce4-session
27212KB - xfce4-power-man
24772KB - xfce4-notifyd
2060KB - xfce-superkey
------------------------------------
276600KB: Memory used by user 'autre-mx'

------------XFCE4 with compiz (only)------------------------
147596KB - compiz
------------------------------------
147596KB: Memory used by user 'user-mx'

Re: FVWM myExt collection (configs)

Posted: Sat May 07, 2022 3:22 pm
by rasat
oops wrote: Fri May 06, 2022 7:30 pm FvwmButtons consumes some extra memory.
Can you identify which FvwmButtons?

Re: FVWM myExt collection (configs)

Posted: Sat May 07, 2022 5:36 pm
by oops
... Yes I guess from:
/home/user/.fvwm/extraEXT/MODULES/DashToDock/dashToD.sys

Re: FVWM myExt collection (configs)

Posted: Sun May 08, 2022 6:15 am
by rasat
oops wrote: Sat May 07, 2022 5:36 pm ... Yes I guess from:
/home/user/.fvwm/extraEXT/MODULES/DashToDock/dashToD.sys
So, you compared the memory usage with the extensions? Do the test with the default Fvwm3.... empty .fvwm folder.

Re: FVWM myExt collection (configs)

Posted: Sun May 08, 2022 9:05 am
by oops
rasat wrote: Sun May 08, 2022 6:15 am
oops wrote: Sat May 07, 2022 5:36 pm ... Yes I guess from:
/home/user/.fvwm/extraEXT/MODULES/DashToDock/dashToD.sys
So, you compared the memory usage with the extensions? Do the test with the default Fvwm3.... empty .fvwm folder.
Yes, without this extension (dock like or buttons), fvwm has the ~ same footprint as Icewm, or Fluxbox (without dock too by default), or I3.
It is nice, it was just to advise (with only tint2 the footprint is better).

Re: FVWM myExt collection (configs)

Posted: Thu May 12, 2022 5:01 pm
by rasat
oops wrote: Sun May 08, 2022 9:05 am Yes, without this extension (dock like or buttons), fvwm has the ~ same footprint as Icewm, or Fluxbox (without dock too by default), or I3.
This means optimizing the extensions for lower memory usage.

About the wallpaper of different screen resolutions. At last, after breaking my head in creating a script, I found the solution.... tiled wallpaper. The default Fvwm wallpapers (480x480) are tiled.

With Gimp you can create your own seamless images.
https://www.linuxtopia.org/online_books ... ode83.html

Click menu bar: Filters → Map → Tile Seamless

I did a test on .fvwm/images/background/myExt-1920x1080.png
https://rasatpc.net/screenshot/myExt/Ti ... 00x675.png

Tiled image (seamless) 900x506 that will work well on a screen 3840x2160 and 1024x600.
https://rasatpc.net/screenshot/myExt/Ti ... 00x506.png

Another method of creating a wallpaper is with xsetroot by using different numbers. For example, run this in terminal:

Code: Select all

xsetroot -bg \#555555 -mod 4 4

Re: FVWM myExt collection (configs)

Posted: Thu May 12, 2022 5:27 pm
by oops
... Congratulations, it is a good idea too.

Re: FVWM myExt collection (configs)

Posted: Wed May 18, 2022 10:30 am
by amlug
rasat wrote: Thu May 12, 2022 5:01 pm About the wallpaper of different screen resolutions. At last, after breaking my head in creating a script, I found the solution.... tiled wallpaper. The default Fvwm wallpapers (480x480) are tiled.
Thanks for link. Nice start creating tiled wallpapers.
https://wallpapercave.com/u/rasat

Re: FVWM myExt collection

Posted: Wed Mar 01, 2023 9:25 am
by rasat
Has been silent for a while when things work fine.

Two new extensions have been included: "Wifi & Sound Tray" and ceeslan's yad Exit Menu that was posted on this forum.
https://forum.mxlinux.org/viewtopic.php?t=73992

If you have Fvwm3 myExt installed, run the Ext Installer and upgrade to version 3.2.5 (left-click, System, Ext-Install) or check at Git Hub:
https://github.com/rasatpc/FVWM3-myEXT

Re: FVWM myExt collection (configs)

Posted: Fri Mar 03, 2023 4:22 pm
by rasat
I added all the main extensions (configs) in the Fvwm Extensions wiki. There are currently 45 configs. If anyone is interested to build their own, they are nice examples to have a look at. Many of them were modified from different configs located all over the internet, a time-consuming search. I hope this will help.

Fvwm Extensions (configs archive):
https://rasatpc.net/fvwm-ext/index.php/Main_Page

Re: FVWM myExt collection (configs)

Posted: Fri Mar 03, 2023 5:00 pm
by Procenko
its true fvwm or shell for kde?

Re: FVWM myExt collection (configs)

Posted: Sat Mar 04, 2023 5:43 am
by rasat
Procenko wrote: Fri Mar 03, 2023 5:00 pm its true fvwm or shell for kde?
This is 100% Fvwm. No changes made in the default Fvwm system. Rather it is the base for the extensions (configs) that are created with the same language and style as the default.

The only difference from the classic config that contains all functions in one file, myExt separates it into 6 sub-folders for easier maintenance and usage. Each function is a separate file that is made into an "extension" package which and be added and removed. This style is focusing on the end-users and with a modern look and feel.

Re: FVWM myExt collection (configs)

Posted: Sun Mar 05, 2023 10:28 am
by Procenko
rasat wrote: Sat Mar 04, 2023 5:43 am
Procenko wrote: Fri Mar 03, 2023 5:00 pm its true fvwm or shell for kde?
This is 100% Fvwm. No changes made in the default Fvwm system. Rather it is the base for the extensions (configs) that are created with the same language and style as the default.

The only difference from the classic config that contains all functions in one file, myExt separates it into 6 sub-folders for easier maintenance and usage. Each function is a separate file that is made into an "extension" package which and be added and removed. This style is focusing on the end-users and with a modern look and feel.
Interesting, thanks!

And is there guide help how all this beauty install on MX and manage?

Re: FVWM myExt collection (configs)

Posted: Sun Mar 05, 2023 3:11 pm
by rasat
Procenko wrote: Sun Mar 05, 2023 10:28 am And is there guide help how all this beauty install on MX and manage?
Let me know when you have the Fvwm3 installed. I will post the instructions.

Re: FVWM myExt collection (configs)

Posted: Mon Mar 06, 2023 2:33 pm
by rasat
Procenko wrote: Sun Mar 05, 2023 10:28 am And is there guide help how all this beauty install on MX and manage?
I made one new page on the Fvwm Extensions wiki on how to install the extensions on MX Linux. If any questions or is not clear, let me know and the page gets updated.
https://rasatpc.net/fvwm-ext/index.php/ ... n_MX_Linux

Re: FVWM myExt collection (configs)

Posted: Mon Mar 06, 2023 6:42 pm
by amlug
rasat wrote: Mon Mar 06, 2023 2:33 pm I made one new page on the Fvwm Extensions wiki on how to install the extensions on MX Linux. If any questions or is not clear, let me know and the page gets updated.
https://rasatpc.net/fvwm-ext/index.php/ ... n_MX_Linux
Thanks, I did a test on a fresh MX 21.3 by installing the test repo Fvwm3 and Extensions ver. 3.3.0 as per the guide. Works perfectly, and looks good. Been using these configs since beginning, is it two years??

Comments: From the guide, you can remove some of the packages that are installed by MX 21.3:
python3-xdg, yad, gawk, sed, x11-utils, volumeicon-alsa, and xfce4-appfinder

Re: FVWM myExt collection (configs)

Posted: Tue Mar 07, 2023 5:19 am
by amlug
Now it looks great and the Extension Installer screenshot.
https://rasatpc.net/fvwm-ext/index.php/ ... n_MX_Linux

Screenshot:
https://rasatpc.net/fvwm-ext/index.php/ ... aller2.png

Re: FVWM myExt collection (configs)

Posted: Mon Mar 13, 2023 8:09 pm
by rasat
I was searching for a nice Fvwm window decor and found this, a beautiful example. Did minor editing and one new title image (wood texture).
https://www.fvwm.org/Wiki/Decor/QNX/

Image

Re: FVWM myExt collection

Posted: Fri Mar 17, 2023 6:18 pm
by rasat
This is the new base for version 3.4.

Image

Re: FVWM myExt collection

Posted: Fri Mar 24, 2023 3:07 pm
by amlug
rasat wrote: Sun Dec 20, 2020 12:35 pm Inspired by Gnome Extensions that make gnome multifunctional. This gave the name "FVWM myExtensions".
I was a long Gnome user and extensions were my favorit. Comparing to Gnome's best extensions, Fvwm made many of them.

User Themes
Dash to Dock
Extension List
WinTile
Auto Move Windows
Window Icon List
Hide Activities Button
Poppy Menu
OverView
Panel OSD
Dash to Panel
Workspaces Thumbnails
Workspace Indicator

It would be good to add Open Weather, display weather information for any location.
https://extensions.gnome.org/extension/750/openweather/

Re: FVWM myExt collection

Posted: Wed Mar 29, 2023 3:41 pm
by rasat
amlug wrote: Fri Mar 24, 2023 3:07 pm It would be good to add Open Weather, display weather information for any location.
https://extensions.gnome.org/extension/750/openweather/
Thank you for the suggestion, I have been thinking about it. Tested a few Debian weather packages, unnecessarily slow and heavy. On other hand, Bash scripts are too austere, though this script is funny and interesting. It requires yad (sudo apt install yad)

Run in terminal (change city Helsinki to your location):

Code: Select all

bash -c 'curl wttr.in/Helsinki?0 | sed -e "s/\x1b\[[0-9;]*m//g" | yad --text-info --fontname="DejaVu Sans Mono Book 10" --width=300 --height=200 --button=gtk-close:0 --undecorated'
Maybe this could be extended with graphic icons and images.

Re: FVWM myExt collection

Posted: Mon Aug 07, 2023 8:57 am
by Mjaakko
Found this tread. So, this is how the individual scripts were started. Before everything was added into one file (.fvwm/config). Now splitting the file into different parts. Separate files make it much easier to manage and debug. And to add new functions and modules. Interesting. :number1:

Download:
https://www.box-look.org/p/1472903

Re: FVWM myExt collection

Posted: Fri Feb 02, 2024 6:47 pm
by rasat
New version update 3.6.7 with major improvement, compatibility with Fvwm Kise, and other fixes.

Download:
Pling
https://www.box-look.org/p/1472903
GitHub
https://github.com/rasatpc/FVWM3-myEXT