Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 23 Oct 2014, 17:58
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Unsorted
pDeskIcons - "Advanced" desktop Icon package
Moderators: deshlab, Flash, GuestToo, Ian, JohnMurga, Lobster
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [10 Posts]  
Author Message
ecomoney


Joined: 25 Nov 2005
Posts: 2183
Location: Lincolnshire, England

PostPosted: Fri 03 Apr 2009, 19:37    Post subject:  pDeskIcons - "Advanced" desktop Icon package
Subject description: Handles desktop icon double clicks by newbs, and adds tooltip and splashscreen feature
 

One of the main frustrations new users encounter when first running puppy linux is the fact it is set to single click to open applications. Double clicking (from their previous windoze training) produces two of whatever application the start from the desktop icons.

These icons are used extensively in EcoPup, a puplet I developed for use in a cybercafe I ran, and later customized for home use. They have proved very useful in giving a good first impression of Puppy Linux (v. important). They also provide a "tooltip" function when hovered over, and launch a simple splash screen. User feedback is very important, especially on slow computers. When they click on something they like to know something is actually happening as a result...this is especially true of slower machines like those Puppy is designed for where opening an application can take several seconds or more.

They are based on a script by guesttoo, the origional post about them I have lost. Technically I have very little knowlege of what they actually are...they seem to be some kind of subfolder hybrid launcher with a script "inside" that runs when they are clicked to launch an application and detect a double click. Inside they also have a file for the tooltip text when hovered over, and an xpm file for the icon graphic. You get "inside" by right clicking them and selecting "look inside", and a rox folder comes up with the files. I have also successfully put programs "inside" the icons...making them very portable, i.e. the executables are inside the folder. They can then be dragged and dropped between different pup_saves to transfer entire programs in one go....very powerful. None of those are in this pack however.

The script inside that runs when clicked is typically something like this

Code:
#!/bin/sh
# roxapp wrapper 0.0.1 - GuestToo - Feb 10, 2007

[ -r /tmp/firefox2.lck ] && exit
> /tmp/firefox2.lck;(sleep 3;rm -f /tmp/firefox2.lck)&

DISPLAY_TIME=6

if which gxmessage > /dev/null
then
  gxmessage -timeout $DISPLAY_TIME -buttons "" -bg "#d0ffd0" -borderless -center -title "Firefox" "
  Firefox is starting" &
else
  xmessage -timeout $DISPLAY_TIME -buttons "" -bg "#d0ffd0" -center -fn "10x20" -title "Firefox" " Firefox is starting " &
fi

export MOZ_DISABLE_PANGO=1
export G_FILENAME_ENCODING=UTF-8

exec defaultbrowser "$@"


the display time is hard coded (basically I have to guess) but at least it gives some kind of feedback. If opening firefox takes ten seconds...at least it warns the user they have to wait. Puppy doesnt have a "hourglass" feature when starting new apps, something that IMHO is severely lacking for a distro designed for slow hardware.

Like I say, there are arguments in the for and against camp for double clicking vs single clicking. Although I prefer single clicking (now I am used to it) double clicking is so intuitive for new users. This gives the best of both worlds...both single clicking and double clicking them produces just one instance of an application - what new and seasoned puppiers expect to happen.

I realise a lot of the code is copied in each of the icons (BAD programming practice), and many things are guessed at. I would also like to include a connection check for the launchers for apps that require a working internet connection (i.e. the browser). This will inform the user their internet connection is not currently setup, and offer to either work offline or launch the Internet Connection Wizard. Any tips on how to do this appreciated.

Im also nervous about disclosing some of my "nasty hacks" to the wider puppy community...but they work and they serve an important purpose! I have personally introduced linux to hundreds of people over the last few years, and I know from that experience that these make one huge difference to "linux newbs" first impression and initial acceptence of a new operating system....so many people are quick to dismiss what is unfamiliar and scurry back to their "comfort zones" in proprietary software.

Im hoping that by releasing them, they can be (vastly) improved by someone with more technical coding skill than I (i.e practically anyone on this forum). From what Ive seen of the difference they make to the impression that all important first boot, and puppy linux's rare and honorable intentions of being accessible to "linux newbs", that a vastly improved and "technically correct" version, or derivative with similar/better functions, will one day be included in mainstream puppy linux. I sincerely hope this is achievable.

The icons in this pack Im going to have to supply as a zip attachment to this post (my webserver is temporarily down with all of the software downloads and fixes for 4.2). I will edit it with some screenshots soon. It currently contains only the desktop icons used in EcoPup.
pDeskIcons-0.0.1.zip
Description 
zip

 Download 
Filename  pDeskIcons-0.0.1.zip 
Filesize  1.29 MB 
Downloaded  375 Time(s) 

_________________
Puppy Linux's Mission

Sorry, my server is down atm!
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
disciple

Joined: 20 May 2006
Posts: 6449
Location: Auckland, New Zealand

PostPosted: Fri 03 Apr 2009, 21:34    Post subject:  

Quote:
This gives the best of both worlds...both single clicking and double clicking them produces just one instance of an application - what new and seasoned puppiers expect to happen.

Sorry to be a bit pedantic, but double-click people still don't see what they expect to happen. They are used to having an additional set of functionally - something is selected if they click on it - but with these the program will be launched. And a Rox window will not match what happens on the desktop - if they double-click on a file in Rox it will open twice.
Why on earth not set Puppy up for double-clicks by default, and people can change to single-clicks if they want?
Especially since open/save dialogs require double-clicks...

_________________
DEATH TO SPREADSHEETS
- - -
Classic Puppy quotes
- - -
Beware the demented serfers!
Back to top
View user's profile Send private message 
ecomoney


Joined: 25 Nov 2005
Posts: 2183
Location: Lincolnshire, England

PostPosted: Sat 04 Apr 2009, 05:59    Post subject:  

I would totally agree disciple, double clicks would be the obvious choice for a distro aimed at "Linux Newbies", and the way that even most other Linux distros now do it. Thats not to say we cant do it better. Single click does make things so much easier, and makes other distros/windows seem "cludgy" to operate now I am used to it. This doesnt take long in my experience.

From my observations, I dont see many people actually highlighting their desktop icons, thats really of not a lot of use to computer users, why is this done?

_________________
Puppy Linux's Mission

Sorry, my server is down atm!
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
disciple

Joined: 20 May 2006
Posts: 6449
Location: Auckland, New Zealand

PostPosted: Sat 04 Apr 2009, 06:21    Post subject:  

Quote:
why is this done?

I think it is mostly useful if you want to select several things together and do something to them.
The more important point is not what single click is useful for, but simply that it is good to have consistency.
With your system the double-click behaviour is different on the pinboard from in a filer window, and and the single click behaviour is different in the gtk open/save dialogue from both of them.
In a standard Puppy only the open/save dialog is different. And if Rox is set up for double-click in filer windows and on the desktop, all three are consistent.

_________________
DEATH TO SPREADSHEETS
- - -
Classic Puppy quotes
- - -
Beware the demented serfers!
Back to top
View user's profile Send private message 
disciple

Joined: 20 May 2006
Posts: 6449
Location: Auckland, New Zealand

PostPosted: Sat 04 Apr 2009, 06:23    Post subject:  

BTW I do agree your system would be less disconcerting for newbies than the current default, but I think double-click settings would be much better... unless you know how to make the open/save dialogue use single-click?
_________________
DEATH TO SPREADSHEETS
- - -
Classic Puppy quotes
- - -
Beware the demented serfers!
Back to top
View user's profile Send private message 
ecomoney


Joined: 25 Nov 2005
Posts: 2183
Location: Lincolnshire, England

PostPosted: Sat 04 Apr 2009, 06:33    Post subject:  

Your right....consistency is important. When I install puppy for people, I set aside an hour. Since puppy is usually running by the time theyve come back from the kitchen with a coffee for me now Im not using windows (Very Cool ), I have plenty of time to give them training. Others who just download the ISO might not have access to someone to show them around.

Youve given me the idea for another possible feature...

_________________
Puppy Linux's Mission

Sorry, my server is down atm!
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
disciple

Joined: 20 May 2006
Posts: 6449
Location: Auckland, New Zealand

PostPosted: Sat 04 Apr 2009, 06:47    Post subject:  

Quote:
Youve given me the idea for another possible feature...

Hey, don't keep us in suspense Smile
We might have some useful input on the idea.

_________________
DEATH TO SPREADSHEETS
- - -
Classic Puppy quotes
- - -
Beware the demented serfers!
Back to top
View user's profile Send private message 
synth


Joined: 18 Mar 2009
Posts: 210

PostPosted: Sat 04 Apr 2009, 15:20    Post subject:  

@disciple & ecomoney: Just try Turbopup Smile

http://www.murga-linux.com/puppy/viewtopic.php?t=40477

You'll love the default setup.
Back to top
View user's profile Send private message 
amigo

Joined: 02 Apr 2007
Posts: 2260

PostPosted: Sat 04 Apr 2009, 15:49    Post subject:  

Uh, those are each an AppDir -mostly for use with ROX-Filer. The ROX-filer has a routine which checks all directories to see if the ar an AppDir and lets you execute the AppRun script inside simply by clicking on the icon for the directory. You can also run the AppRun script directly, or link them to a suitable progam name in you PATH, which allows them to be used with other file managers. They can also handle drag-n-drop which makes them very insteresting indeed.
I have about 50-75 AppDirs which I have created which include the sources. Each AppDir is completely self-contained -when you first click the unpackaged archive, the program will be compiled from the sources, installed locally inside the AppDir and then run from there. I also have a bunch of AppDirs which I really call WrapDirs, which, like some of yours, are simply wrappers to programs which are already installed on your system. I have a built setup which can use a preferences directory for any program that needs it.
To me, the drag-n-drop functionality is what makes them really special -it really turns the desktop paradigm upside down by orienting the user to his own files instead of the programs. In other words, instead of the user browsing the file system or menus, starting a program and then browsing again for a file to open, he simply drops the file on an icon to have the file acted on. My most sueful one is called ZipZap -it's just a wrapper around the various archive tools, but by using a special AppRun script, it 'discovers' what it should do. If you drop a compressed archive on it, it unpacks it. If you drop a plain file or a directory on it, it pops up a dialog and lets you choose what kind of archive to create from it.
I use AppDirs or WrapDirs for nearly every program which I use often -but rarely are they just a simple 'shortcut' which executes the program.
Of course, you can find many AppDirs on the ROX site, but they usually require python or ruby. Mine rely on just bash or sh, plus other common CLI utilities.
You may want to check out some of mine here:
http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/AppDirs/

Particularly this one:
http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/AppDirs/AppBuilder-0.4.tbz
AppBuilder is a template you can use to build either a wrapper or source-based AppDir. Compare the AppRun and other files with svereal of my pre-made AppDirs for ideas of how to implement your own.
Back to top
View user's profile Send private message 
WhoDo


Joined: 11 Jul 2006
Posts: 4441
Location: Lake Macquarie NSW Australia

PostPosted: Sat 04 Apr 2009, 18:24    Post subject:  

amigo wrote:
To me, the drag-n-drop functionality is what makes them really special -it really turns the desktop paradigm upside down by orienting the user to his own files instead of the programs. In other words, instead of the user browsing the file system or menus, starting a program and then browsing again for a file to open, he simply drops the file on an icon to have the file acted on.

Now THAT is what I call usability. I would have liked to implement that in Puppy 4.2 for the new Xarchiver application, but at the time didn't know how. Now I do thanks to you! Cool

amigo wrote:
My most sueful one is called ZipZap -it's just a wrapper around the various archive tools, but by using a special AppRun script, it 'discovers' what it should do. If you drop a compressed archive on it, it unpacks it. If you drop a plain file or a directory on it, it pops up a dialog and lets you choose what kind of archive to create from it.

Would you be kind enough to have a look at the archive features in Puppy 4.2 and suggest a neat way to handle archiving in line with what you've done here? I'm happy to learn, but you have the experience and knowledge with this, and I'd like our Puppy 4.2 users to benefit from that sooner rather than later. I'd like to release a patch that adds this functionality for Puppy 4.2 users. Are you up for it, amigo? Wink

amigo wrote:
Of course, you can find many AppDirs on the ROX site, but they usually require python or ruby. Mine rely on just bash or sh, plus other common CLI utilities.
You may want to check out some of mine here:
http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/AppDirs/

Yes, python and ruby are never likely to find their way into the standard Puppy on size grounds, so I'm really happy to see you sticking with bash etc for these features. Very Happy

amigo wrote:
Particularly this one:
http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/AppDirs/AppBuilder-0.4.tbz
AppBuilder is a template you can use to build either a wrapper or source-based AppDir. Compare the AppRun and other files with svereal of my pre-made AppDirs for ideas of how to implement your own.

Got it, thanks amigo! Wink

_________________
Actions speak louder than words ... and they usually work when words don't!
SIP:whodo@proxy01.sipphone.com; whodo@realsip.com
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [10 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Unsorted
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1076s ][ Queries: 13 (0.0196s) ][ GZIP on ]