summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
authorCecil <knoppmyth@gmail.com>2011-12-09 17:18:27 (GMT)
committerCecil <knoppmyth@gmail.com>2011-12-09 17:18:27 (GMT)
commitc034db2c880091379f7e58c2938a9689d78fbaa9 (patch)
tree8a074205a2f3bf6ee7fb5945c53e1a1618d41973 /abs
parent73b42144585c603fc64e7b1d6a126ceb7c486870 (diff)
parentb0c5755ade92ee5b76a6d56248e64254876bc931 (diff)
downloadlinhes_pkgbuild-c034db2c880091379f7e58c2938a9689d78fbaa9.zip
linhes_pkgbuild-c034db2c880091379f7e58c2938a9689d78fbaa9.tar.gz
linhes_pkgbuild-c034db2c880091379f7e58c2938a9689d78fbaa9.tar.bz2
Merge branch 'testing' of ssh://cesman@linhes.org/mount/repository/linhes_pkgbuild into testing
Diffstat (limited to 'abs')
-rw-r--r--abs/core/LinHES-config/PKGBUILD10
-rwxr-xr-xabs/core/LinHES-config/mv_common.py66
-rwxr-xr-xabs/core/LinHES-config/mv_hostype.py208
-rwxr-xr-xabs/core/LinHES-config/mv_install.py5
-rwxr-xr-xabs/core/LinHES-config/systemconfig.py9
-rwxr-xr-xabs/core/LinHES-system/LinHES-session331
-rwxr-xr-xabs/core/LinHES-system/PKGBUILD11
-rw-r--r--abs/core/LinHES-system/myth_status.py76
-rw-r--r--abs/core/LinHES-system/myth_status.sh3
-rw-r--r--abs/core/LinHES-system/set_windowmanager.sh100
-rw-r--r--abs/core/certmaster/PKGBUILD35
-rw-r--r--abs/core/certmaster/acl_fix_fstab.py39
-rw-r--r--abs/core/certmaster/certmaster-0.28.tar.gzbin0 -> 50409 bytes
-rw-r--r--abs/core/certmaster/certmaster.conf13
-rw-r--r--abs/core/certmaster/certmaster.install65
-rw-r--r--abs/core/certmaster/logrotate-certmaster.conf19
-rw-r--r--abs/core/certmaster/minion.conf8
-rw-r--r--abs/core/confuse/PKGBUILD23
-rw-r--r--abs/core/cython/PKGBUILD26
-rw-r--r--abs/core/dcron/PKGBUILD2
-rw-r--r--abs/core/dcron/__changelog8
-rw-r--r--abs/core/dcron/crond.logrotate5
-rw-r--r--abs/core/dcron/dcron.install7
-rw-r--r--abs/core/e16_theme_settings/PKGBUILD19
-rw-r--r--abs/core/e16_theme_settings/e16.install44
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.bg46
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.buttons0
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg174
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.ibox0
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.snapshots61
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/epplets.menu1
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/file.menu6
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/AudioVideo.menu5
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Development.menu4
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Network.menu3
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Settings.menu2
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/System.menu2
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Utility.menu2
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/index.menu5
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/menus/user_apps.menu21
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/MAIN38
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/README114
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/Vera.ttfbin0 -> 65932 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/VeraBd.ttfbin0 -> 58716 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-back.pngbin0 -> 211920 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-elogo.pngbin0 -> 6438 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-summer.pngbin0 -> 73670 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-startup.pngbin0 -> 119 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-summer01.pngbin0 -> 5764 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/lh-wallpaper.pngbin0 -> 107688 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_off.pngbin0 -> 257 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_on.pngbin0 -> 242 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_off.pngbin0 -> 226 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_on.pngbin0 -> 206 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_off.pngbin0 -> 168 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_on.pngbin0 -> 162 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_off.pngbin0 -> 185 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_on.pngbin0 -> 177 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_off.pngbin0 -> 188 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_on.pngbin0 -> 177 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-off.pngbin0 -> 167 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-on.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_off.pngbin0 -> 175 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_on.pngbin0 -> 186 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_off.pngbin0 -> 145 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_on.pngbin0 -> 149 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_off.pngbin0 -> 150 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_on.pngbin0 -> 150 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_off.pngbin0 -> 226 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_on.pngbin0 -> 206 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_off.pngbin0 -> 133 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_on.pngbin0 -> 127 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-off.pngbin0 -> 180 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-on.pngbin0 -> 181 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_off.pngbin0 -> 191 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_on.pngbin0 -> 199 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-b_on.pngbin0 -> 211 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-t_on.pngbin0 -> 213 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-off.pngbin0 -> 167 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-on.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_off.pngbin0 -> 175 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_on.pngbin0 -> 186 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_off.pngbin0 -> 253 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_on.pngbin0 -> 234 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_off.pngbin0 -> 159 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_on.pngbin0 -> 160 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bl.pngbin0 -> 145 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bm.pngbin0 -> 140 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-br.pngbin0 -> 231 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lh.pngbin0 -> 127 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lm.pngbin0 -> 149 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-rh.pngbin0 -> 127 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tl.pngbin0 -> 136 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tm.pngbin0 -> 140 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tr.pngbin0 -> 206 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bl.pngbin0 -> 233 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bm.pngbin0 -> 140 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-br.pngbin0 -> 147 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-lh.pngbin0 -> 127 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rh.pngbin0 -> 127 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rm.pngbin0 -> 149 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tl.pngbin0 -> 207 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tm.pngbin0 -> 140 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tr.pngbin0 -> 139 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-blank.pngbin0 -> 128 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-box.pngbin0 -> 250 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-back.pngbin0 -> 196 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-off.pngbin0 -> 154 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-on.pngbin0 -> 152 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_off.pngbin0 -> 179 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_on.pngbin0 -> 157 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-off.pngbin0 -> 136 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-on.pngbin0 -> 136 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_off.pngbin0 -> 165 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_on.pngbin0 -> 154 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-off.pngbin0 -> 151 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-on.pngbin0 -> 151 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_off.pngbin0 -> 187 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_on.pngbin0 -> 169 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-off.pngbin0 -> 138 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-on.pngbin0 -> 139 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_off.pngbin0 -> 149 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_on.pngbin0 -> 139 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-off.pngbin0 -> 136 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-on.pngbin0 -> 137 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_off.pngbin0 -> 147 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_on.pngbin0 -> 137 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-off.pngbin0 -> 164 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-on.pngbin0 -> 147 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_off.pngbin0 -> 183 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_on.pngbin0 -> 169 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-off.pngbin0 -> 179 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-on.pngbin0 -> 179 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_off.pngbin0 -> 226 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_on.pngbin0 -> 226 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-separator.pngbin0 -> 130 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setarea.pngbin0 -> 161 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setback.pngbin0 -> 142 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setborder.pngbin0 -> 161 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_off.pngbin0 -> 158 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_on.pngbin0 -> 149 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_off.pngbin0 -> 162 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_on.pngbin0 -> 148 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-table.pngbin0 -> 152 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_off.pngbin0 -> 215 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_on.pngbin0 -> 207 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_off.pngbin0 -> 202 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_on.pngbin0 -> 210 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_off.pngbin0 -> 207 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_on.pngbin0 -> 197 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_off.pngbin0 -> 203 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_on.pngbin0 -> 206 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarh.pngbin0 -> 142 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarv.pngbin0 -> 137 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-off.pngbin0 -> 165 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-on.pngbin0 -> 165 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_off.pngbin0 -> 176 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_on.pngbin0 -> 166 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-off.pngbin0 -> 167 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-on.pngbin0 -> 165 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_off.pngbin0 -> 175 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_on.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-off.pngbin0 -> 166 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-on.pngbin0 -> 165 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_off.pngbin0 -> 176 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_on.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-off.pngbin0 -> 163 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-on.pngbin0 -> 165 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_off.pngbin0 -> 176 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_on.pngbin0 -> 167 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-back.pngbin0 -> 171 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-off.pngbin0 -> 139 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-on.pngbin0 -> 139 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_off.pngbin0 -> 150 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_on.pngbin0 -> 140 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_off.pngbin0 -> 150 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_on.pngbin0 -> 139 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-off.pngbin0 -> 171 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-on.pngbin0 -> 171 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_off.pngbin0 -> 182 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_on.pngbin0 -> 172 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-draw.pngbin0 -> 239 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-off.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-on.pngbin0 -> 168 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_off.pngbin0 -> 179 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_on.pngbin0 -> 172 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-off.pngbin0 -> 179 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-on.pngbin0 -> 177 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_off.pngbin0 -> 188 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_on.pngbin0 -> 182 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-off.pngbin0 -> 169 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-on.pngbin0 -> 169 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_off.pngbin0 -> 180 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_on.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-off.pngbin0 -> 136 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-on.pngbin0 -> 137 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_off.pngbin0 -> 147 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_on.pngbin0 -> 137 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-off.pngbin0 -> 171 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-on.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_off.pngbin0 -> 181 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_on.pngbin0 -> 172 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-list.pngbin0 -> 137 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-off.pngbin0 -> 173 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-on.pngbin0 -> 172 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_off.pngbin0 -> 182 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_on.pngbin0 -> 175 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-off.pngbin0 -> 166 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-on.pngbin0 -> 165 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_off.pngbin0 -> 176 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_on.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-off.pngbin0 -> 172 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-on.pngbin0 -> 172 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_off.pngbin0 -> 182 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_on.pngbin0 -> 173 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-off.pngbin0 -> 177 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-on.pngbin0 -> 178 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_off.pngbin0 -> 188 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_on.pngbin0 -> 183 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-off.pngbin0 -> 170 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-on.pngbin0 -> 168 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_off.pngbin0 -> 178 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_on.pngbin0 -> 171 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-off.pngbin0 -> 175 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-on.pngbin0 -> 174 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_off.pngbin0 -> 186 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_on.pngbin0 -> 176 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_off.pngbin0 -> 173 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_on.pngbin0 -> 143 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_off.pngbin0 -> 171 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_on.pngbin0 -> 147 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-off.pngbin0 -> 153 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-on.pngbin0 -> 153 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_off.pngbin0 -> 164 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_on.pngbin0 -> 154 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-off.pngbin0 -> 159 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-on.pngbin0 -> 160 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_off.pngbin0 -> 171 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_on.pngbin0 -> 161 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-off.pngbin0 -> 201 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-on.pngbin0 -> 187 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_off.pngbin0 -> 219 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_on.pngbin0 -> 206 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-back.pngbin0 -> 167 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-cover.pngbin0 -> 3269 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-empty.pngbin0 -> 140 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_off.pngbin0 -> 168 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_on.pngbin0 -> 158 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollbase.pngbin0 -> 137 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_off.pngbin0 -> 175 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_on.pngbin0 -> 180 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_off.pngbin0 -> 164 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_on.pngbin0 -> 173 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-basebar.pngbin0 -> 236 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-progbar.pngbin0 -> 621 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-textbar.pngbin0 -> 621 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-off.pngbin0 -> 208 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-on.pngbin0 -> 194 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_off.pngbin0 -> 197 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_on.pngbin0 -> 193 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-off.pngbin0 -> 164 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-on.pngbin0 -> 162 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-back.pngbin0 -> 149 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-select.pngbin0 -> 212 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-window.pngbin0 -> 158 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/tooltips/tooltip-box.pngbin0 -> 419 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders.cfg17
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/borderless.cfg11
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/default.cfg228
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/dialog.cfg168
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/fixed_size.cfg208
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/iconbox.cfg146
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/menu.cfg124
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager.cfg218
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager_right.cfg217
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/shaped.cfg146
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/transient.cfg188
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/copyright90
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/cursors.cfg69
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/desktops.cfg52
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg21
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg21
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/header.pngbin0 -> 96061 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/startup-overlay.pngbin0 -> 202210 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses.cfg18
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/borders.cfg348
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/coords.cfg10
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dialogs.cfg153
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dock.cfg12
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dragbar.cfg67
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/epplets.cfg293
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/focuslist.cfg12
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/iconbox.cfg102
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/menustyles.cfg32
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/pager.cfg22
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/tooltips.cfg27
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/init.cfg48
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/license340
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/menustyles.cfg13
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg203
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/tooltips.cfg10
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Vera.ttfbin0 -> 65932 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/VeraBd.ttfbin0 -> 58716 bytes
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/windowmatches.cfg16
-rw-r--r--abs/core/enlightenment/PKGBUILD39
-rw-r--r--abs/core/enlightenment/__changelog1
-rw-r--r--abs/core/enlightenment/startup.patch42
-rw-r--r--abs/core/fping/PKGBUILD32
-rw-r--r--abs/core/func/PKGBUILD44
-rw-r--r--abs/core/func/failed_func.sh19
-rw-r--r--abs/core/func/fe_restart.py35
-rw-r--r--abs/core/func/func-0.24.tar.gzbin0 -> 130319 bytes
-rw-r--r--abs/core/func/func-0.25.tar.gzbin0 -> 152871 bytes
-rw-r--r--abs/core/func/func.install56
-rw-r--r--abs/core/func/minion.conf8
-rw-r--r--abs/core/func/msg.cfg6
-rw-r--r--abs/core/func/msg.py135
-rw-r--r--abs/core/func/pacman.py36
-rw-r--r--abs/core/func/power.py35
-rw-r--r--abs/core/keylaunch/PKGBUILD19
-rw-r--r--abs/core/keylaunch/example_rc28
-rw-r--r--abs/core/keylaunch/keylaunch.install44
-rw-r--r--abs/core/libaosd/PKGBUILD25
-rw-r--r--abs/core/lighttpd/PKGBUILD4
-rw-r--r--abs/core/lighttpd/__changelog9
-rw-r--r--abs/core/lighttpd/lighttpd.conf21
-rw-r--r--abs/core/powermate_myth/PKGBUILD16
-rw-r--r--abs/core/powermate_myth/powermate-myth.py214
-rw-r--r--abs/core/powermate_myth/powermate.py106
-rw-r--r--abs/core/python_modules/python2-distribute/PKGBUILD (renamed from abs/core/python2-distribute/PKGBUILD)4
-rw-r--r--abs/core/python_modules/python2-distribute/distribute-0.6.14_python2_and_3.patch (renamed from abs/core/python2-distribute/distribute-0.6.14_python2_and_3.patch)0
-rw-r--r--abs/core/python_modules/python_aosd/PKGBUILD16
-rw-r--r--abs/core/rsyslog/PKGBUILD58
-rw-r--r--abs/core/rsyslog/log_care.sh8
-rw-r--r--abs/core/rsyslog/rsyslog39
-rw-r--r--abs/core/rsyslog/rsyslog.conf.d6
-rw-r--r--abs/core/rsyslog/rsyslog.conf.linhes86
-rw-r--r--abs/core/rsyslog/rsyslog.install16
-rwxr-xr-xabs/core/runit-scripts/PKGBUILD2
-rwxr-xr-xabs/core/runit-scripts/runit.install2
-rw-r--r--abs/core/runit-scripts/runitscripts/services/certmaster/run29
-rw-r--r--abs/core/runit-scripts/runitscripts/services/funcd/run20
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/hobbit-client/run74
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/hobbit/run9
-rw-r--r--abs/core/runit-scripts/runitscripts/services/powermate/finish21
-rw-r--r--abs/core/runit-scripts/runitscripts/services/powermate/run7
-rw-r--r--abs/core/runit-scripts/runitscripts/services/rsyslog/run10
-rw-r--r--abs/core/runit-scripts/runitscripts/services/xymon-client/run60
-rw-r--r--abs/core/runit-scripts/runitscripts/services/xymon-server/run9
-rw-r--r--abs/core/supplemental-web/PKGBUILD40
-rw-r--r--abs/core/supplemental-web/cgi/beclear.cgi4
-rw-r--r--abs/core/supplemental-web/cgi/bestop.cgi6
-rw-r--r--abs/core/supplemental-web/cgi/diskless.py11
-rw-r--r--abs/core/supplemental-web/cgi/serverkey.cgi3
-rw-r--r--abs/core/supplemental-web/contents/calllog.py66
-rw-r--r--abs/core/supplemental-web/contents/calllog.shtml20
-rw-r--r--abs/core/supplemental-web/contents/count.py89
-rw-r--r--abs/core/supplemental-web/contents/docs.html65
-rw-r--r--abs/core/supplemental-web/contents/error-handler.html9
-rw-r--r--abs/core/supplemental-web/contents/error/hobbit.html11
-rw-r--r--abs/core/supplemental-web/contents/error/mythweb.html16
-rw-r--r--abs/core/supplemental-web/contents/error/phpadmin.html28
-rw-r--r--abs/core/supplemental-web/contents/error/status-404.html9
-rw-r--r--abs/core/supplemental-web/contents/frame.css193
-rw-r--r--abs/core/supplemental-web/contents/header.html34
-rw-r--r--abs/core/supplemental-web/contents/header.jpg.mvbin0 -> 88341 bytes
-rw-r--r--abs/core/supplemental-web/contents/home.shtml23
-rw-r--r--abs/core/supplemental-web/contents/images/classic-menugraph.pngbin0 -> 144106 bytes
-rw-r--r--abs/core/supplemental-web/contents/images/dvr_menugraph.pngbin0 -> 207288 bytes
-rw-r--r--abs/core/supplemental-web/contents/images/menu_diagram_color.pngbin0 -> 193264 bytes
-rw-r--r--abs/core/supplemental-web/contents/index.htm14
-rw-r--r--abs/core/supplemental-web/contents/linhes_header.pngbin0 -> 57259 bytes
-rw-r--r--abs/core/supplemental-web/contents/links.html30
-rw-r--r--abs/core/supplemental-web/contents/mv.css100
-rw-r--r--abs/core/supplemental-web/contents/mvp_process.py195
-rw-r--r--abs/core/supplemental-web/contents/mvp_select.py146
-rw-r--r--abs/core/supplemental-web/contents/mvpmc.shtml21
-rw-r--r--abs/core/supplemental-web/contents/page_background.jpgbin0 -> 740 bytes
-rw-r--r--abs/core/supplemental-web/contents/process.py309
-rw-r--r--abs/core/supplemental-web/extra.cfg.txt7
-rw-r--r--abs/core/supplemental-web/grabkey.py111
-rw-r--r--abs/core/supplemental-web/lighttpd-supplement.conf46
-rw-r--r--abs/core/supplemental-web/notify.py29
-rw-r--r--abs/core/supplemental-web/supplemental-web.install67
-rw-r--r--abs/core/supplemental-web/wakeonlan.sh12
-rw-r--r--abs/core/tilda/PKGBUILD26
-rw-r--r--abs/core/tilda/config_053
-rw-r--r--abs/core/tilda/tilda-0.9.6.tar.gzbin0 -> 307517 bytes
-rw-r--r--abs/core/tilda/tilda.install44
-rw-r--r--abs/core/v4l-utils/PKGBUILD8
-rw-r--r--abs/core/v4l-utils/_changelog1
-rw-r--r--abs/core/wmaker_settings/GNUstep/Defaults/WMGLOBAL10
-rw-r--r--abs/core/wmaker_settings/GNUstep/Defaults/WMRootMenu213
-rw-r--r--abs/core/wmaker_settings/GNUstep/Defaults/WMState144
-rw-r--r--abs/core/wmaker_settings/GNUstep/Defaults/WMWindowAttributes25
-rw-r--r--abs/core/wmaker_settings/GNUstep/Defaults/WPrefs30
-rw-r--r--abs/core/wmaker_settings/GNUstep/Defaults/WindowMaker95
-rw-r--r--abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/licensedialog.Opera.xpm751
-rw-r--r--abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/tilda.Tilda.xpm239
-rw-r--r--abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README80
-rw-r--r--abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README.themes95
-rw-r--r--abs/core/wmaker_settings/GNUstep/Library/WindowMaker/autostart18
-rw-r--r--abs/core/wmaker_settings/GNUstep/Library/WindowMaker/exitscript11
-rw-r--r--abs/core/wmaker_settings/PKGBUILD19
-rw-r--r--abs/core/wmaker_settings/linhes.themed/README58
-rw-r--r--abs/core/wmaker_settings/linhes.themed/about.lsm0
-rw-r--r--abs/core/wmaker_settings/linhes.themed/background.pngbin0 -> 572789 bytes
-rw-r--r--abs/core/wmaker_settings/linhes.themed/bar.jpgbin0 -> 635 bytes
-rw-r--r--abs/core/wmaker_settings/linhes.themed/credits.lsm0
-rw-r--r--abs/core/wmaker_settings/linhes.themed/menutext.jpgbin0 -> 2978 bytes
-rw-r--r--abs/core/wmaker_settings/linhes.themed/style34
-rw-r--r--abs/core/wmaker_settings/linhes.themed/tile.jpgbin0 -> 730 bytes
-rw-r--r--abs/core/wmaker_settings/wmaker_settings.install44
-rw-r--r--abs/core/wmctrl/PKGBUILD30
-rw-r--r--abs/core/xdotool/PKGBUILD8
-rw-r--r--abs/core/xymon/PKGBUILD125
-rw-r--r--abs/core/xymon/alerts.cfg6
-rw-r--r--abs/core/xymon/analysis.cfg428
-rw-r--r--abs/core/xymon/be.pngbin0 -> 15618 bytes
-rw-r--r--abs/core/xymon/client-local.cfg.patch11
-rw-r--r--abs/core/xymon/clientlaunch.cfg.patch12
-rw-r--r--abs/core/xymon/graph.cfg.diff43
-rw-r--r--abs/core/xymon/hbfunc.py217
-rw-r--r--abs/core/xymon/hbnotes.py352
-rw-r--r--abs/core/xymon/hobbit-mem-myth.sh52
-rw-r--r--abs/core/xymon/hobbit-myth-orphan.sh54
-rw-r--r--abs/core/xymon/hobbit_myth_data.py99
-rw-r--r--abs/core/xymon/hobbit_notify.sh48
-rw-r--r--abs/core/xymon/hobbitadd.py95
-rw-r--r--abs/core/xymon/hobbitlaunch.cfg.diff40
-rw-r--r--abs/core/xymon/hobbitserver.cfg.diff45
-rw-r--r--abs/core/xymon/hobbitstorage.py121
-rw-r--r--abs/core/xymon/log_list.sh12
-rw-r--r--abs/core/xymon/logrotate.xymon11
-rw-r--r--abs/core/xymon/tasks.d.mv39
-rw-r--r--abs/core/xymon/tuner.pngbin0 -> 7685 bytes
-rw-r--r--abs/core/xymon/tv.pngbin0 -> 5968 bytes
-rw-r--r--abs/core/xymon/xymon-client.install22
-rw-r--r--abs/core/xymon/xymon.install68
-rw-r--r--abs/core/xymon/xymon_ghost_check2
-rw-r--r--abs/core/xymon/xymonserver.cfg.diff29
-rw-r--r--abs/extra/ddclient/PKGBUILD12
-rw-r--r--abs/extra/ddclient/__changelog1
-rw-r--r--abs/extra/ddclient/ddclient-foreground.patch47
-rwxr-xr-xabs/extra/wol/PKGBUILD28
-rwxr-xr-xabs/extra/wol/wakeonlan.sh10
-rw-r--r--abs/extra/wol/wol.install20
447 files changed, 12339 insertions, 176 deletions
diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index cc8b151..42597bc 100644
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-config
pkgver=2.3
-pkgrel=46
+pkgrel=51
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
pkgdesc="Install and configure your system"
depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -101,7 +101,7 @@ build() {
install -m 0755 issue $startdir/pkg/etc/issue
}
-md5sums=('6c0cbf0207f39a961d78861215109044'
+md5sums=('f6bca2af75ddb0902f0fa9ff4b6e4fd7'
'16b98fcb3753ef6cfc35075c326d30e4'
'e36da536dd651ef182e7642337889e77'
'985891a43f7c4c983eb2a362162f1a0f'
@@ -123,7 +123,7 @@ md5sums=('6c0cbf0207f39a961d78861215109044'
'3d1e4a119f38cff0498bf8a67e94e4b3'
'71fd2d0d448fc2fcd15415a1beed7109'
'5f3259afe031fda189edae41dd1458f0'
- '252ae3a088948a0d125ea6e8daa211f5'
+ 'dc150c1e2c915a55a616d1af5bb1f6de'
'b845de3e05c1734cce4b9ac5e8f1baaf'
'4d0464a1bef1819f6f9c100609eb55ad'
'5e69839659d65ddda35b8a9982dc29e9'
@@ -132,7 +132,7 @@ md5sums=('6c0cbf0207f39a961d78861215109044'
'fe5e31b833cc6707209e9d656b6eb53c'
'f0988a801216b44c96bf17e24a23e3a9'
'23d0e12b7ca1cc6ea6b993c1d7ff20b9'
- '8a713ce49211eb0b91c84ba0b9cf52fe'
- '5e3e06b31c40fe6b0e74860a8137b720'
+ '952ddc53f1c1ceee2139888219ce1bdf'
+ '892ba04c504b9be04b2573d015382eae'
'2596460462cf6c889cf8f95485537b20'
'a63ff9ef5250965aeabc74bfa8e43981')
diff --git a/abs/core/LinHES-config/mv_common.py b/abs/core/LinHES-config/mv_common.py
index 5257a5a..b5939f2 100755
--- a/abs/core/LinHES-config/mv_common.py
+++ b/abs/core/LinHES-config/mv_common.py
@@ -2,6 +2,7 @@
import logging, os, time
import commands
import ConfigParser
+import urllib2
config_file = "mv_config"
data_config = __import__(config_file, globals(), locals(), [])
@@ -11,6 +12,38 @@ try:
except:
logging.info("couldn't read mythvantage.cfg")
+class config_extra_reader(object):
+ def __init__(self,url):
+ self.url=url
+ self.Config = ConfigParser.ConfigParser()
+ req = urllib2.Request(url)
+ response = urllib2.urlopen(req)
+ self.Config.readfp(response)
+
+ def print_url(self):
+ print self.url
+
+
+ def print_sections(self):
+ print self.Config.sections()
+
+
+ def read_config(self,data):
+ rvalue = True
+ section = "extra"
+ try:
+ rvalue = self.Config.get(section, data)
+ if rvalue == "False":
+ rvalue = False
+ if rvalue == "no":
+ rvalue = False
+ except:
+ logging.debug("Couldn't read config_file")
+ rvalue = True
+
+ return rvalue
+
+
def read_config(module_config,data):
rvalue = True
@@ -61,6 +94,39 @@ def cp_and_log(srcfile,destfile):
cmd = ("rsync -arhp %s %s") %(srcfile,destfile)
runcmd(cmd)
+def link_file(srcfile,link_name):
+ logging.info(" Trying to link %s -> %s",srcfile,link_name)
+ if not os.path.exists(srcfile):
+ logging.info(" %s is not present, skipping...",srcfile)
+ elif os.path.exists(link_name):
+ logging.info(" %s is present, skipping...",link_name)
+ else:
+ try:
+ os.symlink(srcfile, link_name)
+ except:
+ logging.info(" Problem linking files occured")
+
+ return
+
+def mkdir_mythhome(mythhome):
+ if not os.path.exists(mythhome+"/.mythtv"):
+ logging.debug(" Creating %s/.mythtv",mythhome)
+ try:
+ os.mkdir(mythhome+"/.mythtv")
+ except:
+ logging.debug(" Couldn't create .mythtv ")
+ return
+ try:
+ os.chown(mythhome+"/.mythtv", mythuid, mythgid)
+ logging.debug("* Couldn't chown of %s", mythhome)
+ except:
+ cmd = ''' chown -R mythtv %s/.mythtv''' %mythhome
+ runcmd(cmd)
+ cmd = ''' chgrp -R mythtv %s/.mythtv''' %mythhome
+ runcmd(cmd)
+ pass
+
+
def add_service(daemon):
logging.info(" Adding service %s",daemon)
diff --git a/abs/core/LinHES-config/mv_hostype.py b/abs/core/LinHES-config/mv_hostype.py
index fd04a18..bdc12f4 100755
--- a/abs/core/LinHES-config/mv_hostype.py
+++ b/abs/core/LinHES-config/mv_hostype.py
@@ -59,15 +59,50 @@ def setup_mysqlnetwork(EnableNetwork):
mv_common.runcmd(cmd)
mv_common.restart_service("mysqld")
+
+def generate_config_xml(uuid,dbhost):
+ configxml_t ='''
+<Configuration>
+ <UPnP>
+ <UDN>
+ <MediaRenderer>%s</MediaRenderer>
+ </UDN>
+ <MythFrontend>
+ <DefaultBackend>
+ <DBHostName>%s</DBHostName>
+ <DBUserName>mythtv</DBUserName>
+ <DBPassword>mythtv</DBPassword>
+ <DBName>mythconverg</DBName>
+ <DBPort>0</DBPort>
+ </DefaultBackend>
+ </MythFrontend>
+ </UPnP>
+</Configuration>
+ '''
+ configxml= configxml_t %(uuid,dbhost)
+ return configxml
+
+def gen_uuid():
+ cmd = "/usr/bin/uuidgen"
+ uuid = mv_common.runcmd_output(cmd)
+ return uuid
+
def setup_mysql_connection(systemconfig):
+ #setup mysql.txt and config.xml
logging.info(" Configuring database connection")
mythip = systemconfig.get("mythip")
systemtype = systemconfig.get("SystemType")
mv_root = systemconfig.get("MVROOT")
mysqltxt = "/usr/share/mythtv/mysql.txt"
+ configxml_file = "/usr/share/mythtv/config.xml"
+
templates = systemconfig.get("TEMPLATES")
mysqltemplate = templates + "/mysql.txt"
dbhost = systemconfig.get("dbhost")
+ uuid = gen_uuid()
+ config_xml=generate_config_xml(uuid,dbhost)
+ mv_common.mkdir_mythhome(data_config.MYTHHOME)
+
if systemtype == "Master_backend":
logging.debug(" Setting dbhost to %s in systemconfig", mythip)
@@ -101,6 +136,20 @@ def setup_mysql_connection(systemconfig):
if os.path.exists(filecheck):
logging.info(" Scrapping all the previous work and using %s for mysql.txt", filecheck)
mv_common.cp_and_log(filecheck, mysqltxt)
+ try:
+ f = open(configxml_file, 'w')
+
+ for outline in config_xml:
+ f.write(outline)
+ f.close()
+ except:
+ logging.debug(" Couldn't write config.xml")
+
+ home_xml_file=data_config.MYTHHOME + "/.mythtv/config.xml"
+ mv_common.link_file(configxml_file,home_xml_file)
+
+
+
@@ -110,24 +159,101 @@ def setup_func_key():
cmd="/usr/MythVantage/bin/grabkey.py"
mv_common.runcmd(cmd)
-def setup_func_minion(dbhost):
- logging.info(" Setting up the func minion:")
+def setup_func_minion(dbhost,hostname):
+ logging.info(" Setting up the func minion: %s", hostname)
logging.debug(" certmaster is %s:",dbhost)
#cmd='''sed -i "s/^certmaster.*$/certmaster = %s/" /etc/func/minion.conf ''' %dbhost
#mv_common.runcmd(cmd)
cmd='''sed -i "s/^certmaster.*$/certmaster = %s/" /etc/certmaster/minion.conf ''' %dbhost
mv_common.runcmd(cmd)
+ cmd='''sed -i "s/^minion_name.*$/minion_name = %s/" /etc/func/minion.conf ''' %hostname
+ mv_common.runcmd(cmd)
def setup_syslog(dbhost):
logging.debug(" Setting syslog to log to %s",dbhost)
cmd ='''sed -i "s/^destination d_remote.*$/destination d_remote \{tcp\(\"%s\" port\(514\)\) \;\} \;/" /etc/syslog-ng.conf''' %dbhost
return
+def setup_rsyslog_server(enable_network):
+ syslog_conf_file="/etc/rsyslog.d/network.conf"
+ syslog_client_file="/etc/rsyslog.d/client.conf"
+ contents='''
+# ######### Receiving Messages from Remote Hosts ##########
+# TCP Syslog Server:
+# provides TCP syslog reception and GSS-API (if compiled to support it)
+$ModLoad imtcp.so # load module
+$InputTCPServerRun 514 # start up TCP listener at port 514
+# UDP Syslog Server:
+$ModLoad imudp.so # provides UDP syslog reception
+$UDPServerRun 514 # start a UDP syslog server at standard port 514
+'''
+ mv_common.remove_file(syslog_client_file)
+ if enable_network:
+ logging.info("____Enabling rsyslog network____")
+ try:
+ f = open(syslog_conf_file,'w')
+ except:
+ print "%s could not be opened" %syslog_conf_file
+ logging.debug("could not open %s" %syslog_conf_file)
+ return
+ f.write(contents)
+ f.write("\n")
+ f.close()
+ else:
+ logging.info("____Disabline rsyslog network____")
+ mv_common.remove_file(syslog_conf_file)
+
+ return
+
+def setup_rsyslog_client(rsyslog_server):
+ contents='''
+# Remote Logging (we use TCP for reliable delivery)
+# An on-disk queue is created for this action. If the remote host is
+# down, messages are spooled to disk and sent when it is up again.
+$WorkDirectory /var/spool/rsyslog # where to place spool files
+$ActionQueueFileName uniqName # unique name prefix for spool files
+$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
+$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
+$ActionQueueType LinkedList # run asynchronously
+$ActionResumeRetryCount -1 # infinite retries if host is down
+# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
+*.* @@%s:514
+'''
+
+ logging.info("____Enabling rsyslog network client____")
+ logging.info(" syslog_server: %s", rsyslog_server)
+ syslog_client_file="/etc/rsyslog.d/client.conf"
+ syslog_conf_file="/etc/rsyslog.d/network.conf"
+ try:
+ f = open(syslog_client_file,'w')
+ except:
+ print "%s could not be opened" %syslog_client_file
+ return
+ f.write(contents %rsyslog_server)
+ f.write("\n")
+ f.close()
+ mv_common.remove_file(syslog_conf_file)
+ cmd="mkdir -p /var/spool/rsyslog"
+ mv_common.runcmd(cmd)
+ return
+
def hostypeprint(systemconfig):
if mv_common.read_config(mv_common.module_config,"hostype") == False :
logging.info("____Skipping of hostype, config disabled____")
return
logging.info("______Start of hostype config_____")
+
+ url = 'http://%s:1337/extra.cfg.txt' %systemconfig.get("dbhost")
+ try:
+ ex = mv_common.config_extra_reader(url)
+ xymon_supported=ex.read_config('xymon')
+ rsyslog_network=ex.read_config('rsyslog_network')
+ func_supported=ex.read_config('func')
+ except:
+ xymon_supported=False
+ rsyslog_network=False
+ func_supported=False
+
mv_common.services(systemconfig)
install_list=''
remove_list=''
@@ -135,6 +261,9 @@ def hostypeprint(systemconfig):
daemon_remove_list=''
run_mysqlnetwork = False
+ profile_status="/etc/profile.d/z_myth_status.sh"
+ myth_status="/usr/LH/bin/myth_status.sh"
+
if systemconfig.get("SystemType") == "Standalone":
logging.info("Stand alone system being configured")
setup_ntp(False,"null")
@@ -145,8 +274,16 @@ def hostypeprint(systemconfig):
setup_db()
install_list=["mysql", "mythdb-initial", "avahi", "rpcbind", "nfs-utils", "local-website", "myth2ipod", "mythtv-status"]
daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd"]
- if data_config.SYSTEMTYPE == "MythVantage":
- install_list.append('ghosd')
+
+
+ mv_common.link_file(myth_status,profile_status)
+ setup_rsyslog_server(False)
+ if func_supported:
+ install_list.append('func')
+ daemon_list.append('funcd')
+ install_list.append('certmaster')
+ daemon_list.append('certmaster')
+
elif systemconfig.get("SystemType") == "Master_backend":
logging.info("Master backend system being configured")
@@ -156,48 +293,64 @@ def hostypeprint(systemconfig):
daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd"]
EnableNetwork = True
run_mysqlnetwork = True
- if data_config.SYSTEMTYPE == "MythVantage":
+ mv_common.link_file(myth_status,profile_status)
+
+ setup_rsyslog_server(True)
+ if func_supported:
+ #if data_config.SYSTEMTYPE == "MythVantage":
install_list.append('func')
- daemon_list.append('func')
+ daemon_list.append('funcd')
install_list.append('certmaster')
daemon_list.append('certmaster')
- install_list.append('ghosd')
+
elif systemconfig.get("SystemType") == "Slave_backend":
logging.info("Slave backend system being configured")
setup_ntp(True,systemconfig.get("dbhost"))
remove_avahi_service()
+ mv_common.link_file(myth_status,profile_status)
+
if systemconfig.get("hostypec"):
setup_db()
- install_list = ["rpcbind", "nfs-utils", "local-website", "avahi", "libmysqlclient" ]
- daemon_list = ["mythbackend", "rpcbind", "nfs-common", "netfs", "lighttpd", "avahi" ]
+ install_list = ["rpcbind", "nfs-utils", "avahi", "libmysqlclient" ]
+ daemon_list = ["mythbackend", "rpcbind", "nfs-common", "netfs", "avahi" ]
+
daemon_remove_list=('mysql')
- if data_config.SYSTEMTYPE == "MythVantage":
- install_list.remove("local-website")
- daemon_list.remove("lighttpd")
+ daemon_list.remove("lighttpd")
+ remove_list.append("lighttpd")
+
+ if func_supported:
install_list.append('func')
daemon_list.append('funcd')
- remove_list.append("lighttpd")
- install_list.append('ghosd')
+
+ if xymon_supported:
+ install_list.append('xymonclient')
+ daemon_list.append('xymon-client')
+
+ setup_rsyslog_client(systemconfig.get("dbhost"))
elif systemconfig.get("SystemType") == "Frontend_only":
logging.info("Frontend only system being configured")
setup_ntp(True,systemconfig.get("dbhost"))
remove_avahi_service()
- install_list=["mysql-clients", "libmysqlclient", "avahi", "rpcbind", "nfs-utils", "local-website"]
- remove_list=["mysql"]
- daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd"]
- daemon_remove_list=("mysql", "mythbackend")
- if data_config.SYSTEMTYPE == "MythVantage":
- install_list.remove("local-website")
- daemon_list.remove("lighttpd")
+ install_list=["mysql-clients", "libmysqlclient", "avahi", "rpcbind", "nfs-utils"]
+ remove_list=["mysql","lighttpd"]
+
+ daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs" ]
+ daemon_remove_list=["mysql", "mythbackend","lighttpd"]
+ if xymon_supported:
+ install_list.append('xymonclient')
+ daemon_list.append('xymon-client')
+
+ if func_supported:
install_list.append('func')
daemon_list.append('funcd')
- remove_list.append("lighttpd")
- install_list.append('ghosd')
+ #install_list.append('ghosd')
+ setup_rsyslog_client(systemconfig.get("dbhost"))
+ mv_common.restart_service("rsyslog")
for pkg in install_list:
mv_common.pacinstall(pkg)
for pkg in remove_list:
@@ -206,6 +359,7 @@ def hostypeprint(systemconfig):
mv_common.add_service(daemon)
for daemon in daemon_remove_list:
mv_common.remove_service(daemon)
+
if systemconfig.get("RunFrontend") == "1":
logging.debug(" Will run the frontend")
mv_common.add_service("frontend")
@@ -226,8 +380,8 @@ def hostypeprint(systemconfig):
logging.debug(" Not running setup_mysql_connection")
setup_mysql_connection(systemconfig)
- if data_config.SYSTEMTYPE == "MythVantage":
- setup_func_minion(systemconfig.get("dbhost"))
- setup_func_key()
- setup_syslog(systemconfig.get("dbhost"))
+ if func_supported:
+ setup_func_minion(systemconfig.get("dbhost"),systemconfig.get("hostname"))
+
+
logging.info("__End of hostype config\n")
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index e251291..85220cf 100755
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -555,9 +555,9 @@ def create_fstab(extralines):
fstab_list.append(line)
line = '''/dev/sr0 /media/cdrom auto ro,user,noauto,unhide 0 0\n'''
fstab_list.append(line)
- line = '''UUID=ROOTUID / auto defaults,noatime 0 1\n'''
+ line = '''UUID=ROOTUID / auto defaults,noatime,acl 0 1\n'''
fstab_list.append(line)
- line = '''UUID=DATAUID %s auto defaults,noatime 0 1\n''' %(data_config.DATAMOUNT)
+ line = '''UUID=DATAUID %s auto defaults,noatime,acl 0 1\n''' %(data_config.DATAMOUNT)
fstab_list.append(line)
line = '''UUID=SWAPUID swap swap defaults 0 0 \n'''
fstab_list.append(line)
@@ -1175,6 +1175,7 @@ def upgrade_mount_search():
runcmd(cmd)
fstab_list = []
fstab_data_mount = ''
+ oldfscontents="#"
try:
f = open("/tmp/etc/fstab", 'r')
oldfscontents = f.readlines()
diff --git a/abs/core/LinHES-config/systemconfig.py b/abs/core/LinHES-config/systemconfig.py
index 31d2164..aa94aec 100755
--- a/abs/core/LinHES-config/systemconfig.py
+++ b/abs/core/LinHES-config/systemconfig.py
@@ -92,9 +92,10 @@ def main(argv):
if cmdmodule["all"]:
logging.info("*** WILL RUN ALL MODULES ***")
+ cmdmodule["network"] = True
cmdmodule["hostype"] = True
cmdmodule["ir"]= True
- cmdmodule["network"] = True
+ #cmdmodule["network"] = True
cmdmodule["audio"] = True
cmdmodule["misc"] = True
cmdmodule["sleep"] = True
@@ -107,6 +108,12 @@ def main(argv):
cmdmodule["smolt"] = True
cmdmodule["user"] = True
+ if cmdmodule["network"]:
+ restartfe = mv_network.setup_network(systemconfig, cmdmodule["this_is_install"])
+ if restartfe == True :
+ logging.debug(" Setting the frontend to restart due to network change")
+ cmdmodule["restartfe"] = True
+
if cmdmodule["hostype"]:
import mv_hostype
diff --git a/abs/core/LinHES-system/LinHES-session b/abs/core/LinHES-system/LinHES-session
index 815c3d5..39a60b0 100755
--- a/abs/core/LinHES-system/LinHES-session
+++ b/abs/core/LinHES-system/LinHES-session
@@ -2,17 +2,344 @@
. /etc/profile
. /etc/systemconfig
+if [ -e /etc/X11/WINDOWMANAGER ]
+then
+ . /etc/X11/WINDOWMANAGER
+fi
+
xhost +local:
xhost +127.0.0.1
xset -dpms s off
+
export MALLOC_CHECK_=0
-#start fluxbox
+
+
+
+# # Run any scripting that applies to special hardware. These brand-specific commands that run
+# # after Tweaker will, of course, override generic or hardware-specific settings.
+# SpecialHardwareCommands() {
+# special_hardware_file=/myth/.special_hardware_type
+# special_hardware=`cat $special_hardware_file`
+#
+# case $special_hardware in
+# dragon*)
+# sudo -E twk_audio.pl --implement digital
+# sudo -E twk_dragon.pl --implement all
+# ;;
+# ausdragon*)
+# ;;
+# *)
+# # there are no brand-specific commands for configuring whatever
+# # special hardware the user chose
+# ;;
+# esac
+# }
+
+
+
+. /etc/osd_cat.cfg || {
+ color=yellow
+ outline=2
+ outlinecolour=black
+ shadow=0
+ shadowcolour=black
+ font="-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*"
+}
+
+function msg(){
+ echo -e "$1" | osd_cat --pos=middle --align=center --offset=200 --delay=5 --color=$color --outline=$outline --outlinecolour=$outlinecolour --shadow=$shadow --shadowcolour=$shadowcolour --font=$font &
+}
+
+
+function unclutter(){
+ if [ -e /etc/unclutter ]
+ then
+ . /etc/unclutter.cfg
+ else
+ idle=1
+ jitter=200
+ fi
+
+ /usr/X11R6/bin/unclutter -root -idle $idle -jitter $jitter -noevents &
+}
+
+function keylaunch(){
+ if [ -f /usr/bin/keylaunch ]
+ then
+# MHOME=`cat /etc/passwd | grep "mythtv" | cut -d":" -f6`
+ if [ ! -e $HOME/.keylaunchrc ]
+ then
+ echo "setting symlink for keylaunch"
+ ln -s /etc/keylaunchrc $HOME/.keylaunchrc
+ fi
+ /usr/bin/keylaunch &
+ fi
+
+}
+
+
+function load_nvidia_settings(){
+ lsmod |cut -f1 -d" " |grep -q nvidia
+ if [ $? = 0 ]
+ then
+ /usr/bin/nvidia-settings --load-config-only
+ fi
+}
+
+function run_tilda(){
+
+
+ if [ -f /usr/bin/tilda ]
+ then
+ if [ ! -e ~/.tilda/config_0 ]
+ then
+ mkdir -p ~/.tilda/
+ fi
+
+ width=`/usr/bin/xwininfo -root|grep Width | awk '{ print $2}'`
+ height=`/usr/bin/xwininfo -root|grep Height | awk '{ print $2}'`
+ center=$[width/2]
+ sixtypercent=`echo "scale=0; ( $width*.6) / 1" |bc`
+ quarter_height=`echo "scale=0; ($height*.35) /1" |bc`
+
+
+ if [ $sixtypercent -lt 700 ]
+ then
+ sixtypercent=700
+ fi
+
+ if [ $quarter_height -lt 350 ]
+ then
+ quarter_height=350
+ fi
+ startloc=`echo "scale=0 ; (${center}-(${sixtypercent})/2) / 1" |bc`
+
+
+ sed -e "s/^max_width.*$/max_width = $sixtypercent/" \
+ -e "s/^max_height.*$/max_height = $quarter_height/" \
+ -e "s/^x_pos.*$/x_pos = $startloc/g" /etc/tilda_config > ~/.tilda/config_0
+
+ /usr/bin/tilda -h &
+
+ fi
+}
+
+
+function mouse_move(){
+ #move mouse to corner
+ xdotool mousemove 0 0
+}
+
+
+function start_screensaver(){
+
+ if [ x"$Screensavertype" = "xgscreensaver" ]
+ then
+ gnome-screensaver &
+ elif [ x"$Screensavertype" = "xxscreensaver" ]
+ then
+ xscreensaver -no-splash &
+ fi
+}
+
+function show_help_tip(){
+
+ if [ x$ShowTips = "x1" ]
+ then
+ msg "Alt+h for help" &
+ fi
+}
+
+function update_apple_trailers(){
+ #update apple trailers
+ if [[ x$RunFrontend = x1 && -f ~/.configure ]]
+ then
+ /usr/bin/php -q /usr/bin/myth_trailers_grabber > /home/mythtv/appletrailer.xml && /usr/bin/fix_aple_url.sh 2>/dev/null &
+ fi
+}
+
+
+function first_configure(){
+ if [ x$STARTUP_STYLE = xmythvantage ]
+ then
+ first_configure_mv
+ else
+ first_configure_default
+ fi
+}
+
+
+function first_configure_default(){
+ if [ ! $SystemType = "Frontend_only" ]
+ then
+ if [ -f ~/.configure ]
+ then
+ # Run Tweaker, which applies generic and hardware-specific settings
+ if [ ! -f ~/.no_meth ]
+ then
+ #remove tweaker cause it's broken and duplicates entries
+ #sudo -E tweaker.pl
+ #/bin/rm /tmp/fps # ??? clean up a temp file that will eventually be obsolete anyway
+ # Run any brand-specific commands, if necessary.
+ SpecialHardwareCommands
+ else
+ rm -f ~/.no_meth
+ fi
+
+ sudo sv stop mythbackend
+ /usr/LH/bin/dtheme.sh
+ xterm -fn *18* -e sudo taskset -c 0 /usr/bin/mythtv-setup
+ sudo sv start mythbackend
+ sudo chown -R mythtv.mythtv /home/mythtv
+ nice -n 19 mythfilldatabase --quiet &
+ msg "Guide data is being loaded. \n Until this completes\n some shows will appear as unknown \n in the program guide."
+ rm ~/.configure
+ fi
+ fi
+}
+
+
+function first_configure_mv(){
+ if [ ! $SystemType = "Frontend_only" ]
+ then
+ if [ ! -f ~/.configured ]
+ then
+ autocard.py -g &
+ MythVantage -b
+ #/root/autocard.py -g &
+ #/usr/local/bin/mythinstall -b
+
+ #0 yes
+ #1 yes/autodetech
+ #2 no
+ STATUS=$?
+ if [ ! $STATUS = 2 ]
+ then
+ /usr/bin/backend_control.sh stop BE 127.0.0.1
+ /usr/local/bin/mythtv-setup
+ /usr/bin/backend_control.sh start BE 127.0.0.1
+ fi
+ touch ~/.configured
+ fi
+ fi
+}
+
+function start_myth() {
+ if [ x"$UseMythWelcome" = "x1" ]
+ then
+ STARTCMD="/usr/bin/mythwelcome"
+ else
+ STARTCMD="/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log"
+ fi
+
+ echo "====================================================================="
+ echo "Starting $STARTCMD"
+ firstboot.sh &
+
+ #continue on with starting mythtv
+
+ if [ x$STARTUP_STYLE = xmythvantage ]
+ then
+ start_myth_mv
+ else
+ start_myth_default
+ fi
+
+ }
+
+
+function start_myth_default(){
+
+ if [ -f /tmp/nomfe ]
+ then
+ exit 0
+ else
+ if [ -f /tmp/debug ]
+ then
+ echo "using gbd/debug"
+ gdb /usr/bin/mythfrontend -x $MV_ROOT/mfegdbcommands.txt
+ mv gdb.txt gdb.txt.mythfrontend
+ sleep 10
+ else
+ killall -9 irexec
+ /usr/bin/irexec -d
+ $STARTCMD 2>&1 &
+ fi
+ fi
+
+
+
+
+}
+
+
+function start_myth_mv(){
+
+ while [ x = x ]
+ do
+ if [ -f /tmp/nomfe ]
+ then
+ sleep 120
+ else
+ if [ -f /tmp/debug ]
+ then
+
+ echo "using gbd/debug"
+ gdb /usr/local/bin/mythfrontend -x $MV_ROOT/mfegdbcommands.txt
+ bash -c "osdClient.pl localhost 5000 'Restart: mdb.txt.mythfrontend:::SYS' "&
+ mv gdb.txt gdb.txt.mythfrontend
+ sleep 10
+
+ else
+ killall -9 irexec
+ /usr/bin/irexec &
+ $STARTCMD 2>&1
+ fi
+ fi
+ echo "_______________________________________________________"
+ done
+
+
+ }
+
+
+function set_background()
+{
+ echo "Setting the background"
+
+ }
+
+
if [ x$WM = "x" ]
then
fluxbox > /var/log/fluxbox.log 2>&1
else
- $WM 2>&1
+ #if using mythvantage style, start the WM right away
+ # this is done so that starting mythtv can loop.
+
+ if [ x$STARTUP_STYLE = xmythvantage ]
+ then
+ $WM &
+ fi
+ mouse_move
+ keylaunch
+ set_background
+ unclutter
+ load_nvidia_settings
+ run_tilda
+ start_screensaver
+ show_help_tip
+ #update_apple_trailers
+ first_configure
+ start_myth
+
+ # start windowmanger
+ if [ x$STARTUP_STYLE != xmythvantage ]
+ then
+ $WM
+ fi
+
fi
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index 9baad6e..df31953 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,14 +1,14 @@
pkgname=LinHES-system
pkgver=2
-pkgrel=7
+pkgrel=11
arch=('i686')
MVDIR=$startdir/pkg/usr/LH
BINDIR=$startdir/pkg/usr/bin
install=LinHES.install
pkgdesc="scripts and things related to having an automated system"
-depends=(linhes-sounds xdotool fluxbox windowmaker)
+depends=(linhes-sounds xdotool fluxbox tilda keylaunch python_aosd)
backup=(etc/modprobe.d/alsa-base)
-binfiles="LinHES-start optimize_mythdb.py myth_mtc.py myth_mtc.sh LinHES-run firstboot.sh load-modules-mythvantage.sh unclutter-toggle.sh tvterm.sh myth_mtc.lr smolt.cron mythfrontend-start"
+binfiles="LinHES-start optimize_mythdb.py myth_mtc.py myth_mtc.sh LinHES-run firstboot.sh load-modules-mythvantage.sh unclutter-toggle.sh tvterm.sh myth_mtc.lr smolt.cron mythfrontend-start set_windowmanager.sh myth_status.py myth_status.sh"
source=(LinHES-session LinHES-profile.sh $binfiles alsa-base)
@@ -37,7 +37,7 @@ build() {
mkdir $startdir/pkg/etc/logrotate.d
cp $startdir/myth_mtc.lr $startdir/pkg/etc/logrotate.d
}
-md5sums=('c5f31e92bd94ffd8c5c67e544bbffd07'
+md5sums=('2836a90e5d191faae80fad37025a5c9b'
'5881bdb43d578ec3a79d1f77ea58a3db'
'a875ee97f86e46f34a741c2bc455f894'
'76b2637cac0452b3acdbeeb4e8a5474b'
@@ -51,4 +51,7 @@ md5sums=('c5f31e92bd94ffd8c5c67e544bbffd07'
'f1870a9522c79e6b248fcbf81dec3280'
'abe887472a170bd1a8e6da6a7b7e93e4'
'752488eb8bfb672ce0e4c924f7faf3d1'
+ 'dae4dfb638b11c8c79fb1424a60b762a'
+ '361bf81a6a117d61c3bc32dda91c4cb9'
+ 'ce72aad1fc66c575f863d4bfbf65ce16'
'eb879fee9603a05d5420d4ce8ed9e450')
diff --git a/abs/core/LinHES-system/myth_status.py b/abs/core/LinHES-system/myth_status.py
new file mode 100644
index 0000000..ce95c3e
--- /dev/null
+++ b/abs/core/LinHES-system/myth_status.py
@@ -0,0 +1,76 @@
+#!/usr/bin/python2
+from MythTV import MythBE,MythDB,MythLog
+import datetime,time,sys
+try:
+ be=MythBE()
+ db = MythDB()
+except:
+ print "Couldn't connect to MythTV service for status"
+ sys.exit(1)
+
+cursor = db.cursor()
+now = datetime.datetime.now()
+next_start_diff=0
+
+def formatTD(td):
+ hours = td.seconds // 3600
+ minutes = (td.seconds % 3600) // 60
+ seconds = td.seconds % 60
+ return '%s hours, %s minutes, %s seconds' % (hours, minutes, seconds)
+
+
+
+a=be.getRecorderList()
+header="#"*60
+print header
+print "\n"
+print "Tuner Status: "
+print "--------------"
+for i in a:
+ cmd="select cardtype,hostname from capturecard where cardid=%s;" %i
+
+ cursor.execute(cmd)
+ results=cursor.fetchall()
+ type = results[0][0]
+ hostname = results[0][1]
+ id = i
+ c=be.getCurrentRecording(i)
+ if c.title == None:
+ current_recording = "Idle"
+ else:
+ current_recording = "Recording %s" %c.title
+ print " Tuner %s (%s) on %s : %s " %(id, type, hostname, current_recording)
+
+print ""
+print "Upcoming Recordings:"
+print "--------------------"
+a=be.getUpcomingRecordings()
+for i in a:
+ title_chan="%s (%s)" %(i.title, i.channame)
+ print " %s - %s - %-50s " %(i.starttime,i.hostname, title_chan)
+ #start_time=time.strptime(str(i.starttime), "%Y-%m-%d %H:%M:%S")
+
+ diff = i.starttime - now
+# print diff.seconds
+ if diff.seconds < next_start_diff or next_start_diff == 0:
+ next_start_diff = diff.seconds
+
+print " "
+print "Conflicted Recordings:"
+print "----------------------"
+a=be.getConflictedRecordings()
+for i in a:
+ title_chan="%s (%s)" %(i.title, i.channame)
+ print " %s - %-50s " %(i.starttime,title_chan)
+
+print ""
+print ""
+if next_start_diff == 0:
+ ur="No recordings are scheduled"
+else:
+ d=(datetime.timedelta(seconds=next_start_diff))
+ ur=formatTD(d)
+print "The next recording starts in:\n %s" %(ur)
+
+
+
diff --git a/abs/core/LinHES-system/myth_status.sh b/abs/core/LinHES-system/myth_status.sh
new file mode 100644
index 0000000..bc986ec
--- /dev/null
+++ b/abs/core/LinHES-system/myth_status.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+MYTHCONFDIR=/usr/share/mythtv /usr/LH/bin/myth_status.py
+
diff --git a/abs/core/LinHES-system/set_windowmanager.sh b/abs/core/LinHES-system/set_windowmanager.sh
new file mode 100644
index 0000000..5c1150d
--- /dev/null
+++ b/abs/core/LinHES-system/set_windowmanager.sh
@@ -0,0 +1,100 @@
+#!/bin/bash
+# Script to change the windowmanger used when starting the frontend.
+# If a style is given, it will change which & how programs will start.
+#
+#
+windowmanager="$1"
+style="$2"
+
+
+function outmsg(){
+ echo
+ echo "Changing windowmanger to $1"
+ }
+
+function stylemsg(){
+ echo "Startup path will use $1 style"
+ }
+
+if [ x$windowmanager = x ]
+then
+ echo
+ echo "Usage: "
+ echo " set_windowmanger.sh WINDOWMANAGER STARTUP_STYLE"
+ echo
+ echo "Valid WINDOWMANAGER options are:"
+ echo " default"
+ echo " enlightenment"
+ echo " fluxbox"
+ echo " windowmaker"
+ echo " place_custom_startup_here"
+ echo
+ echo "Valid STARTUP_STYLE options are:"
+ echo " default"
+ echo " mythvantage"
+ echo
+ echo "If STARTUP_STYLE is not given, then the default will be used."
+ echo
+ echo "Example: "
+ echo " set_windowmanger.sh enlightenment mythvantage"
+ echo
+
+
+ exit 0
+fi
+
+
+case ${windowmanager} in
+
+ default)
+ outmsg "default/fluxbox"
+ outline="fluxbox"
+ echo "" > /etc/X11/WINDOWMANAGER
+ exit 0
+ ;;
+
+ enlightenment)
+ outmsg "enlightenment"
+ outline="e16 -P /data/e16_config_dir/"
+ ;;
+
+ windowmaker)
+ outmsg "window maker"
+ outline_2="export GNUSTEP_USER_ROOT=/data/GNUstep"
+
+ outline="wmaker"
+ ;;
+
+ *)
+ outline=$windowmanager
+ outmsg "$outline"
+ ;;
+
+esac
+
+
+
+case ${style} in
+
+ mythvantage)
+
+ STYLE="mythvantage"
+ stylemsg MythVantage
+ ;;
+ *)
+ STYLE="$style"
+ stylemsg "Default"
+ ;;
+
+esac
+
+
+echo WM=\"${outline}\" > /etc/X11/WINDOWMANAGER
+echo "STARTUP_STYLE=$STYLE" >> /etc/X11/WINDOWMANAGER
+echo ${outline_2} >> /etc/X11/WINDOWMANAGER
+
+
+
+
+
+
diff --git a/abs/core/certmaster/PKGBUILD b/abs/core/certmaster/PKGBUILD
new file mode 100644
index 0000000..3ce72f7
--- /dev/null
+++ b/abs/core/certmaster/PKGBUILD
@@ -0,0 +1,35 @@
+pkgname=certmaster
+pkgver=0.28
+pkgrel=1
+pkgdesc="certmaster"
+url="https://fedorahosted.org/certmaster/ "
+license="gpl"
+depends=(pyopenssl)
+makedepends=()
+conflicts=()
+replaces=()
+moddir="pkg/usr/lib/python2.6/site-packages/func/minion/modules/"
+backup=('etc/certmaster/certmaster.conf' 'etc/certmaster/minion.conf')
+
+install=certmaster.install
+source=($pkgname-$pkgver.tar.gz certmaster.conf minion.conf acl_fix_fstab.py logrotate-certmaster.conf)
+arch=('i686')
+
+build() {
+ cd $startdir/src/$pkgname-${pkgver}
+ python setup.py build
+ python setup.py install --prefix=$startdir/pkg/usr
+ cd $startdir/src
+ install -m755 -D minion.conf $startdir/pkg/etc/certmaster/minion.conf
+ install -m755 -D certmaster.conf $startdir/pkg/etc/certmaster/certmaster.conf
+ install -m755 -D logrotate-certmaster.conf $startdir/pkg/etc/logrotate.d/certmaster.conf
+ install -m755 -D acl_fix_fstab.py $startdir/pkg/usr/MythVantage/bin/acl_fix_fstab.py
+ mkdir -p $startdir/pkg/var/log/certmaster
+ cd $startdir/pkg
+ find ./ -name "*.pyc" -print | xargs rm -f
+}
+md5sums=('f5acc9ff1efa34971296e26d794c5b35'
+ '953ff601e5381b457383e7a3c4928192'
+ 'be7bd532ae103ab3c0048980314b4fd9'
+ '214e34c095f6f29277197a2a6666f8b2'
+ '6bc28ccd331a6c4c05e0a9c9755a848f')
diff --git a/abs/core/certmaster/acl_fix_fstab.py b/abs/core/certmaster/acl_fix_fstab.py
new file mode 100644
index 0000000..8e49a15
--- /dev/null
+++ b/abs/core/certmaster/acl_fix_fstab.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python2
+import os
+import sys
+cmd="cp -f /etc/fstab /etc/fstab.backup.pre_acl"
+os.system(cmd)
+f = open('/etc/fstab', 'r')
+fstab=f.readlines()
+f.close()
+
+
+
+
+mp=['/' , '/myth', '/data']
+newfstab=[]
+for line in fstab:
+ new_line=line
+ split_line=line.split()
+ try:
+ if split_line[1] in mp:
+ #print split_line[3]
+ if "acl" in split_line[3]:
+ pass
+ else:
+ print "Adding ACL"
+ new_acl=split_line[3]+",acl"
+ split_line[3]=new_acl
+ new_line='\t'.join(split_line)
+ except:
+ pass
+ newfstab.append(new_line)
+
+
+f = open('/etc/fstab', 'w')
+for i in newfstab:
+ f.write(i)
+ f.write("\n")
+
+f.close()
+
diff --git a/abs/core/certmaster/certmaster-0.28.tar.gz b/abs/core/certmaster/certmaster-0.28.tar.gz
new file mode 100644
index 0000000..3108221
--- /dev/null
+++ b/abs/core/certmaster/certmaster-0.28.tar.gz
Binary files differ
diff --git a/abs/core/certmaster/certmaster.conf b/abs/core/certmaster/certmaster.conf
new file mode 100644
index 0000000..186e1b8
--- /dev/null
+++ b/abs/core/certmaster/certmaster.conf
@@ -0,0 +1,13 @@
+# configuration for certmasterd and certmaster-ca
+
+[main]
+autosign = yes
+listen_addr =
+listen_port = 51235
+cadir = /etc/pki/certmaster/ca
+cert_dir = /etc/pki/certmaster
+certroot = /var/lib/certmaster/certmaster/certs
+csrroot = /var/lib/certmaster/certmaster/csrs
+cert_extension = cert
+sync_certs = False
+
diff --git a/abs/core/certmaster/certmaster.install b/abs/core/certmaster/certmaster.install
new file mode 100644
index 0000000..e0dac8c
--- /dev/null
+++ b/abs/core/certmaster/certmaster.install
@@ -0,0 +1,65 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+ mkdir -p /var/log/certmaster
+}
+
+# arg 1: the new package version
+post_install() {
+ if [ ! -e /var/log/certmaster ]
+ then
+ mkdir -p /var/log/certmaster
+ fi
+ /usr/MythVantage/bin/acl_fix_fstab.py
+ mount -o remount /
+ if [ ! -e /etc/pki/certmaster/ca ]
+ then
+ mkdir -p /etc/pki/certmaster/ca
+ fi
+
+ setfacl -d -R -m 'u:nobody:rX' /etc/pki/certmaster
+ setfacl -R -m 'u:nobody:rX' /etc/pki/certmaster
+
+ setfacl -d -R -m 'u:http:rX' /etc/pki/certmaster
+ setfacl -R -m 'u:http:rX' /etc/pki/certmaster
+
+ setfacl -R -m mask:rwx /etc/pki/certmaster/
+ setfacl -d -R -m mask:rwx /etc/pki/certmaster/
+
+
+
+
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+
+
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/certmaster/logrotate-certmaster.conf b/abs/core/certmaster/logrotate-certmaster.conf
new file mode 100644
index 0000000..39c3537
--- /dev/null
+++ b/abs/core/certmaster/logrotate-certmaster.conf
@@ -0,0 +1,19 @@
+/var/log/certmaster/audit.log {
+ missingok
+ notifempty
+ rotate 4
+ weekly
+ postrotate
+ if [ -f /service/certmaster ]; then
+ sv restart certmaster
+ fi
+ endscript
+}
+
+/var/log/certmaster/certmaster.log {
+ missingok
+ notifempty
+ rotate 4
+ weekly
+}
+
diff --git a/abs/core/certmaster/minion.conf b/abs/core/certmaster/minion.conf
new file mode 100644
index 0000000..47c6540
--- /dev/null
+++ b/abs/core/certmaster/minion.conf
@@ -0,0 +1,8 @@
+# configuration for minions
+
+[main]
+certmaster = certmaster
+certmaster_port = 51235
+log_level = DEBUG
+cert_dir = /etc/pki/certmaster
+
diff --git a/abs/core/confuse/PKGBUILD b/abs/core/confuse/PKGBUILD
new file mode 100644
index 0000000..6f713df
--- /dev/null
+++ b/abs/core/confuse/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 17258 2010-05-22 14:32:23Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Alexander Mieland (dma147) <dma147@linux-stats.org>
+
+pkgname=confuse
+pkgver=2.7
+pkgrel=1
+pkgdesc="C-library for parsing configuration files"
+arch=('i686' 'x86_64')
+url="http://www.nongnu.org/confuse"
+license=('LGPL')
+depends=('glibc')
+source=(http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+options=('!libtool' '!emptydirs')
+md5sums=('45932fdeeccbb9ef4228f1c1a25e9c8f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-shared
+ make || return 1
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/abs/core/cython/PKGBUILD b/abs/core/cython/PKGBUILD
new file mode 100644
index 0000000..9901e43
--- /dev/null
+++ b/abs/core/cython/PKGBUILD
@@ -0,0 +1,26 @@
+pkgname=('cython2')
+pkgbase=cython
+pkgver=0.15.1
+pkgrel=2
+pkgdesc="C-Extensions for Python "
+arch=(i686 x86_64)
+url="http://www.cython.org"
+license=('APACHE')
+makedepends=('python2-distribute')
+source=("http://cython.org/release/Cython-$pkgver.tar.gz")
+md5sums=('171021b3845c9ca8bd6d8185b3cde664')
+
+build() {
+ true
+}
+
+
+package_cython2() {
+ depends=('python2')
+
+ cd $srcdir/Cython-$pkgver
+ python2 setup.py install --root=$pkgdir
+
+ mv $pkgdir/usr/bin/cygdb $pkgdir/usr/bin/cygdb2
+ mv $pkgdir/usr/bin/cython $pkgdir/usr/bin/cython2
+}
diff --git a/abs/core/dcron/PKGBUILD b/abs/core/dcron/PKGBUILD
index 61999c9..0003bf7 100644
--- a/abs/core/dcron/PKGBUILD
+++ b/abs/core/dcron/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=dcron
pkgver=4.4
-pkgrel=2
+pkgrel=3
pkgdesc="dillon's lightweight cron daemon"
arch=(i686 x86_64)
license=('GPL')
diff --git a/abs/core/dcron/__changelog b/abs/core/dcron/__changelog
new file mode 100644
index 0000000..e6464b6
--- /dev/null
+++ b/abs/core/dcron/__changelog
@@ -0,0 +1,8 @@
+Added an every ten minutes dir + job
+
+ grep -q cron.tenminutes /var/spool/cron/root
+ if [ $? = 1 ]
+ then
+ echo "*/10 * * * * /usr/sbin/run-cron /etc/cron.tenminutes" >> /var/spool/cron/root
+ fi
+
diff --git a/abs/core/dcron/crond.logrotate b/abs/core/dcron/crond.logrotate
deleted file mode 100644
index 38299d6..0000000
--- a/abs/core/dcron/crond.logrotate
+++ /dev/null
@@ -1,5 +0,0 @@
-/var/log/crond {
- sharedscripts
- copytruncate
- missingok
-}
diff --git a/abs/core/dcron/dcron.install b/abs/core/dcron/dcron.install
index ba08b3a..3e4f126 100644
--- a/abs/core/dcron/dcron.install
+++ b/abs/core/dcron/dcron.install
@@ -5,6 +5,13 @@ post_upgrade() {
then
echo "Restart crond, since you're upgrading to the dcron 4.x series."
fi
+ grep -q cron.tenminutes /var/spool/cron/root
+ if [ $? = 1 ]
+ then
+ echo "0,10,20,30,40,50 * * * * /usr/sbin/run-cron /etc/cron.tenminutes" >> /var/spool/cron/root
+ fi
+
+
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/e16_theme_settings/PKGBUILD b/abs/core/e16_theme_settings/PKGBUILD
new file mode 100644
index 0000000..41b36a5
--- /dev/null
+++ b/abs/core/e16_theme_settings/PKGBUILD
@@ -0,0 +1,19 @@
+pkgname=e16_theme_settings
+pkgver=1.0
+pkgrel=4
+pkgdesc="Default settings for e16"
+depends=(enlightenment)
+source=()
+arch=('i686')
+groups=(alt_wm)
+install=e16.install
+configdir=/data/
+build() {
+ echo $startdir
+ mkdir -p $pkgdir/$configdir
+ rsync -arp --exclude=.svn $startdir/e16_config_dir $pkgdir/$configdir
+# chown -R mythtv:mythtv $startdir/$configdir
+ echo "all done"
+}
+
+md5sums=()
diff --git a/abs/core/e16_theme_settings/e16.install b/abs/core/e16_theme_settings/e16.install
new file mode 100644
index 0000000..61fed63
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16.install
@@ -0,0 +1,44 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+
+# arg 1: the new package version
+post_install() {
+ chown -R 1000:100 /data/e16_config_dir
+ setfacl -d -R -m u:1000:rwx /data/e16_config_dir
+ setfacl -R -m u:1000:rwx /data/e16_config_dir
+ setfacl -d -R -m o::rwx /data/e16_config_dir
+ setfacl -R -m o::rwx /data/e16_config_dir
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ pre_install
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ /bin/true
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.bg b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.bg
new file mode 100644
index 0000000..c1c3337
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.bg
@@ -0,0 +1,46 @@
+5 999
+100 NONE
+1000
+5 999
+100 DESKTOP_0
+565 /data/e16_config_dir//themes/Summer/artwork/backgrounds/lh-wallpaper.png
+566 0 1 512 512 1024 1024
+564 0
+564 2
+564 4
+564 6
+564 8
+564 10
+564 12
+564 14
+564 16
+564 18
+564 20
+564 22
+564 24
+564 26
+564 28
+564 30
+1000
+5 999
+100 DESKTOP_1
+560 0 0 128
+567 /data/e16_config_dir//themes/Summer/graphics/header.png
+568 1 512 1024 0 0
+564 1
+564 3
+564 5
+564 7
+564 9
+564 11
+564 13
+564 15
+564 17
+564 19
+564 21
+564 23
+564 25
+564 27
+564 29
+564 31
+1000
diff --git a/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.buttons b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.buttons
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.buttons
diff --git a/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg
new file mode 100644
index 0000000..f424388
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg
@@ -0,0 +1,174 @@
+backgrounds.hiquality = 1
+backgrounds.user = 0
+backgrounds.no_scan = 0
+backgrounds.timeout = 300
+compmgr.enable = 0
+compmgr.mode = 1
+compmgr.shadows.mode = 0
+compmgr.shadows.offset_x = 3
+compmgr.shadows.offset_y = 5
+compmgr.shadows.blur.radius = 5
+compmgr.shadows.blur.opacity = 75
+compmgr.shadows.sharp.opacity = 30
+compmgr.shadows.color = 0
+compmgr.use_name_pixmap = 0
+compmgr.use_cow = 1
+compmgr.fading.enable = 1
+compmgr.fading.time = 200
+compmgr.override_redirect.mode = 1
+compmgr.override_redirect.opacity = 90
+desktops.num = 2
+desktops.dragdir = 2
+desktops.dragbar_width = 0
+desktops.dragbar_length = 0
+desktops.dragbar_ordering = 1
+desktops.desks_wraparound = 1
+desktops.slidein = 0
+desktops.slidespeed = 500
+desktops.areas_nx = 2
+desktops.areas_ny = 1
+desktops.areas_wraparound = 0
+desktops.edge_flip_mode = 1
+desktops.edge_flip_resistance = 25
+effects.ripples.enabled = 0
+effects.waves.enabled = 0
+focus.mode = 2
+focus.clickraises = 1
+focus.transientsfollowleader = 1
+focus.switchfortransientmap = 1
+focus.all_new_windows_get_focus = 1
+focus.new_windows_get_focus_if_group_focused = 1
+focus.new_transients_get_focus = 0
+focus.new_transients_get_focus_if_group_focused = 1
+focus.raise_on_next = 1
+focus.warp_on_next = 0
+focus.warp_always = 0
+focus.autoraise.enable = 0
+focus.autoraise.delay = 500
+groups.dflt.iconify = 1
+groups.dflt.kill = 0
+groups.dflt.move = 1
+groups.dflt.raise = 0
+groups.dflt.set_border = 1
+groups.dflt.stick = 1
+groups.dflt.shade = 1
+groups.swapmove = 1
+iconboxes.anim_time = 250
+locale.internal =
+locale.exported =
+menus.animate = 0
+menus.onscreen = 1
+menus.warp = 1
+menus.show_icons = 1
+menus.icon_size = 16
+menus.key.left = 0xff51
+menus.key.right = 0xff53
+menus.key.up = 0xff52
+menus.key.down = 0xff54
+menus.key.escape = 0xff1b
+menus.key.ret = 0xff0d
+misc.animation.step = 10
+misc.buttons.move_resistance = 10
+misc.dialogs.headers = 0
+misc.dialogs.button_image = 0
+misc.dock.enable = 1
+misc.dock.sticky = 1
+misc.dock.dirmode = 3
+misc.dock.startx = 0
+misc.dock.starty = 0
+misc.hints.set_xroot_info_on_root_window = 0
+misc.magwin.zoom_res = 4
+misc.movres.mode_move = 0
+misc.movres.mode_resize = 2
+misc.movres.mode_info = 1
+misc.movres.mode_maximize_default = 1
+misc.movres.color = 0xff0000
+misc.movres.avoid_server_grab = 1
+misc.movres.update_while_moving = 0
+misc.movres.enable_sync_request = 0
+misc.movres.dragbar_nocover = 0
+misc.movres.enable_smart_max_hv = 0
+misc.movres.maximize_animate = 0
+misc.movres.maximize_speed = 6000
+misc.opacity.menus = 85
+misc.opacity.movres = 60
+misc.opacity.tooltips = 80
+misc.opacity.focused = 100
+misc.opacity.unfocused = 100
+misc.place.manual = 0
+misc.place.manual_mouse_pointer = 0
+misc.place.center_if_desk_full = 1
+misc.place.ignore_struts = 0
+misc.place.ignore_struts_fullscreen = 0
+misc.place.ignore_struts_maximize = 0
+misc.place.raise_fullscreen = 0
+misc.place.slidein = 1
+misc.place.cleanupslide = 1
+misc.place.slidemode = 0
+misc.place.slidespeedmap = 1500
+misc.place.slidespeedcleanup = 8000
+misc.session.enable_script = 0
+misc.session.script = $EROOT/scripts/session.sh
+misc.session.enable_logout_dialog = 1
+misc.session.enable_reboot_halt = 0
+misc.session.cmd_reboot = reboot
+misc.session.cmd_halt = poweroff
+misc.shading.animate = 1
+misc.shading.speed = 8000
+misc.snap.enable = 1
+misc.snap.edge_snap_dist = 8
+misc.snap.screen_snap_dist = 32
+misc.startup.firsttime = 0
+misc.startup.animate = 1
+misc.testing.argb_internal_objects = 0
+misc.testing.argb_internal_clients = 0
+misc.testing.argb_clients = 0
+misc.testing.argb_clients_inherit_attr = 0
+misc.testing.image_cache_size = -1
+misc.testing.mask_alpha_threshold = 8
+misc.testing.enable_startup_id = 1
+misc.testing.use_render_for_scaling = 0
+misc.testing.bindings_reload = 1
+misc.testing.no_sync_mask = 0
+misc.autosave = 1
+misc.memory_paranoia = 1
+misc.save_under = 0
+misc.difftime = 0
+pagers.enable = 0
+pagers.zoom = 1
+pagers.title = 1
+pagers.hiq = 1
+pagers.mode = 2
+pagers.scanspeed = 10
+pagers.sel_button = 2
+pagers.win_button = 1
+pagers.menu_button = 3
+theme.name = Summer
+theme.extra_path =
+theme.use_theme_font_cfg = 1
+theme.use_alt_font_cfg = 0
+theme.font_cfg =
+tooltips.enable = 0
+tooltips.showroottooltip = 0
+tooltips.delay = 1500
+transparency.alpha = 0
+transparency.menu = 1
+transparency.menu_item = 1
+transparency.tooltip = 2
+transparency.widget = 1
+transparency.hilight = 0
+transparency.border = 1
+transparency.iconbox = 1
+transparency.dialog = 1
+transparency.pager = 1
+transparency.warplist = 1
+warplist.enable = 1
+warplist.showsticky = 1
+warplist.showshaded = 1
+warplist.showiconified = 1
+warplist.showalldesks = 0
+warplist.warpfocused = 1
+warplist.raise_on_select = 1
+warplist.warp_on_select = 0
+warplist.show_shape = 0
+warplist.icon_mode = 3
diff --git a/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.ibox b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.ibox
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.ibox
diff --git a/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.snapshots b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.snapshots
new file mode 100644
index 0000000..25a89e0
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.snapshots
@@ -0,0 +1,61 @@
+NEW: _IB_0.Enlightenment_IconBox
+NAME: _IB_0
+CLASS: Enlightenment_IconBox
+AUTO: yes
+BORDER: ICONBOX
+DESKTOP: 0
+RES: 2560 1600
+WH: 128 68
+XY: 2424 1483 0 0
+LAYER: 4
+STICKY: 1
+SHADE: 0
+SKIPTASK: 1
+SKIPWINLIST: 1
+SKIPFOCUS: 1
+FLAGS: 0x30000000 0
+
+NEW: 0.Enlightenment_Pager
+NAME: 0
+CLASS: Enlightenment_Pager
+AUTO: yes
+BORDER: PAGER
+DESKTOP: 0
+RES: 2560 1600
+WH: 128 48
+XY: 0 1360 0 0
+LAYER: 4
+STICKY: 1
+SHADE: 0
+SKIPTASK: 1
+SKIPWINLIST: 1
+SKIPFOCUS: 1
+FLAGS: 0x10000000 0
+
+NEW: 1.Enlightenment_Pager
+NAME: 1
+CLASS: Enlightenment_Pager
+AUTO: yes
+BORDER: PAGER
+DESKTOP: 0
+RES: 2560 1600
+WH: 128 48
+XY: 0 1523 0 0
+LAYER: 4
+STICKY: 1
+SHADE: 0
+SKIPTASK: 1
+SKIPWINLIST: 1
+SKIPFOCUS: 1
+FLAGS: 0x10000000 0
+
+NEW: mythfrontend.Mythfrontend
+WIN: 0xe00003
+TITLE: MythTV Frontend
+NAME: mythfrontend
+CLASS: Mythfrontend
+AUTO: yes
+BORDER: BORDERLESS
+WH: 2560 1600
+LAYER: 4
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/epplets.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/epplets.menu
new file mode 100644
index 0000000..0b3875c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/epplets.menu
@@ -0,0 +1 @@
+"Enlightenment Epplets"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/file.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/file.menu
new file mode 100644
index 0000000..2b4b0ed
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/file.menu
@@ -0,0 +1,6 @@
+"User Menus"
+"User Application List" NULL menu "user_apps.menu"
+"Applications" NULL menu "menus_apps/index.menu"
+"Epplets" NULL menu "epplets.menu"
+"Restart" NULL "exit restart"
+"Log Out" NULL "exit logout"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/AudioVideo.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/AudioVideo.menu
new file mode 100644
index 0000000..e648a1b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/AudioVideo.menu
@@ -0,0 +1,5 @@
+"AudioVideo"
+"Miro music and video player" "/usr/share/icons/hicolor/48x48/apps/miro.png" exec "miro"
+"projectM-libvisual-alsa" "/usr/share/pixmaps/prjm16-transparent.svg" exec "/usr/bin/projectM-libvisual-alsa"
+"xine" "/usr/share/icons/hicolor/48x48/apps/xine.png" exec "xine"
+"XMMS" "xmms" exec "xmms"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Development.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Development.menu
new file mode 100644
index 0000000..cedca82
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Development.menu
@@ -0,0 +1,4 @@
+"Development"
+"Qt Assistant" "/usr/share/icons/hicolor/32x32/apps/assistant.png" exec "/usr/bin/assistant"
+"Qt Designer" "designer" exec "/usr/bin/designer"
+"Qt Linguist" "/usr/share/icons/hicolor/48x48/apps/linguist.png" exec "/usr/bin/linguist"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Network.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Network.menu
new file mode 100644
index 0000000..64edf93
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Network.menu
@@ -0,0 +1,3 @@
+"Network"
+"Avahi SSH Server Browser" "network-wired" exec "/usr/bin/bssh"
+"Avahi VNC Server Browser" "network-wired" exec "/usr/bin/bvnc"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Settings.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Settings.menu
new file mode 100644
index 0000000..57d9418
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Settings.menu
@@ -0,0 +1,2 @@
+"Settings"
+"NVIDIA X Server Settings" "/usr/share/pixmaps/nvidia-settings.png" exec "/usr/bin/nvidia-settings"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/System.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/System.menu
new file mode 100644
index 0000000..a5352c1
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/System.menu
@@ -0,0 +1,2 @@
+"System"
+"Avahi Zeroconf Browser" "network-wired" exec "/usr/bin/avahi-discover"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Utility.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Utility.menu
new file mode 100644
index 0000000..ff2d556
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/Utility.menu
@@ -0,0 +1,2 @@
+"Utility"
+"Tilda" "/usr/share/applications/tilda.png" exec "/usr/bin/tilda"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/index.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/index.menu
new file mode 100644
index 0000000..924ee12
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/menus_apps/index.menu
@@ -0,0 +1,5 @@
+"apps Menu"
+"AudioVideo" "" menu "menus_apps/AudioVideo.menu"
+"Development" "" menu "menus_apps/Development.menu"
+"Network" "" menu "menus_apps/Network.menu"
+"System" "" menu "menus_apps/System.menu"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/menus/user_apps.menu b/abs/core/e16_theme_settings/e16_config_dir/menus/user_apps.menu
new file mode 100644
index 0000000..df47a4d
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/menus/user_apps.menu
@@ -0,0 +1,21 @@
+"User Application List"
+"Eterm" NULL exec "Eterm"
+"Terminal" NULL exec "Terminal"
+"XTerm" NULL exec "xterm"
+"rxvt" NULL exec "rxvt"
+"urxvt" NULL exec "urxvt"
+"Seamonkey" NULL exec "seamonkey"
+"Firefox" NULL exec "firefox"
+"Galeon" NULL exec "galeon"
+"Opera" NULL exec "opera"
+"Gmplayer" NULL exec "gmplayer"
+"Xine" NULL exec "xine"
+"The GIMP" NULL exec "gimp"
+"GQView" NULL exec "gqview"
+"XV" NULL exec "xv"
+"Gaim" NULL exec "gaim"
+"Xchat" NULL exec "xchat"
+"XMag" NULL exec "xmag"
+"Grip" NULL exec "grip"
+"Audacious" NULL exec "audacious"
+"XMMS" NULL exec "xmms"
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/MAIN b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/MAIN
new file mode 100644
index 0000000..337aa28
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/MAIN
@@ -0,0 +1,38 @@
+<page columns=1 padding=10 name=front background=about-back.png linkcolor=#ffffff>
+
+<img src=about-elogo.png x=25 y=5>
+
+<img src=about-summer.png x=285 y=130>
+
+<font face=VeraBd/26 color=#009bff>
+<p align=0%>
+<p align=0%>
+<p align=0%>
+Summer°
+
+<font face=VeraBd/12 color=#005f9b>
+-- E DR16 theme by THR4K --
+
+<font face=Vera/9 color=#000000>
+<p align=0%>
+<p align=0%>
+Summer theme is my second seasonal
+theme after Spring.
+<p align=0%>
+It was mainly based on the code of
+Winter theme, originaly developped
+by Rephorm, so thanx to him for
+his great job.
+<p align=0%>
+Summer follow Spring in the concept
+of seasons introduced by Winter. His
+flashy, funny and sunny design will
+enlight a little more your desktop.
+<p align=0%>
+Stay cool, be relax, it's summer time 8-)
+
+<p align=0%>
+<font face=VeraBd/9 color=#000000>
+<p align=50%>
+For any information please contact me at:
+thr4k@i-glooo.com
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/README b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/README
new file mode 100644
index 0000000..90adf42
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/README
@@ -0,0 +1,114 @@
+--- ABOUT SUMMER THEME ---
+
+Summer theme is based on Spring theme (my previous work),
+originally based on Winter theme made by Rephorm ; without
+his great work, Summer would probably not exist.
+
+
+Summer was designed for Enlightenment 0.16.x (better 0.16.7+)
+It was essentialy inspired and made to pursue the concept of
+seasons introduced by Winter and followed by Spring.
+
+Summer include all the new features and bugfixes provided by
+Spring theme but with a redesign for windows borders, buttons
+and flashy, funny, sunny colors especially made to 'summerize'
+and enlight a little more your desktop.
+
+ THR4K
+
+
+
+
+Quick FAQ
+
+
+- How to install Summer E16 theme ?
+
+First uncompress the tar.gz theme file with the tar -xzvf command,
+after that, simply put the Summer directory obtained in your home
+directory under ~/.enlightenment/themes
+
+
+- The theme doesn't work for me, what can I do ?
+
+Verify your version of Enlightenment : if you use an older version
+(eg. before 0.16.5) the theme will probably not work correctly. So
+if you're in this case update your Enlightenement version if you
+want to use Summer.
+
+
+- Can I use this theme under E17 ?
+
+A quick answer : no. E17 theme engine is not the same as E16 and
+work with a different theme format. For this reason all E16 themes
+including Summer will NOT work with E17.
+
+
+- Do you plane to port this theme under E17 ?
+
+Hum that seems to be a good idea in the future ;-) I probably did
+a port of Summer soon after official release of E17, because it
+still misses a lot of features in his actual state of development.
+Currently I'm focused on the realisation of another seasonal
+fashioned theme (Autumn) for the last fans of E16 :-)
+
+
+
+
+CHANGELOG
+
+
+10/04/2005
+------------------------------------------------------------------
+- Wrong license path corrected in the copyright file
+- Text update in the ABOUT dialog box
+- Updated eterm theme config file ; wrong path fixed
+- Date errors in the README/CHANGELOG corrected
+
+09/11/2005
+------------------------------------------------------------------
+- Upgraded portions of code
+- Buttons comportment changed in conjunction with Summer-gtk
+- Color modifications for a best integration with Summer-gtk
+
+09/10/2005
+------------------------------------------------------------------
+- Fews modifications on code
+- Design enhancements for radio buttons into dialogboxes
+- Added text changes for 'About this theme' infos
+- Added nice Summer about image for 'About this theme'
+- Design enhancements for focuslist selection style
+
+09/04/2005
+------------------------------------------------------------------
+- Code modification to suit with recents changes
+- Added new gradient backgrounds
+- Added final design for init/startup
+- Added new design for Epplets buttons and their global style
+- Added new design for Summer-themed Eterm
+- Added new dragbar design
+- Added new design for root menu elements
+- Many modifications for dialogboxes elements
+- Window buttons redesign
+
+09/03/2005
+------------------------------------------------------------------
+- Tested new design style for dialogboxes elements
+- Color changes for fonts display
+- Little redesign for windows borders added
+- Modifications/improvements on code
+- Color changes between normal/hilighted buttons, windows, etc
+- Main new graphical elements of Summer theme added
+
+08/28/2005
+------------------------------------------------------------------
+First tries for global shape and color design.
+------------------------------------------------------------------
+
+
+
+
+For any questions, suggestions or for reporting bugs (wich only
+concern Summer, not Enlightenment himself, of course) you can
+contact me (in english or french) at : thr4k@i-glooo.com
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/Vera.ttf b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/Vera.ttf
new file mode 100644
index 0000000..58cd6b5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/Vera.ttf
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/VeraBd.ttf b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/VeraBd.ttf
new file mode 100644
index 0000000..51d6111
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/VeraBd.ttf
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-back.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-back.png
new file mode 100644
index 0000000..7609932
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-back.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-elogo.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-elogo.png
new file mode 100644
index 0000000..813e6d5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-elogo.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-summer.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-summer.png
new file mode 100644
index 0000000..5417a9c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ABOUT/about-summer.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-startup.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-startup.png
new file mode 100644
index 0000000..333b407
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-startup.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-summer01.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-summer01.png
new file mode 100644
index 0000000..0d9bfd0
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/back-summer01.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/lh-wallpaper.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/lh-wallpaper.png
new file mode 100644
index 0000000..bd9590c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/backgrounds/lh-wallpaper.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_off.png
new file mode 100644
index 0000000..75b5d6d
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_on.png
new file mode 100644
index 0000000..59bcdbf
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-b_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_off.png
new file mode 100644
index 0000000..541eb9b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_on.png
new file mode 100644
index 0000000..6e55db4
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-altn-t_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_off.png
new file mode 100644
index 0000000..ba42f96
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_on.png
new file mode 100644
index 0000000..f3cbf7f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-b_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_off.png
new file mode 100644
index 0000000..e7086b2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_on.png
new file mode 100644
index 0000000..2d4c713
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-bl_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_off.png
new file mode 100644
index 0000000..dea8921
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_on.png
new file mode 100644
index 0000000..2035f2b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-br_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-off.png
new file mode 100644
index 0000000..2c66d4b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-on.png
new file mode 100644
index 0000000..3c9f4de
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_off.png
new file mode 100644
index 0000000..d46080f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_on.png
new file mode 100644
index 0000000..71e6138
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-exit_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_off.png
new file mode 100644
index 0000000..3ec8078
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_on.png
new file mode 100644
index 0000000..ad542d2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-l_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_off.png
new file mode 100644
index 0000000..0b5cbdb
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_on.png
new file mode 100644
index 0000000..d719d24
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-r_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_off.png
new file mode 100644
index 0000000..a3b13f7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_on.png
new file mode 100644
index 0000000..969a818
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-ibox-t_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_off.png
new file mode 100644
index 0000000..5b55628
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_on.png
new file mode 100644
index 0000000..05e3669
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-lr_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-off.png
new file mode 100644
index 0000000..cdba261
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-on.png
new file mode 100644
index 0000000..1015177
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_off.png
new file mode 100644
index 0000000..57389f5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_on.png
new file mode 100644
index 0000000..998692a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-maxi_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-b_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-b_on.png
new file mode 100644
index 0000000..8348ec9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-b_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-t_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-t_on.png
new file mode 100644
index 0000000..89d1ecb
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-menu-t_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-off.png
new file mode 100644
index 0000000..ac1fcd1
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-on.png
new file mode 100644
index 0000000..e0f2667
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_off.png
new file mode 100644
index 0000000..5ea433f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_on.png
new file mode 100644
index 0000000..718b302
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-mini_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_off.png
new file mode 100644
index 0000000..6a2bc0e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_on.png
new file mode 100644
index 0000000..1aea5d7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-t_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_off.png
new file mode 100644
index 0000000..bfc6afd
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_on.png
new file mode 100644
index 0000000..8aa52c8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/border-text-t_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bl.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bl.png
new file mode 100644
index 0000000..aff0082
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bl.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bm.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bm.png
new file mode 100644
index 0000000..3d6ef29
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-bm.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-br.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-br.png
new file mode 100644
index 0000000..70dd3d4
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-br.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lh.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lh.png
new file mode 100644
index 0000000..796d081
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lh.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lm.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lm.png
new file mode 100644
index 0000000..4484a8d
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-lm.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-rh.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-rh.png
new file mode 100644
index 0000000..b5fe050
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-rh.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tl.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tl.png
new file mode 100644
index 0000000..ce3281b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tl.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tm.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tm.png
new file mode 100644
index 0000000..ddf69ff
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tm.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tr.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tr.png
new file mode 100644
index 0000000..58542c9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/pager_border-pager-tr.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bl.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bl.png
new file mode 100644
index 0000000..e937ad0
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bl.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bm.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bm.png
new file mode 100644
index 0000000..452d356
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-bm.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-br.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-br.png
new file mode 100644
index 0000000..216d0a9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-br.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-lh.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-lh.png
new file mode 100644
index 0000000..b5fe050
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-lh.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rh.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rh.png
new file mode 100644
index 0000000..796d081
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rh.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rm.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rm.png
new file mode 100644
index 0000000..e7f9515
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-rm.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tl.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tl.png
new file mode 100644
index 0000000..b1b5753
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tl.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tm.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tm.png
new file mode 100644
index 0000000..cd11752
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tm.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tr.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tr.png
new file mode 100644
index 0000000..92589d8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/borders/rightpager_border-rpager-tr.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-blank.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-blank.png
new file mode 100644
index 0000000..05644bd
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-blank.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-box.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-box.png
new file mode 100644
index 0000000..a9243a8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/common/e-box.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-back.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-back.png
new file mode 100644
index 0000000..36bb574
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-back.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-off.png
new file mode 100644
index 0000000..ac8808a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-on.png
new file mode 100644
index 0000000..e077abd
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_off.png
new file mode 100644
index 0000000..4e81b94
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_on.png
new file mode 100644
index 0000000..2bbdac6
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-btn_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-off.png
new file mode 100644
index 0000000..d301da7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-on.png
new file mode 100644
index 0000000..803a3e6
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_off.png
new file mode 100644
index 0000000..8fe05e2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_on.png
new file mode 100644
index 0000000..3289789
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chk_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-off.png
new file mode 100644
index 0000000..8eac898
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-on.png
new file mode 100644
index 0000000..31f7fbb
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_off.png
new file mode 100644
index 0000000..330f265
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_on.png
new file mode 100644
index 0000000..c49e701
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-chkm_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-off.png
new file mode 100644
index 0000000..5d15029
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-on.png
new file mode 100644
index 0000000..42f3bc4
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_off.png
new file mode 100644
index 0000000..0411815
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_on.png
new file mode 100644
index 0000000..15200df
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabh_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-off.png
new file mode 100644
index 0000000..6aff0e2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-on.png
new file mode 100644
index 0000000..2cb58ac
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_off.png
new file mode 100644
index 0000000..80a4369
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_on.png
new file mode 100644
index 0000000..094a150
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-grabv_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-off.png
new file mode 100644
index 0000000..56276bd
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-on.png
new file mode 100644
index 0000000..001b6f9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_off.png
new file mode 100644
index 0000000..27d568b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_on.png
new file mode 100644
index 0000000..7ff3ecb
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-rad_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-off.png
new file mode 100644
index 0000000..928a4b9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-on.png
new file mode 100644
index 0000000..333ac41
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_off.png
new file mode 100644
index 0000000..d203683
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_on.png
new file mode 100644
index 0000000..e2c0446
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-radm_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-separator.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-separator.png
new file mode 100644
index 0000000..e3972b7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-separator.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setarea.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setarea.png
new file mode 100644
index 0000000..98560aa
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setarea.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setback.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setback.png
new file mode 100644
index 0000000..25b971e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setback.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setborder.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setborder.png
new file mode 100644
index 0000000..f2cf523
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-setborder.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_off.png
new file mode 100644
index 0000000..236a3e7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_on.png
new file mode 100644
index 0000000..2aab9ec
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slideh_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_off.png
new file mode 100644
index 0000000..994cc9e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_on.png
new file mode 100644
index 0000000..7ef12fa
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-slidev_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-table.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-table.png
new file mode 100644
index 0000000..633847a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dialogs/dialog-table.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_off.png
new file mode 100644
index 0000000..71119f8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_on.png
new file mode 100644
index 0000000..1a80bfe
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-d_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_off.png
new file mode 100644
index 0000000..9bc7860
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_on.png
new file mode 100644
index 0000000..70bc9b7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-l_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_off.png
new file mode 100644
index 0000000..ae27ba1
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_on.png
new file mode 100644
index 0000000..cdc47bc
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-r_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_off.png
new file mode 100644
index 0000000..d36b2bf
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_on.png
new file mode 100644
index 0000000..e76222f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbar-arw-u_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarh.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarh.png
new file mode 100644
index 0000000..3a638d0
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarh.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarv.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarv.png
new file mode 100644
index 0000000..e86dfcb
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/dragbar/dragbarv.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-off.png
new file mode 100644
index 0000000..db32a6a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-on.png
new file mode 100644
index 0000000..ac00128
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_off.png
new file mode 100644
index 0000000..3af84ff
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_on.png
new file mode 100644
index 0000000..2207bac
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-d_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-off.png
new file mode 100644
index 0000000..f2f8d55
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-on.png
new file mode 100644
index 0000000..7775a0b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_off.png
new file mode 100644
index 0000000..cf5c631
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_on.png
new file mode 100644
index 0000000..13440ad
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-l_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-off.png
new file mode 100644
index 0000000..c3d9336
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-on.png
new file mode 100644
index 0000000..6e44d2b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_off.png
new file mode 100644
index 0000000..a715df2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_on.png
new file mode 100644
index 0000000..19d8f8a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-r_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-off.png
new file mode 100644
index 0000000..4c1593d
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-on.png
new file mode 100644
index 0000000..ae61aee
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_off.png
new file mode 100644
index 0000000..5f23736
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_on.png
new file mode 100644
index 0000000..887d5b1
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-arw-u_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-back.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-back.png
new file mode 100644
index 0000000..e99b977
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-back.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-off.png
new file mode 100644
index 0000000..8e6686a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-on.png
new file mode 100644
index 0000000..520d91e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_off.png
new file mode 100644
index 0000000..87eb0f5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_on.png
new file mode 100644
index 0000000..684be77
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btn_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_off.png
new file mode 100644
index 0000000..16da919
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_on.png
new file mode 100644
index 0000000..8731c56
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-btnm_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-off.png
new file mode 100644
index 0000000..15b3be2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-on.png
new file mode 100644
index 0000000..d31afe8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_off.png
new file mode 100644
index 0000000..c496002
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_on.png
new file mode 100644
index 0000000..465b6d9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-conf_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-draw.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-draw.png
new file mode 100644
index 0000000..b368af4
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-draw.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-off.png
new file mode 100644
index 0000000..f9428e2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-on.png
new file mode 100644
index 0000000..7f4eef8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_off.png
new file mode 100644
index 0000000..13dc739
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_on.png
new file mode 100644
index 0000000..2ab77be
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-ejct_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-off.png
new file mode 100644
index 0000000..b08a17c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-on.png
new file mode 100644
index 0000000..2aeb0ca
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_off.png
new file mode 100644
index 0000000..d93ffbb
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_on.png
new file mode 100644
index 0000000..aaa2d77
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-exit_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-off.png
new file mode 100644
index 0000000..d9e8f8f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-on.png
new file mode 100644
index 0000000..225da19
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_off.png
new file mode 100644
index 0000000..f88edd7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_on.png
new file mode 100644
index 0000000..a767793
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-forw_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-off.png
new file mode 100644
index 0000000..c81f100
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-on.png
new file mode 100644
index 0000000..e0115ce
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_off.png
new file mode 100644
index 0000000..8bc7c89
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_on.png
new file mode 100644
index 0000000..f630e9c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-grab_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-off.png
new file mode 100644
index 0000000..8600669
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-on.png
new file mode 100644
index 0000000..7d3bfe3
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_off.png
new file mode 100644
index 0000000..4c22cb1
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_on.png
new file mode 100644
index 0000000..48bf1b6
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-help_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-list.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-list.png
new file mode 100644
index 0000000..a590d32
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-list.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-off.png
new file mode 100644
index 0000000..42c7a81
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-on.png
new file mode 100644
index 0000000..5e6b2a8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_off.png
new file mode 100644
index 0000000..c91cdb9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_on.png
new file mode 100644
index 0000000..1d8235b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-next_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-off.png
new file mode 100644
index 0000000..bff3741
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-on.png
new file mode 100644
index 0000000..9e2dd9f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_off.png
new file mode 100644
index 0000000..a715df2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_on.png
new file mode 100644
index 0000000..19d8f8a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-play_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-off.png
new file mode 100644
index 0000000..4292788
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-on.png
new file mode 100644
index 0000000..5aa4eea
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_off.png
new file mode 100644
index 0000000..64593ff
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_on.png
new file mode 100644
index 0000000..6686b4f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-prev_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-off.png
new file mode 100644
index 0000000..2b59d85
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-on.png
new file mode 100644
index 0000000..67fd350
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_off.png
new file mode 100644
index 0000000..dbfd5d6
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_on.png
new file mode 100644
index 0000000..d116554
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rpt_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-off.png
new file mode 100644
index 0000000..9947697
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-on.png
new file mode 100644
index 0000000..5de5d4e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_off.png
new file mode 100644
index 0000000..4528c18
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_on.png
new file mode 100644
index 0000000..86706b8
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-rwnd_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-off.png
new file mode 100644
index 0000000..646f307
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-on.png
new file mode 100644
index 0000000..37db3ce
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_off.png
new file mode 100644
index 0000000..f510301
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_on.png
new file mode 100644
index 0000000..241e421
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-skip_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_off.png
new file mode 100644
index 0000000..a8af1ed
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_on.png
new file mode 100644
index 0000000..8441f9e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slideh_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_off.png
new file mode 100644
index 0000000..b665fa5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_on.png
new file mode 100644
index 0000000..1659eb7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-slidev_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-off.png
new file mode 100644
index 0000000..b55ec5c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-on.png
new file mode 100644
index 0000000..b515151
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_off.png
new file mode 100644
index 0000000..ef036ac
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_on.png
new file mode 100644
index 0000000..0f68e2f
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-stop_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-off.png
new file mode 100644
index 0000000..2c9da03
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-on.png
new file mode 100644
index 0000000..1b26f36
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_off.png
new file mode 100644
index 0000000..a63e4d0
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_on.png
new file mode 100644
index 0000000..225d41c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/epplets/epp-wait_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-off.png
new file mode 100644
index 0000000..3a676b9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-on.png
new file mode 100644
index 0000000..0b94561
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_off.png
new file mode 100644
index 0000000..ad84647
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_on.png
new file mode 100644
index 0000000..5e99af6
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/focuslist/focus-box_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-back.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-back.png
new file mode 100644
index 0000000..01029d7
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-back.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-cover.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-cover.png
new file mode 100644
index 0000000..1ee2c2d
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-cover.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-empty.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-empty.png
new file mode 100644
index 0000000..4c9db06
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-empty.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_off.png
new file mode 100644
index 0000000..ffbe14c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_on.png
new file mode 100644
index 0000000..97d7dd1
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-grab_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollbase.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollbase.png
new file mode 100644
index 0000000..d9ceab5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollbase.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_off.png
new file mode 100644
index 0000000..09c5381
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_on.png
new file mode 100644
index 0000000..565f679
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollh_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_off.png
new file mode 100644
index 0000000..9ccc5d2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_on.png
new file mode 100644
index 0000000..f20b123
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/iconbox/ibox-scrollv_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-basebar.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-basebar.png
new file mode 100644
index 0000000..89aba09
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-basebar.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-progbar.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-progbar.png
new file mode 100644
index 0000000..472b083
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-progbar.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-textbar.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-textbar.png
new file mode 100644
index 0000000..466ef27
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/init/init-textbar.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-off.png
new file mode 100644
index 0000000..1794bc0
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-on.png
new file mode 100644
index 0000000..17f5bda
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_off.png
new file mode 100644
index 0000000..02e5bda
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_on.png
new file mode 100644
index 0000000..8c1f617
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu-arw_on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-off.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-off.png
new file mode 100644
index 0000000..38e1783
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-off.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-on.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-on.png
new file mode 100644
index 0000000..7e2e40d
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/menustyles/menu_hi-on.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-back.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-back.png
new file mode 100644
index 0000000..f31fa5c
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-back.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-select.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-select.png
new file mode 100644
index 0000000..42e0dc6
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-select.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-window.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-window.png
new file mode 100644
index 0000000..5a820f2
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/pager/pager-window.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/tooltips/tooltip-box.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/tooltips/tooltip-box.png
new file mode 100644
index 0000000..9d05b0e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/artwork/tooltips/tooltip-box.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders.cfg
new file mode 100644
index 0000000..1519034
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders.cfg
@@ -0,0 +1,17 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: borders.cfg 46 2009-04-13 05:25:03Z don $ */
+
+#include <borders/borderless.cfg>
+#include <borders/default.cfg>
+#include <borders/dialog.cfg>
+#include <borders/fixed_size.cfg>
+#include <borders/iconbox.cfg>
+#include <borders/menu.cfg>
+#include <borders/pager.cfg>
+#include <borders/pager_right.cfg>
+#include <borders/shaped.cfg>
+#include <borders/transient.cfg>
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/borderless.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/borderless.cfg
new file mode 100644
index 0000000..90bdcd9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/borderless.cfg
@@ -0,0 +1,11 @@
+/* Maintained at themes.effx.us
+ $Id: borderless.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME BORDERLESS
+ __BORDER_SIZE_LEFT 0
+ __BORDER_SIZE_RIGHT 0
+ __BORDER_SIZE_TOP 0
+ __BORDER_SIZE_BOTTOM 0
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/default.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/default.cfg
new file mode 100644
index 0000000..3871e6e
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/default.cfg
@@ -0,0 +1,228 @@
+/* Maintained at themes.effx.us
+ $Id: default.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME DEFAULT
+ __BORDER_SIZE_LEFT 1
+ __BORDER_SIZE_RIGHT 1
+ __BORDER_SIZE_TOP 21
+ __BORDER_SIZE_BOTTOM 7
+ __SHADE_DIRECTION __UP
+ __CHANGES_SHAPE __OFF
+
+ __BORDER_PART __BGN
+ __ICLASS TOP
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS TOP_TEXT
+ __ACLASS ACTION_MOVE
+ __TCLASS TITLE
+ __FLAGS __FLAG_TITLE
+ __CURSOR MOVE
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 8
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -50
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS CLOSE
+ __ACLASS ACTION_KILL
+ __MIN_WIDTH 10
+ __MAX_WIDTH 10
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -15
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 6
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -5
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 16
+ __KEEP_WHEN_SHADED __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS MAX
+ __ACLASS ACTION_MAX
+ __MIN_WIDTH 10
+ __MAX_WIDTH 10
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -28
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 6
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -18
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 16
+ __KEEP_WHEN_SHADED __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS ICONIFY
+ __ACLASS ACTION_ICONIFY
+ __MIN_WIDTH 10
+ __MAX_WIDTH 10
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -41
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 6
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -31
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 16
+ __KEEP_WHEN_SHADED __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -1
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BOTTOM
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BL
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BR
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/dialog.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/dialog.cfg
new file mode 100644
index 0000000..15879ef
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/dialog.cfg
@@ -0,0 +1,168 @@
+/* Maintained at themes.effx.us
+ $Id: dialog.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME DIALOG
+ __BORDER_SIZE_LEFT 1
+ __BORDER_SIZE_RIGHT 1
+ __BORDER_SIZE_TOP 21
+ __BORDER_SIZE_BOTTOM 7
+ __SHADE_DIRECTION __UP
+ __CHANGES_SHAPE __OFF
+
+ __BORDER_PART __BGN
+ __ICLASS TOP
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+__BORDER_PART __BGN
+ __ICLASS TOP_TEXT
+ __ACLASS ACTION_MOVE
+ __TCLASS TITLE
+ __FLAGS __FLAG_TITLE
+ __CURSOR MOVE
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 8
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -8
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -1
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BOTTOM
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BL
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BR
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/fixed_size.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/fixed_size.cfg
new file mode 100644
index 0000000..a83061a
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/fixed_size.cfg
@@ -0,0 +1,208 @@
+/* Maintained at themes.effx.us
+ $Id: fixed_size.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME FIXED_SIZE
+ __BORDER_SIZE_LEFT 1
+ __BORDER_SIZE_RIGHT 1
+ __BORDER_SIZE_TOP 21
+ __BORDER_SIZE_BOTTOM 7
+ __SHADE_DIRECTION __UP
+ __CHANGES_SHAPE __OFF
+
+ __BORDER_PART __BGN
+ __ICLASS TOP
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS TOP_TEXT
+ __ACLASS ACTION_MOVE
+ __TCLASS TITLE
+ __FLAGS __FLAG_TITLE
+ __CURSOR MOVE
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 8
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -50
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS CLOSE
+ __ACLASS ACTION_KILL
+ __MIN_WIDTH 10
+ __MAX_WIDTH 10
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -15
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 6
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -5
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 16
+ __KEEP_WHEN_SHADED __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS ICONIFY
+ __ACLASS ACTION_ICONIFY
+ __MIN_WIDTH 10
+ __MAX_WIDTH 10
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -28
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 6
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -18
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 16
+ __KEEP_WHEN_SHADED __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -1
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BOTTOM
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BL
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BR
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/iconbox.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/iconbox.cfg
new file mode 100644
index 0000000..3231b72
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/iconbox.cfg
@@ -0,0 +1,146 @@
+/* Maintained at themes.effx.us
+ $Id: iconbox.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME ICONBOX
+ __BORDER_SIZE_LEFT 1
+ __BORDER_SIZE_RIGHT 1
+ __BORDER_SIZE_TOP 10
+ __BORDER_SIZE_BOTTOM 7
+ __SHADE_DIRECTION __UP
+ __CHANGES_SHAPE __OFF
+
+ __BORDER_PART __BGN
+ __ICLASS ICONBOX_TB
+ __ACLASS ACTION_MOVE
+ __CURSOR MOVE
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 10
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 10
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -1
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 10
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BOTTOM
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -12
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BL_ICONBOX
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 12
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BR_ICONBOX
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/menu.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/menu.cfg
new file mode 100644
index 0000000..a7f6269
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/menu.cfg
@@ -0,0 +1,124 @@
+/* Maintained at themes.effx.us
+ $Id: menu.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME MENU
+ __BORDER_SIZE_LEFT 1
+ __BORDER_SIZE_RIGHT 1
+ __BORDER_SIZE_TOP 21
+ __BORDER_SIZE_BOTTOM 10
+ __SHADE_DIRECTION __UP
+ __CHANGES_SHAPE __OFF
+
+ __BORDER_PART __BGN
+ __ICLASS MENU_TOP
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+__BORDER_PART __BGN
+ __ICLASS MENU_TOP_TEXT
+ __ACLASS ACTION_MOVE
+ __TCLASS MENU_TITLE
+ __FLAGS __FLAG_TITLE
+ __CURSOR MOVE
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 8
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -8
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -1
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS MENU_BOTTOM_ALTERNATIVE
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -10
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager.cfg
new file mode 100644
index 0000000..055beb4
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager.cfg
@@ -0,0 +1,218 @@
+/* Maintained at themes.effx.us
+ $Id: pager.cfg 19 2009-04-07 01:08:19Z don $ */
+
+__BORDER __BGN
+ __NAME PAGER
+ __BORDER_SIZE_LEFT 5
+ __BORDER_SIZE_RIGHT 19
+ __BORDER_SIZE_TOP 5
+ __BORDER_SIZE_BOTTOM 5
+ __SHADE_DIRECTION __LEFT
+ __CHANGES_SHAPE __OFF
+
+/* 0 */
+ __BORDER_PART __BGN
+ __ICLASS PB1
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 2
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 2
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 1 */
+ __BORDER_PART __BGN
+ __ICLASS PB2
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 5
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -10
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 2
+ __KEEP_WHEN_SHADED __OFF
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 2 */
+ __BORDER_PART __BGN
+ __ICLASS PB3
+ __ACLASS ACTION_MOVE
+ __CURSOR MOVE
+ __MIN_WIDTH 19
+ __MAX_WIDTH 19
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -19
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 20
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 3 */
+ __BORDER_PART __BGN
+ __ICLASS PB4
+ __ACLASS ACTION_SHADE
+ __MIN_WIDTH 19
+ __MAX_WIDTH 19
+ __MIN_HEIGHT 13
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -19
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 11
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 4 */
+ __BORDER_PART __BGN
+ __ICLASS PB5
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 5
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -5
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -20
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __OFF
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 5 */
+ __BORDER_PART __BGN
+ __ICLASS PB6
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -5
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 2
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 6 */
+ __BORDER_PART __BGN
+ __ICLASS PB7
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 5
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 2
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -6
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 7 */
+ __BORDER_PART __BGN
+ __ICLASS PB8R
+ __ACLASS ACTION_SHADE
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN 3
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 3
+ __TOPLEFT_Y_PERCENTAGE 512
+ __TOPLEFT_Y_ABSOLUTE -4
+ __BOTTOMRIGHT_ORIGIN 3
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 8
+ __BOTTOMRIGHT_Y_PERCENTAGE 512
+ __BOTTOMRIGHT_Y_ABSOLUTE 5
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+/* ! */
+ __BORDER_PART __BGN
+ __ICLASS PB8L
+ __ACLASS ACTION_SHADE
+ __MIN_WIDTH 6
+ __MAX_WIDTH 6
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN 3
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 3
+ __TOPLEFT_Y_PERCENTAGE 512
+ __TOPLEFT_Y_ABSOLUTE -4
+ __BOTTOMRIGHT_ORIGIN 3
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 8
+ __BOTTOMRIGHT_Y_PERCENTAGE 512
+ __BOTTOMRIGHT_Y_ABSOLUTE 5
+ __KEEP_WHEN_SHADED __OFF
+ __KEEP_ON_TOP __ON
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager_right.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager_right.cfg
new file mode 100644
index 0000000..257d061
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/pager_right.cfg
@@ -0,0 +1,217 @@
+/* Maintained at themes.effx.us
+ $Id: pager_right.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME PAGER_RIGHT
+ __BORDER_SIZE_LEFT 19
+ __BORDER_SIZE_RIGHT 5
+ __BORDER_SIZE_TOP 5
+ __BORDER_SIZE_BOTTOM 5
+ __SHADE_DIRECTION __RIGHT
+ __CHANGES_SHAPE __OFF
+
+/* 0 */
+ __BORDER_PART __BGN
+ __ICLASS RPB1
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -5
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 5
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 1 */
+ __BORDER_PART __BGN
+ __ICLASS RPB2
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 12
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -5
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 2
+ __KEEP_WHEN_SHADED __OFF
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 2 */
+ __BORDER_PART __BGN
+ __ICLASS RPB3
+ __ACLASS ACTION_MOVE
+ __CURSOR MOVE
+ __MIN_WIDTH 19
+ __MAX_WIDTH 19
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 11
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 20
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 3 */
+ __BORDER_PART __BGN
+ __ICLASS RPB4
+ __ACLASS ACTION_SHADE
+ __MIN_WIDTH 19
+ __MAX_WIDTH 19
+ __MIN_HEIGHT 13
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 13
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 4 */
+ __BORDER_PART __BGN
+ __ICLASS RPB5
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 19
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -5
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -5
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE 0
+ __KEEP_WHEN_SHADED __OFF
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 5 */
+ __BORDER_PART __BGN
+ __ICLASS RPB6
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 5
+ __MAX_HEIGHT 5
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -5
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -5
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE 0
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 6 */
+ __BORDER_PART __BGN
+ __ICLASS RPB7
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -5
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 5
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -5
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+/* 7 */
+ __BORDER_PART __BGN
+ __ICLASS RPB8L
+ __ACLASS ACTION_SHADE
+ __MIN_WIDTH 6
+ __MAX_WIDTH 6
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN 3
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 2
+ __TOPLEFT_Y_PERCENTAGE 512
+ __TOPLEFT_Y_ABSOLUTE -4
+ __BOTTOMRIGHT_ORIGIN 3
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 7
+ __BOTTOMRIGHT_Y_PERCENTAGE 512
+ __BOTTOMRIGHT_Y_ABSOLUTE 5
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS RPB8R
+ __ACLASS ACTION_SHADE
+ __MIN_WIDTH 6
+ __MAX_WIDTH 6
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN 3
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 2
+ __TOPLEFT_Y_PERCENTAGE 512
+ __TOPLEFT_Y_ABSOLUTE -4
+ __BOTTOMRIGHT_ORIGIN 3
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 7
+ __BOTTOMRIGHT_Y_PERCENTAGE 512
+ __BOTTOMRIGHT_Y_ABSOLUTE 5
+ __KEEP_WHEN_SHADED __OFF
+ __KEEP_ON_TOP __ON
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/shaped.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/shaped.cfg
new file mode 100644
index 0000000..5f22891
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/shaped.cfg
@@ -0,0 +1,146 @@
+/* Maintained at themes.effx.us
+ $Id: shaped.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME SHAPED
+ __BORDER_SIZE_LEFT 5
+ __BORDER_SIZE_RIGHT 5
+ __BORDER_SIZE_TOP 14
+ __BORDER_SIZE_BOTTOM 7
+ __SHADE_DIRECTION __UP
+ __CHANGES_SHAPE __OFF
+
+ __BORDER_PART __BGN
+ __ICLASS TOP_ICONBOX
+ __ACLASS ACTION_MOVE
+ __CURSOR MOVE
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 14
+ __MAX_HEIGHT 14
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 14
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE_L_ICONBOX
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 10
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE_R_ICONBOX
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 5
+ __MAX_WIDTH 5
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -5
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 10
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BOTTOM
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -12
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BL
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 12
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BR
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/transient.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/transient.cfg
new file mode 100644
index 0000000..af53182
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/borders/transient.cfg
@@ -0,0 +1,188 @@
+/* Maintained at themes.effx.us
+ $Id: transient.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__BORDER __BGN
+ __NAME TRANSIENT
+ __BORDER_SIZE_LEFT 1
+ __BORDER_SIZE_RIGHT 1
+ __BORDER_SIZE_TOP 21
+ __BORDER_SIZE_BOTTOM 7
+ __SHADE_DIRECTION __UP
+ __CHANGES_SHAPE __OFF
+
+ __BORDER_PART __BGN
+ __ICLASS TOP
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS TOP_TEXT
+ __ACLASS ACTION_MOVE
+ __TCLASS TITLE
+ __FLAGS __FLAG_TITLE
+ __CURSOR MOVE
+ __MIN_WIDTH 12
+ __MIN_HEIGHT 21
+ __MAX_HEIGHT 21
+ __MAX_WIDTH 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 8
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 0
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -50
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 21
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS CLOSE
+ __ACLASS ACTION_KILL
+ __MIN_WIDTH 10
+ __MAX_WIDTH 10
+ __MIN_HEIGHT 10
+ __MAX_HEIGHT 10
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -15
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 6
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -5
+ __BOTTOMRIGHT_Y_PERCENTAGE 0
+ __BOTTOMRIGHT_Y_ABSOLUTE 16
+ __KEEP_WHEN_SHADED __ON
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS SIDE
+ __ACLASS ACTION_RESIZE_H
+ __CURSOR RESIZE_H
+ __MIN_WIDTH 1
+ __MAX_WIDTH 1
+ __MIN_HEIGHT 0
+ __MAX_HEIGHT 99999
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -1
+ __TOPLEFT_Y_PERCENTAGE 0
+ __TOPLEFT_Y_ABSOLUTE 21
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE 0
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -7
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BOTTOM
+ __ACLASS ACTION_RESIZE_V
+ __CURSOR RESIZE_V
+ __MIN_WIDTH 0
+ __MAX_WIDTH 99999
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BL
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_TR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 0
+ __TOPLEFT_X_ABSOLUTE 0
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 0
+ __BOTTOMRIGHT_X_ABSOLUTE 23
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+ __BORDER_PART __BGN
+ __ICLASS BR
+ __ACLASS ACTION_RESIZE
+ __CURSOR RESIZE_BR
+ __MIN_WIDTH 23
+ __MAX_WIDTH 23
+ __MIN_HEIGHT 7
+ __MAX_HEIGHT 7
+ __TOPLEFT_ORIGIN -1
+ __TOPLEFT_X_PERCENTAGE 1024
+ __TOPLEFT_X_ABSOLUTE -23
+ __TOPLEFT_Y_PERCENTAGE 1024
+ __TOPLEFT_Y_ABSOLUTE -7
+ __BOTTOMRIGHT_ORIGIN -1
+ __BOTTOMRIGHT_X_PERCENTAGE 1024
+ __BOTTOMRIGHT_X_ABSOLUTE -1
+ __BOTTOMRIGHT_Y_PERCENTAGE 1024
+ __BOTTOMRIGHT_Y_ABSOLUTE -1
+ __KEEP_WHEN_SHADED __ON
+ __KEEP_ON_TOP __OFF
+ __END
+
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/copyright b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/copyright
new file mode 100644
index 0000000..dd44225
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/copyright
@@ -0,0 +1,90 @@
+Summer theme for Enlightenment DR16
+
+
+Copyright:
+
+ Copyright (C) 2005 Lionel MOOG ("THR4K")
+
+ Based on Winter theme by Brian Mattern ("Rephorm")
+ Copyright (C) 2004 Brian Mattern ("Rephorm")
+
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+
+For the complete text of the GNU General Public License see the
+Summer/license file or go to < http://www.gnu.org/licenses/gpl.html >
+
+
+
+
+---------------------------------------------------------------------------
+
+Bitstream Vera Fonts Copyright
+
+The fonts have a generous copyright, allowing derivative works (as
+long as "Bitstream" or "Vera" are not in the names), and full
+redistribution (so long as they are not *sold* by themselves). They
+can be be bundled, redistributed and sold with any software.
+
+The fonts are distributed under the following copyright:
+
+Copyright
+=========
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream
+Vera is a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute
+the Font Software, including without limitation the rights to use,
+copy, merge, publish, distribute, and/or sell copies of the Font
+Software, and to permit persons to whom the Font Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be included in all copies of one or more of the Font Software
+typefaces.
+
+The Font Software may be modified, altered, or added to, and in
+particular the designs of glyphs or characters in the Fonts may be
+modified and additional glyphs or characters may be added to the
+Fonts, only if the fonts are renamed to names not containing either
+the words "Bitstream" or the word "Vera".
+
+This License becomes null and void to the extent applicable to Fonts
+or Font Software that has been modified and is distributed under the
+"Bitstream Vera" names.
+
+The Font Software may be sold as part of a larger software package but
+no copy of one or more of the Font Software typefaces may be sold by
+itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
+OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
+SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font
+Software without prior written authorization from the Gnome Foundation
+or Bitstream Inc., respectively. For further information, contact:
+fonts at gnome dot org.
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/cursors.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/cursors.cfg
new file mode 100644
index 0000000..60a1acf
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/cursors.cfg
@@ -0,0 +1,69 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: cursors.cfg 46 2009-04-13 05:25:03Z don $ */
+
+__CURSOR __BGN
+ __NAME DEFAULT
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_LEFT_PTR
+__END
+
+__CURSOR __BGN
+ __NAME GRAB
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_CROSSHAIR
+__END
+
+__CURSOR __BGN
+ __NAME GRAB_MOVE
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_FLEUR
+__END
+
+__CURSOR __BGN
+ __NAME GRAB_RESIZE
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_SIZING
+__END
+
+__CURSOR __BGN
+ __NAME MOVE
+ __FG_COLOR 197 212 220
+ __BG_COLOR 7 59 91
+ __NATIVE_ID XC_FLEUR
+__END
+
+__CURSOR __BGN
+ __NAME RESIZE_H
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_SB_H_DOUBLE_ARROW
+__END
+
+__CURSOR __BGN
+ __NAME RESIZE_V
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_BOTTOM_SIDE
+__END
+
+__CURSOR __BGN
+ __NAME RESIZE_BR
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_BOTTOM_RIGHT_CORNER
+__END
+
+__CURSOR __BGN
+ __NAME RESIZE_TR
+ __FG_COLOR 7 59 91
+ __BG_COLOR 197 212 220
+ __NATIVE_ID XC_BOTTOM_LEFT_CORNER
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/desktops.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/desktops.cfg
new file mode 100644
index 0000000..cd0e702
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/desktops.cfg
@@ -0,0 +1,52 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: desktops.cfg 46 2009-04-13 05:25:03Z don $ */
+
+BEGIN_BACKGROUND("DESKTOP_0")
+ ADD_BACKGROUND_SCALED_RETAIN_ASPECT("artwork/backgrounds/lh-wallpaper.png")
+ ON_DESKTOP("0")
+ ON_DESKTOP("2")
+ ON_DESKTOP("4")
+ ON_DESKTOP("6")
+ ON_DESKTOP("8")
+ ON_DESKTOP("10")
+ ON_DESKTOP("12")
+ ON_DESKTOP("14")
+ ON_DESKTOP("16")
+ ON_DESKTOP("18")
+ ON_DESKTOP("20")
+ ON_DESKTOP("22")
+ ON_DESKTOP("24")
+ ON_DESKTOP("26")
+ ON_DESKTOP("28")
+ ON_DESKTOP("30")
+END_BACKGROUND
+
+BEGIN_BACKGROUND("DESKTOP_1")
+ //ADD_BACKGROUND_SCALED("artwork/backgrounds/back-summer02.png")
+ //SET_SOLID("10 114 188")
+// SET_SOLID("72 61 139")
+ SET_SOLID("0 0 128")
+ //SET_SOLID("65 105 225")
+ //ADD_OVERLAY_IMAGE_CENTERED(graphics/header.png)
+ ADD_OVERLAY_IMAGE_BOTTOM_MIDDLE(graphics/header.png)
+ ON_DESKTOP("1")
+ ON_DESKTOP("3")
+ ON_DESKTOP("5")
+ ON_DESKTOP("7")
+ ON_DESKTOP("9")
+ ON_DESKTOP("11")
+ ON_DESKTOP("13")
+ ON_DESKTOP("15")
+ ON_DESKTOP("17")
+ ON_DESKTOP("19")
+ ON_DESKTOP("21")
+ ON_DESKTOP("23")
+ ON_DESKTOP("25")
+ ON_DESKTOP("27")
+ ON_DESKTOP("29")
+ ON_DESKTOP("31")
+END_BACKGROUND
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg
new file mode 100644
index 0000000..7d5bebc
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg
@@ -0,0 +1,21 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: fonts.theme.cfg 47 2009-04-13 18:57:37Z don $ */
+
+__FONTS __BGN
+ font-border "VeraBd/18"
+ font-coords "VeraBd/17"
+ font-dialog "Vera/18"
+ font-dialog-hilite "VeraBd/18"
+ font-epplet "Vera/16"
+ font-epplet-large "Vera/20"
+ font-epplet-medium "Vera/18"
+ font-epplet-small "Vera/16"
+ font-focus "VeraBd/18"
+ font-init "VeraBd/19"
+ font-menu "Vera/18"
+ font-tooltip "Vera/17"
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg
new file mode 100644
index 0000000..7d5bebc
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg
@@ -0,0 +1,21 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: fonts.theme.cfg 47 2009-04-13 18:57:37Z don $ */
+
+__FONTS __BGN
+ font-border "VeraBd/18"
+ font-coords "VeraBd/17"
+ font-dialog "Vera/18"
+ font-dialog-hilite "VeraBd/18"
+ font-epplet "Vera/16"
+ font-epplet-large "Vera/20"
+ font-epplet-medium "Vera/18"
+ font-epplet-small "Vera/16"
+ font-focus "VeraBd/18"
+ font-init "VeraBd/19"
+ font-menu "Vera/18"
+ font-tooltip "Vera/17"
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/header.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/header.png
new file mode 100644
index 0000000..7e7f892
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/header.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/startup-overlay.png b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/startup-overlay.png
new file mode 100644
index 0000000..0037387
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/graphics/startup-overlay.png
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses.cfg
new file mode 100644
index 0000000..d42f8b5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses.cfg
@@ -0,0 +1,18 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: imageclasses.cfg 46 2009-04-13 05:25:03Z don $ */
+
+#include <imageclasses/borders.cfg>
+#include <imageclasses/coords.cfg>
+#include <imageclasses/dialogs.cfg>
+#include <imageclasses/dock.cfg>
+#include <imageclasses/dragbar.cfg>
+#include <imageclasses/epplets.cfg>
+#include <imageclasses/focuslist.cfg>
+#include <imageclasses/iconbox.cfg>
+#include <imageclasses/menustyles.cfg>
+#include <imageclasses/pager.cfg>
+#include <imageclasses/tooltips.cfg>
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/borders.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/borders.cfg
new file mode 100644
index 0000000..5b25427
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/borders.cfg
@@ -0,0 +1,348 @@
+/* Maintained at themes.effx.us
+ $Id: borders.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME TOP
+ __NORMAL "artwork/borders/border-t_off.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE "artwork/borders/border-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_STICKY "artwork/borders/border-t_off.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __PADDING 9 50 6 5
+__END
+
+__ICLASS __BGN
+ __NAME TOP_TEXT
+ __NORMAL "artwork/borders/border-text-t_off.png"
+ __NORMAL_ACTIVE "artwork/borders/border-text-t_on.png"
+ __NORMAL_STICKY "artwork/borders/border-text-t_off.png"
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-text-t_on.png"
+ __PADDING 1 5 6 5
+__END
+
+__ICLASS __BGN
+ __NAME CLOSE
+ __NORMAL "artwork/borders/border-exit_off.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_ACTIVE "artwork/borders/border-exit_on.png"
+ __EDGE_SCALING 0 0 0 0
+ __HILITED_ACTIVE "artwork/borders/border-exit_hi-off.png"
+ __EDGE_SCALING 0 0 0 0
+ __CLICKED_ACTIVE "artwork/borders/border-exit_hi-on.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_STICKY "artwork/borders/border-exit_off.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-exit_hi-off.png"
+ __EDGE_SCALING 0 0 0 0
+ __HILITED_ACTIVE_STICKY "artwork/borders/border-exit_hi-on.png"
+ __EDGE_SCALING 0 0 0 0
+ __CLICKED_ACTIVE_STICKY "artwork/borders/border-exit_on.png"
+ __EDGE_SCALING 0 0 0 0
+__END
+
+__ICLASS __BGN
+ __NAME MAX
+ __NORMAL "artwork/borders/border-maxi_off.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_ACTIVE "artwork/borders/border-maxi_on.png"
+ __EDGE_SCALING 0 0 0 0
+ __HILITED_ACTIVE "artwork/borders/border-maxi_hi-off.png"
+ __EDGE_SCALING 0 0 0 0
+ __CLICKED_ACTIVE "artwork/borders/border-maxi_hi-on.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_STICKY "artwork/borders/border-maxi_off.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-maxi_hi-off.png"
+ __EDGE_SCALING 0 0 0 0
+ __HILITED_ACTIVE_STICKY "artwork/borders/border-maxi_hi-on.png"
+ __EDGE_SCALING 0 0 0 0
+ __CLICKED_ACTIVE_STICKY "artwork/borders/border-maxi_on.png"
+ __EDGE_SCALING 0 0 0 0
+__END
+
+__ICLASS __BGN
+ __NAME ICONIFY
+ __NORMAL "artwork/borders/border-mini_off.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_ACTIVE "artwork/borders/border-mini_on.png"
+ __EDGE_SCALING 0 0 0 0
+ __HILITED_ACTIVE "artwork/borders/border-mini_hi-off.png"
+ __EDGE_SCALING 0 0 0 0
+ __CLICKED_ACTIVE "artwork/borders/border-mini_hi-on.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_STICKY "artwork/borders/border-mini_off.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-mini_hi-off.png"
+ __EDGE_SCALING 0 0 0 0
+ __HILITED_ACTIVE_STICKY "artwork/borders/border-mini_hi-on.png"
+ __EDGE_SCALING 0 0 0 0
+ __CLICKED_ACTIVE_STICKY "artwork/borders/border-mini_on.png"
+ __EDGE_SCALING 0 0 0 0
+__END
+
+__ICLASS __BGN
+ __NAME SIDE
+ __NORMAL "artwork/borders/border-lr_off.png"
+ __EDGE_SCALING 0 0 0 0
+ __NORMAL_ACTIVE "artwork/borders/border-lr_on.png"
+ __EDGE_SCALING 0 0 0 0
+__END
+
+__ICLASS __BGN
+ __NAME BOTTOM
+ __NORMAL "artwork/borders/border-b_off.png"
+ __EDGE_SCALING 6 6 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-b_on.png"
+ __EDGE_SCALING 6 6 2 2
+__END
+
+__ICLASS __BGN
+ __NAME BL
+ __NORMAL "artwork/borders/border-bl_off.png"
+ __EDGE_SCALING 6 2 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-bl_on.png"
+ __EDGE_SCALING 6 2 2 2
+ __NORMAL_STICKY "artwork/borders/border-bl_off.png"
+ __EDGE_SCALING 6 2 2 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-bl_on.png"
+ __EDGE_SCALING 6 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME BR
+ __NORMAL "artwork/borders/border-br_off.png"
+ __EDGE_SCALING 2 6 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-br_on.png"
+ __EDGE_SCALING 2 6 2 2
+ __NORMAL_STICKY "artwork/borders/border-br_off.png"
+ __EDGE_SCALING 2 6 2 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-br_on.png"
+ __EDGE_SCALING 2 6 2 2
+__END
+
+
+__ICLASS __BGN
+ __NAME TOP_ALTERNATIVE
+ __NORMAL "artwork/borders/border-altn-t_off.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE "artwork/borders/border-altn-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_STICKY "artwork/borders/border-altn-t_off.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-altn-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __PADDING 10 50 5 5
+__END
+
+__ICLASS __BGN
+ __NAME BOTTOM_ALTERNATIVE
+ __NORMAL "artwork/borders/border-altn-b_off.png"
+ __EDGE_SCALING 6 6 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-altn-b_on.png"
+ __EDGE_SCALING 6 6 2 2
+__END
+
+
+__ICLASS __BGN
+ __NAME MENU_TOP
+ __NORMAL "artwork/borders/border-menu-t_on.png"
+ __EDGE_SCALING 6 6 2 6
+ __PADDING 10 10 5 5
+__END
+
+__ICLASS __BGN
+ __NAME MENU_TOP_TEXT
+ __NORMAL "artwork/borders/border-text-t_on.png"
+ __NORMAL_ACTIVE "artwork/borders/border-text-t_on.png"
+ __NORMAL_STICKY "artwork/borders/border-text-t_on.png"
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-text-t_on.png"
+ __PADDING 1 5 6 5
+__END
+
+__ICLASS __BGN
+ __NAME MENU_BOTTOM
+ __NORMAL "artwork/borders/border-menu-b_on.png"
+ __EDGE_SCALING 6 6 2 6
+__END
+
+__ICLASS __BGN
+ __NAME MENU_BOTTOM_ALTERNATIVE
+ __NORMAL "artwork/borders/border-altn-b_on.png"
+ __EDGE_SCALING 6 6 2 2
+__END
+
+
+__ICLASS __BGN
+ __NAME TOP_ICONBOX
+ __NORMAL "artwork/borders/border-ibox-t_off.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE "artwork/borders/border-ibox-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_STICKY "artwork/borders/border-ibox-t_off.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-ibox-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __PADDING 10 50 5 5
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_TB
+ __NORMAL "artwork/borders/border-altn-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE "artwork/borders/border-altn-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_STICKY "artwork/borders/border-altn-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-altn-t_on.png"
+ __EDGE_SCALING 6 6 6 2
+ __PADDING 10 50 5 5
+__END
+
+__ICLASS __BGN
+ __NAME SIDE_L_ICONBOX
+ __NORMAL "artwork/borders/border-ibox-l_off.png"
+ __EDGE_SCALING 2 2 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-ibox-l_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME SIDE_R_ICONBOX
+ __NORMAL "artwork/borders/border-ibox-r_off.png"
+ __EDGE_SCALING 2 2 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-ibox-r_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME BL_ICONBOX
+ __NORMAL "artwork/borders/border-bl_on.png"
+ __EDGE_SCALING 6 2 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-bl_on.png"
+ __EDGE_SCALING 6 2 2 2
+ __NORMAL_STICKY "artwork/borders/border-bl_on.png"
+ __EDGE_SCALING 6 2 2 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-bl_on.png"
+ __EDGE_SCALING 6 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME BR_ICONBOX
+ __NORMAL "artwork/borders/border-br_on.png"
+ __EDGE_SCALING 2 6 2 2
+ __NORMAL_ACTIVE "artwork/borders/border-br_on.png"
+ __EDGE_SCALING 2 6 2 2
+ __NORMAL_STICKY "artwork/borders/border-br_on.png"
+ __EDGE_SCALING 2 6 2 2
+ __NORMAL_ACTIVE_STICKY "artwork/borders/border-br_on.png"
+ __EDGE_SCALING 2 6 2 2
+__END
+
+
+/* ImageClasses for the the distinct pagers */
+/* PAGER */
+
+__ICLASS __BGN
+ __NAME PB1
+ __NORMAL "artwork/borders/pager_border-pager-tl.png"
+__END
+
+__ICLASS __BGN
+ __NAME PB2
+ __NORMAL "artwork/borders/pager_border-pager-tm.png"
+ __EDGE_SCALING 0 0 0
+__END
+
+__ICLASS __BGN
+ __NAME PB3
+ __NORMAL "artwork/borders/pager_border-pager-tr.png"
+__END
+
+__ICLASS __BGN
+ __NAME PB4
+ __NORMAL "artwork/borders/pager_border-pager-br.png"
+ __EDGE_SCALING 0 0 0 5
+__END
+
+__ICLASS __BGN
+ __NAME PB5
+ __NORMAL "artwork/borders/pager_border-pager-bm.png"
+ __EDGE_SCALING 2 2 0 0
+__END
+
+__ICLASS __BGN
+ __NAME PB6
+ __NORMAL "artwork/borders/pager_border-pager-bl.png"
+__END
+
+__ICLASS __BGN
+ __NAME PB7
+ __NORMAL "artwork/borders/pager_border-pager-lm.png"
+ __EDGE_SCALING 0 0 0 0
+__END
+
+__ICLASS __BGN
+ __NAME PB8L
+ __NORMAL "artwork/borders/pager_border-pager-lh.png"
+__END
+
+__ICLASS __BGN
+ __NAME PB8R
+ __NORMAL "artwork/borders/pager_border-pager-rh.png"
+__END
+
+
+/* RIGHT_PAGER */
+
+__ICLASS __BGN
+ __NAME RPB1
+ __NORMAL "artwork/borders/rightpager_border-rpager-tr.png"
+__END
+
+__ICLASS __BGN
+ __NAME RPB2
+ __NORMAL "artwork/borders/rightpager_border-rpager-tm.png"
+ __EDGE_SCALING 2 2 0 0
+__END
+
+__ICLASS __BGN
+ __NAME RPB3
+ __NORMAL "artwork/borders/rightpager_border-rpager-tl.png"
+__END
+
+__ICLASS __BGN
+ __NAME RPB4
+ __NORMAL "artwork/borders/rightpager_border-rpager-bl.png"
+ __EDGE_SCALING 3 4 6 7
+__END
+
+__ICLASS __BGN
+ __NAME RPB5
+ __NORMAL "artwork/borders/rightpager_border-rpager-bm.png"
+ __EDGE_SCALING 2 2 0 0
+__END
+
+__ICLASS __BGN
+ __NAME RPB6
+ __NORMAL "artwork/borders/rightpager_border-rpager-br.png"
+__END
+
+__ICLASS __BGN
+ __NAME RPB7
+ __NORMAL "artwork/borders/rightpager_border-rpager-rm.png"
+ __EDGE_SCALING 0 0 2 2
+__END
+
+__ICLASS __BGN
+ __NAME RPB8L
+ __NORMAL "artwork/borders/rightpager_border-rpager-lh.png"
+__END
+
+__ICLASS __BGN
+ __NAME RPB8R
+ __NORMAL "artwork/borders/rightpager_border-rpager-rh.png"
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/coords.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/coords.cfg
new file mode 100644
index 0000000..7eed0cd
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/coords.cfg
@@ -0,0 +1,10 @@
+/* Maintained at themes.effx.us
+ $Id: coords.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME COORDS
+ __NORMAL "artwork/common/e-box.png"
+ __EDGE_SCALING 5 5 10 10
+ __PADDING 5 5 10 10
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dialogs.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dialogs.cfg
new file mode 100644
index 0000000..97e7950
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dialogs.cfg
@@ -0,0 +1,153 @@
+/* Maintained at themes.effx.us
+ $Id: dialogs.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME DIALOG
+ __NORMAL "artwork/dialogs/dialog-back.png"
+ __EDGE_SCALING 6 5 7 4
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_BUTTON
+ __NORMAL "artwork/dialogs/dialog-btn_on.png"
+ __EDGE_SCALING 8 8 8 8
+ __HILITED "artwork/dialogs/dialog-btn_hi-off.png"
+ __EDGE_SCALING 8 8 8 8
+ __CLICKED "artwork/dialogs/dialog-btn_hi-on.png"
+ __EDGE_SCALING 8 8 8 8
+ __PADDING 6 6 6 6
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_BUTTON
+ __NORMAL "artwork/dialogs/dialog-btn_on.png"
+ __EDGE_SCALING 8 8 8 8
+ __HILITED "artwork/dialogs/dialog-btn_hi-off.png"
+ __EDGE_SCALING 8 8 8 8
+ __CLICKED "artwork/dialogs/dialog-btn_hi-on.png"
+ __EDGE_SCALING 8 8 8 8
+ __PADDING 6 6 6 6
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_CHECK_BUTTON
+ __NORMAL "artwork/dialogs/dialog-chk_on.png"
+ __EDGE_SCALING 70 70 70 0
+ __NORMAL_ACTIVE "artwork/dialogs/dialog-chkm_on.png"
+ __EDGE_SCALING 70 70 70 0
+ __HILITED "artwork/dialogs/dialog-chk_hi-off.png"
+ __EDGE_SCALING 70 70 70 0
+ __HILITED_ACTIVE "artwork/dialogs/dialog-chkm_hi-off.png"
+ __EDGE_SCALING 70 70 70 0
+ __CLICKED "artwork/dialogs/dialog-chk_hi-on.png"
+ __EDGE_SCALING 70 70 70 0
+ __CLICKED_ACTIVE "artwork/dialogs/dialog-chkm_hi-on.png"
+ __EDGE_SCALING 70 70 70 0
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_RADIO_BUTTON
+ __NORMAL "artwork/dialogs/dialog-rad_on.png"
+ __EDGE_SCALING 70 70 70 0
+ __NORMAL_ACTIVE "artwork/dialogs/dialog-radm_on.png"
+ __EDGE_SCALING 70 70 70 0
+ __HILITED "artwork/dialogs/dialog-rad_hi-off.png"
+ __EDGE_SCALING 70 70 70 0
+ __HILITED_ACTIVE "artwork/dialogs/dialog-radm_hi-off.png"
+ __EDGE_SCALING 70 70 70 0
+ __CLICKED "artwork/dialogs/dialog-rad_hi-on.png"
+ __EDGE_SCALING 70 70 70 0
+ __CLICKED_ACTIVE "artwork/dialogs/dialog-radm_hi-on.png"
+ __EDGE_SCALING 70 70 70 0
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_SLIDER_BASE_HORIZONTAL
+ __NORMAL "artwork/dialogs/dialog-slideh_on.png"
+ __EDGE_SCALING 8 6 8 6
+ __PADDING 4 4 1 1
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_SLIDER_KNOB_HORIZONTAL
+ __NORMAL "artwork/dialogs/dialog-grabh_on.png"
+ __EDGE_SCALING 4 4 4 4
+ __NORMAL_ACTIVE "artwork/dialogs/dialog-grabh_on.png"
+ __EDGE_SCALING 4 4 4 4
+ __HILITED "artwork/dialogs/dialog-grabh_hi-off.png"
+ __EDGE_SCALING 4 4 4 4
+ __HILITED_ACTIVE "artwork/dialogs/dialog-grabh_hi-off.png"
+ __EDGE_SCALING 4 4 4 4
+ __CLICKED "artwork/dialogs/dialog-grabh_hi-on.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 3 4
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_SLIDER_BASE_VERTICAL
+ __NORMAL "artwork/dialogs/dialog-slidev_on.png"
+ __EDGE_SCALING 8 8 8 8
+ __PADDING 4 4 1 1
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_SLIDER_KNOB_VERTICAL
+ __NORMAL "artwork/dialogs/dialog-grabv_on.png"
+ __EDGE_SCALING 4 4 4 4
+ __NORMAL_ACTIVE "artwork/dialogs/dialog-grabv_on.png"
+ __EDGE_SCALING 4 4 4 4
+ __HILITED "artwork/dialogs/dialog-grabv_hi-off.png"
+ __EDGE_SCALING 4 4 4 4
+ __HILITED_ACTIVE "artwork/dialogs/dialog-grabv_hi-off.png"
+ __EDGE_SCALING 4 4 4 4
+ __CLICKED "artwork/dialogs/dialog-grabv_hi-on.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_SEPARATOR
+ __NORMAL "artwork/dialogs/dialog-separator.png"
+ __EDGE_SCALING 1 1 1 1
+ __PADDING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_TABLE
+ __NORMAL "artwork/dialogs/dialog-table.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DIALOG_WIDGET_AREA
+ __NORMAL "artwork/dialogs/dialog-setborder.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 4 4
+__END
+
+
+__ICLASS __BGN
+ __NAME SETTINGS_DESKTOP_AREA
+ __NORMAL "artwork/dialogs/dialog-setback.png"
+ __EDGE_SCALING 6 5 7 4
+ __PADDING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME SETTINGS_AREA_AREA
+ __NORMAL "artwork/dialogs/dialog-setback.png"
+ __EDGE_SCALING 6 5 7 4
+ __PADDING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME SETTINGS_AREADESK_AREA
+ __NORMAL "artwork/dialogs/dialog-setarea.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 4 4
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dock.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dock.cfg
new file mode 100644
index 0000000..856d365
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dock.cfg
@@ -0,0 +1,12 @@
+/* Maintained at themes.effx.us
+ $Id: dock.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME DEFAULT_DOCK_BUTTON
+ __NORMAL "artwork/dialogs/dialog-btn_hi-off.png"
+ __EDGE_SCALING 4 4 4 4
+ __CLICKED "artwork/dialogs/dialog-btn_hi-on.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 4 4
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dragbar.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dragbar.cfg
new file mode 100644
index 0000000..95081ca
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/dragbar.cfg
@@ -0,0 +1,67 @@
+/* Maintained at themes.effx.us
+ $Id: dragbar.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME DESKTOP_DRAGBUTTON_HORIZ
+ __NORMAL "artwork/dragbar/dragbarh.png"
+ __EDGE_SCALING 3 4 4 4
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DESKTOP_RAISEBUTTON_HORIZ
+ __NORMAL "artwork/dragbar/dragbar-arw-d_off.png"
+ __EDGE_SCALING 1 1 1 2
+ __CLICKED "artwork/dragbar/dragbar-arw-d_on.png"
+ __EDGE_SCALING 1 1 1 2
+ __PADDING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME DESKTOP_LOWERBUTTON_HORIZ
+ __NORMAL "artwork/dragbar/dragbar-arw-u_off.png"
+ __EDGE_SCALING 1 1 1 2
+ __CLICKED "artwork/dragbar/dragbar-arw-u_on.png"
+ __EDGE_SCALING 1 1 1 2
+ __PADDING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME DESKTOP_DESKRAY_HORIZ
+ __NORMAL "artwork/dragbar/dragbarh.png"
+ __EDGE_SCALING 3 4 4 4
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DESKTOP_DRAGBUTTON_VERT
+ __NORMAL "artwork/dragbar/dragbarv.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 4 4
+__END
+
+__ICLASS __BGN
+ __NAME DESKTOP_RAISEBUTTON_VERT
+ __NORMAL "artwork/dragbar/dragbar-arw-l_off.png"
+ __EDGE_SCALING 1 1 1 2
+ __CLICKED "artwork/dragbar/dragbar-arw-l_on.png"
+ __EDGE_SCALING 1 1 1 2
+ __PADDING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME DESKTOP_LOWERBUTTON_VERT
+ __NORMAL "artwork/dragbar/dragbar-arw-r_off.png"
+ __EDGE_SCALING 1 1 1 2
+ __CLICKED "artwork/dragbar/dragbar-arw-r_on.png"
+ __EDGE_SCALING 1 1 1 2
+ __PADDING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME DESKTOP_DESKRAY_VERT
+ __NORMAL "artwork/dragbar/dragbarv.png"
+ __EDGE_SCALING 4 4 4 4
+ __PADDING 4 4 4 4
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/epplets.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/epplets.cfg
new file mode 100644
index 0000000..d3d52c9
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/epplets.cfg
@@ -0,0 +1,293 @@
+/* Maintained at themes.effx.us
+ $Id: epplets.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME EPPLET_BACKGROUND_HORIZONTAL
+ __NORMAL "artwork/epplets/epp-back.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_BACKGROUND_VERTICAL
+ __NORMAL "artwork/epplets/epp-back.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_DRAWINGAREA
+ __NORMAL "artwork/epplets/epp-draw.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_BUTTON
+ __NORMAL "artwork/epplets/epp-btn_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-btn_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-btn_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_TOGGLEBUTTON_OFF
+ __NORMAL "artwork/epplets/epp-btn_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-btn_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-btn_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_TOGGLEBUTTON_ON
+ __NORMAL "artwork/epplets/epp-btnm_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-btn_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-btn_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_POPUP_BASE
+ __NORMAL "artwork/epplets/epp-list.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_POPUP_ENTRY
+ __NORMAL "artwork/epplets/epp-btn_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-btn_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-btn_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_CLOSE
+ __NORMAL "artwork/epplets/epp-exit_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-exit_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-exit_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_CONFIGURE
+ __NORMAL "artwork/epplets/epp-conf_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-conf_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-conf_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_HELP
+ __NORMAL "artwork/epplets/epp-help_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-help_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-help_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_ARROW_UP
+ __NORMAL "artwork/epplets/epp-arw-u_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-arw-u_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-arw-u_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_ARROW_DOWN
+ __NORMAL "artwork/epplets/epp-arw-d_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-arw-d_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-arw-d_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_ARROW_LEFT
+ __NORMAL "artwork/epplets/epp-arw-l_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-arw-l_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-arw-l_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_ARROW_RIGHT
+ __NORMAL "artwork/epplets/epp-arw-r_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-arw-r_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-arw-r_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_PLAY
+ __NORMAL "artwork/epplets/epp-play_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-play_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-play_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_PAUSE
+ __NORMAL "artwork/epplets/epp-wait_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-wait_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-wait_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_STOP
+ __NORMAL "artwork/epplets/epp-stop_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-stop_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-stop_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_PREVIOUS
+ __NORMAL "artwork/epplets/epp-prev_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-prev_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-prev_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_NEXT
+ __NORMAL "artwork/epplets/epp-next_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-next_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-next_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_REWIND
+ __NORMAL "artwork/epplets/epp-rwnd_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-rwnd_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-rwnd_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_FAST_FORWARD
+ __NORMAL "artwork/epplets/epp-forw_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-forw_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-forw_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_REPEAT
+ __NORMAL "artwork/epplets/epp-rpt_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-rpt_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-rpt_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_SKIP
+ __NORMAL "artwork/epplets/epp-skip_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-skip_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-skip_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_EJECT
+ __NORMAL "artwork/epplets/epp-ejct_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-ejct_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-ejct_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_HSLIDER_BASE
+ __NORMAL "artwork/epplets/epp-slideh_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_HSLIDER_KNOB
+ __NORMAL "artwork/epplets/epp-grab_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-grab_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-grab_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_HBAR_BASE
+ __NORMAL "artwork/epplets/epp-draw.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_HBAR_BAR
+ __NORMAL "artwork/epplets/epp-slideh_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_VSLIDER_BASE
+ __NORMAL "artwork/epplets/epp-slidev_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_VSLIDER_KNOB
+ __NORMAL "artwork/epplets/epp-grab_on.png"
+ __EDGE_SCALING 2 2 2 2
+ __HILITED "artwork/epplets/epp-grab_hi-off.png"
+ __EDGE_SCALING 2 2 2 2
+ __CLICKED "artwork/epplets/epp-grab_hi-on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_VBAR_BASE
+ __NORMAL "artwork/epplets/epp-draw.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME EPPLET_VBAR_BAR
+ __NORMAL "artwork/epplets/epp-slidev_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/focuslist.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/focuslist.cfg
new file mode 100644
index 0000000..51747b6
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/focuslist.cfg
@@ -0,0 +1,12 @@
+/* Maintained at themes.effx.us
+ $Id: focuslist.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME WARPFOCUS
+ __NORMAL "artwork/focuslist/focus-box_on.png"
+ __EDGE_SCALING 10 10 10 10
+ __CLICKED "artwork/focuslist/focus-box_hi-on.png"
+ __EDGE_SCALING 10 10 10 10
+ __PADDING 11 12 5 5
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/iconbox.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/iconbox.cfg
new file mode 100644
index 0000000..b86bb90
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/iconbox.cfg
@@ -0,0 +1,102 @@
+/* Maintained at themes.effx.us
+ $Id: iconbox.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME ICONBOX_HORIZONTAL
+ __NORMAL "artwork/iconbox/ibox-back.png"
+ __EDGE_SCALING 6 2 9 2
+ __PADDING 4 4 4 4
+__END
+
+#if 0 /* Something is wrong with this, disabling the cover window entirely */
+__ICLASS __BGN
+ __NAME ICONBOX_COVER_HORIZONTAL /* Really unsused by this setup */
+ __NORMAL "artwork/iconbox/ibox-cover.png"
+ __EDGE_SCALING 1 1 1 1
+ __PADDING 1 1 1 1
+__END
+#endif
+
+__ICLASS __BGN
+ __NAME ICONBOX_SCROLLBAR_BASE_HORIZONTAL
+ __NORMAL "artwork/iconbox/ibox-scrollbase.png"
+ __EDGE_SCALING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_SCROLLBAR_KNOB_HORIZONTAL
+ __NORMAL "artwork/iconbox/ibox-scrollh_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_SCROLLKNOB_HORIZONTAL
+ __NORMAL "artwork/iconbox/ibox-grab_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_VERTICAL
+ __NORMAL "artwork/iconbox/ibox-back.png"
+ __EDGE_SCALING 6 2 9 2
+ __PADDING 4 4 4 4
+__END
+
+#if 0 /* Something is wrong with this, disabling the cover window entirely */
+__ICLASS __BGN
+ __NAME ICONBOX_COVER_VERTICAL /* Really unsused by this setup */
+ __NORMAL "artwork/iconbox/ibox-cover.png"
+ __EDGE_SCALING 1 1 1 1
+ __PADDING 1 1 1 1
+__END
+#endif
+
+__ICLASS __BGN
+ __NAME ICONBOX_SCROLLBAR_BASE_VERTICAL
+ __NORMAL "artwork/iconbox/ibox-scrollbase.png"
+ __EDGE_SCALING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_SCROLLBAR_KNOB_VERTICAL
+ __NORMAL "artwork/iconbox/ibox-scrollv_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_SCROLLKNOB_VERTICAL
+ __NORMAL "artwork/iconbox/ibox-grab_on.png"
+ __EDGE_SCALING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_ARROW_UP
+ __NORMAL "artwork/iconbox/ibox-empty.png"
+ __CLICKED "artwork/iconbox/ibox-empty.png"
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_ARROW_DOWN
+ __NORMAL "artwork/iconbox/ibox-empty.png"
+ __CLICKED "artwork/iconbox/ibox-empty.png"
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_ARROW_LEFT
+ __NORMAL "artwork/iconbox/ibox-empty.png"
+ __CLICKED "artwork/iconbox/ibox-empty.png"
+__END
+
+__ICLASS __BGN
+ __NAME ICONBOX_ARROW_RIGHT
+ __NORMAL "artwork/iconbox/ibox-empty.png"
+ __CLICKED "artwork/iconbox/ibox-empty.png"
+__END
+
+__ICLASS __BGN
+ __NAME DEFAULT_ICON_BUTTON
+ __NORMAL "artwork/common/e-box.png"
+ __EDGE_SCALING 15 15 10 10
+ __PADDING 2 2 10 10
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/menustyles.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/menustyles.cfg
new file mode 100644
index 0000000..bbee220
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/menustyles.cfg
@@ -0,0 +1,32 @@
+/* Maintained at themes.effx.us
+ $Id: menustyles.cfg 16 2009-03-26 00:45:04Z don $ */
+
+__ICLASS __BGN
+ __NAME MENU_BG
+ __NORMAL "artwork/dialogs/dialog-back.png"
+ __EDGE_SCALING 2 2 2 2 /* 7 10 7 4 */
+ __PADDING 1 1 2 2
+__END
+
+__ICLASS __BGN
+ __NAME MENU_SEL
+ __NORMAL "artwork/menustyles/menu_hi-off.png"
+ __EDGE_SCALING 6 22 1 1
+ __HILITED "artwork/menustyles/menu_hi-off.png"
+ __EDGE_SCALING 6 22 2 1
+ __CLICKED "artwork/menustyles/menu_hi-on.png"
+ __EDGE_SCALING 6 22 1 1
+ __PADDING 6 22 1 1
+__END
+
+__ICLASS __BGN
+ __NAME MENU_SUB
+ __NORMAL "artwork/menustyles/menu-arw_on.png"
+ __EDGE_SCALING 6 22 1 1
+ __HILITED "artwork/menustyles/menu-arw_hi-off.png"
+ __EDGE_SCALING 6 22 1 1
+ __CLICKED "artwork/menustyles/menu-arw_hi-on.png"
+ __EDGE_SCALING 6 22 1 1
+ __PADDING 6 22 1 1
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/pager.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/pager.cfg
new file mode 100644
index 0000000..f28f690
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/pager.cfg
@@ -0,0 +1,22 @@
+/* Maintained at themes.effx.us
+ $Id: pager.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME PAGER_BACKGROUND
+ __NORMAL "artwork/pager/pager-back.png"
+ __EDGE_SCALING 5 5 6 2
+__END
+
+__ICLASS __BGN
+ __NAME PAGER_SEL
+ __NORMAL "artwork/pager/pager-select.png"
+ __EDGE_SCALING 2 2 2 2
+ __PADDING 2 2 2 2
+__END
+
+__ICLASS __BGN
+ __NAME PAGER_WIN
+ __NORMAL "artwork/pager/pager-window.png"
+ __EDGE_SCALING 6 6 6 6
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/tooltips.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/tooltips.cfg
new file mode 100644
index 0000000..d746393
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/imageclasses/tooltips.cfg
@@ -0,0 +1,27 @@
+/* Maintained at themes.effx.us
+ $Id: tooltips.cfg 15 2009-03-16 15:35:48Z don $ */
+
+__ICLASS __BGN
+ __NAME TT_MAIN
+ __NORMAL "artwork/tooltips/tooltip-box.png"
+ __EDGE_SCALING 9 9 9 9
+ __PADDING 6 8 8 12
+__END
+
+__ICLASS __BGN
+ __NAME TT_LOGO
+ __NORMAL "artwork/common/e-blank.png"
+__END
+
+__ICLASS __BGN
+ __NAME TT_BLANK
+ __NORMAL "artwork/common/e-blank.png"
+__END
+
+__ICLASS __BGN
+ __NAME TT_MINI
+ __NORMAL "artwork/common/e-box.png"
+ __EDGE_SCALING 8 8 8 8
+ __PADDING 5 5 10 10
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/init.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/init.cfg
new file mode 100644
index 0000000..4134287
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/init.cfg
@@ -0,0 +1,48 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: init.cfg 46 2009-04-13 05:25:03Z don $ */
+
+BEGIN_BACKGROUND(STARTUP_BACKGROUND)
+ SET_SOLID("0 114 188")
+ //ADD_BACKGROUND_TILED_SCALED_VERTICALLY("artwork/backgrounds/back-startup.png")
+ ADD_OVERLAY_IMAGE_CENTERED("graphics/startup-overlay.png")
+END_BACKGROUND
+
+__ICLASS __BGN
+ __NAME STARTUP_BAR
+ __NORMAL "artwork/init/init-basebar.png"
+ __EDGE_SCALING 1 1 1 1
+__END
+
+__ICLASS __BGN
+ __NAME PROGRESS_BAR
+/* normal used for text background */
+ __NORMAL "artwork/init/init-textbar.png"
+ __EDGE_SCALING 6 22 1 1
+/* used for numeric bg */
+ __CLICKED "artwork/init/init-textbar.png"
+ __EDGE_SCALING 6 22 1 1
+/* used for bar itself */
+ __NORMAL_ACTIVE "artwork/init/init-progbar.png"
+ __EDGE_SCALING 6 22 1 1
+ __PADDING 6 22 1 1
+__END
+
+/* text class for text above progress bar */
+__TCLASS __BGN
+ __NAME PROGRESS_TEXT
+ __JUSTIFICATION 0
+ __NORMAL "*font-init"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+/* number in % displayed next to text */
+__TCLASS __BGN
+ __NAME PROGRESS_TEXT_NUMBER
+ __JUSTIFICATION 512
+ __NORMAL "*font-init"
+ __FORGROUND_COLOR 0 0 0
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/license b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/license
new file mode 100644
index 0000000..7588f65
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/license
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/menustyles.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/menustyles.cfg
new file mode 100644
index 0000000..5418a1b
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/menustyles.cfg
@@ -0,0 +1,13 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: menustyles.cfg 46 2009-04-13 05:25:03Z don $ */
+
+NORMAL_MENU_STYLE_VERTICAL("DEFAULT", "MENU", "MENU_TEXT", "MENU_BG", "MENU_SEL", "MENU_SUB", 40)
+NORMAL_MENU_STYLE_VERTICAL("DESK_MENU", "MENU", "MENU_TEXT", "MENU_BG", "MENU_SEL", "MENU_SUB", 40)
+NORMAL_MENU_STYLE_VERTICAL("EMPTY", "MENU", "MENU_TEXT", "MENU_BG", "MENU_SEL", "MENU_SUB", 40)
+NORMAL_MENU_STYLE_VERTICAL("GROUP_MENU", "MENU", "MENU_TEXT", "MENU_BG", "MENU_SEL", "MENU_SUB", 40)
+NORMAL_MENU_STYLE_VERTICAL("ROOT", "MENU", "MENU_TEXT", "MENU_BG", "MENU_SEL", "MENU_SUB", 40)
+NORMAL_MENU_STYLE_VERTICAL("ROOT_IMAGE", "MENU", "MENU_TEXT", "MENU_BG", "MENU_SEL", "MENU_SUB", 15)
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg
new file mode 100644
index 0000000..a05c1cd
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg
@@ -0,0 +1,203 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: textclasses.cfg 46 2009-04-13 05:25:03Z don $ */
+
+__TCLASS __BGN
+ __NAME COORDS
+ __JUSTIFICATION 0
+ __NORMAL "*font-coords"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME DIALOG
+ __JUSTIFICATION 512
+ __NORMAL "*font-dialog"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME DIALOG_BUTTON
+ __JUSTIFICATION 512
+ __NORMAL "*font-dialog-hilite"
+ __FORGROUND_COLOR 0 0 0
+ __HILITED "*font-dialog-hilite"
+ __FORGROUND_COLOR 0 0 0
+ __CLICKED "*font-dialog-hilite"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME DIALOG_WIDGET_BUTTON
+ __JUSTIFICATION 512
+ __NORMAL "*font-dialog-hilite"
+ __FORGROUND_COLOR 0 0 0
+ __HILITED "*font-dialog-hilite"
+ __FORGROUND_COLOR 0 0 0
+ __CLICKED "*font-dialog-hilite"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME DIALOG_WIDGET_CHECK_BUTTON
+ __JUSTIFICATION 0
+ __NORMAL "*font-dialog"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME DIALOG_WIDGET_RADIO_BUTTON
+ __JUSTIFICATION 0
+ __NORMAL "*font-dialog"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME DIALOG_WIDGET_TEXT
+ __JUSTIFICATION 512
+ __NORMAL "*font-dialog"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_BUTTON
+ __NORMAL "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __HILITED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __CLICKED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_LABEL
+ __NORMAL "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_POPUP
+ __NORMAL "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __HILITED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __CLICKED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_TEXT_LARGE
+ __NORMAL "*font-epplet-large"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_TEXT_MEDIUM
+ __NORMAL "*font-epplet-medium"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_TEXT_TINY
+ __NORMAL "*font-epplet-small"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_TOGGLEBUTTON_OFF
+ __NORMAL "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __HILITED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __CLICKED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME EPPLET_TOGGLEBUTTON_ON
+ __NORMAL "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __HILITED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+ __CLICKED "*font-epplet"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME MENU_TEXT
+ __JUSTIFICATION 0
+ __NORMAL "*font-menu"
+ __FORGROUND_COLOR 0 0 0
+ __HILITED "*font-menu"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME MENU_TITLE
+ __NORMAL "*font-menu"
+ __JUSTIFICATION 0
+ __DRAWING_EFFECT __EFFECT_SHADOW
+ __FORGROUND_COLOR 255 255 255
+ __BACKGROUND_COLOR 0 95 155
+ __NORMAL_ACTIVE "*font-menu"
+ __JUSTIFICATION 0
+ __DRAWING_EFFECT __EFFECT_SHADOW
+ __FORGROUND_COLOR 255 255 255
+ __BACKGROUND_COLOR 0 95 155
+ __NORMAL_STICKY "*font-menu"
+ __JUSTIFICATION 0
+ __DRAWING_EFFECT __EFFECT_SHADOW
+ __FORGROUND_COLOR 255 215 0
+ __BACKGROUND_COLOR 0 95 155
+ __NORMAL_ACTIVE_STICKY "*font-menu"
+ __JUSTIFICATION 0
+ __DRAWING_EFFECT __EFFECT_SHADOW
+ __FORGROUND_COLOR 255 215 0
+ __BACKGROUND_COLOR 0 95 155
+__END
+
+__TCLASS __BGN
+ __NAME TITLE
+ __NORMAL "*font-border"
+ __JUSTIFICATION 0
+ __FORGROUND_COLOR 175 175 175
+ __NORMAL_ACTIVE "*font-border"
+ __JUSTIFICATION 0
+ __DRAWING_EFFECT __EFFECT_SHADOW
+ __FORGROUND_COLOR 255 255 255
+ __BACKGROUND_COLOR 0 95 155
+ __NORMAL_STICKY "*font-border"
+ __JUSTIFICATION 0
+ __FORGROUND_COLOR 175 175 175
+ __NORMAL_ACTIVE_STICKY "*font-border"
+ __JUSTIFICATION 0
+ __DRAWING_EFFECT __EFFECT_SHADOW
+ __FORGROUND_COLOR 255 215 0
+ __BACKGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME TT_MINI_TEXT
+ __JUSTIFICATION 0
+ __NORMAL "*font-tooltip"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME TT_TEXT
+ __JUSTIFICATION 512
+ __NORMAL "*font-tooltip"
+ __FORGROUND_COLOR 0 0 0
+__END
+
+__TCLASS __BGN
+ __NAME WARPFOCUS
+ __JUSTIFICATION 0
+ __NORMAL "*font-focus"
+ __FORGROUND_COLOR 0 0 0
+ __CLICKED "*font-focus"
+ __FORGROUND_COLOR 0 0 0
+__END
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/tooltips.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/tooltips.cfg
new file mode 100644
index 0000000..0b6b960
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/tooltips.cfg
@@ -0,0 +1,10 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: tooltips.cfg 46 2009-04-13 05:25:03Z don $ */
+
+DEFINE_TOOLTIP_WITH_LOGO("DEFAULT", "TT_MAIN", "TT_MAIN", "TT_MAIN", "TT_MAIN", "TT_MAIN", "TT_TEXT", 84, "TT_LOGO")
+DEFINE_TOOLTIP("ICONBOX", "TT_MINI", "TT_BLANK", "TT_BLANK", "TT_BLANK", "TT_BLANK", "TT_MINI_TEXT", 16)
+DEFINE_TOOLTIP("PAGER", "TT_MINI", "TT_BLANK", "TT_BLANK", "TT_BLANK", "TT_BLANK", "TT_MINI_TEXT", 16)
+
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Vera.ttf b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Vera.ttf
new file mode 100644
index 0000000..58cd6b5
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Vera.ttf
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/VeraBd.ttf b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/VeraBd.ttf
new file mode 100644
index 0000000..51d6111
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/VeraBd.ttf
Binary files differ
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/windowmatches.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/windowmatches.cfg
new file mode 100644
index 0000000..15b8cff
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/windowmatches.cfg
@@ -0,0 +1,16 @@
+#include <definitions>
+__E_CFG_VERSION 1
+
+/* Maintained at themes.effx.us
+ $Id: windowmatches.cfg 46 2009-04-13 05:25:03Z don $ */
+
+USE_BORDER_FOR_TRANSIENT_CLIENT("TRANSIENT")
+USE_BORDER_FOR_SHAPED_CLIENT("SHAPED")
+USE_BORDER_FOR_UNRESIZABLE_CLIENT("FIXED_SIZE")
+USE_BORDER_FOR_CLIENT_WITH_CLASS("Enlightenment_Dialog", "DIALOG")
+USE_BORDER_FOR_CLIENT_WITH_CLASS("Enlightenment_Iconbox", "ICONBOX")
+USE_BORDER_FOR_CLIENT_WITH_CLASS("ICONBOX", "ICONBOX")
+USE_BORDER_FOR_CLIENT_WITH_NAME(ICONBOX, "ICONBOX")
+USE_BORDER_FOR_CLIENT_WITH_CLASS("DOX", "DIALOG")
+USE_BORDER_FOR_CLIENT_WITH_NAME(DOX, "DIALOG")
+
diff --git a/abs/core/enlightenment/PKGBUILD b/abs/core/enlightenment/PKGBUILD
new file mode 100644
index 0000000..8c9c986
--- /dev/null
+++ b/abs/core/enlightenment/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 140259 2011-10-11 03:24:04Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=enlightenment
+pkgver=1.0.10
+_themever=1.0.1
+pkgrel=2
+pkgdesc="A fast, flexible, and very extensible Window Manager"
+arch=('i686' 'x86_64')
+url="http://www.enlightenment.org"
+license=('BSD' 'custom')
+depends=('libxinerama' 'imlib2' 'perl' 'pango' 'libxcomposite' \
+ 'libxdamage' 'libxrandr' 'audiofile')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/e16-${pkgver}.tar.gz \
+ startup.patch)
+
+build() {
+ cd "${srcdir}/e16-${pkgver}"
+ patch -p0 < $srcdir/startup.patch || return 1
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+
+# cd "${srcdir}/e16-themes-${_themever}"
+# ./configure --prefix=/usr
+}
+
+package() {
+ cd "${srcdir}/e16-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+
+# cd "${srcdir}/e16-themes-${_themever}"
+# make DESTDIR="${pkgdir}" install
+# chown -R root:root "${pkgdir}"/usr/share/*
+}
+md5sums=('87441a2e7c4639e5d23198ed7bc834ea'
+ '7461fc1214752c98b542e672701a4719')
diff --git a/abs/core/enlightenment/__changelog b/abs/core/enlightenment/__changelog
new file mode 100644
index 0000000..59101f4
--- /dev/null
+++ b/abs/core/enlightenment/__changelog
@@ -0,0 +1 @@
+include startup.patch to allow e16 to wait until mythfrontend is started
diff --git a/abs/core/enlightenment/startup.patch b/abs/core/enlightenment/startup.patch
new file mode 100644
index 0000000..136f848
--- /dev/null
+++ b/abs/core/enlightenment/startup.patch
@@ -0,0 +1,42 @@
+--- src/startup.c.orig 2011-11-15 22:01:02.939243595 +0000
++++ src/startup.c 2011-11-15 22:01:33.682575674 +0000
+@@ -173,5 +173,39 @@
+
+ Mode.place.enable_features--;
+ ESync(ESYNC_STARTUP);
++
++ //Start of MythVantage delay for ultra cool startup
++ printf("***\n");
++ int ret = 1 ;
++
++ //checking for fname
++ int result;
++ const char *filename = "/tmp/nofe";
++ result = access (filename, F_OK);
++
++ if( result != 0 )
++ {
++ printf("Waiting for Mythfrontend\n");
++ int i;
++ for (i = 0; i < 20; i++)
++ {
++
++ sleep(1);
++ ret = system("xwininfo -name \"MythTV Frontend\" 2>/dev/null >/dev/null " );
++ if ( ret == 0 )
++ break;
++ }
++ if ( ret != 0 )
++ printf("Couldn't find mythfrontend, starting anyhow \n");
++ else
++ printf("MythFrontned found, continue startup\n");
++ }
++ else
++ {
++ printf("Found /tmp/nofe, skipping delay\n");
++ }
++ // End of delay code
++
++
+ AnimatorAdd(doStartupWindowsOpen, NULL);
+ }
diff --git a/abs/core/fping/PKGBUILD b/abs/core/fping/PKGBUILD
new file mode 100644
index 0000000..e2de78e
--- /dev/null
+++ b/abs/core/fping/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 130929 2011-07-09 05:53:00Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=fping
+pkgver=2.4b2
+pkgrel=5
+pkgdesc="A utility to ping multiple hosts at once"
+arch=('i686' 'x86_64')
+url="http://www.fping.com/"
+license=('custom')
+depends=('glibc')
+source=("http://fping.sourceforge.net/download/${pkgname}.tar.gz")
+md5sums=('d5e8be59e307cef76bc479e1684df705')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver\_to
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver\_to
+
+ make DESTDIR="${pkgdir}" install
+
+ # install license
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+ chmod 4755 ${pkgdir}/usr/sbin/fping
+}
diff --git a/abs/core/func/PKGBUILD b/abs/core/func/PKGBUILD
new file mode 100644
index 0000000..d7d4019
--- /dev/null
+++ b/abs/core/func/PKGBUILD
@@ -0,0 +1,44 @@
+pkgname=func
+pkgver=0.25
+pkgrel=2
+pkgdesc="fedora unifed network controller"
+url=""
+license="gpl"
+depends=(pyopenssl certmaster python_aosd)
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+moddir="pkg/usr/lib/python2.6/site-packages/func/minion/modules/"
+install=func.install
+source=($pkgname-$pkgver.tar.gz minion.conf power.py pacman.py failed_func.sh fe_restart.py msg.py msg.cfg)
+arch=('i686')
+
+build() {
+ cd $startdir/src/$pkgname-${pkgver}
+ python setup.py build
+ python setup.py install --prefix=$startdir/pkg/usr
+ cd $startdir/src
+ install -m755 -D minion.conf $startdir/pkg/etc/func/minion.conf
+ install -m755 -D $startdir/src/$pkgname-$pkgver/etc/async_methods.conf $startdir/pkg/etc/func/async_methods.conf
+ install -m755 -D $startdir/src/$pkgname-${pkgver}/etc/sample.acl $startdir/pkg/etc/func/minion-acl.d/sample.acl
+ install -m755 -D $startdir/src/$pkgname-${pkgver}/etc/Test.conf $startdir/pkg/etc/func/modules/Test.conf
+ install -m755 -D $startdir/src/power.py ${startdir}/${moddir}/power.py
+ install -m755 -D $startdir/src/pacman.py ${startdir}/${moddir}/pacman.py
+ install -m755 -D $startdir/src/msg.py ${startdir}/${moddir}/msg.py
+ install -m755 -D $startdir/src/msg.cfg ${startdir}/pkg/usr/MythVantage/etc/msg.cfg
+ install -m755 -D $startdir/src/fe_restart.py ${startdir}/${moddir}/fe_restart.py
+ install -m755 -D $startdir/src/failed_func.sh $startdir/pkg/usr/MythVantage/bin/failed_func.sh
+ mkdir -p $startdir/pkg/var/log/func
+
+ cd $startdir/pkg
+ find ./ -name "*.pyc" -print | xargs rm -f
+}
+md5sums=('892252004f122c61bb58bb4607553ffe'
+ '1e2905074203d5c0557f143a6c50c497'
+ '1393088fa64823606e0b1c02296041f4'
+ '65a602524cb85773740840eaa513ce15'
+ 'aa4d3f4612965ae99d6ba2e40673c3ac'
+ 'b02a733b7a74569e57521bc3708724a5'
+ '572bb6737cb03dee7e9d11ed40481bd2'
+ '4f189262b2a686c5ac9485c6e5134045')
diff --git a/abs/core/func/failed_func.sh b/abs/core/func/failed_func.sh
new file mode 100644
index 0000000..b44eb65
--- /dev/null
+++ b/abs/core/func/failed_func.sh
@@ -0,0 +1,19 @@
+. /etc/profile
+. /etc/systemconfig
+
+if [ x$SystemType = "xMaster_backend" -o x$SystemType = "xStandAlone" ]
+then
+ exit 0
+fi
+curl -# http://$dbhost/failed_func_hosts|grep -q `hostname`
+status=$?
+if [ $status = 0 ]
+then
+ echo "removing ca (failed_func.sh)"
+ rm -f /etc/pki/certmaster/*
+ echo "restarting func"
+ sv stop funcd
+ sleep 3
+ sv start funcd
+fi
+
diff --git a/abs/core/func/fe_restart.py b/abs/core/func/fe_restart.py
new file mode 100644
index 0000000..a75b0c5
--- /dev/null
+++ b/abs/core/func/fe_restart.py
@@ -0,0 +1,35 @@
+##
+# other modules
+import sub_process
+
+# our modules
+import func_module
+
+# =================================
+
+class re_restart(func_module.FuncModule):
+
+ version = "0.0.1"
+ api_version = "0.0.1"
+ description = "Restart the frontend"
+
+ def killX (self,flags="restart frontend"):
+ """
+ Restart X
+ """
+ flags.replace(";","") # prevent stupidity
+ cmd = sub_process.Popen("/sbin/sv %s " % flags,stdout=sub_process.PIPE,shell=True)
+ data = cmd.communicate()[0]
+ results = ['Restarted UI']
+ return (cmd.returncode, results)
+
+ def killmyth (self,flags="-9 mythfrontend"):
+ """
+ kill the mythfrontend process server
+ """
+ flags.replace(";","") # prevent stupidity
+ cmd = sub_process.Popen("/usr/bin/killall %s" % flags,stdout=sub_process.PIPE,shell=True)
+ data = cmd.communicate()[0]
+ results = ['killed mythfrontend']
+ return (cmd.returncode, results)
+
diff --git a/abs/core/func/func-0.24.tar.gz b/abs/core/func/func-0.24.tar.gz
new file mode 100644
index 0000000..baa8eef
--- /dev/null
+++ b/abs/core/func/func-0.24.tar.gz
Binary files differ
diff --git a/abs/core/func/func-0.25.tar.gz b/abs/core/func/func-0.25.tar.gz
new file mode 100644
index 0000000..381e0b6
--- /dev/null
+++ b/abs/core/func/func-0.25.tar.gz
Binary files differ
diff --git a/abs/core/func/func.install b/abs/core/func/func.install
new file mode 100644
index 0000000..1fcf6b1
--- /dev/null
+++ b/abs/core/func/func.install
@@ -0,0 +1,56 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+/bin/true
+mkdir -p /var/log/func
+}
+
+# arg 1: the new package version
+post_install() {
+ if [ ! -e /etc/cron.tenminutes ]
+ then
+ mkdir /etc/cron.tenminutes
+ fi
+ if [ ! -e /etc/cron.tenminutes/failed_func ]
+ then
+ ln -s /usr/MythVantage/bin/failed_func.sh /etc/cron.tenminutes/failed_func
+ fi
+
+ if [ ! -e /var/log/func ]
+ then
+ mkdir -p /var/log/func
+ fi
+
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+
+
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/func/minion.conf b/abs/core/func/minion.conf
new file mode 100644
index 0000000..d1665f1
--- /dev/null
+++ b/abs/core/func/minion.conf
@@ -0,0 +1,8 @@
+[main]
+log_level = INFO
+acl_dir = /etc/func/minion-acl.d
+
+listen_addr =
+listen_port = 51234
+minion_name =
+
diff --git a/abs/core/func/msg.cfg b/abs/core/func/msg.cfg
new file mode 100644
index 0000000..b6de8b5
--- /dev/null
+++ b/abs/core/func/msg.cfg
@@ -0,0 +1,6 @@
+[default]
+font_color=green
+display_time=5000
+position=5
+font_type=Times New Roman Italic 48
+
diff --git a/abs/core/func/msg.py b/abs/core/func/msg.py
new file mode 100644
index 0000000..43214f3
--- /dev/null
+++ b/abs/core/func/msg.py
@@ -0,0 +1,135 @@
+##
+# other modules
+import sub_process
+import sys
+import aosd
+import ConfigParser
+
+
+# our modules
+import func_module
+
+
+# =================================
+
+class msg(func_module.FuncModule):
+
+ version = "0.0.1"
+ api_version = "0.0.1"
+ description = "Display messages"
+
+#class msg():
+ def scroll(self,osd, width, height, display_time,position):
+ pos = position
+ step = 1
+
+ osd.set_position(pos, width, height)
+ (x, y, _, _) = osd.get_geometry()
+ osd.set_position_offset(width, height)
+ osd.show()
+
+ x -= 1
+ y += height - 1;
+ for i in range(1, height + 1, step):
+ osd.loop_for(5)
+ y -= step
+ osd.set_geometry(x, y, width, i)
+
+ osd.set_position(pos, width, height)
+ osd.set_position_offset(-1, -1)
+ (x, y, _, _) = osd.get_geometry()
+ #time to display
+ osd.loop_for(display_time)
+
+ for i in range(height, 0, -step):
+ y += step
+ osd.set_geometry(x, y, width, i);
+ osd.loop_for(1);
+
+ osd.hide();
+
+ def setup(self,font_color,font_type):
+ osd = aosd.AosdText()
+ osd.set_transparency(aosd.TRANSPARENCY_COMPOSITE)
+ if osd.get_transparency() != aosd.TRANSPARENCY_COMPOSITE:
+ osd.set_transparency(aosd.TRANSPARENCY_NONE)
+
+ osd.geom_x_offset = 10
+ osd.geom_y_offset = 0
+
+ osd.back_color = "white"
+ osd.back_opacity = 50
+
+ osd.shadow_color = "black"
+ osd.shadow_opacity = 127
+ osd.shadow_x_offset = 2
+ osd.shadow_y_offset = 2
+
+ osd.fore_color = font_color
+ osd.fore_opacity = 255
+
+ osd.set_font(font_type)
+ osd.wrap = aosd.PANGO_WRAP_WORD_CHAR
+ osd.alignment = aosd.PANGO_ALIGN_LEFT
+ osd.set_layout_width(osd.get_screen_wrap_width())
+ return osd
+
+ def set_string(self, osd, text):
+ osd.set_text(text)
+ return osd.get_text_size()
+
+ def setup_config(self):
+ module_config = ConfigParser.RawConfigParser()
+ try:
+ module_config.read('/usr/MythVantage/etc/msg.cfg')
+ except:
+ pass
+ return module_config
+
+
+
+ def display (self,flags):
+ """
+ parse the msg for display.
+ """
+ try:
+ text,config_section=flags.split("|")
+ if config_section == '':
+ config_section="default"
+ except:
+ text=flags
+ config_section="default"
+
+ module_config = self.setup_config()
+
+ display_time=5000
+ position=6
+ font_color="green"
+ font_type="Times New Roman Italic 36"
+ try:
+ display_time = int(module_config.get(config_section,"display_time"))
+ except:
+ pass
+ try:
+ position = int(module_config.get(config_section,"position"))
+ except:
+ pass
+ try:
+ font_color = module_config.get(config_section,"font_color")
+ except:
+ pass
+ try:
+ font_type = module_config.get(config_section,"font_type")
+ except:
+ pass
+
+
+ cmd = sub_process.Popen("/usr/bin/wall %s" % text,stdout=sub_process.PIPE,shell=True)
+ data = cmd.communicate()[0]
+ osd = self.setup(font_color, font_type)
+ width, height = self.set_string(osd, text)
+ self.scroll(osd, width, height, display_time, position)
+
+ return ("Message delivered")
+
+
diff --git a/abs/core/func/pacman.py b/abs/core/func/pacman.py
new file mode 100644
index 0000000..c8f2e13
--- /dev/null
+++ b/abs/core/func/pacman.py
@@ -0,0 +1,36 @@
+#!/usr/bin/python
+
+
+# other modules
+import sub_process
+
+# our modules
+import func_module
+
+# =================================
+
+class pacman(func_module.FuncModule):
+ version = "0.0.1"
+ api_version = "0.0.1"
+ description = "update the server"
+
+
+ def update_system(self,flags):
+ flags.replace(";","") # prevent stupidity
+ cmd = sub_process.Popen("/usr/bin/update_system %s" % flags,stdout=sub_process.PIPE,shell=True)
+ data = cmd.communicate()[0]
+ results = []
+ for x in data.split("\n"):
+ results.append(x)
+ return (cmd.returncode, results)
+
+ def pkgversion(self,flags):
+ flags.replace(";","") # prevent stupidity
+ cmd = sub_process.Popen("/usr/bin/pacman -Q %s | grep -v error" % flags,stdout=sub_process.PIPE,shell=True)
+ data = cmd.communicate()[0]
+ results = []
+ for x in data.split("\n"):
+ results.append(x)
+ return (cmd.returncode, results)
+
+
diff --git a/abs/core/func/power.py b/abs/core/func/power.py
new file mode 100644
index 0000000..668965a
--- /dev/null
+++ b/abs/core/func/power.py
@@ -0,0 +1,35 @@
+##
+# other modules
+import sub_process
+
+# our modules
+import func_module
+
+# =================================
+
+class power(func_module.FuncModule):
+
+ version = "0.0.1"
+ api_version = "0.0.1"
+ description = "Reboot the server"
+
+ def reboot(self,flags="-q onecheck"):
+ """
+ Reboot the server
+ """
+ flags.replace(";","") # prevent stupidity
+ cmd = sub_process.Popen("/sbin/reboot")
+ data = cmd.communicate()[0]
+ results = ['reboot']
+ return (cmd.returncode, results)
+
+ def poweroff (self,flags="-q onecheck"):
+ """
+ Reboot the server
+ """
+ flags.replace(";","") # prevent stupidity
+ cmd = sub_process.Popen("/sbin/poweroff")
+ data = cmd.communicate()[0]
+ results = ['off']
+ return (cmd.returncode, results)
+
diff --git a/abs/core/keylaunch/PKGBUILD b/abs/core/keylaunch/PKGBUILD
new file mode 100644
index 0000000..5ae239a
--- /dev/null
+++ b/abs/core/keylaunch/PKGBUILD
@@ -0,0 +1,19 @@
+pkgname=keylaunch
+pkgver=1.3.9
+pkgrel=2
+arch=('i686')
+pkgdesc="KeyLaunch is a small utility for binding commands to a hot key. "
+url="http://www.oroborus.org/"
+depends=(glibc)
+source=(http://ftp.debian.org/debian/pool/main/k/keylaunch/keylaunch_1.3.9.tar.gz example_rc)
+install=keylaunch.install
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+ make DESTDIR=$startdir/pkg install
+ install -D -m0755 ../example_rc $startdir/pkg/etc/keylaunchrc
+}
+md5sums=('710f68a3e7026b4139cc94ea790576c3'
+ '652de5f0db90f32c664c9698f865e07a')
diff --git a/abs/core/keylaunch/example_rc b/abs/core/keylaunch/example_rc
new file mode 100644
index 0000000..8b5ca34
--- /dev/null
+++ b/abs/core/keylaunch/example_rc
@@ -0,0 +1,28 @@
+# Copy to $HOME/.keylaunchrc
+#
+# Format:
+# key=...KeyName:Command
+#
+# ... No modifier
+# *.. Shift
+# .*. Ctrl
+# ..* Alt
+
+key=*..Return:xterm -fn *-18-*
+key=..*x:/usr/LH/bin/tvterm.sh
+key=..*s:sudo /usr/bin/mythtv-setup
+key=..*u:/usr/LH/bin/unclutter-toggle.sh
+key=.**u:/usr/LH/bin/unclutter-toggle.sh
+key=..*h:/usr/MythVantage/bin/mythinstall -h
+key=..*m:/usr/LH/bin/mythfrontend-start
+
+
+key=.*1:/usr/MythVantage/bin/mythbeselect -stop
+key=.*.2:/usr/MythVantage/bin/mythbeselect -start
+key=.*.3:/usr/MythVantage/bin/mythbeselect -restart
+
+key=..*1:sudo sv start mythbackend
+key=..*2:sudo sv stop mythbackend
+key=..*3:sudo sv restart mythbackend
+
+
diff --git a/abs/core/keylaunch/keylaunch.install b/abs/core/keylaunch/keylaunch.install
new file mode 100644
index 0000000..42bc9eb
--- /dev/null
+++ b/abs/core/keylaunch/keylaunch.install
@@ -0,0 +1,44 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ MHOME=`cat /etc/passwd | grep "mythtv" | cut -d":" -f6`
+ if [ ! -e $MHOME/.keylaunchrc ]
+ then
+ echo "setting symlink for keylaunch"
+ ln -s /etc/keylaunchrc $MHOME/.keylaunchrc
+fi
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/libaosd/PKGBUILD b/abs/core/libaosd/PKGBUILD
new file mode 100644
index 0000000..3d7e742
--- /dev/null
+++ b/abs/core/libaosd/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Murtuza Akhtari <inxsible at gmail dot com>
+# Contributor: Mildred <silkensedai@online.fr>
+
+pkgname=libaosd
+pkgver=0.2.7
+pkgrel=1
+pkgdesc="Atheme On Screen Display library"
+arch=('i686' 'x86_64')
+url="http://www.atheme.org/"
+license=('MIT/X11')
+depends=('libxcomposite' 'pango')
+source=("http://distfiles.atheme.org/$pkgname-$pkgver.tgz")
+md5sums=('1240768f0b2669092fd384efd97cb080')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/lighttpd/PKGBUILD b/abs/core/lighttpd/PKGBUILD
index ba553a2..99d9eac 100644
--- a/abs/core/lighttpd/PKGBUILD
+++ b/abs/core/lighttpd/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=lighttpd
pkgver=1.4.28
-pkgrel=3
+pkgrel=4
pkgdesc='A secure, fast, compliant and very flexible web-server'
license=('custom')
arch=('i686' 'x86_64')
@@ -78,5 +78,5 @@ package() {
md5sums=('586eb535d31ac299652495b058dd87c4'
'bd690eee0d9e51857448770a151023b0'
'857e174643fd7761a2f0d8431a679f6c'
- '11fbec7ff7ca1b0d5575445681e8f60e'
+ '1a55e81d5501584fdf00b6fd0196f82f'
'c6e361131000ceec085f40b310ef4a2c')
diff --git a/abs/core/lighttpd/__changelog b/abs/core/lighttpd/__changelog
index 4658cd1..375590d 100644
--- a/abs/core/lighttpd/__changelog
+++ b/abs/core/lighttpd/__changelog
@@ -16,3 +16,12 @@ Added etc/lighttpd/conf.include and etc/lighttpd/html.include to backup array
upgrade to 1.4.28
php-cgi is a depends.
+
+---
+
+added bash and python to cgi list
+ cgi.assign = ( ".pl" => "/usr/bin/perl",
+ ".cgi" => "/usr/bin/perl"
+ ".sh" => "/bin/bash",
+ ".py" => "/usr/bin/python")
+
diff --git a/abs/core/lighttpd/lighttpd.conf b/abs/core/lighttpd/lighttpd.conf
index f437484..9851727 100644
--- a/abs/core/lighttpd/lighttpd.conf
+++ b/abs/core/lighttpd/lighttpd.conf
@@ -14,15 +14,15 @@
server.modules = (
"mod_rewrite",
# "mod_redirect",
-# "mod_alias",
+ "mod_alias",
"mod_access",
# "mod_cml",
# "mod_trigger_b4_dl",
"mod_auth",
-# "mod_status",
+ "mod_status",
"mod_setenv",
"mod_fastcgi",
-# "mod_proxy",
+ "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
# "mod_userdir",
@@ -40,7 +40,14 @@ server.modules = (
server.document-root = "/data/srv/httpd/htdocs"
## where to send error-messages to
-server.errorlog = "/var/log/lighttpd/error.log"
+#server.errorlog = "/var/log/lighttpd/error.log"
+#### accesslog module
+#accesslog.filename = "/var/log/lighttpd/access.log"
+
+#send errors to syslog
+server.errorlog-use-syslog = "enable"
+$HTTP["url"] !~ "\.(jpe?g|png|gif|css)" { accesslog.use-syslog = "enable" }
+
# files to check for if .../ is requested
index-file.names = ( "index.php", "index.html",
@@ -116,8 +123,6 @@ mimetype.assign = (
## be nice and keep it at lighttpd
# server.tag = "lighttpd"
-#### accesslog module
-accesslog.filename = "/var/log/lighttpd/access.log"
## deny access the file-extensions
#
@@ -235,7 +240,9 @@ server.groupname = "http"
)
#### CGI module
cgi.assign = ( ".pl" => "/usr/bin/perl",
- ".cgi" => "/usr/bin/perl" )
+ ".cgi" => "/usr/bin/perl",
+ ".sh" => "/bin/bash",
+ ".py" => "/usr/bin/python")
url.rewrite-once = (
"^/mythweb/(css|data|images|js|themes|skins|[a-z_]+\.(php|pl)).*" => "$0",
diff --git a/abs/core/powermate_myth/PKGBUILD b/abs/core/powermate_myth/PKGBUILD
new file mode 100644
index 0000000..1581477
--- /dev/null
+++ b/abs/core/powermate_myth/PKGBUILD
@@ -0,0 +1,16 @@
+pkgname=powermate_myth
+pkgver=1.0
+pkgrel=1
+arch=('i686')
+pkgdesc="Provides support and sample program for using the powermate with mtythv"
+url=""
+depends=(python2 xdotool)
+source=(powermate-myth.py powermate.py)
+
+build() {
+ cd $startdir/src
+ install -D -m0755 powermate.py $startdir/pkg/usr/LH/bin/powermate.py
+ install -D -m0755 powermate-myth.py $startdir/pkg/usr/LH/bin/powermate-myth.py
+}
+md5sums=('44a03725355ed53d9f81099923d94329'
+ '90bed7b80570ad6e63ebff827830e14b')
diff --git a/abs/core/powermate_myth/powermate-myth.py b/abs/core/powermate_myth/powermate-myth.py
new file mode 100644
index 0000000..85e5165
--- /dev/null
+++ b/abs/core/powermate_myth/powermate-myth.py
@@ -0,0 +1,214 @@
+#!/usr/bin/python2
+
+import powermate
+import time
+import os
+
+EVENT_BUTTON_PRESS = 1
+EVENT_RELATIVE_MOTION = 2
+
+
+button_pressed = False
+single_tap = False
+mode = "nav"
+
+current_event=(0,0,time.time())
+last_event=current_event
+skipped_event = 0
+pressed_time = 0
+button_held = False
+led_brightness = 255
+#pm = powermate.PowerMate("/dev/powermate")
+
+pm = powermate.PowerMate()
+pm.SetLEDState(led_brightness,0,0,0,0)
+
+
+def runcmd(cmd):
+# print cmd
+ os.system(cmd)
+
+
+def volume_action(action):
+ global mode
+ global led_brightness
+ if action == "L" :
+ print "Volume down"
+
+ if action == "R" :
+ print "Volume UP"
+
+ if action == "tap" :
+ print "toggle mute"
+
+ if action == "double_tap" :
+ mode = "nav"
+ led_brightness = 500
+ print "mode is now nav"
+
+ return
+
+
+def nav_action(action):
+ global mode
+ global led_brightness
+ keycmd = '''xdotool search --name "Mythtv Frontend" key %s'''
+ if action == "L" :
+ #print "prev"
+ cmd = keycmd %"Up"
+ runcmd(cmd)
+
+ if action == "R" :
+ #print "next"
+ cmd = keycmd %"Down"
+ runcmd(cmd)
+
+ if action == "LP" :
+ #print "back"
+ cmd = keycmd %"Left"
+ runcmd(cmd)
+
+ if action == "RP" :
+ #print "tab"
+ cmd = keycmd %"Right"
+ runcmd(cmd)
+
+
+ if action == "tap" :
+ #print "select"
+ cmd = keycmd %"Return"
+ runcmd(cmd)
+
+ if action == "double_tap" :
+ mode = "volume"
+ led_brightness = 10
+ print "mode is now vol"
+
+ if action == "button_held" :
+ cmd = keycmd %"Escape"
+ runcmd(cmd)
+
+
+
+ return
+
+
+
+
+def act_on_event(action):
+
+ if mode == "volume":
+ volume_action(action)
+
+ elif mode == "nav":
+ nav_action(action)
+
+
+
+
+event_stack=[current_event]
+while 1:
+ #process_events = True
+ reset_lastevent = False
+ event = pm.WaitForEvent(2)
+ # print event
+ if event:
+ #event that happens after every button push, can be thrown away.
+ if event[2] == 0:
+ continue
+
+
+ elif single_tap:
+ pressed_diff = time.time() - pressed_time
+ #This takes care of the holding down the button for X amount of time
+ #print event, button_pressed, pressed_diff, current_event
+ #if pressed_diff >= 2 and button_pressed and current_event[0] == EVENT_BUTTON_PRESS:
+ if pressed_diff >= 2 and button_pressed :
+ act_on_event("button_held")
+ single_tap = False
+ pressed_time = 0
+ button_pressed = False
+ last_event_time = time.time()
+ last_event=(0,0,time.time())
+ pm.SetLEDState(led_brightness,0,0,0,0)
+ #print "resetting last event:", last_event
+
+
+ #This handles a single press of the button.
+ elif not button_pressed :
+ act_on_event("tap")
+ single_tap = False
+ last_event_time = time.time()
+ last_event=(0,0,time.time())
+
+ if event:
+ #print "processing:" , event
+ current_event = event[2],event[4],time.time()
+
+ last_event_time = last_event[2]
+ current_event_time = current_event[2]
+
+ last_event_only = last_event[0], last_event[1]
+ current_event_only = current_event[0], current_event[1]
+
+ repeat_rate = 10
+ repeat_time = .50
+
+ if last_event_only == current_event_only and current_event[0] == EVENT_RELATIVE_MOTION :
+ #check for time diff
+ event_time_diff = current_event_time - last_event_time
+
+ if skipped_event <= repeat_rate and event_time_diff <= repeat_time:
+ skipped_event = skipped_event + 1
+ #print "skipped a repeat event : %s" %skipped_event
+ continue
+ #event occured, reset skip counter
+ skipped_event = 0
+
+ #rotate dial
+ if current_event[0] == EVENT_RELATIVE_MOTION:
+ reset_lastevent = True
+ single_tap = False
+ if current_event[1] >= 0 :
+ if button_pressed :
+ #print "dial turned Counter clockwise and button is pressed"
+ act_on_event("RP")
+ else:
+ #print "dial turned Counter clockwise"
+ act_on_event("R")
+
+ if current_event[1] <=0 :
+ if button_pressed :
+ #print "dial turned clockwise and button is pressed"
+ act_on_event("LP")
+ else:
+ #print "dial turned clockwise"
+ act_on_event("L")
+
+
+ #button was pushed
+ if current_event[0] == EVENT_BUTTON_PRESS :
+ pm.SetLEDState(0,0,0,0,0)
+ if current_event[1] == 1:
+ button_pressed = True
+ pressed_time = current_event_time
+ tap_diff = current_event_time - last_event_time
+ #double tap
+ if tap_diff < 0.2 and last_event[0] == EVENT_BUTTON_PRESS:
+ act_on_event("double_tap")
+ single_tap = False
+ else:
+ single_tap = True
+ reset_lastevent = True
+
+ #button was released
+ elif current_event[1] == 0:
+ button_pressed = False
+ pressed_time = 0
+ pm.SetLEDState(led_brightness,0,0,0,0)
+
+ if reset_lastevent:
+ last_event = current_event
+
+
+
diff --git a/abs/core/powermate_myth/powermate.py b/abs/core/powermate_myth/powermate.py
new file mode 100644
index 0000000..8e40078
--- /dev/null
+++ b/abs/core/powermate_myth/powermate.py
@@ -0,0 +1,106 @@
+#!/usr/bin/env python
+
+import select
+import os
+import fcntl
+import struct
+import exceptions
+
+#struct input_event {
+# struct timeval time; = {long seconds, long microseconds}
+# unsigned short type;
+# unsigned short code;
+# unsigned int value;
+#};
+
+input_event_struct = "@llHHi"
+input_event_size = struct.calcsize(input_event_struct)
+
+EVENT_BUTTON_PRESS = 1
+EVENT_RELATIVE_MOTION = 2
+RELATIVE_AXES_DIAL = 7
+BUTTON_MISC = 0x100
+
+def report(x):
+ sys.stderr.write(x + "\n")
+
+class PowerMate:
+ def __init__(self, filename = None):
+ self.handle = -1
+ if filename:
+ if not self.OpenDevice(filename):
+ raise exceptions.RuntimeError, 'Unable to find powermate'
+ else:
+ ok = 0
+ for d in range(0, 16):
+ if self.OpenDevice("/dev/input/event%d" % d):
+ ok = 1
+ break
+ if not ok:
+ raise exceptions.RuntimeError, 'Unable to find powermate'
+ self.poll = select.poll()
+ self.poll.register(self.handle, select.POLLIN)
+ self.event_queue = [] # queue used to reduce kernel/userspace context switching
+
+ def __del__(self):
+ if self.handle >= 0:
+ self.poll.unregister(self.handle)
+ os.close(self.handle)
+ self.handle = -1
+ del self.poll
+
+ def OpenDevice(self, filename):
+ try:
+ self.handle = os.open(filename, os.O_RDWR)
+ if self.handle < 0:
+ return 0
+ name = fcntl.ioctl(self.handle, 0x80ff4506, chr(0) * 256) # read device name
+ name = name.replace(chr(0), '')
+ if name == 'Griffin PowerMate' or name == 'Griffin SoundKnob':
+ fcntl.fcntl(self.handle, fcntl.F_SETFL, os.O_NDELAY)
+ return 1
+ os.close(self.handle)
+ self.handle = -1
+ return 0
+ except exceptions.OSError:
+ return 0
+
+ def WaitForEvent(self, timeout): # timeout in seconds
+ if len(self.event_queue) > 0:
+ return self.event_queue.pop(0)
+ if self.handle < 0:
+ return None
+ r = self.poll.poll(int(timeout*100))
+ if len(r) == 0:
+ return None
+ return self.GetEvent()
+
+ def GetEvent(self): # only call when descriptor is readable
+ if self.handle < 0:
+ return None
+ try:
+ data = os.read(self.handle, input_event_size * 32)
+ while data != '':
+ self.event_queue.append(struct.unpack(input_event_struct, data[0:input_event_size]))
+ data = data[input_event_size:]
+ return self.event_queue.pop(0)
+ except exceptions.OSError, e: # Errno 11: Resource temporarily unavailable
+ #if e.errno == 19: # device has been disconnected
+ # report("PowerMate disconnected! Urgent!");
+ return None
+
+ def SetLEDState(self, static_brightness, pulse_speed, pulse_table, pulse_on_sleep, pulse_on_wake):
+ static_brightness &= 0xff;
+ if pulse_speed < 0:
+ pulse_speed = 0
+ if pulse_speed > 510:
+ pulse_speed = 510
+ if pulse_table < 0:
+ pulse_table = 0
+ if pulse_table > 2:
+ pulse_table = 2
+ pulse_on_sleep = not not pulse_on_sleep # not not = convert to 0/1
+ pulse_on_wake = not not pulse_on_wake
+ magic = static_brightness | (pulse_speed << 8) | (pulse_table << 17) | (pulse_on_sleep << 19) | (pulse_on_wake << 20)
+ data = struct.pack(input_event_struct, 0, 0, 0x04, 0x01, magic)
+ os.write(self.handle, data)
diff --git a/abs/core/python2-distribute/PKGBUILD b/abs/core/python_modules/python2-distribute/PKGBUILD
index f21be1d..04c0f48 100644
--- a/abs/core/python2-distribute/PKGBUILD
+++ b/abs/core/python_modules/python2-distribute/PKGBUILD
@@ -13,8 +13,6 @@ replaces=('setuptools')
provides=('setuptools=0.6c11')
source=(http://pypi.python.org/packages/source/d/distribute/distribute-${pkgver}.tar.gz
distribute-${pkgver}_python2_and_3.patch)
-sha1sums=('6bea50b97f36bf751548bb486a534204a690aa4d'
- 'de635febfb11dc6878e5bdbac4a0e1d539c19d79')
package() {
cd ${srcdir}/distribute-${pkgver}
@@ -22,3 +20,5 @@ package() {
python2 setup.py install --prefix=/usr --root=${pkgdir}
}
# vim: set noexpandtab tabstop=8 shiftwidth=8 textwidth=132 autoindent
+md5sums=('83ada58a83d99b28c806703597323b80'
+ 'bbf5554ade06f27285f81ed8a8a3a3f8')
diff --git a/abs/core/python2-distribute/distribute-0.6.14_python2_and_3.patch b/abs/core/python_modules/python2-distribute/distribute-0.6.14_python2_and_3.patch
index dc5da86..dc5da86 100644
--- a/abs/core/python2-distribute/distribute-0.6.14_python2_and_3.patch
+++ b/abs/core/python_modules/python2-distribute/distribute-0.6.14_python2_and_3.patch
diff --git a/abs/core/python_modules/python_aosd/PKGBUILD b/abs/core/python_modules/python_aosd/PKGBUILD
new file mode 100644
index 0000000..35af3d7
--- /dev/null
+++ b/abs/core/python_modules/python_aosd/PKGBUILD
@@ -0,0 +1,16 @@
+pkgname=python_aosd
+pkgver=0.2.2
+pkgrel=1
+pkgdesc="Python binding for libaosd_ an on screen display (OSD) library"
+arch=(any)
+url="http://code.google.com/p/python-aosd/"
+license=('GPL')
+depends=('python2' 'cython2' 'libaosd' 'pyrex' 'pycairo')
+source=(http://python-aosd.googlecode.com/files/python-aosd-${pkgver}.tar.gz)
+
+build() {
+ cd "${srcdir}/python-aosd-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --prefix=/usr || return 1
+}
+
+md5sums=('45c757fe4c171a0b778c7e73d3839ef5')
diff --git a/abs/core/rsyslog/PKGBUILD b/abs/core/rsyslog/PKGBUILD
new file mode 100644
index 0000000..0422880
--- /dev/null
+++ b/abs/core/rsyslog/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 58329 2011-11-11 14:26:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=rsyslog
+pkgver=5.8.6
+pkgrel=1
+pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
+url="http://www.rsyslog.com/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('zlib')
+makedepends=( 'libmysqlclient' 'gnutls')
+optdepends=( 'libmysqlclient: MySQL Database Support'
+ 'gnutls')
+backup=('etc/rsyslog.conf' \
+ 'etc/logrotate.d/rsyslog'
+ 'etc/conf.d/rsyslog')
+conflicts=('syslog-ng')
+replaces=('syslog-ng')
+groups=('base')
+
+options=('strip' 'zipman' '!libtool')
+install=('rsyslog.install')
+source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz"
+ 'rsyslog'
+ 'rsyslog.logrotate'
+ 'rsyslog.conf.d' 'rsyslog.conf.linhes' log_care.sh)
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr \
+ --enable-mysql \
+ --enable-mail \
+ --enable-imfile \
+ --enable-imtemplate \
+ --enable-gnutls \
+ --enable-inet \
+ --with-systemdsystemunitdir=/lib/systemd/system
+ make
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+ # Install Daemons and Configuration Files
+ install -D -m755 ${srcdir}/${pkgname} ${pkgdir}/etc/rc.d/${pkgname}d
+ install -D -m644 $srcdir/${pkgname}.conf.linhes ${pkgdir}/etc/${pkgname}.conf
+ mkdir -p ${pkgdir}/etc/rsyslog.d/
+ touch ${pkgdir}/etc/rsyslog.d/empty.conf
+ install -D -m644 $srcdir/${pkgname}.logrotate ${pkgdir}/etc/logrotate.d/${pkgname}
+ install -D -m644 ${srcdir}/${pkgname}.conf.d ${pkgdir}/etc/conf.d/${pkgname}
+ install -D -m755 ${srcdir}/log_care.sh ${pkgdir}/etc/cron.daily/log_care
+}
+md5sums=('c46db0496066b82faf735bd4222208d7'
+ 'a18bbcbb6ebdaa13a6ec6d9f3d9eb2da'
+ '8065db4bef3061a4f000ba58779f6829'
+ '1a0cd4530dd5d1439456d5ae230574d9'
+ '1e4a87a2ffea61c066a0b01fc9392849'
+ '5a4719b7283bba9fc497013848bf5c5c')
diff --git a/abs/core/rsyslog/log_care.sh b/abs/core/rsyslog/log_care.sh
new file mode 100644
index 0000000..4337828
--- /dev/null
+++ b/abs/core/rsyslog/log_care.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+. /etc/profile
+DATE=`date +%Y`
+echo "compressing log files"
+find /var/log/$DATE* -mtime +1 -exec gzip -9 {} \;
+echo "Deleting older log files"
+find /var/log/$DATE* -mtime +7 -exec rm -rf {} \;
+
diff --git a/abs/core/rsyslog/rsyslog b/abs/core/rsyslog/rsyslog
new file mode 100644
index 0000000..ee01454
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/rsyslog
+
+PID=`pidof -o %PPID /usr/sbin/rsyslogd`
+case "$1" in
+ start)
+ stat_busy "Starting RSyslogd"
+ [ -z "$PID" ] && /usr/sbin/rsyslogd $RSYSLOGD_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon rsyslogd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping RSyslogd"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/rsyslogd.pid
+ rm -f /var/rsyslogd.persist
+ rm_daemon rsyslogd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core/rsyslog/rsyslog.conf.d b/abs/core/rsyslog/rsyslog.conf.d
new file mode 100644
index 0000000..e39f8c3
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog.conf.d
@@ -0,0 +1,6 @@
+#
+# Parameters to be passed to rsyslogd
+# This should almost certainly include at least the current compatability
+# level, e.g. -c4
+#
+RSYSLOGD_ARGS="-c4"
diff --git a/abs/core/rsyslog/rsyslog.conf.linhes b/abs/core/rsyslog/rsyslog.conf.linhes
new file mode 100644
index 0000000..ab6d56f
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog.conf.linhes
@@ -0,0 +1,86 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+# rsyslog v3: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+
+$ModLoad immark # provides --MARK-- message capability
+$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
+$ModLoad imklog # kernel logging (formerly provided by rklogd)
+$FileCreateMode 0644
+$DirCreateMode 0755
+
+# Log all kernel messages to the console.
+# Logging much else clutters up the screen.
+#kern.* /dev/console
+$template DailyPerHostLogs,"/var/log//%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_messages.log"
+$template DynFile,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_%programname%.log"
+$template DynMail,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_maillog"
+$template DynCron,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_cron"
+$template DynBoot,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_boot.log"
+$template DynSpooler,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_spooler"
+
+if $programname contains 'lighttpd' then ?DynFile
+& ~
+# Log anything (except mail) of level info or higher.
+# Don't log private authentication messages!
+#*.info;mail.none;authpriv.none;cron.none -/var/log/messages
+*.info;mail.none;authpriv.none;cron.none -?DailyPerHostLogs
+
+# The authpriv file has restricted access.
+#authpriv.* /var/log/secure
+authpriv.* ?DynFile
+
+# Log all the mail messages in one place.
+#mail.* -/var/log/maillog
+mail.* ?DynMail
+
+
+# Log cron stuff
+#cron.* -/var/log/cron
+cron.* ?DynCron
+
+# Everybody gets emergency messages
+*.emerg *
+
+# Save news errors of level crit and higher in a special file.
+#uucp,news.crit -/var/log/spooler
+uucp,news.crit -?DynSpooler
+
+# Save boot messages also to boot.log
+#local7.* /var/log/boot.log
+local7.* ?DynBoot
+
+# Remote Logging (we use TCP for reliable delivery)
+# An on-disk queue is created for this action. If the remote host is
+# down, messages are spooled to disk and sent when it is up again.
+#$WorkDirectory /rsyslog/spool # where to place spool files
+#$ActionQueueFileName uniqName # unique name prefix for spool files
+#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
+#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
+#$ActionQueueType LinkedList # run asynchronously
+#$ActionResumeRetryCount -1 # infinite retries if host is down
+
+$IncludeConfig /etc/rsyslog.d/*.conf
+
+# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
+
+#*.* @@localhost:514
+
+# ######### Receiving Messages from Remote Hosts ##########
+# TCP Syslog Server:
+# provides TCP syslog reception and GSS-API (if compiled to support it)
+#$ModLoad imtcp.so # load module
+#$InputTCPServerRun 514 # start up TCP listener at port 514
+# UDP Syslog Server:
+#$ModLoad imudp.so # provides UDP syslog reception
+#$UDPServerRun 514 # start a UDP syslog server at standard port 514
+
+
+
+
+#$ModLoad ommysql # load MySQL functionality
+
+#*.* :ommysql:vmbe,Syslog,syslog,passwd
+
diff --git a/abs/core/rsyslog/rsyslog.install b/abs/core/rsyslog/rsyslog.install
new file mode 100644
index 0000000..2153832
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog.install
@@ -0,0 +1,16 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+post_install() {
+ remove_service.sh syslog-ng
+ add_service.sh rsyslog
+ if [ ! -e /var/log/old_syslog ]
+ then
+ mkdir -p /var/log/old_sysng
+ mv /var/log/*log* /var/log/old_sysng
+ echo "#########################################"
+ echo "/var/log/old_sysng contains old log files"
+ echo "it may be removed at your convenience"
+ echo "#########################################"
+ fi
+}
diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index 3792e08..c2c75c8 100755
--- a/abs/core/runit-scripts/PKGBUILD
+++ b/abs/core/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
pkgver=2.1.1
-pkgrel=39
+pkgrel=42
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
diff --git a/abs/core/runit-scripts/runit.install b/abs/core/runit-scripts/runit.install
index b98574f..2f9cf90 100755
--- a/abs/core/runit-scripts/runit.install
+++ b/abs/core/runit-scripts/runit.install
@@ -3,7 +3,7 @@
post_install () {
[ -e /service ] || mkdir /service
- servicelist="acpid cron frontend lircd ntpd alsa-utils avahi dbus sshd syslog-ng tty2 tty3"
+ servicelist="acpid cron frontend lircd ntpd alsa-utils avahi dbus sshd rsyslog tty2 tty3"
for i in $servicelist
do
ln -s /etc/sv/$i /service/$i
diff --git a/abs/core/runit-scripts/runitscripts/services/certmaster/run b/abs/core/runit-scripts/runitscripts/services/certmaster/run
new file mode 100644
index 0000000..0f5add7
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/certmaster/run
@@ -0,0 +1,29 @@
+#!/bin/bash
+if [ ! -e /etc/pki/certmaster/ca/certmaster.key ]
+then
+ /usr/bin/certmaster daemon
+ while [ ! -e /etc/pki/certmaster/ca/certmaster.key ]
+ do
+ sleep 5
+ done
+ killall -9 certmaster
+fi
+ setfacl --remove-all /etc/pki/certmaster/ca/certmaster.key
+
+ for i in nobody http
+ do
+ setfacl -d -R -m u:$i:rX /etc/pki/certmaster/
+ setfacl -R -m u:$i:rX /etc/pki/certmaster/
+
+ setfacl -R -m mask:rwx /etc/pki/certmaster/
+ setfacl -R -m u:$i:rX /etc/pki/certmaster/ca/certmaster.key
+
+ setfacl -d -R -m u:$i:rX /var/lib/certmaster
+ setfacl -R -m u:$i:rX /var/lib/certmaster
+ setfacl -d -R -m u:$i:rX /var/lib/certmaster/certmaster
+ setfacl -R -m u:$i:rX /var/lib/certmaster/certmaster
+ setfacl -d -R -m u:$i:rX /var/lib/certmaster/certmaster/certs
+ setfacl -R -m u:$i:rX /var/lib/certmaster/certmaster/certs
+ done
+
+exec /usr/bin/certmaster
diff --git a/abs/core/runit-scripts/runitscripts/services/funcd/run b/abs/core/runit-scripts/runitscripts/services/funcd/run
new file mode 100644
index 0000000..adc57ae
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/funcd/run
@@ -0,0 +1,20 @@
+#!/bin/bash
+setfacl --remove-all /etc/pki/certmaster/ca/certmaster.key
+
+for i in nobody http
+do
+ setfacl -d -R -m u:$i:rX /etc/pki/certmaster/
+ setfacl -R -m u:$i:rX /etc/pki/certmaster/
+
+ setfacl -R -m mask:rwx /etc/pki/certmaster/
+ setfacl -R -m u:$i:rX /etc/pki/certmaster/ca/certmaster.key
+
+ setfacl -d -R -m u:$i:rX /var/lib/certmaster
+ setfacl -R -m u:$i:rX /var/lib/certmaster
+ setfacl -d -R -m u:$i:rX /var/lib/certmaster/certmaster
+ setfacl -R -m u:$i:rX /var/lib/certmaster/certmaster
+ setfacl -d -R -m u:$i:rX /var/lib/certmaster/certmaster/certs
+ setfacl -R -m u:$i:rX /var/lib/certmaster/certmaster/certs
+done
+
+DISPLAY=127.0.0.1:0 exec /usr/bin/funcd
diff --git a/abs/core/runit-scripts/runitscripts/services/hobbit-client/run b/abs/core/runit-scripts/runitscripts/services/hobbit-client/run
deleted file mode 100755
index a28c6f8..0000000
--- a/abs/core/runit-scripts/runitscripts/services/hobbit-client/run
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/sh
-export TERM=linux
-. /etc/rc.conf
-. /etc/rc.d/functions
-stat_runit "Starting hobbit client"
-
-#----------------------------------------------------------------------------#
-# Hobbit client bootup script. #
-# #
-# This invokes hobbitlaunch, which in turn runs the Hobbit client and any #
-# extensions configured. #
-# #
-# Copyright (C) 2005-2006 Henrik Storner <henrik@hswn.dk> #
-# "status" section (C) Scott Smith 2006 #
-# #
-# This program is released under the GNU General Public License (GPL), #
-# version 2. See the file "COPYING" for details. #
-# #
-#----------------------------------------------------------------------------#
-#
-# $Id: runclient.sh,v 1.13 2006/07/14 21:25:19 henrik Rel $
-
-# Default settings for this client
-MACHINEDOTS="`uname -n`" # This systems hostname
-BBOSTYPE="`uname -s | tr '[A-Z]' '[a-z]'`" # This systems operating system in lowercase
-BBOSSCRIPT="hobbitclient-$BBOSTYPE.sh"
-
-# Commandline mods for the defaults
-while test "$1" != ""
-do
- case "$1" in
- --hostname=*)
- MACHINEDOTS="`echo $1 | sed -e 's/--hostname=//'`"
- ;;
- --os=*)
- BBOSTYPE="`echo $1 | sed -e 's/--os=//' | tr '[A-Z]' '[a-z]'`"
- ;;
- --class=*)
- CONFIGCLASS="`echo $1 | sed -e 's/--class=//' | tr '[A-Z]' '[a-z]'`"
- ;;
- --help)
- echo "Usage: $0 [--hostname=CLIENTNAME] [--os=rhel3|linux22] [--class=CLASSNAME] start|stop"
- exit 0
- ;;
- start)
- CMD=$1
- ;;
- stop)
- CMD=$1
- ;;
- restart)
- CMD=$1
- ;;
- status)
- CMD=$1
- ;;
- esac
-
- shift
-done
-
-OLDDIR="`pwd`"
-cd "`dirname $0`"
-HOBBITCLIENTHOME="/data/srv/hobbit/client"
-cd "$OLDDIR"
-
-MACHINE="`echo $MACHINEDOTS | sed -e 's/\./,/g'`"
-
-export MACHINE MACHINEDOTS BBOSTYPE BBOSSCRIPT HOBBITCLIENTHOME CONFIGCLASS
-
-
-
-su nobody -c "$HOBBITCLIENTHOME/bin/hobbitlaunch --config=$HOBBITCLIENTHOME/etc/clientlaunch.cfg --log=$HOBBITCLIENTHOME/logs/clientlaunch.log --pidfile=$HOBBITCLIENTHOME/logs/clientlaunch.$MACHINEDOTS.pid --no-daemon"
-
diff --git a/abs/core/runit-scripts/runitscripts/services/hobbit/run b/abs/core/runit-scripts/runitscripts/services/hobbit/run
deleted file mode 100755
index d36243b..0000000
--- a/abs/core/runit-scripts/runitscripts/services/hobbit/run
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-exec 2>&1
-export TERM=linux
-. /etc/rc.conf
-. /etc/rc.d/functions
-stat_runit "Starting hobbit server"
-
-
-exec su nobody -c "/data/srv/hobbit/server/bin/hobbitlaunch --config=/data/srv/hobbit/server/etc/hobbitlaunch.cfg --env=/data/srv/hobbit/server/etc/hobbitserver.cfg --log=/var/log/hobbit/hobbitlaunch.log --pidfile=/var/log/hobbit/hobbitlaunch.pid --no-daemon"
diff --git a/abs/core/runit-scripts/runitscripts/services/powermate/finish b/abs/core/runit-scripts/runitscripts/services/powermate/finish
new file mode 100644
index 0000000..b1d27fd
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/powermate/finish
@@ -0,0 +1,21 @@
+#!/bin/bash
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /usr/MythVantage/bin/install_functions.sh
+
+[ -e /etc/sv/powermate/.runtime ] || mkdir -p /etc/sv/powermate/.runtime
+touch /etc/sv/powermate/.runtime/`date +%s`
+numfiles=`/usr/bin/file_time_offset.py -s4 -d/etc/sv/powermate/.runtime `
+if [ $numfiles -gt 3 ]
+then
+ rm -f /etc/sv/powermate/.runtime/* 2>/dev/null
+ sv stop powermate
+ printhl " powermate is not able to start, disabling it"
+fi
+
+
+
+
+
+ in_kernel_support "enable"
diff --git a/abs/core/runit-scripts/runitscripts/services/powermate/run b/abs/core/runit-scripts/runitscripts/services/powermate/run
new file mode 100644
index 0000000..f33a769
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/powermate/run
@@ -0,0 +1,7 @@
+#!/bin/sh
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+stat_runit "powermate support"
+
+DISPLAY=127.0.0.1:0 /usr/LH/bin/powermate-myth.py
diff --git a/abs/core/runit-scripts/runitscripts/services/rsyslog/run b/abs/core/runit-scripts/runitscripts/services/rsyslog/run
new file mode 100644
index 0000000..e7b018d
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/rsyslog/run
@@ -0,0 +1,10 @@
+#!/bin/sh
+exec 2>&1
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+stat_runit "Starting rsyslog"
+
+
+exec /usr/sbin/rsyslogd -n -c5
+
diff --git a/abs/core/runit-scripts/runitscripts/services/xymon-client/run b/abs/core/runit-scripts/runitscripts/services/xymon-client/run
new file mode 100644
index 0000000..a454c6b
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/xymon-client/run
@@ -0,0 +1,60 @@
+#!/bin/sh
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+stat_runit "Starting xymon client"
+
+
+
+# Default settings for this client
+MACHINEDOTS="`uname -n`" # This systems hostname
+SERVEROSTYPE="`uname -s | tr '[ABCDEFGHIJKLMNOPQRSTUVWXYZ/]' '[abcdefghijklmnopqrstuvwxyz_]'`" # This systems operating system in lowercase
+XYMONOSSCRIPT="xymonclient-$SERVEROSTYPE.sh"
+
+# Command-line mods for the defaults
+while test "$1" != ""
+do
+ case "$1" in
+ --hostname=*)
+ MACHINEDOTS="`echo $1 | sed -e 's/--hostname=//'`"
+ ;;
+ --os=*)
+ SERVEROSTYPE="`echo $1 | sed -e 's/--os=//' | tr '[ABCDEFGHIJKLMNOPQRSTUVWXYZ/]' '[abcdefghijklmnopqrstuvwxyz_]'`"
+ ;;
+ --class=*)
+ CONFIGCLASS="`echo $1 | sed -e 's/--class=//' | tr '[ABCDEFGHIJKLMNOPQRSTUVWXYZ/]' '[abcdefghijklmnopqrstuvwxyz_]'`"
+ ;;
+ --help)
+ echo "Usage: $0 [--hostname=CLIENTNAME] [--os=rhel3|linux22] [--class=CLASSNAME] start|stop"
+ exit 0
+ ;;
+ start)
+ CMD=$1
+ ;;
+ stop)
+ CMD=$1
+ ;;
+ restart)
+ CMD=$1
+ ;;
+ status)
+ CMD=$1
+ ;;
+ esac
+
+ shift
+done
+
+XYMONCLIENTHOME="`dirname $0`"
+XYMONCLIENTHOME="/data/srv/xymon/client"
+export MACHINEDOTS SERVEROSTYPE XYMONOSSCRIPT XYMONCLIENTHOME CONFIGCLASS
+
+MACHINE="`echo $MACHINEDOTS | sed -e 's/\./,/g'`"
+export MACHINE
+
+
+sudo -u nobody MACHINE=$MACHINE XYMONCLIENTHOME=$XYMONCLIENTHOME $XYMONCLIENTHOME/bin/xymonlaunch --config=$XYMONCLIENTHOME/etc/clientlaunch.cfg --log=$XYMONCLIENTHOME/logs/clientlaunch.log --pidfile=$XYMONCLIENTHOME/logs/clientlaunch.$MACHINEDOTS.pid --no-daemon
+
+
+
+
diff --git a/abs/core/runit-scripts/runitscripts/services/xymon-server/run b/abs/core/runit-scripts/runitscripts/services/xymon-server/run
new file mode 100644
index 0000000..b850c0a
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/xymon-server/run
@@ -0,0 +1,9 @@
+#!/bin/sh
+exec 2>&1
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+stat_runit "Starting xymon server"
+
+
+exec sudo -u nobody /data/srv/xymon/server/bin/xymonlaunch --config=/data/srv/xymon/server/etc/tasks.cfg --env=/data/srv/xymon/server/etc/xymonserver.cfg --log=/var/log/hobbit/xymonlaunch.log --pidfile=/var/log/hobbit/xymonlaunch.pid --no-daemon
diff --git a/abs/core/supplemental-web/PKGBUILD b/abs/core/supplemental-web/PKGBUILD
new file mode 100644
index 0000000..6df239b
--- /dev/null
+++ b/abs/core/supplemental-web/PKGBUILD
@@ -0,0 +1,40 @@
+pkgname=supplemental-web
+pkgver=1.0
+pkgrel=9
+arch=('i686')
+MVDIR=$startdir/pkg/usr/MythVantage
+#BINDIR=$MVDIR/bin
+install=supplemental-web.install
+#depends=(unclutter ghosd ncid func wol )
+#binfiles="saytime.sh backup_job restore_job.sh update_system update_system_all backend_control.sh grabkey.py notify.py"
+#source=($binfiles mfegdbcommands.txt mbegdbcommands.txt 45-event.rules lighttpd-supplement.conf)
+backup=('extra.cfg.txt')
+source=(lighttpd-supplement.conf extra.cfg.txt wakeonlan.sh)
+depends=('lighttpd' 'php' 'fcgi' 'python' 'xymonserver' 'certmaster' 'func' 'python_aosd' )
+
+
+
+
+
+build() {
+ cd $startdir/src
+ mkdir -p $MVDIR/etc
+ install -m755 -D lighttpd-supplement.conf $MVDIR/etc/lighttpd-supplement.conf
+
+ install -m755 -D wakeonlan.sh $MVDIR/bin/wakeonlan.sh
+ mkdir -p $startdir/pkg/data/srv/httpd/htdocs/
+ cp -rp $startdir/contents/* $startdir/pkg/data/srv/httpd/htdocs
+ chmod -R 755 $startdir/pkg/data/srv/httpd/htdocs
+ cd $startdir
+ mkdir -p $startdir/pkg/data/srv/httpd/
+ cp -rp cgi $startdir/pkg/data/srv/httpd/
+ cd $startdir/src
+ install -m755 -D extra.cfg.txt $pkgdir/data/srv/httpd/cgi/extra.cfg.txt
+
+
+
+}
+
+md5sums=('2a9d042467220fd1f74f5b12730c2e06'
+ '3d8c7b430c1319d706ca420825918d2a'
+ '81cdb6ee6804fa36366c6e259a80e7b4')
diff --git a/abs/core/supplemental-web/cgi/beclear.cgi b/abs/core/supplemental-web/cgi/beclear.cgi
new file mode 100644
index 0000000..40c0cec
--- /dev/null
+++ b/abs/core/supplemental-web/cgi/beclear.cgi
@@ -0,0 +1,4 @@
+#!/bin/bash
+/usr/local/bin/mythbackend --clearcache
+MESSAGE="settings cache is cleared "
+#/usr/bin/notify.py SYS "$MESSAGE" 2>/dev/null
diff --git a/abs/core/supplemental-web/cgi/bestop.cgi b/abs/core/supplemental-web/cgi/bestop.cgi
new file mode 100644
index 0000000..e45e74d
--- /dev/null
+++ b/abs/core/supplemental-web/cgi/bestop.cgi
@@ -0,0 +1,6 @@
+#!/bin/bash
+sudo /sbin/sv stop mythbackend > /dev/null
+MESSAGE="`hostname` B.E. stopped"
+
+#echo $MESSAGE
+/usr/bin/notify.py NFO "$MESSAGE" 2>/dev/null
diff --git a/abs/core/supplemental-web/cgi/diskless.py b/abs/core/supplemental-web/cgi/diskless.py
new file mode 100644
index 0000000..d8d960b
--- /dev/null
+++ b/abs/core/supplemental-web/cgi/diskless.py
@@ -0,0 +1,11 @@
+#!/usr/bin/python
+import cgi
+import os
+#http://192.168.1.200:1337/diskless.py?HOSTNAME=Envynetfe&MAC=00:0C:29:2D:08:82
+
+The_Form = cgi.FieldStorage()
+print "name:" + The_Form["HOSTNAME"].value
+print "mac:" + The_Form["MAC"].value
+cmd="sudo /usr/MythVantage/bin/build_diskless.sh " + The_Form["HOSTNAME"].value + " " + The_Form["MAC"].value
+print cmd
+os.popen(cmd + " >/dev/null 2>&1 &" )
diff --git a/abs/core/supplemental-web/cgi/serverkey.cgi b/abs/core/supplemental-web/cgi/serverkey.cgi
new file mode 100644
index 0000000..ee54480
--- /dev/null
+++ b/abs/core/supplemental-web/cgi/serverkey.cgi
@@ -0,0 +1,3 @@
+#!/bin/bash
+#cat /data/srv/httpd/dsa.pub
+cat /data/srv/.nobody_ssh/id_dsa.pub
diff --git a/abs/core/supplemental-web/contents/calllog.py b/abs/core/supplemental-web/contents/calllog.py
new file mode 100644
index 0000000..a96813e
--- /dev/null
+++ b/abs/core/supplemental-web/contents/calllog.py
@@ -0,0 +1,66 @@
+#!/usr/bin/python
+# import MySQL module
+
+import MySQLdb
+import sys
+import getopt
+import socket
+
+
+def main(argv):
+ grandtotal=0
+ grandtotal_current=0
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="ncid")
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+ cursor.execute("select name,number,count(number) as '# calls' from cid group by number,name order by '# calls' DESC limit 20;")
+ result = cursor.fetchall()
+
+
+#Top shows
+ #print '<div id="content"> <p></p>'
+ print '<div> <p></p>'
+ print '<table class="calllog">'
+ print "Top 20 callers"
+ searchstring='''<td> <a href="http://www.google.com/search?q=%s" > %s </a> </td> '''
+ cursor.execute("select name,number,count(number) as '# calls' from cid group by number,name order by '# calls' DESC limit 20;")
+ result = cursor.fetchall()
+ for row in result:
+ print " <tr>"
+ #print " <td>",row[0],"</td>"
+ print searchstring % (row[0], row [0])
+ print " <td>",row[2],"</td>"
+ #print " <td>",row[1],"</td>"
+ print searchstring % (row[1], row [1])
+ print " </tr>"
+ #print "%40s %26s %10s" %(row[0],row[2],row[1])
+ print "</table>"
+ print "</div>"
+#Top categorys
+
+
+ print '<br>'
+ print '<br>'
+ #print '<div id="content"> <p></p>'
+ print '<div> <p></p>'
+ print '<table class="calllog">'
+ print "Last 20 calls"
+ print '<br>'
+ cursor.execute("select date,time,name,number from cid order by date(ts) DESC ,time DESC limit 20 ;" )
+ result = cursor.fetchall()
+ for row in result:
+ print " <tr>"
+ print " <td> %s </td>" %(row[0])
+ print " <td>",row[1],"</td>"
+ #print " <td>",row[2],"</td>"
+ print searchstring % (row[2], row [2])
+ #print " <td>",row[3],"</td>"
+ print searchstring % (row[3], row [3])
+ print " </tr>"
+# print "%26s %26s %26s %26s " %(row[0],row[1],row[2],row[3])
+ print "</table>"
+ print "</div>"
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
diff --git a/abs/core/supplemental-web/contents/calllog.shtml b/abs/core/supplemental-web/contents/calllog.shtml
new file mode 100644
index 0000000..ddf3d88
--- /dev/null
+++ b/abs/core/supplemental-web/contents/calllog.shtml
@@ -0,0 +1,20 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+<div id="mainContainer">
+<!-- <div id="header"><p></p></div>
+ <div id="content">
+ <p></p>-->
+
+ <!--#exec cmd="/data/srv/httpd/htdocs/calllog.py" -->
+
+
+</br>
+</br>
+
+</body>
+</html>
+
diff --git a/abs/core/supplemental-web/contents/count.py b/abs/core/supplemental-web/contents/count.py
new file mode 100644
index 0000000..6d813c1
--- /dev/null
+++ b/abs/core/supplemental-web/contents/count.py
@@ -0,0 +1,89 @@
+#!/usr/bin/python
+# import MySQL module
+
+import MySQLdb
+import sys
+import getopt
+import socket
+
+
+def main(argv):
+ grandtotal=0
+ grandtotal_current=0
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+ cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM oldrecorded ORDER by starttime;")
+ result = cursor.fetchall()
+
+ for row in result:
+ # print row[0], row[1] ,row [2]
+ start=row[0]
+ end=row[1]
+ if ( end > start ):
+ total = (end - start) /60
+ grandtotal+=total
+ hours = grandtotal / 60.0
+ days = hours / 24.0
+
+ cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM recorded where not (recgroup=(%s)) ORDER by starttime",("LiveTV"))
+ result_current = cursor.fetchall()
+ for row in result_current:
+ start=row[0]
+ end=row[1]
+ if ( end > start ):
+ total = (end - start) /60
+ grandtotal_current+=total
+ hours_current = grandtotal_current / 60.0
+ days_current = hours_current / 24.0
+
+ print '<div id="header">'
+
+ print "<table>"
+ print " <tr>"
+ print " <td> Currently there are " , len(result_current) , " recorded programs. With a viewing time of %.2f days or %.2f hours. </td>" %(days_current,hours_current)
+ print " </tr>"
+ print "</table>"
+ print "</br> "
+
+ print "<table>"
+ print " <tr>"
+ print " <td> Overall there have been " , len(result) , "shows recorded. With viewing time of %.2f days or %.2f hours </td>"%(days,hours)
+ print " </tr>"
+ print "</table>"
+ print '</div>'
+ print "</br> </br> "
+#Top shows
+ print '<div id="content"> <p></p>'
+ print '<table class="sample">'
+ print "Top 20 Shows"
+ cursor.execute("select title,count(title),category as numtitle from oldrecorded group by title having (COUNT(title) > 1) order by (COUNT(title)) DESC limit 20;" )
+ result = cursor.fetchall()
+ for row in result:
+ print " <tr>"
+ print " <td>",row[0],"</td>"
+ print " <td>",row[2],"</td>"
+ print " <td>",row[1],"</td>"
+ print " </tr>"
+ # print "%40s %26s %10s" %(row[0],row[2],row[1])
+ print "</table>"
+ print "</div>"
+#Top categorys
+
+ print '<div id="column"></div>'
+ print '<table class="sample">'
+ print "Top 20 Categories"
+ cursor.execute("select category,count(category) as numtitle from oldrecorded group by category having (COUNT(category) > 1) order by (COUNT(category)) DESC limit 20; " )
+ result = cursor.fetchall()
+ for row in result:
+ print " <tr>"
+ print " <td>",row[0],"</td>"
+ print " <td>",row[1],"</td>"
+ print " </tr>"
+ #print "%16s %16s" %(row[0],row[1])
+ print "</table>"
+ print "</div>"
+
+if __name__ == "__main__":
+ main(sys.argv[1:]) \ No newline at end of file
diff --git a/abs/core/supplemental-web/contents/docs.html b/abs/core/supplemental-web/contents/docs.html
new file mode 100644
index 0000000..c4a934b
--- /dev/null
+++ b/abs/core/supplemental-web/contents/docs.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<style type="text/css">@import "frame.css";</style>
+</head>
+
+<body>
+Package Management
+</br>
+
+<div id="navcontainer">
+<ul id="navlist">
+ <li>pacman -Sy to refresh pkg database</li>
+ <li>pacman -Ss $keyword to search pkg database</li>
+ <li>pacman -Su to update all install packages</li>
+ <li>pacman -S $pkg to update one pkg</li>
+ <li>pacman -h for a list of pacman operations .</li>
+ <li>pacman -S --help for a full list of options associated with the -S command.</li>
+</ul>
+</div>
+<br>
+Starting and stopping services.
+<br>
+
+<div id="navcontainer">
+<ul id="navlist">
+ <li>sv {stop,start,restart} frontend. This will start/stop the entire X proccess that runs mythfrontend</li>
+ <li>sv {stop,start,restart} mysql</li>
+ <li>sv {stop,start,restart} mythbackend</li>
+ <li>sv {stop,start,restart} lircd</li>
+</ul>
+<br>
+</div>
+<div id="navcontainer">
+ Other Random notes
+<br>
+<ul id="navlist">
+ <li>The root password is blank. You will not be able to remotely access this account until the password is set.</li>
+ <li>The mythtv account is locked, reset the password if you wish login with this account.</li>
+ <li>The mythtv account has full sudo privileges. </li>
+ <li>All access from public ip address are blocked. Edit /etc/hosts.deny /etc/hosts.allow to change this.</li>
+ <li>Mythfilldatabase will automaticlly run when mythbackend is started. If the last attempt was successful then it will skip this step and mythfilldatabase will run normally.</li>
+ <li>To keep a host from showing up in the network map, add it to:
+ /data/srv/hobbit/server/ext/ignoreclient.py
+ </li>
+ <li>remove "func" from bb-hosts to stop hobbit from running a func check on it </li>
+ <li>if /tmp/nomfe is present then mythfrontend will not restart </li>
+ <li>if /tmp/debug is present then mythfrontend and mythbackend will run with gdb. Debug packages will need to be installed for this to be useful </li>
+
+ <li>create_master.sh will copy the contents of the cdrive to a "Gold" image for network/diskless installation. Dhcp server must be enabled for netboot to work, please turn off any other dhcp servers on your network. </li>
+ <li>On the misc screen the nfsmap section will accept entries pointing to different servers. For instance 192.168.1.5:nfsmap will pull the nfsmap file from the ip 192.168.1.5 (hostnames may also be used) </li>
+ <li>adding pkg names to /etc/pkgname.blacklist will stop MythVantage from autoinstalling a package.</li>
+</div>
+<br>
+<div id="navcontainer">
+ Menu Navigation
+<br>
+
+<ul id="navlist">
+ <li> <A HREF="images/classic-menugraph.png">Classic menu</A> </li>
+ <li> <A HREF="images/menu_diagram_color.png">Standard menu</A> </li>
+ <li> <A HREF="images/dvr_menugraph.png">DVR menu</A> </li>
+
+</body>
+</html>
+
diff --git a/abs/core/supplemental-web/contents/error-handler.html b/abs/core/supplemental-web/contents/error-handler.html
new file mode 100644
index 0000000..49e406f
--- /dev/null
+++ b/abs/core/supplemental-web/contents/error-handler.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Module or page not found
+</body>
+</html> \ No newline at end of file
diff --git a/abs/core/supplemental-web/contents/error/hobbit.html b/abs/core/supplemental-web/contents/error/hobbit.html
new file mode 100644
index 0000000..18450f2
--- /dev/null
+++ b/abs/core/supplemental-web/contents/error/hobbit.html
@@ -0,0 +1,11 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Hobbit does not appear to be installed.
+</br>
+Please visit the MythVantage advanced screen to enable Hobbit.
+</body>
+</html>
diff --git a/abs/core/supplemental-web/contents/error/mythweb.html b/abs/core/supplemental-web/contents/error/mythweb.html
new file mode 100644
index 0000000..fe76a9a
--- /dev/null
+++ b/abs/core/supplemental-web/contents/error/mythweb.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+MythWeb does not appear to be installed.
+</br>
+To install MythWeb either
+</br>
+1) Visit the MythVantage advanced screen to enable mythweb. </br>
+2) type "pacman -S mythweb-release-fixes" at the console.
+
+
+</body>
+</html>
diff --git a/abs/core/supplemental-web/contents/error/phpadmin.html b/abs/core/supplemental-web/contents/error/phpadmin.html
new file mode 100644
index 0000000..dbdd4d3
--- /dev/null
+++ b/abs/core/supplemental-web/contents/error/phpadmin.html
@@ -0,0 +1,28 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the Web.
+</br>
+Currently it's not installed,but if you wish to install phpmyadmin, type the following at a command prompt
+</br>
+</br>
+
+pacman -S phpmyadmin
+
+</br>
+</br>
+PHP must be enabled for phpMyAdmin.
+</br>
+The easiest way to enable php is to enable Mythweb under the advanced settings for MythVantage.
+</br>
+</br>
+</br>
+
+Please be carefull, phpMyAdmin is a powerful tool and can easily mess with your settings.
+
+
+</body>
+</html>
diff --git a/abs/core/supplemental-web/contents/error/status-404.html b/abs/core/supplemental-web/contents/error/status-404.html
new file mode 100644
index 0000000..49e406f
--- /dev/null
+++ b/abs/core/supplemental-web/contents/error/status-404.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+
+<body>
+Module or page not found
+</body>
+</html> \ No newline at end of file
diff --git a/abs/core/supplemental-web/contents/frame.css b/abs/core/supplemental-web/contents/frame.css
new file mode 100644
index 0000000..eb6db98
--- /dev/null
+++ b/abs/core/supplemental-web/contents/frame.css
@@ -0,0 +1,193 @@
+* /* Our "universal rule" */
+{
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+body {
+ background: url("page_background.jpg") repeat-y #9FA9B3;
+
+//background-color: #ebb81c;
+//background-image: -webkit-gradient(linear, left top, left bottom, from(#ebb81c), to(#0072bc)); /* Saf4+, Chrome */
+//background-image: -webkit-linear-gradient(top, #ebb81c, #0072bc); /* Chrome 10+, Saf5.1+, iOS 5+ */
+//background-image: -moz-linear-gradient(top, #ebb81c, #0072bc) ; /* FF3.6 */
+//background-image: -moz-linear-gradient(top, #0072bc,#ebb81c) ; /* FF3.6 */
+//background-image: -ms-linear-gradient(top, #ebb81c, #0072bc); /* IE10 */
+//background-image: -o-linear-gradient(top, #ebb81c, #0072bc); /* Opera 11.10+ */
+//background-image: linear-gradient(top, #ebb81c, #0072bc);
+/filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ebb81c', EndColorStr='#0072bc'); /* IE6-IE9 */
+
+
+//background-size: 1000px 1000px, 500px 500px;
+//-o-background-size: 1000px 10000px;
+//-moz-background-size: 1000px 10000px, 500px, 500px;
+//-webkit-background-size: 1000px 10000px, 500px 500px;
+
+ margin: 10;
+ margin-left:40px;
+ padding: 10;
+ border: 10;
+ min-width: 770px;
+ font-family: Arial, Tahoma, Helvetica, sans-serif;
+ font-size: 11px;
+ color: #FFFFFF;
+ text-align: center;
+ font-size: 18px;
+ font-family: tahoma, verdana, geneva, arial, helvetica, sans-serif;
+
+
+}
+
+
+
+#mainContainer {
+ width: 770px;
+ margin: 0 auto; /* We are going to center this design */
+ text-align: left; /* Since we used text-align: center in the body to be sure some older IE versions are going to center our design, we now align the text left */
+}
+#header {
+ background: #000;
+ color: #fff;
+}
+#content {
+ float: left; /* Our content is going to be left aligned */
+ width: 320px; /* And it's going to have a 500px width */
+ /*background: #D9D9D9;*/
+ margin-left:60px;
+}
+#column {
+ float: right; /* Our column is going to be right aligned */
+ width: 320px; /* Our total width - content width is 260px */
+ /*background: #8A8AE6;*/
+}
+#footer {
+ clear: both; /* We have to clear our floats */
+ width: 760px; /* We need to set the width on the footer since it's outside the mainContainer, and therefor isn't controlled by it */
+ margin: 0 auto; /* We need to center the footer also */
+ background: black;
+ color: gold;
+ text-align: center;
+ font-size: 10px;
+}
+
+#navlist {
+ margin-left: 50;
+ padding-left: 0;
+ list-style-type: square;
+ text-align: left;
+}
+
+#navlist li {
+
+}
+#navlist a:link
+{
+ color: #fff;
+# background-color: #FDB14F;
+ text-decoration: underline ;
+
+
+}
+
+#navlist a:visited
+{
+# color: #FDB14F;
+ color: gold;
+ text-decoration: underline;
+}
+
+table.sample {
+ border-width: 4px;
+ border-spacing: 2px;
+ border-style: outset;
+ border-color: #808080;
+ border-collapse: separate;
+ width:300px;
+}
+
+table.sample td {
+ border-width: 1px;
+ padding: 1px;
+ border-style: inset;
+ border-color: #808080;
+ /*width:300px;*/
+ -moz-border-radius: ;
+}
+
+
+table.calllog {
+ border-width: 4px;
+ border-spacing: 2px;
+ border-style: outset;
+ border-color: #808080;
+ border-collapse: separate;
+ width:500px;
+}
+
+table.calllog td {
+ border-width: 1px;
+ padding: 1px;
+ border-style: inset;
+ border-color: #808080;
+ /*width:300px;*/
+ -moz-border-radius: ;
+}
+
+
+.n {
+ font-weight: normal;
+ text-align: left;
+ width: 250px;
+ color: white;
+}
+
+.s {
+ font-weight: normal;
+ text-align: left;
+ width: 150px;
+ color: white;
+ text-decoration: none;
+}
+
+.m {
+ font-weight: normal;
+ text-align: left;
+ width: 350px;
+ color: white;
+ text-decoration: none;
+}
+
+.t {
+ font-weight: normal;
+ text-align: left;
+ width: 350px;
+ color: white;
+ text-decoration: none;
+ visibility:hidden
+}
+
+
+a:link
+{
+ color: #fff;
+# background-color: #FDB14F;
+ text-decoration: underline ;
+
+ margin-left:10px;
+
+}
+
+a:visited
+{
+# color: #FDB14F;
+ color: gold;
+ text-decoration: underline;
+ margin-left:10px;
+}
+
+#submitbutton {
+ background-color: #010101;
+ font-size: 100%;
+ color: gold;
+ text-decoration: underline;margin-left:150px;
+ padding: 10px; font-weight: bold; }
diff --git a/abs/core/supplemental-web/contents/header.html b/abs/core/supplemental-web/contents/header.html
new file mode 100644
index 0000000..e476799
--- /dev/null
+++ b/abs/core/supplemental-web/contents/header.html
@@ -0,0 +1,34 @@
+<html>
+<style type="text/css">@import "mv.css";</style>
+<head>
+
+<script type="text/javascript">
+function r()
+{
+ current_hostname=parent.location.hostname
+ top.frames["content"].location.href = ( "http://" + current_hostname + ":6544" ) ;
+
+}
+</script>
+</head>
+
+<BODY BGCOLOR=#ebb81c>
+
+<div id='header'>
+ </div>
+
+<base target="content" />
+<div id="navcontainer">
+ <ul id="navlist">
+ <li id="active"><a href="home.shtml" TARGET="content" id="current">Home</a></li>
+ <li><a href="xymon" >Xymon</a></li>
+ <li><a href="docs.html" >Documentation</a></li>
+ <li><a href="links.html" >Links</a></li>
+ <!-- <li><a href="webcal/" >Calendar</a></li> -->
+ <li><a onClick=r() >Myth Backend Status</a></li>
+ <li><a href="mythweb/" >MythWeb</a></li>
+ <li><a href="phpMyAdmin/" >phpMyAdmin</a></li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/abs/core/supplemental-web/contents/header.jpg.mv b/abs/core/supplemental-web/contents/header.jpg.mv
new file mode 100644
index 0000000..3bf128e
--- /dev/null
+++ b/abs/core/supplemental-web/contents/header.jpg.mv
Binary files differ
diff --git a/abs/core/supplemental-web/contents/home.shtml b/abs/core/supplemental-web/contents/home.shtml
new file mode 100644
index 0000000..fe70014
--- /dev/null
+++ b/abs/core/supplemental-web/contents/home.shtml
@@ -0,0 +1,23 @@
+<html>
+<head>
+<style type="text/css">@import "frame.css";</style>
+</head>
+
+<body>
+<div id="mainContainer">
+<!-- <div id="header"><p></p></div>
+ <div id="content">
+ <p></p>-->
+
+ <!--#exec cmd="/data/srv/httpd/htdocs/count.py" -->
+
+
+</br>
+</br>
+ <img src="/xymon/gifs/network.png" >
+
+<div id="footer"><p>Thank you for choosing LinHES</p></div>
+
+</body>
+</html>
+
diff --git a/abs/core/supplemental-web/contents/images/classic-menugraph.png b/abs/core/supplemental-web/contents/images/classic-menugraph.png
new file mode 100644
index 0000000..bedbd93
--- /dev/null
+++ b/abs/core/supplemental-web/contents/images/classic-menugraph.png
Binary files differ
diff --git a/abs/core/supplemental-web/contents/images/dvr_menugraph.png b/abs/core/supplemental-web/contents/images/dvr_menugraph.png
new file mode 100644
index 0000000..712ab36
--- /dev/null
+++ b/abs/core/supplemental-web/contents/images/dvr_menugraph.png
Binary files differ
diff --git a/abs/core/supplemental-web/contents/images/menu_diagram_color.png b/abs/core/supplemental-web/contents/images/menu_diagram_color.png
new file mode 100644
index 0000000..d364d94
--- /dev/null
+++ b/abs/core/supplemental-web/contents/images/menu_diagram_color.png
Binary files differ
diff --git a/abs/core/supplemental-web/contents/index.htm b/abs/core/supplemental-web/contents/index.htm
new file mode 100644
index 0000000..faf09fb
--- /dev/null
+++ b/abs/core/supplemental-web/contents/index.htm
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<html>
+ <head><title>LinHES: The Linux Home Entertainment System</title>
+ </head>
+ <frameset rows="217, 80%" frameborder="no" border="3" bordercolor="#000000">
+ <frame src="header.html" name="menuframe" />
+ <frame src="home.shtml" name="content" />
+ <noframes>
+ <body>
+ There is no frame support on your browser.
+ </body>
+ </noframes>
+ </frameset>
+ </html>
diff --git a/abs/core/supplemental-web/contents/linhes_header.png b/abs/core/supplemental-web/contents/linhes_header.png
new file mode 100644
index 0000000..fd50187
--- /dev/null
+++ b/abs/core/supplemental-web/contents/linhes_header.png
Binary files differ
diff --git a/abs/core/supplemental-web/contents/links.html b/abs/core/supplemental-web/contents/links.html
new file mode 100644
index 0000000..a44fefc
--- /dev/null
+++ b/abs/core/supplemental-web/contents/links.html
@@ -0,0 +1,30 @@
+
+
+
+<html>
+<head>
+<style type="text/css">@import "frame.css";</style>
+</head>
+
+<body>
+Other Links
+</br>
+
+
+
+
+
+<div id="navcontainer">
+<ul id="navlist">
+ <li><a href="/logs/" >System log files</a> </li>
+ <li><a href="/calllog.shtml" >Phone call log</a> </li>
+ <!-- <li><a href="/mvpmc.shtml" >Media MVP setup</a> (dhcp server must be enabled) </li> -->
+ <li><a href="http://www.linhes.org" >linhes.org </a>Bugtracker</li>
+ <li><a href="http://linhes.org/bugs/projects/linhes/wiki" >Wiki </a></li>
+ <li><a href="http://mysettopbox.tv/phpBB2/" >Online User Forums</a></li>
+ <li><a href="http://www.mythtv.com" >mythtv.com</a></li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/abs/core/supplemental-web/contents/mv.css b/abs/core/supplemental-web/contents/mv.css
new file mode 100644
index 0000000..54e70b0
--- /dev/null
+++ b/abs/core/supplemental-web/contents/mv.css
@@ -0,0 +1,100 @@
+#header {
+ // width: 820px;
+ position: relative;
+ height: 182px;
+ #background: #000011 url(linhes_header.png) no-repeat center top;
+ background: #ebb81c url(linhes_header.png) no-repeat center bottom ;
+ padding: 0;
+ padding-top: 1px;
+ font-size: 14px;
+ color: #FFF;
+}
+
+#header h1#logo-text {
+ // position: absolute;
+ margin: 0; padding: 0;
+ font: bolder 3.3em 'Trebuchet MS', Arial, Sans-serif;
+ letter-spacing: -2px;
+ color: #FFFFFF;
+ text-transform: none;
+ text-align: center;
+ /* change the values of top and left to adjust the position of the logo*/
+ top: 0px; left: 150px;
+}
+
+#content
+{
+ color: #FFFFFF;
+ text-transform: none;
+ text-align: center;
+}
+
+#navcontainer
+{
+ width: 100%;
+ float: left;
+ background-color:#0072bc;
+}
+
+#navcontainer ul { padding: 0; }
+#navcontainer ul li { display: inline; }
+
+#navcontainer ul
+{
+ margin: 0;
+ padding: 0 0 0 7%;
+ color: #FFFFFF;
+ font-family: tahoma, verdana, geneva, arial, helvetica, sans-serif;
+ //font-size: .65em;
+ letter-spacing: 2px;
+ font-weight: bold;
+ float: right;
+ //background:#ebb81c;
+ background-color: #0072bc;
+
+}
+
+
+#navcontainer ul li a
+{
+ padding: 0.2em 12px;// background-color: #ebb81c;
+ background-color: #0072bc;
+ color: #FFFFFF;
+ text-decoration: none;
+ float: left;
+ //border-right: 1px solid #94B473;
+
+ border-top-right-radius: 15px;
+ -moz-border-top-right-radius: 15px;
+
+ border-top-left-radius: 15px;
+ -moz-border-top-left-radius: 15px;
+}
+
+
+#navcontainer a:active
+{
+ background-color: #ECECEC;
+ color: #333;
+ border-top-right-radius: 25px;
+ -moz-border-top-right-radius: 25px;
+ border-top-left-radius: 25px;
+ -moz-border-top-left-radius: 22px;
+}
+
+#navcontainer ul li a:hover
+{
+ background-color: #ECECEC;
+ color: #333;
+}
+
+#navlist li a:hover, #navlist li a:active li:active
+{
+ color: #FFFFFF;
+ text-decoration: none;
+ background:black;
+ text-align: right;
+ font-family: tahoma, verdana, geneva, arial, helvetica, sans-serif;
+}
+
+
diff --git a/abs/core/supplemental-web/contents/mvp_process.py b/abs/core/supplemental-web/contents/mvp_process.py
new file mode 100644
index 0000000..b01ed8b
--- /dev/null
+++ b/abs/core/supplemental-web/contents/mvp_process.py
@@ -0,0 +1,195 @@
+#!/usr/bin/python
+import sys
+import cgi
+import os
+import socket
+import time
+import shutil
+try:
+ import cgitb
+ cgitb.enable()
+except ImportError:
+ sys.stderr = sys.stdout
+def cgiprint(inline=''):
+ sys.stdout.write(inline)
+ sys.stdout.write('\r\n')
+ sys.stdout.flush()
+contentheader = 'Content-Type: text/html'
+
+thepage = '''<html><head>
+<title>%s</title>
+</head><body>
+%s
+</body></html>
+'''
+h1 = '<h1>%s</h1>'
+
+def getform(theform, valuelist, notpresent='', nolist=False):
+ """
+ This function, given a CGI form as a
+ FieldStorage instance, extracts the
+ data from it, based on valuelist
+ passed in. Any non-present values are
+ set to '' - although this can be
+ changed. (e.g. to return None so you
+ can test for missing keywords - where
+ '' is a valid answer but to have the
+ field missing isn't.) It also takes a
+ keyword argument 'nolist'. If this is
+ True list values only return their
+ first value.
+ """
+ data = {}
+ for field in valuelist:
+
+
+ if not theform.has_key(field):
+ # if the field is not present (or was empty)
+ data[field] = notpresent
+ else:
+ # the field is present
+ data[field] = theform.getlist(field)
+
+# print type(theform[field])
+ return data
+
+def getall(theform, nolist=False):
+ """
+ Passed a form (cgi.FieldStorage
+ instance) return *all* the values.
+ This doesn't take into account
+ multipart form data (file uploads).
+ It also takes a keyword argument
+ 'nolist'. If this is True list values
+ only return their first value.
+ """
+ data = {}
+ for field in theform.keys():
+ # we can't just iterate over it, but must use the keys() method
+ if type(theform[field]) == type([]):
+ if not nolist:
+ data[field] = theform.getlist(field)
+
+ else:
+ data[field] = theform.getfirst(field)
+ else:
+ data[field] = theform[field].value
+
+
+ return data
+
+def isblank(indict):
+ """
+ Passed an indict of values it checks
+ if any of the values are set. Returns
+ True if the indict is empty, else
+ returns False. I use it on the a form
+ processed with getform to tell if my
+ CGI has been activated without any
+ form values.
+ """
+ for key in indict.keys():
+ if indict[key]:
+ return False
+ return True
+
+
+def update_mvp_list(maclist):
+ outfile = open("/etc/dnsmasq.mvpmc.conf","w")
+ mvpline="dhcp-boot=net:mvp,dongle.bin"
+ mvpmacline='dhcp-host=net:mvp,%s'
+ results="The following media mvp devices have been added:"
+ results+='</br>'
+ havemvp = "false"
+ #print maclist
+ for i in range(len(maclist)):
+ if maclist[i] != '':
+# print mvpmacline % maclist[i]
+ outfile.write(mvpmacline % maclist[i] + '\n' )
+ havemvp="true"
+ results+=maclist[i]
+ results+='</br>'
+ if havemvp == "true":
+# print mvpline
+ outfile.write(mvpline + '\n' )
+ outfile.flush
+ outfile.close
+ #time.sleep(5)
+
+ else:
+ outfile.close
+ return results
+
+
+mainpage = '''
+ <html><head>
+ <style type="text/css">@import "/frame.css";</style>
+ <!--<meta http-equiv="refresh" content="6">-->
+ <title>Receiving a Form</title>
+ </head><body>%s</body></html>'''
+
+error = '''
+
+ <h2>Removed all media mvp devices</h2>'''
+
+result = '''
+ <h1>%s</h1>
+'''
+possible_parameters = ['activemvp', 'othermac','hiddenparam']
+
+if __name__ == '__main__':
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+
+ theform = cgi.FieldStorage()
+ #print theform
+ formdict = getform(theform, possible_parameters)
+ #print possible_parameters
+ #print formdict
+ oldurl = '/mvpmc.shtml'
+ if isblank(formdict):
+ body = error
+ all_active=[]
+ else:
+ all_active=[]
+ activemac_checkbox = formdict['activemvp']
+ for i in range(len(activemac_checkbox)):
+ active_string=activemac_checkbox[i]
+ active_string=active_string.strip()
+ all_active.append(active_string)
+ body = result % ("MVP mac address")
+
+
+
+ print mainpage % body
+ # mylogfile=update_mvp_list(all_active)
+
+
+ box='''
+ <div style="border: 1px solid #aaa; width:600px; height:500px; overflow:auto; color:#FFF;text-align:left;">
+ <code id="box" style="display: block; height: 500px; width: 600px; overflow: auto;">
+ '''
+
+ endbox='''
+ </code>
+ </div>
+ '''
+ javascript='''
+ <script type="text/javascript">
+ var objDiv = document.getElementById("box");
+ objDiv.scrollTop = objDiv.scrollHeight;
+ </script>
+ '''
+ if all_active != []:
+ mylogfile=update_mvp_list(all_active)
+ command="sudo /sbin/sv stop dnsmasq"
+ os.system(command)
+ command="sudo /sbin/sv start dnsmasq"
+ os.system(command)
+ print box
+ print mylogfile
+ print endbox
+ print '<a href=', oldurl, ' > Back </a> '
+ #print oldurl
+ print javascript
+
diff --git a/abs/core/supplemental-web/contents/mvp_select.py b/abs/core/supplemental-web/contents/mvp_select.py
new file mode 100644
index 0000000..8283d68
--- /dev/null
+++ b/abs/core/supplemental-web/contents/mvp_select.py
@@ -0,0 +1,146 @@
+#!/usr/bin/python
+#
+
+import urllib2
+import string
+import sys
+import time
+import datetime
+import socket
+
+def read_accepted():
+
+ global dhcp_accepted
+ dhcp_accepted = []
+ try:
+ infile = open('/tmp/dhcp.leases', 'r')
+ except(IOError), e:
+ print "couldn't open accepted"
+ else:
+ filelist = infile.readlines()
+ infile.close()
+ for item in filelist:
+ item=item.strip()
+ macaddress=item.split(" ")[1]
+ if macaddress not in dhcp_accepted:
+ dhcp_accepted.append(macaddress)
+ #print macaddress
+
+def read_offered():
+ global dhcp_offered
+ dhcp_offered = []
+ try:
+ today = datetime.date.today()
+
+ host = socket.gethostname()
+ filename='/var/log/'
+ filename+=str(today)
+ filename+='/'
+ filename+=host
+ filename+='/dnsmasq'
+ infile = open(filename, 'r')
+ except(IOError), e:
+ print "couldn't open offered"
+ else:
+ filelist = infile.readlines()
+ infile.close()
+ for item in filelist:
+ item=item.strip()
+ if item.find("DHCPOFFER") != -1 :
+ macaddress=item.rpartition(" ")[2]
+ if macaddress not in dhcp_offered:
+ dhcp_offered.append(macaddress)
+ #print macaddress
+
+
+
+def read_current():
+ global dhcp_current
+ dhcp_current = []
+ try:
+ infile = open('/etc/dnsmasq.mvpmc.conf', 'r')
+ except(IOError), e:
+ print "couldn't open current"
+ else:
+ filelist = infile.readlines()
+ infile.close()
+ for item in filelist:
+ item=item.strip()
+ if item.find("dhcp-host") != -1 :
+ macaddress=item.partition(",")[2]
+
+ if macaddress not in dhcp_current :
+ dhcp_current.append(macaddress)
+ # print macaddress
+
+
+
+
+
+
+
+def make_html():
+ global dhcp_accepted
+ global dhcp_offered
+ buttonform_top='''
+ <div class="content" style="solid #aaa; width:500px; height:300px; overflow:auto; color:#FFF;text-align:left;">
+ <form action="/mvp_process.py" method="get">
+ '''
+
+
+ buttonform_bottom='''
+ Mac Address:
+ <input type="text" name="activemvp">
+
+ </br>
+ <input id="submitbutton" type="submit" />
+ </form>
+ </div>
+ '''
+ checkboxline = '''
+ <input type="checkbox" name="activemvp" value="%s" %s /> %s <br />
+ '''
+ print '<br />'
+ da = set(dhcp_accepted)
+ dof = set(dhcp_offered)
+ dc = set(dhcp_current)
+ possible_mac= dof -dc
+ #possible_mac= dof -da - dc
+
+ print buttonform_top
+ for mac in dhcp_current:
+ print checkboxline % (mac ,' checked="yes"' , mac)
+ for mac in possible_mac:
+ print checkboxline % (mac , " " ,mac)
+ print buttonform_bottom
+
+
+#-------------------
+global dhcp_accepted
+global dhcp_offered
+global dhcp_current
+
+
+
+
+read_offered()
+#print "--"
+#print '</br>'
+read_accepted()
+#print "--"
+#print '</br>'
+read_current()
+#print "--"
+#print '</br>'
+
+
+
+#possible_mac= (dof - da)
+#possible_mac = dof
+#print "should be unchecked:"
+#print possible_mac
+
+
+make_html()
+
+
diff --git a/abs/core/supplemental-web/contents/mvpmc.shtml b/abs/core/supplemental-web/contents/mvpmc.shtml
new file mode 100644
index 0000000..edc27d4
--- /dev/null
+++ b/abs/core/supplemental-web/contents/mvpmc.shtml
@@ -0,0 +1,21 @@
+<html>
+<head>
+<style type="text/css">@import "/frame.css";</style>
+</head>
+<h1>Media MVP page</h1>
+<body>
+<div id="mainContainer">
+<!-- <div id="header"><p></p></div>
+ <div id="content">
+ <p></p>-->
+
+ <!--#exec cmd="/data/srv/httpd/htdocs/mvp_select.py" -->
+
+
+</br>
+</br>
+<div id="footer"><p>Thank you for choosing MythVantage</p></div>
+
+</body>
+</html>
+
diff --git a/abs/core/supplemental-web/contents/page_background.jpg b/abs/core/supplemental-web/contents/page_background.jpg
new file mode 100644
index 0000000..4819c9a
--- /dev/null
+++ b/abs/core/supplemental-web/contents/page_background.jpg
Binary files differ
diff --git a/abs/core/supplemental-web/contents/process.py b/abs/core/supplemental-web/contents/process.py
new file mode 100644
index 0000000..48e56d2
--- /dev/null
+++ b/abs/core/supplemental-web/contents/process.py
@@ -0,0 +1,309 @@
+#!/usr/bin/python
+import sys
+import cgi
+import os
+import socket
+import time
+try:
+ import cgitb
+ cgitb.enable()
+except ImportError:
+ sys.stderr = sys.stdout
+def cgiprint(inline=''):
+ sys.stdout.write(inline)
+ sys.stdout.write('\r\n')
+ sys.stdout.flush()
+contentheader = 'Content-Type: text/html'
+
+thepage = '''<html><head>
+<title>%s</title>
+</head><body>
+%s
+</body></html>
+'''
+h1 = '<h1>%s</h1>'
+
+def getform(theform, valuelist, notpresent='', nolist=False):
+ """
+ This function, given a CGI form as a
+ FieldStorage instance, extracts the
+ data from it, based on valuelist
+ passed in. Any non-present values are
+ set to '' - although this can be
+ changed. (e.g. to return None so you
+ can test for missing keywords - where
+ '' is a valid answer but to have the
+ field missing isn't.) It also takes a
+ keyword argument 'nolist'. If this is
+ True list values only return their
+ first value.
+ """
+ data = {}
+ for field in valuelist:
+ if not theform.has_key(field):
+ # if the field is not present (or was empty)
+ data[field] = notpresent
+ else:
+ # the field is present
+ print type(theform[field])
+ if type(theform[field]) != type([]):
+ # is it a list or a single item
+ print type(theform[field])
+ data[field] = theform[field].value
+ else:
+ if not nolist:
+ # do we want a list ?
+ data[field] = theform.getlist(field)
+ else:
+ data[field] = theform.getfirst(field)
+ # just fetch the first item
+ return data
+
+def getall(theform, nolist=False):
+ """
+ Passed a form (cgi.FieldStorage
+ instance) return *all* the values.
+ This doesn't take into account
+ multipart form data (file uploads).
+ It also takes a keyword argument
+ 'nolist'. If this is True list values
+ only return their first value.
+ """
+ data = {}
+ for field in theform.keys():
+ # we can't just iterate over it, but must use the keys() method
+ if type(theform[field]) == type([]):
+ if not nolist:
+ data[field] = theform.getlist(field)
+ else:
+ data[field] = theform.getfirst(field)
+ else:
+ data[field] = theform[field].value
+ return data
+
+def isblank(indict):
+ """
+ Passed an indict of values it checks
+ if any of the values are set. Returns
+ True if the indict is empty, else
+ returns False. I use it on the a form
+ processed with getform to tell if my
+ CGI has been activated without any
+ form values.
+ """
+ for key in indict.keys():
+ if indict[key]:
+ return False
+ return True
+
+def go_backup(myhost):
+ myhostname = socket.gethostname()
+ results="Nothing happened"
+ if myhostname.strip() == myhost.strip():
+ command= "sudo /usr/MythVantage/bin/backup_job"
+ command2="sleep 1; /data/srv/hobbit/server/ext/hbnotes.py"
+ results=os.popen(command,'r')
+ os.popen(command2,'r')
+
+ return results
+
+def go_restore(restorefile,myhost):
+ myhostname = socket.gethostname()
+ if myhostname.strip() == myhost.strip():
+ localcommand="sudo /usr/bin/restore_job.sh "
+ command= localcommand + restorefile
+ else:
+ sshcmd="ssh -o StrictHostKeyChecking=no -o ConnectTimeout=1 -i /data/srv/.nobody_ssh/id_dsa mythtv@"
+ sshcmd+=myhost.strip()
+ cmd=' "sudo /usr/bin/restore_job.sh " '
+ command=sshcmd + cmd + restorefile + " 2>&1 "
+
+ results=os.popen(command,'r')
+ return results
+
+def go_optimize(myhost):
+ myhostname = socket.gethostname()
+ if myhostname.strip() == myhost.strip():
+ command="/usr/LH/bin/optimize_mythdb.py"
+ results=os.popen(command,'r')
+ else:
+ results='This host does not run a database'
+ return results
+
+def go_update(myhost,update_type):
+ myhostname = socket.gethostname()
+ if myhostname.strip() == myhost.strip():
+ cmd="sudo /usr/bin/update_system "
+ command=cmd + update_type
+
+ else:
+ cmd=" call pacman update_system "
+ cmd+=update_type
+ command="/usr/bin/func \"" + myhost.strip() + "*\" " + cmd
+ print command
+
+ #print command
+
+ results=os.popen(command,'r')
+ return results
+
+def go_updateall(allupdate_type):
+
+ cmd=" sudo /usr/bin/update_system_all "
+ cmd+=allupdate_type
+ command= cmd + " 2>&1 "
+ results=os.popen(command,'r')
+ return results
+
+
+def go_shutdown(myhost):
+ myhostname = socket.gethostname()
+ message="Shutdown from MBE"
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call msg display \"%s\" " %message
+ results=os.popen(command,'r')
+ time.sleep(3)
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call power poweroff "
+ results=os.popen(command,'r')
+ return results
+
+def go_shutdownall():
+ import MySQLdb
+ #import mysql
+ #find all hosts(minus myself)
+ #loop through results shutdown as we go.
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+ myhostname = socket.gethostname()
+ results=["Sent shutdown command to: \n "]
+ cursor.execute("SELECT distinct(hostname) from settings where not hostname = %s ; ",(myhostname))
+ result = cursor.fetchall()
+
+ for row in result:
+ go_shutdown(row[0])
+ results.append(row[0])
+
+ #shutdown myself.
+ #go_shutdown(myhostname)
+ #results.append(myhostname)
+ return results
+
+def go_reboot(myhost):
+ myhostname = socket.gethostname()
+ message="Reboot from MBE"
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call msg display \"%s\" " %message
+ results=os.popen(command,'r')
+ time.sleep(3)
+
+ command="/usr/bin/func \"" + myhost.strip() + "*\" call power reboot "
+ results=os.popen(command,'r')
+ return results
+
+def go_wake(myhost):
+ command="/usr/MythVantage/bin/wakeonlan.sh " + myhost.strip()
+ results=os.popen(command,'r')
+ return results
+
+def go_kill(myhost,kill_type):
+ myhostname = socket.gethostname()
+ cmd=" call fe_restart "
+ cmd+=kill_type
+ command="/usr/bin/func \"" + myhost.strip() + "*\" " + cmd
+
+ results=os.popen(command,'r')
+ return results
+
+
+mainpage = '''
+ <html><head>
+ <style type="text/css">@import "/frame.css";</style>
+ <!--<meta http-equiv="refresh" content="6">-->
+ <title>Receiving a Form</title>
+ </head><body>%s</body></html>'''
+
+error = '''
+ <h1>Error</h1>
+ <h2>No Form Submission Was Received</h2>'''
+
+result = '''
+ <h1>%s of %s</h1>
+'''
+possible_parameters = ['param1', 'param2', 'param3', 'param4','hiddenparam','param5','param6']
+
+if __name__ == '__main__':
+ cgiprint(contentheader) # content header
+ cgiprint() # finish headers with blank line
+
+ theform = cgi.FieldStorage()
+ #print theform
+ formdict = getform(theform, possible_parameters)
+ #print possible_parameters
+
+ if isblank(formdict):
+ body = error
+ else:
+ name = formdict['param1']
+ radio = formdict['param2'] # should be 'this' or 'that'
+ if radio != 'Restore' :
+ name = ""
+ update_type = formdict['param3']
+ oldurl = formdict['param4']
+ hidden = formdict['hiddenparam']
+ all_update_type=formdict['param5']
+ kill_type = formdict['param6']
+ body = result % (radio, hidden)
+
+
+
+
+ print mainpage % body
+ selection=radio
+ myhost=hidden
+
+ if selection == "Restore":
+ mylogfile=go_restore(name,myhost)
+ elif selection == "Backup":
+ mylogfile=go_backup(myhost)
+ elif selection == "Update":
+ mylogfile=go_update(myhost,update_type)
+ elif selection == "Shutdown":
+ mylogfile=go_shutdown(myhost)
+ elif selection == "Reboot":
+ mylogfile=go_reboot(myhost)
+ elif selection == "Optimize":
+ mylogfile=go_optimize(myhost)
+ elif selection == "WOL":
+ mylogfile=go_wake(myhost)
+ elif selection == "UpdateAll":
+ mylogfile=go_updateall(all_update_type)
+ elif selection == "ShutdownAll":
+ mylogfile=go_shutdownall()
+ elif selection == "Kill":
+ mylogfile=go_kill(myhost,kill_type)
+
+ box=''' </br> </br>
+ <div style="border: 1px solid #aaa; width:700px; height:700px; overflow:auto; color:#FFF;text-align:left;">
+ <code id="box" style="display: block; height: 700px; width: 700px; overflow: auto;">
+ '''
+
+ endbox='''
+ </code>
+ </div>
+ '''
+ javascript='''
+ <script type="text/javascript">
+ var objDiv = document.getElementById("box");
+ objDiv.scrollTop = objDiv.scrollHeight;
+ </script>
+ '''
+
+ print box
+ for line in mylogfile:
+ print line + '</br> \r\n'
+
+ print endbox
+ print '<a href=', oldurl, ' > Back </a> '
+ #print oldurl
+ print javascript
+
diff --git a/abs/core/supplemental-web/extra.cfg.txt b/abs/core/supplemental-web/extra.cfg.txt
new file mode 100644
index 0000000..cd4009a
--- /dev/null
+++ b/abs/core/supplemental-web/extra.cfg.txt
@@ -0,0 +1,7 @@
+[extra]
+# change any of the following to False or True
+# This file is used to state to other machines in the cluster whats running
+xymon = True
+func = True
+rsyslog_network = False
+
diff --git a/abs/core/supplemental-web/grabkey.py b/abs/core/supplemental-web/grabkey.py
new file mode 100644
index 0000000..66d630b
--- /dev/null
+++ b/abs/core/supplemental-web/grabkey.py
@@ -0,0 +1,111 @@
+#!/usr/bin/python
+#polls the hobbit server for ghost clients. If it finds ghosts it will make a new bb-hosts file
+#with the new clients.
+#Will not add duplicate clients
+#return code of 0 means a new file was written, anything else is an error or no inserts occured
+import urllib2
+import string
+import sys
+import os
+
+def readkeyfile():
+ global keylist
+ try:
+ infile = open('/data/home/mythtv/.ssh/authorized_keys', 'r')
+ except(IOError), e:
+ keylist=''
+ else:
+ keylist = infile.readlines()
+ infile.close()
+
+
+def grabkey(server):
+ global numberlines
+ global mbekey
+ url="http://" + server + ":1337/serverkey.cgi"
+
+ try:
+ f = urllib2.urlopen(url)
+ except urllib2.HTTPError, e:
+ if e.code != 200:
+ print 'error find key'
+ sys.exit(1)
+ else:
+ mbekey = f.readlines()
+ f.close()
+ numberlines = len(mbekey)
+ #print mbekey
+
+
+def makenewkeyfile():
+ global keylist
+ global mbekey
+ global numberlines
+ global numinserts
+ numinserts=0
+ outlist = []
+ for item in keylist:
+ if item not in outlist:
+ outlist.append(item)
+
+ for item in mbekey:
+# line = item.rstrip()
+ #nline = "%s #" % (line)
+ #nline = nline + '\n'
+ if item not in outlist:
+ outlist.append(item)
+ #print "adding: " + item
+ numinserts = numinserts + 1
+ if numinserts > 0:
+ try:
+ outfile = open("/data/home/mythtv/.ssh/authorized_keys","w")
+ except(IOError), e:
+ os.system('mkdir -p /data/home/mythtv/.ssh')
+ outfile = open("/data/home/mythtv/.ssh/authorized_keys","w")
+ for i in outlist:
+ outfile.write(i + '\n' )
+ outfile.close
+ os.system('chown -R mythtv /data/home/mythtv/.ssh')
+ os.system('chmod 700 /data/home/mythtv/.ssh/authorized_keys')
+
+
+global infile
+global keylist
+global numberlines
+global numinserts
+global mbekey
+numinserts = 0
+readkeyfile()
+
+#print numberlines
+#print mbekey
+
+try:
+ infile = open('/etc/systemconfig', 'r')
+except(IOError), e:
+ sys.exit(1)
+else:
+ keylist = infile.readlines()
+ infile.close()
+for item in keylist:
+ if item.startswith("dbhost"):
+ itemlist=item.split("=")
+ server=itemlist[1].strip()
+ server=server.rstrip()
+ server=server.strip('"')
+ server=server.rstrip('"')
+grabkey(server)
+
+
+if numberlines > 0:
+ makenewkeyfile()
+else:
+ print "nothing to add"
+
+
+if numinserts < 1:
+ sys.exit(1)
+else:
+ sys.exit(0)
+
+
diff --git a/abs/core/supplemental-web/lighttpd-supplement.conf b/abs/core/supplemental-web/lighttpd-supplement.conf
new file mode 100644
index 0000000..7b214bb
--- /dev/null
+++ b/abs/core/supplemental-web/lighttpd-supplement.conf
@@ -0,0 +1,46 @@
+#server.errorlog-use-syslog = "enable"
+#$HTTP["url"] !~ "\.(jpe?g|png|gif|css)" { accesslog.use-syslog = "enable" }
+
+$HTTP["url"] =~ "(mythweb)" {
+server.error-handler-404 = "/error/mythweb.html"
+}
+
+$HTTP["url"] =~ "(phpMyAdmin)" {
+server.error-handler-404 = "/error/phpadmin.html"
+}
+
+$HTTP["url"] =~ "(xymon)" {
+server.error-handler-404 = "/error/hobbit.html"
+}
+
+## error-handler for status 404
+#server.error-handler-404 = "/error-handler.html"
+server.errorfile-prefix = "/data/srv/httpd/htdocs/error/status-"
+
+alias.url = ( "/logs/" => "/var/log/" )
+$HTTP["url"] =~ "^/logs($|/)" {
+dir-listing.activate= "enable"
+dir-listing.hide-dotfiles = "enable"
+dir-listing.external-css = "/frame.css"
+}
+
+
+
+#cgi.assign = ( ".pl" => "/usr/bin/perl",
+# ".sh" => "/bin/bash" ,
+# ".py" => "/usr/bin/python" ,
+# ".cgi" => "/bin/bash" )
+
+
+$SERVER["socket"] == ":1337" {
+ server.document-root = "/data/srv/httpd/cgi/"
+ alias.url = ( "/templates/" => "/data/home/mythtv/templates/" )
+
+}
+
+
+#### status module
+status.status-url = "/server-status"
+status.config-url = "/server-config"
+
+#ssi.extension = ( ".shtml" )
diff --git a/abs/core/supplemental-web/notify.py b/abs/core/supplemental-web/notify.py
new file mode 100644
index 0000000..2e520c5
--- /dev/null
+++ b/abs/core/supplemental-web/notify.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# import MySQL module
+
+import MySQLdb
+import sys
+import getopt
+import socket
+import os
+
+def main(argv):
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+ cursor.execute("SELECT DISTINCT(hostname) from settings where not hostname is NULL")
+ result = cursor.fetchall()
+ message = sys.argv[2]
+ messagetype = sys.argv[1]
+ port=str(5000)
+ if messagetype == "PH2":
+ port=str(5001)
+
+
+ message = message + " :::" + messagetype
+ for row in result:
+ os.system("/usr/bin/osdClient.pl " + row[0] + " " + port + " "+ "\"" + message + "\"" + "&" )
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
diff --git a/abs/core/supplemental-web/supplemental-web.install b/abs/core/supplemental-web/supplemental-web.install
new file mode 100644
index 0000000..252a8e0
--- /dev/null
+++ b/abs/core/supplemental-web/supplemental-web.install
@@ -0,0 +1,67 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+/bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ /bin/true
+
+ COUNT=`grep -c "lighttpd-supplement.conf" /etc/lighttpd/conf.include`
+ if [ $COUNT == 0 ]
+ then
+ echo "==> Adding lighttpd-suppliement.conf to conf.include"
+ echo "include \"/usr/MythVantage/etc/lighttpd-supplement.conf\"" >> /etc/lighttpd/conf.include
+ fi
+ echo
+ echo "==> Forcing a re-read of lighttpd's configuration file."
+ echo ""
+ /sbin/sv hup /service/lighttpd
+
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+ COUNT=`grep -c "lighttpd-supplement.conf" /etc/lighttpd/conf.include`
+ if [ $COUNT -gt 0 ]
+ then
+ echo "==> Removing lighttpd-supplement.conf from conf.include"
+ sed -i 's#include \"/usr/MythVantage/etc/lighttpd-supplement.conf\"##' -i /etc/lighttpd/conf.include
+ fi
+
+
+ echo
+ echo "==> Forcing a re-read of lighttpd's configuration file."
+ echo ""
+ /sbin/sv hup /service/lighttpd
+
+
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/supplemental-web/wakeonlan.sh b/abs/core/supplemental-web/wakeonlan.sh
new file mode 100644
index 0000000..1213f79
--- /dev/null
+++ b/abs/core/supplemental-web/wakeonlan.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+HWADDR=`curl -s http://localhost/xymon/hobbit-cgi/svcstatus.sh?CLIENT=$1|grep HWaddr|tr -s [:space:]| cut -d" " -f5|uniq`
+
+#for mac in `grep HW "$DIR/$FILE" |awk '{ print $5 } '`
+for mac in $HWADDR
+do
+ echo "/usr/bin/wol -v $mac"
+ /usr/bin/wol -v $mac
+done
+
+
+
diff --git a/abs/core/tilda/PKGBUILD b/abs/core/tilda/PKGBUILD
new file mode 100644
index 0000000..f8422bc
--- /dev/null
+++ b/abs/core/tilda/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: William Rea <sillywilly@gmail.com>
+pkgname=tilda
+pkgver=0.9.6
+pkgrel=2
+pkgdesc="Linux terminal based on classic terminals from first person shooter games."
+url="http://tilda.sourceforge.net"
+license="GPL"
+depends=('vte' 'confuse' 'libglade' 'gtk2')
+makedepends=('gawk')
+source=('tilda-0.9.6.tar.gz' 'config_0')
+arch=('i686')
+build() {
+
+ cd $startdir/src/tilda-$pkgver/src
+# patch -p0 < $startdir/src/tilda.patch
+ cd $startdir/src/tilda-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+
+ mkdir -p $startdir/pkg/etc
+ cp $startdir/src/config_0 $startdir/pkg/etc/tilda_config
+
+}
+md5sums=('b44ebe04fdfd312e9ddc5e0ed77f4289'
+ '754753190e0990cd6fba27b3c931bd0e')
diff --git a/abs/core/tilda/config_0 b/abs/core/tilda/config_0
new file mode 100644
index 0000000..198afd3
--- /dev/null
+++ b/abs/core/tilda/config_0
@@ -0,0 +1,53 @@
+tilda_config_version = "0.9.6"
+# image = ""
+# command = ""
+font = "Monospace 15"
+key = "F3"
+title = "Tilda"
+background_color = "white"
+# working_dir = ""
+web_browser = "firefox"
+lines = 7000
+max_width = 1612
+max_height = 532
+min_width = 1
+min_height = 1
+transparency = 0
+x_pos = 1114
+y_pos = 0
+tab_pos = 1
+backspace_key = 0
+delete_key = 1
+d_set_title = 3
+command_exit = 2
+scheme = 3
+slide_sleep_usec = 14607
+animation_orientation = 0
+scrollbar_pos = 2
+back_red = 0
+back_green = 0
+back_blue = 0
+text_red = 65535
+text_green = 65535
+text_blue = 65535
+scroll_background = true
+scroll_on_output = false
+notebook_border = true
+antialias = true
+scrollbar = false
+use_image = false
+grab_focus = true
+above = true
+notaskbar = true
+bold = true
+blinks = true
+scroll_on_key = true
+bell = false
+run_command = false
+pinned = true
+animation = false
+hidden = true
+centered_horizontally = true
+centered_vertically = false
+enable_transparency = false
+double_buffer = false
diff --git a/abs/core/tilda/tilda-0.9.6.tar.gz b/abs/core/tilda/tilda-0.9.6.tar.gz
new file mode 100644
index 0000000..cb5531c
--- /dev/null
+++ b/abs/core/tilda/tilda-0.9.6.tar.gz
Binary files differ
diff --git a/abs/core/tilda/tilda.install b/abs/core/tilda/tilda.install
new file mode 100644
index 0000000..42bc9eb
--- /dev/null
+++ b/abs/core/tilda/tilda.install
@@ -0,0 +1,44 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ MHOME=`cat /etc/passwd | grep "mythtv" | cut -d":" -f6`
+ if [ ! -e $MHOME/.keylaunchrc ]
+ then
+ echo "setting symlink for keylaunch"
+ ln -s /etc/keylaunchrc $MHOME/.keylaunchrc
+fi
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/v4l-utils/PKGBUILD b/abs/core/v4l-utils/PKGBUILD
index a43df65..b18f42b 100644
--- a/abs/core/v4l-utils/PKGBUILD
+++ b/abs/core/v4l-utils/PKGBUILD
@@ -1,7 +1,7 @@
-# $Id: PKGBUILD 90013 2010-09-06 06:34:17Z thomas $
+# $Id$
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=v4l-utils
-pkgver=0.8.1
+pkgver=0.8.5
pkgrel=1
pkgdesc="Userspace tools and conversion library for Video 4 Linux"
arch=('i686' 'x86_64')
@@ -12,9 +12,9 @@ conflicts=('libv4l')
license=('LGPL')
makedepends=('qt')
optdepends=('qt')
-depends=('glibc' 'gcc-libs' 'sysfsutils')
+depends=('glibc' 'gcc-libs' 'sysfsutils' 'libjpeg')
source=(http://linuxtv.org/downloads/v4l-utils/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('2b03003f1e081c5c98d1fe287c0d88a6c720ca972c4d80a1782146bbde1ac5ea')
+sha256sums=('c205848fbaf3489b97519dae04da31be4998bbc170a2ca9791357a8a549e594c')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/v4l-utils/_changelog b/abs/core/v4l-utils/_changelog
new file mode 100644
index 0000000..f3adef7
--- /dev/null
+++ b/abs/core/v4l-utils/_changelog
@@ -0,0 +1 @@
+-changed libjpeg-turbo to libjpeg
diff --git a/abs/core/wmaker_settings/GNUstep/Defaults/WMGLOBAL b/abs/core/wmaker_settings/GNUstep/Defaults/WMGLOBAL
new file mode 100644
index 0000000..f087044
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Defaults/WMGLOBAL
@@ -0,0 +1,10 @@
+{
+ SystemFont = "Sans";
+ BoldSystemFont = "Sans:bold";
+ DefaultFontSize = 11;
+ AntialiasedText = Yes;
+ FloppyPath = "/media/floppy";
+ DoubleClickTime = 250;
+ MouseWheelUp = Button4;
+ MouseWheelDown = Button5;
+}
diff --git a/abs/core/wmaker_settings/GNUstep/Defaults/WMRootMenu b/abs/core/wmaker_settings/GNUstep/Defaults/WMRootMenu
new file mode 100644
index 0000000..508c70e
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Defaults/WMRootMenu
@@ -0,0 +1,213 @@
+(
+ Applications,
+ (
+ Info,
+ ("Info Panel", INFO_PANEL),
+ (Legal, LEGAL_PANEL),
+ ("System Console", EXEC, xconsole),
+ ("System Load", SHEXEC, "xosview || xload"),
+ ("Process List", EXEC, "xterm -e top"),
+ ("Manual Browser", EXEC, xman)
+ ),
+ (Run..., EXEC, "%a(Run,Type command to run:)"),
+ (XTerm, EXEC, "xterm -sb"),
+ ("Mozilla Firefox", EXEC, firefox),
+ (Workspaces, WORKSPACE_MENU),
+ (
+ Applications,
+ (Gimp, SHEXEC, "gimp >/dev/null"),
+ (Ghostview, EXEC, "ghostview %a(Enter file to view)"),
+ (Xpdf, EXEC, "xpdf %a(Enter PDF to view)"),
+ (Abiword, EXEC, abiword),
+ (Dia, EXEC, dia),
+ (
+ OpenOffice.org,
+ (OpenOffice.org, EXEC, ooffice),
+ (Writer, EXEC, oowriter),
+ (Spreadsheet, EXEC, oocalc),
+ (Draw, EXEC, oodraw),
+ (Impress, EXEC, ooimpress)
+ ),
+ (
+ Editors,
+ (XEmacs, EXEC, xemacs),
+ (Emacs, EXEC, emacs),
+ (XJed, EXEC, xjed),
+ (VI, EXEC, "xterm -e vi"),
+ (GVIM, EXEC, gvim),
+ (NEdit, EXEC, nedit),
+ (Xedit, EXEC, xedit)
+ ),
+ (
+ Multimedia,
+ (
+ XMMS,
+ (XMMS, EXEC, xmms),
+ ("XMMS play/pause", EXEC, "xmms -t"),
+ ("XMMS stop", EXEC, "xmms -s")
+ ),
+ ("Xine video player", EXEC, xine),
+ (MPlayer, EXEC, mplayer)
+ )
+ ),
+ (
+ Utils,
+ (Calculator, EXEC, xcalc),
+ (
+ "Window Properties",
+ SHEXEC,
+ "xprop | xmessage -center -title 'xprop' -file -"
+ ),
+ ("Font Chooser", EXEC, xfontsel),
+ (Magnify, EXEC, wmagnify),
+ (Colormap, EXEC, xcmap),
+ ("Kill X Application", EXEC, xkill)
+ ),
+ (
+ Selection,
+ (Copy, SHEXEC, "echo '%s' | wxcopy"),
+ ("Mail To", EXEC, "xterm -name mail -T Pine -e pine %s"),
+ (Navigate, EXEC, "mozilla %s"),
+ ("Search in Manual", EXEC, "MANUAL_SEARCH(%s)")
+ ),
+ (
+ Commands,
+ ("Hide Others", HIDE_OTHERS),
+ ("Show All", SHOW_ALL),
+ ("Arrange Icons", ARRANGE_ICONS),
+ (Refresh, REFRESH),
+ (Lock, EXEC, "xlock -allowroot -usefirst")
+ ),
+ (
+ Appearance,
+ (
+ Themes,
+ OPEN_MENU,
+ "-noext /usr/share/WindowMaker/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"
+ ),
+ (
+ Styles,
+ OPEN_MENU,
+ "-noext /usr/share/WindowMaker/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"
+ ),
+ (
+ "Icon Sets",
+ OPEN_MENU,
+ "-noext /usr/share/WindowMaker/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"
+ ),
+ (
+ Background,
+ (
+ Solid,
+ (Black, EXEC, "wdwrite WindowMaker WorkspaceBack '(solid, black)'"),
+ (
+ Blue,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(solid, \"#505075\")'"
+ ),
+ (
+ Indigo,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(solid, \"#243e6c\")'"
+ ),
+ (
+ Bluemarine,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(solid, \"#224477\")'"
+ ),
+ (
+ Purple,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(solid, \"#554466\")'"
+ ),
+ (
+ Wheat,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(solid, wheat4)'"
+ ),
+ (
+ "Dark Gray",
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(solid, \"#333340\")'"
+ ),
+ (
+ Wine,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(solid, \"#400020\")'"
+ )
+ ),
+ (
+ Gradient,
+ (
+ Sunset,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(mvgradient, deepskyblue4, black, deepskyblue4, tomato4)'"
+ ),
+ (
+ Sky,
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(vgradient, blue4, white)'"
+ ),
+ (
+ "Blue Shades",
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#7080a5\", \"#101020\")'"
+ ),
+ (
+ "Indigo Shades",
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#746ebc\", \"#242e4c\")'"
+ ),
+ (
+ "Purple Shades",
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#654c66\", \"#151426\")'"
+ ),
+ (
+ "Wheat Shades",
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#a09060\", \"#302010\")'"
+ ),
+ (
+ "Grey Shades",
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#636380\", \"#131318\")'"
+ ),
+ (
+ "Wine Shades",
+ EXEC,
+ "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#600040\", \"#180010\")'"
+ )
+ ),
+ (
+ Images,
+ OPEN_MENU,
+ "-noext /usr/share/WindowMaker/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t"
+ )
+ ),
+ (
+ "Save Theme",
+ SHEXEC,
+ "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""
+ ),
+ (
+ "Save IconSet",
+ SHEXEC,
+ "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\""
+ ),
+ (
+ "Preferences Utility",
+ EXEC,
+ "/usr/local/GNUstep/Applications/WPrefs.app/WPrefs"
+ )
+ ),
+ (
+ Session,
+ ("Save Session", SAVE_SESSION),
+ ("Clear Session", CLEAR_SESSION),
+ ("Restart Window Maker", RESTART),
+ ("Start BlackBox", RESTART, blackbox),
+ ("Start IceWM", RESTART, icewm),
+ (Exit, EXIT)
+ )
+)
diff --git a/abs/core/wmaker_settings/GNUstep/Defaults/WMState b/abs/core/wmaker_settings/GNUstep/Defaults/WMState
new file mode 100644
index 0000000..39a2ac4
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Defaults/WMState
@@ -0,0 +1,144 @@
+{
+ Dock = {
+ Lowered = Yes;
+ Position = "-64,0";
+ Applications1600 = (
+ {
+ Name = Logo.WMDock;
+ Lock = No;
+ AutoLaunch = No;
+ Command = "-";
+ Position = "0,0";
+ Forced = No;
+ BuggyApplication = No;
+ },
+ {
+ PasteCommand = tvterm.sh;
+ Name = xterm.XTerm;
+ Lock = No;
+ AutoLaunch = No;
+ Command = xterm;
+ Position = "0,1";
+ Forced = No;
+ BuggyApplication = No;
+ },
+ {
+ Name = groupLeader.WPrefs;
+ Lock = Yes;
+ AutoLaunch = No;
+ Command = "/usr/lib/GNUstep/Applications/WPrefs.app/WPrefs";
+ Position = "0,2";
+ Forced = No;
+ BuggyApplication = No;
+ },
+ {
+ PasteCommand = "/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log %s";
+ Name = mythfrontend.Mythfrontend;
+ Lock = Yes;
+ AutoLaunch = No;
+ Command = "/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log";
+ Position = "0,3";
+ Forced = No;
+ BuggyApplication = No;
+ }
+ );
+ Applications = (
+ {
+ Name = Logo.WMDock;
+ Lock = No;
+ AutoLaunch = No;
+ Command = "-";
+ Position = "0,0";
+ Forced = No;
+ BuggyApplication = No;
+ },
+ {
+ PasteCommand = tvterm.sh;
+ Name = xterm.XTerm;
+ Lock = No;
+ AutoLaunch = No;
+ Command = xterm;
+ Position = "0,1";
+ Forced = No;
+ BuggyApplication = No;
+ },
+ {
+ Name = groupLeader.WPrefs;
+ Lock = Yes;
+ AutoLaunch = No;
+ Command = "/usr/lib/GNUstep/Applications/WPrefs.app/WPrefs";
+ Position = "0,2";
+ Forced = No;
+ BuggyApplication = No;
+ },
+ {
+ PasteCommand = "/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log %s";
+ Name = mythfrontend.Mythfrontend;
+ Lock = Yes;
+ AutoLaunch = No;
+ Command = "/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log";
+ Position = "0,3";
+ Forced = No;
+ BuggyApplication = No;
+ }
+ );
+ };
+ Clip = {
+ Name = Logo.WMClip;
+ Lock = No;
+ AutoLaunch = No;
+ Command = "-";
+ Position = "2496,1536";
+ Forced = No;
+ BuggyApplication = No;
+ };
+ Workspace = "Workspace 2";
+ Workspaces = (
+ {
+ Clip = {
+ AutoAttractIcons = No;
+ AutoCollapse = No;
+ Lowered = Yes;
+ Collapsed = No;
+ AutoRaiseLower = No;
+ Applications = ();
+ };
+ Name = Main;
+ },
+ {
+ Clip = {
+ AutoAttractIcons = No;
+ AutoCollapse = No;
+ Lowered = Yes;
+ Collapsed = No;
+ AutoRaiseLower = No;
+ Applications = ();
+ };
+ Name = "Workspace 2";
+ },
+ {
+ Clip = {
+ AutoAttractIcons = No;
+ AutoCollapse = No;
+ Lowered = Yes;
+ Collapsed = No;
+ AutoRaiseLower = No;
+ Applications = ();
+ };
+ Name = "Workspace 3";
+ }
+ );
+ Applications = (
+ {
+ Hidden = No;
+ Dock = Dock;
+ ShortcutMask = 0;
+ Name = mythfrontend.Mythfrontend;
+ Workspace = Main;
+ Geometry = "2560x1600+0+0";
+ Shaded = No;
+ Command = "/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log";
+ Miniaturized = No;
+ }
+ );
+}
diff --git a/abs/core/wmaker_settings/GNUstep/Defaults/WMWindowAttributes b/abs/core/wmaker_settings/GNUstep/Defaults/WMWindowAttributes
new file mode 100644
index 0000000..d359650
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Defaults/WMWindowAttributes
@@ -0,0 +1,25 @@
+{
+ xterm.XTerm = {
+ NoAppIcon = Yes;
+ Icon = Terminal.tiff;
+ };
+ mythfrontend.Mythfrontend = {
+ Icon = Speaker.png;
+ };
+ groupLeader.WPrefs = {
+ Icon = "/usr/lib/GNUstep/Applications/WPrefs.app/WPrefs.tiff";
+ };
+ licensedialog.Opera = {
+ Icon = "/home/mythtv/GNUstep/Library/WindowMaker/CachedPixmaps/licensedialog.Opera.xpm";
+ };
+ tilda.Tilda = {
+ NoResizebar = Yes;
+ NoAppIcon = Yes;
+ Icon = xterm_48x48.xpm;
+ KeepOnTop = Yes;
+ NoCloseButton = Yes;
+ NoTitlebar = Yes;
+ NoMiniaturizeButton = Yes;
+ Omnipresent = Yes;
+ };
+}
diff --git a/abs/core/wmaker_settings/GNUstep/Defaults/WPrefs b/abs/core/wmaker_settings/GNUstep/Defaults/WPrefs
new file mode 100644
index 0000000..081b964
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Defaults/WPrefs
@@ -0,0 +1,30 @@
+{
+ NoXSetStuff = NO;
+ ColorList = (
+ "#000000",
+ "#292929",
+ "#525252",
+ "#848484",
+ "#adadad",
+ "#d6d6d6",
+ "#ffffff",
+ "#d6d68c",
+ "#d6a57b",
+ "#8cd68c",
+ "#8cd6ce",
+ "#d68c8c",
+ "#8c9cd6",
+ "#bd86d6",
+ "#d68cbd",
+ "#d64a4a",
+ "#4a5ad6",
+ "#4ad6ce",
+ "#4ad65a",
+ "#ced64a",
+ "#d6844a",
+ "#8ad631",
+ "#ce29c6",
+ "#ce2973"
+ );
+ TextureList = ();
+}
diff --git a/abs/core/wmaker_settings/GNUstep/Defaults/WindowMaker b/abs/core/wmaker_settings/GNUstep/Defaults/WindowMaker
new file mode 100644
index 0000000..426545f
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Defaults/WindowMaker
@@ -0,0 +1,95 @@
+{
+ RaiseAppIconsWhenBouncing = NO;
+ HighlightColor = gray70;
+ CycleWorkspaces = YES;
+ BounceAppIconsWhenUrgent = NO;
+ AntialiasedText = YES;
+ MenuTitleExtendSpace = 0;
+ MenuTextFont = "helvetica:pixelsize=18";
+ UTitleBack = (spixmap, "/usr/share/WindowMaker/Themes/linhes.themed/bar.jpg", gray30);
+ MoveResizeKey = None;
+ GroupNextKey = None;
+ NormalCursor = (builtin, left_ptr);
+ PTitleBack = (spixmap, "/usr/share/WindowMaker/Themes/linhes.themed/bar.jpg", gray30);
+ WindowShortcut10Key = None;
+ PixmapPath = (
+ "/home/mythtv/GNUstep/Library/WindowMaker/Pixmaps",
+ "/home/mythtv/GNUstep/Library/WindowMaker/Backgrounds",
+ "/usr/share/WindowMaker/Pixmaps",
+ "/usr/share/WindowMaker/Backgrounds",
+ "/usr/X11R6/include/X11/pixmaps",
+ "/usr/local/share/pixmaps",
+ "/usr/share/pixmaps"
+ );
+ WindowTitleFont = "helvetica:bold:pixelsize=18";
+ MenuDisabledColor = gray30;
+ ClipTitleFont = "helvetica:bold:pixelsize=12";
+ MenuTextBack = (
+ spixmap,
+ "/usr/share/WindowMaker/Themes/linhes.themed/menutext.jpg",
+ gray30
+ );
+ MenuStyle = normal;
+ MinimizeAllKey = None;
+ MenuTitleBack = (spixmap, "/usr/share/WindowMaker/Themes/linhes.themed/bar.jpg", gray30);
+ IconBack = (spixmap, "/usr/share/WindowMaker/Themes/linhes.themed/tile.jpg", black);
+ DisplayFont = "helvetica:pixelsize=12";
+ FTitleBack = (spixmap, "/usr/share/WindowMaker/Themes/linhes.themed/bar.jpg", gray30);
+ WindowShortcut1Key = None;
+ WindowShortcut2Key = None;
+ WindowTitleExtendSpace = 0;
+ UseSaveUnders = YES;
+ WindowShortcut3Key = None;
+ ToggleKbdModeKey = None;
+ ShowClipTitle = NO;
+ ResizebarBack = (spixmap, "/usr/share/WindowMaker/Themes/linhes.themed/bar.jpg", gray30);
+ WindowShortcut4Key = None;
+ MenuTextColor = white;
+ MaximusKey = None;
+ HighlightTextColor = black;
+ WindowShortcut5Key = None;
+ MenuTitleFont = "helvetica:bold:pixelsize=18";
+ MenuTitleColor = white;
+ WindowShortcut6Key = None;
+ WorkspaceNameDisplayPosition = top;
+ LargeDisplayFont = "courier:bold:pixelsize=48";
+ MenuTextExtendSpace = 0;
+ WindowShortcut7Key = None;
+ FTitleColor = white;
+ WorkspaceBack = (
+ spixmap,
+ "/usr/share/WindowMaker/Themes/linhes.themed/background.png",
+ gray20
+ );
+ RHMaximizeKey = None;
+ IconTitleFont = "helvetica:pixelsize=8";
+ HideOthersKey = None;
+ NextWorkspaceKey = "Control+Tab";
+ UTitleColor = gray70;
+ IconPath = (
+ "/home/mythtv/GNUstep/Library/Icons",
+ "/usr/share/WindowMaker/Icons",
+ "/usr/share/WindowMaker/Pixmaps",
+ "/usr/X11R6/include/X11/pixmaps",
+ "/home/mythtv/GNUstep/Library/WindowMaker/Pixmaps",
+ "/usr/share/icons",
+ "/usr/local/share/pixmaps",
+ "/usr/share/pixmaps"
+ );
+ PTitleColor = white;
+ NewStyle = new;
+ CycleActiveHeadOnly = NO;
+ SingleClickLaunch = NO;
+ GroupPrevKey = None;
+ LHMaximizeKey = None;
+ CClipTitleColor = gray70;
+ TitleJustify = left;
+ WindowShortcut8Key = None;
+ ScreenSwitchKey = None;
+ ClipTitleColor = white;
+ WindowShortcut9Key = None;
+ IconTitleBack = gray30;
+ IconTitleColor = white;
+ HMaximizeKey = None;
+ DisableBlinking = NO;
+}
diff --git a/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/licensedialog.Opera.xpm b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/licensedialog.Opera.xpm
new file mode 100644
index 0000000..05a3a99
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/licensedialog.Opera.xpm
@@ -0,0 +1,751 @@
+/* XPM */
+static char *image[] = {
+"48 48 700 2",
+" c None",
+"00 c #f4f4f4",
+"10 c #dbdbdb",
+"20 c #cccccc",
+"30 c #bebebe",
+"40 c #8b7878",
+"50 c #865f5f",
+"60 c #895555",
+"70 c #8a5555",
+"80 c #885a5a",
+"90 c #846a6a",
+":0 c #8c7171",
+";0 c #8d8d8d",
+"A0 c #969696",
+"B0 c #aaaaaa",
+"C0 c #c0c0c0",
+"D0 c #d0d0d0",
+"E0 c #e0e0e0",
+"F0 c #f5f5f5",
+"G0 c #fafafa",
+"H0 c #e9e9e9",
+"I0 c #d2d2d2",
+"J0 c #bdbdbd",
+"K0 c #a0a0a0",
+"L0 c #7d7d7d",
+"M0 c #646464",
+"N0 c #574a4a",
+"O0 c #672526",
+"P0 c #8d1117",
+"Q0 c #b1000a",
+"R0 c #b9010a",
+"S0 c #c2020a",
+"T0 c #c6010b",
+"U0 c #c8010c",
+"V0 c #c2010b",
+"W0 c #b6000a",
+"X0 c #ac0009",
+"Y0 c #90090d",
+"Z0 c #711e1f",
+"a0 c #613d3d",
+"b0 c #666666",
+"c0 c #828282",
+"d0 c #a2a2a2",
+"e0 c #bcbcbc",
+"f0 c #d1d1d1",
+"g0 c #e8e8e8",
+"h0 c #fcfcfc",
+"i0 c #fdfdfd",
+"j0 c #c6c6c6",
+"k0 c #a3a3a3",
+"l0 c #838383",
+"m0 c #704040",
+"n0 c #8d1015",
+"o0 c #ba010b",
+"p0 c #bd030c",
+"q0 c #af050a",
+"r0 c #a20708",
+"s0 c #a30708",
+"t0 c #a40708",
+"u0 c #a50708",
+"v0 c #aa0609",
+"w0 c #b5050a",
+"x0 c #c2020c",
+"y0 c #ba000b",
+"z0 c #96060a",
+"01 c #723535",
+"11 c #827b7b",
+"21 c #a5a5a5",
+"31 c #c5c5c5",
+"41 c #d7d7d7",
+"51 c #efefef",
+"61 c #f7f7f7",
+"71 c #ececec",
+"81 c #d9d9d9",
+"91 c #a48888",
+":1 c #9b1c21",
+";1 c #c1010d",
+"A1 c #a9050b",
+"B1 c #950809",
+"C1 c #960809",
+"D1 c #970809",
+"E1 c #980809",
+"F1 c #990809",
+"G1 c #9a0809",
+"H1 c #9b0809",
+"I1 c #9c0809",
+"J1 c #9f080a",
+"K1 c #b4040c",
+"L1 c #c1010c",
+"M1 c #9d090d",
+"N1 c #9d6666",
+"O1 c #dadada",
+"P1 c #eaeaea",
+"Q1 c #f8f8f8",
+"R1 c #fefefe",
+"S1 c #b86b6c",
+"T1 c #b7000b",
+"U1 c #ab030b",
+"V1 c #8a0708",
+"W1 c #8b0708",
+"X1 c #8c0708",
+"Y1 c #8d0708",
+"Z1 c #8e0708",
+"a1 c #8f0708",
+"b1 c #900708",
+"c1 c #910708",
+"d1 c #920708",
+"e1 c #930708",
+"f1 c #940708",
+"g1 c #980608",
+"h1 c #b1030b",
+"i1 c #bb000b",
+"j1 c #a53d3d",
+"k1 c #f6eeee",
+"l1 c #a23032",
+"m1 c #b9000b",
+"n1 c #900205",
+"o1 c #830304",
+"p1 c #840304",
+"q1 c #850304",
+"r1 c #860304",
+"s1 c #870304",
+"t1 c #ac0203",
+"u1 c #c50101",
+"v1 c #ae0203",
+"w1 c #8b0304",
+"x1 c #8c0304",
+"y1 c #8d0304",
+"z1 c #8e0304",
+"02 c #8f0304",
+"12 c #9b0205",
+"22 c #c1000c",
+"32 c #9e1012",
+"42 c #e9cfcf",
+"52 c #b33034",
+"62 c #bd000b",
+"72 c #850001",
+"82 c #810000",
+"92 c #820000",
+":2 c #830000",
+";2 c #840000",
+"A2 c #d30000",
+"B2 c #db3f3f",
+"C2 c #e77f7f",
+"D2 c #de4f4f",
+"E2 c #d21010",
+"F2 c #d40000",
+"G2 c #930001",
+"H2 c #ad1014",
+"I2 c #eacfcf",
+"J2 c #f7efef",
+"K2 c #a73032",
+"L2 c #890001",
+"M2 c #850000",
+"N2 c #860000",
+"O2 c #870000",
+"P2 c #880000",
+"Q2 c #c10101",
+"R2 c #cf0000",
+"S2 c #e36f6f",
+"T2 c #e67f7f",
+"U2 c #d10000",
+"V2 c #980001",
+"W2 c #bd000a",
+"X2 c #a61012",
+"Y2 c #eccfcf",
+"Z2 c #b05050",
+"a2 c #b9000a",
+"b2 c #8d0001",
+"c2 c #890000",
+"d2 c #8a0000",
+"e2 c #8b0000",
+"f2 c #8c0000",
+"g2 c #8d0000",
+"h2 c #b30101",
+"i2 c #ce0000",
+"j2 c #ec9e9e",
+"k2 c #d00000",
+"l2 c #af0101",
+"m2 c #9e0001",
+"n2 c #b43031",
+"o2 c #f9efef",
+"p2 c #cd8f8f",
+"q2 c #b50009",
+"r2 c #980002",
+"s2 c #8e0000",
+"t2 c #8f0000",
+"u2 c #900000",
+"v2 c #910000",
+"w2 c #9d0101",
+"x2 c #d30101",
+"y2 c #e16f6f",
+"z2 c #e57f7f",
+"03 c #d00101",
+"13 c #a50002",
+"23 c #be000a",
+"33 c #cb7070",
+"43 c #f8efef",
+"53 c #ab1014",
+"63 c #a90006",
+"73 c #920000",
+"83 c #930000",
+"93 c #940000",
+":3 c #950000",
+";3 c #960000",
+"A3 c #cc0303",
+"B3 c #cc1010",
+"C3 c #cf1f1f",
+"D3 c #c80202",
+"E3 c #b10004",
+"F3 c #b40006",
+"G3 c #efcfcf",
+"H3 c #bd6060",
+"I3 c #b40008",
+"J3 c #970000",
+"K3 c #980000",
+"L3 c #990000",
+"M3 c #9a0000",
+"N3 c #9b0000",
+"O3 c #ab0202",
+"P3 c #cf0101",
+"Q3 c #e37f7f",
+"R3 c #e78f8f",
+"S3 c #cf0202",
+"T3 c #ab0101",
+"U3 c #be0009",
+"V3 c #c34040",
+"W3 c #f3dfdf",
+"X3 c #aa0005",
+"Y3 c #a60003",
+"Z3 c #9e0000",
+"a3 c #ca0404",
+"b3 c #f8dede",
+"c3 c #fceeee",
+"d3 c #c60000",
+"e3 c #c40303",
+"f3 c #b40002",
+"g3 c #bb0007",
+"h3 c #ecbfbf",
+"i3 c #c97070",
+"j3 c #b60008",
+"k3 c #a00000",
+"l3 c #a10000",
+"m3 c #a20000",
+"n3 c #a30000",
+"o3 c #a40000",
+"p3 c #d20504",
+"q3 c #cf2f2f",
+"r3 c #cd0403",
+"s3 c #bd0007",
+"t3 c #ce5050",
+"u3 c #b11012",
+"v3 c #ae0004",
+"w3 c #a60000",
+"x3 c #a70000",
+"y3 c #b70303",
+"z3 c #cb0303",
+"04 c #dd6f6f",
+"14 c #e17f7f",
+"24 c #d10404",
+"34 c #bd0103",
+"44 c #bf0106",
+"54 c #fbefef",
+"64 c #e4afaf",
+"74 c #b50007",
+"84 c #aa0000",
+"94 c #ad0000",
+":4 c #c10000",
+";4 c #e89e9e",
+"A4 c #ecaeae",
+"B4 c #c40101",
+"C4 c #c90505",
+"D4 c #c20209",
+"E4 c #e9a0a0",
+"F4 c #d17070",
+"G4 c #b70007",
+"H4 c #b00000",
+"I4 c #b10000",
+"J4 c #b20000",
+"K4 c #b30000",
+"L4 c #d20808",
+"M4 c #efbfbf",
+"N4 c #c00000",
+"O4 c #d00707",
+"P4 c #c50309",
+"Q4 c #d95354",
+"R4 c #c23031",
+"S4 c #b70004",
+"T4 c #b60000",
+"U4 c #b70000",
+"V4 c #b80000",
+"W4 c #cd0706",
+"X4 c #fbeeee",
+"Y4 c #be0000",
+"Z4 c #d40909",
+"a4 c #cc0709",
+"b4 c #cc1419",
+"c4 c #b90004",
+"d4 c #b90001",
+"e4 c #b90000",
+"f4 c #ba0101",
+"g4 c #bb0101",
+"h4 c #bc0101",
+"i4 c #bd0202",
+"j4 c #d70c0b",
+"k4 c #bd0000",
+"l4 c #ce0807",
+"m4 c #cc070b",
+"n4 c #fae0e0",
+"o4 c #eebfbf",
+"p4 c #bd0106",
+"q4 c #be0202",
+"r4 c #bf0202",
+"s4 c #c00303",
+"t4 c #c10303",
+"u4 c #c20303",
+"v4 c #c30404",
+"w4 c #c70606",
+"x4 c #bb0000",
+"y4 c #c31f1f",
+"z4 c #d30b0b",
+"05 c #cd070c",
+"15 c #f6c2c2",
+"25 c #f0c0c0",
+"35 c #c00306",
+"45 c #c40404",
+"55 c #c50404",
+"65 c #c60505",
+"75 c #c70505",
+"85 c #c80505",
+"95 c #c80606",
+":5 c #c90606",
+";5 c #d40c0c",
+"A5 c #c21f1f",
+"B5 c #cb3f3f",
+"C5 c #c80707",
+"D5 c #d40a0e",
+"E5 c #f29595",
+"F5 c #e48282",
+"G5 c #c40408",
+"H5 c #ca0606",
+"I5 c #cb0707",
+"J5 c #cc0707",
+"K5 c #cd0707",
+"L5 c #cd0808",
+"M5 c #ce0808",
+"N5 c #cf0808",
+"O5 c #d00808",
+"P5 c #d90e0e",
+"Q5 c #c93f3f",
+"R5 c #c70807",
+"S5 c #e00e0e",
+"T5 c #d80c0f",
+"U5 c #f38787",
+"V5 c #e78383",
+"W5 c #c90609",
+"X5 c #d00909",
+"Y5 c #d10909",
+"Z5 c #d20909",
+"a5 c #d30a0a",
+"b5 c #d40a0a",
+"c5 c #d50a0a",
+"d5 c #dd1110",
+"e5 c #ba0202",
+"f5 c #c60808",
+"g5 c #e71212",
+"h5 c #ea1313",
+"i5 c #df0e11",
+"j5 c #f58888",
+"k5 c #e98484",
+"l5 c #d1090b",
+"m5 c #d50b0b",
+"n5 c #d60b0b",
+"o5 c #d70b0b",
+"p5 c #d80b0b",
+"q5 c #d80c0c",
+"r5 c #d90c0c",
+"s5 c #da0c0c",
+"t5 c #da0d0d",
+"u5 c #e21312",
+"v5 c #b50000",
+"w5 c #c83f3f",
+"x5 c #c50909",
+"y5 c #ed1716",
+"z5 c #f01414",
+"06 c #e71113",
+"16 c #f88989",
+"26 c #ec8585",
+"36 c #db0d0d",
+"46 c #dc0d0d",
+"56 c #dd0d0d",
+"66 c #dd0e0e",
+"76 c #de0e0e",
+"86 c #df0e0e",
+"96 c #e61515",
+":6 c #b40000",
+";6 c #c63f3f",
+"A6 c #c40a09",
+"B6 c #f11919",
+"C6 c #fb8b8b",
+"D6 c #f3a4a4",
+"E6 c #e00f0f",
+"F6 c #e10f0f",
+"G6 c #e20f0f",
+"H6 c #e30f0f",
+"I6 c #e31010",
+"J6 c #e41010",
+"K6 c #e51010",
+"L6 c #e51111",
+"M6 c #eb1717",
+"N6 c #b60303",
+"O6 c #c53f3f",
+"P6 c #c30a0a",
+"Q6 c #f61919",
+"R6 c #f81717",
+"S6 c #fe8c8c",
+"T6 c #f9c3c3",
+"U6 c #e61111",
+"V6 c #e71111",
+"W6 c #e81111",
+"X6 c #e81212",
+"Y6 c #e91212",
+"Z6 c #ea1212",
+"a6 c #eb1313",
+"b6 c #ec1313",
+"c6 c #ef1a19",
+"d6 c #c43f3f",
+"e6 c #c20b0b",
+"f6 c #fd1a1a",
+"g6 c #ffaaaa",
+"h6 c #fde1e1",
+"i6 c #ec1414",
+"j6 c #ed1313",
+"k6 c #ed1414",
+"l6 c #ee1414",
+"m6 c #ef1414",
+"n6 c #f01515",
+"o6 c #f11515",
+"p6 c #f21515",
+"q6 c #f41c1b",
+"r6 c #af0000",
+"s6 c #c23f3f",
+"t6 c #c10c0b",
+"u6 c #f22323",
+"v6 c #f21717",
+"w6 c #f31616",
+"x6 c #f41616",
+"y6 c #f51616",
+"z6 c #f61717",
+"07 c #f71717",
+"17 c #f81818",
+"27 c #f91919",
+"37 c #c00c0c",
+"47 c #ae0000",
+"57 c #b31010",
+"67 c #ce1615",
+"77 c #f95f5f",
+"87 c #f81b1b",
+"97 c #f91818",
+":7 c #fa1818",
+";7 c #fb1919",
+"A7 c #fc1919",
+"B7 c #fd1919",
+"C7 c #d11a19",
+"D7 c #ac0000",
+"E7 c #d31818",
+"F7 c #ff2e2e",
+"G7 c #fe9a9a",
+"H7 c #fe2020",
+"I7 c #fe1a1a",
+"J7 c #ff1b1b",
+"K7 c #ff1c1c",
+"L7 c #ff1d1d",
+"M7 c #ff1e1e",
+"N7 c #ff1f1f",
+"O7 c #ff2020",
+"P7 c #d71b1a",
+"Q7 c #faeeee",
+"R7 c #ab0000",
+"S7 c #e22423",
+"T7 c #ff3535",
+"U7 c #ff9b9b",
+"V7 c #ff2121",
+"W7 c #ff2222",
+"X7 c #ff2323",
+"Y7 c #ff2424",
+"Z7 c #ff2525",
+"a7 c #ff2626",
+"b7 c #e72524",
+"c7 c #e4aeae",
+"d7 c #eabfbf",
+"e7 c #a90000",
+"f7 c #ed2e2d",
+"g7 c #ff3c3c",
+"h7 c #ffe6e6",
+"i7 c #ff2727",
+"j7 c #ff2828",
+"k7 c #ff2929",
+"l7 c #ff2a2a",
+"m7 c #ff2b2b",
+"n7 c #ff2c2c",
+"o7 c #ff2d2d",
+"p7 c #fd3433",
+"q7 c #a80000",
+"r7 c #d37f7f",
+"s7 c #d98f8f",
+"t7 c #ad0404",
+"u7 c #fd3e3d",
+"v7 c #ffc9c9",
+"w7 c #ff2f2f",
+"x7 c #ff3030",
+"y7 c #ff3131",
+"z7 c #ff3232",
+"08 c #ff3333",
+"18 c #ff3434",
+"28 c #fe3636",
+"38 c #bc3f3f",
+"48 c #c75f5f",
+"58 c #c01413",
+"68 c #ff4444",
+"78 c #ffbbbb",
+"88 c #ff3636",
+"98 c #ff3737",
+":8 c #ff3838",
+";8 c #ff3939",
+"A8 c #ff3a3a",
+"B8 c #ff3b3b",
+"C8 c #db2928",
+"D8 c #a50000",
+"E8 c #f9eeee",
+"F8 c #aa1010",
+"G8 c #db2c2a",
+"H8 c #ff4b4b",
+"I8 c #ffd9d9",
+"J8 c #ff4343",
+"K8 c #ff3d3d",
+"L8 c #ff3e3e",
+"M8 c #ff3f3f",
+"N8 c #ff4040",
+"O8 c #ff4141",
+"P8 c #ff4242",
+"Q8 c #f8403f",
+"R8 c #a80504",
+"S8 c #dc9e9e",
+"T8 c #e2aeae",
+"U8 c #a80404",
+"V8 c #f84847",
+"W8 c #ff5252",
+"X8 c #ff5353",
+"Y8 c #ffd5d5",
+"Z8 c #ffa2a2",
+"a8 c #ff4545",
+"b8 c #ff4646",
+"c8 c #ff4747",
+"d8 c #ff4848",
+"e8 c #ff4949",
+"f8 c #ff4a4a",
+"g8 c #cf2524",
+"h8 c #ad1f1f",
+"i8 c #b93f3f",
+"j8 c #c31d1c",
+"k8 c #ff5a5a",
+"l8 c #ff5b5b",
+"m8 c #ff4c4c",
+"n8 c #ff4d4d",
+"o8 c #ff4e4e",
+"p8 c #ff4f4f",
+"q8 c #ff5050",
+"r8 c #ff5151",
+"s8 c #f84b49",
+"t8 c #cf7f7f",
+"u8 c #d58f8f",
+"v8 c #a60505",
+"w8 c #f85150",
+"x8 c #ff6161",
+"y8 c #ff6262",
+"z8 c #ff6363",
+"09 c #ff8d8d",
+"19 c #ff8888",
+"29 c #ff5454",
+"39 c #ff5555",
+"49 c #ff5656",
+"59 c #ff5757",
+"69 c #ff5858",
+"79 c #ff5959",
+"89 c #e63e3c",
+"99 c #9f0000",
+":9 c #da9e9e",
+";9 c #e7bfbf",
+"A9 c #a51010",
+"B9 c #e03b3a",
+"C9 c #ff6969",
+"D9 c #ff6a6a",
+"E9 c #ff6b6b",
+"F9 c #ff8f8f",
+"G9 c #ff9696",
+"H9 c #ff5c5c",
+"I9 c #ff5d5d",
+"J9 c #ff5e5e",
+"K9 c #ff5f5f",
+"L9 c #ff6060",
+"M9 c #d93736",
+"N9 c #a30505",
+"O9 c #c15f5f",
+"P9 c #f3dede",
+"Q9 c #ce7f7f",
+"R9 c #9d0000",
+"S9 c #d93634",
+"T9 c #ff6968",
+"U9 c #ff8c8c",
+"V9 c #ffe4e4",
+"W9 c #fff5f5",
+"X9 c #ff9f9f",
+"Y9 c #ff6464",
+"Z9 c #ff6565",
+"a9 c #ff6666",
+"b9 c #ff6767",
+"c9 c #ff6868",
+"d9 c #ff6867",
+"e9 c #f25250",
+"f9 c #ba1b1a",
+"g9 c #a81f1f",
+"h9 c #b43f3f",
+"i9 c #ae2f2f",
+"j9 c #9c0000",
+"k9 c #b41615",
+"l9 c #ec4d4b",
+"m9 c #ff7170",
+"n9 c #ff7373",
+"o9 c #ff7474",
+"p9 c #ff9c9c",
+"q9 c #ffa5a5",
+"r9 c #fff6f6",
+"s9 c #ffbfbf",
+"t9 c #ff9797",
+"u9 c #ff6c6c",
+"v9 c #ff6d6d",
+"w9 c #ff6e6e",
+"x9 c #ff6f6f",
+"y9 c #ff7070",
+"z9 c #ff7171",
+"0: c #ff6c6b",
+"1: c #f25856",
+"2: c #cc2d2b",
+"3: c #df4341",
+"4: c #f25a58",
+"5: c #ff706f",
+"6: c #ffa8a8",
+"7: c #ffc5c5",
+"8: c #ffe2e2",
+"9: c #ffbcbc",
+":: c #ff7575",
+";: c #ff7676",
+"A: c #ff7777",
+"B: c #ff7878",
+"C: c #ff7979",
+"D: c #ff7a7a",
+"E: c #ff7b7b",
+"F: c #ff7c7c",
+"G: c #ff7d7d",
+"H: c #ff7e7e",
+"I: c #ff9393",
+"J: c #ffadad",
+"K: c #ffc1c1",
+"L: c #ffe3e3",
+"M: c #ffecec",
+"N: c #ffc0c0",
+"O: c #ff9e9e",
+"P: c #ff8989",
+"Q: c #ff7f7f",
+"R: c #ff8080",
+"S: c #ff8181",
+"T: c #ff8282",
+"U: c #ff8383",
+"V: c #ff8484",
+"W: c #ff8585",
+"X: c #ff8686",
+"Y: c #ff8787",
+"Z: c #ff9292",
+"a: c #ffb4b4",
+"b: c #ffcece",
+"c: c #ffe8e8",
+"d: c #fff3f3",
+"e: c #ffdede",
+"f: c #ffcfcf",
+"g: c #ffbdbd",
+"h: c #ffb3b3",
+"i: c #ffb0b0",
+"j: c #ffa6a6",
+"k: c #ffa7a7",
+"l: c #ffafaf",
+"m: c #ffb6b6",
+"n: c #ffc8c8",
+"o: c #ffd2d2",
+"p: c #ffe1e1",
+"q: c #fff4f4",
+"r: c #fff8f8",
+"s: c #fff1f1",
+"t: c #ffeaea",
+"u: c #ffffff",
+" u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:t:s:s:s:s:t:r:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:q:p:o:n:m:l:k:k:j:j:i:h:g:f:e:d:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:u:u:u:u:c:b:a:j:Z:Y:X:W:V:U:T:S:R:R:Q:P:O:l:N:M:u:u:u:u:u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:u:u:L:K:J:I:T:S:R:Q:Q:H:G:F:E:D:C:C:B:A:;:::T:O:9:8:u:u:u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:u:7:6:Z:G:F:E:D:C:B:5:4:3:2:2:3:1:0:z9y9x9w9v9u9G:t9s9u:u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:r9q9p9G:;:;:::o9n9m9l9k9j9i9h9h9g9j9f9e9d9c9b9a9Z9Y9b9X:X9W9u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:V9O:U9o9y9x9x9w9v9T9S9R9Q9P9u:u:u:u:P9O9N9M9L9L9K9J9I9I9H9C:G9q:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:r9F9V:E9D9C9c9b9b9a9B9A9;9u:u:u:u:u:u:u:u::9998979695949393929x919q:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:09T:b9Y9z8y8x8L9L9w8v8u8u:u:u:u:u:u:u:u:u:u:t8v8s8r8q8p8o8o8n8m8Z9V:u:u:u:u:u:u:u:",
+" u:u:u:u:u:k:E:x8J9I9H9l8k87969j8i8u:u:u:u:u:u:u:u:u:u:u:u:h8g8f8e8d8c8c8b8a8b8K9Z8u:u:u:u:u:u:",
+" u:u:u:u:Y8D9x85959493929X8W8V8U8T8u:u:u:u:u:u:u:u:u:u:u:u:S8R8Q8P8O8O8N8M8L8K8J8o8I8u:u:u:u:u:",
+" u:u:u:u:::z8r8q8q8p8o8n8m8H8G8F8u:u:u:u:u:u:u:u:u:u:u:u:u:E8D8C8B8A8A8;8:8988888c8D9u:u:u:u:u:",
+" u:u:u:7879o8f8e8e8d8c8b8a8685848u:u:u:u:u:u:u:u:u:u:u:u:u:u:3858281808z7y7x7w7w7y7B8v7u:u:u:u:",
+" u:u:u:;:q868J8P8P8O8N8M8L8u7t7s7u:u:u:u:u:u:u:u:u:u:u:u:u:u:r7q7p7o7n7m7l7l7k7j7i7z7C9u:u:u:u:",
+" u:u:h7a8O8K8K8g7B8A8;8:898f7e7d7u:u:u:u:u:u:u:u:u:u:u:u:u:u:c7e7b7a7Z7Z7Y7X7W7V7V7X7Y78:u:u:u:",
+" u:u:U7L8988888T71808z7z7y7S7R7Q7u:u:u:u:u:u:u:u:u:u:u:u:u:u:d7R7P7O7N7M7L7L7K7J7J7I7H7G7u:u:u:",
+" u:u:69T7x7x7w7F7o7n7n7m7l7E7D7u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:D7C7I7I7B7B7A7;7:7:7978777u:u:u:",
+" u:u:o7m7l7k7j7i7i7a7Z7Y7X76757u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:473727170707z6y6y6x6w6v6u6u:u:u:",
+" u:n:a7Y7X7W7W7V7O7N7M7M7L7t6s6u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:r6t6q6p6p6o6n6m6m6l6k6j6i6h6u:u:",
+" u:g6N7M7L7K7J7J7I7I7f6B7A7e6d6u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:d6e6c6b6b6a6Z6Z6Y6X6W6V6U6T6u:u:",
+" u:S6f6B7A7;7:7:79717R607Q6P6O6u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:O6N6M6V6U6L6K6J6I6H6G6F6E6D6u:u:",
+" u:C60707z6y6y6x6w6p6p6o6B6A6;6u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:;6:696F6E6868676665646363626u:u:",
+" u:1606o6n6z5m6l6k6j6b6a6y5x5w5u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:w5v5u536t5s5r5q5p5o5n5m5l5k5u:u:",
+" u:j5i5a6h5Z6Y6X6W6V6U6U6g5f5w5u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:w5e5d5m5c5b5a5a5Z5Y5X5X5W5V5u:u:",
+" u:U5T5L6K6J6I6I6G6F6E6S586R5Q5u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:Q5R5P5O5N5M5L5K5J5I5I5H5G5F5u:u:",
+" u:E5D5S586767656463636s5r5C5B5u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:A5C5;5H5:5958575656555453525u:u:",
+" u:1505s5r5q5p5o5n5n5c5b5a5z4y4u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:x4:5w445v4v4u4t4t4s4r4q4p4o4u:u:",
+" u:n4m4b5a5a5Z5Y5Y5X5N5M5M5l4k4u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:k4j4r4q4q4i4h4g4g4f4e4d4c4u:u:u:",
+" u:u:b4a4M5K5J5I5I5H5:5:595Z4Y4u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:X4Y4W4e4e4V4U4U4T4v5v5:6S4R4u:u:u:",
+" u:u:Q4P495756565554545v4u4O4N4M4u:u:u:u:u:u:u:u:u:u:u:u:u:u:M4N4L4:6K4K4J4I4I4H4H4r6G4F4u:u:u:",
+" u:u:E4D4u4t4t4s4r4q4q4i4h4C4B4A4u:u:u:u:u:u:u:u:u:u:u:u:u:u:;4:4:5r6474794D7D7R7R7847464u:u:u:",
+" u:u:544434g4g4f4e4e4V4V4U4f42414u:u:u:u:u:u:u:u:u:u:u:u:u:u:04z3y384e7e7q7x3x3w3D8v3u3u:u:u:u:",
+" u:u:u:t3s3T4v5v5:6:6K4J4J4I4r3q3u:u:u:u:u:u:u:u:u:u:u:u:u:u:q3p3D8D8o3n3n3m3m3l3k3j3i3u:u:u:u:",
+" u:u:u:h3g3f3H4H4r647479494D7e3d3c3u:u:u:u:u:u:u:u:u:u:u:u:b3d3a3k3k399Z3Z3R9j9j9Y3X3W3u:u:u:u:",
+" u:u:u:u:V3U3R7R784e7e7q7q7x3T3S3R3u:u:u:u:u:u:u:u:u:u:u:u:Q3P3O3N3M3M3L3L3K3J3J3I3H3u:u:u:u:u:",
+" u:u:u:u:G3F3E3D8D8o3o3n3m3m3l3D3C3u:u:u:u:u:u:u:u:u:u:u:c3B3A3J3;3:3:393838373635343u:u:u:u:u:",
+" u:u:u:u:u:332313k399Z3Z3R9R9j9k303z2u:u:u:u:u:u:u:u:u:u:y2x2w2v2v2u2u2t2s2s2r2q2p2u:u:u:u:u:u:",
+" u:u:u:u:u:o2n223m2M3L3L3K3K3J3;3l2k2j2u:u:u:u:u:u:u:u:j2i2h2g2f2f2e2d2d2c2b2a2Z2u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:Y2X2W2V29393837373v2v2D7U2T2c3u:u:u:u:c3S2R2Q2P2P2O2O2N2M2M2L2a2K2J2u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:I2H2W2G2t2s2s2g2f2f2e2x3F2E2D2C2C2B2R2A2n3;2;2:292928282726252J2u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:423222120202z1y1y1x1x1w1v1r4u1u1e5t1s1r1q1q1p1p1o1o1n1m1l1J2u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:k1j1i1h1g1f1e1e1d1d1c1c1b1b1a1a1Z1Z1Y1X1X1W1W1V1U1T1S1R1u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:Q1P1O1N1M1L1K1J1I1H1H1G1F1F1E1E1E1D1D1C1C1B1B1A1;1:191817161R1u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:R1514131211101z0y0x0w0v0u0u0t0t0t0s0s0r0t0q0p0o0n0m0l0k0j0O171i0u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:h0g0f0e0d0c0b0a0Z0Y0X0W0V0U0T0S0U0U0R0Q0P0O0N0M0L0K0J0I0H0G0u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:u:i0F0P1E0D0C0B0A0;0:090807060509040;0A021302010g000h0u:u:u:u:u:u:u:u:u:u:u:",
+" u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:u:"};
diff --git a/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/tilda.Tilda.xpm b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/tilda.Tilda.xpm
new file mode 100644
index 0000000..3ce97e5
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/CachedPixmaps/tilda.Tilda.xpm
@@ -0,0 +1,239 @@
+/* XPM */
+static char *image[] = {
+"48 48 188 2",
+" c None",
+"00 c #3b3b3b",
+"10 c #212121",
+"20 c #ececec",
+"30 c #f8f8f8",
+"40 c #f3f3f3",
+"50 c #e4e4e4",
+"60 c #efefef",
+"70 c #dfdfdf",
+"80 c #eaeaea",
+"90 c #dbdbdb",
+":0 c #e5e5e5",
+";0 c #484848",
+"A0 c #c3c3c3",
+"B0 c #666666",
+"C0 c #939393",
+"D0 c #d9d9d9",
+"E0 c #0f0f0f",
+"F0 c #121212",
+"G0 c #2c2c2c",
+"H0 c #1e1e1e",
+"I0 c #171717",
+"J0 c #161616",
+"K0 c #d4d4d4",
+"L0 c #cdcdcd",
+"M0 c #bdbdbd",
+"N0 c #616161",
+"O0 c #0d0d0d",
+"P0 c #d7d7d7",
+"Q0 c #8e8e8e",
+"R0 c #cacaca",
+"S0 c #d1d1d1",
+"T0 c #575757",
+"U0 c #d3d3d3",
+"V0 c #434343",
+"W0 c #cccccc",
+"X0 c #cecece",
+"Y0 c #8a8a8a",
+"Z0 c #626262",
+"a0 c #c9c9c9",
+"b0 c #bcbcbc",
+"c0 c #ababab",
+"d0 c #090909",
+"e0 c #3d3d3d",
+"f0 c #757575",
+"g0 c #b5b5b5",
+"h0 c #c5c5c5",
+"i0 c #868686",
+"j0 c #585858",
+"k0 c #404040",
+"l0 c #737373",
+"m0 c #565656",
+"n0 c #574400",
+"o0 c #967600",
+"p0 c #a98500",
+"q0 c #8c6e00",
+"r0 c #413300",
+"s0 c #272727",
+"t0 c #505050",
+"u0 c #999999",
+"v0 c #c0c0c0",
+"w0 c #b3b3b3",
+"x0 c #1a1a1a",
+"y0 c #0c0c0c",
+"z0 c #b6b6b6",
+"01 c #919191",
+"11 c #3a2d00",
+"21 c #a78300",
+"31 c #c89d00",
+"41 c #c79c00",
+"51 c #d6a800",
+"61 c #cfa200",
+"71 c #d7a900",
+"81 c #ad8800",
+"91 c #110d00",
+":1 c #bbbbbb",
+";1 c #818181",
+"A1 c #9e9e9e",
+"B1 c #080600",
+"C1 c #bf9600",
+"D1 c #fdc600",
+"E1 c #aa8500",
+"F1 c #5b5b5b",
+"G1 c #b7b7b7",
+"H1 c #030303",
+"I1 c #706026",
+"J1 c #fcc809",
+"K1 c #fcc80c",
+"L1 c #6c623d",
+"M1 c #383838",
+"N1 c #b2b2b2",
+"O1 c #7d7d7d",
+"P1 c #4e4e4e",
+"Q1 c #050505",
+"R1 c #4e472d",
+"S1 c #b49110",
+"T1 c #fec908",
+"U1 c #ffc800",
+"V1 c #ffc801",
+"W1 c #c39c0c",
+"X1 c #413818",
+"Y1 c #dddddd",
+"Z1 c #191919",
+"a1 c #aeaeae",
+"b1 c #8f8f8f",
+"c1 c #414141",
+"d1 c #b9b9b9",
+"e1 c #b6b5b1",
+"f1 c #676149",
+"g1 c #c8c6be",
+"h1 c #a1a1a1",
+"i1 c #5d5d5d",
+"j1 c #a9a9a9",
+"k1 c #797979",
+"l1 c #9d9d9d",
+"m1 c #474747",
+"n1 c #070707",
+"o1 c #e2e2e2",
+"p1 c #262626",
+"q1 c #e8e8e8",
+"r1 c #141414",
+"s1 c #a4a4a4",
+"t1 c #717171",
+"u1 c #0e0e0e",
+"v1 c #f0f0f0",
+"w1 c #bfbfbf",
+"x1 c #d2d2d2",
+"y1 c #aaaaaa",
+"z1 c #e1e1e1",
+"02 c #c7c7c7",
+"12 c #f5f5f5",
+"22 c #1c1c1c",
+"32 c #9a9a9a",
+"42 c #a0a0a0",
+"52 c #747474",
+"62 c #959595",
+"72 c #787878",
+"82 c #343434",
+"92 c #7c7c7c",
+":2 c #979797",
+";2 c #3a3a3a",
+"A2 c #0a0a0a",
+"B2 c #9b9b9b",
+"C2 c #727272",
+"D2 c #909090",
+"E2 c #1d1d1d",
+"F2 c #707070",
+"G2 c #8c8c8c",
+"H2 c #111111",
+"I2 c #929292",
+"J2 c #6e6e6e",
+"K2 c #4c4c4c",
+"L2 c #060606",
+"M2 c #7e7e7e",
+"N2 c #8d8d8d",
+"O2 c #6b6b6b",
+"P2 c #838383",
+"Q2 c #858585",
+"R2 c #020202",
+"S2 c #5a5a5a",
+"T2 c #888888",
+"U2 c #696969",
+"V2 c #808080",
+"W2 c #080808",
+"X2 c #000000",
+"Y2 c #010101",
+"Z2 c #848484",
+"a2 c #636363",
+"b2 c #555555",
+"c2 c #5e5e5e",
+"d2 c #767676",
+"e2 c #7f7f7f",
+"f2 c #656565",
+"g2 c #a8a8a8",
+"h2 c #7b7b7b",
+"i2 c #acacac",
+"j2 c #dcdcdc",
+"k2 c #e7e7e7",
+"l2 c #969696",
+"m2 c #6a6a6a",
+"n2 c #dedede",
+"o2 c #afafaf",
+"p2 c #b8b8b8",
+"q2 c #ffffff",
+"r2 c #363636",
+"s2 c #3e3e3e",
+"t2 c #676767",
+"u2 c #222222",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" u2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2s2 ",
+" r2q2p2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2n2m2 ",
+" r2q2l2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2j2i2m2 ",
+" r2q2h2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2g2i2m2 ",
+" r2q2f2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c2b2b2a2h2e2e2e2e2e2e2e2e2e2e2e2e2e2e2h2i2m2 ",
+" r2q2t2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2t2u2Y2X2X2X2X2W2s2V2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2e2i2m2 ",
+" r2q2U2T2T2T2T2T2T2T2T2T2T2T2T2T2T2S2R2X2X2X2X2X2X2X2X2u2Q2T2T2T2T2T2T2T2T2T2T2T2P2i2m2 ",
+" r2q2O2N2N2N2N2N2N2N2N2N2N2N2N2N2M2L2X2X2X2X2X2X2X2X2X2X2K2N2N2N2N2N2N2N2N2N2N2N2T2i2m2 ",
+" r2q2J2I2I2I2I2I2I2I2I2I2I2I2I2I2K2X2X2X2X2X2X2X2X2X2X2X2H2I2I2I2I2I2I2I2I2I2I2I2G2i2m2 ",
+" r2q2F2l2l2l2l2l2l2l2l2l2l2l2l2l2E2X2X2X2X2X2X2X2X2X2X2X2X2P2l2l2l2l2l2l2l2l2l2l2D2i2m2 ",
+" r2q2C2B2B2B2B2B2B2B2B2B2B2B2B2B2A2X2;2:2U2R2X2W292B282X2X272B2B2B2B2B2B2B2B2B2B262i2m2 ",
+" r2q25242424242424242424242424232X2221202z1G2X2y1x1w1v1u1X2t14242424242424242424232i2m2 ",
+" r2q2d2s1s1s1s1s1s1s1s1s1s1s1s1s1X2a202Y2r1q1p1o1n1Y2x1m1X292s1s1s1s1s1s1s1s1s1s1l1i2m2 ",
+" r2q2k1j1j1j1j1j1j1j1j1j1j1j1j1j1n1i1h1X2X2g1f1e1X2X2d1c1X2b1j1j1j1j1j1j1j1j1j1h1M2i2m2 ",
+" r2q2h2a1a1a1a1a1a1a1a1a1a1a1a1a1E2Z1Y1X1W1V1U1T1S1R1Y1A2Q1y1a1a1a1a1a1a1a1a1a1P1d2i2m2 ",
+" r2q2O1N1N1N1N1N1N1N1N1N1N1N1N1N1M1X2L1K1U1U1U1U1U1J1I1X2p1N1N1N1N1N1N1N1N1N1b1H1Q2i2m2 ",
+" r2q2e2G1G1G1G1G1G1G1G1G1G1G1G1G1F1X2E1U1U1U1U1U1U1D1C1B1b2G1G1G1G1G1G1G1G1A1r1X2h1i2m2 ",
+" r2q2;1:1:1:1:1:1:1:1:1:1:1:1:1:1Q2X2918171615141312111X201:1:1:1:1:1:1z0C2y0X2x0w0i2m2 ",
+" r2q2P2v0v0v0v0v0v0v0v0v0:1u052t0s0X2X2X2r0q0p0o0n0B1X2R2m0U272h2l0t2k0H2X2X2X2j0p2i2m2 ",
+" r2q2i0h0h0h0h0h0h0g0f0e0d0X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2Q1c0b0i2m2 ",
+" r2q2T2a0a0a0a0j1K2L2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2Z0a0v0i2m2 ",
+" r2q2Y0X0X0W0O2Q1X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2V0W0X0h0i2m2 ",
+" r2q2G2U0U0T0X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2H1f2S0U0U0R0i2m2 ",
+" r2q2Q0P0P2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2O0N0M0P0P0P0P0L0i2m2 ",
+" r2q201K0J0X2X2X2X2X2X2R2I0H0G0G0G0G0G0G0H0E2E2F0E0E0J0E2s0k0m0h2o2D0j2j2j2j2j2j2x1i2m2 ",
+" r2q2C032X2X2X2G0B0h1A0j2z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1z1P0i2m2 ",
+" r2q262F1R2;0G1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:090i2m2 ",
+" r2q2:2c1c0808080808080808080808080808080808080808080808080808080808080808080808070i2m2 ",
+" r2q2u0W060606060606060606060606060606060606060606060606060606060606060606060606050i2m2 ",
+" r2q2B240404040404040404040404040404040404040404040404040404040404040404040404040q1i2m2 ",
+" r2q2A13030303030303030303030303030303030303030303030303030303030303030303030303020i2m2 ",
+" r2q2B26060606060606060606060606060606060606060606060606060606060606060606060606050i2m2 ",
+" r2q2p2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2o2n2m2 ",
+" 10c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c200 ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README
new file mode 100644
index 0000000..4ecde51
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README
@@ -0,0 +1,80 @@
+
+
+The file named menu is the menu in the plain text file format. The files
+named menu.?? (?? are 2 characters, such as pt) are translations of the
+same menu. Plain text menus are preprocessed using cpp (the C Pre-Processor),
+so you can use cpp macros in it.
+
+The plmenu file is the same menu, but in the property list format.
+This menu can be edited with WPrefs.app, but since WPrefs.app does not
+support XIM, it will not allow you to make menus in languages such as
+Japanese.
+
+To use the menu in the property list format (plmenu), just replace the
+~/GNUstep/Defaults/WMRootMenu with it. To use the plain text menu,
+place the path for the menu in ~/GNUstep/Defaults/WMRootMenu, enclosed
+in double quotes ("). Ex: "~/GNUstep/Library/WindowMaker/menu"
+
+Instructions for editing the plain text menus can be found in the menu
+file itself, kindly translated to your tongue for your convenience, by
+the translation contributors.
+
+There is a script to convert plain text menus to property list menus
+in the utils directory, named wm-oldmenu2new.
+
+If you are unsure to wich format to use, stick with the plain text menus
+as they are more flexible. If for some psychological reason you are
+scared by text based configuration, use the property list menu.
+
+
+Localized menu file translators:
+--------------------------------
+
+File Language Maintainer
+------------------------------------------------------------------------------
+menu.ja Japanese MANOME Tomonori <manome@itlb.te.noda.sut.ac.jp>
+ ABE Shige <sabe@ibm.net>
+menu.pt Portuguese Alfredo K. Kojima <kojima@inf.ufrgs.br>
+menu.de German Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
+menu.nl Dutch Roeland Mertens <roeland@zeus.rug.ac.be>
+menu.cz Czech David ©auer <xsauer@hwlab.felk.cvut.cz>
+menu.ko Korean Chae-Yong Chong <cychong@metro.telecom.samsung.co.kr>
+ Byeong-Chan Kim <redhands@linux.sarang.net>
+menu.gl Galician Xose Vazquez <xose@arrakis.es>
+menu.fr French ObiTuarY <obituary@freshmeat.net>
+menu.it Italian Roberto Checozzo <croberto@aerre.it>
+menu.ru Russian August S.Sigov <freedomain@actor.ru>
+menu.es Spanish Rodrigo Hornos Prados <tnetrhp@ctv.es>
+ José Luis Rivas López <jrivas@ares.ipf.uvigo.es>
+menu.he Hebrew Please send me your name/email if you wrote this
+ We unfortunately lost that info :(
+menu.tr Turkish F. Kagan Gurkaynak <kgf@wpi.edu>
+menu.fi Finnish Ville Hautamaki <villeh@photon.joensuu.fi>
+menu.se Swdish Andreas Persenius <andreas@alfaskop.net>
+menu.hr Croatian Toni Bilic <tbilic@efos.hr>
+menu.el Greek Nikolaos Papagrigoriou <papanikos@usa.net>
+menu.dk Danish John M. Lockard <jlockard@math.lsa.umich.edu>
+ Jacob Sparre Andersen <sparre@cats.nbi.dk>
+menu.sl Slovene Alen Salamun <snowman@hal9000.medinet.si>
+menu.hu Hungarian Csanaki Csaba <prew@mail.matav.hu>
+menu.ca Català Carles Amig<F3> dj_fr3nd@hotmail.com
+menu.zh_TW.Big5 Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
+menu.zh_CN Chinese Wang Jian <wangjian2@asiainfo.com>
+menu.pl Polish Maciej Friedel <tytus@tytus.itma.pwr.wroc.pl>
+menu.bg Bulgarian Slavei Karadjov <slaff@exco.net>
+menu.sk Slovak judas@hell <tomka@oalevice.sk>
+
+
+
+plmenu.da Danish Birger Langkjer <birger.langkjer@image.dk>
+plmenu.zh_CN Chinese Wang Jian <wangjian2@asiainfo.com>
+plmenu.hr Croatian Toni Bilic <tbilic@efos.hr>
+plmenu.it Italian Michele Campeotto <micampe@tv.record.unipd.it>
+plmenu.de German Matthias Warkus <mawarkus@t-online.de>
+plmenu.pl Polish Maciej Friedel <tytus@tytus.itma.pwr.wroc.pl>
+plmenu.ko Korean Byeong-Chan Kim <redhands@linux.sarang.net>
+plemnu.es Spanish David A. Schekaiban <nb@zaz.net>
+plmenu.bg Bulgarian Slavei Karadjov <slaff@exco.net>
+plmenu.sk Slovak judas@hell <tomka@oalevice.sk>
+plmenu.ja Japanese Seiichi SATO <sato@cvs-net.co.jp>
+
diff --git a/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README.themes b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README.themes
new file mode 100644
index 0000000..d7327ac
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/README.themes
@@ -0,0 +1,95 @@
+
+
+
+Themes For Window Maker
+=======================
+
+Note: the information contained in this file is only valid for themes
+in the .themed (for theme directory) format, supported in
+Window Maker 0.20.4 or newer.
+
+
+How To Install a Theme Pack
+===========================
+
+To install a theme, unpack your theme into your WindowMaker directory
+(the same as old-style themes), usually ~/GNUstep/Library/WindowMaker
+
+cd ~/GNUstep/Library/WindowMaker
+gzip -dc "xyztheme.tar.gz" | tar xvf -
+
+You can also do this in your system-wide WindowMaker directory (usually
+/usr/local/share/WindowMaker) to have the themes be available to all
+your users. This will probably need to be done with root access.
+
+
+How To Load a Theme
+===================
+
+Use the setstyle command to load a theme. Example:
+
+setstyle xyztheme.themed
+
+Note that if you move the directory of the theme (for example, from
+~/GNUstep/Library/WindowMaker/Themes to /usr/local/share/WindowMaker/Themes)
+you will have to reload that theme so that path information is updated.
+
+
+How To Make a Theme Pack
+========================
+
+To create a theme pack from your current configuration, use the getstyle
+utility with the -p flag. Example:
+
+getstyle -p ~/GNUstep/Library/WindowMaker/Themes/MyTheme
+
+This will create a theme pack (a new directory in either the current
+directory or a directory you specify) named MyTheme.themed, containing
+everything it requires, including all pixmap files. In this example,
+the new theme pack would be made in your themes directory and be
+immediately available in your Themes menu.
+
+Additionally, you can put a text file named MyTheme.lsm in the MyTheme.themed
+directory. This file can contain info like copyrights, credits or whatever.
+
+To distribute your theme, just make a .tar.gz of the .themed directory.
+This is preferably done from the same directory that you unpack the themes
+from to maintain consistancy with the old theme format.
+
+Example:
+
+cd ~/GNUstep/Library/WindowMaker
+tar cvf MyTheme.tar Themes/MyTheme.themed
+gzip MyTheme.tar
+
+
+How To Delete a Theme Pack
+==========================
+
+Just remove the .themed directory. Example:
+
+cd ~/GNUstep/Library/WindowMaker/Themes
+rm -fr themename.themed
+
+
+How To Save Disk Space
+======================
+
+If you have more than 1 theme that use the same huge background image,
+you can delete all the duplicated files and then create hard links in
+place of them. For example, if you have:
+
+theme1.themed/back.jpg
+
+theme2.themed/backimage.jpg
+
+theme3.themed/back.jpg
+
+and all three files contain the same image, you can do:
+
+rm theme2.themed/backimage.jpg
+rm theme3.themed/back.jpg
+ln theme1.themed/back.jpg theme2.themed/backimage.jpg
+ln theme1.themed/back.jpg theme3.themed/back.jpg
+
+
diff --git a/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/autostart b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/autostart
new file mode 100644
index 0000000..9cb23ff
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/autostart
@@ -0,0 +1,18 @@
+#!/bin/sh
+#
+# Place applications to be executed when WindowMaker is started here.
+# This should only be used for non-X applications or applications that
+# do not support session management. Other applications should be restarted
+# by the WindowMaker session restoring mechanism. For that, you should
+# either set SaveSessionOnExit=YES or select "Save Session" in the Workspace
+# submenu of the root menu when all applications you want started are
+# running.
+#
+# WindowMaker will wait until this script finishes, so if you run any
+# commands that take long to execute (like a xterm), put a ``&'' in the
+# end of the command line.
+#
+# This file must be executable.
+#
+xset m 20/10 4
+
diff --git a/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/exitscript b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/exitscript
new file mode 100644
index 0000000..57cd570
--- /dev/null
+++ b/abs/core/wmaker_settings/GNUstep/Library/WindowMaker/exitscript
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# Place commands to be executed when WindowMaker is exited here.
+#
+# WindowMaker will wait until this script finishes, so if you run any
+# commands that take long to execute (like a xterm), put a ``&'' in the
+# end of the command line.
+#
+# This file must be executable.
+#
+
diff --git a/abs/core/wmaker_settings/PKGBUILD b/abs/core/wmaker_settings/PKGBUILD
new file mode 100644
index 0000000..e57b817
--- /dev/null
+++ b/abs/core/wmaker_settings/PKGBUILD
@@ -0,0 +1,19 @@
+pkgname=wmaker_settings
+pkgver=1.0
+pkgrel=3
+pkgdesc="Default settings for windowmaker+ theme"
+depends=(windowmaker)
+source=()
+arch=('i686')
+groups=(alt_wm)
+install=wmaker_settings.install
+configdir=/data/
+build() {
+ echo $startdir
+ mkdir -p $pkgdir/$configdir
+ rsync -arp --exclude=.svn $startdir/GNUstep $pkgdir/$configdir
+ mkdir -p $pkgdir/usr/share/WindowMaker/Themes/
+ rsync -arp $startdir/linhes.themed $pkgdir/usr/share/WindowMaker/Themes/
+}
+
+md5sums=()
diff --git a/abs/core/wmaker_settings/linhes.themed/README b/abs/core/wmaker_settings/linhes.themed/README
new file mode 100644
index 0000000..67e433e
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/README
@@ -0,0 +1,58 @@
+----------------------------------------------------------------
+Srinagar: A Theme for Window Maker
+----------------------------------------------------------------
+DESCRIPTION:
+
+Mountains reflecting off the serene Dal Lake in Srinagar,
+Kashmir, appear to engulf two fishermen.[=]
+----------------------------------------------------------------
+CREDITS:
+
+Photo by Steve McCurry, 1998. Copyright: National Geographic
+Society, 2005.
+----------------------------------------------------------------
+COPYRIGHT:
+
+Copyright for all elements of this theme, not superseding any
+rights governing workspace background images expressed or
+implied by the foregoing CREDITS section, is claimed by Jess
+Anderson (anderson@wisc.edu), 2002, 2003, 2004, 2005, 2006.
+----------------------------------------------------------------
+COPYING:
+
+This theme, including its constituent parts, is free software;
+you can redistribute it and/or modify it under the terms of the
+GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This theme is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+If you redistribute this theme or any of its constituent parts,
+please be sure to include the CREDITS, COPYRIGHT and COPYING
+sections (at least) of this README.
+----------------------------------------------------------------
+UNPACKING:
+
+Files named [name].tar.gz are gzipped tar archives. With
+GNUtar, you can unpack them in one step:
+
+ tar zxvf [name].tar.gz
+
+With other versions of tar, in two steps
+
+ gunzip [name].tar.gz or gzip -d [name].tar.gz
+ tar xvf [name].tar
+
+Theme archives unpack into a new subdirectory of the current
+directory named [name].themed, which contains the style,
+workspace background and other files associated with that
+theme.
+
+Background archives unpack directly into the current directory
+and contain only the background image file and the associated
+README.
+----------------------------------------------------------------
diff --git a/abs/core/wmaker_settings/linhes.themed/about.lsm b/abs/core/wmaker_settings/linhes.themed/about.lsm
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/about.lsm
diff --git a/abs/core/wmaker_settings/linhes.themed/background.png b/abs/core/wmaker_settings/linhes.themed/background.png
new file mode 100644
index 0000000..5c99ef7
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/background.png
Binary files differ
diff --git a/abs/core/wmaker_settings/linhes.themed/bar.jpg b/abs/core/wmaker_settings/linhes.themed/bar.jpg
new file mode 100644
index 0000000..32436f4
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/bar.jpg
Binary files differ
diff --git a/abs/core/wmaker_settings/linhes.themed/credits.lsm b/abs/core/wmaker_settings/linhes.themed/credits.lsm
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/credits.lsm
diff --git a/abs/core/wmaker_settings/linhes.themed/menutext.jpg b/abs/core/wmaker_settings/linhes.themed/menutext.jpg
new file mode 100644
index 0000000..988cb3f
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/menutext.jpg
Binary files differ
diff --git a/abs/core/wmaker_settings/linhes.themed/style b/abs/core/wmaker_settings/linhes.themed/style
new file mode 100644
index 0000000..f4a11a1
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/style
@@ -0,0 +1,34 @@
+{
+ CClipTitleColor = gray70;
+ ClipTitleColor = white;
+ ClipTitleFont = "-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*";
+ DisplayFont = "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*";
+ FTitleBack = (spixmap, bar.jpg, gray30);
+ FTitleColor = white;
+ HighlightColor = gray70;
+ HighlightTextColor = black;
+ IconBack = (spixmap, tile.jpg, black);
+ IconTitleBack = gray30;
+ IconTitleColor = white;
+ IconTitleFont = "-*-helvetica-medium-r-*-*-8-*-*-*-*-*-*-*";
+ LargeDisplayFont = "-*-courier-bold-r-*-*-48-*-*-*-*-*-*-*";
+ MenuDisabledColor = gray30;
+ MenuStyle = normal;
+ MenuTextBack = (spixmap, menutext.jpg, gray30);
+ MenuTextColor = white;
+ MenuTextExtendSpace = 0;
+ MenuTextFont = "-*-helvetica-medium-r-*-*-18-*-*-*-*-*-*-*";
+ MenuTitleBack = (spixmap, bar.jpg, gray30);
+ MenuTitleColor = white;
+ MenuTitleExtendSpace = 0;
+ MenuTitleFont = "-*-helvetica-bold-r-*-*-18-*-*-*-*-*-*-*";
+ PTitleBack = (spixmap, bar.jpg, gray30);
+ PTitleColor = white;
+ ResizebarBack = (spixmap, bar.jpg, gray30);
+ TitleJustify = left;
+ UTitleBack = (spixmap, bar.jpg, gray30);
+ UTitleColor = gray70;
+ WindowTitleExtendSpace = 0;
+ WindowTitleFont = "-*-helvetica-bold-r-*-*-18-*-*-*-*-*-*-*";
+ WorkspaceBack = (spixmap, background.png, gray20);
+}
diff --git a/abs/core/wmaker_settings/linhes.themed/tile.jpg b/abs/core/wmaker_settings/linhes.themed/tile.jpg
new file mode 100644
index 0000000..17612ee
--- /dev/null
+++ b/abs/core/wmaker_settings/linhes.themed/tile.jpg
Binary files differ
diff --git a/abs/core/wmaker_settings/wmaker_settings.install b/abs/core/wmaker_settings/wmaker_settings.install
new file mode 100644
index 0000000..3418844
--- /dev/null
+++ b/abs/core/wmaker_settings/wmaker_settings.install
@@ -0,0 +1,44 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+
+# arg 1: the new package version
+post_install() {
+ chown -R 1000:100 /data/GNUstep
+ setfacl -d -R -m u:1000:rwx /data/GNUstep
+ setfacl -R -m u:1000:rwx /data/GNUstep
+ setfacl -d -R -m o::rwx /data/GNUstep
+ setfacl -R -m o::rwx /data/GNUstep
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ pre_install
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ /bin/true
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/wmctrl/PKGBUILD b/abs/core/wmctrl/PKGBUILD
new file mode 100644
index 0000000..96ca911
--- /dev/null
+++ b/abs/core/wmctrl/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 37711 2011-01-16 22:48:09Z andrea $
+# Maintainer:
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: Dalius <dagis@takas.lt>
+
+pkgname=wmctrl
+pkgver=1.07
+pkgrel=3
+pkgdesc="Control your EWMH compliant window manager from command line"
+url="http://sweb.cz/tripie/utils/wmctrl/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=(libxmu glib2)
+source=(http://sweb.cz/tripie/utils/wmctrl/dist/$pkgname-$pkgver.tar.gz)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+# patch -p1 -i "$srcdir/get_property-x86_64.patch"
+
+ ./configure --prefix=/usr --mandir=$pkgdir/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make prefix="$pkgdir/usr" install
+}
+
+md5sums=('1fe3c7a2caa6071e071ba34f587e1555')
diff --git a/abs/core/xdotool/PKGBUILD b/abs/core/xdotool/PKGBUILD
index 85ee141..0ce58a3 100644
--- a/abs/core/xdotool/PKGBUILD
+++ b/abs/core/xdotool/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 29296 2010-10-12 16:34:27Z foutrelis $
+# $Id: PKGBUILD 48265 2011-05-30 19:01:31Z foutrelis $
# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
# Contributor: Rttommy <rttommy@gmail.com>
pkgname=xdotool
-pkgver=2.20101012.3049
+pkgver=2.20110530.1
pkgrel=1
pkgdesc="Command-line X11 automation tool"
arch=('i686' 'x86_64')
url="http://www.semicomplete.com/projects/xdotool/"
license=('BSD')
-depends=('libxtst')
+depends=('libxtst' 'libxinerama')
source=(http://semicomplete.googlecode.com/files/$pkgname-$pkgver.tar.gz)
-sha1sums=('b57e9b63123f326f0d1c8c43ff66678753d3da0c')
+sha1sums=('bf8372b2e76e8ee3884763cee6e8b3f66bf29aa6')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD
new file mode 100644
index 0000000..560bbeb
--- /dev/null
+++ b/abs/core/xymon/PKGBUILD
@@ -0,0 +1,125 @@
+pkgbase=xymon
+pkgname=(xymonserver xymonclient)
+pkgver=4.3.5
+pkgrel=24
+pkgdesc="Hobbit is a system for monitoring servers and networks. "
+license="GPL"
+arch=('i686' 'x86_64')
+
+url="http://www.xymon.com/"
+
+source=(http://voxel.dl.sourceforge.net/project/xymon/Xymon/4.3.5/xymon-4.3.5.tar.gz hobbitadd.py xymon_ghost_check graph.cfg.diff xymonserver.cfg.diff tasks.d.mv clientlaunch.cfg.patch hobbitstorage.py hbnotes.py hobbit-myth-orphan.sh analysis.cfg hbfunc.py be.png tuner.png tv.png hobbit-mem-myth.sh hobbit_notify.sh alerts.cfg hobbit_myth_data.py logrotate.xymon log_list.sh client-local.cfg.patch)
+depends=(rrdtool fping pcre python graphviz)
+install=xymon.install
+
+build() {
+
+ cd $startdir/src/xymon-$pkgver
+ ENABLESSL=n \
+ ENABLELDAP=n \
+ ENABLELDAPSSL=n \
+ XYMONUSER=nobody \
+ XYMONTOPDIR=/data/srv/xymon \
+ XYMONVAR=/data/srv/xymon/var \
+ XYMONHOSTURL=/xymon \
+ CGIDIR=/data/srv/httpd/htdocs/xymon/hobbit-cgi \
+ XYMONCGIURL=/xymon/hobbit-cgi \
+ SECURECGIDIR=/data/srv/httpd/htdocs/xymon/hobbit-seccgi \
+ SECUREXYMONCGIURL=/xymon/hobbit-seccgi \
+ HTTPDGID=nobody \
+ XYMONLOGDIR=/var/log/hobbit \
+ XYMONHOSTNAME=localhost \
+ XYMONHOSTIP=127.0.0.1 \
+ MANROOT=/usr/share/man \
+ BARS=all \
+ USENEWHIST=y \
+ PIXELCOUNT=960 \
+ INSTALLBINDIR=/data/srv/xymon/server/bin \
+ INSTALLETCDIR=/data/srv/xymon/etc \
+ INSTALLWEBDIR=/data/srv/xymon/web \
+ INSTALLEXTDIR=/data/srv/xymon/server/ext \
+ INSTALLTMPDIR=/data/srv/xymon/tmp \
+ INSTALLWWWDIR=/data/srv/httpd/htdocs/xymon/ \
+ ./configure
+
+ make PKGBUILD=1|| return 1
+}
+
+package_xymonserver(){
+ cd $startdir/src/xymon-$pkgver
+ make PKGBUILD=1 INSTALLROOT=$startdir/pkg/xymonserver install
+ cd $startdir/src
+ install -D -m755 $startdir/src/hobbitadd.py $startdir/pkg/xymonserver/data/srv/xymon/server/bin/hobbitadd.py
+ install -D -m755 $startdir/src/hobbitstorage.py $startdir/pkg/xymonserver/data/srv/xymon/server/ext/hobbitstorage.py
+ install -D -m755 $startdir/src/hobbit-myth-orphan.sh $startdir/pkg/xymonserver/data/srv/xymon/server/ext/hobbit-myth-orphan.sh
+ install -D -m755 $startdir/src/hbfunc.py $startdir/pkg/xymonserver/data/srv/xymon/server/ext/hbfunc.py
+ install -D -m755 $startdir/src/hbnotes.py $startdir/pkg/xymonserver/data/srv/xymon/server/ext/hbnotes.py
+ install -D -m755 $startdir/src/hobbit_myth_data.py $startdir/pkg/xymonserver/data/srv/xymon/server/ext/hobbit_myth_data.py
+ install -D -m755 $startdir/src/hobbit-mem-myth.sh $startdir/pkg/xymonserver/data/srv/xymon/server/ext/hobbit-mem-myth.sh
+ install -D -m755 $startdir/src/log_list.sh $startdir/pkg/xymonserver/data/srv/xymon/client/bin/log_list.sh
+
+# install -D -m755 xymon_ghost_check $startdir/pkg/xymonserver/etc/cron.tenminutes/xymon_ghost_check
+ install -m755 analysis.cfg $startdir/pkg/xymonserver/data/srv/xymon/etc/analysis.cfg
+ cat alerts.cfg >> $startdir/pkg/xymonserver/data/srv/xymon/etc/alerts.cfg
+
+ install -m755 hobbit_notify.sh $startdir/pkg/xymonserver/data/srv/xymon/server/bin/hobbit_notify.sh
+ install -m755 $startdir/src/tv.png $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/gifs/tv.png
+ install -m755 $startdir/src/tuner.png $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/gifs/tuner.png
+ install -m755 $startdir/src/be.png $startdir/pkg/xymonserver/data/srv/httpd/htdocs/xymon/gifs/be.png
+
+ install -D -m755 $startdir/src/logrotate.xymon $startdir/pkg/xymonserver/etc/logrotate.d/xymon
+
+ #apply patches to conf file
+# mkdir -p $startdir/pkg/xymonserver/data/srv/xymon/etc/tasks.d/
+# mkdir -p $startdir/pkg/xymonserver/data/srv/xymon/etc/tasks.d/
+ cat $startdir/src/tasks.d.mv >> $startdir/pkg/xymonserver/data/srv/xymon/etc/tasks.cfg
+ cd $startdir/pkg/xymonserver/data/srv/xymon/etc
+ patch -p0 < $startdir/src/graph.cfg.diff || return 1
+ patch -p0 < $startdir/src/xymonserver.cfg.diff || return 1
+ patch -p4 < $startdir/src/client-local.cfg.patch || return 1
+
+
+
+ }
+
+
+package_xymonclient(){
+ #create client package as well
+ depends=()
+ install=xymon-client.install
+
+ install -D -m755 $startdir/src/log_list.sh $startdir/pkg/xymon/client/data/srv/xymon/client/bin/log_list.sh
+ install -D -m755 $startdir/src/logrotate.xymon $startdir/pkg/xymonclient/etc/logrotate.d/xymon
+ install -D -m755 $startdir/src/hobbit-mem-myth.sh $startdir/pkg/xymonclient/data/srv/xymon/client/ext/hobbit-mem-myth.sh
+ cp -rp /$startdir/pkg/xymonserver/data/srv/xymon/client/ $startdir/pkg/xymonclient/data/srv/xymon/
+
+ cd -
+ cd $startdir/pkg/xymonclient/data/srv/xymon/client/etc
+ patch -p0 < $startdir/src/clientlaunch.cfg.patch
+ cd -
+
+
+ }
+
+md5sums=('31923ec126fe1c264fceb459d2175161'
+ '28399d002ace27f01c6cfee3edd407ee'
+ '0f79d9715a827fa845a114b74b2c190c'
+ 'a45dd4cdb84817bcf3e51b25cc713799'
+ '034658a1084510ecbbb0dc166c0401eb'
+ 'cc845b5aedc33dda8e3103b915fe4967'
+ '650b523d879f32c1bad3b4a9e10e7c93'
+ '093648dabb0d1da0fdcc37b327737f43'
+ '62b73cf181fdc227c95aade509b65c0a'
+ '6eb6ecdf33454f35b6c2409b863c816f'
+ 'f6921f0413215ae174e81306be80d37f'
+ 'c08b0f116674b1eb8cd5902c1f497644'
+ 'd210c43fb9ee9ad6cd7648e0c2e0efea'
+ '0c808fa12672289f86b0651545381308'
+ '0469d775db9fdd18ea95dd41937ada82'
+ '0757294eec13771f8e63da23cf066796'
+ '622f400fd098cbc43c203e3210a6694e'
+ 'd06c4327cc69aeead3fa05f39660f33e'
+ '129353c8ad92e89c691382a98dd5ce77'
+ 'e6a3ed8b8f6abe357bd1736ff1e63001'
+ '98e9242ae346f729b14cb195786571f2'
+ '40fa09bdb1ae60f3fe767f1c6a979b65')
diff --git a/abs/core/xymon/alerts.cfg b/abs/core/xymon/alerts.cfg
new file mode 100644
index 0000000..84c3ead
--- /dev/null
+++ b/abs/core/xymon/alerts.cfg
@@ -0,0 +1,6 @@
+
+HOST=* SERVICE=disk
+ SCRIPT /data/srv/xymon/server/bin/hobbit_notify.sh 1234567890 FORMAT=SMS REPEAT=10h COLOR=yellow
+ SCRIPT /data/srv/xymon/server/bin/hobbit_notify.sh 1234567890 FORMAT=SMS REPEAT=1h COLOR=red
+
+
diff --git a/abs/core/xymon/analysis.cfg b/abs/core/xymon/analysis.cfg
new file mode 100644
index 0000000..0de317b
--- /dev/null
+++ b/abs/core/xymon/analysis.cfg
@@ -0,0 +1,428 @@
+# analysis.cfg - configuration file for clients reporting to Xymon
+#
+# This file is used by the xymond_client module, when it builds the
+# cpu, disk, files, memory, msgs and procs status messages from the
+# information reported by clients running on the monitored systems.
+#
+# This file must be installed on the Xymon server - client installations
+# do not need this file.
+#
+# The file defines a series of rules:
+# UP : Changes the "cpu" status when the system has rebooted recently,
+# or when it has been running for too long.
+# LOAD : Changes the "cpu" status according to the system load.
+# CLOCK : Changes the "cpu" status if the client system clock is
+# not synchronized with the clock of the Xymon server.
+# DISK : Changes the "disk" status, depending on the amount of space
+# used of filesystems.
+# MEMPHYS: Changes the "memory" status, based on the percentage of real
+# memory used.
+# MEMACT : Changes the "memory" status, based on the percentage of "actual"
+# memory used. Note: Not all systems report an "actual" value.
+# MEMSWAP: Changes the "memory" status, based on the percentage of swap
+# space used.
+# PROC : Changes the "procs" status according to which processes were found
+# in the "ps" listing from the client.
+# LOG : Changes the "msgs" status according to entries in text-based logfiles.
+# Note: The "client-local.cfg" file controls which logfiles the client will report.
+# FILE : Changes the "files" status according to meta-data for files.
+# Note: The "client-local.cfg" file controls which files the client will report.
+# DIR : Changes the "files" status according to the size of a directory.
+# Note: The "client-local.cfg" file controls which directories the client will report.
+# PORT : Changes the "ports" status according to which tcp ports were found
+# in the "netstat" listing from the client.
+# DEFAULT: Set the default values that apply if no other rules match.
+#
+# All rules can be qualified so they apply only to certain hosts, or on certain
+# times of the day (see below).
+#
+# Each type of rule takes a number of parameters:
+# UP bootlimit toolonglimit
+# The cpu status goes yellow if the system has been up for less than
+# "bootlimit" time, or longer than "toolonglimit". The time is in
+# minutes, or you can add h/d/w for hours/days/weeks - eg. "2h" for
+# two hours, or "4w" for 4 weeks.
+# Defaults: bootlimit=1h, toolonglimit=-1 (infinite).
+#
+# LOAD warnlevel paniclevel
+# If the system load exceeds "warnlevel" or "paniclevel", the "cpu"
+# status will go yellow or red, respectively. These are decimal
+# numbers.
+# Defaults: warnlevel=5.0, paniclevel=10.0
+#
+# CLOCK maximum-offset
+# If the system clock of the client differs from that of the Xymon
+# server by more than "maximum-offset" seconds, then the CPU status
+# column will go yellow. Note that the accuracy of this test is limited,
+# since it is affected by the time it takes a client status report to
+# go from the client to the Xymon server and be processed. You should
+# therefore allow for a few seconds (5-10) of slack when you define
+# your max. offset.
+# It is not wise to use this test, unless your servers are synchronized
+# to a common clock, e.g. through NTP.
+#
+# DISK filesystem warnlevel paniclevel
+# DISK filesystem IGNORE
+# If the utilization of "filesystem" is reported to exceed "warnlevel"
+# or "paniclevel", the "disk" status will go yellow or red, respectively.
+# "warnlevel" and "paniclevel" are either the percentage used, or the
+# space available as reported by the local "df" command on the host.
+# For the latter type of check, the "warnlevel" must be followed by the
+# letter "U", e.g. "1024U".
+# The special keyword "IGNORE" causes this filesystem to be ignored
+# completely, i.e. it will not appear in the "disk" status column and
+# it will not be tracked in a graph. This is useful for e.g. removable
+# devices, backup-disks and similar hardware.
+# "filesystem" is the mount-point where the filesystem is mounted, e.g.
+# "/usr" or "/home". A filesystem-name that begins with "%" is interpreted
+# as a Perl-compatible regular expression; e.g. "%^/oracle.*/" will match
+# any filesystem whose mountpoint begins with "/oracle".
+# Defaults: warnlevel=90%, paniclevel=95%
+#
+# MEMPHYS warnlevel paniclevel
+# MEMACT warnlevel paniclevel
+# MEMSWAP warnlevel paniclevel
+# If the memory utilization exceeds the "warnlevel" or "paniclevel", the
+# "memory" status will change to yellow or red, respectively.
+# Note: The words "PHYS", "ACT" and "SWAP" are also recognized.
+# Defaults: MEMPHYS warnlevel=100 paniclevel=101 (i.e. it will never go red)
+# MEMSWAP warnlevel=50 paniclevel=80
+# MEMACT warnlevel=90 paniclevel=97
+#
+# PROC processname minimumcount maximumcount color [TRACK=id] [TEXT=displaytext]
+# The "ps" listing sent by the client will be scanned for how many
+# processes containing "processname" are running, and this is then
+# matched against the min/max settings defined here. If the running
+# count is outside the thresholds, the color of the "procs" status
+# changes to "color".
+# To check for a process that must NOT be running: Set minimum and
+# maximum to 0.
+#
+# "processname" can be a simple string, in which case this string must
+# show up in the "ps" listing as a command. The scanner will find
+# a ps-listing of e.g. "/usr/sbin/cron" if you only specify "processname"
+# as "cron".
+# "processname" can also be a Perl-compatiable regular expression, e.g.
+# "%java.*inst[0123]" can be used to find entries in the ps-listing for
+# "java -Xmx512m inst2" and "java -Xmx256 inst3". In that case,
+# "processname" must begin with "%" followed by the reg.expression.
+# If "processname" contains whitespace (blanks or TAB), you must enclose
+# the full string in double quotes - including the "%" if you use regular
+# expression matching. E.g.
+# PROC "%xymond_channel --channel=data.*xymond_rrd" 1 1 yellow
+# or
+# PROC "java -DCLASSPATH=/opt/java/lib" 2 5
+#
+# You can have multiple "PROC" entries for the same host, all of the
+# checks are merged into the "procs" status and the most severe
+# check defines the color of the status.
+#
+# The TRACK=id option causes the number of processes found to be recorded
+# in an RRD file, with "id" as part of the filename. This graph will then
+# appear on the "procs" page as well as on the "trends" page. Note that
+# "id" must be unique among the processes tracked for each host.
+#
+# The TEXT=displaytext option affects how the process appears on the
+# "procs" status page. By default, the process is listed with the
+# "processname" as identification, but if this is a regular expression
+# it may be a bit difficult to understand. You can then use e.g.
+# "TEXT=Apache" to make these processes appear with the name "Apache"
+# instead.
+#
+# Defaults: mincount=1, maxcount=-1 (unlimited), color="red".
+# Note: No processes are checked by default.
+#
+# Example: Check that "cron" is running:
+# PROC cron
+# Example: Check that at least 5 "httpd" processes are running, but
+# not more than 20:
+# PROC httpd 5 20
+#
+# LOG filename match-pattern [COLOR=color] [IGNORE=ignore-pattern] [TEXT=displaytext]
+# In the "client-local.cfg" file, you can list any number of files
+# that the client will collect log data from. These are sent to the
+# Xymon server together with the other client data, and you can then
+# choose how to analyze the log data with LOG entries.
+#
+# ************ IMPORTANT ***************
+# To monitor a logfile, you *MUST* configure both client-local.cfg
+# and analysis.cfg. If you configure only the client-local.cfg
+# file, the client will collect the log data and you can view it in
+# the "client data" display, but it will not affect the color of the
+# "msgs" status. On the other hand, if you configure only the
+# analysis.cfg file, then there will be no log data to inspect,
+# and you will not see any updates of the "msgs" status either.
+#
+# "filename" is a filename or pattern. The set of files reported by
+# the client is matched against "filename", and if they match then
+# this LOG entry is processed against the data from a file.
+#
+# "match-pattern": The log data is matched against this pattern. If
+# there is a match, this log file causes a status change to "color".
+#
+# "ignore-pattern": The log data that matched "match-pattern" is also
+# matched against "ignore-pattern". If the data matches the "ignore-pattern",
+# this line of data does not affect the status color. In other words,
+# the "ignore-pattern" can be used to refine the strings which cause
+# a match.
+# Note: The "ignore-pattern" is optional.
+#
+# "color": The color which this match will trigger.
+# Note: "color" is optional, if omitted then "red" will be used.
+#
+# Example: Go yellow if the text "WARNING" shows up in any logfile.
+# LOG %.* WARNING COLOR=yellow
+#
+# Example: Go red if the text "I/O error" or "read error" appears.
+# LOG %/var/(adm|log)/messages %(I/O|read).error COLOR=red
+#
+# FILE filename [color] [things to check] [TRACK]
+# NB: The files you wish to monitor must be listed in a "file:..."
+# entry in the client-local.cfg file, in order for the client to
+# report any data about them.
+#
+# "filename" is a filename or pattern. The set of files reported by
+# the client is matched against "filename", and if they match then
+# this FILE entry is processed against the data from that file.
+#
+# [things to check] can be one or more of the following:
+# - "NOEXIST" triggers a warning if the file exists. By default,
+# a warning is triggered for files that have a FILE entry, but
+# which do not exist.
+# - "TYPE=type" where "type" is one of "file", "dir", "char", "block",
+# "fifo", or "socket". Triggers warning if the file is not of the
+# specified type.
+# - "OWNERID=owner" and "GROUPID=group" triggers a warning if the owner
+# or group does not match what is listed here. "owner" and "group" is
+# specified either with the numeric uid/gid, or the user/group name.
+# - "MODE=mode" triggers a warning if the file permissions are not
+# as listed. "mode" is written in the standard octal notation, e.g.
+# "644" for the rw-r--r-- permissions.
+# - "SIZE<max.size" and "SIZE>min.size" triggers a warning it the file
+# size is greater than "max.size" or less than "min.size", respectively.
+# You can append "K" (KB), "M" (MB), "G" (GB) or "T" (TB) to the size.
+# If there is no such modifier, KB is assumed.
+# E.g. to warn if a file grows larger than 1MB (1024 KB): "SIZE<1M".
+# - "SIZE=size" triggers a warning it the file size is not what is listed.
+# - "MTIME>min.mtime" and "MTIME<max.mtime" checks how long ago the file
+# was last modified (in seconds). E.g. to check if a file was updated
+# within the past 10 minutes (600 seconds): "MTIME<600". Or to check
+# that a file has NOT been updated in the past 24 hours: "MTIME>86400".
+# - "MTIME=timestamp" checks if a file was last modified at "timestamp".
+# "timestamp" is a unix epoch time (seconds since midnight Jan 1 1970 UTC).
+# - "CTIME>min.ctime", "CTIME<max.ctime", "CTIME=timestamp" acts as the
+# mtime checks, but for the ctime timestamp (when the files' directory
+# entry was last changed, eg. by chown, chgrp or chmod).
+# - "MD5=md5sum", "SHA1=sha1sum", "RMD160=rmd160sum" trigger a warning
+# if the file checksum using the MD5, SHA1 or RMD160 message digest
+# algorithms do not match the one configured here. Note: The "file"
+# entry in the client-local.cfg file must specify which algorithm to use.
+#
+# "TRACK" causes the size of this file to be tracked in an RRD file, and
+# shown on the graph on the "files" display.
+#
+# Example: Check that the /var/log/messages file is not empty and was updated
+# within the past 10 minutes, and go yellow if either fails:
+# FILE /var/log/messages SIZE>0 MTIME<600 yellow
+#
+# Example: Check the timestamp, size and SHA-1 hash of the /bin/sh program:
+# FILE /bin/sh MTIME=1128514608 SIZE=645140 SHA1=5bd81afecf0eb93849a2fd9df54e8bcbe3fefd72
+#
+# DIR directory [color] [SIZE<maxsize] [SIZE>minsize] [TRACK]
+# NB: The directories you wish to monitor must be listed in a "dir:..."
+# entry in the client-local.cfg file, in order for the client to
+# report any data about them.
+#
+# "directory" is a filename or pattern. The set of directories reported by
+# the client is matched against "directory", and if they match then
+# this DIR entry is processed against the data for that directory.
+#
+# "SIZE<maxsize" and "SIZE>minsize" defines the size limits that the
+# directory must stay within. If it goes outside these limits, a warning
+# will trigger. Note the Xymon uses the raw number reported by the
+# local "du" command on the client. This is commonly KB, but it may be
+# disk blocks which are often 512 bytes.
+#
+# "TRACK" causes the size of this directory to be tracked in an RRD file,
+# and shown on the graph on the "files" display.
+#
+# PORT [LOCAL=addr] [EXLOCAL=addr] [REMOTE=addr] [EXREMOTE=addr] [STATE=state] [EXSTATE=state] [MIN=mincount] [MAX=maxcount] [COLOR=color] [TRACK=id] [TEXT=displaytext]
+# The "netstat" listing sent by the client will be scanned for how many
+# sockets match the criteria listed.
+# "addr" is a (partial) address specification in the format used on
+# the output from netstat. This is typically "10.0.0.1:80" for the IP
+# 10.0.0.1, port 80. Or "*:80" for any local address, port 80.
+# NB: The Xymon clients normally report only the numeric data for
+# IP-adresses and port-numbers, so you must specify the port
+# number (e.g. "80") instead of the service name ("www").
+# "state" causes only the sockets in the specified state to be included;
+# it is usually LISTEN or ESTABLISHED.
+# The socket count is then matched against the min/max settings defined
+# here. If the count is outside the thresholds, the color of the "ports"
+# status changes to "color".
+# To check for a socket that must NOT exist: Set minimum and
+# maximum to 0.
+#
+# "addr" and "state" can be a simple strings, in which case these string must
+# show up in the "netstat" at the appropriate column.
+# "addr" and "state" can also be a Perl-compatiable regular expression, e.g.
+# "LOCAL=%(:80|:443)" can be used to find entries in the netstat local port for
+# both http (port 80) and https (port 443). In that case, portname or state must
+# begin with "%" followed by the reg.expression.
+#
+# The TRACK=id option causes the number of sockets found to be recorded
+# in an RRD file, with "id" as part of the filename. This graph will then
+# appear on the "ports" page as well as on the "trends" page. Note that
+# "id" must be unique among the ports tracked for each host.
+#
+# The TEXT=displaytext option affects how the port appears on the
+# "ports" status page. By default, the port is listed with the
+# local/remote/state rules as identification, but this may be somewhat
+# difficult to understand. You can then use e.g. "TEXT=Secure Shell" to make
+# these ports appear with the name "Secure Shell" instead.
+#
+# Defaults: state="LISTEN", mincount=1, maxcount=-1 (unlimited), color="red".
+# Note: No ports are checked by default.
+#
+# Example: Check that there is someone listening on the https port:
+# PORT "LOCAL=%([.:]443)$" state=LISTEN TEXT=https
+#
+# Example: Check that at least 5 "ssh" connections are established, but
+# not more than 10; warn but do not error; graph the connection count:
+# PORT "LOCAL=%([.:]22)$" state=ESTABLISHED min=5 max=20 color=yellow TRACK=ssh "TEXT=SSH logins"
+#
+# Example: Check that ONLY ports 22, 80 and 443 are open for incoming connections:
+# PORT STATE=LISTEN LOCAL=%0.0.0.0[.:].* EXLOCAL=%[.:](22|80|443)$ MAX=0 "TEXT=Bad listeners"
+#
+#
+# To apply rules to specific hosts, you can use the "HOST=", "EXHOST=", "PAGE="
+# "EXPAGE=", "CLASS=" or "EXCLASS=" qualifiers. (These act just as in the
+# alerts.cfg file).
+#
+# Hostnames are either a comma-separated list of hostnames (from the hosts.cfg file),
+# "*" to indicate "all hosts", or a Perl-compatible regular expression.
+# E.g. "HOST=dns.foo.com,www.foo.com" identifies two specific hosts;
+# "HOST=%www.*.foo.com EXHOST=www-test.foo.com" matches all hosts with a name
+# beginning with "www", except the "www-test" host.
+# "PAGE" and "EXPAGE" match the hostnames against the page on where they are
+# located in the hosts.cfg file, via the hosts' page/subpage/subparent
+# directives. This can be convenient to pick out all hosts on a specific page.
+#
+# Rules can be dependant on time-of-day, using the standard Xymon syntax
+# (the hosts.cfg(5) about the NKTIME parameter). E.g. "TIME=W:0800:2200"
+# applied to a rule will make this rule active only on week-days between
+# 8AM and 10PM.
+#
+# You can also associate a GROUP id with a rule. The group-id is passed to
+# the alert module, which can then use it to control who gets an alert when
+# a failure occurs. E.g. the following associates the "httpd" process check
+# with the "web" group, and the "sshd" check with the "admins" group:
+# PROC httpd 5 GROUP=web
+# PROC sshd 1 GROUP=admins
+# In the alerts.cfg file, you could then have rules like
+# GROUP=web
+# MAIL webmaster@foo.com
+# GROUP=admins
+# MAIL root@foo.com
+#
+# Qualifiers must be placed after each rule, e.g.
+# LOAD 8.0 12.0 HOST=db.foo.com TIME=*:0800:1600
+#
+# If you have multiple rules that you want to apply the same qualifiers to,
+# you can write the qualifiers *only* on one line, followed by the rules. E.g.
+# HOST=%db.*.foo.com TIME=W:0800:1600
+# LOAD 8.0 12.0
+# DISK /db 98 100
+# PROC mysqld 1
+# will apply the three rules to all of the "db" hosts on week-days between 8AM
+# and 4PM. This can be combined with per-rule qualifiers, in which case the
+# per-rule qualifier overrides the general qualifier; e.g.
+# HOST=%.*.foo.com
+# LOAD 7.0 12.0 HOST=bax.foo.com
+# LOAD 3.0 8.0
+# will result in the load-limits being 7.0/12.0 for the "bax.foo.com" host,
+# and 3.0/8.0 for all other foo.com hosts.
+#
+# The special DEFAULT section can modify the built-in defaults - this must
+# be placed at the end of the file.
+
+
+HOST=_MASTERBACKEND_
+ PROC sshd 1
+ PROC lighttpd
+ PROC hobbitd
+ PROC crond
+ PROC mysql
+ PROC mythbackend
+ DISK * 95 99
+ PORT "LOCAL=%([.:]80)$" state=LISTEN TEXT=http
+ PORT "LOCAL=%([.:]1337)$" state=LISTEN TEXT=cgi
+ PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh
+
+HOST=_MASTERFRONTEND_
+ PROC mythfrontend
+ PROC sshd 1
+ PROC lighttpd
+ PROC hobbitd
+ PROC crond
+ PROC mysql
+ PROC mythbackend
+ DISK * 95 99
+ PORT "LOCAL=%([.:]80)$" state=LISTEN TEXT=http
+ PORT "LOCAL=%([.:]1337)$" state=LISTEN TEXT=cgi
+ PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh
+ PORT "LOCAL=%([.:]5000)$" state=LISTEN TEXT=ghosd
+ PORT "LOCAL=%([.:]5001)$" state=LISTEN TEXT=ghosd
+
+
+HOST=_FRONTEND_
+ PROC sshd 1
+ PROC crond
+ PROC mythfrontend
+ PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh
+ PORT "LOCAL=%([.:]5000)$" state=LISTEN TEXT=ghosd
+ PORT "LOCAL=%([.:]5001)$" state=LISTEN TEXT=ghosd
+
+HOST=_SLAVEBACKEND_
+ PROC sshd 1
+ PROC crond
+ PROC mythbackend
+ DISK * 95 99
+ PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh
+
+HOST=_SLAVEFRONTEND_
+ PROC sshd 1
+ PROC lighttpd
+ PROC hobbitd
+ PROC crond
+ PROC mythbackend
+ PROC mythfrontend
+ DISK * 95 99
+ PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh
+ PORT "LOCAL=%([.:]5000)$" state=LISTEN TEXT=ghosd
+ PORT "LOCAL=%([.:]5001)$" state=LISTEN TEXT=ghosd
+
+HOST=_STANDALONE_
+ PROC sshd 1
+ PROC lighttpd
+ PROC hobbitd
+ PROC crond
+ PROC mysql
+ PROC mythbackend
+ DISK * 95 99
+ PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh
+ PORT "LOCAL=%([.:]5000)$" state=LISTEN TEXT=ghosd
+ PORT "LOCAL=%([.:]5001)$" state=LISTEN TEXT=ghosd
+ PORT "LOCAL=%([.:]80)$" state=LISTEN TEXT=http
+ PORT "LOCAL=%([.:]1337)$" state=LISTEN TEXT=cgi
+ PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh
+
+DEFAULT
+ # These are the built-in defaults.
+ UP 1h
+ LOAD 5.0 10.0
+ DISK * 99 100
+ MEMPHYS 100 101
+ MEMSWAP 50 80
+ MEMACT 90 97
+
diff --git a/abs/core/xymon/be.png b/abs/core/xymon/be.png
new file mode 100644
index 0000000..2267cab
--- /dev/null
+++ b/abs/core/xymon/be.png
Binary files differ
diff --git a/abs/core/xymon/client-local.cfg.patch b/abs/core/xymon/client-local.cfg.patch
new file mode 100644
index 0000000..17ffd56
--- /dev/null
+++ b/abs/core/xymon/client-local.cfg.patch
@@ -0,0 +1,11 @@
+--- data/srv/xymon/etc/client-local.cfg.orig 2011-12-07 18:46:45.391534998 +0000
++++ data/srv/xymon/etc/client-local.cfg 2011-12-07 18:47:29.488200337 +0000
+@@ -79,7 +79,7 @@
+ log:/var/log/messages:10240
+
+ [linux]
+-log:/var/log/messages:10240
++log:`/data/srv/xymon/client/bin/log_list.sh`:10240
+ ignore MARK
+
+ [linux22]
diff --git a/abs/core/xymon/clientlaunch.cfg.patch b/abs/core/xymon/clientlaunch.cfg.patch
new file mode 100644
index 0000000..bb0e1c6
--- /dev/null
+++ b/abs/core/xymon/clientlaunch.cfg.patch
@@ -0,0 +1,12 @@
+--- clientlaunch.cfg.orig 2011-11-25 19:07:19.000000000 -0600
++++ clientlaunch.cfg 2011-11-25 19:09:55.000000000 -0600
+@@ -25,4 +25,9 @@
+ CMD $XYMONCLIENTHOME/bin/xymonclient.sh
+ LOGFILE $XYMONCLIENTLOGS/xymonclient.log
+ INTERVAL 5m
++[memmyth]
++ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
++ CMD /data/srv/xymon/client/ext/hobbit-mem-myth.sh
++ LOGFILE $XYMONCLIENTLOGS/mythmem.log
++ INTERVAL 5m
+
diff --git a/abs/core/xymon/graph.cfg.diff b/abs/core/xymon/graph.cfg.diff
new file mode 100644
index 0000000..c92479a
--- /dev/null
+++ b/abs/core/xymon/graph.cfg.diff
@@ -0,0 +1,43 @@
+--- graphs.cfg.orig 2011-11-22 07:56:12.240933957 -0800
++++ graphs.cfg 2011-11-22 07:57:26.902933853 -0800
+@@ -2094,4 +2094,40 @@
+ GPRINT:qlen@RRDIDX@:AVERAGE: %6.1lf (avg)\n
+
+ ########### end of ifmib graphs ###########
++[storage]
++ TITLE Storage Groups
++ YAXIS recordings
++ DEF:storage1=storage.rrd:rectvtotal:AVERAGE
++ LINE2:storage1#00CCCC:current recorded
++
++ DEF:rectime=storage.rrd:rectvtime:AVERAGE
++ LINE2:rectime#000000:current recorded time
++
++ DEF:livetime=storage.rrd:livetvtime:AVERAGE
++ LINE2:livetime#00CC11:current live time
++
++
++[memmbe]
++ TITLE Memory usage for MythBackend
++ YAXIS mythbackend
++ DEF:vmsize=memmbe.rrd:VmSize:AVERAGE
++ LINE2:vmsize#00CCCC:vmsize
++
++ DEF:vmpeak=memmbe.rrd:VmPeak:AVERAGE
++ LINE2:vmpeak#000000:vmpeak
++
++ DEF:vmrss=memmbe.rrd:VmRSS:AVERAGE
++ LINE2:vmrss#00CC11:vmrss
++
++[memmfe]
++ TITLE Memory usage for MythFrontend
++ YAXIS mythfrontend
++ DEF:vmsize=memmfe.rrd:VmSize:AVERAGE
++ LINE2:vmsize#00CCCC:vmsize
++
++ DEF:vmpeak=memmfe.rrd:VmPeak:AVERAGE
++ LINE2:vmpeak#000000:vmpeak
++
++ DEF:vmrss=memmfe.rrd:VmRSS:AVERAGE
++ LINE2:vmrss#00CC11:vmrss
+
diff --git a/abs/core/xymon/hbfunc.py b/abs/core/xymon/hbfunc.py
new file mode 100644
index 0000000..edd2461
--- /dev/null
+++ b/abs/core/xymon/hbfunc.py
@@ -0,0 +1,217 @@
+#!/usr/bin/python
+#checks that the MBE can connect to the minions
+
+# ===============================================
+import sys
+import os
+import string
+import time
+import func.overlord.client as fc
+BBLINE = ''
+BBCOLOR="green"
+DATE = time.strftime("%a %b %d %H:%M:%S %Z %Y", time.localtime(time.time()))
+BB="/data/srv/xymon/server/bin/xymon"
+BBDISP="127.0.01"
+
+
+#if os.environ['BB']:
+# #print os.environ['BB']
+# BB=os.environ['BB']
+
+#if os.environ['BBDISP']:
+# #print os.environ['BBDISP']
+# BBDISP=os.environ['BBDISP']
+
+#if os.environ['MACHINE']:
+# #print os.environ['MACHINE']
+# MACHINE=os.environ['MACHINE']
+
+
+def readbb():
+ global hostlist
+ global mythtype
+
+ try:
+ infile = open('/data/srv/xymon/etc/hosts.cfg', 'r')
+ except(IOError), e:
+ #print "couldn't open xymon hosts file"
+ sys.exit(1)
+ else:
+ bbhostlist = infile.readlines()
+ infile.close()
+ for line in bbhostlist:
+ cline=line.strip()
+ #if not cline.startswith("#") and cline != '' and cline.find("bbd") == -1 and cline.find("func") != -1 :
+ if not cline.startswith("#") and cline != '' and cline.find("func") != -1 :
+ host=cline.split("#")
+ host=host[0].split()
+ hostlist.append(host[1].strip())
+ #print hostlist
+ infile.close()
+ try:
+ infile = open('/etc/mythtv-releasetype')
+ mythtype= infile.readline()
+ infile.close()
+ except(IOError), e:
+ #print "couldn't open mythfile "
+ mythtype=''
+
+def find_local_myth_version():
+ global mythtype
+ local_pkg_name="not_found"
+ pkgname="mythtv"
+ pkgname+=mythtype
+ cmd="/usr/bin/pacman -Q %s " %pkgname
+ result = os.popen2(cmd)[1].readlines()
+ for list in result:
+ l=list.strip()
+ if l.startswith('mythtv') :
+ local_pkg_name=l.strip()
+ break
+ return local_pkg_name
+
+
+def mythversion_check(currentclient,local_myth_version):
+ global mythtype
+ pkgname="mythtv"
+ pkgname+=mythtype
+ remote_pkg_name="remote_pkg_not_found"
+ client = (fc.Client( currentclient ))
+ results=client.pacman.pkgversion(pkgname)
+ #print currentclient
+ #print local_myth_version
+ #print results[currentclient][1]
+ try:
+ for pkg in results[currentclient][1] :
+ p=pkg.strip()
+ if p.startswith('mythtv'):
+ remote_pkg_name=p
+ break
+ if (remote_pkg_name != local_myth_version):
+ BBLINE="Myth version MBE: %s does not match %s %s \n " %(local_myth_version,currentclient,remote_pkg_name)
+ LINE = "status " + currentclient + ".version yellow" + " " + DATE + " " + BBLINE
+
+ if (remote_pkg_name == local_myth_version):
+ BBLINE="%s: success (green) Myth version match %s \n " %(currentclient,remote_pkg_name)
+ LINE = "status " + currentclient + ".version green" + " " + DATE + " " + BBLINE
+ except:
+ BBLINE="Something went wrong! \n "
+ LINE = "status " + currentclient + ".version red" + " " + DATE + " " + BBLINE
+
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ os.system(cmd)
+ return
+
+def send_myth_clear(currentclient):
+ BBLINE="could not connect to host to check version\n "
+ LINE = "status " + currentclient + ".version clear" + " " + DATE + " " + BBLINE
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ os.system(cmd)
+ return
+#-------------------------
+
+global hostlist
+global mythtype
+mythtype=""
+hostlist = []
+readbb()
+local_myth_version=find_local_myth_version()
+
+for currentclient in hostlist:
+ #print currentclient
+ cmd='/data/srv/xymon/server/bin/xymon 127.0.0.1 "query '
+ cmd+=currentclient
+ cmd+='.conn"'
+ bbresults=os.popen(cmd,'r' ).readline().strip().split()
+
+ try:
+ bbstate=bbresults[0]
+ except:
+ bbstate="clear"
+
+ #print bbstate
+ if bbstate == 'green':
+ try:
+ client = (fc.Client( currentclient ))
+ except Exception as e:
+ #couldn't find minion in certmaster
+ #print "couldn't find minion in certmaster:%s" %currentclient
+ BBLINE="%s: %s (red) \n " %(currentclient,e)
+ LINE = "status " + currentclient + ".func red" + " " + DATE + " " + BBLINE
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ cmd2= "echo " + currentclient + " >> /data/srv/httpd/htdocs/failed_func_hosts"
+ os.system(cmd2)
+ os.system(cmd)
+ BBCOLOR="red"
+ send_myth_clear(currentclient)
+ continue
+
+
+ results=client.test.add("1","2")
+ try:
+ #print currentclient
+ #print results[currentclient]
+ #print type(results[currentclient])
+ #print "----------"
+ if type(results[currentclient]) == str:
+ if results[currentclient] == '12':
+ BBLINE="%s: success (green) \n " %currentclient
+ LINE = "status " + currentclient + ".func green" + " " + DATE + " " + BBLINE
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ os.system(cmd)
+ #REMOVE HOST FROM FAILED_FUNC
+ #cmd='sed -i "/' + currentclient + '/d" /data/srv/httpd/htdocs/failed_func_hosts'
+ f = open("/data/srv/httpd/htdocs/failed_func_hosts")
+ failed_lines=f.readlines()
+ f.close
+ f = open("/data/srv/httpd/htdocs/failed_func_hosts",'w')
+ for line in failed_lines:
+ if line.strip() == currentclient:
+ continue
+ f.write(line)
+ f.close()
+
+
+ #os.system(cmd)
+ mythversion_check(currentclient,local_myth_version)
+ else:
+ BBLINE="%s: connected but wtf (yellow) \n " %currentclient
+ LINE = "status " + currentclient + ".func yellow" + " " + DATE + " " + BBLINE
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ os.system(cmd)
+ if BBCOLOR != "red":
+ BBCOLOR="yellow"
+ else:
+ BBLINE="%s: %s (red) \n " %(currentclient,results[currentclient])
+ LINE = "status " + currentclient + ".func red" + " " + DATE + " " + BBLINE
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ cmd2= "echo " + currentclient + " >> /data/srv/httpd/htdocs/failed_func_hosts"
+ cmd3="sudo /usr/bin/certmaster-ca -c " + currentclient
+ os.system(cmd2)
+ os.system(cmd3)
+ os.system(cmd)
+ BBCOLOR="red"
+ except:
+ BBLINE="%s had an error : %s (red) \n " % (currentclient,str(results))
+ LINE = "status " + currentclient + ".func red" + " " + DATE + " " + BBLINE
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ cmd2= "echo " + currentclient + " >> /data/srv/httpd/htdocs/failed_func_hosts"
+ os.system(cmd)
+ os.system(cmd2)
+ cmd3="sudo /usr/bin/certmaster-ca -c " + currentclient
+ os.system(cmd3)
+ BBCOLOR="red"
+ else:
+ BBLINE+= "Not testing %s \n " % currentclient
+ LINE = "status " + currentclient + ".func clear" + " " + DATE + " " + BBLINE
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ os.system(cmd)
+ BBCOLOR="clear"
+ send_myth_clear(currentclient)
+
+#LINE = "status " + MACHINE + ".func green" + " " + DATE + " " + BBLINE
+#cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+#os.system(cmd)
+
+#print BBLINE
+#print BBCOLOR
diff --git a/abs/core/xymon/hbnotes.py b/abs/core/xymon/hbnotes.py
new file mode 100644
index 0000000..e08992c
--- /dev/null
+++ b/abs/core/xymon/hbnotes.py
@@ -0,0 +1,352 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+# import MySQL module
+
+import MySQLdb
+import sys
+import getopt
+import socket
+import os
+global ignorehostlist
+try:
+ import ignoreclient
+ ignorehostlist=ignoreclient.ignorehosts
+except:
+ print "could not find the ignore list"
+ ignorehostlist="'ignoreme'"
+
+
+
+
+
+def createdropdown():
+ dir = "/data/database_backup"
+ dropdown=" "
+ #dropdown='''
+ #<input name="param2" type="radio" value="Restore" />Restore database </>
+ #<select name="param1">
+ #'''
+ #if os.path.exists(dir):
+ #files = os.listdir(dir)
+ #for file in os.listdir(dir):
+ #if (file.endswith(".tgz")):
+ #dropdown+='<option value="' + file + '">' + file + '</option> '
+ dropdown+='</select> <br><input name="param2" type="radio" value="Backup" checked="checked" />Backup database<br /> '
+ dropdown+='<input name="param2" type="radio" value="Optimize" />Optimize database<br /> '
+ dropdown+='<input name="param2" type="radio" value="ShutdownAll" />Shutdown All Systems (expect MBE)<br /> '
+ #dropdown+='''<input name="param2" type="radio" value="UpdateAll" />Update All Systems </> <select name="param5">
+ #<option value="Myth_only">Myth only</option>
+ #<option value="All"> Full System</option>
+ #</select>
+ #</br>
+ #</br>
+ #</br>'''
+
+ dropdown+=''' </br></br>'''
+ return dropdown
+
+def main(argv):
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+
+ # create a cursor
+ cursor = db.cursor()
+#------------------------------write client-config------------------------------------------------
+ SQL="SELECT DISTINCT(hostname) from settings where hostname not in(%s)"
+ cursor.execute(SQL %ignorehostlist)
+ result = cursor.fetchall()
+ frontonly="_FRONTEND_"
+ masterbackend="_MASTERBACKEND_"
+ masterbacked_w_fe="_MASTERFE_"
+ slave_w_fe="_SLAVEFE_"
+ slave="_SLAVEBACKEND_"
+ stand_alone="_STANDALONE_"
+ dotMBE=""
+ dotfrontend=list()
+ dotslave=list()
+ dotslavefe=list()
+ tunerdict = {}
+ currenthostype=''
+ for row in result:
+ # print row[0]
+ #Find the system type
+ cursor.execute("select value,data from settings where hostname=%s and value in ('HostSystemType','HostRunFrontend');",(row))
+ hostvalues=cursor.fetchall()
+ if len(hostvalues) == 2:
+ if hostvalues[1][1] == 'Frontend_only':
+ frontonly+=","+row[0]
+ dotfrontend.append(row[0])
+
+ elif hostvalues[1][1] == 'Standalone':
+ stand_alone+=","+row[0]
+ dotMBE="MBE" + " [ label=\"" + row[0] + " \\n Standalone \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
+ dotfrontend.append(row[0])
+ cursor.execute("select cardtype,defaultinput from capturecard where hostname=%s;",(row))
+ tuners=cursor.fetchall()
+ tstring=""
+
+ if len(tuners) == 0:
+ tunerdict["MBE"]="no tuners \\n"
+ else:
+ for t in tuners:
+ tstring+=t[0]
+ tstring+=t[1]
+ tstring+='\\n'
+ tunerdict["MBE"]=tstring
+
+ elif hostvalues[1][1] == 'Master_backend':
+ print "found MBE"
+ print hostvalues
+ if hostvalues[0][1]=='0':
+ masterbackend+=","+row[0]
+ #dotMBE=row[0] + "\\n Master Backend"
+ #This is wrong, but it's enough to get it working
+ dotMBE=''
+ else:
+ masterbacked_w_fe+=","+row[0]
+ dotMBE="MBE" + " [ label=\"" + row[0] + " \\n Master Backend with frontend \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
+ cursor.execute("select cardtype,defaultinput from capturecard where hostname=%s;",(row))
+ tuners=cursor.fetchall()
+ tstring=""
+ if len(tuners) == 0:
+ tunerdict["MBE"]="no tuners \\n"
+ else:
+ for t in tuners:
+ tstring+=t[0]
+ tstring+=t[1]
+ tstring+='\\n'
+ tunerdict["MBE"]=tstring
+ dotfrontend.append(row[0])
+
+ elif hostvalues[1][1] == 'Slave_backend':
+ if hostvalues[0][1]=='0':
+ slave+=","+row[0]
+ dotslave.append(row[0])
+ cursor.execute("select cardtype,defaultinput from capturecard where hostname=%s;",(row))
+ tuners=cursor.fetchall()
+ tstring=""
+ for t in tuners:
+ tstring+=t[0]
+ tstring+=t[1]
+ tstring+='\\n'
+ tunerdict["STUNER"+row[0]]=tstring
+ #dotfrontend.append(row[0])
+ else:
+ cursor.execute("select cardtype,defaultinput from capturecard where hostname=%s;",(row))
+ tuners=cursor.fetchall()
+ tstring=""
+ for t in tuners:
+ tstring+=t[0]
+ tstring+=t[1]
+ tstring+='\\n'
+ tunerdict["STUNER"+row[0]]=tstring
+ print tstring
+
+ slave_w_fe+=","+row[0]
+ dotslave.append(row[0])
+ dotfrontend.append(row[0])
+
+#----------------------------------Create graphviz dot files
+ dotfilename="/data/srv/xymon/server/etc/mythdot"
+
+ dotfile=open(dotfilename,'w')
+ dotfile.write("digraph G { " + "\n" )
+ dotfile.write("graph [bgcolor=transparent]" + "\n" )
+
+
+#define the nodes
+ dotfile.write( dotMBE + " \n" )
+
+ dotfile.write("tunermbe"+ " [ label= \"" + tunerdict["MBE"] + "\" , shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/tuner.png\" fontcolor=\"white\" color=red ] \n" )
+
+ for fe in dotfrontend:
+ dotfile.write("FEND"+fe + "[ label=\"frontend \\n " + fe + "\" ,shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/tv.png\" , fontcolor=\"white\" , imagescale=\"true\" color=\"gold2\" ] \n" )
+
+ for fe in dotslave:
+ cslave="STUNER"+fe
+ if tunerdict[cslave] != "" :
+ dotfile.write(cslave+ " [ label= \"" + tunerdict[cslave] + "\" , shape=box ] \n" )
+ dotfile.write("SLAVE"+fe + "[ label=\"slave backend \\n " + fe + "\" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=green ] \n" )
+
+
+#connect up the nodes!
+ dotfile.write("tunermbe -> MBE [color=\"red\"] \n " )
+
+ for fe in dotfrontend:
+ dotfile.write("MBE -> FEND" + fe + "[color=\"gold2\"] \n " )
+
+ for fe in dotslave:
+ cslave="STUNER"+fe
+ dotfile.write("SLAVE" + fe + "-> MBE [color=\"green\"] \n " )
+ if tunerdict[cslave] != "" :
+ dotfile.write(cslave + "-> SLAVE"+fe + "\n" )
+
+
+
+ dotfile.write("} " + "\n" )
+ dotfile.close()
+
+
+ cmd="/usr/bin/unflatten -l6 -c3 -f " + dotfilename + " |/usr/bin/dot -Tpng -o/data/srv/httpd/htdocs/xymon/gifs/network.png "
+ # cmd="/usr/bin/circo -Tpng -o/data/srv/httpd/htdocs/xymon/gifs/network.png " + dotfilename
+
+ results=os.popen(cmd,'r')
+
+ #--------------------------------------------------
+ #hobbitfile="/data/srv/xymon/server/etc/hobbit-clients.cfg"
+ hobbitfile="/data/srv/xymon/server/etc/tasks.cfg"
+ hobbitf=open(hobbitfile,'r')
+ hobbitconfig=hobbitf.readlines()
+ hobbitf.close()
+ hobbitf=open(hobbitfile,'w')
+ print "FE",frontonly
+ print "MBE",masterbackend
+ print "MBEwFW",masterbacked_w_fe
+ print "SLAVEwFW",slave_w_fe
+ print "SLAVE",slave
+ print "STD",stand_alone
+
+ for line in hobbitconfig:
+ if line.startswith("HOST"):
+ cline=line.split("=")
+ if cline[1].startswith("_FRONTEND_"):
+ pline="HOST="
+ pline+=frontonly.strip()
+ hobbitf.write(pline + "\n")
+ elif cline[1].startswith("_MASTERBACKEND_"):
+ pline="HOST="
+ pline+=masterbackend.strip()
+ #print pline
+ hobbitf.write(pline+ "\n")
+ elif cline[1].startswith("_MASTERFRONTEND_"):
+ pline="HOST="
+ pline+=masterbacked_w_fe.strip()
+ #print pline
+ hobbitf.write(pline+ "\n")
+ elif cline[1].startswith("_SLAVEBACKEND_"):
+ pline="HOST="
+ pline+=slave.strip()
+ #print pline
+ hobbitf.write(pline+ "\n")
+ elif cline[1].startswith("_SLAVEFE_"):
+ pline="HOST="
+ pline+=slave_w_fe.strip()
+ #print pline
+ hobbitf.write(pline+ "\n")
+ else:
+ #print line
+ hobbitf.write(line)
+ else:
+ #print line
+ hobbitf.write(line)
+
+#-----------------------------------------------------------END CLIENT CONFIG
+
+ # execute SQL statement
+ cursor.execute("SELECT DISTINCT(hostname) from settings")
+ result = cursor.fetchall()
+
+ for row in result:
+ cursor.execute("select value,data from settings where hostname=%s and value in ('HostSystemType','HostHwuuid');",(row))
+ hostvalues=cursor.fetchall()
+ found_uuid="false"
+ filename="/data/srv/xymon/server/www/notes/"
+ filename+=str(row[0])
+ filename+=(".html")
+
+ file = open(filename,'w')
+ string='''
+ <html>
+ <head>
+ <style type="text/css">@import "/frame.css";</style>
+ </head>
+ '''
+ file.write(string)
+
+
+ for i in range( 0 , len(hostvalues)):
+ value=hostvalues[i][0]
+ data=hostvalues[i][1]
+ currenthostype=''
+ currenthostname=''
+ if value == "HostHwuuid" :
+ if data != "blank" :
+ found_uuid="true"
+ uuid=data
+ if value == "HostSystemType" :
+
+ currenthostname= str(row[0]).strip()
+ currenthostype=str(data).strip()
+ header="<h1>" + currenthostname + " (" + currenthostype + ") </h1>"
+ file.write(header + '\n')
+
+
+ if found_uuid == "true" :
+ string=str("http://smolt.mythvantage.com/client/show?uuid=")
+ string+=str(uuid)
+ file.write("<A href=\"" )
+ file.write(string)
+ file.write("\" >" + str(uuid) + "</A>")
+ else:
+ file.write( "uuid not found, please submit a hardware profile" )
+
+
+
+ buttonform_top='''
+ <div class="content" style="solid #aaa; width:500px; height:350px; overflow:auto; color:#FFF;text-align:left;">
+ <form action="/process.py" method="get">
+ '''
+
+
+ buttonform_bottom='''
+ <input name="param2" type="radio" value="Update" />Update System </>
+ <select name="param3">
+ <option value="Myth_only">Myth only</option>
+ <option value="All"> Full System</option>
+ </select>
+ </br>
+ <input name="param2" type="radio" value="Kill" />Restart interface: </>
+ <select name="param6">
+ <option value="killX">Full UI</option>
+ <option value="killmyth">MythFrontend</option>
+ </select>
+ </br>
+ <input name="param2" type="radio" value="Shutdown" />Shutdown System<br />
+ <input name="param2" type="radio" value="Reboot" />Reboot System<br />
+ <input name="param2" type="radio" value="WOL" />Wake on Lan<br />
+ <input name="hiddenparam" type="hidden" value="
+ '''
+ oldurlform='''
+ "/>
+ <input name="param4" type="hidden" value="
+ '''
+
+
+ closetag='''
+ "/>
+ </br>
+ <input id="submitbutton" type="submit" />
+ </form>
+ </div>
+ '''
+
+ if currenthostype == "Master_backend":
+ mbeoptions=createdropdown()
+ else:
+ mbeoptions=''
+ returnurl="/xymon/notes/"
+ returnurl+=str(row[0])
+ returnurl+=(".html")
+ file.write('</br> </br> ')
+ file.write(buttonform_top)
+ file.write(mbeoptions)
+ file.write(buttonform_bottom)
+ file.write(str(row[0]))
+ file.write(oldurlform)
+ file.write(returnurl)
+ file.write(closetag)
+
+ string=(' </html>')
+ file.write(string)
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
diff --git a/abs/core/xymon/hobbit-mem-myth.sh b/abs/core/xymon/hobbit-mem-myth.sh
new file mode 100644
index 0000000..663e2e3
--- /dev/null
+++ b/abs/core/xymon/hobbit-mem-myth.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+MBEPID=`ps -fU mythtv |grep mythbackend |grep -v runsv|grep -v grep|grep -v logger|awk '{print $2 }'`
+MFEPID=`ps -ef|grep mythfrontend |grep -v runsv|grep -v grep|grep -v logger|grep -v mythfrontend-start|awk '{print $2 }'`
+
+
+
+COLOR=green # By default, everything is OK
+
+ # Do whatever you need to test for something
+if [ ! x$MBEPID = x ]
+then
+VmSize=`cat /proc/$MBEPID/status|grep -i vmsize|awk '{print $2 }'`
+VmPeak=`cat /proc/$MBEPID/status|grep -i vmpeak|awk '{print $2 }'`
+VmRSS=`cat /proc/$MBEPID/status|grep -i vmrss |awk '{print $2 }'`
+MSGMBE="
+ VmSize:$VmSize
+ VmPeak:$VmPeak
+ VmRSS:$VmRSS
+ "
+# echo $MSGMBE
+ # Tell Hobbit about it
+ $BB $BBDISP "data $MACHINE.memmbe $COLOR `date`
+
+ ${MSGMBE}
+
+ "
+fi
+
+
+
+if [ ! x$MFEPID = x ]
+then
+VmSize=`cat /proc/$MFEPID/status|grep -i vmsize|awk '{print $2 }'`
+VmPeak=`cat /proc/$MFEPID/status|grep -i vmpeak|awk '{print $2 }'`
+VmRSS=`cat /proc/$MFEPID/status|grep -i vmrss |awk '{print $2 }'`
+MSGMBE="
+ VmSize:$VmSize
+ VmPeak:$VmPeak
+ VmRSS:$VmRSS
+ "
+# echo $MSGMBE
+ # Tell Hobbit about it
+ $BB $BBDISP "data $MACHINE.memmfe $COLOR `date`
+
+ ${MSGMBE}
+
+ "
+fi
+
+
+
+
diff --git a/abs/core/xymon/hobbit-myth-orphan.sh b/abs/core/xymon/hobbit-myth-orphan.sh
new file mode 100644
index 0000000..f9f7d54
--- /dev/null
+++ b/abs/core/xymon/hobbit-myth-orphan.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+TMPFILE=/tmp/oprhan.result
+/usr/local/bin/myth.find_orphans.pl > $TMPFILE
+
+
+ COLUMN=orphan # Name of the column
+ COLOR=green # By default, everything is OK
+
+ # Do whatever you need to test for something
+ # As an example, go red if /tmp/badstuff exists.
+
+thumbs=`grep -A 4 "Summary:" $TMPFILE |tail -n 1 | cut -d" " -f3 `
+if [ ! x$thumbs = x0 ]
+then
+ MSG="$thumbs orphaned thumbnails with no corresponding recording"
+ COLOR='yellow'
+fi
+
+missing=`grep -A 2 "Summary:" $TMPFILE |tail -n 1 | cut -d, -f2 | cut -d" " -f2 `
+if [ ! x$missing = x0 ]
+then
+ COLOR='red'
+MSG="${MSG}
+ `grep -A 2 "Summary:" $TMPFILE |tail -n 1 ` "
+fi
+
+unkown=`grep -A 5 "Summary:" $TMPFILE |tail -n 1 | cut -d" " -f3 `
+if [ ! x$unkown = x0 ]
+then
+ COLOR='red'
+MSG="${MSG}
+`grep -A 5 "Summary:" $TMPFILE |tail -n 1 `"
+fi
+
+
+MSG="${MSG}
+
+
+ `cat $TMPFILE`
+ "
+
+ # Tell Hobbit about it
+ $BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date`
+/usr/local/bin/myth.find_orphans.pl
+
+ ${MSG}
+
+ "
+
+ exit 0
+
+
+
+
diff --git a/abs/core/xymon/hobbit_myth_data.py b/abs/core/xymon/hobbit_myth_data.py
new file mode 100644
index 0000000..840c293
--- /dev/null
+++ b/abs/core/xymon/hobbit_myth_data.py
@@ -0,0 +1,99 @@
+#!/usr/bin/python
+# checks for the number of days of guide data left
+# make sure myth_mtc ran ok
+
+
+import urllib2
+import string
+import time
+import sys,os
+BBLINE = ''
+BBCOLOR="green"
+DATE = time.strftime("%a %b %d %H:%M:%S %Z %Y", time.localtime(time.time()))
+if os.environ['BB']:
+ #print os.environ['BB']
+ BB=os.environ['BB']
+if os.environ['BBDISP']:
+ #print os.environ['BBDISP']
+ BBDISP=os.environ['BBDISP']
+if os.environ['MACHINE']:
+ #print os.environ['MACHINE']
+ MACHINE=os.environ['MACHINE']
+
+
+
+
+def check_mtc():
+ try:
+ infile = open('/var/log/mythtv/myth_mtc.log', 'r')
+ except(IOError), e:
+ print "couldn't open myth_mtc.log file"
+ return False
+ else:
+ mtc = infile.readlines()
+ for i in mtc:
+ line=i
+ infile.close()
+ if line.strip() == "Finished":
+ return True
+ else:
+ return False
+
+def find_data_left():
+ try:
+ f = urllib2.urlopen("http://localhost:6544")
+ except:
+ print 'error: could not find Masterbackend'
+ days_left=-100
+ return days_left
+# except urllib2.HTTPError, e:
+# if e.code != 200:
+# print 'error: could not find Masterbackend'
+# days_left=-100
+ else:
+ MBE_data = f.readlines()
+ f.close()
+
+ for line in MBE_data:
+ if line.find("guide data") != -1:
+ if line.find("no guide data") != -1:
+ days_left = 0
+ else:
+ line=line.split("(")
+ line=line[1].split(")")
+ days_left=line[0].split()[0]
+ return days_left
+
+
+mtc=check_mtc()
+num_days=find_data_left()
+
+if mtc:
+ BBCOLOR="green"
+ msg="\n Maintenace script ran ok \n "
+else:
+ BBCOLOR ="yellow"
+ msg="\n Maintenance script didn't run \n"
+
+if num_days == 1 :
+ BBCOLOR="yellow"
+ msg+="Only 1 day of guide data left"
+elif num_days == 0 :
+ BBCOLOR="yellow"
+ msg+="No guide data available"
+elif num_days == -100 :
+ BBCOLOR="red"
+ msg+="Could not connect to master backend"
+else:
+ data_check = True
+ BBCOLOR="green"
+ msg+="%s days of guide data" %(num_days)
+
+BBLINE=msg
+LINE = "status " + MACHINE + ".myth_mtc" + " " + BBCOLOR + " " + DATE + " " + BBLINE
+cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+os.system(cmd)
+
+sys.exit(0)
+
+
diff --git a/abs/core/xymon/hobbit_notify.sh b/abs/core/xymon/hobbit_notify.sh
new file mode 100644
index 0000000..7569e2a
--- /dev/null
+++ b/abs/core/xymon/hobbit_notify.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# BBCOLORLEVEL - The color of the alert: "red", "yellow" or "purple"
+# BBALPHAMSG - The full text of the status log triggering the alert
+# ACKCODE - The "cookie" that can be used to acknowledge the alert
+# RCPT - The recipient, from the SCRIPT entry
+# BBHOSTNAME - The name of the host that the alert is about
+# MACHIP - The IP-address of the host that has a problem
+# BBSVCNAME - The name of the service that the alert is about
+# BBSVCNUM - The numeric code for the service. From SVCCODES definition.
+# BBHOSTSVC - HOSTNAME.SERVICE that the alert is about.
+# BBHOSTSVCCOMMAS - As BBHOSTSVC, but dots in the hostname replaced with commas
+# BBNUMERIC - A 22-digit number made by BBSVCNUM, MACHIP and ACKCODE.
+# RECOVERED - Is "1" if the service has recovered.
+# DOWNSECS - Number of seconds the service has been down.
+# DOWNSECSMSG - When recovered, holds the text "Event duration : N" where
+echo $BBCOLORLEVEL > /tmp/hobbitout
+echo $BBALPHAMSG >>/tmp/hobbitout
+echo $RCPT >>/tmp/hobbitout
+echo $BBHOSTNAME >>/tmp/hobbitout
+echo $BBSVCNAME >>/tmp/hobbitout
+echo $BBHOSTSVC >>/tmp/hobbitout
+
+#BBCOLORLEVEL=red
+#BBCOLORLEVEL=yellow
+#BBALPHAMSG="vmtest:disk red [751147]"
+#BBHOSTNAME="vmtest"
+#BBSVCNAME="disk"
+#BBHOSTSVC="vmtest.disk"
+
+if [ x$BBSVCNAME = xdisk ]
+then
+ case $BBCOLORLEVEL in
+ red )
+ /usr/bin/notify.py ALT "$BBHOSTNAME disk is full"
+ ;;
+ yellow )
+
+ /usr/bin/notify.py PHN "$BBHOSTNAME disk almost full "
+ ;;
+ esac
+fi
+
+
+
+
+
+
diff --git a/abs/core/xymon/hobbitadd.py b/abs/core/xymon/hobbitadd.py
new file mode 100644
index 0000000..cb2fbed
--- /dev/null
+++ b/abs/core/xymon/hobbitadd.py
@@ -0,0 +1,95 @@
+#!/usr/bin/python
+#polls the hobbit server for ghost clients. If it finds ghosts it will make a new bb-hosts file
+#with the new clients.
+#Will not add duplicate clients
+#return code of 0 means a new file was written, anything else is an error or no inserts occured
+import urllib2
+import string
+import sys
+
+
+def readbb():
+ global bblist
+ try:
+ infile = open('/data/srv/xymon/etc/hosts.cfg', 'r')
+ except(IOError), e:
+ print "couldn't open bb-hosts file"
+ sys.exit(1)
+ else:
+ bblist = infile.readlines()
+
+ infile.close()
+
+
+def findghosts():
+ global infile
+ global bblist
+ global ghostitems
+ global numberitems
+ try:
+ f = urllib2.urlopen("http://localhost/xymon/hobbit-cgi/ghostlist.sh?SORT=name&MAXAGE=300&TEXT")
+ except urllib2.HTTPError, e:
+ if e.code != 200:
+ print 'error find ghost list'
+ sys.exit(1)
+ else:
+ ghostitems_full = f.readlines()
+ f.close()
+ ghostitems=[]
+ for i in ghostitems_full:
+ if not i.startswith('127.0.0'):
+ ghostitems.append(i)
+ else:
+ continue
+ numberitems = len(ghostitems)
+
+
+def makenewbb():
+ global bblist
+ global ghostitems
+ global numberitems
+ global numinserts
+ numinserts=0
+ outlist = []
+ for item in bblist:
+ if item not in outlist:
+ outlist.append(item)
+
+ for item in ghostitems:
+ line = item.rstrip()
+ nline = "%s #func" % (line)
+ nline = nline + '\n'
+ if nline not in outlist:
+ outlist.append(nline)
+ print "adding: " + nline
+ numinserts = numinserts + 1
+ if numinserts > 0:
+ outfile = open("/data/srv/xymon/etc/hosts.cfg","w")
+ #outfile = open("/tmp/new-bb","w")
+ for i in outlist:
+ outfile.write(i + '\n' )
+ outfile.close
+
+
+global infile
+global bblist
+global ghostitems
+global numberitems
+global numinserts
+numinserts=0
+readbb()
+findghosts()
+
+
+if numberitems > 0:
+ makenewbb()
+#else:
+# print "No hosts to add"
+
+
+if numinserts < 1:
+ sys.exit(1)
+else:
+ sys.exit(0)
+
+
diff --git a/abs/core/xymon/hobbitlaunch.cfg.diff b/abs/core/xymon/hobbitlaunch.cfg.diff
new file mode 100644
index 0000000..6239125
--- /dev/null
+++ b/abs/core/xymon/hobbitlaunch.cfg.diff
@@ -0,0 +1,40 @@
+--- hobbitlaunch.cfg.orig 2008-02-10 22:30:16.000000000 +0000
++++ hobbitlaunch.cfg 2008-08-09 07:05:14.000000000 +0000
+@@ -204,3 +204,37 @@
+ LOGFILE $BBSERVERLOGS/hobbitclient.log
+ INTERVAL 5m
+
++[storage]
++
++ ENVFILE /data/srv/hobbit/server/etc/hobbitserver.cfg
++ CMD /data/srv/hobbit/server/ext/hobbitstorage.py
++ LOGFILE $BBSERVERLOGS/bb-storage.log
++ INTERVAL 5m
++[notes]
++ ENVFILE /data/srv/hobbit/server/etc/hobbitserver.cfg
++ CMD /data/srv/hobbit/server/ext/hbnotes.py
++ LOGFILE $BBSERVERLOGS/bb-notes.log
++ INTERVAL 5m
++[orphan]
++ ENVFILE /data/srv/hobbit/server/etc/hobbitserver.cfg
++ CMD /data/srv/hobbit/server/ext/hobbit-myth-orphan.sh
++ LOGFILE $BBSERVERLOGS/orphan.log
++ INTERVAL 5m
++
++[func]
++ ENVFILE /data/srv/hobbit/server/etc/hobbitserver.cfg
++ CMD sudo /data/srv/hobbit/server/ext/hbfunc.py
++ LOGFILE $BBSERVERLOGS/hbfunc.log
++ INTERVAL 5m
++
++[memmyth]
++ ENVFILE /data/srv/hobbit/server/etc/hobbitserver.cfg
++ CMD /data/srv/hobbit/server/ext/hobbit-mem-myth.sh
++ LOGFILE $BBSERVERLOGS/mythmem.log
++ INTERVAL 5m
++
++[mtc]
++ ENVFILE /data/srv/hobbit/server/etc/hobbitserver.cfg
++ CMD /data/srv/hobbit/server/ext/hobbit_myth_data.py
++ LOGFILE $BBSERVERLOGS/mtc
++ INTERVAL 5m
diff --git a/abs/core/xymon/hobbitserver.cfg.diff b/abs/core/xymon/hobbitserver.cfg.diff
new file mode 100644
index 0000000..7c829fe
--- /dev/null
+++ b/abs/core/xymon/hobbitserver.cfg.diff
@@ -0,0 +1,45 @@
+--- hobbitserver.cfg.orig 2008-01-08 15:25:34.000000000 +0000
++++ hobbitserver.cfg 2008-01-08 16:22:56.000000000 +0000
+@@ -105,7 +105,7 @@
+ CONNTEST="TRUE" # Should we 'ping' hosts ?
+ IPTEST_2_CLEAR_ON_FAILED_CONN="TRUE" # If TRUE, then failing network tests go CLEAR if conn-test fails.
+ NONETPAGE="" # Network tests that go YELLOW upon failure
+-FPING="/usr/sbin/fping" # Path and options for the ping program.
++FPING="hobbitping" # Path and options for the ping program.
+ NTPDATE="ntpdate" # Path to the 'ntpdate' program
+ TRACEROUTE="traceroute" # How to do traceroute on failing ping tests. Requires "trace" in bb-hosts.
+ BBROUTERTEXT="router" # What to call a failing intermediate network device.
+@@ -120,7 +120,9 @@
+ # Size of the generated graph images
+ RRDHEIGHT="120"
+ RRDWIDTH="576" # The RRD's contain 576 data points, so this is a good value
+-
++NCV_storage="*:GAUGE"
++NCV_memmbe="*:GAUGE"
++NCV_memmfe="*:GAUGE"
+ # TEST2RRD defines the status- and data-messages you want to collect RRD data
+ # about. You will normally not need to modify this, unless you have added a
+ # script to pick up RRD data from custom tests (the hobbitd_larrd --extra-script
+@@ -132,11 +134,11 @@
+ #
+ # This is also used by the bb-hostsvc.cgi script to determine if the detailed
+ # status view of a test should include a graph.
+-TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines"
++TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,storage=ncv,memmbe=ncv,memmfe=ncv"
+
+ # This defines which RRD files to include on the "trends" column webpage,
+ # and the order in which they appear.
+-GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines"
++GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,storage,memmbe,memmfe"
+
+ # These two settings can be used to restrict what filesystems are being
+ # tracked (i.e. have their utilisation graphed) by Hobbit.
+@@ -158,7 +160,7 @@
+ HTMLCONTENTTYPE="text/html" # You can add charset options here.
+
+ # Fonts and texts
+-HOBBITLOGO="Hobbit" # HTML inserted on all header pages at top-left corner.
++HOBBITLOGO="" # HTML inserted on all header pages at top-left corner.
+ MKBBLOCAL="<B><I>Pages Hosted Locally</I></B>"
+ MKBBREMOTE="<B><I>Remote Status Display</I></B>"
+ MKBBSUBLOCAL="<B><I>Subpages Hosted Locally</I></B>"
diff --git a/abs/core/xymon/hobbitstorage.py b/abs/core/xymon/hobbitstorage.py
new file mode 100644
index 0000000..e79f8d1
--- /dev/null
+++ b/abs/core/xymon/hobbitstorage.py
@@ -0,0 +1,121 @@
+#!/usr/bin/python
+# import MySQL module
+
+import MySQLdb
+import sys
+import getopt
+import socket
+import os
+import time
+import string
+
+def LIVETV():
+ grandtotal=0
+ global rectv_total
+ global rectv_time
+ global livetv_total
+ global livetv_time
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+
+ cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM recorded where recgroup=(%s) ORDER by starttime;" , ("livetv"))
+ result = cursor.fetchall()
+
+ for row in result:
+ # print row[0], row[1] ,row [2]
+ start=row[0]
+ end=row[1]
+ if ( end > start ):
+ total = (end - start) /60
+ grandtotal+=total
+ hours = grandtotal / 60.0
+ days = hours / 24.0
+
+ livetv_total=len(result)
+ livetv_time=hours
+
+
+
+def RECORDTV():
+ grandtotal=0
+ global rectv_total
+ global rectv_time
+ global livetv_total
+ global livetv_time
+ # create a cursor
+ cursor = db.cursor()
+ # execute SQL statement
+
+ cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM recorded where not recgroup=(%s) ORDER by starttime;" , ("livetv"))
+ result = cursor.fetchall()
+
+ for row in result:
+ # print row[0], row[1] ,row [2]
+ start=row[0]
+ end=row[1]
+ if ( end > start ):
+ total = (end - start) /60
+ grandtotal+=total
+ hours = grandtotal / 60.0
+ days = hours / 24.0
+
+ rectv_total=len(result)
+ rectv_time=hours
+
+
+
+def printvars():
+ print rectv_time
+ print rectv_total
+ print livetv_time
+ print livetv_total
+
+def sendTObb():
+ DATE = time.strftime("%a %b %d %H:%M:%S %Z %Y", time.localtime(time.time()))
+ if os.environ['BB']:
+ #print os.environ['BB']
+ BB=os.environ['BB']
+ if os.environ['BBDISP']:
+ #print os.environ['BBDISP']
+ BBDISP=os.environ['BBDISP']
+ if os.environ['MACHINE']:
+ # print os.environ['MACHINE']
+ MACHINE=os.environ['MACHINE']
+
+ # MACHINE = socket.gethostname()
+ # MACHINE = string.replace(MACHINE, '.', ',')
+ INFOLINE= "\n rectv_total:" + str(rectv_total)
+ INFOLINE= INFOLINE + "\n rectv_time:" + str(rectv_time)
+ INFOLINE= INFOLINE + "\n livetv_total:" + str(livetv_total)
+ INFOLINE= INFOLINE + "\n livetv_time:" + str(livetv_time)
+ INFOLINE= INFOLINE + "\n "
+
+
+
+ LINE = "status " + MACHINE + ".storage green" + " " + DATE + " " + INFOLINE
+
+ cmd = BB + ' ' + BBDISP + ' "' + LINE + '"'
+ os.system(cmd)
+ #print LINE
+
+def main(argv):
+ global db
+ global rectv_total
+ global rectv_time
+ global livetv_total
+ global livetv_time
+
+ rectv_total=0
+ rectv_time=0
+ livetv_total=0
+ livetv_time=0
+
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+
+ LIVETV()
+ RECORDTV()
+ #printvars()
+ sendTObb()
+if __name__ == "__main__":
+ main(sys.argv[1:])
diff --git a/abs/core/xymon/log_list.sh b/abs/core/xymon/log_list.sh
new file mode 100644
index 0000000..b8ce066
--- /dev/null
+++ b/abs/core/xymon/log_list.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+#This file is used provide a list of log files for xymon client to send back.
+# This is needed because of the dynamic nature of the log file names
+DATE=`date +%Y-%m-%d`
+HOST=`hostname`
+logdir="/var/log/$DATE/"
+for i in messages.log
+do
+
+ echo $logdir${HOST}_$i
+
+done
diff --git a/abs/core/xymon/logrotate.xymon b/abs/core/xymon/logrotate.xymon
new file mode 100644
index 0000000..a86a0ba
--- /dev/null
+++ b/abs/core/xymon/logrotate.xymon
@@ -0,0 +1,11 @@
+/var/log/hobbit/* {
+ missingok
+ daily
+ rotate 2
+ compress
+ postrotate
+ sv restart xymon-server
+ sv restart xymon-client
+ endscript
+
+}
diff --git a/abs/core/xymon/tasks.d.mv b/abs/core/xymon/tasks.d.mv
new file mode 100644
index 0000000..696cb4e
--- /dev/null
+++ b/abs/core/xymon/tasks.d.mv
@@ -0,0 +1,39 @@
+[storage]
+
+ ENVFILE /data/srv/xymon/server/etc/xymonserver.cfg
+ CMD /data/srv/xymon/server/ext/hobbitstorage.py
+ LOGFILE $BBSERVERLOGS/bb-storage.log
+ INTERVAL 5m
+[notes]
+ ENVFILE /data/srv/xymon/server/etc/xymonserver.cfg
+ CMD /data/srv/xymon/server/ext/hbnotes.py
+ LOGFILE $BBSERVERLOGS/bb-notes.log
+ INTERVAL 5m
+[orphan]
+ ENVFILE /data/srv/xymon/server/etc/xymonserver.cfg
+ CMD /data/srv/xymon/server/ext/hobbit-myth-orphan.sh
+ LOGFILE $BBSERVERLOGS/orphan.log
+ INTERVAL 5m
+
+[func]
+ ENVFILE /data/srv/xymon/server/etc/xymonserver.cfg
+ CMD /data/srv/xymon/server/ext/hbfunc.py
+ LOGFILE $BBSERVERLOGS/hbfunc.log
+ INTERVAL 5m
+
+[memmyth]
+ ENVFILE /data/srv/xymon/server/etc/xymonserver.cfg
+ CMD /data/srv/xymon/server/ext/hobbit-mem-myth.sh
+ LOGFILE $BBSERVERLOGS/mythmem.log
+ INTERVAL 5m
+
+[mtc]
+ ENVFILE /data/srv/xymon/server/etc/xymonserver.cfg
+ CMD /data/srv/xymon/server/ext/hobbit_myth_data.py
+ LOGFILE $BBSERVERLOGS/mtc
+ INTERVAL 5m
+[ghost]
+ ENVFILE /data/srv/xymon/server/etc/xymonserver.cfg
+ CMD /data/srv/xymon/server/bin/hobbitadd.py
+ LOGFILE $BBSERVERLOGS/hobbitadd.log
+ INTERVAL 5m
diff --git a/abs/core/xymon/tuner.png b/abs/core/xymon/tuner.png
new file mode 100644
index 0000000..e4ca198
--- /dev/null
+++ b/abs/core/xymon/tuner.png
Binary files differ
diff --git a/abs/core/xymon/tv.png b/abs/core/xymon/tv.png
new file mode 100644
index 0000000..9c4490c
--- /dev/null
+++ b/abs/core/xymon/tv.png
Binary files differ
diff --git a/abs/core/xymon/xymon-client.install b/abs/core/xymon/xymon-client.install
new file mode 100644
index 0000000..301fc1f
--- /dev/null
+++ b/abs/core/xymon/xymon-client.install
@@ -0,0 +1,22 @@
+post_install() {
+ . /etc/systemconfig
+ sed -i -e "s/127.0.0.1/$dbhost/" /data/srv/xymon/client/etc/xymonclient.cfg
+ chown -R nobody /data/srv/xymon
+
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ /bin/true
+}
+
+pre_remove() {
+ /bin/true
+}
+op=$1
+shift
+$op $*
+# vim: ft=sh ts=2
diff --git a/abs/core/xymon/xymon.install b/abs/core/xymon/xymon.install
new file mode 100644
index 0000000..08fbd8c
--- /dev/null
+++ b/abs/core/xymon/xymon.install
@@ -0,0 +1,68 @@
+post_install() {
+ . /etc/systemconfig
+ if [ ! -f /data/srv/xymon/server/ext/ignoreclient.py ]
+ then
+ echo "#this is a list of hosts to ignore" > /data/srv/xymon/server/ext/ignoreclient.py
+ echo ignorehosts=\"\'ignoreme1\',\'ignoreme2\'\" >> /data/srv/xymon/server/ext/ignoreclient.py
+ fi
+
+ if [ ! -f /data/srv/httpd/htdocs/failed_func_hosts ]
+ then
+ touch /data/srv/httpd/htdocs/failed_func_hosts
+ fi
+ chown nobody:nobody /data/srv/httpd/htdocs/failed_func_hosts
+ chmod 777 /data/srv/httpd/htdocs/failed_func_hosts
+
+
+ sed -i -e "s/localhost/$hostname/" /data/srv/xymon/server/etc/hosts.cfg
+ sed -i -e "s/\#/\# func/" /data/srv/xymon/server/etc/hosts.cfg
+ sed -i -e "s/localhost/$hostname/" /data/srv/xymon/server/etc/xymonserver.cfg
+ chown -R nobody /data/srv/xymon
+ chown -R nobody /data/srv/httpd/htdocs/xymon
+ chown -R nobody /var/log/hobbit
+ chown root /data/srv/xymon/server/bin/xymonping
+ chmod +s /data/srv/xymon/server/bin/xymonping
+ echo "Adding sudo permissions for nobody {certmaster-ca}"
+ echo "Adding sudo permissions for http {backup_job}"
+ LINE="nobody ALL = NOPASSWD:/usr/bin/certmaster-ca"
+ LINE1="http ALL = NOPASSWD:/usr/MythVantage/bin/backup_job"
+
+ for i in "$LINE" "$LINE1"
+ do
+ cp /etc/sudoers /etc/sudoers.bak
+ grep -q "$i" /etc/sudoers
+ if [ $? != 0 ]
+ then
+ echo "$i" >> /etc/sudoers
+ visudo -cf /etc/sudoers
+ if [ ! $? = 0 ]
+ then
+ cp /etc/sudoers.bak /etc/sudoers
+ echo $i
+ echo "Error adding files"
+ exit 1
+ fi
+ fi
+ done
+
+
+
+
+
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ rm -f /data/srv/httpd/htdocs/xymon/index.html
+}
+
+pre_remove() {
+ /bin/true
+}
+op=$1
+shift
+$op $*
+# vim: ft=sh ts=2
diff --git a/abs/core/xymon/xymon_ghost_check b/abs/core/xymon/xymon_ghost_check
new file mode 100644
index 0000000..e51efb6
--- /dev/null
+++ b/abs/core/xymon/xymon_ghost_check
@@ -0,0 +1,2 @@
+#!/bin/bash
+/usr/bin/sudo -u nobody /data/srv/xymon/server/bin/hobbitadd.py
diff --git a/abs/core/xymon/xymonserver.cfg.diff b/abs/core/xymon/xymonserver.cfg.diff
new file mode 100644
index 0000000..a8a469d
--- /dev/null
+++ b/abs/core/xymon/xymonserver.cfg.diff
@@ -0,0 +1,29 @@
+--- xymonserver.cfg.orig 2011-11-22 07:58:19.405933864 -0800
++++ xymonserver.cfg 2011-11-22 08:01:32.452933536 -0800
+@@ -125,6 +125,10 @@
+ RRDHEIGHT="120"
+ RRDWIDTH="576" # The RRD's contain 576 data points, so this is a good value
+
++NCV_storage="*:GAUGE"
++NCV_memmbe="*:GAUGE"
++NCV_memmfe="*:GAUGE"
++
+ # TEST2RRD defines the status- and data-messages you want to collect RRD data
+ # about. You will normally not need to modify this, unless you have added a
+ # script to pick up RRD data from custom tests (the xymond_rrd --extra-script
+@@ -136,11 +140,13 @@
+ #
+ # This is also used by the svcstatus.cgi script to determine if the detailed
+ # status view of a test should include a graph.
+-TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
++#TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
++TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage=ncv,memmbe=ncv,memmfe=ncv"
+
+ # This defines which RRD files to include on the "trends" column webpage,
+ # and the order in which they appear.
+-GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
++#GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
++GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage,memmbe,memmfe"
+
+ # These two settings can be used to restrict what filesystems are being
+ # tracked (i.e. have their utilisation graphed) by Xymon.
diff --git a/abs/extra/ddclient/PKGBUILD b/abs/extra/ddclient/PKGBUILD
index 4942d7b..77be4a8 100644
--- a/abs/extra/ddclient/PKGBUILD
+++ b/abs/extra/ddclient/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=ddclient
pkgver=3.8.0
-pkgrel=2
+pkgrel=4
pkgdesc="Update dynamic DNS entries for accounts on many dynamic DNS services."
arch=('any')
url="http://ddclient.sourceforge.net/"
@@ -12,13 +12,11 @@ license=('GPL2')
depends=('perl' 'perl-io-socket-ssl')
backup=('etc/ddclient/ddclient.conf' 'etc/conf.d/ddclient')
install=ddclient.install
-source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 ddclient.rc ddclient.conf.d)
-md5sums=('6cac7a5eb1da781bfd4d98cef0b21f8e'
- '7035bf8132f3517a59167f61ee5e8b90'
- 'b8f39c82827776da948b76ef83544d33')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 ddclient.rc ddclient.conf.d ddclient-foreground.patch)
build() {
cd ${srcdir}/ddclient-${pkgver}
+ patch < ${srcdir}/ddclient-foreground.patch
# core files
install -D -m755 ddclient ${pkgdir}/usr/sbin/ddclient
@@ -33,3 +31,7 @@ build() {
install -D -m644 sample-etc_dhcpc_dhcpcd-eth0.exe ${pkgdir}/etc/ddclient/samples/sample-etc_dhcpc_dhcpcd-eth0.exe
install -D -m644 sample-etc_ppp_ip-up.local ${pkgdir}/etc/ddclient/samples/sample-etc_ppp_ip-up.local
}
+md5sums=('6cac7a5eb1da781bfd4d98cef0b21f8e'
+ '7035bf8132f3517a59167f61ee5e8b90'
+ 'b8f39c82827776da948b76ef83544d33'
+ 'd8ffc95f98f9afcb4a06a1e192220e35')
diff --git a/abs/extra/ddclient/__changelog b/abs/extra/ddclient/__changelog
new file mode 100644
index 0000000..64ae3f0
--- /dev/null
+++ b/abs/extra/ddclient/__changelog
@@ -0,0 +1 @@
+add ddclient-foreground.patch. Without this ddclient will not work with runit
diff --git a/abs/extra/ddclient/ddclient-foreground.patch b/abs/extra/ddclient/ddclient-foreground.patch
new file mode 100644
index 0000000..a814ede
--- /dev/null
+++ b/abs/extra/ddclient/ddclient-foreground.patch
@@ -0,0 +1,47 @@
+--- ../ddclient-orig/ddclient 2009-10-19 22:45:15.000000000 +1030
++++ ddclient 2009-10-19 22:50:11.000000000 +1030
+@@ -307,6 +307,7 @@
+ my %variables = (
+ 'global-defaults' => {
+ 'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')),
++ 'foreground' => setv(T_BOOL, 0, 0, 1, 0, undef),
+ 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef),
+ 'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef),
+ 'pid' => setv(T_FILE, 0, 0, 1, "", undef),
+@@ -535,6 +536,7 @@
+ "usage: ${program} [options]",
+ "options are:",
+ [ "daemon", "=s", "-daemon delay : run as a daemon, specify delay as an interval." ],
++ [ "foreground", "!", "-foreground : do not fork" ],
+ [ "proxy", "=s", "-proxy host : use 'host' as the HTTP proxy" ],
+ [ "server", "=s", "-server host : update DNS information on 'host'" ],
+ [ "protocol", "=s", "-protocol type : update protocol used" ],
+@@ -623,7 +625,10 @@
+ $SIG{'HUP'} = sub { $caught_hup = 1; };
+ $SIG{'TERM'} = sub { $caught_term = 1; };
+ $SIG{'KILL'} = sub { $caught_kill = 1; };
+-if (opt('daemon') && !opt('force')) {
++# don't fork() if foreground or force is on
++if (opt('foreground') || opt('force')) {
++ ;
++} elsif (opt('daemon')) {
+ $SIG{'CHLD'} = 'IGNORE';
+ my $pid = fork;
+ if ($pid < 0) {
+@@ -633,12 +638,15 @@
+ exit 0;
+ }
+ $SIG{'CHLD'} = 'DEFAULT';
+- $opt{'syslog'} = 1;
+ open(STDOUT, ">/dev/null");
+ open(STDERR, ">/dev/null");
+ open(STDIN, "</dev/null");
++}
+
++# write out the pid file if we're daemon'ized
++if(opt('daemon')) {
+ write_pid();
++ $opt{'syslog'} = 1;
+ }
+
+ umask 077;
diff --git a/abs/extra/wol/PKGBUILD b/abs/extra/wol/PKGBUILD
index a9bb4eb..87bfc70 100755
--- a/abs/extra/wol/PKGBUILD
+++ b/abs/extra/wol/PKGBUILD
@@ -1,19 +1,27 @@
+# $Id: PKGBUILD 17446 2010-05-24 10:42:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Anders Bergh <anders1@gmail.com>
# Contributor: Markus Volkmann <mcfock@counterstrike.de>
+
pkgname=wol
pkgver=0.7.1
-pkgrel=3
+pkgrel=4
+arch=('i686' 'x86_64')
pkgdesc="wol implements Wake On LAN functionality in a small program. It wakes up hardware that is Magic Packet compliant."
-license="GPL"
+license=("GPL")
+depends=(sh)
url="http://ahh.sourceforge.net/wol/"
-arch=('i686')
-source=(http://easynews.dl.sourceforge.net/sourceforge/ahh/wol-$pkgver.tar.gz wakeonlan.sh)
+install=wol.install
+source=(http://downloads.sourceforge.net/ahh/wol-$pkgver.tar.gz)
md5sums=('c2fa9d7e771134ac8c89d56b8197d4ca')
build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
- make || return 1
- make prefix=$startdir/pkg/usr install
- install -m755 $startdir/src/wakeonlan.sh $startdir/pkg/usr/bin/wakeonlan.sh
-}
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make prefix=$startdir/pkg/usr install || return 1
+ mv $pkgdir/usr/man $pkgdir/usr/share/ && \
+ mv $pkgdir/usr/info $pkgdir/usr/share/ && \
+ rm $pkgdir/usr/share/info/dir
+}
diff --git a/abs/extra/wol/wakeonlan.sh b/abs/extra/wol/wakeonlan.sh
deleted file mode 100755
index f87dd34..0000000
--- a/abs/extra/wol/wakeonlan.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-DIR="/data/srv/hobbit/var/hostdata/$1"
-FILE=`ls -t --group-directories-first $DIR|tail -n 1`
-for mac in `grep HW "$DIR/$FILE" |awk '{ print $5 } '`
-do
- /usr/bin/wol -v $mac
-done
-
-
-
diff --git a/abs/extra/wol/wol.install b/abs/extra/wol/wol.install
new file mode 100644
index 0000000..500ea57
--- /dev/null
+++ b/abs/extra/wol/wol.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(wol.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}