├── README ├── bin ├── battery-check.sh ├── dmenu+3 ├── dmenu+4 ├── dmenu+5 ├── dmenu+6 └── dmenu_launch ├── config ├── icons ├── application.png ├── firefox_.png ├── floating.png ├── floating18.png ├── floatingw.png ├── folder.png ├── mini.bx2.xpm ├── mplayer_.xpm ├── mutt.mini.xpm ├── opera_14x14.png ├── terminal.png ├── tile.png ├── tile18.png ├── tilebottom.png ├── tilebottomw.png ├── tilew.png └── vim-16.xpm ├── screenrc.bgc └── themes ├── e16 ├── vista ├── windows ├── windows2 └── zenburn /README: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------ 2 | 3 | BEST OF BOTH WORLDS - A TILING WINDOW MANAGER CONFIGURATION FOR FVWM 4 | 5 | 6 | ------------------------------------------------------------------------ 7 | 8 | This configuration implements some basic tiling functions to fvwm. 9 | Otherwise the configuration is aimed at being simple and clean. 10 | 11 | The setup allows to switch between tiling and classical floating mode on 12 | a per page basis. Additionally, when in tiling mode individual windows 13 | can be set to floating (either using keyboard shortcuts or configuring 14 | them to always be floating). 15 | 16 | A short illustration of the main tiling functionality (and some more) can be 17 | viewed here: http://www.youtube.com/watch?v=xdSgf-IykIo 18 | 19 | Current Issues 20 | -------------- 21 | 22 | The configuration of the menus is completely depreciated (I rarely use 23 | them) and probably of no use to anybody. 24 | 25 | States used 26 | ----------- 27 | 28 | State 0: Toggles EdgeScroll (true if EdgeThickness 0), only applies to 29 | FvwmButtons 30 | State 1: true if window is master 31 | State 2: true if window is floating 32 | State 3: toggles Title/!Title (true if !Title) 33 | 34 | E.g., to configure mplayer to always be floating just add 'Style "MPlayer" 35 | State 2' to the configuration. (To set a window to be floating on the fly just 36 | use the keyboard shortcut, see below.) Otherwise the states are handled 37 | automatically in the background by the functions of this configuration. 38 | 39 | Requirements 40 | ------------ 41 | 42 | The use of 'urxvt' is hardcoded as the default shell. Sorry! Either 43 | install or better change code (using a variable). Further the background 44 | console relies on 'screen'. Finally, 'stalonetray' is used as tray and 45 | 'dmenu_path' is used for the program launcher. Install or adjust. (A 46 | recompiled-version of dmenu to match the taskbar-size is included, you 47 | may have to compile yourself if running on another platform.) 48 | 49 | Customization 50 | ------------- 51 | 52 | By default I use a 2x2x1 desktop configuration. I.e., I have 2 desks a 2x1 53 | pages. By default only the left page of desk 0 (the default desk) starts in 54 | tiling mode (can be toggled on the fly or changed permanently in the 55 | configuration). 56 | 57 | There are a number of color themes to chose from in the theme folder, 58 | which can be easily switched in the configuration file. 59 | 60 | The background console launches a screen session which reads the configuration 61 | file screenrc.bgc. 62 | 63 | Almost all of the customization is done in the main configuration file. 64 | Just read through it. If you use vim, the folding should make it rather 65 | organized and easy to read. 66 | 67 | Keybindings 68 | ----------- 69 | 70 | Tiling-Related: 71 | Alt+Space: Switch current page between floating/tiling mode 72 | (can also be done using the indicator-button in the 73 | right upper corner of the button bar). 74 | Alt+Shift+Space: Switch current window between floating/tiling 75 | (only applies when in tiling mode) 76 | Ctrl+Alt+Enter: Make current window master 77 | Alt+L: Increase master area 78 | Alt+H: Decrease master area 79 | 80 | Selecting windows: 81 | Alt+J: Select next window clockwise 82 | Alt+K: Select next window counterclockwise 83 | Alt+Ctrl+J: Move current window clockwise 84 | Alt+Ctrl+K: Move current window counterclockwise 85 | Alt+Tab: Cycle through complete window list (including minimized and 86 | windows on other pages) 87 | 88 | Navigating workspaces: 89 | Alt-Right: Go to right page (alternative binding: Alt+]) 90 | Alt-Left: Go to left page (alternative binding: Alt+[) 91 | Alt-Ctrl-Right: Go to right page and take focused windows with you 92 | Alt-Ctrl-Left: Go to left page and take focused windows with you 93 | Alt-Down: Go to next (secondary) desk 94 | Alt-Up: Go to previous (primary) desk 95 | Alt-Escape: Go to last page 96 | 97 | Window operations: 98 | Alt+M: Maximize window and set to floating 99 | Alt+T: Titlebar on/off 100 | Alt+S: Toggle Sticky 101 | Alt+X: Minimize (retrieve using the taskbar or Alt+Tab) 102 | Alt+Shift+C: Close (alternative shortcut Alt+F4) 103 | Alt+LeftClick: Move window and set to floating 104 | Alt+RightClick: Resize window and set to floating 105 | 106 | Other: 107 | Alt+P: Execute command (launches dmenu) 108 | Alt+Grave: Toggle Background console 109 | Middle-Click root window/titlebar: Toggle Edgescrolling 110 | 111 | Applications: 112 | Various, customize in the keybinding section of the configuration file 113 | -------------------------------------------------------------------------------- /bin/battery-check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ACPIOUTPUT=$(acpi) 4 | string=${ACPIOUTPUT#*: } 5 | 6 | 7 | IFS="," 8 | set dummy $string 9 | status=$2 10 | percent=$3 11 | time=${4:1:5} 12 | 13 | case $status in 14 | Full) 15 | echo "AC ${percent## }" 16 | ;; 17 | Charging) 18 | echo "AC ${percent## }" 19 | ;; 20 | Unknown) 21 | echo "AC ${percent## }" 22 | ;; 23 | Discharging) 24 | echo "Bat ${time#*0}" 25 | # if test ${percent%"%"} -le 5; then 26 | # FvwmCommand 'Module FvwmForm LowBattery TIME='${time#*0}''; fi 27 | ;; 28 | esac 29 | 30 | exit 0 31 | -------------------------------------------------------------------------------- /bin/dmenu+3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/bin/dmenu+3 -------------------------------------------------------------------------------- /bin/dmenu+4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/bin/dmenu+4 -------------------------------------------------------------------------------- /bin/dmenu+5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/bin/dmenu+5 -------------------------------------------------------------------------------- /bin/dmenu+6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/bin/dmenu+6 -------------------------------------------------------------------------------- /bin/dmenu_launch: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exe=`dmenu_path | dmenu+5 ${1+"$@"}` && exec $exe 3 | -------------------------------------------------------------------------------- /config: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # 3 | # File: config 4 | # Author: Robert Ulbricht 5 | # Created: Mar 10 2009, 22:13:18 6 | # 7 | # Description: Best of both worlds - A tiling-wm configuration for fvwm 8 | # Last Change: Aug 14 2011, 15:13:40 9 | # 10 | #------------------------------------------------------------------------------ 11 | # 12 | # README {{{1 13 | # -------- 14 | # States used: State 0: Toggles EdgeScroll (true if EdgeThickness 0), applies 15 | # only to FvwmButtons 16 | # State 1: true if window is master 17 | # State 2: true if window is floating 18 | # State 3: toggles Title/!Title (true if !Title) 19 | # 20 | # Requirements: The use of 'urxvt' is hardcoded as the default shell. 21 | # Sorry! Either install or better change code (using a 22 | # variable). Further the background-console relies on 23 | # 'screen'. Finally, 'stalonetray' is used as tray and 24 | # 'dmenu_path' is used for the program launcher. Install or 25 | # adjust. (A recompiled-version of dmenu to match the 26 | # taskbar-size is included, you may have to compile yourself 27 | # if running on another platform.) 28 | # 29 | # Keybindings: Tiling-Related: 30 | # Alt+Space: Switch current page between floating/tiling mode 31 | # (can also be done using the indicator-button in the 32 | # right upper corner of the button bar). 33 | # Alt+Shift+Space: Switch current window between floating/tiling 34 | # (only applies when in tiling mode) 35 | # Ctrl+Alt+Enter: Make current window master 36 | # Alt+L: Increase master area 37 | # Alt+H: Decrease master area 38 | # 39 | # Selecting windows: 40 | # Alt+J: Select next window clockwise 41 | # Alt+K: Select next window counterclockwise 42 | # Alt+Ctrl+J: Move current window clockwise 43 | # Alt+Ctrl+K: Move current window counterclockwise 44 | # Alt+Tab: Cycle through comple window list (including minimized 45 | # and other pages) 46 | # 47 | # Navigating workspaces: 48 | # Alt-Right: Go to right page (alternative binding: Alt+]) 49 | # Alt-Left: Go to left page (alternative binding: Alt+[) 50 | # Alt-Ctrl-Right: Go to right page and take focused windows with you 51 | # Alt-Ctrl-Left: Go to left page and take focused windows with you 52 | # Alt-Down: Go to next (secondary) desk 53 | # Alt-Up: Go to previous (primary) desk 54 | # Alt-Escape: Go to last page 55 | # 56 | # Window operations: 57 | # Alt+M: Maximize window and set to floating 58 | # Alt+T: Titlebar on/off 59 | # Alt+S: Toggle Sticky 60 | # Alt+X: Minimize (retrieve using the taskbar or Alt+Tab) 61 | # Alt+Shift+C: Close (alternative shortcut Alt+F4) 62 | # Alt+LeftClick: Move window and set to floating 63 | # Alt+RightClick: Resize window and set to floating 64 | # 65 | # Other: 66 | # Alt+P: Execute command (launches dmenu) 67 | # Alt+Grave: Toggle Background console 68 | # Middle-Click root window/titlebar: Toggle Edgescrolling 69 | # 70 | # Applications: 71 | # Various, customize in the keybinding section 72 | # 73 | # For more information see the README file. 74 | # 75 | #------------------------------------------------------------------------------ 76 | 77 | # 78 | # Global {{{1 79 | # 80 | 81 | # Select a color theme 82 | #read themes/zenburn 83 | #read themes/windows2 84 | #read themes/vista 85 | read themes/e16 86 | 87 | # Define height of FvwmButtons ("taskbar") and workspace area. 88 | # ---------------------------------- 89 | # If changing the height of the taskbar you may also want to edit the file dmenu_launch 90 | # to adjust the height of the program launcher (+5 matches 18, +6 matches 17, etc). 91 | # ---------------------------------- 92 | SetEnv FVWM_TB_HEIGHT 18 93 | EwmhBaseStruts 0 0 $[FVWM_TB_HEIGHT] 0 94 | 95 | # Define default width of master area (in percent of screen) 96 | SetEnv FVWM_MASTER_WIDTH 50 97 | Piperead 'echo SetEnv FVWM_MASTER_PIXWIDTH $(( $[FVWM_MASTER_WIDTH]*$[vp.width]/100 ))' 98 | 99 | # Define pages which start in tiling mode per default 100 | # ---------------------------------- 101 | # Usage: SetEnv FVWM_TILING_$[Desk.n]-$[Page.nx]-$[Page.ny] Bool 102 | # (Repeat for each page that is to start in tiling mode) 103 | # ---------------------------------- 104 | SetEnv FVWM_TILING_0-0-0 1 105 | 106 | DeskTopSize 2x1 107 | EdgeScroll 100 100 108 | EdgeThickness 0 # Do not change, to enable uncomment LockScreen in StartFunction 109 | ClickTime 350 110 | 111 | OpaqueMoveSize 100 112 | ColormapFocus FollowsFocus 113 | Emulate Mwm 114 | 115 | BugOpts FlickeringMoveWorkaround True 116 | #EwmhNumberOfDesktops 1 1 # To fix bug when running under KDE 117 | 118 | # 119 | # Startup {{{1 120 | # 121 | 122 | ImagePath $FVWM_USERDIR/icons/ 123 | 124 | DestroyFunc StartFunction 125 | AddToFunc StartFunction 126 | + I Module FvwmButtons -g $[vp.width]x$[FVWM_TB_HEIGHT]+0+0 127 | + I Module FvwmCommandS 128 | + I Schedule 500 Module FvwmEvent 129 | + I exec exec xset s off 130 | + I exec exec xset b off 131 | + I exec exec urxvtd -q -f -o 132 | #+ I Schedule 500 LockScreen # uncomment to start with edgescrolling enabled 133 | #+ I Module FvwmBacker 134 | #+ I Module FvwmAnimate 135 | #+ I Module FvwmPager * 136 | 137 | Schedule Periodic 2000 UpdateTextfield 138 | 139 | DestroyFunc UpdateTextfield 140 | AddToFunc UpdateTextfield 141 | + I PipeRead 'echo SendToModule FvwmButtons ChangeButton Textfield Title \ 142 | \\"`date +"%b %-d, %-H:%M"`\\"' 143 | ### Adjust "text.width" below in section Modules when using one of the two below: 144 | # \\"`sh $FVWM_USERDIR/bin/battery-check.sh`, `date +"%-H:%M"`\\"' 145 | # \\"`sh $FVWM_USERDIR/bin/battery-check.sh` \\| `date +"%b %-d, %-H:%M"`\\"' 146 | 147 | # 148 | # Styles {{{1 149 | # 150 | 151 | #----- Menu Style {{{2 152 | 153 | #----- Menu Colorset: hi & sh define border color 154 | 155 | MenuStyle * Font "xft:Verdana:pixelsize=11" 156 | MenuStyle * ItemFormat "%1.15|%3.2i%2.5l%.5l%.5r%7.3>%4.1|" 157 | MenuStyle * MenuColorset 0, ActiveColorset 1, SeparatorsLong 158 | MenuStyle * BorderWidth 1, !Animation, Hilight3DOff 159 | MenuStyle * ActiveFore, HilightBack, TrianglesSolid, TrianglesUseFore 160 | MenuStyle * PopupOffset -5 100, PopUpImmediately, PopDownDelayed, PopDownDelay 100 161 | MenuStyle * TitleWarpOff, VerticalItemSpacing 2 4, VerticalTitleSpacing 2 4, !AutomaticHotkeys 162 | 163 | 164 | #----- Default Window Style {{{2 165 | 166 | Style * Colorset 2, HilightColorset 3 167 | Style * BorderWidth 1, !Handles, BorderColorset 4, HilightBorderColorset 5 168 | 169 | # Font used in the window title 170 | Style * Font "xft:Verdana:pixelsize=11:bold" 171 | Style * UseDecor Default, MWMDecor 172 | Style * MwmButtons, MwmFunctions, HintOverride 173 | 174 | Style * SloppyFocus, FPClickRaisesFocused, FPGrabFocus, FPReleaseFocus 175 | Style * FPSortWindowlistByFocus 176 | Style * MinOverlapPercentPlacement, NoPPosition 177 | 178 | Style * ResizeOpaque, !AllowMaximizeFixedSize 179 | Style * SnapAttraction 10 Screen 180 | Style * WindowShadeSteps 64, WindowShadeShrinks 181 | #Style * IndexedWindowName, IndexedIconName 182 | Style * NoIcon 183 | 184 | 185 | 186 | #----- DefaultDecor {{{2 187 | 188 | DestroyDecor Default 189 | AddToDecor Default 190 | + TitleStyle LeftJustified Height 19 191 | + TitleStyle Active (Colorset 7 -- Flat) Inactive (Colorset 6 -- Flat) \ 192 | ToggledActive (Colorset 7 -- Flat) ToggledInactive (Colorset 6 -- Flat) 193 | + ButtonStyle All -- Flat UseTitleStyle 194 | #+ ButtonStyle All AllActive ( -- Flat UseTitleStyle ) AllInactive ( -- Flat UseTitleStyle ) 195 | #+ ButtonStyle All AllToggled ( -- Flat UseTitleStyle ) 196 | + AddButtonStyle Right AllToggled Vector 26 20x20@4 20x80@1 25x80@1 25x20@1 30x20@1 30x80@1 35x80@1 \ 197 | 35x20@1 40x20@1 40x80@1 45x80@1 45x20@1 50x20@1 50x80@1 55x80@1 55x20@1 60x20@1 60x80@1 65x80@1 \ 198 | 65x20@1 70x20@1 70x80@1 75x80@1 75x20@1 80x20@1 80x80@1 199 | + AddButtonStyle Right AllUp Vector 26 20x20@4 20x80@0 25x80@0 25x20@0 30x20@0 30x80@0 35x80@0 35x20@0 \ 200 | 40x20@0 40x80@0 45x80@0 45x20@0 50x20@0 50x80@0 55x80@0 55x20@0 60x20@0 60x80@0 65x80@0 65x20@0 \ 201 | 70x20@0 70x80@0 75x80@0 75x20@0 80x20@0 80x80@0 202 | + AddButtonStyle Right AllDown Vector 26 20x20@4 20x80@1 25x80@1 25x20@1 30x20@1 30x80@1 35x80@1 35x20@1 \ 203 | 40x20@1 40x80@1 45x80@1 45x20@1 50x20@1 50x80@1 55x80@1 55x20@1 60x20@1 60x80@1 65x80@1 65x20@1 70x20@1 \ 204 | 70x80@1 75x80@1 75x20@1 80x20@1 80x80@1 205 | + AddButtonStyle Right Vector 5 20x20@4 80x20@2 80x80@2 20x80@2 20x20@2 206 | #+ AddButtonStyle 1 AllActive Vector 4 49x49@4 49x51@2 51x51@2 51x49@2 207 | # Just destroy the default button and use MiniIcon: 208 | + AddButtonStyle 1 Vector 4 49x49@4 49x51@4 51x51@4 51x49@4 209 | + AddButtonStyle 1 MiniIcon 210 | + AddButtonStyle 2 AllActive Vector 4 40x40@4 60x60@2 60x40@4 40x60@2 211 | + AddButtonStyle 3 AllActive Vector 9 40x40@4 45x35@2 55x35@2 60x40@2 60x45@2 50x50@2 50x55@2 50x65@4 50x65@2 212 | + AddButtonStyle 4 AllActive Vector 7 40x40@4 40x60@2 60x60@2 60x40@2 40x40@2 40x45@2 60x45@2 213 | + AddButtonStyle 6 AllActive Vector 5 40x60@4 60x60@2 60x55@2 40x55@2 40x60@2 214 | + AddButtonStyle 8 AllActive Vector 5 40x40@4 60x40@2 60x45@2 40x45@2 40x40@2 215 | + ButtonStyle 1 - MwmDecorMenu 216 | + ButtonStyle 2 - Clear 217 | + ButtonStyle 3 - Clear 218 | + ButtonStyle 4 - MwmDecorMax 219 | + ButtonStyle 6 - MwmDecorMin 220 | + ButtonStyle 8 - MwmDecorShade 221 | + BorderStyle -- HiddenHandles NoInset Raised 222 | 223 | #----- Application Specific Styles {{{2 224 | 225 | ### Fvwm* 226 | Style "Fvwm*" !Title, State 3, CirculateSkip, WindowListSkip 227 | Style "FvwmButtons" Sticky , !Borders, !Handles, NeverFocus, CirculateHit \ 228 | FixedSize, FixedPosition, !Iconifiable, Layer 0 2, State 2, State 0 229 | Style "FvwmPager" Sticky, !Borders, !Handles, NeverFocus, \ 230 | FixedSize, FixedPosition, !Iconifiable, Layer 0 2, State 2 231 | Style "FvwmConsole" CirculateHit, WindowListHit, Title, State 3 False 232 | Style "FvwmIdent" CirculateHit, WindowListHit, Title, State 3 False, State 2 233 | 234 | ### Custom Apps 235 | Style "urxvt.notitle" !Title, State 3 236 | Style "urxvt.bgc" !Title, State 3, Sticky 237 | Style "Navigator" !Title, State 3, StartsOnPage 1 0, SkipMapping 238 | Style "opera" !Title, State 3, StartsOnPage 1 0, SkipMapping 239 | Style "rdesktop" !Title, State 3, !Borders, !Handles, State 2 240 | Style "acroread*" State 2 241 | Style "gqview*" State 2 242 | Style "rox*" State 2 243 | Style "MPlayer" State 2 244 | Style "skype" State 2 245 | Style "display" State 2 246 | Style "command" State 2 247 | Style "dialog" State 2 248 | Style "Gimp" State 2 249 | Style "*Picard" State 2 250 | Style "*easytag*" State 2 251 | 252 | #---------- Icons {{{3 253 | 254 | Style "*" MiniIcon application.png 255 | Style "XTerm" MiniIcon terminal.png 256 | Style "urxvt*" MiniIcon mini.bx2.xpm 257 | Style "*alpine" MiniIcon mutt.mini.xpm 258 | Style "*bgc" MiniIcon mutt.mini.xpm 259 | Style "Gvim" MiniIcon vim-16.xpm 260 | Style "MPlayer" MiniIcon mplayer_.xpm 261 | Style "Rox*" MiniIcon folder.png, EWMHMiniIconOverride 262 | Style "Iceweasel" MiniIcon firefox_.png, EWMHMiniIconOverride 263 | Style "opera" MiniIcon opera_14x14.png 264 | 265 | # 266 | # Menus {{{1 267 | # 268 | 269 | #----- Main Menu {{{2 270 | 271 | DestroyMenu Main-Menu 272 | AddToMenu Main-Menu 273 | + "Root Menu" Title 274 | #+ "" Nop 275 | + "Home" Exec exec rox 276 | + "Media" Exec exec rox /media/ 277 | + "" Nop 278 | + "Places" Popup Places-Menu 279 | + "Applications" Popup App-Menu 280 | + "Debian Menu" Popup /Debian 281 | + "Fvwm Tools" Popup Tool-Menu 282 | + "Window Ops" Popup Window-Ops 283 | + "" Nop 284 | + "Exit" Popup Quit-Verify 285 | 286 | 287 | #----- Places {{{2 288 | 289 | DestroyMenu Places-Menu 290 | AddToMenu Places-Menu 291 | + "Places" Title 292 | + "Home" Exec exec rox ~ 293 | + "Media" Exec exec rox /media 294 | + "Musik" Exec exec rox ~/Musik 295 | + "" Nop 296 | + "eDrive" Exec exec rox /media/edrive 297 | + "sDrive" Exec exec rox /media/sdrive 298 | + "usb-Drive" Exec exec rox /media/sda1 299 | + "CD-Laufwerk" Exec exec rox /media/cdrom 300 | + "" Nop 301 | + "tmp" Exec exec rox /tmp 302 | 303 | 304 | #----- Debian Menu {{{2 305 | 306 | # Read in system and user menu definitions. 307 | DestroyMenu /Debian 308 | AddToMenu /Debian 309 | Read /etc/X11/fvwm/main-menu-pre.hook Quiet 310 | Read main-menu-pre.hook Quiet 311 | 312 | # Read the auto-generated menus 313 | Read /etc/X11/fvwm/menudefs.hook Quiet 314 | Read menudefs.hook Quiet 315 | 316 | # Add in user additions 317 | Read /etc/X11/fvwm/main-menu.hook Quiet 318 | Read main-menu.hook Quiet 319 | 320 | 321 | #----- Window Ops {{{2 322 | 323 | DestroyMenu Window-Ops 324 | AddToMenu Window-Ops 325 | #+ "Window Ops" Title 326 | + "Move" Warp-and-Move 327 | + "Size" Warp-and-Resize 328 | + "Shade" WindowShadeFunc 329 | + "Minimize" Iconify 330 | + "Maximize" Maximize-and-SetFloating 100 100 331 | + "Advanced" Popup Window-Ops-Advanced 332 | + "" Nop 333 | + "Quit" Close 334 | 335 | DestroyMenu Window-Ops-Advanced 336 | AddToMenu Window-Ops-Advanced 337 | + "Identify" Module FvwmIdent 338 | + "No Title" RemoveTitle 339 | + "Layer Up" Layer +2 0 340 | + "Layer Down" Layer -2 0 341 | + "Make Sticky" Stick 342 | + "" Nop 343 | + "Maximize vertical" Maximize-and-SetFloating 0 100 344 | + "Maximize horizontal" Maximize-and-SetFloating 100 0 345 | + "Maximize to screen" Maximize-and-SetFloating 100 100 346 | + "" Nop 347 | + "Kill" Destroy 348 | 349 | 350 | #----- App menu {{{2 351 | 352 | DestroyMenu App-Menu 353 | AddToMenu App-Menu 354 | + "Applications" Title 355 | + "XTerm (login)" Exec exec xterm 356 | + "Virtual Box" Exec exec VirtualBox 357 | + "Xine" Exec exec xine dvd:/ -f 358 | + "Zattoo" Exec exec zattoo_player 359 | #+ "Firefox" Exec exec mozilla-firefox 360 | #+ "Amarok" Exec exec amarok 361 | + "" Nop 362 | + "Office" Popup App-Menu-Office 363 | + "System" Popup App-Menu-Sys 364 | + "Multimedia" Popup App-Menu-Multi 365 | + "Science" Popup App-Menu-Science 366 | 367 | DestroyMenu App-Menu-Sys 368 | AddToMenu App-Menu-Sys 369 | + "URxvt" Exec exec urxvtcd 370 | + "XTerm (login)" Exec exec xterm 371 | + "" Nop 372 | + "Umount /dev/sd*" Exec exec sudo /bin/umount /dev/sd* 373 | 374 | DestroyMenu App-Menu-Multi 375 | AddToMenu App-Menu-Multi 376 | + "Amarok" Exec exec amarok 377 | + "Zattoo" Exec exec zattoo_player 378 | + "Xine" Exec exec xine dvd:/ -f 379 | + "Picard" Exec exec picard 380 | + "Easytag" Exec exec easytag 381 | + "" Nop 382 | + "KStars" Exec exec kstars 383 | + "Skype" Exec exec skype 384 | + "Gaim" Exec exec gaim 385 | 386 | DestroyMenu App-Menu-Science 387 | AddToMenu App-Menu-Science 388 | + "Stata 10" Exec exec xstata-se 389 | #+ "Mathematica" Exec exec env XLIB_SKIP_ARGB_VISUALS=1 Mathematica 390 | + "Mathematica" Exec exec mathematica -defaultvisual 391 | + "TeX Doc" Exec exec texdoctk 392 | + "Jabref" Exec exec jabref 393 | 394 | DestroyMenu App-Menu-Office 395 | AddToMenu App-Menu-Office 396 | + "Firefox" Exec exec mozilla-firefox 397 | + "Virtual Box" Exec exec VirtualBox 398 | + "" Nop 399 | + "Abiword" Exec exec abiword 400 | + "Gnumeric" Exec exec gnumeric 401 | + "Ding Dictionary" Exec exec ding -m 402 | + "BC Calculator" Exec exec urxvtcd -geometry 65x18 -e bc -q -l .bcrc 403 | 404 | 405 | 406 | #----- Tool menu {{{2 407 | 408 | DestroyMenu Tool-Menu 409 | AddToMenu Tool-Menu 410 | + "Fvwm Tools" Title 411 | + "Fvwm Console" Module FvwmConsole -terminal urxvt -g 80x22 -fg black -bg white 412 | + "Fvwm Identify" NoWindow Module FvwmIdent 413 | + "Pager Desk 1" Module FvwmPager 0 0 414 | + "Pager Desk 2" Module FvwmPager 1 1 415 | + "Pager All" Module FvwmPager 0 1 416 | + "" Nop 417 | + "Move to Desk 1" All (CurrentScreen, CurrentDesk, !FvwmPager) MoveToDesk 0 0 418 | + "Move to Desk 2" All (CurrentScreen, CurrentDesk, !FvwmPager) MoveToDesk 0 1 419 | + "Show Desktop" All (AcceptsFocus, CurrentPage, !Iconic, !Shaded) Iconify on 420 | + "Refresh Desktop" All (CurrentPage, !FvwmButtons, !FvwmPager, !FvwmIconMan, !Iconic) PlaceAgain Anim 421 | + "" Nop 422 | #+ "Desktop Background" Popup Background-Menu 423 | + "Fvwm Themes" Popup Themes-Menu 424 | 425 | 426 | DestroyMenu Background-Menu 427 | AddToMenu Background-Menu 428 | + "e16 Blue" Exec exec xsetroot -solid "#ABB0B7" 429 | + "e16 Green" Exec exec xsetroot -solid "#718671" 430 | + "Windows Classic" Exec exec xsetroot -solid "#3A6EA5" 431 | + "Black" Exec exec xsetroot -solid "#000000" 432 | + "White" Exec exec xsetroot -solid "#ffffff" 433 | + "" Nop 434 | + "Background Changer" FvwmBacker 435 | 436 | DestroyMenu Themes-Menu 437 | AddToMenu Themes-Menu 438 | + "Zenburn" read themes/zenburn 439 | + "E16" read themes/e16 440 | + "Windows light" read themes/windows 441 | + "Windows blue" read themes/windows2 442 | 443 | #+ "Move to Screen" All (CurrentDesk) MoveToScreen 444 | #+ "Cascade " FvwmRearrange -cascade -incx 15p -incy 5p 445 | #+ "Expose" FvwmRearrange -tile -h 0 0 20 100 -nostretch 446 | #+ "Rearrange Icons" All (Iconic) PlaceAgain Icon 447 | #+ "Identify" Module FvwmIdent 448 | #+ "Clean Desktop" Maintenance 449 | 450 | 451 | #----- Quit- and Halt-Verify menu {{{2 452 | 453 | DestroyMenu Quit-Verify 454 | AddToMenu Quit-Verify 455 | + "Exit" Title 456 | #+ "Cancel" Cancel 457 | + "Exit Fvwm" Quit 458 | + "Restart Fvwm" Restart 459 | + "Turn Off Computer" Exec exec urxvtcd -e sudo /sbin/halt 460 | 461 | 462 | #----- misc. menu's {{{2 463 | 464 | DestroyMenu sd-menu 465 | AddToMenu sd-menu 466 | + "/dev/sdb4" Exec exec rox-filer /media/sdb4 467 | + "/dev/sdb3" Exec exec rox-filer /media/sdb3 468 | + "/dev/sdb1" Exec exec rox-filer /media/sdb1 469 | + "/dev/sda4" Exec exec rox-filer /media/sda4 470 | + "/dev/sda3" Exec exec rox-filer /media/sda3 471 | + "/dev/sda2" Exec exec rox-filer /media/sda2 472 | + "/dev/sda1" Exec exec rox-filer /media/sda1 473 | 474 | DestroyMenu rox-menu 475 | AddToMenu rox-menu 476 | + "umount" Popup Umount-Menu 477 | + "" Nop 478 | + "windows" Exec exec rox-filer /media/windows 479 | + "torrent" Exec exec rox-filer ~/.torrent 480 | + "root" Exec exec rox-filer / 481 | + "tmp" Exec exec rox-filer /tmp 482 | + "media" Exec exec rox-filer /media 483 | + "floppy" Exec exec rox-filer /media/floppy 484 | + "cdrom" Exec exec rox-filer /media/cdrom0 485 | 486 | DestroyMenu Umount-Menu 487 | AddToMenu Umount-Menu 488 | + "cdrom" exec exec umount /media/cdrom 489 | + "floppy" exec exec umount /media/floppy 490 | + "windows" exec exec urxvtcd -e sudo umount /dev/hda1 491 | + "sda*" exec exec urxvtcd -e sudo umount /dev/sda* 492 | + "sdb*" exec exec urxvtcd -e sudo umount /dev/sdb* 493 | 494 | 495 | 496 | # 497 | # Bindings {{{1 498 | # 499 | 500 | #----- Keyboard {{{2 501 | 502 | Key J A M PrevWindow 503 | Key K A M NextWindow 504 | Key J A CM SwapWindowsDir SouthEast SouthWest 505 | Key K A CM SwapWindowsDir NorthEast NorthWest 506 | Key H A M DecreaseMasterWidth 507 | Key L A M IncreaseMasterWidth 508 | 509 | Key Space A M ToggleTiling 510 | Key Space A CM WindowToggleTiling 511 | Key Space A SM WindowToggleTiling # alternate shortcut when running under vmware 512 | Key Return A CM SetCurrentMaster 513 | Key Return A SM SetCurrentMaster # alternate shortcut when running under vmware 514 | 515 | Key M A M Maximize-and-SetFloating 100 100 516 | Key T A M Toggle-Title 517 | Key S A M Stick 518 | Key X A M Iconify true 519 | Key C A SM Close 520 | Key R A SM RefreshWindow 521 | 522 | Key P A M exec exec $FVWM_USERDIR/bin/dmenu_launch -p Execute: \ 523 | -nb '$[bg.cs8]' -nf '$[fg.cs8]' -sb '$[bg.cs9]' -sf '$[fg.cs9]' \ 524 | -fn "xft:sans:pixelsize=11" 525 | Key L A SM exec exec slock 526 | Key R A CM Restart 527 | 528 | Key Escape A M GotoPage prev 529 | Key grave A M ToggleBGC 530 | Key dead_grave A M ToggleBGC 531 | Key Tab A M WindowList (CurrentDesk) Root c c CurrentAtEnd \ 532 | CurrentDesk IconifiedAtEnd NoGeometry MaxLabelWidth 40 \ 533 | NoCurrentDeskTitle SelectOnRelease Meta_L 534 | 535 | Key XF86Back A N GotoPage -1p 0p 536 | Key XF86Forward A N GotoPage +1p 0p 537 | #Key XF86Back A M SwapWindowsDir SouthEast SouthWest 538 | #Key XF86Forward A M SwapWindowsDir NorthEast NorthWest 539 | 540 | 541 | ### Nx1 DeskLayout 542 | Key Up A M GotoDesk 0 0 543 | Key Down A M GotoDesk 0 1 544 | Key Left A M GotoPage -1p 0p 545 | Key Right A M GotoPage +1p 0p 546 | Key Left A CM MoveAndGotoPage -1 0 547 | Key Right A CM MoveAndGotoPage +1 0 548 | Key bracketleft A M GotoPage -1p 0p 549 | Key bracketright A M GotoPage +1p 0p 550 | Key bracketleft A CM MoveAndGotoPage -1 0 551 | Key bracketright A CM MoveAndGotoPage +1 0 552 | 553 | ### NxM DeskLayout 554 | #Key Up A C GotoDesk 0 0 555 | #Key Down A C GotoDesk 0 1 556 | #Key Left A M GotoPage -1p 0p 557 | #Key Right A M GotoPage +1p 0p 558 | #Key Left A CM MoveAndGotoPage -1 0 559 | #Key Right A CM MoveAndGotoPage +1 0 560 | #Key Up A M GotoPage 0p -1p 561 | #Key Down A M GotoPage 0p +1p 562 | #Key Up A CM MoveAndGotoPage 0 -1 563 | #Key Down A CM MoveAndGotoPage 0 +1 564 | #Key bracketleft A M GotoPage -1p 0p 565 | #Key bracketright A M GotoPage +1p 0p 566 | #Key bracketleft A CM MoveAndGotoPage -1 0 567 | #Key bracketright A CM MoveAndGotoPage +1 0 568 | 569 | ### Applications 570 | Key Return A M exec exec urxvtcd -name urxvt.notitle 571 | Key E A M exec exec rox-filer 572 | Key N A M exec exec opera --nomail 573 | Key M A SM exec exec urxvtcd -name urxvt.notitle -e alpine 574 | Key K A SM exec exec xkill 575 | #Key 9 A CM exec exec aumix -v -5 576 | #Key 0 A CM exec exec aumix -v +5 577 | 578 | ### Old, check! 579 | Key F1 A M Menu Main-Menu 580 | Key F4 A M Close 581 | #Key F5 A M Stick 582 | Key F6 A M WindowShadeFunc 583 | #Key F7 A M Warp-and-Move 584 | #Key F8 A M Warp-and-Resize 585 | #Key F9 A M All (AcceptsFocus, CurrentPage, !Iconic, !Shaded) \ 586 | # Iconify on 587 | #Key F10 A M WindowList (CurrentPage) Root c c CurrentDesk OnlyIcons \ 588 | # NoGeometry MaxLabelWidth 40 NoCurrentDeskTitle \ 589 | # SelectOnRelease 590 | 591 | #----- Mouse {{{2 592 | 593 | # root 594 | Mouse 1 R A Menu Main-Menu 595 | Mouse 2 R A LockScreen 596 | Mouse 2 R M All (CurrentPage, !Iconic, !FvwmButtons, !FvwmPager, !FvwmIconMan) PlaceAgain Anim 597 | Mouse 3 R A rxvt-under-mouse 598 | 599 | # Window (title bar:Buttons) 600 | Mouse 0 1 A Popup Window-Ops 601 | Mouse 0 2 A Close 602 | Mouse 1 4 A Maximize-and-SetFloating 100 100 603 | Mouse 2 4 A Maximize-and-SetFloating 100 0 604 | Mouse 3 4 A Maximize-and-SetFloating 0 100 605 | Mouse 1 6 A Iconify on 606 | Mouse 3 6 A WindowShadeFunc 607 | 608 | # Window (T=title bar, S=side/top/bottom, F=corner, W=Window). 609 | Mouse 1 T A LeftClick 610 | Mouse 2 T A LockScreen 611 | Mouse 2 T M PlaceAgain Anim 612 | Mouse 3 T A RightClick 613 | Mouse 1 W M LeftClick 614 | Mouse 2 W M LockScreen 615 | Mouse 3 W M RightClick 616 | 617 | 618 | # 619 | # Functions {{{1 620 | # 621 | 622 | #----- Window Control {{{2 623 | 624 | DestroyFunc LeftClick 625 | AddToFunc LeftClick 626 | + M Raise 627 | + M Move-and-SetFloating 628 | + C RaiseLower 629 | + D Raise 630 | + D Maximize-and-SetFloating 0 100 631 | 632 | DestroyFunc RightClick 633 | AddToFunc RightClick 634 | + M Raise 635 | + M Resize-and-SetFloating 636 | + C WindowshadeFunc 637 | 638 | DestroyFunc WindowListFunc 639 | AddToFunc WindowListFunc 640 | + I Iconify false 641 | + I Windowshade false 642 | + I Raise 643 | + I FlipFocus 644 | #+ I WarpToWindow 50 8p 645 | 646 | DestroyFunc NextWindow 647 | AddToFunc NextWindow 648 | + I ScanForWindow NorthEast NorthWest (CurrentPage, !Iconic, AcceptsFocus) FlipFocus 649 | + I Current Raise 650 | #+ I Current WarpToWindow 5 5 651 | 652 | DestroyFunc PrevWindow 653 | AddToFunc PrevWindow 654 | + I ScanForWindow SouthEast SouthWest (CurrentPage, !Iconic, AcceptsFocus) FlipFocus 655 | + I Current Raise 656 | #+ I Current WarpToWindow 5 5 657 | 658 | DestroyFunc Warp-and-Move 659 | AddToFunc Warp-and-Move 660 | + I WarpToWindow 50 50 661 | + I Move-and-SetFloating 662 | 663 | DestroyFunc Warp-and-Resize 664 | AddToFunc Warp-and-Resize 665 | + I WarpToWindow 50 50 666 | + I Resize-and-SetFloating 667 | 668 | DestroyFunc MoveAndGotoPage 669 | AddToFunc MoveAndGotoPage 670 | + I MoveToPage $0w $1w 671 | + I GotoPage $0p $1p 672 | 673 | DestroyFunc WindowShadeFunc 674 | AddToFunc WindowShadeFunc 675 | + I Current WindowStyle Title 676 | + I Current State 3 False 677 | + I WindowShade 678 | #+ I All (Shaded, CurrentPage) PlaceAgain 679 | #+ I PlaceAgain 680 | 681 | DestroyFunc RemoveTitle 682 | AddToFunc RemoveTitle 683 | + I Current WindowStyle !Title 684 | #+ I Current Resize keep w+15p 685 | + I Current State 3 True 686 | 687 | DestroyFunc Toggle-Title 688 | AddToFunc Toggle-Title 689 | + I Current (State 3) WindowStyle Title 690 | + I TestRc (Match) Current Resize keep w-19p 691 | + I Current State 3 Toggle 692 | + I Current (State 3) WindowStyle !Title 693 | + I TestRc (Match) Current Resize keep w+19p 694 | 695 | DestroyFunc LockScreen 696 | AddToFunc LockScreen 697 | + I Next (FvwmButtons, State 0) EdgeThickness 1 698 | + I Next (FvwmButtons) State 0 699 | + I Next (FvwmButtons, State 0) EdgeThickness 0 700 | 701 | DestroyFunc rxvt-under-mouse 702 | AddToFunc rxvt-under-mouse 703 | + I Style "urxvt" PositionPlacement UnderMouse 704 | + I Exec exec urxvtcd 705 | + I Wait urxvt 706 | + I Style "urxvt" MinOverlapPercentPlacement 707 | 708 | DestroyFunc Maintenance 709 | AddToFunc Maintenance 710 | + I SendToModule FvwmAnimate pause 711 | + I All (!Visible, CurrentPage, !Iconic, !Sticky, !Focused) Iconify on 712 | + I SendToModule FvwmAnimate play 713 | 714 | #----- Background Console {{{2 715 | # requires screen (uses configuration screenrc.bgc) 716 | 717 | DestroyFunc ToggleBGC 718 | AddToFunc ToggleBGC 719 | + I None (urxvt.bgc) BGC_Init 720 | #+ I All (urxvt.bgc, CurrentDesk) BGC_Hide 721 | + I All (urxvt.bgc, !iconic) BGC_Hide 722 | + I TestRc (0) BGC_Show 723 | 724 | DestroyFunc BGC_Init 725 | AddToFunc BGC_Init 726 | + I Exec exec urxvt -geometry 100x62 -name urxvt.bgc -e screen -d -R BGC -c $FVWM_USERDIR/screenrc.bgc 727 | + I Wait urxvt.bgc 728 | #+ I All (urxvt.bgc) MoveToDesk 0 666 729 | + I All (urxvt.bgc) Iconify true 730 | + I Prev (CurrentPage, !iconic, AcceptsFocus) FlipFocus 731 | 732 | DestroyFunc BGC_Show 733 | AddToFunc BGC_Show 734 | #+ I All (urxvt.bgc) MoveToDesk 0 $[desk.n] 735 | + I All (urxvt.bgc) Iconify false 736 | + I All (urxvt.bgc) Raise 737 | + I All (urxvt.bgc) WindowShade false 738 | + I All (urxvt.bgc) WindowStyle WindowListHit 739 | + I Next (urxvt.bgc) FlipFocus 740 | #+ I NewWindow 741 | 742 | DestroyFunc BGC_Hide 743 | AddToFunc BGC_Hide 744 | + I All (urxvt.bgc) WindowShade true 745 | #+ I All (urxvt.bgc) MoveToDesk 0 666 746 | + I All (urxvt.bgc) Iconify true 747 | + I All (urxvt.bgc) WindowStyle WindowListSkip, CirculateHit 748 | + I None (CurrentPage, Focused) Prev (CurrentPage, !iconic, AcceptsFocus) FlipFocus 749 | #+ I DestroyWindow 750 | 751 | #----- Tiling Functions {{{2 752 | 753 | #--------- General / Initialization {{{3 754 | 755 | Style * ResizeHintOverride 756 | 757 | DestroyModuleConfig FvwmEvent: * 758 | *FvwmEvent: Cmd 759 | *FvwmEvent: add_window "NewWindow" 760 | *FvwmEvent: destroy_window "DestroyWindow" 761 | *FvwmEvent: deiconify "NewWindow" 762 | *FvwmEvent: iconify "DestroyWindow" 763 | #*FvwmEvent: windowshade "DestroyWindow" 764 | #*FvwmEvent: dewindowshade "NewWindow" 765 | *FvwmEvent: new_page "NewPageFunc" 766 | *FvwmEvent: new_desk "NewPageFunc" 767 | 768 | ### Executed on page/desk change 769 | DestroyFunc NewPageFunc 770 | AddToFunc NewPageFunc 771 | + I None (CurrentPage, Focused) Prev (CurrentPage, !iconic, AcceptsFocus) FlipFocus 772 | + I FixSticky 773 | + I SendToModule FvwmButtons ChangeButton Layout Icon floating18.png 774 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 775 | + I SendToModule FvwmButtons ChangeButton Layout Icon tile18.png 776 | + I None (CurrentPage, !State 1, !State 2, !iconic, AcceptsFocus) Break 777 | + I Refresh 778 | + I All (CurrentPage, !iconic, AcceptsFocus, State 1) \ 779 | Resize frame $[FVWM_MASTER_PIXWIDTH]p keep 780 | + I All (CurrentPage, !iconic, AcceptsFocus, !State 1, !State 2) \ 781 | PipeRead 'echo ResizeMove frame \ 782 | $(( $[vp.width] - $[FVWM_MASTER_PIXWIDTH] ))p keep $[FVWM_MASTER_PIXWIDTH]p keep' 783 | 784 | SetEnv Fvwm_CurrentPage $[desk.n]-$[page.nx]-$[page.ny] 785 | 786 | ### Nicely fit sticky windows into current page when in tiling mode 787 | DestroyFunc FixSticky 788 | AddToFunc FixSticky 789 | + I SetEnv Fvwm_PrevPage $[Fvwm_CurrentPage] 790 | + I SetEnv Fvwm_CurrentPage $[desk.n]-$[page.nx]-$[page.ny] 791 | + I All (sticky, !iconic, !State 2) SetEnv Fvwm_SavePage_$[Fvwm_PrevPage] 792 | + I TestRc (Match) KeepRc None (sticky, !iconic, state 1) \ 793 | KeepRc Next (CurrentPage, state 1) Schedule 5 FlipFocus 794 | + I TestRc (Match) KeepRc Next (sticky, !iconic, !State 2, State 1) Schedule 5 FlipFocus 795 | + I TestRc (Match) Schedule 10 NewWindow 796 | + I TestRc (Match) UnsetEnv Fvwm_SavePage_$[Fvwm_CurrentPage] 797 | + I TestRc (Match) Break 1 798 | + I Test (EnvIsSet Fvwm_SavePage_$[Fvwm_CurrentPage]) Schedule 10 DestroyWindow 799 | + I UnsetEnv Fvwm_SavePage_$[Fvwm_CurrentPage] 800 | 801 | #--------- Toggle floating for individual windows {{{3 802 | 803 | ### Toggles tiling/floating for current window 804 | DestroyFunc WindowToggleTiling 805 | AddToFunc WindowToggleTiling 806 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 1 807 | + I Current State 2 Toggle 808 | + I Current (State 2) Piperead 'echo Move 50-50w 50-50w+$(( $[FVWM_TB_HEIGHT] / 2 ))p' 809 | + I TestRC (Match) Raise 810 | + I TestRC (Match) WarpToWindow 50 50 811 | + I PostToggleTiling 812 | 813 | ### Move window and set to floating mode 814 | DestroyFunc Move-and-SetFloating 815 | AddToFunc Move-and-SetFloating 816 | + I Move 817 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 1 818 | + I Current State 2 True 819 | + I PostToggleTiling 820 | 821 | ### Resize window and set to floating mode 822 | DestroyFunc Resize-and-SetFloating 823 | AddToFunc Resize-and-SetFloating 824 | + I Resize Direction SE warptoborder 825 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 1 826 | + I Current State 2 True 827 | + I PostToggleTiling 828 | 829 | ### Maximize window and set to floating/tiling mode 830 | DestroyFunc Maximize-and-SetFloating 831 | AddToFunc Maximize-and-SetFloating 832 | + I Maximize $0 $1 833 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 1 834 | #---Use 1st line to push window into tiling mode when unmaximizing, 835 | # use 2nd line to leave it floating (when needed, use CM+Space) --- 836 | #+ I Current (!Maximized) State 2 False 837 | + I Current (!Maximized) Break 1 838 | #--------------------------------------------------------------------- 839 | + I Current (Maximized) State 2 True 840 | + I PostToggleTiling 841 | + I Current Raise 842 | 843 | ### Rearrange remaining windows when in tiling mode 844 | DestroyFunc PostToggleTiling 845 | AddToFunc PostToggleTiling 846 | + I Current (State 2) State 1 False 847 | + I TestRC (Match) DestroyWindow 848 | #+ I TestRC (Match) WindowStyle Title 849 | #+ I Current (!State 2) WindowStyle !Title 850 | + I Current (!State 2) NewWindow 851 | # TODO: Mark floating window in IconMan 852 | 853 | #--------- New Windows / Toggle Tiling / WMIArrange {{{3 854 | 855 | ### Executed when new window enters tiling mode 856 | DestroyFunc NewWindow 857 | AddToFunc NewWindow 858 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 1 859 | + I Current (State 2|Transient) NoWindow Break 1 860 | #---Comment the next 2 lines for new windows to start in slave area--- 861 | + I Current (CurrentPage, !State 2, !iconic, AcceptsFocus) \ 862 | KeepRc All (CurrentPage, State 1) State 1 false 863 | + I TestRc (Match) Current State 1 true 864 | #--------------------------------------------------------------------- 865 | + I None (CurrentPage, State 1) Prev (CurrentPage, !State 2, !iconic, AcceptsFocus) \ 866 | State 1 True 867 | + I WMIArrange 868 | + I Next (FvwmButtons, !HasPointer) Next (CurrentPage, State 1) WarpToWindow -5 5 869 | #+ I Next (CurrentPage, State 1) Schedule 120 $[w.id] FlipFocus 870 | 871 | ### Executed when window leaves tiling mode 872 | DestroyFunc DestroyWindow 873 | AddToFunc DestroyWindow 874 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 875 | + I All (iconic) State 1 False 876 | + I None (CurrentPage, State 1) Current (CurrentPage, !State 2, !iconic, AcceptsFocus) \ 877 | State 1 True 878 | + I None (CurrentPage, State 1) Prev (CurrentPage, !State 2, !iconic, AcceptsFocus) \ 879 | State 1 True 880 | + I WMIArrange 881 | 882 | ### Toggle tiling mode for current workspace 883 | DestroyFunc ToggleTiling 884 | AddToFunc ToggleTiling 885 | + I Test (EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) \ 886 | SetEnv FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 0 887 | + I TestRc (Match) All (CurrentPage) State 1 False 888 | + I TestRc (Match) SendToModule FvwmButtons ChangeButton Layout Icon floating18.png 889 | #+ I TestRc (Match) KeepRc All (CurrentPage, AcceptsFocus) WindowStyle Title 890 | + I TestRc (Match) Break 891 | + I SetEnv FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1 892 | + I All (CurrentPage) State 1 False 893 | #+ I All (CurrentPage, AcceptsFocus) WindowStyle !Title 894 | #+ I UpdateStyles 895 | + I Current (State 2|Transient) Prev Focus 896 | + I Current State 1 True 897 | + I WMIArrange 898 | + I SendToModule FvwmButtons ChangeButton Layout Icon tile18.png 899 | 900 | 901 | PipeRead 'echo SetEnv vp.width_1 $(( $[vp.width] - 1 ))' 902 | PipeRead 'echo SetEnv vp.height_1 $(( $[vp.height] - 1 ))' 903 | 904 | ### Does the rearranging when in tiling mode 905 | DestroyFunc WMIArrange 906 | AddToFunc WMIArrange 907 | + I Next (CurrentPage, State 1) \ 908 | ResizeMove frame $[FVWM_MASTER_PIXWIDTH]p -$[FVWM_TB_HEIGHT]p \ 909 | 0 $[FVWM_TB_HEIGHT]p 910 | + I None (CurrentPage, !State 1, !State 2, !iconic, AcceptsFocus) \ 911 | Next (CurrentPage, State 1) \ 912 | ResizeMove frame 100 -$[FVWM_TB_HEIGHT]p 0 $[FVWM_TB_HEIGHT]p 913 | + I All (CurrentPage, State 1) WindowStyle WindowListSkip 914 | + I All (CurrentPage, State 2) WindowStyle WindowListSkip 915 | + I UpdateStyles 916 | + I ModuleSynchronous FvwmRearrange -tile -u -m -s -r -h -noraise \ 917 | $[FVWM_MASTER_PIXWIDTH]p $[FVWM_TB_HEIGHT]p $[vp.width_1]p $[vp.height_1]p 918 | + I All (CurrentPage, State 1) WindowStyle WindowListHit 919 | + I All (CurrentPage, State 2) WindowStyle WindowListHit 920 | + I All (FvwmButtons|FvwmPager) WindowStyle WindowListSkip 921 | 922 | ### Does the rearranging when in horizontal tiling mode 923 | DestroyFunc WMIArrangeH 924 | AddToFunc WMIArrangeH 925 | + I Next (CurrentPage, State 1) \ 926 | PipeRead 'echo ResizeMove frame 100 $(( $[FVWM_MASTER_PIXWIDTH] - $[FVWM_TB_HEIGHT] ))p \ 927 | 0 $[FVWM_TB_HEIGHT]p' 928 | + I None (CurrentPage, !State 1, !State 2, !iconic, AcceptsFocus) \ 929 | Next (CurrentPage, State 1) \ 930 | ResizeMove frame 100 -$[FVWM_TB_HEIGHT]p 0 $[FVWM_TB_HEIGHT]p 931 | + I All (CurrentPage, State 1) WindowStyle WindowListSkip 932 | + I All (CurrentPage, State 2) WindowStyle WindowListSkip 933 | + I UpdateStyles 934 | + I ModuleSynchronous FvwmRearrange -tile -u -m -s -r -noraise \ 935 | 0 $[FVWM_MASTER_PIXWIDTH]p $[vp.width_1]p $[vp.height_1]p 936 | + I All (CurrentPage, State 1) WindowStyle WindowListHit 937 | + I All (CurrentPage, State 2) WindowStyle WindowListHit 938 | + I All (FvwmButtons|FvwmPager) WindowStyle WindowListSkip 939 | 940 | #--------- SetCurrentMaster / SwapWindows {{{3 941 | 942 | ### Set the current window to master 943 | DestroyFunc SetCurrentMaster 944 | AddToFunc SetCurrentMaster 945 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 946 | + I Current (State 2|Transient) NoWindow Break 947 | + I Current SetEnv FvwmId_current $$$$[w.id] 948 | + I Next (CurrentPage, State 1) SetEnv FvwmId_dest $$$$[w.id] 949 | + I SwapWindowsToggleState 950 | + I SwapWindows 951 | 952 | ### Swap window with next window in specified direction 953 | DestroyFunc SwapWindowsDir 954 | AddToFunc SwapWindowsDir 955 | + I Current (State 2|Transient) NoWindow Break 956 | + I Current SetEnv FvwmId_current $$$$[w.id] 957 | + I ScanForWindow $0 $1 (CurrentPage, !Iconic, AcceptsFocus, !State 2) \ 958 | SetEnv FvwmId_dest $$$$[w.id] 959 | + I SwapWindowsToggleState 960 | + I SwapWindows 961 | 962 | ### Toggles master/floating when swapping windows 963 | DestroyFunc SwapWindowsToggleState 964 | AddToFunc SwapWindowsToggleState 965 | + I Piperead '[ $[FvwmId_current] = $[FvwmId_dest] ] && echo Break 1' 966 | + I WindowId $[FvwmId_current] ThisWindow (state 1) \ 967 | WindowId $[FvwmId_dest] State 1 True 968 | + I WindowId $[FvwmId_current] ThisWindow (state 1) \ 969 | WindowId $[FvwmId_current] State 1 False 970 | + I TestRc (Match) Break 1 971 | + I WindowId $[FvwmId_dest] ThisWindow (state 1) \ 972 | WindowId $[FvwmId_current] State 1 True 973 | + I WindowId $[FvwmId_dest] ThisWindow (state 1) \ 974 | WindowId $[FvwmId_dest] State 1 False 975 | 976 | ### Does the actually swapping 977 | DestroyFunc SwapWindows 978 | AddToFunc SwapWindows 979 | + I WindowId $[FvwmId_current] \ 980 | SetEnv FvwmCoord_current \ 981 | '$$$$[w.width]p $$$$[w.height]p $$$$[w.x]p $$$$[w.y]p' 982 | + I WindowId $[FvwmId_dest] \ 983 | SetEnv FvwmCoord_dest \ 984 | '$$$$[w.width]p $$$$[w.height]p $$$$[w.x]p $$$$[w.y]p' 985 | + I WindowId $[FvwmId_current] ResizeMove frame $[FvwmCoord_dest] 986 | + I WindowId $[FvwmId_dest] ResizeMove frame $[FvwmCoord_current] 987 | + I WindowId $[FvwmId_current] WarpToWindow 50 50 988 | + I UnsetEnv FvwmId_current 989 | + I UnsetEnv FvwmCoord_current 990 | + I UnsetEnv FvwmId_dest 991 | + I UnsetEnv FvwmCoord_dest 992 | 993 | #--------- Increase/Decrease MasterWidth {{{3 994 | 995 | ### Increases width of master area 996 | DestroyFunc IncreaseMasterWidth 997 | AddToFunc IncreaseMasterWidth 998 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 999 | + I Test (EnvMatch FVWM_MASTER_WIDTH 80) Break 1000 | + I None (CurrentPage, !State 1, !State 2, !iconic, AcceptsFocus) Break 1001 | + I PipeRead 'echo SetEnv FVWM_MASTER_WIDTH $(( $[FVWM_MASTER_WIDTH] + 5 ))' 1002 | + I Piperead 'echo SetEnv FVWM_MASTER_PIXWIDTH $(( $[FVWM_MASTER_WIDTH]*$[vp.width]/100 ))' 1003 | + I All (CurrentPage, !iconic, AcceptsFocus, State 1) \ 1004 | Resize frame $[FVWM_MASTER_PIXWIDTH]p keep 1005 | + I All (CurrentPage, !iconic, AcceptsFocus, !State 1, !State 2) \ 1006 | PipeRead 'echo ResizeMove frame \ 1007 | $(( $[vp.width] - $[FVWM_MASTER_PIXWIDTH] ))p keep $[FVWM_MASTER_PIXWIDTH]p keep' 1008 | 1009 | ### Decreases width of master area 1010 | DestroyFunc DecreaseMasterWidth 1011 | AddToFunc DecreaseMasterWidth 1012 | + I Test (!EnvMatch FVWM_TILING_$[desk.n]-$[page.nx]-$[page.ny] 1) Break 1013 | + I Test (EnvMatch FVWM_MASTER_WIDTH 20) Break 1014 | + I None (CurrentPage, !State 1, !State 2, !iconic, AcceptsFocus) Break 1015 | + I PipeRead 'echo SetEnv FVWM_MASTER_WIDTH $(( $[FVWM_MASTER_WIDTH] - 5 ))' 1016 | + I Piperead 'echo SetEnv FVWM_MASTER_PIXWIDTH $(( $[FVWM_MASTER_WIDTH]*$[vp.width]/100 ))' 1017 | + I All (CurrentPage, !iconic, AcceptsFocus, State 1) \ 1018 | Resize frame $[FVWM_MASTER_PIXWIDTH]p keep 1019 | + I All (CurrentPage, !iconic, AcceptsFocus, !State 1, !State 2) \ 1020 | PipeRead 'echo ResizeMove frame \ 1021 | $(( $[vp.width] - $[FVWM_MASTER_PIXWIDTH] ))p keep $[FVWM_MASTER_PIXWIDTH]p keep' 1022 | 1023 | # 1024 | # Modules {{{1 1025 | # 1026 | 1027 | #----- Buttons {{{2 1028 | 1029 | DestroyModuleConfig FvwmButtons: * 1030 | *FvwmButtons: Colorset 8 1031 | #*FvwmButtons: Font "xft:Bitstream Vera Sans:style=Roman:size=7" 1032 | *FvwmButtons: Font "xft:sans:pixelsize=11" 1033 | *FvwmButtons: Columns $[vp.width] 1034 | *FvwmButtons: Rows 1 1035 | *FvwmButtons: Frame 0 1036 | *FvwmButtons: Padding 2 2 1037 | #*FvwmButtons: BoxSize smart 1038 | 1039 | 1040 | SetEnv text.width 85 1041 | PipeRead 'echo SetEnv pager.width $(( $[desk.pagesx]*$[vp.width]*$[FVWM_TB_HEIGHT]/$[vp.height] ))' 1042 | PipeRead 'echo SetEnv stalon.width $(( 4*$[FVWM_TB_HEIGHT] ))' 1043 | PipeRead 'echo SetEnv iconman.width $(( $[vp.width] - $[pager.width] - $[stalon.width] - $[FVWM_TB_HEIGHT] - $[text.width] ))' 1044 | *FvwmButtons: ($[pager.width]x1, Swallow (SwallowNew) FvwmPager 'FvwmPager *') 1045 | *FvwmButtons: ($[iconman.width]x1, Swallow (SwallowNew) FvwmIconMan 'FvwmIconMan') 1046 | *FvwmButtons: ($[stalon.width]x1, Swallow (Kill, UseOld) `stalonetray` `Exec \ 1047 | stalonetray --no-shrink --icon-gravity NE -p`) 1048 | #*FvwmButtons: (72x1, Swallow (Kill, UseOld) `stalonetray` `Exec \ 1049 | # stalonetray --no-shrink -geometry 72x$[FVWM_TB_HEIGHT] --icon-gravity NE -p`) 1050 | *FvwmButtons: ($[text.width]x1, Id Textfield, Title (Right) "Loading... ") 1051 | *FvwmButtons: ($[FVWM_TB_HEIGHT]x1, Id Layout, Icon tile18.png, Padding 0 0, \ 1052 | Action ToggleTiling) 1053 | 1054 | #----- Pager {{{2 1055 | 1056 | DestroyModuleConfig FvwmPager: * 1057 | *FvwmPager: Columns 1 1058 | *FvwmPager: UseSkipList 1059 | *FvwmPager: Font none 1060 | *FvwmPager: WindowLabelFormat "%i" 1061 | *FvwmPager: MoveThreshold 5 1062 | # --- Appearance --- 1063 | *FvwmPager: SolidSeparators 1064 | *FvwmPager: WindowBorderWidth 1 1065 | # --- Colorsets --- 1066 | *FvwmPager: Colorset * 8 1067 | *FvwmPager: HilightColorset * 9 1068 | *FvwmPager: WindowColorsets 8 9 1069 | *FvwmPager: BalloonColorset * 10 1070 | # --- Balloons --- 1071 | *FvwmPager: Balloons All 1072 | *FvwmPager: BalloonFont "xft:Bitstream Vera Sans:style=Roman:size=7" 1073 | *FvwmPager: BalloonYOffset +2 1074 | *FvwmPager: BalloonBorderWidth 1 1075 | 1076 | #----- Icon Manager {{{2 1077 | 1078 | DestroyModuleConfig FvwmIconMan: * 1079 | 1080 | *FvwmIconMan: Resolution Page 1081 | *FvwmIconMan: UseWinList True 1082 | *FvwmIconMan: ShowNoIcons False 1083 | *FvwmIconMan: ShowTransient False 1084 | *FvwmIconMan: DrawIcons Always 1085 | *FvwmIconMan: Sort Name 1086 | *FvwmIconMan: FollowFocus False 1087 | *FvwmIconMan: Format "%i" 1088 | *FvwmIconMan: Title "" 1089 | *FvwmIconMan: ButtonGeometry 1x$[FVWM_TB_HEIGHT] 1090 | *FvwmIconMan: ManagerGeometry 1x1 1091 | *FvwmIconMan: MaxButtonWidthByColumns 1 1092 | # --- Buttons --- 1093 | *FvwmIconMan: Font "xft:sans:pixelsize=11" 1094 | *FvwmIconMan: ReliefThickness 0 1095 | *FvwmIconMan: Colorset 8 1096 | *FvwmIconMan: FocusColorset 9 1097 | *FvwmIconMan: FocusAndSelectColorset 9 1098 | # --- Tips --- 1099 | *FvwmIconMan: Tips needed 1100 | *FvwmIconMan: TipsFormat "%i" 1101 | *FvwmIconMan: TipsDelays 500 200 1102 | *FvwmIconMan: TipsFont "xft:Verdana:pixelsize=11" 1103 | *FvwmIconMan: TipsBorderWidth 1 1104 | *FvwmIconMan: TipsColorset 10 1105 | *FvwmIconMan: TipsJustification leftup 1106 | # --- Actions --- 1107 | # disable default binding of "Iconify": 1108 | *FvwmIconMan: Action Mouse 0 N sendcommand Nop 1109 | *FvwmIconMan: Action Mouse 1 N SendCommand WindowListFunc 1110 | *FvwmIconMan: Action Mouse 2 N SendCommand Iconify 1111 | *FvwmIconMan: Action Mouse 2 M SendCommand Close 1112 | *FvwmIconMan: Action Mouse 3 N SendCommand \ 1113 | "Popup Window-Ops Rectangle +$left+$top 0 +$[FVWM_TB_HEIGHT]p" 1114 | 1115 | #----- Other Modules {{{2 1116 | 1117 | DestroyModuleConfig FvwmAnimate: * 1118 | *FvwmAnimate: Effect Flip 1119 | *FvwmAnimate: Delay 0 1120 | *FvwmAnimate: Iterations 60 1121 | *FvwmAnimate: Width 2 1122 | 1123 | DestroyModuleConfig FvwmIdent: * 1124 | *FvwmIdent: Colorset 10 1125 | *FvwmIdent: Font "xft:Tahoma:pixelsize=12:Bold" 1126 | 1127 | # vim: set fdm=marker ff=unix: 1128 | -------------------------------------------------------------------------------- /icons/application.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/application.png -------------------------------------------------------------------------------- /icons/firefox_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/firefox_.png -------------------------------------------------------------------------------- /icons/floating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/floating.png -------------------------------------------------------------------------------- /icons/floating18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/floating18.png -------------------------------------------------------------------------------- /icons/floatingw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/floatingw.png -------------------------------------------------------------------------------- /icons/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/folder.png -------------------------------------------------------------------------------- /icons/mini.bx2.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *mini_x2_xpm[] = { 3 | /* x y colors c/p */ 4 | "16 16 2 1", 5 | /* color def */ 6 | " s None c None", 7 | ". c black", 8 | /* bitmap */ 9 | " ", 10 | " ", 11 | " ", 12 | " ..... . ", 13 | " ..... . ", 14 | " ..... . ", 15 | " ..... . ", 16 | " ... . ", 17 | " . ... ", 18 | " . ..... ", 19 | " . ..... ", 20 | " . ..... ", 21 | " . ..... ", 22 | " ", 23 | " ", 24 | " ", 25 | " "}; 26 | 27 | -------------------------------------------------------------------------------- /icons/mplayer_.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * mplayer_xpm[] = { 3 | "16 16 91 1", 4 | " c None", 5 | ". c #32246A", 6 | "+ c #3A2A7D", 7 | "@ c #302368", 8 | "# c #3A2A7C", 9 | "$ c #857F9D", 10 | "% c #9088B6", 11 | "& c #9188B6", 12 | "* c #5C5286", 13 | "= c #645896", 14 | "- c #66599A", 15 | "; c #625698", 16 | "> c #413281", 17 | ", c #ADE2F4", 18 | "' c #FFFFFF", 19 | ") c #C3C1CA", 20 | "! c #0993C4", 21 | "~ c #EEF9FD", 22 | "{ c #0A96C9", 23 | "] c #F1FAFE", 24 | "^ c #0BAEE8", 25 | "/ c #F3FBFE", 26 | "( c #B1AACB", 27 | "_ c #C8C3DA", 28 | ": c #C6C2DA", 29 | "< c #948CB8", 30 | "[ c #C9C7D3", 31 | "} c #C7C7C7", 32 | "| c #0979A1", 33 | "1 c #0A9ED4", 34 | "2 c #F6FCFE", 35 | "3 c #847AAE", 36 | "4 c #685B9B", 37 | "5 c #8D84B4", 38 | "6 c #766AA4", 39 | "7 c #9693A2", 40 | "8 c #818181", 41 | "9 c #7C7C7C", 42 | "0 c #8E8E8E", 43 | "a c #969696", 44 | "b c #9E9E9E", 45 | "c c #717171", 46 | "d c #FAFBFC", 47 | "e c #0BA8E0", 48 | "f c #076C90", 49 | "g c #F9FDFE", 50 | "h c #DAD8E7", 51 | "i c #E6E4EE", 52 | "j c #D0CCE0", 53 | "k c #E5E2EE", 54 | "l c #DDDDDD", 55 | "m c #C8C8C8", 56 | "n c #C0C0C0", 57 | "o c #9A9A9A", 58 | "p c #C9C9C9", 59 | "q c #D9D9D9", 60 | "r c #EBEBEB", 61 | "s c #FCFEFF", 62 | "t c #F1F0F6", 63 | "u c #FEFEFE", 64 | "v c #0990C0", 65 | "w c #FAFBFB", 66 | "x c #EDEBF3", 67 | "y c #8C84B0", 68 | "z c #AFA9C9", 69 | "A c #978EBA", 70 | "B c #E0E2EE", 71 | "C c #0A9CD0", 72 | "D c #9793A9", 73 | "E c #F9F8FB", 74 | "F c #FCFCFE", 75 | "G c #FDFCFE", 76 | "H c #A49DC3", 77 | "I c #C8C8CA", 78 | "J c #272727", 79 | "K c #ACABAC", 80 | "L c #7A87B9", 81 | "M c #2D2062", 82 | "N c #352672", 83 | "O c #32246D", 84 | "P c #362673", 85 | "Q c #241A4F", 86 | "R c #554A82", 87 | "S c #CCCCCD", 88 | "T c #2B2B2B", 89 | "U c #BABABA", 90 | "V c #887FB1", 91 | "W c #847CA4", 92 | "X c #D6D3E3", 93 | "Y c #9A92B8", 94 | "Z c #201643", 95 | " ", 96 | " .+@# ", 97 | " $%&*=-----;> ", 98 | " ,'''''''''''') ", 99 | "!~''''''''''''' ", 100 | "{]''''''''''''' ", 101 | "^/(_:<[}'''''''|", 102 | "1234567890a0bcde", 103 | "fghijklmnobpqrs^", 104 | " s''''''''''tusv", 105 | " w''''''''xyzABC", 106 | " DEFG'''''HIJKL ", 107 | " M+++NO+PQRSTUV ", 108 | " WXY ", 109 | " Z ", 110 | " "}; 111 | -------------------------------------------------------------------------------- /icons/mutt.mini.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * mutt_mini_xpm[] = { 3 | "14 15 79 1", 4 | " c None", 5 | ". c #323132", 6 | "+ c #353335", 7 | "@ c #585758", 8 | "# c #8F8B78", 9 | "$ c #555452", 10 | "% c #212021", 11 | "& c #191819", 12 | "* c #000000", 13 | "= c #7A774D", 14 | "- c #A29F9B", 15 | "; c #535153", 16 | "> c #9E9A9E", 17 | ", c #C7C3C7", 18 | "' c #2C2B2C", 19 | ") c #1C1B1C", 20 | "! c #111011", 21 | "~ c #5D5B5D", 22 | "{ c #979497", 23 | "] c #706E70", 24 | "^ c #6F6C6F", 25 | "/ c #291529", 26 | "( c #5A5A5A", 27 | "_ c #636163", 28 | ": c #A9A5A9", 29 | "< c #B9B5B9", 30 | "[ c #B4B0B4", 31 | "} c #3A393A", 32 | "| c #8C898C", 33 | "1 c #590059", 34 | "2 c #C439C4", 35 | "3 c #858285", 36 | "4 c #D28587", 37 | "5 c #4C2627", 38 | "6 c #242324", 39 | "7 c #BFBBBF", 40 | "8 c #1A161A", 41 | "9 c #514051", 42 | "0 c #B6B3B6", 43 | "a c #B74546", 44 | "b c #BA5557", 45 | "c c #C4BEC1", 46 | "d c #7C7A7C", 47 | "e c #6C6A6C", 48 | "f c #C0BCC0", 49 | "g c #666466", 50 | "h c #7A777A", 51 | "i c #787678", 52 | "j c #552929", 53 | "k c #B15557", 54 | "l c #C1B0B4", 55 | "m c #ABA8AB", 56 | "n c #220000", 57 | "o c #613335", 58 | "p c #1A1A1A", 59 | "q c #B1ADB1", 60 | "r c #959295", 61 | "s c #908D90", 62 | "t c #827F82", 63 | "u c #AAA7AA", 64 | "v c #4F4D4F", 65 | "w c #464546", 66 | "x c #B2AFB2", 67 | "y c #8D8A8D", 68 | "z c #29292A", 69 | "A c #64666E", 70 | "B c #AEABAE", 71 | "C c #292929", 72 | "D c #BCB8BC", 73 | "E c #403E40", 74 | "F c #747274", 75 | "G c #A4A1A4", 76 | "H c #B8B4B8", 77 | "I c #2B2A2B", 78 | "J c #646264", 79 | "K c #C6C2C6", 80 | "L c #3E3D3E", 81 | "M c #5A585A", 82 | "N c #4C4A4C", 83 | " .+ ", 84 | " @#$ ", 85 | " %&*=- ", 86 | " ;.>,' ) ", 87 | " !~{,] ^'", 88 | "/(_:<,[} |'", 89 | "123,,,,45**67'", 90 | "897,,0abcdefg ", 91 | "'h,,ijkl,,,,m%", 92 | " }**no,,,,,,,'", 93 | " pq,,mr,s ", 94 | " &tuv^wxt ", 95 | " &^yzABCDE", 96 | " }FGH,I3JBKh", 97 | " Lehdd)MLddN"}; 98 | -------------------------------------------------------------------------------- /icons/opera_14x14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/opera_14x14.png -------------------------------------------------------------------------------- /icons/terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/terminal.png -------------------------------------------------------------------------------- /icons/tile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/tile.png -------------------------------------------------------------------------------- /icons/tile18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/tile18.png -------------------------------------------------------------------------------- /icons/tilebottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/tilebottom.png -------------------------------------------------------------------------------- /icons/tilebottomw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/tilebottomw.png -------------------------------------------------------------------------------- /icons/tilew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urob/fvwm-tiling/7d4627b22217f279d1b3750456b18f5c45fa5f58/icons/tilew.png -------------------------------------------------------------------------------- /icons/vim-16.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *magick[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 8 1", 5 | " c Gray0", 6 | ". c #000080", 7 | "X c #008000", 8 | "o c Green", 9 | "O c #808080", 10 | "+ c #c0c0c0", 11 | "@ c Gray100", 12 | "# c None", 13 | /* pixels */ 14 | "## o # ##", 15 | "# @@@@@ X @@@@ #", 16 | "# +++++O ++++O ", 17 | "## +++O X @++O #", 18 | "## +++O @++O ##", 19 | "## +++O @++O ##", 20 | "#o +++O@++O XX #", 21 | "oX +++@++O XXXX ", 22 | " X +++++ XXXX.#", 23 | "# ++++ + X ##", 24 | "## ++++ ++ + #", 25 | "## +++ ++ +++++ ", 26 | "## ++O + + + + ", 27 | "## +O X + + + + ", 28 | "### # ++ + + + ", 29 | "####### # # # #" 30 | }; 31 | -------------------------------------------------------------------------------- /screenrc.bgc: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------------ 2 | # SCREEN SETTINGS FOR BACKGROUND CONSOLE 3 | # ------------------------------------------------------------------------------ 4 | 5 | startup_message off 6 | deflogin on 7 | vbell on 8 | vbell_msg " Wuff ---- Wuff!! " 9 | defscrollback 10000 10 | altscreen on 11 | 12 | bind ^k 13 | bind ^\ 14 | bind s caption always 15 | bind S caption splitonly 16 | 17 | #shelltitle ' |bash' # changes dynamically via .bashrc 18 | hardstatus off # use caption line for screen messages 19 | hardstatus lastline "%h" # use hardstatus defined by .bashrc 20 | caption always "%?%F%{= lk}%:%{=u dr}%? %H%=< %-Lw%{= rk}%50>%n%f %t%{-}%+Lw > %{= dd}%<" 21 | 22 | termcapinfo vt100 dl=5\E[M 23 | termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007 24 | termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' 25 | termcapinfo xterm*|linux*|rxvt*|Eterm* OP 26 | termcapinfo xterm|xterms|xs|rxvt ti@:te@ 27 | defnonblock 5 28 | 29 | # ------------------------------------------------------------------------------ 30 | # STARTUP SCREENS 31 | # ------------------------------------------------------------------------------ 32 | 33 | #screen -t mail 0 alpine 34 | 35 | -------------------------------------------------------------------------------- /themes/e16: -------------------------------------------------------------------------------- 1 | # ============================================================================= 2 | # File: e16 3 | # Author: Robert Ulbricht 4 | # Created: Mär 21 2009, 18:20:34 5 | # 6 | # Description: e16-like colors for fvwm 7 | # Last Change: Aug 15 2011, 11:41:13 8 | # ============================================================================= 9 | 10 | #Exec exec xsetroot -solid "#718671" 11 | Exec exec xsetroot -solid "#abb0b7" 12 | CleanupColorsets 13 | 14 | # used in fvwm built-in windows (eg. geometry feedback win when resizing) 15 | DefaultColors #000000 #f8f8f8 16 | 17 | # Menu Colorset (=0) and active menu item (=1): 18 | # hi & sh of colorset 0 define border color of menu 19 | # (computed automatically if undefined) 20 | Colorset 0 fg black, bg #f8f8f8 21 | Colorset 1 fg black, bg #d9d9d9 22 | 23 | # Normal (=2) and Highlight (=3) Colorset: 24 | # fg is color of font in window decor, bg is border of buttons in window decor 25 | # sh is background of buttons in window decor, hi is background of buttons 26 | # in window decor which have a mwm hint (eg max buttong when being maximized) 27 | Colorset 2 fg #f8f8f8, bg black, sh #d9d9d9, hi #f8f8f8 28 | Colorset 3 fg #000000, bg black, sh #d9d9d9, hi #f8f8f8 29 | 30 | # Normal (=4) and Highlight (=5) Border Colorset 31 | Colorset 4 bg #333333 32 | Colorset 5 bg #f8f8f8 33 | 34 | # Normal (=6) and Highlight (=7) WindowTitle Colorset 35 | # only bg is used (as bg of titlebar) 36 | Colorset 6 VGradient 256 #f8fcf8 #f0f0f0 37 | Colorset 7 VGradient 256 #f8fcf8 #f0f0f0 38 | 39 | # Buttons, IconMan and Pager 40 | Colorset 8 fg #000000, bg #f8f8f8 41 | Colorset 9 fg #000000, bg #d9d9d9 42 | #Colorset 8 fg #000000, bg #d9d9d9 43 | #Colorset 9 fg #000000, bg #abb0b7 44 | 45 | # Balloons and Tips in IconMan and Pager 46 | Colorset 10 fg black, bg #f8f8f8 47 | -------------------------------------------------------------------------------- /themes/vista: -------------------------------------------------------------------------------- 1 | # ============================================================================= 2 | # File: vista 3 | # Author: Robert Ulbricht 4 | # Created: Mär 21 2009, 18:32:31 5 | # 6 | # Description: vista-like colors for fvwm 7 | # Last Change: Aug 15 2011, 11:41:28 8 | # ============================================================================= 9 | 10 | Exec exec xsetroot -solid "#3b6ea4" 11 | CleanupColorsets 12 | 13 | # used in fvwm built-in windows (eg. geometry feedback win when resizing) 14 | DefaultColors #000000 #d4d0c8 15 | 16 | # Menu Colorset (=0) and active menu item (=1): 17 | # hi & sh of colorset 0 define border color of menu 18 | # (computed automatically if undefined) 19 | Colorset 0 fg black, bg white 20 | Colorset 1 fg white, VGradient 200 4 #DCDDDF 5 #B5BCC6 15 #7C8BA8 70 #B3BED4 10 #B6B2B3 21 | 22 | # Normal (=2) and Highlight (=3) Colorset: 23 | # fg is color of font in window decor, bg is border of buttons in window decor 24 | # sh is background of buttons in window decor, hi is background of buttons 25 | # in window decor which have a mwm hint (eg max buttong when being maximized) 26 | Colorset 2 fg #d4d0c8, bg black, sh #d4d0c8, hi #999999 27 | Colorset 3 fg #ffffff, bg black, sh #d4d0c8, hi #999999 28 | 29 | # Normal (=4) and Highlight (=5) Border Colorset 30 | Colorset 4 bg #7C8BA8 31 | Colorset 5 bg #fcfcfc 32 | 33 | # Normal (=6) and Highlight (=7) WindowTitle Colorset 34 | # only bg is used (as bg of titlebar) 35 | #Colorset 6 DGradient 256 #74BD74 #3F699B 36 | Colorset 6 HGradient 1000 4 #DCDDDF 5 #B5BCC6 15 #7C8BA8 70 #B3BED4 10 #B6B2B3 37 | Colorset 7 HGradient 1000 4 #DCDDDF 5 #B5BCC6 15 #7C8BA8 70 #B3BED4 10 #B6B2B3 38 | 39 | # Buttons, IconMan and Pager 40 | Colorset 8 fg #000000, VGradient 200 4 #DCDDDF 5 #B5BCC6 15 #7C8BA8 70 #B3BED4 10 #B6B2B3 41 | Colorset 9 fg #000000, VGradient 200 4 #fcfcfc 5 #DCDDDF 15 #B6B2B3 70 #fcfcfc 10 #ffffff 42 | 43 | # Balloons and Tips in IconMan and Pager 44 | Colorset 10 fg black, bg #fcffe2 45 | -------------------------------------------------------------------------------- /themes/windows: -------------------------------------------------------------------------------- 1 | # ============================================================================= 2 | # File: windows 3 | # Author: Robert Ulbricht 4 | # Created: Mär 21 2009, 18:32:31 5 | # 6 | # Description: windows classic-like colors for fvwm 7 | # Last Change: Aug 15 2011, 11:41:47 8 | # ============================================================================= 9 | 10 | Exec exec xsetroot -solid "#3b6ea4" 11 | CleanupColorsets 12 | 13 | # used in fvwm built-in windows (eg. geometry feedback win when resizing) 14 | DefaultColors #000000 #d4d0c8 15 | 16 | # Menu Colorset (=0) and active menu item (=1): 17 | # hi & sh of colorset 0 define border color of menu 18 | # (computed automatically if undefined) 19 | Colorset 0 fg black, bg #d4d0c8 20 | Colorset 1 fg white, bg #0a246a 21 | 22 | # Normal (=2) and Highlight (=3) Colorset: 23 | # fg is color of font in window decor, bg is border of buttons in window decor 24 | # sh is background of buttons in window decor, hi is background of buttons 25 | # in window decor which have a mwm hint (eg max buttong when being maximized) 26 | Colorset 2 fg #d4d0c8, bg black, sh #d4d0c8, hi #999999 27 | Colorset 3 fg #ffffff, bg black, sh #d4d0c8, hi #999999 28 | 29 | # Normal (=4) and Highlight (=5) Border Colorset 30 | Colorset 4 bg #333333 31 | Colorset 5 bg #fcfcfc 32 | 33 | # Normal (=6) and Highlight (=7) WindowTitle Colorset 34 | # only bg is used (as bg of titlebar) 35 | Colorset 6 HGradient 256 #808080 #d4d0c8 36 | Colorset 7 HGradient 256 #0a246a #a6caf0 37 | 38 | # Buttons, IconMan and Pager 39 | Colorset 8 fg #000000, bg #d4d0c8 40 | Colorset 9 fg #000000, bg #fcfcfc 41 | 42 | # Balloons and Tips in IconMan and Pager 43 | Colorset 10 fg black, bg #fcffe2 44 | -------------------------------------------------------------------------------- /themes/windows2: -------------------------------------------------------------------------------- 1 | # ============================================================================= 2 | # File: windows2 3 | # Author: Robert Ulbricht 4 | # Created: Mär 21 2009, 18:32:31 5 | # 6 | # Description: windows classic-like colors for fvwm 7 | # Last Change: Aug 15 2011, 11:42:00 8 | # ============================================================================= 9 | 10 | #Exec exec xsetroot -solid "#545454" 11 | Exec exec xsetroot -solid "#abb0b7" 12 | CleanupColorsets 13 | 14 | # used in fvwm built-in windows (eg. geometry feedback win when resizing) 15 | DefaultColors #000000 #d4d0c8 16 | 17 | # Menu Colorset (=0) and active menu item (=1): 18 | # hi & sh of colorset 0 define border color of menu 19 | # (computed automatically if undefined) 20 | Colorset 0 fg black, bg #d4d0c8 21 | Colorset 1 fg white, bg #3b6ea4 22 | #Colorset 1 fg white, bg #0a246a 23 | 24 | # Normal (=2) and Highlight (=3) Colorset: 25 | # fg is color of font in window decor, bg is border of buttons in window decor 26 | # sh is background of buttons in window decor, hi is background of buttons 27 | # in window decor which have a mwm hint (eg max buttong when being maximized) 28 | Colorset 2 fg #d4d0c8, bg black, sh #d4d0c8, hi #999999 29 | Colorset 3 fg #ffffff, bg black, sh #d4d0c8, hi #999999 30 | 31 | # Normal (=4) and Highlight (=5) Border Colorset 32 | Colorset 4 bg #333333 33 | Colorset 5 bg #3b6ea4 34 | 35 | # Normal (=6) and Highlight (=7) WindowTitle Colorset 36 | # only bg is used (as bg of titlebar) 37 | Colorset 6 HGradient 256 #808080 #d4d0c8 38 | Colorset 7 HGradient 256 #3b6ea4 #a6caf0 39 | #Colorset 7 HGradient 256 #0a246a #a6caf0 40 | 41 | # Buttons, IconMan and Pager 42 | Colorset 8 fg #000000, bg #d4d0c8 43 | Colorset 9 fg #ffffff, bg #3b6ea4 44 | 45 | # Balloons and Tips in IconMan and Pager 46 | Colorset 10 fg black, bg #fcffe2 47 | -------------------------------------------------------------------------------- /themes/zenburn: -------------------------------------------------------------------------------- 1 | # ============================================================================= 2 | # File: zenburn 3 | # Author: Robert Ulbricht 4 | # Created: Mär 21 2009, 18:20:34 5 | # 6 | # Description: zenburn colors for fvwm 7 | # Last Change: Aug 15 2011, 11:42:10 8 | # ============================================================================= 9 | 10 | Exec exec xsetroot -solid "#545454" 11 | CleanupColorsets 12 | 13 | # used in fvwm built-in windows (eg. geometry feedback win when resizing) 14 | DefaultColors #000000 #eec900 15 | 16 | # Menu Colorset (=0) and active menu item (=1): 17 | # hi & sh of colorset 0 define border color of menu 18 | # (computed automatically if undefined) 19 | Colorset 0 fg black, bg #dadada 20 | Colorset 1 fg black, bg #808080 21 | #Colorset 0 fg #bbbbbb, bg #333333, hi #eec900, sh #eec900 22 | #Colorset 1 fg #000000, bg #eec900 23 | 24 | # Normal (=2) and Highlight (=3) Colorset: 25 | # fg is color of font in window decor, bg is border of buttons in window decor 26 | # sh is background of buttons in window decor, hi is background of buttons 27 | # in window decor which have a mwm hint (eg max buttong when being maximized) 28 | Colorset 2 fg #d4d0c8, bg black, sh #d4d0c8, hi #999999 29 | Colorset 3 fg white, bg black, sh #d4d0c8, hi #999999 30 | 31 | # Normal (=4) and Highlight (=5) Border Colorset 32 | Colorset 4 bg #333333 33 | Colorset 5 bg #eec900 34 | 35 | # Normal (=6) and Highlight (=7) WindowTitle Colorset 36 | # only bg is used (as bg of titlebar) 37 | Colorset 6 HGradient 256 #555555 #eec900 38 | Colorset 7 HGradient 256 #555555 #eec900 39 | 40 | # Buttons, IconMan and Pager 41 | Colorset 8 fg #bbbbbb, bg #333333 42 | Colorset 9 fg #000000, bg #eec900 43 | 44 | # Balloons and Tips in IconMan and Pager 45 | Colorset 10 fg black, bg #dadada 46 | --------------------------------------------------------------------------------