Created
September 21, 2017 14:12
-
-
Save WaterSibilantFalling/830e0218b8c0ab73672d4888e71bb061 to your computer and use it in GitHub Desktop.
fvwm config files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ModulePath /usr/lib/fvwm/2.6.5/:${FVWM_MODULEDIR}:+ | |
# for debugging | |
# see man FvwmGtkDebug | |
# the GTK version : seems kinda useless | |
#Module FvwmGtkDebug | |
# the text version | |
#FvwmDebug --log '|xconsole -file /dev/stdin -geometry 600x400 -notify' | |
#FvwmDebug --log --xconsole | |
# get rid of existing debugging and logging | |
# Exec rm /var/log/userspace/fvwm.log | |
# Exec touch /var/log/userspace/fvwm.log | |
# Exec exec kill `lsof | grep userspace/fvwm | awk '{print $2}' ` 2>/dev/null | |
# Exec exec killall FvwmDebug 2>/dev/null | |
# # start logging | |
# Module FvwmDebug --send-configinfo --log /var/log/userspace/fvwm.log | |
# --- remove default bindings | |
Key Help R A - | |
Key F1 R A - | |
Key Tab A M - | |
Key Escape A MC - | |
Mouse 1 R A - | |
Mouse 1 T - - | |
#Mouse 1 FS - # drag inside dialogs to resize | |
Mouse 2 FST - - | |
DestroyFunc AddToFunc | |
Mouse 0 R N - | |
#key p N A - # ?? what is Context==N? | |
key p A A - | |
#key p N R - # ?? what is Context==N? | |
key p A R - # ?? what is modifier==R -- are these N<->R swapped? | |
# M: 'Menu" context for a key | |
key p M A - | |
key n M A - | |
# However for FVWM 2.5.X, forget InitFunction, and incorporate it into your StartFunction | |
# You don't need to use RestartFunction | |
# StartFunction is read by FVWM at initialisation and reboots. | |
DestroyFunc StartFunction | |
AddToFunc StartFunction | |
#+ I Module FvwmBacker | |
+ I Module FvwmGtk | |
#+ I Exec exec xsetroot -solid red | |
#### TODO ########################## | |
# | |
# - Ctrl-F4 --> kill window | |
# - get the path of each urxvt into fvwm, poss via the terminall's name (i.e. change it) | |
# - a global menu system, so fvwm independent (but do in fvwm anyway) | |
# --- BINDINGS | |
# Key <keyname> Context Modifier Action | |
# Mouse <buttonNum> Context Modifier Action | |
# | |
# Context is where the mouse is currently located | |
# A - anywhere : it doesn't matter where the mouse is located. | |
# R - the root window | |
# I - Icon | |
# F - frame corners | |
# S - frame sides | |
# T - title bar | |
# W - application window | |
# 0-9 - buttons. | |
# | |
# Modifier is any combination of | |
# (A)ny Not Alt | |
# (C)ontrol | |
# (S)hift | |
# (M)eta Alt | |
# (N)othing | |
# or 1-5 representing the X Modifiers mod1-mod5 (man xmodmap) | |
############### | |
#- FUNCTIONS | |
# + I (Action to happen immediately) | |
# + C (Action to happen on a mouse 'click) | |
# + D (Action to happen on a mouse 'double click') | |
# + H (Action to happen on a mouse 'hold') | |
# + M (Action to happen on a mouse 'motion') | |
############ | |
DestroyFunc MouseButton1actions | |
AddToFunc MouseButton1actions | |
mouse 1 WI M MouseButton1actions | |
DestroyFunc MouseButton2actions | |
AddToFunc MouseButton2actions | |
Mouse 2 W M MouseButton2actions | |
#(3rd mouse button: window ops menu. see ~/.fvwm/fvwm_sdm_menus.rc) | |
##### | |
# Set Environment variables | |
########### | |
Echo "setEnv calls" | |
# Set a varaible to some value. Inherited by all other processes then run | |
# SetEnv variable value | |
# $FVWM_USERDIR = ~/.fvwm | |
# Fvwm automatically sets "$HOME/.fvwm" to "$[FVWM_USERDIR]". | |
SetEnv fvwm_icon /usr/share/pixmaps/fvwm/ | |
SetEnv global_icon /usr/share/pixmaps | |
SetEnv fvwm_scrpt /usr/local/bin | |
SetEnv fvwm_wallpapers /home/library/images/possDesktops/ | |
# SetEnv fvwm_icon $[FVWM_USERDIR]/icons | |
# SetEnv fvwm_wallpapers $[FVWM_USERDIR]/wallpapers | |
# SetEnv fvwm_img $[FVWM_USERDIR]/images | |
SetEnv fvwm_webbrowser /usr/bin/iceweasel | |
SetEnv fvwm_term /usr/bin/urxvt | |
SetEnv fvwm_mail /usr/bin/mutt | |
SetEnv fvwm_media_player /usr/bin/xmms | |
SetEnv fvwm_video_player /usr/bin/mpv | |
#--- icons and wallpapers | |
# ImagePath : a colon separated list of paths to look for images | |
# may contain ${ENV_VARIABLE} or $[fvwm_variable] names | |
# ':' separates alternatives | |
# ...png a second alternative specifically for png images | |
ImagePath $[fvwm_icon]:$[fvwm_icon];.png:+ | |
ImagePath $[global_icon]:$[global_icon];.png:+ | |
ImagePath /usr/local/share/icons:$[fvwm_wallpapers]:+ | |
# ----- desktop setup ----------------------------- | |
#--- desktops | |
DesktopSize 1x1 | |
DesktopName 0 "(1) machine 1" | |
DesktopName 1 "(2) machine 2" | |
DesktopName 2 "(3) primary project 1" | |
DesktopName 3 "(4) primary project 2" | |
DesktopName 4 "(5) secondary project 1" | |
DesktopName 5 "(7) secondary project 2" | |
DesktopName 6 "(7) media/teritary 1" | |
DesktopName 7 "(8) media/tertiary 2" | |
DesktopName 8 "(9) internet browser" | |
DesktopName 9 "(10) internet other" | |
# desktop swithcing : done in xbindkeysrc | |
#--- specific apps on specific desktops | |
# Desks - 0-based, my count: 1-based | |
# so for desk 4 I need to use '3' here | |
#Desk 8: | |
Style *udacious StartsOnDesk 7 | |
Style musicRec StartsOnDesk 7 | |
#Desk 9: | |
Style *Firefox* StartsOnDesk 8 | |
Style Iceweasel StartsOnDesk 8 | |
# Desk 10: | |
Style tixati StartsOnDesk 9 | |
Style jdl StartsOnDesk 9 | |
Style jdl2 StartsOnDesk 9 | |
Style jDownloader StartsOnDesk 9 | |
Style qBittorrent StartsOnDesk 9 | |
Style *qBittorrent* StartsOnDesk 9 | |
Style "Torrent Search" StartsOnDesk 9 | |
Style Torrent* StartsOnDesk 9 | |
Style skype StartsOnDesk 9 | |
Style Skype StartsOnDesk 9 | |
Style sdm_skype StartsOnDesk 9 | |
Style sdmskype StartsOnDesk 9 | |
#--- other per-app modifications | |
Style gkrellm Layer 0 | |
Style gkrellm Lower | |
#---- backgrounds for each desktop | |
# does NOT work | |
# NB: FvwmBacker can run ANY command when switching desktops | |
# -solid is a special case | |
# FvwmBacker must be initially run at some time | |
#AddToFunc StartFunction I Module FvwmBacker | |
# Did NOT work | |
KillModule FvwmBacker | |
#Exec exec killall FvwmBacker* | |
DestroyModuleConfig FvwmBacker* | |
*FvwmBacker: Desk 0 -solid midnightblue | |
*FvwmBacker: Command (Desk 1) -solid yellow | |
*FvwmBacker: Command (Desk 2 *) -solid navy | |
*FvwmBacker: Command (Desk 3) Exec xsetroot -solid firebrick3 | |
*FvwmBacker: Desk 4 -solid firebrick3 | |
*FvwmBacker: Desk 5 -solid ForrestGreen | |
*FvwmBacker: Command (Desk 6) Exec fbsetbg -f $[fvwm_wallpaper_path]lakeWanaka_1910ish.jpg | |
*FvwmBacker: Desk 7 -solid LawnGreen | |
*FvwmBacker: Desk 8 -solid DarkViolet | |
*FvwmBacker: Desk 9 -solid black | |
Module FvwmBacker | |
# *FvwmBacker: Command (Desk 0, Page * *) -solid midnightblue | |
# *FvwmBacker: Command (Desk 1, Page * *) -solid yellow | |
# *FvwmBacker: Command (Desk 2, Page * *) -solid navy | |
# *FvwmBacker: Command (Desk 3, Page * ) Exec xsetroot -solid LightGray | |
# *FvwmBacker: Command (Desk 4, Page * ) Exec xsetroot -solid firebrick3 | |
# *FvwmBacker: Command (Desk 5, Page * ) Exec xsetroot -solid ForrestGreen | |
# *FvwmBacker: Command (Desk 6, Page * ) Exec xsetroot -solid lightPink | |
# *FvwmBacker: Command (Desk 7, Page * ) Exec xsetroot -solid LawnGreen | |
# *FvwmBacker: Command (Desk 8, Page * ) Exec xsetroot -solid DarkViolet | |
# *FvwmBacker: Command (Desk 9, Page * ) Exec xsetroot -solid black | |
# | |
# - using fbsetbg and an image | |
# DestroyModuleConfig FvwmBacker: * | |
# *FvwmBacker: RetainPixmap | |
# *FvwmBacker: Command(Desk 0, Page * *) Exec fbsetbg -f $[fvwm_wallpaper_path]desk-1.jpg | |
# *FvwmBacker: Command(Desk 1, Page * *) Exec fbsetbg -f $[fvwm_wallpaper_path]desk-2.jpg | |
# *FvwmBacker: Command(Desk 2, Page * *) Exec fbsetbg -f $[fvwm_wallpaper_path]desk-5.jpg | |
# *FvwmBacker: Command(Desk 3, Page * *) Exec fbsetbg -f $[fvwm_wallpaper_path]desk-4.jpg | |
# - using a function called from fvwmbacker | |
#*FvwmBacker: Command (Desk *,Page * *) ChangeDesk | |
#Module FvwmBacker | |
#DestroyFunc ChangeDesk | |
# AddToFunc ChangeDesk | |
# I + Exec echo boo > $[HOME]/deskno | |
# - using colorsets | |
# colorset 77 tiledpixmap image1.xpm | |
# colorset 88 tiledpixmap image2.png | |
# *FvwmBacker: Command (Desk *, Page 0 *) Colorset 77 | |
# *FvwmBacker: Command (Desk *, Page 1 *) Colorset 88 | |
# FvwmBacker | |
# | |
#Module FvwmBacker | |
#FvwmBacker | |
#----- mouse --------------------------------------- | |
#- click < 350ms ; hold > 350 | |
ClickTime 350 | |
#- no of pixels moved before, actually, a move | |
MoveThreshold 3 | |
#------ focus new and existing windows ------------------------ | |
# TODO: actions are passed to windows when not focused (e.g. scrolling) | |
#- mouse focus styles | |
Style * MouseFocusClickRaises | |
#Style * SloppyFocus # whatever the mouse is over gets the focus | |
Style * ClickToFocus | |
# new windows get the focus - NO, fucking lota stuff | |
#Style * FPGrabFocus | |
# and release it back to the former win when closed | |
Style * FPReleaseFocus | |
#Style * FPReleaseFocusTransient # even 'transient' windows | |
# * : all windows get this style | |
# sloppy foxus : whatever has the mouse over is focused | |
# try to fix cronometer focusing probs | |
Style "cron*" ClickToFocus, Lenience | |
Style "CRON*" ClickToFocus, Lenience | |
DestroyFunc EWMHActivateWindowFunc | |
AddToFunc EWMHActivateWindowFunc I Iconify Off | |
+ I Focus | |
+ I FlipFocus | |
+ I Raise | |
#+ I WarpToWindow 50 50 | |
AddToFunc SelectWindow | |
+ I Focus | |
+ I Iconify false | |
+ I FlipFocus | |
+ I Raise | |
+ I WarpToWindow 50 50 | |
DestroyFunc WindowListFunc | |
AddToFunc WindowListFunc | |
+ I Iconify off | |
+ I FlipFocus | |
+ I Raise | |
+ I WarpToWindow 50 50 | |
# ----- windows' apperances ------------------------------- | |
Style * EWMHMaximizeIgnoreWorkingArea | |
# --- remove all decorations from all windows | |
Style * !Title | |
# Style * !Title, !Borders | |
# Style * !Title, !Borders, !Handles | |
Style *rxvt* !Borders | |
Style Audacious* !Borders | |
Style mplayer* !Borders | |
Style mpv !Borders | |
# force whatever decorations onto transient windows | |
Style * DecorateTransient | |
# try to make sane placements of new windows | |
#Style *rxvt* TileCascadePlacement | |
Style *rxvt* MinOverlapPlacement | |
# ----- iconification & maximization ------------------- | |
#--- IconMan | |
DestroyModuleConfig FvwmIconMan | |
*FvwmIconMan: NumManagers 1 | |
*FvwmIconMan: FollowFocus true | |
*FvwmIconMan: DrawIcons true | |
*FvwmIconMan: ShowOnlyIcons true | |
#want icons from all desks | |
*FvwmIconMan: Resolution Global | |
*FvwmIconMan: Background slategrey | |
*FvwmIconMan: Foreground white | |
*FvwmIconMan: Font 7x13bold | |
*FvwmIconMan: ButtonGeometry 100x0 | |
*FvwmIconMan: ManagerGeometry 1x0-0+0 | |
*FvwmIconMan: Format "%t"*FvwmIconMan: Action Mouse 1 N sendcommand Focus, sendcommand "Iconify" | |
*FvwmIconMan: Action Mouse 2 N sendcommand "Iconify 1" | |
*FvwmIconMan: Action Mouse 3 N sendcommand "FvwmIdent" | |
*FvwmIconMan: Sort none | |
*FvwmIconMan: IconButton up black maroon | |
*FvwmIconMan: PlainButton up black bisque3 | |
*FvwmIconMan: SelectButton down black bisque3 | |
*FvwmIconMan: FocusButton up yellow firebrick | |
*FvwmIconMan: FocusAndSelectButton down yellow firebrick | |
#*FvwmIconMan: DontShow icon=Untitled resource=Untitled | |
Style FvwmIconMan sticky, WindowListSkip | |
# 2015-10-31 I don't want an icon manager - icons only to desktop | |
#Module FvwmIconMan | |
#--- iconify | |
# todo 6 how to iconify and maximize an d un-iconfy ----- | |
# WORKS | |
# Iconify : ctrl+shift+i when focused on a window | |
key i WIFS CS Iconify Toggle | |
# W window | |
# I icon | |
# F frame corners | |
# S frame sides | |
# CS Ctrl+Shiftt | |
# --- toggle iconified and move (both mouse button 1) | |
AddToFunc MouseButton1actions | |
+ D Iconify Toggle | |
+ C Move | |
AddToFunc MouseButton2actions | |
+ C Resize | |
# NB: on click-release starts resizing | |
#--- toggle 'on top' for a window | |
DestroyFunc ToggleLayer | |
AddToFunc ToggleLayer | |
+ I ThisWindow (Layer 6) Layer | |
+ I TestRc (NoMatch) Layer 0 6 | |
key l WIFS CS ToggleLayer | |
# W window | |
# I icon | |
# F frame corners | |
# S frame sides | |
# CS Ctrl+Shiftt | |
#--- maximize a window | |
# DestroyFunc FvwmToggleMaximize | |
# AddToFunc FvwmToggleMaximize | |
# + I Maximize | |
# D Double Click | |
# TODO: also bring-to-front (and return to former layer?) | |
Key m W CS Maximize | |
# W window | |
# SC control+Shift | |
#--- delete a window | |
Key F4 W C Delete | |
#----- menu system --------------------------------- | |
# this reads /etc/X11/fvwm/menudefs.hook which is the "Debian" menus | |
read fvwm_sdm_menus.rc | |
#----- startup actions ---------------------------------------- | |
Goto Desk 0 | |
# debug: now present the Startup log | |
#Exec exec urxvt -g 80x20 -title "fvwmLogger" -hold -e bash -c '/usr/bin/less /var/log/userspace/fvwm.log' | |
# vim:set filetype=fvwm |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment