
Splash Installer
Source (link to git-repo or to original if based on someone elses unmodified work):
Description:
╭────────────────────────────────────────────────────────╮
This script serves as a minimalistic splash screen installer.
To use it, simply put it into the same directory with all
your installable splashes (which must end on .tar.bz2 - or
modify the tar and for in call) and make sure it is executable.
On invocation, it asks the user what and where to install while
it only touches user, not system, preferences and assumes that
there is an alike .kde*/share/apps directory in your home (~)
directory.
For each possible install location it does the following:
If there is no ksplash preference yet, we ask to create one.
If there already is a splash in ksplash/pics, we ask for
permission to overwrite it.
Provided the user has confirmed [y] we show a selection menu
of all .tar.bz2 files in the install scripts directory with
'.tar.bz2' extension stripped off.
After installation we look for a file starting with README
or readme and display it.
You may use & modify it freely as long as credit is given,
bugs to <cmue81 at gmx dot de>
For this text and install.sh click download
DISCLAIMER:
I cannot give any warranty that supplied code will function as
intended. Therefore you can also not hold me liable for any
damage which occurs through direct or indirect use of this code
(code == supplied shell script)
╰────────────────────────────────────────────────────────╯ Last changelog:
This script serves as a minimalistic splash screen installer.
To use it, simply put it into the same directory with all
your installable splashes (which must end on .tar.bz2 - or
modify the tar and for in call) and make sure it is executable.
On invocation, it asks the user what and where to install while
it only touches user, not system, preferences and assumes that
there is an alike .kde*/share/apps directory in your home (~)
directory.
For each possible install location it does the following:
If there is no ksplash preference yet, we ask to create one.
If there already is a splash in ksplash/pics, we ask for
permission to overwrite it.
Provided the user has confirmed [y] we show a selection menu
of all .tar.bz2 files in the install scripts directory with
'.tar.bz2' extension stripped off.
After installation we look for a file starting with README
or readme and display it.
You may use & modify it freely as long as credit is given,
bugs to <cmue81 at gmx dot de>
For this text and install.sh click download
DISCLAIMER:
I cannot give any warranty that supplied code will function as
intended. Therefore you can also not hold me liable for any
damage which occurs through direct or indirect use of this code
(code == supplied shell script)
╰────────────────────────────────────────────────────────╯
todo:
=====
graphical interface - can you script kde's interface like tcl/tk??
option to install splash system wide (vis su)??
--> Is there a shell variable pointing to the current kde installation in all distros? As kde is not necessarily in /opt/kde, how do I find out, where to install, if we want to install system-wide??
squish bugs??
Ratings & Comments
6 Comments
Hi Default KDE dir is $KDEDIR, you need it but it is not set every time in all dists I think. Maybe a backup of the old file is a good idea. have fun Felix
.. under way, but I need help: consider something like this exts={tar,{tar.,t}{gz,bz2},zip} will expand to a list: tar tar.gz tar.bz2 tgz tbz2 zip now next thing I want to do is chooseFrom=$(for i in *.$exts ; do echo $i | cut -d "." -f 1 ; done) how do I get *.$exts word expanded properly, prior to putting it into the command substitution, if you try this now echo $i should put out e.g. this-splash.tar whatever-splash.tar new-splash.tgz *.tar.bz2 *.tar.gz *.zip *.tbz2 setting nullglob didn't work as expected as it throws out my word list prior to the command substitution somehow I tried lots of stuff, read endless bash doc, but couldn't figure it out - I can however expand the list outside of command substitution statements ..confused? me too, please help thanx in advance, chris
.. last question - thing that matters is, how do I perform brace expansion or pathname expansion after parameter expansion in a shell script - is there a way? if yes, which come on, tell me ;-) echo $exts correctly gives assigned string but I want that assigned string to be brace expanded live well, chris
one solution might be exts=$(echo {tar,{tar.,t}{gz,bz2},zip}) echo $exts but it is no true solution in that echo *.$exts (logically) will not give *.tar *.tar.gz *.tar.bz2 *.tgz *.tbz2 *.zip (as I need it ;-), but tar tar.gz tar.bz2 tgz tbz2 zip
marko@vger:~$ exts=$(echo {tar,{tar.,t}{gz,bz2},zip}) marko@vger:~$ for i in $exts; do echo \*.$i; done *.tar *.tar.gz *.tar.bz2 *.tgz *.tbz2 *.zip
that is how I'm doing it now & I boldly claim to still have found that solution prior to your comment on my own ;-) my version is slightly different exts={... pattern=*.$exts menu=$(eval "for i in $pattern; do echo \$i ; done") cu