You are not logged in.

#1 2020-12-21 12:15:15

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

FVWM3 myExt collection

This is an ongoing collection of FVWM configs. Inspired by the 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 was 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.

## .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

#########

mx-fvwm3-097-help-thumb.png

Last edited by rasat (2021-03-08 18:09:40)


Markku

Offline

#2 2020-12-21 12:20:55

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

Re: FVWM3 myExt collection

EXTENSIONS

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

SimpleButton2.png

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

## 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-right-side window frame with minimized window thumbnail (based on addy-fe's Diary theme).

DiaryDecor-thnails.png

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

## 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:

FVWM-myExt-pkg-thumb1.png

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

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

MY FVWM3 SETUP:

FVWM-myExt-20dec2020v0.4.5-thumb.png

Last edited by rasat (2021-02-17 12:29:30)


Markku

Offline

#3 2020-12-30 19:35:56

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

Re: FVWM3 myExt collection

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. And a pager to manage the window page location.

control-panel-bp-v5.png

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

myDecor-right-click-menu-v3.png


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

## 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

ulauncher-action-v2.png

SCREENSHOT OF NEW EXTENSIONS

buttonless-title-bar-action-v3-thumb.png

myDecor-controlpanel-thumbnails-arch-v2-thumb.png

Last edited by rasat (2021-02-04 20:54:52)


Markku

Offline

#4 2021-01-06 10:34:37

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

Re: FVWM3 myExt collection

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 ver. 0.9.2 (4 Feb 2021)
http://rasatpc.net/download/fvwm/ext/FV … v0.9.2.zip

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

fvwm-myExt-v0.7-snapshot-150x.png

Last edited by rasat (2021-02-04 20:57:04)


Markku

Offline

#5 2021-01-06 14:03:50

manyroads
Member
From: off the edge...
Registered: 2019-12-09
Posts: 14
Website

Re: FVWM3 myExt collection

Nice job @rasat.


Pax vobiscum,
Mark Rabideau - http://many-roads.com
dwm & i3 ~ Reg. Linux User #449130
"For every complex problem there is an answer that is clear, simple, and wrong." H. L. Mencken

Offline

#6 2021-01-10 20:56:25

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

Re: FVWM3 myExt collection

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.

taskPanelCurve-menu-v2.png

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.

verticalPager6pg-v2.png

# 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 EXTENSIONS (action).

pager-taskpanel-action-th.png

Last edited by rasat (2021-02-04 20:58:04)


Markku

Offline

#7 2021-01-20 14:40:58

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

Re: FVWM3 myExt collection

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.

cluttered-desk-th.png

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

WindListSwitch-v2.png

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.

## 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

Last edited by rasat (2021-02-04 20:58:37)


Markku

Offline

#8 2021-01-27 18:25:57

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

Re: FVWM3 myExt collection

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.

extSwitch-results-th.png

Sample of “RPanel” config…

## 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.

timeDayButton-v3.png

## 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

#!/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).

restart-shutdown-fvwm-v3.png

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

Last edited by rasat (2021-02-17 12:30:22)


Markku

Offline

#9 2021-02-15 20:17:35

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,230
Website

Re: FVWM3 myExt collection

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%.

mx-fvwm3-097-virtual-th.png

Last edited by rasat (2021-02-17 12:31:08)


Markku

Offline

Board footer

Powered by FluxBB