You are not logged in.
Pages: 1
Hi All
For those of you who may not know, the rox file manager can be pretty much ran as a smallish desktop environment.
I have started putting together a little repo that has rox and some of it's useful counterparts. More will be added over the weekend. Please let me know of any rox parts you would like to see in the repo.
Add this to pacman.conf to access the repo
[rox]
Server = http://www.foxjames.co.uk/linux/rox
Follow it with pacman -Sy of course.
The few packages in the repo so far are
archive - archive handler for rox-filer
edit - text editor based on rox
mplayer-rox - rox wrapper for mplayer
oroborox - window manager for rox
ripper - cd ripper for rox
rox - rox filer obviously
rox-lib - rox libraries
rox-mime - rox mime type editor
rox-session - rox-session manager (if you use a ~.xinitrc back it up first)
roxterm - a lightweight terminal for rox
videothumbnail - video thumbnail viewer for rox
I would recommend installing all the packages that are there so far. Running rox-session will create a .xinitrc to run the rox-desktop, you will be asked which window manager you would like to use. I typed in oroborox, you can use openbox or any other wm you like.
Like I say it is incomplete, and probably will break, (considering I have never even made a package for AUR yet). Feedback would be nice on improvements etc etc.
Enjoy
Last edited by gazj (2008-12-14 10:59:43)
Offline
I used rox as a desktop for a while - comparatively fast to the things I was using before (namely xfce and kde), but in my experience rox has gotten a little slower over the years as a desktop; however I'll have to try it once more again ;-).
Cheers
The water never asked for a channel, and the channel never asked for water.
Offline
It's gone. What happened?
Offline
I think you (maybe me if I find some time) should make PKGBUILD of those applications. It would allow you to stop bothering with a custom repository, and would allow users to access them directly via AUR.
Offline
Ok repo is back up. Sorry about that I really didn't think anyone was using it, so i took it down. When I get some more time I will post the PKGBUILD's to AUR.
Please post any problems, I had to re-write the PKGBUILDS and did so in about an hour. They seem to work fine on my system but I can't garurantee anything on yours
Thanks
Last edited by gazj (2008-06-05 19:09:43)
Offline
Can we have some screenshots as well?
Have you Syued today?
Free music for free people! | Earthlings
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." -- A. de Saint-Exupery
Offline
of course
The best place to start is the rox home page
http://roscidus.com/desktop/
http://roscidus.com/desktop/screenshots
The devlopment is slow, but old risc os users will feel right at home
Everything is drag and drop. I.e you could have a firefox shortcut (sym link to the binary actually) on your bar at the bottom, then you should be able to drag a jpg or any other file to it and firefox should open it.
Give me a while and i'll post some screenies
There is a little problem with the newest version of rox-session at the moment, I am working on that.
Last edited by gazj (2008-06-05 20:06:39)
Offline
I love rox when i want some good lazy drag and drop, no rightclicking for menu. any wallpaper or picture in firefox i can drag and drop to filer and it opens wget and downloads it to that dir.
pretty cool how everything works in rox, too bad its pretty ugly. i still use filer alot though.
Offline
Nice. ROX and PCMan fill a special niche. I'll be watching for the PKGBUILDS too.
Offline
This thread got me thinking about rox filer and i ended up ditching thunar and using rox again full time lol.
used filer for the last 4 years but thunar looks so much better i tried it for couple months.
I hate switching around with things like that have to get used to it again.
ive never tried session or anything else rox, have to check it out now, thanks.
Offline
Most packages are now in aur.
http://aur.archlinux.org/packages.php?SeB=m&K=gazj
I have taken on some orphans in the process, some others exist with other maintainers
Thanks all for your interest.
Offline
Hmm. Is there a way to convert .desktop files to ROX mimetypes en masse? I tried desktop2app from the AUR, but it could only do one at a time...
Offline
I didn't know abour desktop2app, so I wrote my own script for conversions, with a -a option to process all your system-wide .desktop files. It mostly uses messy heuristics based on own my partial understanding of freedesktop.org conventions, but still seems to work alright.
Run it with -h to see its options.
#!/bin/dash
# Configuration
APPSDIR=/usr/share/applications/
ROXDIR=~/ROXApps/.Auto/
ROXCONFIG=~/.config/rox.sourceforge.net/
# leave blank for the default language (en_US)
LANGUAGE=""
# if you want another, then for example
# LANGUAGE=fr
# command line to run an application in a terminal
TERMCOMMAND="roxterm -e"
# acceptable icon sizes, by decreasing preference
ICONSIZES="scalable 256x256 128x128 64x64 48x48 32x32 24x24 22x22 16x16"
# End configuration
makeapp () {
if [ -e "$DESTDIR" ]; then
if [ "$FORCE" ]; then
rm -r "$DESTDIR" && echo "Removed already existing directory: $DESTDIR" > $OUT || return 1
elif [ $ASK ]; then
read -p "$DESTDIR: An application directory with this name already exists. Overwrite? (y/n) [n] " answer
[ ! "y" = "$answer" ] && echo "Skipping $APP" && return 1
rm -r "$DESTDIR" || return 1
echo "Removed $DESTDIR" > $OUT
else
echo "$DESTDIR: Directory exists, skipping" > /dev/stderr
return 1
fi
fi
mkdir "$DESTDIR" || return 1
echo "Created $DESTDIR" > $OUT
echo "#!/bin/dash" > "${DESTDIR}/AppRun"
if [ "`echo $COMMAND | grep "%u"`" ]; then
echo 'if [ "$1" ]; then' >> "${DESTDIR}/AppRun"
echo " `echo $COMMAND | sed -e 's/%u/\"\$@\"/'`" >> "${DESTDIR}/AppRun"
echo 'else' >> "${DESTDIR}/AppRun"
echo " `echo $COMMAND | sed -e 's/%u/ /'`" >> "${DESTDIR}/AppRun"
echo 'fi' >> "${DESTDIR}/AppRun"
else
echo 'if [ "$1" ]; then' >> "${DESTDIR}/AppRun"
echo " $COMMAND \"\$@\"" >> "${DESTDIR}/AppRun"
echo 'else' >> "${DESTDIR}/AppRun"
echo " $COMMAND" >> "${DESTDIR}/AppRun"
echo "fi" >> "${DESTDIR}/AppRun"
fi
chmod +x "${DESTDIR}/AppRun"
echo "Created executable AppRun file, contents:" > $OUT
cat "${DESTDIR}/AppRun" > $OUT
echo '<?xml version="1.0"?>' > ${DESTDIR}/AppInfo.xml
echo '<AppInfo>' >> ${DESTDIR}/AppInfo.xml
[ "$DESC" ] && echo "<Summary>$DESC</Summary>" >> ${DESTDIR}/AppInfo.xml || echo "<!--<Summary>Insert tooltip here</Summary>-->" >> ${DESTDIR}/AppInfo.xml
echo '<About>' >> ${DESTDIR}/AppInfo.xml
[ "$PURPOSE" ] && echo " <Purpose>$PURPOSE</Purpose>" >> ${DESTDIR}/AppInfo.xml||echo ' <!--<Purpose></Purpose>-->' >> ${DESTDIR}/AppInfo.xml
echo ' <!--<Version></Version>-->' >> ${DESTDIR}/AppInfo.xml
echo ' <!--<Authors></Authors>-->' >> ${DESTDIR}/AppInfo.xml
echo ' <!--<License></License>-->' >> ${DESTDIR}/AppInfo.xml
echo ' <!--<Homepage></Homepage>-->' >> ${DESTDIR}/AppInfo.xml
echo '</About>' >> ${DESTDIR}/AppInfo.xml
echo '<AppMenu>' >> ${DESTDIR}/AppInfo.xml
echo " <!-- You can define items in the left-click menu which call the program with different arguments. Here's an example: -->" >> ${DESTDIR}/AppInfo.xml
echo ' <!-- <Item option="-v"> -->' >> ${DESTDIR}/AppInfo.xml
echo ' <!-- <Label>Verbose output</Label> -->' >> ${DESTDIR}/AppInfo.xml
echo ' <!-- </Item> -->' >> ${DESTDIR}/AppInfo.xml
echo '</AppMenu>' >> ${DESTDIR}/AppInfo.xml
echo '</AppInfo>' >> ${DESTDIR}/AppInfo.xml
echo "Created AppInfo.xml file, contents:" > $OUT
cat "${DESTDIR}/AppInfo.xml" > $OUT
[ "$ICON" ] && ICON=`echo $ICON | line` && cp "$ICON" "${DESTDIR}/.DirIcon" && echo "Copied $ICON to ${DESTDIR}/.DirIcon" > $OUT
echo "Done with this application" > $OUT
return 0
}
setvars () {
DESTDIR=""
[ "$LANGUAGE" ] && DESTDIR=`grep "^Name\[${LANGUAGE}\]=" $APP | cut -c$(($LANGUAGELEN + 6))-`
[ ! "$DESTDIR" ] && DESTDIR=`grep "^Name=" $APP | cut -c6-`
DESTDIR=$ROXDIR/$DESTDIR/
echo "Destination: $DESTDIR" > $OUT
PRECOMMAND=`grep '^Exec=' $APP | cut -c6- | sed -e 's/ %U/ %u/g' | sed -e 's/ %F/ %u/g' | sed -e 's/ %f/ %u/'`
if [ "true" = "`grep "^Terminal=" $APP | cut -c10-`" ]; then
echo "Application runs in a terminal" > $OUT
COMMAND="$TERMCOMMAND $PRECOMMAND"
else
COMMAND="$PRECOMMAND"
fi
echo "Command: $COMMAND" > $OUT
DESC=""
[ "$LANGUAGE" ] && DESC=`grep "^Comment\[${LANGUAGE}\]=" $APP | cut -c$(($LANGUAGELEN + 9))-`
[ ! "$DESC" ] && DESC=`grep "^Comment=" $APP | cut -c9-`
[ "$DESC" ] && echo "Description: $DESC" > $OUT || echo "No description found" > $OUT
PURPOSE=""
[ "$LANGUAGE" ] && PURPOSE=`grep "^GenericName\[${LANGUAGE}\]=" $APP | cut -c$(($LANGUAGELEN + 13))-`
[ ! "$PURPOSE" ] && PURPOSE=`grep "^GenericName=" $APP | cut -c13-`
[ "$PURPOSE" ] && echo "Purpose: $PURPOSE" > $OUT || echo "No purpose (GenericName) found" > $OUT
ICONNAME=`grep "^Icon=" $APP | cut -c6-`
if [ $ICONNAME ]; then
[ "/" = "`echo $ICONNAME | cut -c1`" ] && FULLICONNAME=$ICONNAME || FULLICONNAME=""
ICONNAME=`basename $ICONNAME`
EXTENSION=`echo $ICONNAME | grep -o '\.\w\w*$'`
[ "$EXTENSION" ] && ICONNAME=`basename $ICONNAME $EXTENSION`
echo "Will look for the following icon: $ICONNAME" > $OUT
if [ "$ICONTHEME" ]; then
TFILE=/tmp/makeroxapp-`uuidgen`
find $ICONTHEME -name "$ICONNAME.*" -fprint $TFILE
for size in $ICONSIZES; do
ICON=`grep "/${size}/" $TFILE`
[ -n "$ICON" ] && echo "Icon found: $ICON" > $OUT && rm $TFILE && return 0
done
echo "Couldn't find icon in the ROX icon theme" > $OUT
rm $TFILE
fi
if [ "$FULLICONNAME" ]; then
ICON=$FULLICONNAME
[ -e "$ICON" ] && echo "Icon found: $ICON" > $OUT && return 0
echo "Couldn't find icon at $ICON" > $OUT
fi
ICON=/usr/share/pixmaps/$ICONNAME.svg
[ -e "$ICON" ] && echo "Icon found: $ICON" > $OUT && return 0
ICON=/usr/share/pixmaps/$ICONNAME.png
[ -e "$ICON" ] && echo "Icon found: $ICON" > $OUT && return 0
ICON=/usr/share/pixmaps/$ICONNAME.xpm
[ -e "$ICON" ] && echo "Icon found: $ICON" > $OUT && return 0
echo "Couldn't find icon in /usr/share/pixmaps" > $OUT
ICON=""
TFILE=/tmp/makeroxapp-`uuidgen`
find /usr/share/icons/hicolor/ -name "$ICONNAME.*" -fprint $TFILE
for size in $ICONSIZES; do
ICON=`grep "/$size/" $TFILE`
[ -n "$ICON" ] && echo "Icon found: $ICON" > $OUT && rm $TFILE && return 0
done
echo "Couldn't find icon in the default theme" > $OUT
rm $TFILE
echo "No icon found" > $OUT
ICON=""
else
echo "No icon" > $OUT
ICON=""
fi
return 0
}
findicontheme () {
ICONTHEME=`grep '"icon_theme"' ${ROXCONFIG}ROX-Filer/Options`
ICONTHEME=`echo $ICONTHEME | grep -o '>..*<'`
ICONTHEME=`basename $ICONTHEME "<" | cut -c2-`
if ([ "$ICONTHEME" ] && [ "`ls ~/.icons | grep \"^$ICONTHEME\$\"`" ]); then
ICONTHEME=~/.icons/${ICONTHEME}/
elif ([ "$ICONTHEME" ] && [ "`ls /usr/share/icons | grep \"^$ICONTHEME\$\"`" ]); then
ICONTHEME=/usr/share/icons/${ICONTHEME}/
else ICONTHEME=""
fi
[ "$ICONTHEME" ] && echo "ROX icon theme found: $ICONTHEME" > $OUT || echo "ROX icon theme not found" > $OUT
return 0
}
dispatch () {
[ "$MANUAL" ] && [ "$ALL" ] && echo "Incompatible options: -a -m" && usage && exit 1
if [ "$ALL" ]; then
echo "Processing all applications in $APPSDIR" > $OUT
findicontheme
for APP in `ls $APPSDIR | grep "..*\.desktop"`; do
APP=$APPSDIR/$APP
if [ "Application" = `grep "^Type=" $APP | cut -c6-` ]; then
echo "Application found: $APP" > $SOUT
setvars
makeapp
fi
done
echo "Done" > $OUT
elif [ "$MANUAL" ]; then
echo "Manually creating app dir" > $OUT
DESTDIR=~/ROXApps/$1/
echo " destination: $DESTDIR" > $OUT
COMMAND=$1
echo " command: $COMMAND" > $OUT
ICON=$2
[ "$ICON" ] && echo " icon: $ICON" > $OUT || echo " no icon" > $OUT
makeapp
echo "Done" > $OUT
else
APP=$1
if [ "`basename \"$APP\" .desktop`" = "$APP" ]; then
APP=$APPSDIR/$APP.desktop
fi
echo "Making application directory for application $APP" > $OUT
[ ! -e $APP ] && echo "Cannot find application" > /dev/stderr && exit 1
findicontheme
setvars
makeapp
echo "Done" > $OUT
fi
return 0
}
usage () {
echo 'Usage: makeroxapp [OPTIONS] APPLICATION'
echo ' makeroxapp -a [OPTIONS]'
echo ' makeroxapp -m [OPTIONS] COMMAND [ICON]'
echo ' -a: process all .desktop files in the default applications directory'
echo ' -h, --help: print this message'
echo ' -v: verbose output'
echo ' -q: silent'
echo ' -l LANGUAGE: try to use names and information in this language'
echo ' -m: manually provide a command and an (optional) icon'
echo ' -i DIR: look for .desktop files in the directory DIR instead'
echo ' of the default'
echo ' -d DIR: create application directories in DIR instead of the'
echo ' default'
echo ' -f: overwrite the application directory if it already exists'
echo ' -k: asks whether to overwrite the app dir if it already exists'
return 0
}
ALL=""
MANUAL=""
SILENT=""
VERBOSE=""
FORCE=""
ASK=""
COMMAND=""
ICON=""
APP=""
while getopts ad:fhi:kl:mqv opt; do
case $opt in
a) ALL=true;;
d) ROXDIR=$OPTARG;;
f) FORCE=true;;
h) usage; exit 0;;
i) APPSDIR=$OPTARG;;
k) ASK=true;;
l) LANGUAGE=$OPTARG;;
m) MANUAL=true;;
q) SILENT=true;;
v) VERBOSE=true;;
\?) echo "Unknown option: $opt"
usage()
exit 1
;;
esac
done
shift $(($OPTIND - 1))
[ "$VERBOSE" ] && OUT=/dev/stdout || OUT=/dev/null
[ "$SILENT" ] && SOUT=/dev/null || SOUT=/dev/stdout
LANGUAGELEN=$((`echo $LANGUAGE | wc -c` + 1)) # we're counting the brackets
[ ! -e "$ROXDIR" ] && mkdir "$ROXDIR" && echo "$ROXDIR didn't exist, created it"
dispatch "$@"
exit 0
Last edited by Arkane (2008-06-19 13:34:26)
What does not kill you will hurt a lot.
Offline
Offline
ok just added packages
appearance - gtk settings for rox desktop (must be using rox-session)
clock - clock for the rox panel, drag /usr/share/clock to the panel, can be used without rox /usr/bin/clock
fetch - downloader for rox filer, drag /usr/share/fetch to the panel for a drop icon (much like kget's)
mem - smalll memory gui viewer, drag /usr/share/mem to the panel, can also be used standalone as /usr/bin/mem
tail - tail -f in a gui viewer, drag /usr/share/tail to the panel then drag a log file to the tail icon, can also be used standalone ad /usr/bin/xtail
Have fun more to follow
Offline
This is so awesome! Thanks for putting up this repo. I seriously think this deserves a place in the archlinux community repo.
How's my programming? Call 1-800-DEV-NULL
Offline
I love the rox desktop! It would really like a X86_64 repo!
Offline
I really need to check this for updates and add more apps. Have been really busy at work but haven't forgot this.
Gentleman - Your welcome to maintain an x86_64 repo, I can give you some ftp or ssh access to upload to the webserver if you wish. Unfortunately I only have i686 hardware.
Offline
Pages: 1