Description: This is a bash script that grabs the latest SVN of bespin, compiles, then installs it system wide.
You should run the script from your home folder.
The script calls sudo so if your distro uses something else you may need to modify the script. ( Leave a comment with the changes you made and perhaps I can make the script more intelligent. )
TODO: I would like to make the script more universal. Also, I would like the script to install the presets, the KDM theme, bootsplash, and the pictures included with the bootsplash and KDM theme as wallpapers.
Here is the contents of the script.
#!/bin/bash
# This script will get, then build and install the Bespin style, window decoration, and xbar plasmoid for KDE. # You should have all of the build dependencies installed already. Consult your distribution's documentation for instructions on how to do this.
svn co https://cloudcity.svn.sourceforge.net/svnroot/cloudcity
if [ ! -d ~/cloudcity/build ]; then mkdir ~/cloudcity/build cd ~/cloudcity/build else cd ~/cloudcity/build fi
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .. make sudo make installLast changelog:
you can make use of the bespin command line interface to import them
bespin import <some_preset.bespin> will install one, but also create a new entry (using a counter -> Default#2)
i could add "bespin update <some_preset.bespin>"
as for the kdm theme (and bash)
kdm_path="$(kde4-config --path data)"
kdm_path="${kdm_path##*:}kdm/themes/"
-> there goes the bespin folder
kdm_rc="$(kde4-config --path config)"
kdm_rc="${kdm_path##*:}kdm/kdmrc"
-> this is where kdm stores it's settings
sed -i -e "s%^Theme=.*%Theme=${kdm_path}bespin%g" "$kdm_rc"
!!!
use e.g. '%' as delimiter for sed's swiss army knife, not '/' (as it appears in the paths)
the above will only catch entries with "Theme" at the very beginning of the line, reason:
at least "UseTheme=true" is in use as well (you could catch this by appending a substitution that sed's "UseTheme=true", but you need to prevent overriding other entries)
-> you could catch blanks before "Theme" as your homework ;-)
last on the bootsplash theme:
i strongly suggest to KEEP AWAY FROM THAT
it's not like it's broken, evil or ugly, but this usually includes updating the initrd.
as there's afaik no std. way to do this, it should be entirely up to the distros and on their responsibility to do that.
i strongly suggest to /NOT/ do that by a generic theme (while it could work e.g. on Ubuntu, maybe your opensuse won't boot next time, and not exactly everyone is capable of running a lifesystem and fixing his grub - OR LILO from there...)
Thanks for the tips and for all of your work on Bespin.
This is my first bash script that goes beyond just calling external programs in sequence.
And yes, I did read the readme, really.
I was hoping to make things like the bootsplash install on a command line switch added after the script name on the command line with a strong warning.
As for the preset thing, I didn't know that the bespin external config dialog had commandline options. ( Though I never really looked. ) But, yes I knew that if you import the same preset twice they go in numbered sequence.
So, I was trying to think of a way to only add changed or new presets. Perhaps create a new presets group file then dif and merge and/or string compare?
But if you make ( or have made if I read that wrong ) an update commandline option it would make my life easier. ;)
Anyway, I will try to incorporate your suggestions into the script sometime in the next few days, I still have a lot of trees to plant and a garden to till by hand.
Ratings & Comments
2 Comments
you can make use of the bespin command line interface to import them bespin import <some_preset.bespin> will install one, but also create a new entry (using a counter -> Default#2) i could add "bespin update <some_preset.bespin>" as for the kdm theme (and bash) kdm_path="$(kde4-config --path data)" kdm_path="${kdm_path##*:}kdm/themes/" -> there goes the bespin folder kdm_rc="$(kde4-config --path config)" kdm_rc="${kdm_path##*:}kdm/kdmrc" -> this is where kdm stores it's settings sed -i -e "s%^Theme=.*%Theme=${kdm_path}bespin%g" "$kdm_rc" !!! use e.g. '%' as delimiter for sed's swiss army knife, not '/' (as it appears in the paths) the above will only catch entries with "Theme" at the very beginning of the line, reason: at least "UseTheme=true" is in use as well (you could catch this by appending a substitution that sed's "UseTheme=true", but you need to prevent overriding other entries) -> you could catch blanks before "Theme" as your homework ;-) last on the bootsplash theme: i strongly suggest to KEEP AWAY FROM THAT it's not like it's broken, evil or ugly, but this usually includes updating the initrd. as there's afaik no std. way to do this, it should be entirely up to the distros and on their responsibility to do that. i strongly suggest to /NOT/ do that by a generic theme (while it could work e.g. on Ubuntu, maybe your opensuse won't boot next time, and not exactly everyone is capable of running a lifesystem and fixing his grub - OR LILO from there...)
Thanks for the tips and for all of your work on Bespin. This is my first bash script that goes beyond just calling external programs in sequence. And yes, I did read the readme, really. I was hoping to make things like the bootsplash install on a command line switch added after the script name on the command line with a strong warning. As for the preset thing, I didn't know that the bespin external config dialog had commandline options. ( Though I never really looked. ) But, yes I knew that if you import the same preset twice they go in numbered sequence. So, I was trying to think of a way to only add changed or new presets. Perhaps create a new presets group file then dif and merge and/or string compare? But if you make ( or have made if I read that wrong ) an update commandline option it would make my life easier. ;) Anyway, I will try to incorporate your suggestions into the script sometime in the next few days, I still have a lot of trees to plant and a garden to till by hand.