wm:fvwm:config
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| wm:fvwm:config [2021/12/29 21:09] – ↷ Page moved from fvwm:config to wm:fvwm:config warnaud | wm:fvwm:config [2022/04/12 10:11] (current) – ↷ Links adapted because of a move operation 134.21.209.213 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | My Main configuration file - please review before switching to it!\\ | ||
| + | \\ | ||
| + | This is the main config file, common to all my configuration. | ||
| + | \\ | ||
| + | ====== Config File ====== | ||
| + | <code perl> | ||
| + | ############### | ||
| + | # Default config file for defcon1 | ||
| + | ### | ||
| + | # | ||
| + | |||
| + | ###[ Software used ]# | ||
| + | # - imlibsetroot for the bakground | ||
| + | # - urxvt for terminale (Xterm in case) | ||
| + | # - trayer | ||
| + | # - xscreensaver | ||
| + | # - imagemagick | ||
| + | # - emelfm2 | ||
| + | # - htop | ||
| + | # - screen | ||
| + | # - gmrun | ||
| + | |||
| + | ###[ Help and info ]# | ||
| + | # man fvwm !! | ||
| + | # right-clik on desktop / RTFM | ||
| + | # (FAQ) http:// | ||
| + | # (Wiki) http:// | ||
| + | # (Forums) fvwmforums.org | ||
| + | # (IRC) # | ||
| + | # Google ! | ||
| + | |||
| + | ############### | ||
| + | # Variables | ||
| + | ### | ||
| + | # | ||
| + | ####[ Folders ]# | ||
| + | # Wallpaper folder | ||
| + | Setenv fvwm_wallpapers $[FVWM_USERDIR]/ | ||
| + | # Themes images | ||
| + | Setenv fvwm_images $[FVWM_USERDIR]/ | ||
| + | # Temporary files | ||
| + | SetEnv fvwm_temp $[FVWM_USERDIR]/ | ||
| + | # Scripts location | ||
| + | SetEnv fvwm_scripts $[FVWM_USERDIR]/ | ||
| + | # Icons location | ||
| + | SetEnv fvwm_icons $[FVWM_USERDIR]/ | ||
| + | # Screenshot storage | ||
| + | SetEnv fvwm_screenshots $[FVWM_USERDIR]/ | ||
| + | # Default application icons | ||
| + | ImagePath $[fvwm_icons]:/ | ||
| + | # Windows placement files | ||
| + | SetEnv fvwm_place $[FVWM_USERDIR]/ | ||
| + | |||
| + | ############### | ||
| + | # Environnement setup | ||
| + | ### | ||
| + | # | ||
| + | ####[ Desktop configuration ]# | ||
| + | # On Fvwm you can have several desktops each of them can have pages! | ||
| + | # The visible part is called viewport and can overlap from 2 to 4 | ||
| + | # pages depending on the configuration you set | ||
| + | # On this configuration I set 1 desktop composed of 9 pages in 3x3 like | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # WARNING: the number are those used for the bindings since 0 is not that convenient... after 9 | ||
| + | # So Page 0 will be binded to key Ctrl+1, Page 1 to Ctrl+2 ... See Binding section | ||
| + | |||
| + | # Syntaxe to set it is: DeskTopSize HorizontalxVertical | ||
| + | DeskTopSize 3x3 | ||
| + | # Mwm Emulation set for resizing and moving windows | ||
| + | Emulate Mwm | ||
| + | |||
| + | # Lets ignore those modifiers: CapsLock(L) Numlock(2) Scrolllock(5) | ||
| + | IgnoreModifiers L25 | ||
| + | |||
| + | # Millisecond time before fvwm consider a click to be hold | ||
| + | ClickTime 250 | ||
| + | |||
| + | # Default margin around the viewport | ||
| + | # it is used for normal maximisation of window | ||
| + | # Syntax: EwmhBaseStruts left right top bottom | ||
| + | EwmhBaseStruts 10 10 10 10 | ||
| + | |||
| + | # Size in pixel(s) where EdgeResistance and EdgeScroll | ||
| + | # are activated | ||
| + | EdgeThickness 1 | ||
| + | |||
| + | # Avoid moving while puting the mouse on the edge | ||
| + | EdgeScroll 0 0 | ||
| + | |||
| + | # If you want more desktop, you can name them | ||
| + | # Desktop Names (I only have one desktop so itś kinda useless - given here as example) | ||
| + | DesktopName 0 Work | ||
| + | # Examples: | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | |||
| + | # For the apps to know the number of desktops | ||
| + | EwmhNumberOfDesktops 1 | ||
| + | |||
| + | ############### | ||
| + | # Colorsets | ||
| + | ### | ||
| + | # | ||
| + | ####[ Default color ]# | ||
| + | Colorset 0 fg white, bg #262626, hi #262626, sh #262626 | ||
| + | |||
| + | ####[ Windows]# | ||
| + | # Active windows | ||
| + | Colorset 1 fg darkgrey, bg #262626, hi #262626, sh #262626 | ||
| + | # Inactive windows | ||
| + | Colorset 2 fg white, bg #293F7B, hi #293F7B, sh #293F7B | ||
| + | |||
| + | ####[ Menus ]# | ||
| + | # Default | ||
| + | Colorset 3 fg white, bg black, Translucent black 60, sh #4B63B2, hi #4B63B2 | ||
| + | # Highlighted | ||
| + | Colorset 4 fg blue, bg grey | ||
| + | # Titles | ||
| + | Colorset 5 fg white, bg #4B63B2 | ||
| + | |||
| + | ####[ Pager ]# | ||
| + | # Colorset viewport | ||
| + | Colorset 6 Transparent, | ||
| + | ## Pager windows | ||
| + | # normal | ||
| + | Colorset 7 Transparent, | ||
| + | # hilight | ||
| + | Colorset 8 Transparent, | ||
| + | ## Balloons | ||
| + | Colorset 9 fg white, bg #042883 | ||
| + | |||
| + | ### [ Default ] | ||
| + | # In case of doubt, default colorset | ||
| + | DefaultColorset 0 | ||
| + | |||
| + | ############### | ||
| + | # Decorations | ||
| + | ### | ||
| + | # | ||
| + | |||
| + | # Default window decoration | ||
| + | # I made it simple I just hate those buttons everywhere ... ;-) | ||
| + | # Centered title, 18 pixels height, no 3D/shadow decoration | ||
| + | # button 1 handles the mini icon of the application and is flat | ||
| + | DestroyDecor DefaultDecor | ||
| + | AddToDecor DefaultDecor | ||
| + | + TitleStyle Centered Height 18 -- Flat | ||
| + | + ButtonStyle 1 MiniIcon -- UseTitleStyle HiddenHandles Flat | ||
| + | |||
| + | |||
| + | ############### | ||
| + | # Fonts | ||
| + | ### | ||
| + | # | ||
| + | ####[ Default ]# | ||
| + | DefaultFont " | ||
| + | |||
| + | ############### | ||
| + | # Style | ||
| + | ### | ||
| + | # | ||
| + | ####[ ALL windows ( see the * )]# | ||
| + | |||
| + | # Miliseconds before moving window from page to page activates | ||
| + | Style * EdgeMoveDelay 0, | ||
| + | # All windows have a 3 pixels border | ||
| + | # These 3 pixels can be used to handle the window | ||
| + | Style * HandleWidth 3, BorderWidth 3 | ||
| + | # All windows use the mouse focus and when clicked it raises | ||
| + | # them on top | ||
| + | Style * MouseFocus, Lenience, FPClickRaisesFocused, | ||
| + | # All windows uses default decoration | ||
| + | Style * UseDecor DefaultDecor | ||
| + | # Child windows are also decorate the same way | ||
| + | Style * DecorateTransient | ||
| + | # Default window colorset | ||
| + | Style * Colorset 1 | ||
| + | # Border colorset of focused windows | ||
| + | Style * HilightColorset 2 | ||
| + | # Border colorset | ||
| + | Style * BorderColorset 1 | ||
| + | # Default font for window' | ||
| + | Style * Font " | ||
| + | # Note: this font is available in the ressource folder | ||
| + | |||
| + | # Prevent Iconification of all windows: | ||
| + | Style * !Iconifiable | ||
| + | |||
| + | ####[ Special Styles that requires patches ]# (works without) | ||
| + | # Rounded corners über alles | ||
| + | #Style * RoundedCorners | ||
| + | # Border under the window' | ||
| + | #Style * BorderUnderTitle | ||
| + | # Not a grid like Mwm but only a rectangle | ||
| + | #Style * ResizeOutlineThin | ||
| + | # Inactive window' | ||
| + | #Style * InactiveFont " | ||
| + | |||
| + | ####[ Menus style (all) ]# | ||
| + | # Default | ||
| + | # no 3D, sub-menu margin of 10 pixels and 100% on the right, | ||
| + | # displayed after 200ms and removed if we go back to parent item | ||
| + | MenuStyle " | ||
| + | # Default font | ||
| + | MenuStyle " | ||
| + | # Title font | ||
| + | MenuStyle " | ||
| + | # Normal and Highlighted menus colorset and animation on | ||
| + | MenuStyle " | ||
| + | # Shape of sub menus arrows | ||
| + | MenuStyle " | ||
| + | # Title colorset | ||
| + | MenuStyle " | ||
| + | # Border size: 2 pixels, no lines under the title, long separators | ||
| + | MenuStyle " | ||
| + | # Items format (yes it's klingon style ...) | ||
| + | # icon + 4px + menu zone+ 10px | ||
| + | # icon + 5px + first column left aligned +5px | ||
| + | # Second column left align +5 px | ||
| + | # 3rd column right align +5px | ||
| + | # second mini column left aligned + 5px | ||
| + | # 2 pixels + sub menu shape +3px | ||
| + | # finally 5px + end of zone | ||
| + | MenuStyle " | ||
| + | # Verticale space above and under title | ||
| + | MenuStyle " | ||
| + | # Verticale space above and under menu items | ||
| + | MenuStyle " | ||
| + | |||
| + | ####[ menu style requiring patch ]# | ||
| + | # Slight rounded corners | ||
| + | #MenuStyle " | ||
| + | # Flat separators | ||
| + | # MenuStyle " | ||
| + | |||
| + | ############### | ||
| + | # Bindings | ||
| + | ### | ||
| + | ####### | ||
| + | # Mouse and Key bindings | ||
| + | # | ||
| + | # Contexts: | ||
| + | # R = Root Window | ||
| + | # W = Application Window | ||
| + | # F = Frame Corners | ||
| + | # S = Frame Sides | ||
| + | # T = Title Bar | ||
| + | # I = Icon rIrrrrv_________> | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # Modifiers: (A)ny, (C)ontrol, (S)hift, (M)eta, (N)othing | ||
| + | # | ||
| + | # Format: Key < | ||
| + | # Mouse <X> < | ||
| + | #################### | ||
| + | # You can assign action to the mouse buttons / key bindings | ||
| + | # regarding where the focus is (context) | ||
| + | |||
| + | # List of contexts: | ||
| + | # A : All (everywhere) | ||
| + | # R : Root (desktop background) | ||
| + | # I : Icon | ||
| + | # F : Frame Corner (window corner) | ||
| + | # S : Frame Side (window sides) | ||
| + | # T : Application Title (Title bar) | ||
| + | # 0-9 : Title bar buttons | ||
| + | # W : Window (the application window) | ||
| + | |||
| + | ## Modifiers list: | ||
| + | # Keyboard | ||
| + | # (A)ny, (C)ontrol, (S)hift, (M)eta = Alt, (N)othing | ||
| + | # Syntax: Key <key> context Modifier Function | ||
| + | |||
| + | ####[ Keyboard ]# | ||
| + | |||
| + | # Win+tab Open Windows' | ||
| + | # after release of the Win key | ||
| + | Key Tab A 4 WindowList (CurrentPage) Root c c NoDeskSort, SelectOnRelease Super_L | ||
| + | |||
| + | # Alt+tab Open Windows' | ||
| + | # after release of the Alt key | ||
| + | Key Tab A M WindowList (CurrentDesk) Root c c NoDeskSort, SelectOnRelease Meta_L | ||
| + | |||
| + | # Shift + Tab circuls around urxvt terms and switch on selected term after | ||
| + | # realease of left shift | ||
| + | #Key Tab A S WindowList (urxvt) Root c c NoDeskSort, SelectOnRelease Shift_L | ||
| + | |||
| + | # Change page on the desktop with control + right/left | ||
| + | # Up/Down disabled since I use horizontal desktop with 3 pages | ||
| + | Key Up A C GotoPage wrapx wrapy 0p -1p | ||
| + | Key Down A C GotoPage wrapx wrapy 0p +1p | ||
| + | Key Right A C GotoPage wrapx wrapy +1p 0p | ||
| + | Key Left A C GotoPage wrapx wrapy -1p 0p | ||
| + | |||
| + | # Change Desktop with Alt or Ctrl + Up/Down (inverted to match Pager) - Given as example not used | ||
| + | #Key Up A M GotoDesk -1 0 0 5 | ||
| + | #Key Down A M GotoDesk 1 0 0 5 | ||
| + | #Key Up A C GotoDesk -1 0 0 5 | ||
| + | #Key Down A C GotoDesk 1 0 0 5 | ||
| + | |||
| + | # Move direclty to page (Ctrl + PageNum) | ||
| + | Key 1 A C GotoPage 0 0 | ||
| + | Key 2 A C GotoPage 1 0 | ||
| + | Key 3 A C GotoPage 2 0 | ||
| + | Key 4 A C GotoPage 0 1 | ||
| + | Key 5 A C GotoPage 1 1 | ||
| + | Key 6 A C GotoPage 2 1 | ||
| + | Key 7 A C GotoPage 0 2 | ||
| + | Key 8 A C GotoPage 1 2 | ||
| + | Key 9 A C GotoPage 2 2 | ||
| + | |||
| + | # Exit Menu (Ctrl + 0) | ||
| + | Key 0 A C Module FvwmButtons ModQuit | ||
| + | |||
| + | |||
| + | # Move directly to desktop (Alt + DeskNum) - Given as example not used | ||
| + | #Key 1 A M GotoDesk 0 0 | ||
| + | #Key 2 A M GotoDesk 0 1 | ||
| + | #Key 3 A M GotoDesk 0 2 | ||
| + | #Key 4 A M GotoDesk 0 3 | ||
| + | #Key 5 A M GotoDesk 0 4 | ||
| + | #Key 6 A M GotoDesk 0 5 | ||
| + | |||
| + | # Start screensaver (Win + x) | ||
| + | Key X A 4 Exec exec xscreensaver-command -lock | ||
| + | |||
| + | # Identify window (win + i) | ||
| + | Key I A 4 Module FvwmIdent | ||
| + | |||
| + | # Maxime " | ||
| + | Key M W 4 Pick Maximize toggle 100 100 | ||
| + | |||
| + | # Maximize " | ||
| + | Key Right W 4 Current Maximize toggle growright 0 | ||
| + | Key Left W 4 Current Maximize toggle growleft 0 | ||
| + | |||
| + | # Maximize " | ||
| + | Key Up W 4 Pick Maximize toggle 0 growup | ||
| + | Key Down W 4 Pick Maximize toggle 0 growdown | ||
| + | |||
| + | # Resize Windows | ||
| + | # Grow right Meta+Right | ||
| + | Key Right W M Current ResizeWindowRight | ||
| + | # Grow Down Meta + Down | ||
| + | Key Down W M Current ResizeWindowBottom | ||
| + | # Shrink left Meta+left | ||
| + | Key Left W M Current ResizeWindowLeft | ||
| + | # Shrink up Meta +up | ||
| + | Key Up W M Current ResizeWindowUp | ||
| + | |||
| + | AddToFunc ResizeWindowRight | ||
| + | + I PipeRead "echo Resize $(($[cw.width] + 15))p keep" | ||
| + | |||
| + | AddToFunc ResizeWindowLeft | ||
| + | + I PipeRead "echo Resize $(($[cw.width] - 15))p keep" | ||
| + | |||
| + | AddToFunc ResizeWindowBottom | ||
| + | + I PipeRead "echo Resize keep $(($[cw.height] + 15))p" | ||
| + | |||
| + | AddToFunc ResizeWindowUp | ||
| + | + I PipeRead "echo Resize keep $(($[cw.height] - 15))p" | ||
| + | |||
| + | # Restart fvwm (Ctrl + Backspace) | ||
| + | Key BackSpace A C Restart | ||
| + | |||
| + | # Toggle the file manager (win + e) | ||
| + | Key E A 4 ToggleFMPanel | ||
| + | |||
| + | # Start a Terminal (win + t) | ||
| + | Key T A 4 FvwmTerm | ||
| + | |||
| + | # Screenshot of a window (Win +s) | ||
| + | Key S A 4 Pick (CirculateHit) FvwmWindowScreenshot | ||
| + | |||
| + | # Screenshot of the complete page (Win + Shift + s) | ||
| + | Key S A S4 FvwmDesktopScreenshot | ||
| + | |||
| + | # Make window sticky (Win + P) P = Pin | ||
| + | Key P A 4 Stick | ||
| + | |||
| + | # Quake Console on Ctrl + Esc | ||
| + | Key escape A C ToggleConsole | ||
| + | |||
| + | # Window Menu (Ctrl + space) | ||
| + | Key space W C Menu MenuFvwmWindow | ||
| + | |||
| + | # Main menu (Ctrl + Home) Displayed specially on the top left border | ||
| + | Key Home A C Menu MenuFvwmMain Root +20p +20p | ||
| + | |||
| + | # Application launcher (Win + r) | ||
| + | Key R A 4 ToggleFvwmLauncher | ||
| + | |||
| + | # Toggle ControlPanel (Win + F1) | ||
| + | Key F1 A 4 ToggleControlPanel | ||
| + | |||
| + | ####[ Mouse ]# | ||
| + | # Syntax :Mouse Button Context Modifier Fonction | ||
| + | # Button numbers are: | ||
| + | # +------------+ | ||
| + | # | || || || | | ||
| + | # | | | ||
| + | # +------------+ | ||
| + | # | ||
| + | |||
| + | # Disable left clik on desktop | ||
| + | Mouse 1 R A - | ||
| + | # Right clik on desktop opens main menu | ||
| + | Mouse 3 R A Menu MenuFvwmMain | ||
| + | # Middle click on title bar close the window | ||
| + | Mouse 2 T A Close | ||
| + | # Right-Click on the title bar open the window menu | ||
| + | Mouse 3 T A Menu MenuFvwmWindow | ||
| + | # Wheel up on window' | ||
| + | Mouse 4 T A FvwmWindowShade True | ||
| + | # Wheel down on window' | ||
| + | Mouse 5 T A FvwmWindowShade False | ||
| + | # Win + left click Move window | ||
| + | Mouse 1 W 4 Pick move | ||
| + | |||
| + | ####[ Applications Styles ]# | ||
| + | |||
| + | # Style for trayer : not in windows list no border/ | ||
| + | Style panel WindowListSkip, | ||
| + | Style " | ||
| + | #Style " | ||
| + | Style " | ||
| + | |||
| + | ############### | ||
| + | # Functions | ||
| + | ### | ||
| + | # | ||
| + | |||
| + | # Remove the ability of crappy apps that takes the focus on their own | ||
| + | # http:// | ||
| + | DestroyFunc UrgencyFunc | ||
| + | |||
| + | # Function run at start | ||
| + | DestroyFunc StartFunction | ||
| + | AddToFunc StartFunction | ||
| + | # First start | ||
| + | + I Test (Init) SSH_KEY_TERM | ||
| + | + I Test (Init) Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # On reload | ||
| + | #+ I Test (Restart) | ||
| + | # On all start / restart | ||
| + | # TO BE SET IN .fvwm/ | ||
| + | + I Module FvwmEvent | ||
| + | + I Module FvwmCommandS | ||
| + | |||
| + | DestroyFunc ExitFunction | ||
| + | AddToFunc ExitFunction | ||
| + | # On quit | ||
| + | #+ I Test (Quit) | ||
| + | # On restart | ||
| + | + I Test (ToRestart) Exec exec killall trayer | ||
| + | + I Test (ToRestart) KillModule ControlPanel | ||
| + | # DOESN' | ||
| + | # On quit and restart | ||
| + | #+ I KillModule MyBuggyModule | ||
| + | |||
| + | # FvwmWindowShade manage shading/ | ||
| + | # 3 possibilities: | ||
| + | # True : shades | ||
| + | # False : unshades | ||
| + | # " | ||
| + | DestroyFunc FvwmWindowShade | ||
| + | AddToFunc FvwmWindowShade | ||
| + | + D WindowShade $0 | ||
| + | |||
| + | # Fonctions Screenshot | ||
| + | # Requires imagemagick | ||
| + | # Part of the window menu | ||
| + | # To use it elsewher: | ||
| + | # Call the function with 'Pick (CirculateHit) FvwmWindowScreenshot' | ||
| + | DestroyFunc FvwmWindowScreenshot | ||
| + | AddToFunc FvwmWindowScreenshot | ||
| + | + I ThisWindow (!Shaded, | ||
| + | |||
| + | # Function that takes a screenshot of the complete desktop after $0 seconds | ||
| + | DestroyFunc FvwmDesktopScreenshot | ||
| + | AddToFunc FvwmDesktopScreenshot | ||
| + | + I Exec sleep $0; import -window root -quality 100 -silent $fvwm_screenshots/ | ||
| + | |||
| + | # A function that launches a urxvt terminal and setting it's name and number | ||
| + | Style Terminal* TitleAtRight, | ||
| + | DestroyFunc FvwmTerm | ||
| + | AddToFunc FvwmTerm | ||
| + | + I Piperead 'echo SetEnv fvwm_term_nb $((${fvwm_term_nb} + 1))' | ||
| + | + I Exec exec urxvt -b 10 -name " | ||
| + | |||
| + | # Function that launches Firefox | ||
| + | Style Firefox StartsOnPage 0 0 0, !Title, !Borders, !Handles | ||
| + | DestroyFunc FvwmWeb | ||
| + | AddToFunc FvwmWeb | ||
| + | + I Exec exec firefox | ||
| + | |||
| + | # Function that launches videolan (vlc) | ||
| + | Style vlc StartsOnPage 0 2 1, !Title, !Borders, !Handles | ||
| + | DestroyFunc FvwmVideo | ||
| + | AddToFunc FvwmVideo | ||
| + | + I Exec exec vlc | ||
| + | |||
| + | # Event handle | ||
| + | # For Windows And Pages | ||
| + | DestroyModuleConfig FvwmEvent* | ||
| + | *FvwmEvent: add_window FvwmManageWindows | ||
| + | *FvwmEvent: new_page FvwmManagePages | ||
| + | # Add events on close_windows / quit page | ||
| + | |||
| + | # Manage Windows | ||
| + | # I use this to auto maximize full screen some apps | ||
| + | DestroyFunc FvwmManageWindows | ||
| + | AddToFunc FvwmManageWindows | ||
| + | + I ThisWindow (" | ||
| + | + I ThisWindow (" | ||
| + | + I ThisWindow (" | ||
| + | + I ThisWindow (" | ||
| + | + I ThisWindow (" | ||
| + | + I ThisWindow (" | ||
| + | |||
| + | # Manage Pages | ||
| + | DestroyFunc FvwmManagePages | ||
| + | AddToFunc FvwmManagePages | ||
| + | + I Exec exec echo " | ||
| + | + I FvwmAutoStartApp | ||
| + | |||
| + | # Auto-start Applications when on certain desks | ||
| + | # Kind of swith that launch the FvwmDeskNPageXY regarding which desk/page you are | ||
| + | DestroyFunc FvwmAutoStartApp | ||
| + | AddToFunc FvwmAutoStartApp | ||
| + | # if on desk 0 page 0 0 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 0 && $[page.ny] -eq 0 ]] && echo " | ||
| + | # if on desk 0 page 0 1 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 0 && $[page.ny] -eq 1 ]] && echo " | ||
| + | # if on desk 0 page 0 2 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 0 && $[page.ny] -eq 2 ]] && echo " | ||
| + | # if on desk 0 page 1 0 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 1 && $[page.ny] -eq 0 ]] && echo " | ||
| + | # if on desk 0 page 1 1 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 1 && $[page.ny] -eq 1 ]] && echo " | ||
| + | # if on desk 0 page 1 2 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 1 && $[page.ny] -eq 2 ]] && echo " | ||
| + | # if on desk 0 page 2 0 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 2 && $[page.ny] -eq 0 ]] && echo " | ||
| + | # if on desk 0 page 2 1 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 2 && $[page.ny] -eq 1 ]] && echo " | ||
| + | # if on desk 0 page 2 2 | ||
| + | + I PipeRead '[[ $[desk.n] -eq 0 && $[page.nx] -eq 2 && $[page.ny] -eq 2 ]] && echo " | ||
| + | # to be continued if needed on other desks | ||
| + | |||
| + | # Man page display function | ||
| + | # parameter: command name | ||
| + | DestroyFunc FvwmViewManPage | ||
| + | AddToFunc FvwmViewManPage | ||
| + | + I Exec exec xterm -fg White -bg DarkBlue -g 80x40 -fn 7x14 -fb 7x14bold \ | ||
| + | -n " | ||
| + | |||
| + | # Nice urxvt terminal without title bar | ||
| + | # On the second page of the second desktop | ||
| + | Style " | ||
| + | DestroyFunc FvwmIrssi | ||
| + | AddToFunc FvwmIrssi | ||
| + | + I Exec exec urxvt -title IRSSI -name IRSSI -geometry 143x42+33+74 +sb -bc -e screen -A -d -R IRSSI -c ~/ | ||
| + | |||
| + | # File Browser | ||
| + | DestroyFunc FvwmFm | ||
| + | AddToFunc FvwmFm | ||
| + | + I Exec exec emelfm2 | ||
| + | |||
| + | # Main Terminal | ||
| + | Style " | ||
| + | DestroyFunc FvwmScreen | ||
| + | AddToFunc FvwmScreen | ||
| + | + I Exec exec urxvt -title FVWMSCREEN | ||
| + | #+ I PipeRead 'cat $[fvwm_place]/ | ||
| + | |||
| + | # Fvwm config editor | ||
| + | Style "FVWM CONFIG" | ||
| + | DestroyFunc FvwmEditor | ||
| + | AddToFunc FvwmEditor | ||
| + | + I Exec exec urxvt -tr -tint white -sh 30 -title "FVWM CONFIG" | ||
| + | |||
| + | # Mail App | ||
| + | Style " | ||
| + | DestroyFunc FvwmMail | ||
| + | AddToFunc FvwmMail | ||
| + | + I Exec exec thunderbird | ||
| + | |||
| + | DestroyFunc FvwmTeamViewer | ||
| + | AddtoFunc FvwmTeamViewer | ||
| + | + I Exec exec sudo systemctl start teamviewerd | ||
| + | + I Exec exec `sleep 5 && teamviewer` | ||
| + | |||
| + | # Office tools | ||
| + | Style " | ||
| + | DestroyFunc FvwmCalc | ||
| + | AddToFunc FvwmCalc | ||
| + | + I Exec exec libreoffice --nologo --calc | ||
| + | |||
| + | DestroyFunc FvwmWriter | ||
| + | AddToFunc FvwmWriter | ||
| + | + I Exec exec libreoffice --nologo --writer | ||
| + | |||
| + | DestroyFunc FvwmImpress | ||
| + | AddToFunc FvwmImpress | ||
| + | + I Exec exec libreoffice --nologo --impress | ||
| + | |||
| + | ## Per desk/page wallpaper / menu | ||
| + | DestroyFunc FvwmDesk0Page00 | ||
| + | AddToFunc FvwmDesk0Page00 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page10 | ||
| + | AddToFunc FvwmDesk0Page10 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page20 | ||
| + | AddToFunc FvwmDesk0Page20 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page01 | ||
| + | AddToFunc FvwmDesk0Page01 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page11 | ||
| + | AddToFunc FvwmDesk0Page11 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page21 | ||
| + | AddToFunc FvwmDesk0Page21 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page02 | ||
| + | AddToFunc FvwmDesk0Page02 | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set wallpaper | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page12 | ||
| + | AddToFunc FvwmDesk0Page12 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | DestroyFunc FvwmDesk0Page22 | ||
| + | AddToFunc FvwmDesk0Page22 | ||
| + | # Set wallpaper | ||
| + | + I Exec exec imlibsetroot -s w -x 1 $[fvwm_wallpapers]/ | ||
| + | # Set Menu | ||
| + | |||
| + | ############### | ||
| + | # Menus | ||
| + | ### | ||
| + | # | ||
| + | # Main menu | ||
| + | DestroyMenu MenuFvwmMain | ||
| + | AddToMenu MenuFvwmMain | ||
| + | + "" | ||
| + | + "& | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | + "& | ||
| + | + "& | ||
| + | + "" | ||
| + | + " | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + " | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | |||
| + | # System Menu (Network/ | ||
| + | DestroyMenu MenuFvwmSystem | ||
| + | AddToMenu MenuFvwmSystem " Configure System " Title | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | |||
| + | # Fvwm Configuration Menu | ||
| + | DestroyMenu MenuFvwmConfig | ||
| + | AddToMenu MenuFvwmConfig " | ||
| + | + "" | ||
| + | + "& | ||
| + | + "& | ||
| + | + "& | ||
| + | + "& | ||
| + | |||
| + | DestroyMenu MenuFvwmTools | ||
| + | AddToMenu MenuFvwmTools " | ||
| + | + "" | ||
| + | + "& | ||
| + | + "& | ||
| + | + "& | ||
| + | + " | ||
| + | + "& | ||
| + | |||
| + | DestroyMenu MenuFvwmNetworks | ||
| + | AddtoMenu MenuFvwmNetworks " | ||
| + | + DynamicPopupAction Function MakeNetworksMenu | ||
| + | |||
| + | AddToFunc MakeNetworksMenu | ||
| + | + I DestroyMenu recreate MenuFvwmNetworks | ||
| + | + I AddToMenu MenuFvwmNetworks Networks Title | ||
| + | + I AddToMenu MenuFvwmNetworks "" | ||
| + | + I PipeRead | ||
| + | |||
| + | DestroyMenu MenuFvwmServices | ||
| + | AddtoMenu MenuFvwmServices " | ||
| + | + DynamicPopupAction Function MakeServicesMenu | ||
| + | |||
| + | AddToFunc MakeServicesMenu | ||
| + | + I DestroyMenu recreate MenuFvwmServices | ||
| + | + I AddToMenu MenuFvwmServices Services Title | ||
| + | + I AddToMenu MenuFvwmServices "" | ||
| + | + I PipeRead | ||
| + | |||
| + | |||
| + | DestroyMenu MenuFvwmMan | ||
| + | AddToMenu MenuFvwmMan " FVWM Man Pages " Title | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + "" | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + "" | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | + " | ||
| + | |||
| + | # Dedicated page menu | ||
| + | DestroyMenu MenuFvwmWindow | ||
| + | AddToMenu MenuFvwmWindow " Window Operations " Title | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | + "" | ||
| + | + "& | ||
| + | + "& | ||
| + | |||
| + | # Switch to Page Menu | ||
| + | DestroyMenu MenuFvwmMovetoPage | ||
| + | AddToMenu MenuFvwmMovetoPage " Move this window to " Title | ||
| + | + "Page &1 (Browser)" | ||
| + | + "Page &2 (Mail)" | ||
| + | + "Page &3 (Music)" | ||
| + | + "Page &4 (Terminal)" | ||
| + | + "Page &5 (Comms)" | ||
| + | + "Page &6 (Videos)" | ||
| + | + "Page &7 (VMs)" | ||
| + | + "Page &8 (Office)" | ||
| + | + "Page &9 (Pictures)" | ||
| + | |||
| + | # Maximize Menu | ||
| + | DestroyMenu MenuFvwmMaximize | ||
| + | AddToMenu MenuFvwmMaximize " Maximize this window " Title | ||
| + | + "& | ||
| + | + "& | ||
| + | + "& | ||
| + | + "& | ||
| + | |||
| + | ############### | ||
| + | # Panels (FvwmButtons / Pager ...) | ||
| + | ### | ||
| + | # | ||
| + | |||
| + | ####[ Nice exit window centered - well as much as possible ]# | ||
| + | |||
| + | Style ModQuit NoTitle, | ||
| + | |||
| + | DestroyModuleConfig ModQuit: * | ||
| + | *ModQuit: Geometry 320x100@p | ||
| + | *ModQuit: Font " | ||
| + | *ModQuit: Colorset 11 | ||
| + | *ModQuit: Rows 3 | ||
| + | *ModQuit: Columns 4 | ||
| + | *ModQuit: Frame 0 | ||
| + | *ModQuit: Padding 5 | ||
| + | *ModQuit: BoxSize fixed | ||
| + | *ModQuit: (1x2, Icon cancel.png, ActionOnPress, | ||
| + | *ModQuit: (1x2, Icon konsole.png, | ||
| + | *ModQuit: (1x2, Icon reload.png, ActionOnPress, | ||
| + | *ModQuit: (1x2, Icon exit.png, ActionOnPress, | ||
| + | *ModQuit: (1x1, Title " | ||
| + | *ModQuit: (1x1, Title " | ||
| + | *ModQuit: (1x1, Title " | ||
| + | *ModQuit: (1x1, Title " | ||
| + | |||
| + | # Default FvwmPager configuration | ||
| + | DestroyModuleConfig FvwmPager: * | ||
| + | *FvwmPager: DeskTopScale 9 | ||
| + | *FvwmPager: DeskHilight | ||
| + | *FvwmPager: MiniIcons | ||
| + | *FvwmPager: Balloons | ||
| + | *FvwmPager: Font none | ||
| + | *FvwmPager: UseSkipList | ||
| + | *FvwmPager: BalloonColorset * 1 | ||
| + | *FvwmPager: Fore grey | ||
| + | *FvwmPager: Back black | ||
| + | *FvwmPager: Hilight darkgrey | ||
| + | *FvwmPager: SloppyFocus | ||
| + | |||
| + | # Control Panel | ||
| + | Style " | ||
| + | DestroyModuleConfig ControlPanel: | ||
| + | *ControlPanel: | ||
| + | *ControlPanel: | ||
| + | *ControlPanel: | ||
| + | *ControlPanel: | ||
| + | *ControlPanel: | ||
| + | *ControlPanel: | ||
| + | *ControlPanel: | ||
| + | |||
| + | DestroyFunc StartControlPanel | ||
| + | AddtoFunc StartControlPanel | ||
| + | + I Module FvwmButtons ControlPanel | ||
| + | + I Wait ControlPanel | ||
| + | + I Next (ControlPanel) Maximize ewmhiwa 100 345p | ||
| + | + I Next (ControlPanel) State 1 True | ||
| + | |||
| + | DestroyFunc ToggleControlPanel | ||
| + | AddToFunc ToggleControlPanel | ||
| + | + I None (ControlPanel) StartControlPanel | ||
| + | + I TestRc (NoMatch) All (ControlPanel, | ||
| + | + I TestRc (Match) All (ControlPanel) Focus | ||
| + | + I TestRc (Match) All (ControlPanel) WarpToWindow 50 50 | ||
| + | + I TestRc (NoMatch) All (ControlPanel) AnimatedMove +0p -$[vp.height]p ewmhiwa | ||
| + | + I Next (ControlPanel) State 1 toggle | ||
| + | |||
| + | DestroyFunc SSH_KEY_TERM | ||
| + | AddToFunc SSH_KEY_TERM | ||
| + | + I Exec exec xterm -fg White -bg black -g 80x1 -fn 7x14bold -n " | ||
| + | + I Wait SSH_TERM | ||
| + | + I TestRc (Match) All (SSH_TERM) Focus | ||
| + | + I TestRc (Match) All (SSH_TERM) WarpToWindow 10 50 | ||
| + | |||
| + | # Console quake | ||
| + | DestroyFunc StartConsole | ||
| + | AddtoFunc StartConsole | ||
| + | + I Exec exec urxvt +tr -title QUAKE -name quake -bc +sb -geometry +0+0 -e screen -A -d -R QUAKE -c ~/ | ||
| + | #+ I Exec exec urxvt -title QUAKE -name QUAKE -geometry +0+0 +sb -bc -e screen -A -d -R QUAKE -c ~/ | ||
| + | + I Wait quake | ||
| + | + I Next (quake) Maximize ewmhiwa 100 0 | ||
| + | + I Next (quake) State 1 True | ||
| + | |||
| + | DestroyFunc ToggleConsole | ||
| + | AddToFunc ToggleConsole | ||
| + | + I None (quake) StartConsole | ||
| + | + I TestRc (NoMatch) All (quake, | ||
| + | + I TestRc (Match) All (quake) Focus | ||
| + | + I TestRc (Match) All (quake) WarpToWindow 50 50 | ||
| + | + I TestRc (NoMatch) All (quake) AnimatedMove +0p -$[vp.height]p ewmhiwa | ||
| + | + I Next (quake) State 1 toggle | ||
| + | |||
| + | Style quake WindowListSkip, | ||
| + | |||
| + | |||
| + | # FileManager Panel | ||
| + | DestroyFunc StartFMPanel | ||
| + | AddtoFunc StartFMPanel | ||
| + | + I Exec exec emelfm2 | ||
| + | + I Wait emelfm2 | ||
| + | + I Next (emelfm2) Maximize ewmhiwa 80 50 | ||
| + | + I Next (emelfm2) State 1 True | ||
| + | |||
| + | DestroyFunc ToggleFMPanel | ||
| + | AddToFunc ToggleFMPanel | ||
| + | + I None (emelfm2) StartFMPanel | ||
| + | + I TestRc (NoMatch) All (emelfm2, | ||
| + | + I TestRc (Match) All (emelfm2) Focus | ||
| + | + I TestRc (Match) All (emelfm2) WarpToWindow 50 50 | ||
| + | + I TestRc (NoMatch) All (emelfm2) AnimatedMove 10 +$[vp.height]p ewmhiwa | ||
| + | + I Next (emelfm2) State 1 toggle | ||
| + | |||
| + | Style emelfm2 | ||
| + | |||
| + | # Small Launcher that never dies (as default …) - works good with gtk-theme-bleufear | ||
| + | Style " | ||
| + | # Output terminal | ||
| + | Style " | ||
| + | DestroyModuleConfig FvwmLauncher: | ||
| + | *FvwmLauncher: | ||
| + | *FvwmLauncher: | ||
| + | *FvwmLauncher: | ||
| + | *FvwmLauncher: | ||
| + | *FvwmLauncher: | ||
| + | *FvwmLauncher: | ||
| + | |||
| + | DestroyFunc StartFvwmLauncher | ||
| + | AddtoFunc StartFvwmLauncher | ||
| + | + I Module FvwmButtons FvwmLauncher | ||
| + | + I Wait FvwmLauncher | ||
| + | + I Next (FvwmLauncher) State 1 True | ||
| + | |||
| + | DestroyFunc ToggleFvwmLauncher | ||
| + | AddToFunc ToggleFvwmLauncher | ||
| + | + I None (FvwmLauncher) StartFvwmLauncher | ||
| + | + I TestRc (NoMatch) All (FvwmLauncher, | ||
| + | + I TestRc (Match) All (FvwmLauncher) Focus | ||
| + | + I TestRc (Match) All (FvwmLauncher) WarpToWindow 10 50 | ||
| + | + I TestRc (NoMatch) All (FvwmLauncher) AnimatedMove +10p -$[vp.height]p ewmhiwa | ||
| + | + I Next (FvwmLauncher) State 1 toggle | ||
| + | |||
| + | # Read specific host config file for specific menus/ | ||
| + | PipeRead 'cat ~/ | ||
| + | |||
| + | # vim:ft=fvwm | ||
| + | </ | ||
| + | |||
| + | |||
| + | ====== tweaks ====== | ||
| + | Some tweaks for your system | ||
| + | ===== sudoers ===== | ||
| + | <code bash> | ||
| + | yourlogin ALL=(ALL) NOPASSWD: / | ||
| + | </ | ||
| + | |||
| + | ===== gmrun ===== | ||
| + | Please see [[software: | ||
