summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2009-04-18 20:58:09 +0200
committerAnton Khirnov <wyskas@gmail.com>2009-04-18 20:58:09 +0200
commit92560cc8670c613b298ca6db9017d1097f7611c5 (patch)
tree7a7905711db521f44da02c6da586d0ef213b1537
initial commit
-rw-r--r--.FvwmConsole-History28
-rw-r--r--.fs-restart-i92guboj.homelinux.org:0.044
-rw-r--r--.menu_thumb_size1
-rw-r--r--DEPENDENCIES7
-rw-r--r--bindings.config140
-rw-r--r--colorset.config57
-rw-r--r--config61
-rw-r--r--config-options/menu_icon_size1
-rw-r--r--config-options/menu_thumb_size1
-rw-r--r--config-options/rounded_corners1
-rw-r--r--config-options/slideshow1
-rw-r--r--deco.config26
-rw-r--r--deco/MINI_ICON0
-rw-r--r--deco/buttonsbg_active.xpm23
-rw-r--r--deco/close_activedown.xpm27
-rw-r--r--deco/close_activeup.xpm26
-rw-r--r--deco/close_inactive.xpm25
-rw-r--r--deco/decor8
-rw-r--r--deco/iconify_activedown.xpm27
-rw-r--r--deco/iconify_activeup.xpm26
-rw-r--r--deco/iconify_inactive.xpm25
-rw-r--r--deco/maximize_activedown.xpm27
-rw-r--r--deco/maximize_activeup.xpm26
-rw-r--r--deco/maximize_inactive.xpm25
-rw-r--r--deco/options_activedown.xpm27
-rw-r--r--deco/options_activeup.xpm26
-rw-r--r--deco/options_inactive.xpm25
-rw-r--r--deco/title_active.xpm24
-rw-r--r--deco/title_inactive.xpm23
-rw-r--r--deco/titleleft_active.xpm24
-rw-r--r--deco/titleright_active.xpm24
-rw-r--r--font.config10
-rw-r--r--functions.config198
l---------images/.wallpaper1
-rw-r--r--images/default_wall.jpgbin0 -> 36877 bytes
-rw-r--r--images/empty.pngbin0 -> 126 bytes
-rw-r--r--images/empty_icon.pngbin0 -> 128 bytes
-rw-r--r--images/gato.pngbin0 -> 95287 bytes
-rw-r--r--images/gato_icon.pngbin0 -> 6318 bytes
-rw-r--r--images/pingu-48.pngbin0 -> 10052 bytes
-rw-r--r--images/pingu.pngbin0 -> 6426 bytes
-rw-r--r--images/xapp.pngbin0 -> 1932 bytes
-rw-r--r--images/xapp_big.pngbin0 -> 3933 bytes
-rw-r--r--initvars.config118
-rw-r--r--menu/menu.config35
-rw-r--r--menu/menu_data.config38
-rw-r--r--menu/menu_windowops.config59
-rw-r--r--panel.config39
-rwxr-xr-xscripts/clean.sh18
-rwxr-xr-xscripts/kde_colors82
-rwxr-xr-xscripts/kde_colors_have_changed26
-rwxr-xr-xscripts/menu_colorset.sh10
-rwxr-xr-xscripts/menu_decoration.sh10
-rwxr-xr-xscripts/menu_fonttheme.sh10
-rwxr-xr-xscripts/miau.sh17
-rwxr-xr-xscripts/midclick_menu.sh21
-rwxr-xr-xscripts/panel_thumbnailer.sh53
-rwxr-xr-xscripts/random_wallpaper.sh14
-rwxr-xr-xscripts/traffic.sh11
-rw-r--r--styles.config53
-rw-r--r--tmp/current_wall.pngbin0 -> 977214 bytes
-rw-r--r--tmp/icon.tmp.0x2a0000a.xwdbin0 -> 1974644 bytes
-rw-r--r--tmp/icon.tmp.0x2e00038.xwdbin0 -> 963177 bytes
-rw-r--r--tmp/icon.tmp.0x3400001.xwdbin0 -> 1639020 bytes
-rw-r--r--tmp/icon.tmp.0x3400155.pngbin0 -> 22659 bytes
-rw-r--r--tmp/icon.tmp.0x3400155.xwdbin0 -> 2871789 bytes
-rw-r--r--tmp/icon.tmp.0x3c00007.pngbin0 -> 629 bytes
-rw-r--r--tmp/icon.tmp.0x3c00007.xwdbin0 -> 335995 bytes
-rw-r--r--tmp/icon.tmp.0xe00001.xwdbin0 -> 3689580 bytes
69 files changed, 1629 insertions, 0 deletions
diff --git a/.FvwmConsole-History b/.FvwmConsole-History
new file mode 100644
index 0000000..04bb537
--- /dev/null
+++ b/.FvwmConsole-History
@@ -0,0 +1,28 @@
+Print $height
+echo $height
+RandomWall
+SetWall
+Refresh
+ahoj
+RandomWall
+RandomWall
+RandomWall
+RandomWall
+RandomWall
+RandomWall
+toggle_pog
+toggle_prog
+Schedule
+Schedule
+print
+Print
+Echo
+echo
+echo edgeres
+echo $edgeres
+echo $[edgeres]
+BugOpts ExplainWindowPlacement On
+DesktopSize 1x9
+DesktopSize 1x8
+Reload
+reload
diff --git a/.fs-restart-i92guboj.homelinux.org:0.0 b/.fs-restart-i92guboj.homelinux.org:0.0
new file mode 100644
index 0000000..6eeeb82
--- /dev/null
+++ b/.fs-restart-i92guboj.homelinux.org:0.0
@@ -0,0 +1,44 @@
+# This file is generated by fvwm. It stores global and window states.
+# Normally, you must never delete this file, it will be auto-deleted.
+
+[FVWM_VERSION] 2.5.25, Jan 10 2008
+[CLIENT] a00322
+ [RES_NAME] FvwmKuakeTerm
+ [RES_CLASS] URxvt
+ [WM_NAME] i92guboj@i92guboj:~/.fvwm
+ [WM_COMMAND] 11 urxvt -name FvwmKuakeTerm -title FvwmKuakeTerm -e screen -c /home/i92guboj/.screenrc -D -RR
+ [GEOMETRY] 1160 272 640 408 1024 2400 810 1200 5 10 0 0 1 136 272
+ [DESK] 0
+ [LAYER] 4 4
+ [PLACED_BY_BUTTON] 0
+ [EWMH_DESKTOP] 0
+ [FLAGS] 17 00 00 00 00 00 00 00 00 80 be 02 80 1c 14 02 01 00 00 00 01 00 00 00 00 00 00 00 dd 01 80 41 03 00 00 00 08 24 44 d8 25 50 40 03 aa aa 0a 00
+[CLIENT] a155c4
+ [RES_NAME] urxvt
+ [RES_CLASS] URxvt
+ [WM_NAME] root@jesgue:~
+ [WM_COMMAND] 1 urxvt
+ [GEOMETRY] 1024 2835 640 408 1024 2400 1464 1200 0 0 0 2400 1 0 435
+ [DESK] 0
+ [LAYER] 4 4
+ [PLACED_BY_BUTTON] 0
+ [EWMH_DESKTOP] 0
+ [FLAGS] 14 00 00 00 00 00 00 00 00 80 9e 02 00 1c 14 02 01 00 00 00 01 00 00 00 00 00 00 00 dd 01 80 61 03 00 00 00 08 34 42 d0 25 50 40 03 aa aa 0a 00
+[CLIENT] 1e00011
+ [WINDOW_ROLE] KTorrent
+ [RES_NAME] ktorrent
+ [RES_CLASS] Ktorrent
+ [WM_NAME] KTorrent
+ [WM_COMMAND] 1 ktorrent
+ [GEOMETRY] 1024 6000 1456 1173 0 0 0 0 0 0 0 2400 1 0 0
+ [DESK] 0
+ [LAYER] 4 4
+ [PLACED_BY_BUTTON] 1
+ [EWMH_DESKTOP] 0
+ [FLAGS] 14 00 00 00 00 00 00 00 00 80 9e 02 00 1c 14 02 01 00 00 00 01 00 00 00 00 00 00 00 dd 01 80 41 03 00 00 00 18 34 40 10 04 50 10 15 aa aa 0a 00
+[GLOBAL]
+ [DESKTOP] 0
+ [VIEWPORT] 0 2400 0 6000
+ [SCROLL] 2624 1200 0 0 0
+ [MISC] 150 1 0
+ [STYLE] 0 0
diff --git a/.menu_thumb_size b/.menu_thumb_size
new file mode 100644
index 0000000..81cf791
--- /dev/null
+++ b/.menu_thumb_size
@@ -0,0 +1 @@
+32x24
diff --git a/DEPENDENCIES b/DEPENDENCIES
new file mode 100644
index 0000000..8adf714
--- /dev/null
+++ b/DEPENDENCIES
@@ -0,0 +1,7 @@
+convert
+stalonetray
+dclock
+xloadimage
+klipper
+kxkb
+parcellite
diff --git a/bindings.config b/bindings.config
new file mode 100644
index 0000000..627d4b9
--- /dev/null
+++ b/bindings.config
@@ -0,0 +1,140 @@
+Mouse 1 R A Menu menu_RootOps
+Mouse 2 R A Menu menu_WindowOps
+Key Escape A MC EscapeFunc
+
+# Contextual menus
+Mouse 2 TFS A Menu menu_WindowSendToPage
+Mouse 3 TFSI A Menu menu_WindowOps
+Key F10 A C Menu menu_WindowSendToPage Window 10p 10p
+Key D A 4 Menu menu_WindowSendToPage Window 10p 10p
+Key F10 A S Menu menu_WindowOps Window 10p 10p
+Key R A 4 Menu menu_WindowOps Window 10p 10p
+
+# Options menu
+Mouse 3 R N Menu menu_fvwmConfig
+Key F3 A M Menu menu_fvwmConfig Root 10p 10p
+Key C A 4 Menu menu_fvwmConfig Root 10p 10p
+
+# FvwmConsole
+#Mouse 2 R N FvwmConsole -terminal $[terminal]
+Key F A 4 FvwmConsole -terminal $[terminal]
+
+# Close window
+Key F4 A M Close
+Mouse 2 I A Close
+
+# Mouse bindings for windows
+Mouse 1 W M FvwmWindowMove
+Mouse (MPlayer) 1 W A FvwmWindowMove
+Mouse (FvwmIdent) 1 W A FvwmWindowMove
+Mouse (MPlayer) 3 W A FvwmWindowResize
+#Mouse 1 T N FvwmWindowMove 100 100
+Mouse 1 T N FvwmWindowTitleClick
+Mouse 1 I N Iconify off
+Mouse 4 T N WindowShade true
+Mouse 5 T N WindowShade false
+
+# Key bindings for windows
+Key M A 4 FvwmWindowMaximizeNoClick
+Key I A 4 FvwmWindowIconify on
+Key A A 4 Resize w+10 w+0
+Key W A S4 Resize w-10 w+0
+Key H A 4 Resize w+0 w+10
+Key H A S4 Resize w+0 w-10
+Key G A 4 Resize w+10 w+10
+Key G A S4 Resize w-10 w-10
+Key S A 4 Pick Resize warptoborder
+Key Return I N Iconify off
+Key Down I N Next (CurrentPage, Iconified) Focus
+Key Up I N Prev (CurrentPage, Iconified) Focus
+
+# Launch preferred applications
+Key T A 4 Exec $[terminal]
+Key V A 4 Exec $[terminal] -e alsamixer
+
+# Escape and tab bindings:
+# ctrl+esc: process window
+# alt+tab: tipical behaviour
+# ctrl+alt+tab: cycle wins in current page
+# win+tab: idem
+Key Escape A C Exec $[terminal] -e htop
+Key Tab A M WindowList Root c c currentDesk, \
+ NoGeometry, NoCurrentDeskTitle, CurrentAtEnd, \
+ NoNumInDeskTitle, NoHotKeys
+Key Tab A 4 Next (CurrentPage, !Gkrellm, !FvwmPager) next_window_in_page
+Key Tab A CM Next (CurrentPage, !Gkrellm, !FvwmPager) next_window_in_page
+
+# Kill
+Test (x xkill) Key Escape A M Exec xkill
+Test (x xkill) Key K A 4 Exec xkill
+
+# Do something interesting with the extra mouse buttons
+Silent Mouse 6 T N Resize br w-10 w-10
+Silent Mouse 7 T N Resize br w+10 w+10
+Silent Mouse 8 W N FvwmWindowMove
+Silent Mouse 9 W N FvwmWindowResize
+
+# Wheel over the root to go page up/down
+Mouse 4 R A Scroll 0 -100
+Mouse 5 R A Scroll 0 100
+# If you have a second wheel, you know what this means
+Silent Mouse 6 R A Scroll -100 0
+Silent Mouse 7 R A Scroll 100 0
+
+# WM based fullscreen feature
+Key Return A 4 Fullscreen
+
+
+# Move across pages with win or ctrl+alt + arrows
+Key Left A 4 WindowId root 1 WarpToWindow 10 50
+Key Right A 4 WindowId root 0 WarpToWindow 90 50
+Key Up A 4 GotoPage 0p -1p
+Key Down A 4 GotoPage 0p +1p
+Piperead 'for i in `seq 0 $(($pages-1))`; do j=$(($i+1)); echo Key $j A 4 GotoPage 0 $i; done'
+
+Key Left A CM WindowId root 1 WarpToWindow 10 50
+Key Right A CM WindowId root 0 WarpToWindow 90 50
+Key Up A CM GotoPage 0p -1p
+Key Down A CM GotoPage 0p +1p
+
+# Move/resize windows with keys
+# ALT+WIN+<arrows>: Move windows a bit
+# CTRL+WIN+ALT+<arrows>: Move windows to the screen border
+# or center it (Home key)
+# CTRL+WIN+SHIFT+<arrows>: Move windows to that next page
+Key Down WFS 4M AnimatedMove w+0 w+5 Warp
+Key Up WFS 4M AnimatedMove w+0p w-5 Warp
+Key Left WFS 4M AnimatedMove w-5 w+0 Warp
+Key Right WFS 4M AnimatedMove w+5 w+0 Warp
+
+Key Up WFS MC4 Pick AnimatedMove screen c keep 0p
+Key Left WFS MC4 Pick AnimatedMove screen c 0p keep
+Key Right WFS MC4 Pick AnimatedMove screen c -128p keep
+Key Down WFS MC4 Pick AnimatedMove screen c keep -0p
+
+Key Down WFS SC4 MoveToPage +0p +1p
+Key Up WFS SC4 MoveToPage +0p -1p
+Key Left WFS SC4 MoveToPage -1p +0p
+Key Right WFS SC4 MoveToPage +1p +0p
+
+# /usr/include/X11/keysymdef.h for keys
+
+Key Space A 4 Exec scrot ~/quickshot-$(date +%Y%m%d_%H%M%S).jpg
+
+Mouse 1 2 A FvwmWindowClose
+Mouse 1 4 A FvwmWindowMaximize 100 100
+Mouse 1 6 A FvwmWindowIconify on
+Mouse 2 2 A FvwmWindowDestroy
+Mouse 2 4 A Maximize 100 0
+Mouse 3 4 A Maximize 0 100
+Mouse 1 1 A Menu menu_WindowOps
+
+#wallpaper
+Key W A 4 RandomWall
+
+#MPD control
+Key grave A 4 MPDControl pause
+Key B A 4 MPDControl next
+Key Z A 4 MPDControl previous
+Key P A 4 MPDControl play
+
diff --git a/colorset.config b/colorset.config
new file mode 100644
index 0000000..a19ff8a
--- /dev/null
+++ b/colorset.config
@@ -0,0 +1,57 @@
+#################
+# Colorsets 1 y 2
+#################
+# + TitleStyle AllActive Colorset 1
+# + TitleStyle AllInactive Colorset 2
+#####################################
+Colorset 1 bg black
+Colorset 2 fg white, bg black, Tint black 20
+# 1.- bg - barra de título activa, en decos planas solo!
+# 2.- bg - barra de título inactiva, en decos planas solo!
+
+#################
+# Colorsets 3 y 4
+#################
+# Style * Colorset 3
+# Style * HilightColorset 4
+###########################
+Colorset 3 bg black, fg grey75, sh black, fgsh black
+Colorset 4 bg black, fg white, sh black, fgsh black
+# 3.- bg barra de títulos y borde, ventana inactiva
+# 4.- bg barra de títulos y borde, ventana activa
+# 4.- sh - color de sombra en símbolos si @0
+# fgsh color de sombra del texto, por fin doy con él!! :P
+
+# FvwmForm-QV
+Colorset 5 bg grey80, DGradient 128 white grey80, fg black, hi grey70, sh grey70
+
+#Panel
+Colorset 6 RootTransparent, Tint black 30, bg black, hi grey40
+
+# Menú, selección
+Colorset 7 bg white, fg black, sh white, hi white
+# Menú, fondo
+Colorset 8 DGradient 64 grey20 black, fg white, sh white, hi white
+# Menú, fondo
+Colorset 8 Translucent black 50, bg black, fg white, sh grey40, hi grey40
+#Pager, inactive desk
+Colorset 9 bg black, RootTransparent, Tint black 30, fg white, sh black, hi white
+#Pager, active desk
+Colorset 10 RootTransparent, Tint LightSkyBlue3 70, fg grey60
+#Pager, inactive windows
+Colorset 11 RootTransparent, fg LightSkyBlue1, bg black, Tint black 60
+#Pager, active windows
+Colorset 12 RootTransparent, fg black, hi white, sh white, Tint "LightSkyBlue1" 60
+
+#FvwmIconMan, default
+Colorset 13 Transparent, sh grey80, fg white
+#FvwmIconMan, foco y selecionado
+Colorset 14 Transparent, fg white, sh grey90, hi white
+#FvwmIconMan, foco
+Colorset 15 bg black, fg white, sh grey90, hi grey80
+
+Colorset 16 Transparent, bg bwhite, fg white
+Colorset 17 HGradient 24 3 white 1 grey15 98 grey60 1 black
+Colorset 18 bg black
+
+Colorset 19 bg grey10, fg grey90, DGradient 2000 grey10 grey80
diff --git a/config b/config
new file mode 100644
index 0000000..930fe3d
--- /dev/null
+++ b/config
@@ -0,0 +1,61 @@
+#########################
+# FVWM main config file #
+#########################
+
+# Where to search for icons
+ImagePath $[FVWM_USERDIR]/images
+ImagePath +:$[FVWM_USERDIR]/images/menu/
+ImagePath +:$[FVWM_USERDIR]/decorations/
+ImagePath +:$[HOME]/gallery/
+ImagePath +:$[FVWM_USERDIR]/deco
+
+# Default font if all else fails
+DefaultFont -*-fixed-*-*-*-*-14-*-*-*-*-*-iso10646-1
+
+##################
+# Basic commands #
+##################
+
+DesktopSize 1x7
+EdgeThickness 0
+EdgeScroll 100 100
+OpaqueMoveSize unlimited
+HideGeometryWindow Always
+IgnoreModifiers L25
+EdgeResistance -1
+
+#####################
+# STARTUP FUNCTIONS #
+#####################
+
+DestroyFunc StartFunction
+AddToFunc StartFunction
++ I Read initvars.config
++ I Read font.config
++ I Read panel.config
++ I Read colorset.config
++ I Read deco.config
++ I Read functions.config
++ I Read bindings.config
++ I Read styles.config
++ I Read menu/menu.config
++ I Read menu/menu_data.config
++ I Read menu/menu_windowops.config
++ I All (maximized) WindowStyle !Borders, !Title, ResizeHintOverride
++ I UpdateStyles
++ I Module FvwmCommandS
++ I Schedule Periodic 3600000 1 RandomWall
++ I Test (Init) RandomWall
++ I Test (Init) Exec fbxkb
++ I Test (Init) Exec parcellite
++ I Test (Restart) All (Iconic) Test (f $[FVWM_USERDIR]/tmp/icon.tmp.$[w.id].png) WindowStyle IconOverride, icon $[FVWM_USERDIR]/tmp/icon.tmp.$[w.id].png
+
+DestroyFunc ExitFunction
+AddToFunc ExitFunction
++ I Test (!torestart) exec exec rm -f /dev/shm/icon.tmp.*
+
+# Config for the module FvwmIdent
+DestroyModuleConfig FvwmIdent: *
+*FvwmIdent: Colorset 8
+*FvwmIdent: Font $[ThemeFont]
+
diff --git a/config-options/menu_icon_size b/config-options/menu_icon_size
new file mode 100644
index 0000000..78bf65d
--- /dev/null
+++ b/config-options/menu_icon_size
@@ -0,0 +1 @@
+16x16
diff --git a/config-options/menu_thumb_size b/config-options/menu_thumb_size
new file mode 100644
index 0000000..c187d99
--- /dev/null
+++ b/config-options/menu_thumb_size
@@ -0,0 +1 @@
+128x96
diff --git a/config-options/rounded_corners b/config-options/rounded_corners
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/config-options/rounded_corners
@@ -0,0 +1 @@
+1
diff --git a/config-options/slideshow b/config-options/slideshow
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/config-options/slideshow
@@ -0,0 +1 @@
+1
diff --git a/deco.config b/deco.config
new file mode 100644
index 0000000..6d6479a
--- /dev/null
+++ b/deco.config
@@ -0,0 +1,26 @@
+ButtonStyle 1 ActiveUp Pixmap options_activeup.xpm
+ButtonStyle 6 ActiveUp Pixmap iconify_activeup.xpm
+ButtonStyle 4 ActiveUp Pixmap maximize_activeup.xpm
+ButtonStyle 2 ActiveUp Pixmap close_activeup.xpm
+ButtonStyle 1 ActiveDown Pixmap options_activedown.xpm
+ButtonStyle 6 ActiveDown Pixmap iconify_activedown.xpm
+ButtonStyle 4 ActiveDown Pixmap maximize_activedown.xpm
+ButtonStyle 2 ActiveDown Pixmap close_activedown.xpm
+ButtonStyle 1 Inactive Pixmap options_inactive.xpm
+ButtonStyle 6 Inactive Pixmap iconify_inactive.xpm
+ButtonStyle 4 Inactive Pixmap maximize_inactive.xpm
+ButtonStyle 2 Inactive Pixmap close_inactive.xpm
+ButtonStyle 1 MiniIcon
+ButtonStyle All -- Flat UseTitleStyle
+TitleStyle ActiveUp MultiPixmap LeftEnd titleleft_active.xpm, RightEnd titleright_active.xpm, Buttons buttonsbg_active.xpm
+TitleStyle ActiveDown MultiPixmap LeftEnd titleleft_active.xpm, RightEnd titleright_active.xpm, Buttons buttonsbg_active.xpm
+TitleStyle AllInactive Colorset 2 MultiPixmap Main title_inactive.xpm
+TitleStyle -- Flat
+BorderStyle -- HiddenHandles !NoInset Raised
+TitleStyle Centered Height 18
+Style * Font $[ThemeTitleFont]
+Style * HandleWidth 2
+#Style * ForeColor #606060
+#Style * BackColor #B2B2B2
+#Style * HilightFore #E0E0E0
+#Style * HilightBack #C2C2C2
diff --git a/deco/MINI_ICON b/deco/MINI_ICON
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/deco/MINI_ICON
diff --git a/deco/buttonsbg_active.xpm b/deco/buttonsbg_active.xpm
new file mode 100644
index 0000000..6ba75a7
--- /dev/null
+++ b/deco/buttonsbg_active.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * titleIB_xpm[] = {
+"18 18 2 1",
+" c None",
+". c #B2B2B2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/deco/close_activedown.xpm b/deco/close_activedown.xpm
new file mode 100644
index 0000000..9145e4d
--- /dev/null
+++ b/deco/close_activedown.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * close_activedown_xpm[] = {
+"18 18 6 1",
+" c None",
+". c #C4C3C4",
+"+ c #6A6D6A",
+"@ c #608090",
+"# c #EAEAEA",
+"$ c #000000",
+"..................",
+"..++++++++++++++..",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@$$@@@@$$@@@+#",
+".+@@@$$$@@$$$@@@+#",
+".+@@@@$$$$$$@@@@+#",
+".+@@@@@$$$$@@@@@+#",
+".+@@@@@$$$$@@@@@+#",
+".+@@@@$$$$$$@@@@+#",
+".+@@@$$$@@$$$@@@+#",
+".+@@@$$@@@@$$@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+"..++++++++++++++..",
+"..##############.."};
diff --git a/deco/close_activeup.xpm b/deco/close_activeup.xpm
new file mode 100644
index 0000000..c46225b
--- /dev/null
+++ b/deco/close_activeup.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * close_activeup_xpm[] = {
+"18 18 5 1",
+" c None",
+". c #C4C3C4",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"# c #000000",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@.............+@",
+".+@..##....##...+@",
+".+@..###..###...+@",
+".+@...######....+@",
+".+@....####.....+@",
+".+@....####.....+@",
+".+@...######....+@",
+".+@..###..###...+@",
+".+@..##....##...+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/close_inactive.xpm b/deco/close_inactive.xpm
new file mode 100644
index 0000000..c6b55a3
--- /dev/null
+++ b/deco/close_inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"18 18 4 1",
+" c None",
+". c #B2B2B2",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@.............+@",
+".+@..++....++...+@",
+".+@..+++..+++...+@",
+".+@...++++++....+@",
+".+@....++++.....+@",
+".+@....++++.....+@",
+".+@...++++++....+@",
+".+@..+++..+++...+@",
+".+@..++....++...+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/decor b/deco/decor
new file mode 100644
index 0000000..728297e
--- /dev/null
+++ b/deco/decor
@@ -0,0 +1,8 @@
+BorderStyle -- HiddenHandles !NoInset Raised
+TitleStyle Centered Height 18
+Style * Font -*-lucida-bold-r-normal-*-10-*-*-*-*-*-*
+Style * HandleWidth 5
+Style * ForeColor #606060
+Style * BackColor #808080
+Style * HilightFore #E0E0E0
+Style * HilightBack #909090
diff --git a/deco/iconify_activedown.xpm b/deco/iconify_activedown.xpm
new file mode 100644
index 0000000..097a321
--- /dev/null
+++ b/deco/iconify_activedown.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * iconify_activedown_xpm[] = {
+"18 18 6 1",
+" c None",
+". c #C2C2C2",
+"+ c #6A6D6A",
+"@ c #608090",
+"# c #EAEAEA",
+"$ c #000000",
+"..................",
+"..++++++++++++++..",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@$$$$$$$$@@@+#",
+".+@@@$$$$$$$$@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+"..++++++++++++++..",
+"..##############.."};
diff --git a/deco/iconify_activeup.xpm b/deco/iconify_activeup.xpm
new file mode 100644
index 0000000..a38fbf0
--- /dev/null
+++ b/deco/iconify_activeup.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * iconify_activeup_xpm[] = {
+"18 18 5 1",
+" c None",
+". c #C2C2C2",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"# c #000000",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@..########...+@",
+".+@..########...+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/iconify_inactive.xpm b/deco/iconify_inactive.xpm
new file mode 100644
index 0000000..cdba99a
--- /dev/null
+++ b/deco/iconify_inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * minimize_inactive_xpm[] = {
+"18 18 4 1",
+" c None",
+". c #B2B2B2",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+".+@..++++++++...+@",
+".+@..++++++++...+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/maximize_activedown.xpm b/deco/maximize_activedown.xpm
new file mode 100644
index 0000000..3a01fb2
--- /dev/null
+++ b/deco/maximize_activedown.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * maximize_activedown_xpm[] = {
+"18 18 6 1",
+" c None",
+". c #C2C2C2",
+"+ c #6A6D6A",
+"@ c #608090",
+"# c #EAEAEA",
+"$ c #000000",
+"..................",
+"..++++++++++++++..",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@$$$$$$$$@@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@$@@@@@@@@$@@+#",
+".+@@@$$$$$$$$@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+"..++++++++++++++..",
+"..##############.."};
diff --git a/deco/maximize_activeup.xpm b/deco/maximize_activeup.xpm
new file mode 100644
index 0000000..9d46430
--- /dev/null
+++ b/deco/maximize_activeup.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * maximize_activeup_xpm[] = {
+"18 18 5 1",
+" c None",
+". c #C2C2C2",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"# c #000000",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@..########...+@",
+".+@.#........#..+@",
+".+@.#........#..+@",
+".+@.#........#..+@",
+".+@.#........#..+@",
+".+@.#........#..+@",
+".+@.#........#..+@",
+".+@.#........#..+@",
+".+@.#........#..+@",
+".+@..########...+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/maximize_inactive.xpm b/deco/maximize_inactive.xpm
new file mode 100644
index 0000000..efa83cc
--- /dev/null
+++ b/deco/maximize_inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"18 18 4 1",
+" c None",
+". c #B2B2B2",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@..++++++++...+@",
+".+@.+........+..+@",
+".+@.+........+..+@",
+".+@.+........+..+@",
+".+@.+........+..+@",
+".+@.+........+..+@",
+".+@.+........+..+@",
+".+@.+........+..+@",
+".+@.+........+..+@",
+".+@..++++++++...+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/options_activedown.xpm b/deco/options_activedown.xpm
new file mode 100644
index 0000000..d31fa82
--- /dev/null
+++ b/deco/options_activedown.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * options_activedown_xpm[] = {
+"18 18 6 1",
+" c None",
+". c #C2C2C2",
+"+ c #6A6D6A",
+"@ c #608090",
+"# c #EAEAEA",
+"$ c #000000",
+"..................",
+"..++++++++++++++..",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@$$$@@@$$$@@+#",
+".+@@@$@@@@@@@$@@+#",
+".+@@@$@@@@@@@$@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@$@@@@@@@$@@+#",
+".+@@@$@@@@@@@$@@+#",
+".+@@@$$$@@@$$$@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@+#",
+"..++++++++++++++..",
+"..##############.."};
diff --git a/deco/options_activeup.xpm b/deco/options_activeup.xpm
new file mode 100644
index 0000000..f18d888
--- /dev/null
+++ b/deco/options_activeup.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * options_activeup_xpm[] = {
+"18 18 5 1",
+" c None",
+". c #C2C2C2",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"# c #000000",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@.............+@",
+".+@..###...###..+@",
+".+@..#.......#..+@",
+".+@..#.......#..+@",
+".+@.............+@",
+".+@.............+@",
+".+@..#.......#..+@",
+".+@..#.......#..+@",
+".+@..###...###..+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/options_inactive.xpm b/deco/options_inactive.xpm
new file mode 100644
index 0000000..0041786
--- /dev/null
+++ b/deco/options_inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * options_inactive_xpm[] = {
+"18 18 4 1",
+" c None",
+". c #B2B2B2",
+"+ c #6A6D6A",
+"@ c #EAEAEA",
+"..................",
+"..++++++++++++++..",
+".+.@@@@@@@@@@@@@+@",
+".+@.............+@",
+".+@.............+@",
+".+@..+++...+++..+@",
+".+@..+.......+..+@",
+".+@..+.......+..+@",
+".+@.............+@",
+".+@.............+@",
+".+@..+.......+..+@",
+".+@..+.......+..+@",
+".+@..+++...+++..+@",
+".+@.............+@",
+".+@.............+@",
+".+@.............+@",
+"..++++++++++++++..",
+"..@@@@@@@@@@@@@@.."};
diff --git a/deco/title_active.xpm b/deco/title_active.xpm
new file mode 100644
index 0000000..c87618d
--- /dev/null
+++ b/deco/title_active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"18 18 3 1",
+" c None",
+". c #4C4C4C",
+"+ c #000000",
+"..................",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+"++++++++++++++++++",
+".................."};
diff --git a/deco/title_inactive.xpm b/deco/title_inactive.xpm
new file mode 100644
index 0000000..6ba75a7
--- /dev/null
+++ b/deco/title_inactive.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * titleIB_xpm[] = {
+"18 18 2 1",
+" c None",
+". c #B2B2B2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/deco/titleleft_active.xpm b/deco/titleleft_active.xpm
new file mode 100644
index 0000000..3a44d3a
--- /dev/null
+++ b/deco/titleleft_active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * titleleft_active_xpm[] = {
+"18 18 3 1",
+" c None",
+". c #424242",
+"+ c #000000",
+"..................",
+".....+++++++++++++",
+"...+++++++++++++++",
+"..++++++++++++++++",
+"..++++++++++++++++",
+".+++++++++++++++++",
+".+++++++++++++++++",
+".+++++++++++++++++",
+".+++++++++++++++++",
+".+++++++++++++++++",
+".+++++++++++++++++",
+".+++++++++++++++++",
+".+++++++++++++++++",
+"..++++++++++++++++",
+"..++++++++++++++++",
+"...+++++++++++++++",
+".....+++++++++++++",
+".................."};
diff --git a/deco/titleright_active.xpm b/deco/titleright_active.xpm
new file mode 100644
index 0000000..b2469bf
--- /dev/null
+++ b/deco/titleright_active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * titleright_active_xpm[] = {
+"18 18 3 1",
+" c None",
+". c #424242",
+"+ c #000000",
+"..................",
+"+++++++++++++.....",
+"+++++++++++++++...",
+"++++++++++++++++..",
+"++++++++++++++++..",
+"+++++++++++++++++.",
+"+++++++++++++++++.",
+"+++++++++++++++++.",
+"+++++++++++++++++.",
+"+++++++++++++++++.",
+"+++++++++++++++++.",
+"+++++++++++++++++.",
+"+++++++++++++++++.",
+"++++++++++++++++..",
+"++++++++++++++++..",
+"+++++++++++++++...",
+"+++++++++++++.....",
+".................."};
diff --git a/font.config b/font.config
new file mode 100644
index 0000000..d2d56c5
--- /dev/null
+++ b/font.config
@@ -0,0 +1,10 @@
+SetEnv ThemeFont "\"Shadow=0 0:xft:Liberation Sans:size=8\""
+SetEnv ThemeMiniFont "\"Shadow=0 0:xft:Liberation Sans:size=7.2\""
+SetEnv ThemeMonoFont "\"Shadow=0 0:xft:Liberation Sans Mono:size=8\""
+SetEnv ThemeHeadFont "\"Shadow=0 0:xft:Liberation Sans:size=9:style=Bold\""
+SetEnv ThemeMenuTitleFont "\"Shadow=0 0:xft:Liberation Sans:size=8:style=Bold\""
+SetEnv ThemeMenuFont "\"Shadow=0 0:xft:Liberation Sans:style=Condensed:size=8.2\""
+SetEnv ThemeTitleFont "\"Shadow=0 0:xft:Liberation Sans:style=Bold:size=8\""
+SetEnv ThemeClockFont "\"Shadow=0 0:xft:Liberation Sans:style=Bold:size=13\""
+SetEnv ThemeWindowListFont "\"Shadow=0 0:xft:Liberation Sans:style=Bold:size=8\""
+DefaultFont $[ThemeFont]
diff --git a/functions.config b/functions.config
new file mode 100644
index 0000000..9bd61a7
--- /dev/null
+++ b/functions.config
@@ -0,0 +1,198 @@
+###########################
+# 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 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 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
diff --git a/images/.wallpaper b/images/.wallpaper
new file mode 120000
index 0000000..e34a381
--- /dev/null
+++ b/images/.wallpaper
@@ -0,0 +1 @@
+/home/wiskas/.fvwm/cats \ No newline at end of file
diff --git a/images/default_wall.jpg b/images/default_wall.jpg
new file mode 100644
index 0000000..10a41e2
--- /dev/null
+++ b/images/default_wall.jpg
Binary files differ
diff --git a/images/empty.png b/images/empty.png
new file mode 100644
index 0000000..5f7353e
--- /dev/null
+++ b/images/empty.png
Binary files differ
diff --git a/images/empty_icon.png b/images/empty_icon.png
new file mode 100644
index 0000000..7641736
--- /dev/null
+++ b/images/empty_icon.png
Binary files differ
diff --git a/images/gato.png b/images/gato.png
new file mode 100644
index 0000000..ee61842
--- /dev/null
+++ b/images/gato.png
Binary files differ
diff --git a/images/gato_icon.png b/images/gato_icon.png
new file mode 100644
index 0000000..fe8e305
--- /dev/null
+++ b/images/gato_icon.png
Binary files differ
diff --git a/images/pingu-48.png b/images/pingu-48.png
new file mode 100644
index 0000000..226b046
--- /dev/null
+++ b/images/pingu-48.png
Binary files differ
diff --git a/images/pingu.png b/images/pingu.png
new file mode 100644
index 0000000..da576a5
--- /dev/null
+++ b/images/pingu.png
Binary files differ
diff --git a/images/xapp.png b/images/xapp.png
new file mode 100644
index 0000000..88c21c2
--- /dev/null
+++ b/images/xapp.png
Binary files differ
diff --git a/images/xapp_big.png b/images/xapp_big.png
new file mode 100644
index 0000000..5dc9355
--- /dev/null
+++ b/images/xapp_big.png
Binary files differ
diff --git a/initvars.config b/initvars.config
new file mode 100644
index 0000000..e32124c
--- /dev/null
+++ b/initvars.config
@@ -0,0 +1,118 @@
+## Initialization of variables
+
+# Workaround offsets for xinerama
+# Change this in user_defined.config if you use two monitors
+SetEnv X_offset 0
+SetEnv Y_offset 0
+
+# Height and width of the viewport
+SetEnv height $[vp.height]
+SetEnv width $[vp.width]
+
+##############################
+## Set default applications ##
+##############################
+
+# Applications launcher dialog
+DestroyFunc set_launcher
+AddToFunc set_launcher
++ I Test (EnvIsSet launcher) Nop
++ I TestRc (Match) Break
++ I Test (x gmrun) SetEnv launcher gmrun
++ I TestRc (Match) Break
++ I Test (x grun) SetEnv launcher grun
++ I TestRc (Match) Break
++ I Test (x bbrun) SetEnv launcher bbrun
++ I TestRc (Match) Break
++ I Test (x fbrun) SetEnv launcher fbrun
+set_launcher
+DestroyFunc set_launcher
+
+# Default terminal
+DestroyFunc set_terminal
+AddToFunc set_terminal
++ I Test (EnvIsSet terminal) Nop
++ I TestRc (Match) Break
++ I Test (x urxvtcd) SetEnv terminal urxvt
++ I TestRc (Match) Break
++ I Test (x terminal) SetEnv terminal terminal
++ I TestRc (Match) Break
++ I Test (x rxvt) SetEnv terminal rxvt
++ I TestRc (Match) Break
++ I Test (x mrxvt) SetEnv terminal mrxvtv
++ I TestRc (Match) Break
++ I Test (x eterm) SetEnv terminal eterm
++ I TestRc (Match) Break
++ I Test (x aterm) SetEnv terminal aterm
++ I TestRc (Match) Break
++ I Test (x xtern) SetEnv terminal xterm
+set_terminal
+DestroyFunc set_terminal
+
+# Wallpaper directory
+DestroyFunc set_wallpaper_dir
+AddToFunc set_wallpaper_dir
++ I Test (x "$[HOME]/gallery/wallpapers") SetEnv WALLPAPERDIR "$[HOME]/gallery/wallpapers/"
++ I TestRC (Match) Break
++ I Test (x "$[HOME]/system/wallpapers") SetEnv WALLPAPERDIR "$[HOME]/system/wallpapers/"
++ I TestRc (Match) Break
++ I Test (x "$[HOME]/wallpapers") SetEnv WALLPAPERDIR "$[HOME]/wallpapers/"
++ I TestRc (Match) Break
++ I Test (x "$[FVWM_USERDIR]/wallpapers") SetEnv WALLPAPERDIR "$[FVWM_USERDIR]/wallpapers/"
++ I TestRc (Match) Break
++ I SetEnv WALLPAPERDIR "$[FVWM_USERDIR]"
+set_wallpaper_dir
+DestroyFunc set_wallpaper_dir
+
+# Wallpaper slideshow mode
+Piperead `echo SetEnv slideshow $(cat $[FVWM_USERDIR]/config-options/slideshow || echo 0)`
+
+# Set favourite file explorer
+DestroyFunc set_explorer
+AddToFunc set_explorer
++ I Test (EnvIsSet explorer) Nop
++ I TestRc (Match) Break
++ I Test (x konqueror) SetEnv explorer konqueror
++ I TestRc (Match) Break
++ I Test (x d3lphin) SetEnv explorer d3lphin
++ I TestRc (Match) Break
++ I Test (x dolphin) SetEnv explorer dolphin
++ I TestRc (Match) Break
++ I Test (x nautilus) SetEnv explorer nautilus
++ I TestRc (Match) Break
++ I Test (x thunar) SetEnv explorer thunar
++ I TestRc (Match) Break
++ I Test (x rox) SetEnv explorer rox
++ I TestRc (Match) Break
++ I Test (x emelfm) SetEnv explorer emelfm
++ I TestRc (Match) Break
++ I Test (x emelfm2) SetEnv explorer emelfm2
++ I TestRc (Match) Break
++ I Test (x endeavour) SetEnv explorer endeavour
++ I TestRc (Match) Break
++ I Test (x krusader) SetEnv explorer krusader
+set_explorer
+DestroyFunc set_explorer
+
+# Set favourite web browser
+DestroyFunc set_browser
+AddToFunc set_browser
++ I Test (EnvIsSet browser) Nop
++ I TestRc (Match) Break
++ I Test (x firefox) SetEnv browser firefox
++ I TestRc (Match) Break
++ I Test (x konqueror) SetEnv browser konqueror
++ I TestRc (Match) Break
++ I Test (x opera) SetEnv browser opera
++ I TestRc (Match) Break
++ I Test (x epiphany) SetEnv browser epiphany
++ I TestRc (Match) Break
++ I Test (x galeon) SetEnv browser galeon
++ I TestRc (Match) Break
++ I Test (x netscape) SetEnv browser netscape
++ I TestRc (Match) Break
++ I Test (x safari) SetEnv browser safari
++ I TestRc (Match) Break
++ I Test (x kazehakase) SetEnv browser kazehakase
+set_browser
+DestroyFunc set_browser
diff --git a/menu/menu.config b/menu/menu.config
new file mode 100644
index 0000000..8853be2
--- /dev/null
+++ b/menu/menu.config
@@ -0,0 +1,35 @@
+MenuStyle * Font $[ThemeMenuFont]
+MenuStyle * TitleUnderlines1
+MenuStyle * TitleFont $[ThemeMenuTitleFont]
+MenuStyle * MouseWheel ScrollsMenuBackwards
+MenuStyle * Animation
+MenuStyle * HilightBack, Hilight3DThin
+MenuStyle * ActiveColorset 7
+MenuStyle * MenuColorset 8
+MenuStyle * ItemFormat "%2.0|%0.0i%5.5l%5.2>%0.2|"
+MenuStyle * PopupOffset 0 99
+MenuStyle * PopupImmediately
+MenuStyle * PopdownImmediately
+MenuStyle * BorderWidth 1
+MenuStyle * VerticalItemSpacing 3 3
+MenuStyle * VerticalTitleSpacing 4 4
+MenuStyle * SeparatorsShort, FlatSeparators
+MenuStyle * TrianglesUseFore
+MenuStyle * TrianglesSolid
+MenuStyle * !TitleWarp
+MenuStyle * RemoveSubmenus
+#MenuStyle * Sidepic empty.png
+MenuStyle * SideColor $[bg.cs7]
+MenuStyle * ScrollOffPage
+MenuStyle * VerticalMargins 2 2
+MenuStyle * VerticalSeparatorMargins 3 5
+
+# Alt+tab menu configuration
+MenuStyle WindowList Font $[ThemeWindowListFont]
+MenuStyle WindowList HilightBack, Hilight3DThin
+MenuStyle WindowList ActiveColorset 7
+MenuStyle WindowList MenuColorset 6
+MenuStyle WindowList ItemFormat "%2.17|%0.7i%0.5l%17.2|"
+MenuStyle WindowList BorderWidth 3
+MenuStyle WindowList VerticalItemSpacing 10 10
+MenuStyle WindowList VerticalMargins 2 2
diff --git a/menu/menu_data.config b/menu/menu_data.config
new file mode 100644
index 0000000..ffa0e1c
--- /dev/null
+++ b/menu/menu_data.config
@@ -0,0 +1,38 @@
+####################
+# FVWM Config Menu #
+####################
+
+DestroyMenu menu_fvwmConfig
+AddToMenu menu_fvwmConfig "FVWM" Title
++ MissingSubmenuFunction ConfigBrowser
++ "" Nop
+Test (x convert) + "&g. $[gt.Wallpaper]" Popup WallpaperBrowser Menu 100 0
+
+DestroyFunc ConfigBrowser
+AddToFunc ConfigBrowser
++ I DestroyMenu WallpaperBrowser
++ I AddToMenu WallpaperBrowser "$[gt.Wallpaper]" Title
++ I + DynamicPopDownAction DestroyMenu WallpaperBrowser
++ I Test (EnvMatch slideshow 0) + "&Slideshow On" SlideshowOn
++ I Test (EnvMatch slideshow 1) + "&Slideshow Off" SlideshowOff
++ I + "&Next Random Wall" RandomWall
+
+DestroyMenu menu_RootOps
+AddToMenu menu_RootOps
++ DynamicPopupAction Function RootOpsMenuFunc
+
+AddToFunc RootOpsMenuFunc
++ I DestroyMenu recreate menu_RootOps
++ I AddToMenu menu_RootOps "$[gt.Menu raíz]" Title
++ I Test (x xscreensaver-command) + "%xapp_big.png%&1. $[gt.Lock Screen]" Exec exec xscreensaver-command -lock
++ I Test (!x xscreensaver-command, x alock) + "%xapp_big.png%&1. $[gt.Lock Screen]" Exec exec alock -auth none -bg blank -cursor glyph
++ I Test (!x xscreensaver-command, !x alock, x slock) + "%xapp_big.png%&1. $[gt.Lock Screen]" Exec exec slock
++ I + "%xapp_big.png%&2. $[gt.Restart]" Restart
++ I + "%xapp_big.png%&3. $[gt.Close]" Popup Quit-Verify
+
+DestroyMenu Quit-Verify
+AddToMenu Quit-Verify
++I "Really quit FVWM?" Title
++I "Yes." Quit
++I "" Nop
++I "Cancel." Nop
diff --git a/menu/menu_windowops.config b/menu/menu_windowops.config
new file mode 100644
index 0000000..9e8c9b6
--- /dev/null
+++ b/menu/menu_windowops.config
@@ -0,0 +1,59 @@
+DestroyMenu menu_WindowOps
+AddToMenu menu_WindowOps
++ DynamicPopupAction Function WindowOpsFunc
+
+DestroyFunc WindowOpsFunc
+AddToFunc WindowOpsFunc
++ I DestroyMenu recreate menu_WindowOps
++ I AddToMenu menu_WindowOps "$[gt.Window]" Title
++ I + "&1. $[gt.Identify]" Pick Module FvwmIdent
++ I + "&2. $[gt.Close Window]" Pick Close
++ I + "&3. $[gt.Destroy]" Pick Destroy
++ I + "&4. $[gt.Size]" Pick Resize warptoborder
++ I ThisWindow (!Iconic, !Maximized, Maximizable) + "&5. $[gt.Maximize]" Pick Maximize
++ I TestRc (NoMatch) ThisWindow (!Iconic, Maximizable) + "&5. $[gt.Restore]" Pick Maximize
++ I TestRc (Error) + "&5. $[gt.Maximize]" Pick Maximize
++ I ThisWindow (Shaded) + "&6. $[gt.Unshade]" Pick WindowShade Toggle
++ I TestRc (NoMatch) + "&6. $[gt.Shade]" Pick WindowShade Toggle
++ I TestRc (Error) + "&6. $[gt.Shade]" Pick WindowShade Toggle
++ I + "&7. $[gt.Fullscreen]" Pick Fullscreen
++ I AddToMenu menu_WindowOps "$[gt.Window position]" Title
++ I + "&8. $[gt.Send to page]" Popup menu_WindowSendToPage
++ I + "&9. $[gt.Move Up]" Pick AnimatedMove keep 0p Warp
++ I + "&a. $[gt.Move to Left]" Pick AnimatedMove $[tab_size]p keep Warp
++ I SetEnv w_width $[w.width]
++ I SetEnv w_height $[w.height]
++ I + "&b. $[gt.Move to Right]" Pick \
+ PipeRead "echo AnimatedMove $$(($[vp_width] - $[w_width] - $[right_margin]))p keep Warp"
++ I + "&c. $[gt.Move Down]" Pick \
+ PipeRead "echo AnimatedMove keep $$(($[height] - $[w_height]))p Warp"
++ I UnsetEnv w_width
++ I UnsetEnv w_height
++ I + "&d. $[gt.Center]" Pick CentreWindow (136/2) (28/2) Animated
++ I + "&e. $[gt.Manual Move]" Pick Move
++ I ThisWindow (!Sticky) + "&f. $[gt.On all desktops]" Pick Stick
++ I TestRc (NoMatch) + "&f. $[gt.Drop here]" Pick Stick
++ I TestRc (Error) + "&f. $[gt.On all desktops]" Pick Stick
++ I AddToMenu menu_WindowOps "$[gt.Layer]" Title
++ I ThisWindow (!Overlapped) + "&g. $[gt.Bring Down]" Pick (CirculateHit) Lower
++ I ThisWindow (Overlapped) + "&g. $[gt.Raise]" Pick (CirculateHit) Raise
++ I ThisWindow (Layer 6) Nop
++ I TestRc (NoMatch) + "&h. $[gt.Always on Top]" Pick Layer 0 6
++ I TestRc (Error) + "&h. $[gt.Always on Top]" Pick Layer 0 6
++ I ThisWindow (Layer 2) Nop
++ I TestRc (NoMatch) + "&i. $[gt.Always Down]" Pick Layer 0 2
++ I TestRc (Error) + "&i. $[gt.Always Down]" Pick Layer 0 2
++ I ThisWindow (Layer 4) Nop
++ I TestRc (NoMatch) + "&j. $[gt.Default Layer]" Pick Layer 0 4
++ I TestRc (Error) + "&j. $[gt.Default Layer]" Pick Layer 0 4
+
+AddToMenu menu_WindowSendToPage \
+ DynamicPopupAction DynamicPagesMenu
+
+DestroyFunc DynamicPagesMenu
+AddToFunc DynamicPagesMenu
++ I DestroyMenu menu_WindowSendToPage
++ I AddToMenu menu_WindowSendToPage DynamicPopupAction DynamicPagesMenu
++ I AddToMenu menu_WindowSendToPage
++ I + "$[gt.Send to page]" Title
++ I Piperead `$[FVWM_USERDIR]/scripts/midclick_menu.sh $[gt.Send to page]`
diff --git a/panel.config b/panel.config
new file mode 100644
index 0000000..6b13fb4
--- /dev/null
+++ b/panel.config
@@ -0,0 +1,39 @@
+SetEnv title_width 18
+Piperead 'echo SetEnv pager_height $(($[height]-80-64))'
+Piperead 'echo SetEnv pages $((pager_height/96))'
+DesktopSize 1x$[pages]
+
+# PAGER
+DestroyModuleconfig FvwmPager: *
+*FvwmPager: Balloons
+*FvwmPager: DeskHilight
+*FvwmPager: WindowBorderWidth 2
+*FvwmPager: BalloonColorset * 12
+*FvwmPager: Colorset * 6
+*FvwmPager: HilightColorset * 10
+*FvwmPager: WindowColorsets 11 12
+*FvwmPager: BalloonFont $[ThemeTitleFont]
+*FvwmPager: Font none
+*FvwmPager: SmallFont $[ThemeMiniFont]
+*FvwmPager: UseSkipList
+*FvwmPager: Window3DBorders
+
+# PANEL
+DestroyModuleConfig FvwmTaskbar: *
+*FvwmTaskbar: Frame 1
+*FvwmTaskbar: Font $[ThemeTitleFont]
+*FvwmTaskbar: Colorset 9
+*FvwmTaskbar: Rows $[vp.height]
+*FvwmTaskbar: Columns 2
+*FvwmTaskbar: (2x$[pager_height], Swallow 'FvwmPager' 'FvwmPager')
+#*FvwmTaskbar: (1x64, Swallow (Close, UseOld) 'wmbubble' 'Exec wmbubble')
+#*FvwmTaskbar: (1x64, Swallow (Close, UseOld) 'AlsaMixer.app' 'Exec AlsaMixer.app')
+*FvwmTaskbar: (2x64, Swallow (NoClose, UseOld) stalonetray 'Exec stalonetray --no-shrink')
+*FvwmTaskbar: (2x64, Swallow 'dclock' 'Exec dclock')
+
+AddToFunc StartFunction I Piperead 'echo SetEnv i $(($[height] - 4))'
+AddToFunc StartFunction I Module FvwmButtons -g 124x$[i]-0+0 FvwmTaskbar
+AddToFunc StartFunction I EwmhBaseStruts 0 128 0 0
+AddToFunc StartFunction I UnsetEnv i
+AddToFunc StartFunction I All (Maximized) Maximize true
+AddToFunc StartFunction I Style FvwmTaskbar Colorset 2, HandleWidth 2, BorderWidth 2
diff --git a/scripts/clean.sh b/scripts/clean.sh
new file mode 100755
index 0000000..6f4a3ae
--- /dev/null
+++ b/scripts/clean.sh
@@ -0,0 +1,18 @@
+cd ${FVWM_USERDIR} || cd ~/.fvwm/ || exit 0
+
+# Clean links and stuff, raw configuration
+echo Cleaning links, for a raw configuration.
+rm -f $(find ${FVWM_USERDIR} -type l)
+
+# Clean some temporal crap and backups
+echo Cleaning some temporal crap and backups.
+find ${FVWM_USERDIR} -name "*~" -exec rm -f '{}' \;
+find ${FVWM_USERDIR} -name "*.rej" -exec rm -f '{}' \;
+find ${FVWM_USERDIR} -name "*.orig" -exec rm -f '{}' \;
+find ${FVWM_USERDIR} -name "*.save" -exec rm -f '{}' \;
+find ${FVWM_USERDIR} -name "magick*" -exec rm -f '{}' \;
+find ${FVWM_USERDIR} -name ".dolphinview" -exec rm -f '{}' \;
+rm -f ${FVWM_USERDIR}/.FvwmConsole-History
+rm -f ${FVWM_USERDIR}/FvwmCommand-*
+rm -f ${FVWM_USERDIR}/tmp/*
+echo
diff --git a/scripts/kde_colors b/scripts/kde_colors
new file mode 100755
index 0000000..6bf988c
--- /dev/null
+++ b/scripts/kde_colors
@@ -0,0 +1,82 @@
+#!/bin/bash
+
+COLORS_FILE="$(grep kcsrc ${HOME}/.kde/share/config/kdeglobals)"
+COLORS_FILE="${HOME}/.kde/share/apps/kdisplay/color-schemes/${COLORS_FILE/colorScheme=/}"
+echo "SetEnv kde_colors_file \"${COLORS_FILE}\""
+
+echo "UnsetEnv activeBackground"
+echo "UnsetEnv activeBlend"
+echo "UnsetEnv activeForeground"
+echo "UnsetEnv activeTitleBtnBg"
+echo "UnsetEnv alternateBackground"
+echo "UnsetEnv background"
+echo "UnsetEnv buttonBackground"
+echo "UnsetEnv buttonForeground"
+echo "UnsetEnv foreground"
+echo "UnsetEnv frame"
+echo "UnsetEnv handle"
+echo "UnsetEnv inactiveBackground"
+echo "UnsetEnv inactiveBlend"
+echo "UnsetEnv inactiveForeground"
+echo "UnsetEnv inactiveFrame"
+echo "UnsetEnv inactiveHandle"
+echo "UnsetEnv inactiveTitleBtnBg"
+echo "UnsetEnv linkColor"
+echo "UnsetEnv selectBackground"
+echo "UnsetEnv selectForeground"
+echo "UnsetEnv visitedLinkColor"
+echo "UnsetEnv windowBackground"
+echo "UnsetEnv windowForeground"
+
+[ -d "$COLORS_FILE" ] && \
+{
+ echo "#Predeterminado de KDE, seteando colores preconfigurados..."
+ echo "SetEnv activeBackground #418EDC"
+ echo "SetEnv activeBlend #6B91B8"
+ echo "SetEnv activeForeground #FFFFFF"
+ echo "SetEnv activeTitleBtnBg #DCDCDC"
+ echo "SetEnv alternateBackground #EDF4F9"
+ echo "SetEnv background #EFEFEF"
+ echo "SetEnv buttonBackground #DDDFE4"
+ echo "SetEnv buttonForeground #000000"
+ echo "SetEnv foreground #000000"
+ echo "SetEnv frame #EFEFEF"
+ echo "SetEnv handle #EFEFEF"
+ echo "SetEnv inactiveBackground #9DAABA"
+ echo "SetEnv inactiveBlend #9DAABA"
+ echo "SetEnv inactiveForeground #DDDDDD"
+ echo "SetEnv inactiveFrame #EFEFEF"
+ echo "SetEnv inactiveHandle #EFEFEF"
+ echo "SetEnv inactiveTitleBtnBg #DCDCDC"
+ echo "SetEnv linkColor #0000EE"
+ echo "SetEnv selectBackground #678DB2"
+ echo "SetEnv selectForeground #FFFFFF"
+ echo "SetEnv visitedLinkColor #52188B"
+ echo "SetEnv windowBackground #FFFFFF"
+ echo "SetEnv windowForeground #000000"
+} || \
+awk '
+ BEGIN {
+ FS="="
+ }
+ /^\[/ { next }
+ /^Name/ { next }
+ /^# KDE/ {next }
+ /\,/ && !/\#/ {
+ FS="="
+ n=split($2,dec,",")
+ if ( n == 3)
+ {
+ printf("%s %s #","SetEnv",$1)
+ for(i=1;i<=n;i++)
+ {
+ printf("%02X",dec[i])
+ }
+ printf("\n")
+ }
+ }
+ !/\,/ && /\#/ {
+ FS="="
+ printf("%s %s %s\n","SetEnv",$1,$2)
+ }' \
+ "$COLORS_FILE"
diff --git a/scripts/kde_colors_have_changed b/scripts/kde_colors_have_changed
new file mode 100755
index 0000000..cbc3405
--- /dev/null
+++ b/scripts/kde_colors_have_changed
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+COLORS_FILE="$(grep kcsrc ${HOME}/.kde/share/config/kdeglobals)"
+COLORS_FILE="${HOME}/.kde/share/apps/kdisplay/color-schemes/${COLORS_FILE/colorScheme=/}"
+kde_new_colors_file="$COLORS_FILE"
+
+test_change_colors() {
+
+ echo "kde_colors_file = $kde_colors_file"
+ echo "kde_new_colors_file = $kde_new_colors_file"
+
+ if [ ! "${kde_new_colors_file}" == "${kde_colors_file}" ]
+ then
+ {
+ FvwmCommand Restart
+ }
+ fi
+ return 0
+}
+
+inotifywait -m -e moved_to "${HOME}/.kde/share/config/kdeglobals" | \
+while read
+do
+# test_change_colors
+ FvwmCommand Restart
+done
diff --git a/scripts/menu_colorset.sh b/scripts/menu_colorset.sh
new file mode 100755
index 0000000..fab3d36
--- /dev/null
+++ b/scripts/menu_colorset.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+# Note to self:
+# Make sure that no output is send to stdout
+# only stuff that fvwm can digest is allowed
+# Just echo the rest with \# in front of the line
+
+for i in ${FVWM_USERDIR}/colorsets/*.cs
+do
+ echo "+ \"\&$(basename "${i%.cs}")\" ChangeColorset \"${i}\""
+done
diff --git a/scripts/menu_decoration.sh b/scripts/menu_decoration.sh
new file mode 100755
index 0000000..cde9e84
--- /dev/null
+++ b/scripts/menu_decoration.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+# Note to self:
+# Make sure that no output is send to stdout
+# only stuff that fvwm can digest is allowed
+# Just echo the rest with \# in front of the line
+
+for i in ${FVWM_USERDIR}/decorations/*.deco
+do
+ echo "+ \"\&$(basename "${i%.deco}")\" ChangeDecoration \"${i}\""
+done
diff --git a/scripts/menu_fonttheme.sh b/scripts/menu_fonttheme.sh
new file mode 100755
index 0000000..1b51bc2
--- /dev/null
+++ b/scripts/menu_fonttheme.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+# Note to self:
+# Make sure that no output is send to stdout
+# only stuff that fvwm can digest is allowed
+# Just echo the rest with \# in front of the line
+
+for i in ${FVWM_USERDIR}/fontthemes/*.ft
+do
+ echo "+ \"\&$(basename "${i%.ft}")\" ChangeFonttheme \"${i}\""
+done
diff --git a/scripts/miau.sh b/scripts/miau.sh
new file mode 100755
index 0000000..b20075e
--- /dev/null
+++ b/scripts/miau.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+sonidos="${FVWM_USERDIR}/cats/"
+
+MSG=$(fortune)
+#kdialog --passivepopup "$MSG"
+notify-send --icon="${FVWM_USERDIR}/images/gato_icon.png" --expire-time=25000 "$MSG"
+
+if [[ -d "${sonidos}" ]]
+then
+ files=$(ls "${sonidos}")
+ file_matrix=($files)
+ num_files=${#file_matrix[*]}
+ play "${sonidos}/${file_matrix[$((RANDOM%num_files))]}"
+fi
+
+exit 0
diff --git a/scripts/midclick_menu.sh b/scripts/midclick_menu.sh
new file mode 100755
index 0000000..c394223
--- /dev/null
+++ b/scripts/midclick_menu.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#i=$(cat ${FVWM_USERDIR}/config-options/desktop_size)
+i=1x$[pages]
+j=${i}
+
+i=${i%x*}
+j=${j#*x}
+
+a=0
+b=0
+
+while [[ ${a} -lt ${i} ]]
+do
+ while [[ ${b} -lt ${j} ]]
+ do
+ echo + "\"${@} $a,$b\"" Pick MoveToPage $a $b
+ b=$((${b} + 1))
+ done
+ a=$((${a} + 1))
+ b=0
+done
diff --git a/scripts/panel_thumbnailer.sh b/scripts/panel_thumbnailer.sh
new file mode 100755
index 0000000..8da8a37
--- /dev/null
+++ b/scripts/panel_thumbnailer.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+# Note to self:
+# Make sure that no output is send to stdout
+# only stuff that fvwm can digest is allowed
+# Just echo the rest with \# in front of the line
+
+# Wallpaper directory as a variable makes it more flexible ;-)
+# This var is read now in initVars.config
+DEBUG=1
+test ! -d "${WALLPAPERDIR}/.thumbs" \
+ && mkdir -p "${WALLPAPERDIR}/.thumbs"
+
+x=$((${width} / 10))
+y=$((${height} / 10))
+
+menuthumbsize="${x}x${y}"
+
+for i in \
+ ${WALLPAPERDIR}/*.jpg \
+ ${WALLPAPERDIR}/*.png \
+ ${WALLPAPERDIR}/*.gif
+do \
+ if [[ ! -f "${i}" ]]; then continue; fi
+ if [[ -f "${WALLPAPERDIR}/.thumbs/$(basename ${i}.png)" ]]
+ then
+ i_size=$(identify -verbose "${WALLPAPERDIR}/.thumbs/$(basename ${i}.png)" \
+ | grep Geometry | sed -e 's/ Geometry: //' | sed -e 's/+.*+.*//')
+ else
+ i_size=0x0
+ fi
+ [ "$DEBUG" == "1" ] && echo "#"
+ [ "$DEBUG" == "1" ] && echo "# $i"
+ [ "$DEBUG" == "1" ] && echo "# Image size = \"${i_size}\", wanted size = \"${menuthumbsize}\""
+ if [[ ! "${menuthumbsize}" == "${i_size}" ]]
+ then
+ [ "$DEBUG" == "1" ] && echo "# Thumbnailing: ${i} ..."
+ convert -scale ${menuthumbsize}! "${i}" "png:${WALLPAPERDIR}/.thumbs/$(basename ${i}).png"
+ fi
+done || (echo error && exit 1)
+
+for i in \
+ ${WALLPAPERDIR}/*.jpg \
+ ${WALLPAPERDIR}/*.png \
+ ${WALLPAPERDIR}/*.gif
+do \
+ if [[ ! -f "${i}" ]]; then continue; fi
+ [ "$DEBUG" == "1" ] && echo "#"
+ echo "*FvwmWallpaperChanger: (Title \"$(basename ${i})\", Icon \"${WALLPAPERDIR}/.thumbs/$(basename ${i}.png)\", Action (Mouse 1) ChangeWallpaper \"${i}\")"
+done
+
+[ "$DEBUG" == "1" ] && echo "# x,y = $x,$y"
+
+exit 0
diff --git a/scripts/random_wallpaper.sh b/scripts/random_wallpaper.sh
new file mode 100755
index 0000000..213e6fc
--- /dev/null
+++ b/scripts/random_wallpaper.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+# Reads a given directory and set a random
+# wallpaper using the images on that dir.
+
+if [[ -d "${WALLPAPERDIR}" ]]
+then
+ files=$(ls "${WALLPAPERDIR}")
+ file_matrix=($files)
+ num_files=${#file_matrix[*]}
+ convert "${WALLPAPERDIR}/${file_matrix[$((RANDOM%num_files))]}" -resize `xdpyinfo |grep dimensions|awk '{print $2}'` "${FVWM_USERDIR}/tmp/current_wall.png"
+ feh --bg-center "${FVWM_USERDIR}/tmp/current_wall.png"
+fi
+
+exit 0
diff --git a/scripts/traffic.sh b/scripts/traffic.sh
new file mode 100755
index 0000000..67910da
--- /dev/null
+++ b/scripts/traffic.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+while true
+do
+ clear
+ vnstat -u; vnstat -i ppp0 | grep Database | awk '{print "updated : " $6}'
+ vnstat -u; vnstat -i ppp0 | grep received | awk '{print "download : " $2 $3}'
+ vnstat -u; vnstat -i ppp0 | grep transmitted | awk '{print "upload : " $2 $3}'
+ vnstat -u; vnstat -i ppp0 | grep total: | awk '{print "total : " $2 $3}'
+ sleep 60
+done
diff --git a/styles.config b/styles.config
new file mode 100644
index 0000000..d77410f
--- /dev/null
+++ b/styles.config
@@ -0,0 +1,53 @@
+Style * MiniIcon xapp.png
+Style * IconBox screen 0 15 10 -10 -10, IconGrid 24 24, \
+ IconFill left bottom, IconSize 128 96
+Style * IconTitleColorset 16
+Style * HilightIconTitleColorset 1
+Style * IconTitleRelief 0
+Style * IconFont $[ThemeHeadFont]
+Style * IconBackgroundPadding 5
+Style * StickyAcrossPagesIcon
+Style * StickyIcon
+Style * IconBackgroundRelief 0
+
+Style * WindowShadeShrinks
+Style * MinOverlapPlacement
+Style * MouseFocusClickRaises
+Style * SloppyFocus
+#Style * !AllowMaximizeFixedSize
+Style * FPReleaseFocus
+Style * !FPFocusByProgram
+Style * !FPGrabFocus
+Style * MWMBorder, FirmBorder
+Style * DecorateTransient
+Style * ResizeOpaque
+Style * SkipMapping
+Style * SnapGrid 1 1
+Style * SnapAttraction 8 Windows Screen
+Style * EdgeMoveDelay $[edgeres]
+Style * EdgeMoveResistance 20 20
+Style * Colorset 1
+Style * HilightColorset 2
+
+Style FvwmPager FixedPosition, FixedSize, BorderWidth 0, HandleWidth 0, \
+ !Title, WindowListSkip, Sticky, NeverFocus, Layer 1
+
+Style "FvwmTaskbar" NoTitle, Sticky, !Iconifiable, \
+ WindowListSkip, CirculateSkip, NeverFocus
+
+Style "FvwmIconbar" NoTitle, Sticky, !Iconifiable, FixedSize, \
+ WindowListSkip, Layer 5, BorderWidth 1, HandleWidth 0, CirculateSkip
+
+Style "FvwmIdent" !Button 1, !Button 4, !Button 6
+Style "dclock" !Title, WindowListSkip
+
+Style "SDL_App" BorderWidth 0, HandleWidth 0, NoTitle, NoHandles, EWMHIgnoreStrutHints, EWMHMaximizeIgnoreWorkingArea
+Style "stalonetray" NeverFocus, WindowListSkip, Sticky, FixedPosition, NoTitle, BorderWidth 0, HandleWidth 0, Layer 1
+Style "alsamixer" Layer 6, BorderWidth 3, HandleWidth 3, !Title, GrabFocus
+Style "FvwmConsole" GrabFocus
+Style "urxvt" GrabFocus
+Style "nephilim.py" StartsOnPage 0 5, Maximized
+Style "Xchat" StartsOnPage 0 1
+Style "Iceweasel" StartsOnPage 0 0
+Style "psi" StartsOnPage 0 4
+Style "MPlayer" Sticky
diff --git a/tmp/current_wall.png b/tmp/current_wall.png
new file mode 100644
index 0000000..6d0035e
--- /dev/null
+++ b/tmp/current_wall.png
Binary files differ
diff --git a/tmp/icon.tmp.0x2a0000a.xwd b/tmp/icon.tmp.0x2a0000a.xwd
new file mode 100644
index 0000000..04e6a67
--- /dev/null
+++ b/tmp/icon.tmp.0x2a0000a.xwd
Binary files differ
diff --git a/tmp/icon.tmp.0x2e00038.xwd b/tmp/icon.tmp.0x2e00038.xwd
new file mode 100644
index 0000000..2c641a0
--- /dev/null
+++ b/tmp/icon.tmp.0x2e00038.xwd
Binary files differ
diff --git a/tmp/icon.tmp.0x3400001.xwd b/tmp/icon.tmp.0x3400001.xwd
new file mode 100644
index 0000000..3cac8be
--- /dev/null
+++ b/tmp/icon.tmp.0x3400001.xwd
Binary files differ
diff --git a/tmp/icon.tmp.0x3400155.png b/tmp/icon.tmp.0x3400155.png
new file mode 100644
index 0000000..fb700b8
--- /dev/null
+++ b/tmp/icon.tmp.0x3400155.png
Binary files differ
diff --git a/tmp/icon.tmp.0x3400155.xwd b/tmp/icon.tmp.0x3400155.xwd
new file mode 100644
index 0000000..857af1f
--- /dev/null
+++ b/tmp/icon.tmp.0x3400155.xwd
Binary files differ
diff --git a/tmp/icon.tmp.0x3c00007.png b/tmp/icon.tmp.0x3c00007.png
new file mode 100644
index 0000000..b249f21
--- /dev/null
+++ b/tmp/icon.tmp.0x3c00007.png
Binary files differ
diff --git a/tmp/icon.tmp.0x3c00007.xwd b/tmp/icon.tmp.0x3c00007.xwd
new file mode 100644
index 0000000..b456051
--- /dev/null
+++ b/tmp/icon.tmp.0x3c00007.xwd
Binary files differ
diff --git a/tmp/icon.tmp.0xe00001.xwd b/tmp/icon.tmp.0xe00001.xwd
new file mode 100644
index 0000000..4888eca
--- /dev/null
+++ b/tmp/icon.tmp.0xe00001.xwd
Binary files differ