You are not logged in.

#1 2008-03-11 22:15:29

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Rox Desktop Environment

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.

smile Enjoy

Last edited by gazj (2008-12-14 10:59:43)

Offline

#2 2008-03-11 22:19:26

xaw
Member
From: Chapel Hill
Registered: 2007-08-09
Posts: 177

Re: Rox Desktop Environment

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

#3 2008-06-01 18:03:05

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: Rox Desktop Environment

It's gone. What happened?

Offline

#4 2008-06-01 19:59:09

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

I really didn't think anyone was using it.  Please give me a little while to reinstate it smile

Offline

#5 2008-06-05 01:10:14

rttommy
Member
Registered: 2007-12-27
Posts: 19

Re: Rox Desktop Environment

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

#6 2008-06-05 19:07:51

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

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 tongue

Thanks smile

Last edited by gazj (2008-06-05 19:09:43)

Offline

#7 2008-06-05 19:30:11

finferflu
Forum Fellow
From: Manchester, UK
Registered: 2007-06-21
Posts: 1,899
Website

Re: Rox Desktop Environment

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

#8 2008-06-05 20:02:50

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

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 smile

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

#9 2008-06-05 21:04:21

droog
Member
Registered: 2004-11-18
Posts: 877

Re: Rox Desktop Environment

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

#10 2008-06-06 00:00:34

Misfit138
Misfit Emeritus
From: USA
Registered: 2006-11-27
Posts: 4,189

Re: Rox Desktop Environment

Nice. ROX and PCMan fill a special niche. I'll be watching for the PKGBUILDS too.

Offline

#11 2008-06-06 20:25:36

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

The rox-session package now works fine smile

Just Syu to the latest.

The PKGBUILDS will be on AUR shortly.  I promise smile

Offline

#12 2008-06-06 21:14:09

droog
Member
Registered: 2004-11-18
Posts: 877

Re: Rox Desktop Environment

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

#13 2008-06-08 13:18:46

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

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 smile

Thanks all for your interest.

Offline

#14 2008-06-18 22:41:47

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: Rox Desktop Environment

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

#15 2008-06-19 12:04:21

Arkane
Member
From: Switzerland
Registered: 2008-02-18
Posts: 263

Re: Rox Desktop Environment

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

#16 2008-09-17 18:17:19

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

Repo now moved to

http://www.foxjames.co.uk/linux/rox

Thanks smile

Offline

#17 2009-05-22 18:08:21

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

Finally had some updates, whoop whoop, I really am going to add some more apps as well!!

Offline

#18 2009-05-23 07:08:16

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

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

#19 2009-09-28 14:39:30

zowki
Member
From: Trapped in The Matrix
Registered: 2008-11-27
Posts: 582
Website

Re: Rox Desktop Environment

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

#20 2009-10-01 20:09:23

Gentleman
Member
Registered: 2006-05-05
Posts: 25

Re: Rox Desktop Environment

I love the rox desktop! It would really like a X86_64 repo!

Offline

#21 2009-10-04 09:41:22

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: Rox Desktop Environment

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

Board footer

Powered by FluxBB