Puppy 4.2 - Desktop and Artwork
Posted: Sat 11 Oct 2008, 18:52
Hello Puppians
I have lately looked at the desktop of Puppy. In my (very personal) eyes, it's easy to see possible improvements. Together with my friend Raymond Levang (who also helped us with Pmusic), I have made a suggestion for organizing and artwork on the Puppy desktop. If this sounds interesting for Puppy 4.2, I'm willing to continue the work. Else it will just end up here on my desktop, which was the internal goal.
My complete Puppy theme is called 'DeepThought', and are based on my already existing stardust gtk-theme and icons. The icons has become orange, as a contrast to the clear (cold) graphics in Puppy 4.0 and 4.1.
First impression is important. There should be something to look at, but not screaming to you. I want the clean destop to give you a relaxed mood. Also, this gives the chance to add more 'bling' to the more important areas. These areas will differ, depending on what you click on. On the default screen, the icons (top left) are given most intensity. The menu-button has become orange, since it definitive is very important. Whatever that should get users attention is given more energy than the smooth grayish background, widgets and pup_event icons. Menu and utility-bar is only seen when it's active, so it will not disturb the whole if these are colored with a 'screaming' pencil. They are important when seen, and should easy get focus on screen. Else, you're back to the calm relaxing desktop.
There are 5 categories I have looked at. All choices are made with size/bloat in mind.
1. GTK
I have reworked the Stardust theme. Now a bit darker with spots of orange.
It has got some more bloat, and will add another 20kb your system.
DeepThought_gtk-0.2.pet (21kb)
I have also made an upgrade of the existing Stardust gtk theme.
Stardust-2008-10-09.pet (11kb)
2. JWM
There is a new jwm-theme that follows my global thought. - Calm Black/gray of what's on the desktop, and orange on autohide objects like the Menu and utility bar. The utlity bar is on top of screen, and are meant for utilities you often use. For me that is Rxvt, Pfind, Pprocess, Pwireless, cups ...
- The 'show desktop' button we are used to on the tray, are here moved to the utility bar. This is good for the baby-laptops which has limited screen. And it all looks cleaner.
- The clock has got a facelift with new color, new font (digital charge), and shows 24 hour format. The font is not included in these jwm packages, but as a part of Pwidgets.
- I have made bigger orange corners for resizing windows.
Jwm has limitations when it comes to theming, so instead of complaining about missing options, I have tried to build a theme that feels ok with a rather minimalistic look.
- Just gray/black window decoration
- The menu is flat, so flat icons cooperate well.
It is all seperated in 2 different packages:
First the ordinary jwm-theme. This will install like all the other jwm-themes. You'll set it in the 'JWM configuration'. This is the graphical artwork.
DeepThought_jwm-0.1.pet (1kb)
The next packages defines how the desktop is organized. This includes 4 trays, 2 new programs for editing items on desktop and in utility tray, a new menu button , improved menu formating, a hacked 'Desktop icon switcher, and some tray icons.
Be aware - This could be risky! It's like a snake in your system, and NOT widely tested. If you intend to install this, you should read the notes in the end of this post about 'Menu format', 'Removed trayapps' and 'Programs to desktop'.
Requires the icon package.
After installation:
- Run 'fixmenus' in terminal.
- Restart X to update new rox settings.
DeepThought_jwm_tray-0.4.pet (16kb)
3. ICONS
Here's a lot new. I have removed most icons on the desktop. In my mind, it is more logical to show icons meant for newbies in the Welcome screen. I'm thinking of Setup, Help and Install... Utilities like Rxvt, Edit and Xlock should be placed in utility bar. Like this they are always reachable, even if desktop is filled with windows. The connect button is somewhat special in Puppy. This is an important icon, but I think it should be doable to integrate it with the www icon. - If no connection is established, then start the connect wizard.
The DeepThought icon-theme have now 3 categories:
- 48x48 - Gray / Orange / Black for programs on desktop, and for the utility tray.
- 48x48 pupevent - gray (dimmed) icons for mounting
- 24x24 menu - simple flat orange
DeepThought_icons-0.2.pet (225kb)
The pup_event icons are dimmed when not mounted. A nice effect that also calm down the overall impression of the desktop. The green/yellow dot is kept for its compatibility with mounted folders in rox .
I have increased the number of 48x48 icons by a few more. This to ensure that all installed programs in Puppy has a proper icon that fits on the desktop. The complete set of icons are showed here.
An interesting alternative icon-theme is jebaJQ8s great looking mini-theme. This is only 27kb. I have repacked to fit my new icon-theme standard. It means it will work together with the icon2desk script (drag icons/programs to desktop).
JQ8flat-lite-0.2.pet (27kb)
4. WALLPAPER
Here's a Puppy wallpaper pack. Orange, Blue, green and gray.
1.) DeepThought.png
2.) Stardust.png
3.) Aurora.png
4.) Rastapax.png
You might think that: "Ok, this looks ordinary", and you're quite right
The only difference is that these wallpapers are only 12 kb, - all 4 together.
- The rastapax image fits good on systems that runs with 16 bits colordepth.
- Using this pack instead of the Puppy wallpapers in 4.12, will save the iso for about 250 kb.
- It seems to be popular with dark backgrounds these days. The DeepThought wallpaper is made light, to fit better on older/cheaper screens (like mine). But it is still warm, to fit the rest of the theme and our global thought of how a Puppy desktop should look and function.
DeepThought_wallpaper-0.2.pet (12kb)
5. WIDGETS
I have started the work on Pwidgets. It is now a working widget manager app where user very easy can choose if he/she wants widgets, and which widgets he/she wants. It is not that easy to turn off the background processes for trayapps like freememapplet, xload and asapm. With Pwidgets, it is.
At the moment there are 9 different widgets available.
Putting Pwidgets into Puppy will need:
- Pwidgets (52 kb) (including xonclock)
- conky + dependencies (300 kb).
see Pwidgets for download and more info
OTHERS
PROGRAMS TO DESKTOP
I have made it easier to add programs/icons to desktop. The function is activated by the autohided left tray 'Add icon'. This is included in the jwm-tray package.
UTILITY TRAY
The utility tray has its own editor, so it's rather simple to add and remove items in YOUR tray. Tray icons are the same as the desktop icons (scaled), and will not include any new bloat to your Puppy. The utility tray both clean the desktop and gives quick links to most wanted programs and features (like 'Power OFF'). Tray and editor are included in the jwm-tray package.
DESKTOP ICON SWITCHER
J-Bob and Me has hacked the 'Desktop icon switcher'.
- The startbutton is now a part of the icon-theme.
- The icon themes may contain symlinks.
- It cooperates with Pwidgets.
The hacked script is a part of the jwm_tray package.
MENU FORMAT
I have hacked the fixmenus script.
1.) The menu has got some space between icon and text.
2.) I have split name and description for menu items with a - . The script asume that the first word is the program, and the rest is the description. What I have seen, nearly all packages is described like this. The only exceptions seems to be Barry own scripts, which often have no name, - only description. (ie 'set date and time'). The hacked fixmenus script treat these unique. This means that the split function will do a bad job with a new package without 'name (and) description'. This is somewhat funny , since Barry himself made the pet-scripts with the questions:
'Type application name:'
'Type the VERY SHORT description:'
3.) The script builds symlinks of all apps in the menu. These are used by the new functions to drag icon/program to desktop and the utility tray editor.
The script is added to the jwm-tray package.
BATTERY
The Battery widget checks whether battery power is below 10%, and gives then a red warning on top of screen.
The widget itself changes color from green to red when power goes below 20%.
see Pwidgets for download and more info
REMOVED TRAYAPPS
The trayapps freememapplet (9kb) and xload (6kb) has been replaced by widgets. The battery app - asapm (13kb), could also be replaced if wanted.
The trayapps are removed from the new /root/.jwmrc-tray. I have also killed the trayapps in my /root/.xinitrc. Else they will load, and freememapplet will show up in a normal window. Here is the bottom of my /root/.xinitrc:
When updating jwm after changing jwm-theme, the script /usr/local/jwmconfig2/theme_switcher generates a new line for xload in /root/.jwm-tray. If xload isn't there, .jwm-tray are totally blanked out. I have here unmarked the xload code in /usr/local/jwmconfig2/icon_switcher (the following code starts at line 78 )
My hacked script is in the jwm-tray package to avoid conflicts.
PMUSIC
Puppy 4.1 contains the default Pmusic-theme (22kb). I think this could be skipped with the new gtk-theme.
It looks really good as is.
ORANGE SPLASHES
I have made a tiny script that converts all 'orange' splashes to smoother color.
I have always been reminded of Puppys undesigned look when meeting those barbarian oranges.
SEAMONKEY
ttuuxxx has help us with a improved theme for Seamonkey.
This is available and are 14 kb. But since it replaces default icons, it will not give much bloat when used as default in Puppy 4.2.
DeepThought_seamonkey-0.1.pet
GRUB
A very tiny grub splash (6kb) is maybe a bit off the road, but nice for those who wants to dive a little bit deeper.
I have added to my /boot/grub/menu.lst:The splash itself is splash.xpm.gz. For more info about making a more beautiful grub, take a look at this wizard.
RXVT
And if you also want a matching terminal, you can run it with the command:
Ok, this is my draft for the 'new' Puppy. I have been tweaking on this for a while, and will continue to ... But I felt I had enough to share some thoughts.
Sigmund Berglund
I have lately looked at the desktop of Puppy. In my (very personal) eyes, it's easy to see possible improvements. Together with my friend Raymond Levang (who also helped us with Pmusic), I have made a suggestion for organizing and artwork on the Puppy desktop. If this sounds interesting for Puppy 4.2, I'm willing to continue the work. Else it will just end up here on my desktop, which was the internal goal.
My complete Puppy theme is called 'DeepThought', and are based on my already existing stardust gtk-theme and icons. The icons has become orange, as a contrast to the clear (cold) graphics in Puppy 4.0 and 4.1.
First impression is important. There should be something to look at, but not screaming to you. I want the clean destop to give you a relaxed mood. Also, this gives the chance to add more 'bling' to the more important areas. These areas will differ, depending on what you click on. On the default screen, the icons (top left) are given most intensity. The menu-button has become orange, since it definitive is very important. Whatever that should get users attention is given more energy than the smooth grayish background, widgets and pup_event icons. Menu and utility-bar is only seen when it's active, so it will not disturb the whole if these are colored with a 'screaming' pencil. They are important when seen, and should easy get focus on screen. Else, you're back to the calm relaxing desktop.
There are 5 categories I have looked at. All choices are made with size/bloat in mind.
1. GTK
I have reworked the Stardust theme. Now a bit darker with spots of orange.
It has got some more bloat, and will add another 20kb your system.
DeepThought_gtk-0.2.pet (21kb)
I have also made an upgrade of the existing Stardust gtk theme.
Stardust-2008-10-09.pet (11kb)
2. JWM
There is a new jwm-theme that follows my global thought. - Calm Black/gray of what's on the desktop, and orange on autohide objects like the Menu and utility bar. The utlity bar is on top of screen, and are meant for utilities you often use. For me that is Rxvt, Pfind, Pprocess, Pwireless, cups ...
- The 'show desktop' button we are used to on the tray, are here moved to the utility bar. This is good for the baby-laptops which has limited screen. And it all looks cleaner.
- The clock has got a facelift with new color, new font (digital charge), and shows 24 hour format. The font is not included in these jwm packages, but as a part of Pwidgets.
- I have made bigger orange corners for resizing windows.
Jwm has limitations when it comes to theming, so instead of complaining about missing options, I have tried to build a theme that feels ok with a rather minimalistic look.
- Just gray/black window decoration
- The menu is flat, so flat icons cooperate well.
It is all seperated in 2 different packages:
First the ordinary jwm-theme. This will install like all the other jwm-themes. You'll set it in the 'JWM configuration'. This is the graphical artwork.
DeepThought_jwm-0.1.pet (1kb)
The next packages defines how the desktop is organized. This includes 4 trays, 2 new programs for editing items on desktop and in utility tray, a new menu button , improved menu formating, a hacked 'Desktop icon switcher, and some tray icons.
Be aware - This could be risky! It's like a snake in your system, and NOT widely tested. If you intend to install this, you should read the notes in the end of this post about 'Menu format', 'Removed trayapps' and 'Programs to desktop'.
Requires the icon package.
After installation:
- Run 'fixmenus' in terminal.
- Restart X to update new rox settings.
DeepThought_jwm_tray-0.4.pet (16kb)
3. ICONS
Here's a lot new. I have removed most icons on the desktop. In my mind, it is more logical to show icons meant for newbies in the Welcome screen. I'm thinking of Setup, Help and Install... Utilities like Rxvt, Edit and Xlock should be placed in utility bar. Like this they are always reachable, even if desktop is filled with windows. The connect button is somewhat special in Puppy. This is an important icon, but I think it should be doable to integrate it with the www icon. - If no connection is established, then start the connect wizard.
The DeepThought icon-theme have now 3 categories:
- 48x48 - Gray / Orange / Black for programs on desktop, and for the utility tray.
- 48x48 pupevent - gray (dimmed) icons for mounting
- 24x24 menu - simple flat orange
DeepThought_icons-0.2.pet (225kb)
The pup_event icons are dimmed when not mounted. A nice effect that also calm down the overall impression of the desktop. The green/yellow dot is kept for its compatibility with mounted folders in rox .
I have increased the number of 48x48 icons by a few more. This to ensure that all installed programs in Puppy has a proper icon that fits on the desktop. The complete set of icons are showed here.
An interesting alternative icon-theme is jebaJQ8s great looking mini-theme. This is only 27kb. I have repacked to fit my new icon-theme standard. It means it will work together with the icon2desk script (drag icons/programs to desktop).
JQ8flat-lite-0.2.pet (27kb)
4. WALLPAPER
Here's a Puppy wallpaper pack. Orange, Blue, green and gray.
1.) DeepThought.png
2.) Stardust.png
3.) Aurora.png
4.) Rastapax.png
You might think that: "Ok, this looks ordinary", and you're quite right
The only difference is that these wallpapers are only 12 kb, - all 4 together.
- The rastapax image fits good on systems that runs with 16 bits colordepth.
- Using this pack instead of the Puppy wallpapers in 4.12, will save the iso for about 250 kb.
- It seems to be popular with dark backgrounds these days. The DeepThought wallpaper is made light, to fit better on older/cheaper screens (like mine). But it is still warm, to fit the rest of the theme and our global thought of how a Puppy desktop should look and function.
DeepThought_wallpaper-0.2.pet (12kb)
5. WIDGETS
I have started the work on Pwidgets. It is now a working widget manager app where user very easy can choose if he/she wants widgets, and which widgets he/she wants. It is not that easy to turn off the background processes for trayapps like freememapplet, xload and asapm. With Pwidgets, it is.
At the moment there are 9 different widgets available.
Putting Pwidgets into Puppy will need:
- Pwidgets (52 kb) (including xonclock)
- conky + dependencies (300 kb).
see Pwidgets for download and more info
OTHERS
PROGRAMS TO DESKTOP
I have made it easier to add programs/icons to desktop. The function is activated by the autohided left tray 'Add icon'. This is included in the jwm-tray package.
UTILITY TRAY
The utility tray has its own editor, so it's rather simple to add and remove items in YOUR tray. Tray icons are the same as the desktop icons (scaled), and will not include any new bloat to your Puppy. The utility tray both clean the desktop and gives quick links to most wanted programs and features (like 'Power OFF'). Tray and editor are included in the jwm-tray package.
DESKTOP ICON SWITCHER
J-Bob and Me has hacked the 'Desktop icon switcher'.
- The startbutton is now a part of the icon-theme.
- The icon themes may contain symlinks.
- It cooperates with Pwidgets.
The hacked script is a part of the jwm_tray package.
MENU FORMAT
I have hacked the fixmenus script.
1.) The menu has got some space between icon and text.
2.) I have split name and description for menu items with a - . The script asume that the first word is the program, and the rest is the description. What I have seen, nearly all packages is described like this. The only exceptions seems to be Barry own scripts, which often have no name, - only description. (ie 'set date and time'). The hacked fixmenus script treat these unique. This means that the split function will do a bad job with a new package without 'name (and) description'. This is somewhat funny , since Barry himself made the pet-scripts with the questions:
'Type application name:'
'Type the VERY SHORT description:'
3.) The script builds symlinks of all apps in the menu. These are used by the new functions to drag icon/program to desktop and the utility tray editor.
The script is added to the jwm-tray package.
Code: Select all
#!/bin/sh
#v2.14 Puppy now has XDG menus.
#this script builds the menus from template files.
#Any templates can be placed into /etc/xdg/templates, and the file must be
#named to show its final destination. For example, the template for JWM:
# _root_.jwmrc
#...the '_' will be converted to a '/', so the generated JWM config file is:
# /root/.jwmrc
# 5jan2008: fbpanel,lxpanel support developed by plinej.
# 1nov2008: zigbert
# - improved formating of menu
# - hardlinks of all menu-apps in $HOME/my-applications/bin/
#1nov2008:
#split name and description and
#symlink all menu-apps in $HOME/my-applications/bin/
APPS="`ls -1 /usr/share/applications | tr '\n' ' '`"
for I in $APPS
do
APP="/usr/share/applications/$I"
sed -i -e "s/ - / /g" $APP #remove old split
TMP="`cat $APP | grep -m 1 ^Exec= | cut -d ' ' -f 1 | cut -d '=' -f 2`"
EXEC=`which $TMP`
TMP=`readlink $EXEC`; if [ "$TMP" ]; then EXEC=`which $TMP`; fi #if symlink
TMP=`echo $EXEC | grep AppRun`; if [ "$TMP" ]; then TMP2=`dirname "$TMP"`; EXEC=`which $TMP2`; fi
echo $EXEC
ln -f $EXEC $HOME/my-applications/bin/
#Split: avoid split in the following menu entries:
[ "`grep 'Categories=X-SetupWizard' $APP`" ] && continue #all setup wizards
[ "`grep 'Name=Puppy ' $APP`" ] && continue #entries starting with 'Puppy'
[ "`grep 'Name=Add ' $APP`" ] && continue #entries starting with 'Add'
[ "`grep 'Name=Set ' $APP`" ] && continue #entries starting with 'Set'
[ "`grep 'Name=Configure Xlock screen locking' $APP`" ] && continue
[ "`grep 'Name=Desktop drive icons manager' $APP`" ] && continue
[ "`grep 'Name=Desktop icon switcher' $APP`" ] && continue
[ "`grep 'Name=Format floppy disk' $APP`" ] && continue
[ "`grep 'Name=JWM configuration' $APP`" ] && continue
[ "`grep 'Name=Remaster Puppy live-CD' $APP`" ] && continue
[ "`grep 'Name=Wizard Wizard' $APP`" ] && continue
[ "`grep 'Name=Xautoconnect to wireless network' $APP`" ] && continue
NAME="`cat $APP | grep -m 1 ^Name= | cut -d ' ' -f 1 | cut -d '=' -f 2`"
sed -i -e "s/^Name=$NAME /Name=$NAME \- /" $APP
done
#Puppy 2.14: XDG menu
TEMPLATES="`ls -1 /etc/xdg/templates | tr '\n' ' '`"
for ONETPL in $TEMPLATES
do
[ "$ONETPL" = "README.txt" ] && continue
ONEDEST="`echo -n "$ONETPL" | sed -e 's/_/\//g'`"
ONESRC="/etc/xdg/templates/$ONETPL"
echo "Generating $ONEDEST..."
[ -f $ONEDEST ] && mv -f $ONEDEST ${ONEDEST}-previous
cat $ONESRC |
while read ONELINE
do
EXECMENU="`echo -n "$ONELINE" | grep -o 'PUPPYMENU.*' | cut -f 2-5 -d ' '`"
if [ "$EXECMENU" = "" ];then
echo "$ONELINE" >> $ONEDEST
else
${EXECMENU} >> ${ONEDEST}
fi
done
done
#5jan2008: support for fbpanel, lxpanel...
[ -f /usr/bin/fbpanel_menu_refresh ] && fbpanel_menu_refresh
[ -f /usr/bin/lxpanel_menu_refresh ] && lxpanel_menu_refresh
#1nov2008: add space(s) beetween icon and text
sed -i -e 's/label="/label=" /g' ${ONEDEST}
###END###
The Battery widget checks whether battery power is below 10%, and gives then a red warning on top of screen.
The widget itself changes color from green to red when power goes below 20%.
see Pwidgets for download and more info
REMOVED TRAYAPPS
The trayapps freememapplet (9kb) and xload (6kb) has been replaced by widgets. The battery app - asapm (13kb), could also be replaced if wanted.
The trayapps are removed from the new /root/.jwmrc-tray. I have also killed the trayapps in my /root/.xinitrc. Else they will load, and freememapplet will show up in a normal window. Here is the bottom of my /root/.xinitrc:
Code: Select all
killall -9 freememapplet
killall -9 xload
#exec $CURRENTWM
#v2.11 GuestToo suggested this improvement...
which $CURRENTWM && exec $CURRENTWM
[ -x $CURRENTWM ] && exec $CURRENTWM
exec jwm
###END###
My hacked script is in the jwm-tray package to avoid conflicts.
Code: Select all
GetLineIndex "blinkydelayed"
linenumber=$?
echo $linenumber
# GetLineIndex "xload -nolabel"
# linenumber2=$?
# echo $linenumber2
lineNumber=`expr $linenumber`
# lineNumber2=`expr $linenumber2`
blinkyline=" blinkydelayed -bg \"$BackgroundColor\""
# xloadline=" xload -nolabel -fg red -hl white -bg \"$IndentedBackgroundColor\""
# sed -e "$lineNumber"i"$blinkyline" -e "$lineNumber"d -e "$lineNumber2"i"$xloadline" -e "$lineNumber2"d $TrayFileBak > $TrayFile
sed -e "$lineNumber"i"$blinkyline" -e "$lineNumber"d $TrayFileBak > $TrayFile
#end John Doe's code.
########
Puppy 4.1 contains the default Pmusic-theme (22kb). I think this could be skipped with the new gtk-theme.
It looks really good as is.
ORANGE SPLASHES
I have made a tiny script that converts all 'orange' splashes to smoother color.
I have always been reminded of Puppys undesigned look when meeting those barbarian oranges.
Code: Select all
#!/bin/bash
#Change the color of orange gxmessages and yaf-splash
#WARNING! This script changes ALL instances of the of the word 'orange' in all files in /usr/sbin/
ls -1 /usr/sbin > /tmp/splash-color
while read I in; do
sed -i -e 's/ "orange" / "peru" /g' /usr/sbin/$I #gxmessage
sed -i -e 's/ orange / peru /g' /usr/sbin/$I #yaf-splash
done < /tmp/splash-color
#unique apps
echo -e "\c" > /tmp/splash-color
echo /usr/bin/xsaneshell >> /tmp/splash-color
while read I in; do
sed -i -e 's/ "orange" / "peru" /g' $I #gxmessage
done < /tmp/splash-color
ttuuxxx has help us with a improved theme for Seamonkey.
This is available and are 14 kb. But since it replaces default icons, it will not give much bloat when used as default in Puppy 4.2.
DeepThought_seamonkey-0.1.pet
GRUB
A very tiny grub splash (6kb) is maybe a bit off the road, but nice for those who wants to dive a little bit deeper.
I have added to my /boot/grub/menu.lst:
Code: Select all
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
forground 555555
background 000000
RXVT
And if you also want a matching terminal, you can run it with the command:
Code: Select all
rxvt -fg peru -bg gray20
Ok, this is my draft for the 'new' Puppy. I have been tweaking on this for a while, and will continue to ... But I felt I had enough to share some thoughts.
Sigmund Berglund