Uh, this is going to be a very long post.
Hi Mike Walsh.
First when I entered the forum and being
RSH for a long time, I made a mistake when changing my password. I couldn't reproduce it and the forum function to receive the password (and/or to activate an account) didn't work on my mail address. So I couldn't log in anymore being RSH.
I just can't recall what happened to my
LazY Puppy account and why I couldn't login anymore.
To join the forum being ITSMERSH was possible only, because of rockedge created an email address for me after I got in contact to smokey01 by mail telling about the impossibilities to create a new account by the use of several german email providers. Never received the activation mail.
After I was banned being ITSMERSH, sequentially I visited the forum from time to time and found the problem still exists, keeps new members from joining the forum. So, I gave hotmail.com (someone mentioned hotmail.com in a post) a try to find out and this did work immediately. Meanwhile all user names I'd tried were not longer usable. So I created O.F.I.N.S.I.S. (Our Future Is Not Set In Stone).
The story of "leaving the forum" when I was
ITSMERSH by asking Flash for being banned should be known by forum members. So, no need to dig into this again.
No need to write O.F.I.N.S.I.S. all the time - just call me RSH or
Rainer.
***
Yes, I know about the
UDEV thingy by
jafadmin. That's pretty good if one wants to have a static mount point for a specific USB flash drive and/or USB hard drive.
At my home computers my LazY Puppies are installed onto the internal hard drive - usually to sda1. But on my computers e.g. at my girlfriends home or in my rehearsal room I'm booting from USB drives. So, on these computers my boot drive changes to /mnt/sdc1 or /mnt/sde1.
The
UDEV thingy is not usable then.
***
All my drives that is used to boot from generally do have three primary partitions plus one swap partition. At the beginning my boot partition was formatted to FAT32. Though, FAT32 can't store RoxApps. So, RoxApps won't work by clicking the directory. That's why I started to give a 2nd partition to my boot drive formatted to ext. Later I added the 3rd partition also formatted to ext.
I think it was
sc0ttman one day who came up with the
menu pipes in openbox. These menu pipes gave possibilities to have external scripts, files, RoxApps and some more within the openbox menu. So, I could start my RoxApps and scripts just by the menu.
I examined the code and created scripts to create menu pipes for JWM, as I was tired each time switching to openbox wm and editing all the files of openbox to have a menu equal like in JWM by default.
***
Since I'm using my LazY Puppies without save files or save directories in general from the beginning, I searched for a solution to have my 3 partitions known by the system, similar like /mnt/home when using a save file or directory.
So, I created a script which is examining
/etc/rc.d/PUPSTATE and builds a file where some information is stored like the boot partition. Since my drives where to boot from do have 3 partitions I named them:
Boot Partition
Parallel Partition 1
Parallel Partition 2
Which nowadays is sym-linked at boot to /mnt/home, /mnt/home2 and /mnt/home3.
In the early stages I used the created file containing that information to have easy access to directories on these 2 parallel partitions. Later I made them environment variables, so when I'm entering
echo $MYBOOTPRT into a terminal it returns e.g.: /mnt/sda1 or even /mnt/sde1 etc - depending on where to boot from.
Entering
echo $MYBOOTDIR into a terminal returns e.g. /mnt/sda1/ArtStudio64 for my own build of BionicPup64.
During the years of development I expanded the use of environment variables.
Here's the terminal output when I'm entering
$MY into the terminal and then hit TAB two times.
Code: Select all
root# $MY
$MYARDOURUNLIMITEDRAM $MYBOOTPRT $MYMNTHOMELINKS $MYRSHSCRIPTBOX
$MYARUNCLIPIT $MYCLIPBOARDDIR $MYMODULES $MYSARASCRIPTBOX
$MYARUNDESKREFRESH $MYCOPYFILESINTOOS $MYMOUSEACCEL $MYSAVEONEXITGUI
$MYARUNDESKUPDATE4VARIOMENU $MYCURSORTHEME $MYMOUSETHRESHOLD $MYSCREENSAVERDELAY
$MYARUNDESKWINMANAGER $MYDESKTOPICONS $MYNEMAUTOSTARTLIST $MYSCREENSAVERFLAG
$MYARUNDOCKBARX $MYDRIVEICONS $MYNEMDIR $MYSCRIPTS
$MYARUNDUNST $MYFILES $MYNEMRAPPDIR $MYSLEEPTIME
$MYARUNFIREWALLSTATUS $MYGLOBALFONTSIZE $MYNUMLOCKOPT $MYSTARTUPVMGROUP
$MYARUNFLSYNCLIENT $MYGLOBSETSDIR $MYPAR1PRT $MYSYMLINKSINLIST
$MYARUNFREEMEMAPPLET $MYICONPARTITIONS $MYPAR2PRT $MYSYMLINKSOUTLIST
$MYARUNLAZYTOM $MYICONPLACEEDGEGAP $MYPCONFIG $MYTIMEZONE
$MYARUNLIBTOPMENU $MYICONPLACEORIENTATION $MYPERSONALSETTINGSPOPUP $MYTOPLESSAPPKIOSK
$MYARUNNETMONWCE $MYICONPLACESPACING $MYPORTABLEAPPS $MYTRASHDIR
$MYARUNNETWORKTRAY $MYICONPLACESTARTGAP $MYPSLDIR $MYTTFREEMEMPARTITIONS
$MYARUNOBDPAGER $MYICONTHEME $MYPSLIB $MYVMGROUPWALLPAPERS
$MYARUNPARCELLITE $MYINTMODULES $MYPSLIBDIR $MYWALLPAPER
$MYARUNPMCPUTEMP $MYJWMAUTOHIDETRAY $MYRFPICONSIZE $MYWELCOMEFIRSTBOOT
$MYARUNPOWERAPPLET $MYJWMONTOPTRAY $MYROXAPPS $MYWINDOWMANAGER
$MYARUNRETROVOL $MYLABELPARTITIONS $MYRSHINTROXAPPS $MYWINEAPPS
$MYARUNWATCHPROCESSES $MYLINUXAPPS $MYRSHROXAPPS $MYWPDIR
$MYAUTOMATEDLINKS $MYLOCALTIME $MYRSHROXAPPS2 $MYXFETRASHDIR
$MYAUTOSTARTAPPS $MYLOOPDEVICES $MYRSHROXAPPS3
$MYAUTOSTARTFROMLIST $MYLPED $MYRSHROXAPPS4
$MYBOOTDIR $MYLPEDCONFIG $MYRSHROXAPPS5
root# $MY
After this I invented the
LazY Puppy Scripting Library. So, I'm also using FUNCTIONS as environment variables.
Here's the terminal output when I'm entering
psl into the terminal and then hit TAB two times.
Code: Select all
root# psl
Display all 111 possibilities? (y or n)
psl_1stucase psl_getappcategory psl_getwp psl_noext psl_setwinpos
psl_all1stucase psl_getappcomment pslib psl_noextbn psl_setwinsize
psl_all1stucasers psl_getappexec psl_icon2script psl_okmsg psl_setwp
psl_backupinitrd psl_getappgenname psl_imageviewer psl_okmsg1 psl_slideshow
psl_bin2morse psl_getappicon psl_info psl_okmsg2 psl_soft_wallpapers
psl_cleaninitrd psl_getappicon4gtk psl_initwingeo psl_opendir psl_sortlist
psl_cleansfsbackup psl_getappname psl_jwmpiperefresh psl_qr psl_sound
psl_cleantemp psl_getcfgfile psl_launcher psl_quickpoweroff psl_soundrec
psl_cleantmp psl_getcfgfileprefix psl_legend psl_quickreboot psl_spacereplace
psl_cleantopless psl_getdrivefrompath psl_lp2prefix psl_recordx2avi psl_stoprec
psl_combobox psl_getdriveonly psl_makerunscript psl_replace psl_strlcase
psl_date psl_getfirstchar psl_mdselect psl_savewinsize psl_strlen
psl_date4filename psl_getfreedrivemem psl_mfselect psl_screenframe psl_strucase
psl_deskrefresh psl_getinputsource psl_midiconnect psl_screenh psl_text2bin
psl_dev psl_getlineswitch psl_mkgettext psl_screenshot psl_time
psl_development psl_getlp2prefix psl_mkmenu psl_screenw psl_tree
psl_dirdir psl_getmntpath psl_mkmenutreewidget psl_setdesktop psl_wincenter
psl_drivelist psl_getpuprodir psl_mkprj2menu psl_setinputsource psl_xdte
psl_edit psl_getvar psl_mkprjmenu psl_setlineswitch psl_yesno
psl_errmsg psl_getvolume psl_mksvgbutton psl_setmcvolume
psl_extonly psl_getwingeo psl_mksvgguihead psl_setvmgroup
psl_fixmenus psl_getwinpos psl_mylang psl_setvolume
psl_funcs psl_getwinsize psl_mypup psl_setwingeo
root# psl
Example: psl_getdrivefrompath /mnt/sdc3/Images/Testimage.png returns the following:
Code: Select all
root# psl_getdrivefrompath /mnt/sdc3/Images/Testimage.png
sdc3
root#
All scripts from this
LazY Puppy Scripting Library are stored at
$MYROXAPPS/RSH or even
$MYRSHROXAPPS. They are loaded at bootup from automated generated code echoed into /etc/profile.local.user (which is called after /etc/profile.local).
So, my all LazY Puppies know their working environment which gives me easy and immediate access to all my external files, programs and scripts.
JUST BY CLICKING A MENU ENTRY!
Either by the default (but extended JWM) menu or by the menu pipes.
To store settings of programs like e.g. Geany I'm doing a right-click onto
/root/.config/geany, choosing
Store to S.I.N. and it stores the directory
/root/.config/geany within my N.E.M.E.S.I.S. directory, which is a sub-directory at $MYBOOTDIR. Then it sym-links it back to
/root/.config/geany. S.I.N. is a short form of
Store In NEMESIS.
The
Store to S.I.N. function is a RoxApp created automatically at boot.
Haha, even though this is just a short description and short listing of what I can do by running my LazY Puppies without save files/folders, I'm just hoping this wasn't too much confusing.
Environment variables are very, very useful!
EDIT:
You might pm jrb. I think he worked on a similar problem recently.
Done.