########################### # BASIC WINDOW OPERATIONS # ########################### DestroyFunc FvwmWindowTitleClick AddToFunc FvwmWindowTitleClick + I Focus + I Raise + M FvwmWindowMove + D FvwmWindowMaximize DestroyFunc FvwmWindowMaximize AddToFunc FvwmWindowMaximize + C ThisWindow (!shaded, !maximized) WindowStyle !Borders, ResizeHintOverride, !Title + C ThisWindow (maximized) DestroyWindowStyle + C UpdateStyles + C Maximize $0 $1 DestroyFunc FvwmWindowMaximizeNoClick AddToFunc FvwmWindowMaximizeNoClick + I ThisWindow (!shaded, !maximized) WindowStyle !Borders, ResizeHintOverride, !Title + I ThisWindow (maximized) DestroyWindowStyle + I UpdateStyles + I Maximize $0 $1 $2 DestroyFunc FvwmCheckSizeAndMaximizeIfBigWindow AddToFunc FvwmCheckSizeAndMaximizeIfBigWindow + I SetEnv w_height $[w.height] + I Piperead 'echo SetEnv i $(($[height]-$[Y_offset]))' + I Piperead 'if [ "$[i]" -lt "$[w_height]" ]; then echo FvwmWindowMaximizeNoClick; fi' + I ThisWindow (FvwmWallpaperChanger) FvwmWindowMaximizeNoClick + I UnsetEnv w_height + I UnsetEnv i DestroyFunc FvwmSetWindowTitle AddToFunc FvwmSetWindowTitle + I SendToModule FvwmTaskBeer ChangeButton WindowTitle Title $[w.name] DestroyFunc FvwmWindowResize AddToFunc FvwmWindowResize + C Resize DestroyFunc FvwmWindowIconify AddToFunc FvwmWindowIconify + C Thumbnail #+ C Iconify $0 DestroyFunc FvwmWindowIconifyNoClick AddToFunc FvwmWindowIconifyNoClick + I Thumbnail DestroyFunc FvwmWindowMove AddToFunc FvwmWindowMove + M ThisWindow (maximized) DestroyWindowStyle + M UpdateStyles + M Maximize False + M Raise + M Move DestroyFunc FvwmWindowClose AddToFunc FvwmWindowClose + C Close + H Nop DestroyFunc FvwmWindowCloseNoClick AddToFunc FvwmWindowCloseNoClick + I Close DestroyFunc FvwmWindowDestroy AddToFunc FvwmWindowDestroy + C Destroy + H Nop DestroyFunc WindowListFunc AddToFunc WindowListFunc + I Iconify off + I FlipFocus + I Raise + I WarpToWindow 50 50 DestroyFunc CentreWindow AddToFunc CentreWindow + I SetEnv vp_width $[vp.width] + I SetEnv vp_height $[vp.height] + I SetEnv w_width $[w.width] + I SetEnv w_height $[w.height] + I PipeRead `echo $2Move screen c $$(((($[vp_width]-$[w_width])/2)-$0))p $$(((($[vp_height]-$[w_height])/2)-$1))p Warp` + I UnsetEnv vp_width + I UnsetEnv vp_height + I UnsetEnv w_width + I UnsetEnv w_height DestroyFunc jiggle AddToFunc jiggle + I PipeRead "for ((y=$0;y>=0;y--)) do printf 'AnimatedMove w+%up w+%up\\nAnimatedMove w-%up w-%up\\n' ${y} ${y} ${y} ${y}; done" DestroyFunc toggle_prog AddToFunc toggle_prog + I None ($0, CirculateHit) Exec exec $1 + I Next ($0, CirculateHit) Close DestroyFunc next_window_in_page AddToFunc next_window_in_page + I Raise + I FlipFocus + I WarpToWindow 50 50 + I ThisWindow (!maximized, !SDL_App) Jiggle 2 DestroyFunc FvwmNextWindowInPage AddToFunc FvwmNextWindowInPage + I Next (CurrentPage, AcceptsFocus, !gkrellm, !FvwmTaskbar) Raise + I Next (CurrentPage, AcceptsFocus, !gkrellm, !FvwmTaskbar) Focus DestroyFunc FvwmPrevWindowInPage AddToFunc FvwmPrevWindowInPage + I Prev (CurrentPage, AcceptsFocus, !gkrellm, !FvwmTaskbar) Focus + I Prev (CurrentPage, AcceptsFocus, !gkrellm, !FvwmTaskbar) Raise DestroyFunc page_info AddToFunc page_info + I All (PageInfo) Close + I DestroyModuleConfig PageInfo: * + I Piperead 'echo SetEnv y $((($[height]-50-$[Y_offset])/2))' + I Piperead 'echo SetEnv x $((($[width]-100-$[X_offset])/2))' + I Style PageInfo !Title, BorderWidth 0, HandleWidth 0, WindowListSkip + I *PageInfo: Geometry 100x50+$[x]+$[y] + I *PageInfo: Colorset 6 + I *PageInfo: Font $[ThemeTitleFont] + I *PageInfo: (Title 'Page: $[page.nx],$[page.ny]', Action (Mouse 1) Nop) + I Module FvwmButtons PageInfo + I Wait PageInfo + I Schedule 500 All (PageInfo) Close + I UnsetEnv x + I UnsetEnv y ########################### # CONFIGURATION FUNCTIONS # ########################### DestroyFunc ChangeFocusPolicy AddToFunc ChangeFocusPolicy + I Piperead `echo SetEnv focus_policy $0 && echo $0 > $[FVWM_USERDIR]/config-options/focus_policy` + I Read $[FVWM_USERDIR]/styles.config + I Read $[FVWM_USERDIR]/menu/menu_Data.config DestroyFunc Fullscreen AddToFunc Fullscreen + I ThisWindow (Maximized) Fullscreen-Stop + I TestRc (False) ThisWindow (!Maximized) Fullscreen-Start DestroyFunc Fullscreen-Start AddToFunc Fullscreen-Start + I WindowStyle !Title, !Borders, !Iconifiable, ResizeHintOverride + I UpdateStyles + I Maximize ewmhiwa 100 100 + I WindowStyle !Maximizable, FixedSize, FixedPosition + I UpdateStyles DestroyFunc Fullscreen-Stop AddToFunc Fullscreen-Stop + I DestroyWindowStyle + I UpdateStyles + I ThisWindow (Maximized) Maximize DestroyFunc SlideshowOff AddToFunc SlideshowOff + I SetEnv slideshow 0 + I Deschedule 1 DestroyFunc SlideshowOn AddToFunc SlideshowOn + I SetEnv slideshow 1 + I Deschedule 1 + I Schedule Periodic 3600000 1 RandomWall DestroyFunc RandomWall AddToFunc RandomWall + I Piperead '$[FVWM_USERDIR]/scripts/random_wallpaper.sh' + I Refresh DestroyFunc ChangeColorset AddToFunc ChangeColorset + I Piperead 'ln -sf "$0" $[FVWM_USERDIR]/colorsets/.colorset' + I Read $[FVWM_USERDIR]/colorsets/.colorset + I Restart DestroyFunc ChangePanel AddToFunc ChangePanel + I Piperead 'ln -sf "$0" $[FVWM_USERDIR]/panels/.panel' + I Read $[FVWM_USERDIR]/panels/.panel + I Restart DestroyFunc ChangeFonttheme AddToFunc ChangeFonttheme + I Piperead 'ln -sf "$0" $[FVWM_USERDIR]/fontthemes/.fonttheme' + I Read $[FVWM_USERDIR]/fontthemes/.fonttheme + I Restart DestroyFunc ChangeDecoration AddToFunc ChangeDecoration + I Piperead 'ln -sf "$0" $[FVWM_USERDIR]/decorations/.decoration' + I Read $[FVWM_USERDIR]/decorations/.decoration + I Restart # The autohiding functions AddToFunc autohide + I ThisWindow ($0) Deschedule $[w.id] + I ThisWindow ($0) KeepRc ThisWindow (shaded) WindowShade off + I TestRc (!Match) All ($0, !shaded) autohide_hide $1 $2 AddToFunc autohide_hide + I Schedule $0 $[w.id] WindowShade $1 + I Schedule $0 $[w.id] Deschedule $[w.id] # Add the windows you want to autohide AddToFunc enter_handler + I autohide FvwmIconbar 100 W DestroyFunc Thumbnail AddToFunc Thumbnail + I Raise + I ThisWindow (!Iconic) SetEnv Icon-$[w.id] $[w.iconfile] + I ThisWindow (!Shaded, Iconifiable, !Iconic) Piperead \ "xwd -silent -id $[w.id] > $[FVWM_USERDIR]/tmp/icon.tmp.$[w.id].xwd" + I Iconify + I Exec convert $[FVWM_USERDIR]/tmp/icon.tmp.$[w.id].xwd -scale 128 -frame 1x1 \ -mattecolor black -quality 0 png:$[FVWM_USERDIR]/tmp/icon.tmp.$[w.id].png && \ FvwmCommand "WindowId $[w.id] WindowStyle IconOverride, Icon $[FVWM_USERDIR]/tmp/icon.tmp.$[w.id].png" DestroyFunc DeThumbnail AddToFunc DeThumbnail + I PipeRead "echo Test \\(i \\$\\[Icon-$[w.id]\\]\\) WindowStyle Icon \\$\\[Icon-$[w.id]\\]" + I TestRc (NoMatch) WindowStyle NoIconOverride, Icon + I Exec rm -f $[FVWM_USERDIR]/tmp/icon.tmp.$[w.id].png + I All (Iconic, CurrentPage) PlaceAgain icon + I UnsetEnv Icon-$[w.id] DestroyFunc MPDControl AddToFunc MPDControl + I Exec echo -e "$0\nclose"|nc localhost 6600