# TopLine desktop (former "1.1"
# Written by: Maciej Delmanowski <harnir@post.pl>
#
# You can use folding to navigate this file
# ImagePath {{{1
SetEnv Icon_Theme "Default"
ImagePath /usr/share/icons/crystalsvg:$[FVWM_USERDIR]/icons/$[Icon_Theme]:$[FVWM_SYSTEMDIR]/icons/$[Icon_Theme]
# Includes and FVWM modules {{{1
Module FvwmCommandS
# Default FVWM-Crystal functions, initialization {{{2
Include components/desktop/FVWM-Crystal_Functions
Include components/functions/Clear-FVWM-Settings
Include components/desktop/FVWM-Crystal_Preferences
Include components/desktop/dakkar_Preferences
Append preferences/Startup
# Preferred applications {{{2
#Include components/functions/Screenshot-import
Include components/apps/XScreenSaver
Include components/apps/FvwmMiniConsole
Include components/apps/QuakeConsole
Include components/functions/NotificationAreaManager-$[NotificationAreaManager]
Include preferences/NotificationArea-Width
Include components/functions/Music-$[MusicPlayer]
# Desktop & window bindings {{{2
Include components/bindings/Desktop-RMB-OpenTerminal
Include components/bindings/Desktop-MMB-TogglePanels
Include components/bindings/Desktop-dakkar
Include components/bindings/Window-Basic
Include components/bindings/Window-Border
Include components/functions/Screen-Menu
# Keyboard bindings {{{2
Include components/desktop/Keyboard
#Include components/desktop/Keyboard_NumLock
#Include components/desktop/Numpad
# Use window thumbnails instead of simple icons on the desktop {{{2
Include components/desktop/Icon-Thumbnails
SetEnv ThumbWidth 192
SetEnv ThumbHeight 192
# Various styles {{{2
Include components/desktop/FVWM-Crystal_Styles
Include components/styles/CursorStyle-Border
Style * DecorateTransient, StackTransientParent
Style * MinOverlapPlacementPenalties 1 0 0 0 0 50
# Desktop settings {{{1
EdgeScroll 100 100
EdgeResistance 250 1 30
HideGeometryWindow Never
OpaqueMoveSize 100
EdgeThickness 1
SnapAttraction 10 SameType Screen
EWMH-Desktop 3 3 3 3
EWMH-Panel-Top 30
## rotations {{{2
DestroyFunc LandscapeDisplay
AddToFunc LandscapeDisplay
+ I Exec xrandr -o normal -s 2800x1050
+ I Exec ROX-set-horizontal
+ I Restart
DestroyFunc PortraitDisplay
AddToFunc PortraitDisplay
+ I Exec xrandr -o left -s 1400x2100
+ I Exec ROX-set-vertical
+ I Restart
AddToFunc StartFunction
+ I Style mwatch !FixedPosition
+ I Style gkrellm !FixedPosition
+ I UpdateStyles
+ I All (mwatch) Move -0 +30p
+ I All (gkrellm) Move -0 -0
+ I Style mwatch FixedPosition
+ I Style gkrellm FixedPosition
DestroyMenu /Orientation
AddToMenu /Orientation
+ 'Landscape' LandscapeDisplay
+ 'Portrait' PortraitDisplay
## }}}2
# Main menu panel {{{1
All (FvwmButtons-Panel) Close
DestroyModuleConfig FvwmButtons-Panel: *
*FvwmButtons-Panel: Geometry -3+3@g
*FvwmButtons-Panel: BoxSize smart
*FvwmButtons-Panel: ActiveColorset $[cs_panel_active]
*FvwmButtons-Panel: Colorset $[cs_panel_inactive]
*FvwmButtons-Panel: Rows 1
*FvwmButtons-Panel: Padding 1 1
*FvwmButtons-Panel: Frame 0
*FvwmButtons-Panel: (7x1, Size 165 24, Swallow (Close, Respawn, FvwmModule) "FvwmScript-Clock-dakkar")
# Music controls {{{2
*FvwmButtons-Panel: (1x1, Size 22 22, Icon "22x22/fvwm-crystal/media-skip-forward.png", \
Action (Mouse 1) Music-Next, \
Action (Mouse 2) Nop, \
Action (Mouse 3) Music-Prev, \
Action (Mouse 4) Music-Forward, \
Action (Mouse 5) Music-Backward)
# Main music button, with some menus {{{2
*FvwmButtons-Panel: (1x1, Size 22 22, Icon "22x22/fvwm-crystal/media-playback-start.png", \
Action (Mouse 1) Menu /Music $[MenuPosition_SW], \
Action (Mouse 2) Music-GUI, \
Action (Mouse 3) Music-PlayPause, \
Action (Mouse 4) Mixer-Volume-Up 10, \
Action (Mouse 5) Mixer-Volume-Down 10)
# Window list {{{2
*FvwmButtons-Panel: (1x1, Icon "22x22/fvwm-crystal/window-list.png", \
Action (Mouse 1) Window-List "$[MenuPosition_SW]", \
Action (Mouse 2) All (CurrentPage) PlaceAgain anim, \
Action (Mouse 3) Window-List-Icons "$[MenuPosition_SW]")
# diamond {{{2
*FvwmButtons-Panel: (1x1, Size 22 22, Icon "22x22/fvwm-crystal/fvwm-crystal.png", \
Action (Mouse 1) Menu /FVWM-Crystal $[MenuPosition_SW], \
Action (Mouse 3) Wallpaper-Random $[FVWM_SYSTEMDIR]/wallpapers $[FVWM_USERDIR]/wallpapers ~/wallpapers /usr/local/share/wallpapers /usr/share/wallpapers)
# Main "diamond" menu {{{2
DestroyMenu /FVWM-Crystal
AddToMenu /FVWM-Crystal
+ '%22x22/fvwm-crystal/preferences-desktop-screensaver.png%$[gt.Screensaver]' Popup /Screensaver
#+ '%22x22/fvwm-crystal/preferences-desktop-theme.png%$[gt.Window decorations]' Popup /Window-Decorations
+ '%22x22/fvwm-crystal/colorsets.png%$[gt.Colorsets]' Popup /Colorsets
+ '%22x22/fvwm-crystal/preferences-desktop-wallpaper.png%$[gt.Wallpaper]' Popup /Wallpaper
+ '%22x22/fvwm-crystal/preferences-desktop.png%$[gt.Preferences]' Popup /Preferences
+ '%22x22/apps/display.png%$[gt.Screen orientation]' Popup /Orientation
#+ "" Nop
#+ '%22x22/fvwm-crystal/applications-development.png%$[gt.Developer menu]' Popup /Developer
+ '%22x22/fvwm-crystal/fvwm-crystal.png%$[gt.About FVWM-Crystal]' Include components/functions/About
+ '%22x22/fvwm-crystal/system-log-out.png%$[gt.Exit]' Popup /Exit
# }}}2
Module FvwmButtons FvwmButtons-Panel
Script components/scripts/FvwmScript-Clock-dakkar
# Applications panel and menu generator {{{1
All (ApplicationPanel) Close
DestroyModuleConfig ApplicationPanel: *
*ApplicationPanel: Geometry +3+3@g
*ApplicationPanel: BoxSize smart
*ApplicationPanel: ActiveColorset $[cs_panel_active]
*ApplicationPanel: Colorset $[cs_panel_inactive]
*ApplicationPanel: Rows 1
*ApplicationPanel: Padding 1 1
*ApplicationPanel: Frame 0
# fvwm-crystal.apps {{{2
# This creates the distribution-based panel button - defaut distribution
# icon, only menu is opened (no default app on the panel)
PipeRead 'fvwm-crystal.apps --database=$[FVWM_DISTROMENUDIR]/Applications --database=$[FVWM_SYSTEMDIR]/Applications --database=$[FVWM_USERDIR]/Applications --with=/Applications/$[FVWM_DISTROMENUNAME] --search-icons-in=$[FVWM_USERDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_USERDIR]/icons/$[Icon_Theme]/22x22/apps:$[FVWM_SYSTEMDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_SYSTEMDIR]/icons/$[Icon_Theme]/22x22/apps:$[FVWM_DISTROMENUDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_DISTROMENUDIR]/icons/$[Icon_Theme]/22x22/apps --default-file-icon=22x22/apps/default.png --default-dir-icon=22x22/categories/directory.png --min-submenu-length=5 --sort=prio --panel-icons=standard --panel-action1=menu --panel-action2=none --panel-action3=menu --menu-pos=S --menuname-suffix="Panel" --check-execs'
# This creates the main panel with applications - default app icon is
# shown on the panel, and can be launched using RMB; LMB opens the app
# category menu
PipeRead 'fvwm-crystal.apps --database=$[FVWM_DISTROMENUDIR]/Applications --database=$[FVWM_SYSTEMDIR]/Applications --database=$[FVWM_USERDIR]/Applications --without=/Applications/$[FVWM_DISTROMENUNAME] --search-icons-in=$[FVWM_USERDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_USERDIR]/icons/$[Icon_Theme]/22x22/apps:$[FVWM_SYSTEMDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_SYSTEMDIR]/icons/$[Icon_Theme]/22x22/apps:$[FVWM_DISTROMENUDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_DISTROMENUDIR]/icons/$[Icon_Theme]/22x22/apps --default-file-icon=22x22/apps/default.png --default-dir-icon=22x22/categories/directory.png --min-submenu-length=3 --sort=prio --panel-icons=topapp --panel-action3=menu --panel-action2=none --panel-action1=topapp --menu-pos=S --menuname-suffix="Panel" --check-execs'
# This creates the menu with applications available under Alt+Win_R
PipeRead 'fvwm-crystal.apps --database=$[FVWM_DISTROMENUDIR]/Applications --database=$[FVWM_SYSTEMDIR]/Applications --database=$[FVWM_USERDIR]/Applications --search-icons-in=$[FVWM_USERDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_USERDIR]/icons/$[Icon_Theme]/22x22/apps:$[FVWM_SYSTEMDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_SYSTEMDIR]/icons/$[Icon_Theme]/22x22/apps:$[FVWM_DISTROMENUDIR]/icons/$[Icon_Theme]/22x22/categories:$[FVWM_DISTROMENUDIR]/icons/$[Icon_Theme]/22x22/apps --default-file-icon=22x22/apps/default.png --default-dir-icon=22x22/categories/directory.png --min-submenu-length=3 --sort=prio --panel-icons=topapp --panel-action3=menu --panel-action2=none --panel-action1=topapp --menu-pos=S --no-panel --check-execs'
# }}}2
Module FvwmButtons ApplicationPanel
# Pager {{{1
All (FvwmPager-l) Close
All (FvwmPager-r) Close
DestroyModuleConfig FvwmPager-l: *
DestroyModuleConfig FvwmPager-r: *
SetEnv Desk_Pages_X "5"
SetEnv Desk_Pages_Y "5"
PipeRead 'echo SetEnv FvwmPager_Width $((24*$[vp.width]/$[vp.height]*$[Desk_Pages_X])); echo SetEnv FvwmPager_Height $((24*$[Desk_Pages_Y]))'
PipeRead 'echo *FvwmPager-l: Geometry $[FvwmPager_Width]x$[FvwmPager_Height]+$(((($[vp.width]/2)-$[FvwmPager_Width])/2))+3'
PipeRead 'echo *FvwmPager-r: Geometry $[FvwmPager_Width]x$[FvwmPager_Height]+$(((3*($[vp.width]/2)-$[FvwmPager_Width])/2))+3'
PipeRead 'echo DesktopSize $[Desk_Pages_X]x$[Desk_Pages_Y]'
*FvwmPager-l: MiniIcons
*FvwmPager-l: Font none
*FvwmPager-l: WindowBorderWidth 1
#*FvwmPager-l: Window3DBorders
*FvwmPager-l: NoSeparators
*FvwmPager-l: UseSkipList
*FvwmPager-l: Colorset * $[cs_panel_inactive]
*FvwmPager-l: HilightColorset * $[cs_panel_active]
*FvwmPager-l: WindowColorsets $[cs_panel_wininactive] $[cs_panel_winactive]
*FvwmPager-r: MiniIcons
*FvwmPager-r: Font none
*FvwmPager-r: WindowBorderWidth 1
#*FvwmPager-r: Window3DBorders
*FvwmPager-r: NoSeparators
*FvwmPager-r: UseSkipList
*FvwmPager-r: Colorset * $[cs_panel_inactive]
*FvwmPager-r: HilightColorset * $[cs_panel_active]
*FvwmPager-r: WindowColorsets $[cs_panel_wininactive] $[cs_panel_winactive]
Module FvwmPager FvwmPager-l
Module FvwmPager FvwmPager-r
Module FvwmAuto 300 -passid -menterleave \
"Silent raise_pager" \
"Silent lower_pager"
DestroyFunc lower_pager
AddToFunc lower_pager
+ I WindowId $0 (FvwmPager|mwatch) Layer 0 2
DestroyFunc raise_pager
AddToFunc raise_pager
+ I WindowId $0 (FvwmPager|mwatch) Layer 0 7
# Settings for icons on the desktop {{{1
Style * IconBox 1300x600+3-3@g, IconFill left bottom, IconGrid 30 30
Style * StickyIcon
# Settings for FvwmIdent {{{1
*FvwmIdent: Font "xft:Tahoma:pixelsize=12:Bold"
*FvwmIdent: Colorset $[cs_panel_active]
# Settings for FvwmForm {{{1
*FvwmFormDefault: Colorset $[cs_panel_inactive]
*FvwmFormDefault: ItemColorset $[cs_panel_active]
*FvwmFormDefault: Font "xft:Tahoma:pixelsize=13"
*FvwmFormDefault: InputFont "xft:Monospace:pixelsize=13"
*FvwmFormDefault: ButtonFont "xft:Tahoma:pixelsize=13:Bold"
*FvwmFormDefault: TimeoutFont "xft:Tahoma:pixelsize=13:Bold"
SetEnv NotificationGeom 272
# Settings of stalonetray {{{2
DestroyFunc NotificationArea-Stalone
AddToFunc NotificationArea-Stalone
+ I SetEnv trayer_ic_size "24"
+ I SetEnv trayer_area_width "$[trayer_width]"
+ I SetEnv trayer_area_eigth "24"
+ I SetEnv trayer_x "-$[NotificationGeom]"
+ I SetEnv trayer_y "+3"
+ I SetEnv trayer_ic_grav "W"
+ I SetEnv trayer_vert ""
# Settings of trayer {{{2
DestroyFunc NotificationArea-Trayer
AddToFunc NotificationArea-Trayer
+ I SetEnv trayer_width_t "request"
+ I SetEnv trayer_heigth_t "pixel"
+ I SetEnv trayer_edge "top"
+ I SetEnv trayer_align "right"
+ I SetEnv trayer_marge "$[NotificationGeom]"
+ I SetEnv trayer_dist "3"
+ I SetEnv trayer_width_w ""
Test (EnvMatch NotificationAreaManager stalonetray) NotificationArea-Stalone
Test (EnvMatch NotificationAreaManager trayer) NotificationArea-Trayer
Test (!EnvMatch trayer_width 0) TrayerPanel
#AddToFunc ExitFunction I Exec exec killall ivman
#AddToFunc StartFunction I Exec exec ivman
# notification support
Include components/functions/Notify
# ViM modeline {{{1
# vim:foldmethod=marker:foldenable:foldlevel=0