########################### # BASIC WINDOW OPERATIONS # ########################### DestroyFunc FvwmWindowAutoMaximize AddToFunc FvwmWindowAutoMaximize + I ThisWindow ('nephilim.py|Navigator') FvwmWindowMaximizeNoClick 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 FvwmWindowResize AddToFunc FvwmWindowResize + C Resize 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 FvwmWindowDestroy AddToFunc FvwmWindowDestroy + C Destroy + H Nop DestroyFunc jiggle AddToFunc jiggle + I PipeRead "for y in `seq $0 -1 0`; do printf 'AnimatedMove w+%up w+%up\\nAnimatedMove w-%up w-%up\\n' ${y} ${y} ${y} ${y}; done" 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 ########################### # CONFIGURATION FUNCTIONS # ########################### 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 Exec '$[FVWM_USERDIR]/scripts/random_wallpaper.py' '$[infostore.wallpaperdir]' DestroyFunc MPDControl AddToFunc MPDControl + I Exec mpc -q $* # update desk_min/max for a given window # this needs to be in a separate function from UpdateNumDesks, # so that all the variables get updated on each invocation of the script DestroyFunc UpdateNumDesksForWindow AddToFunc UpdateNumDesksForWindow + I PipeRead '\ if [ $[w.desk] -lt $[infostore.desk_min] ]; then \ echo InfoStoreAdd desk_min $[w.desk]; \ fi; \ if [ $[w.desk] -gt $[infostore.desk_max] ]; then \ echo InfoStoreAdd desk_max $[w.desk]; \ fi \ ' DestroyFunc UpdateNumDesks AddToFunc UpdateNumDesks + I InfoStoreAdd desk_min 0 + I InfoStoreAdd desk_max 0 + I NoWindow All (!StickyAcrossDesks) UpdateNumDesksForWindow DestroyFunc UpdateCurDesk AddToFunc UpdateCurDesk + I InfoStoreAdd last_page_$[desk.n] $[page.ny] DestroyFunc WrapperGotoPage AddToFunc WrapperGotoPage + I PipeRead '$[FVWM_USERDIR]/scripts/goto_desk_page.py $0 $[infostore.last_page_$0] $[page.ny]' DestroyFunc DeskNext AddToFunc DeskNext + I UpdateNumDesks + I UpdateCurDesk + I PipeRead '$[FVWM_USERDIR]/scripts/calc_desk.py $[desk.n] inc $[infostore.desk_min] $[infostore.desk_max]' + I WrapperGotoPage $[infostore.target_desk] DestroyFunc DeskPrev AddToFunc DeskPrev + I UpdateNumDesks + I UpdateCurDesk + I PipeRead '$[FVWM_USERDIR]/scripts/calc_desk.py $[desk.n] dec $[infostore.desk_min] $[infostore.desk_max]' + I WrapperGotoPage $[infostore.target_desk] DestroyFunc FormDeskName AddToFunc FormDeskName + I Module FvwmForm FormDeskName DESK=$[desk.n] DestroyFunc DeskGoto AddToFunc DeskGoto + I UpdateCurDesk + I WrapperGotoPage $0 ############################ #Don't steal focus DestroyFunc UrgencyFunc AddToFunc UrgencyFunc + I Nop DestroyFunc EWMHActivateWindowFunc AddToFunc EWMHActivateWindowFunc + I Nop