Moving to Openbox

Being something of a minimalist myself (or at least someone who tries to be), I've always been attracted to the idea of running just a WM, but I've never been able to stick to it.  I've also long felt that the best looking desktops I've ever seen have been *box desktops, which actually includes alternate shells for windows like bb4win and the like.  I even used blackbox for a little while in the first year or so that I used Linux, but it just didn't stick.
With all of the Openbox desktops I've seen, and of all the things I've read, I think it's time for me to make a serious stab at switching for good.  If everything goes well and I can land on a setup I'm happy with, I'll lose Gnome for good.  As-is, my Gnome setup is isn't necessarily "standard"; I've been without a taskbar/window list for almost as long as I've been using Linux (late 2005), so all I've had is an autohiding panel at the top of my screen with the menubar on it, my tray, my clock, and a few other things.  I think I could easily lose the tray altogether, and I like the idea of a root menu better, anyways.  I can probably lose the clock, too, since Conky covers that quite well for me.  I don't really need any of it anymore.
Themes shouldn't be much of a problem.  Configuration shouldn't be much of a problem, either.  I'll have to adjust to using a few different programs, but for the ones I use the majority of the vast majority of the time (Firefox, etc.), there will be absolutely no difference.  I've been using xcompmgr for compositing/transparency for a long time and don't want any fancier effects, so I already have that down.
So, when it comes down to it, this is where I'm at...
Things I'm pretty sure I have replacements for:
- Nautilus (as a file browser) will probably be replaced my pcmanfm.  I've used it a little bit before and I liked it, so I think that's what I'm going with.
- Keybinds are all going to be handled by xbindkeys.  Only a few things have to be switched from the Gnome keyboard shortcuts to xbindkeys.
- For the last few weeks I've been using tilda instead of gnome-terminal.  With a few minor annoyances with it, I prefer it.
- Xcompmgr and transset/transset-df stay.
More importantly, though, are the things I'm not sure about.  Not a huge list, but it's there.  These are:
- "Run" box
- To keep the functionality of what I do use my panel for, I'll probably need a tray program and perhaps a workspace switcher, though this isn't entirely necessary.  I want a tray with a completely transparent background, so it looks like my icons are just sitting on the desktop. Something I can throw volwheel on will be good.  Like I said, I probably won't go for a panel.
- A text editor that is very similar to Gedit.  If I can't find one, I'll probably just keep it.  I don't think it has too many Gnome dependencies.
- A calculator would be nice, but probably not 100% necessary.
- Games.  I don't use them terribly often, but solitaire and freecell and a few others have a bit of a hold on me.
- A data CD burner.  Not really necessary since my other programs handle this, too, but having it built in to Nautilus has been nice.
- File manager actions/scripts.  I'm not sure about how pcman is with this.  I've heard it's not a big problem with Thunar, but again, I'm not sure.
- An image viewer.
And finally, things I might want to keep, but I can probably do fine without:
- A graphic system monitor.
- A small calendar program that just shows me the dates; it doesn't need to do scheduling or anything, I just want to see what I see when I click on the clock applet in gnome-panel.
- An archive manager.  Not totally important, and CLI is often more powerful and not that hard.
OK, so, basically I'm looking for suggestions on some things.  I don't want anyone to do anything for me, but pushing me in the right direction would be nice.  I think one of the most important things is figuring out how to get my tray transparent.  With the little toying around I've done (stalonetray, docker, trayer) under Gnome, programs like Quod Libet and Deluge keep the background color of gnome-panel.  I'm hoping this isn't a chronic problem.
Crude representation of what I'm hoping to acheive:
I think that's it.

I use Openbox too, and love it. Here you go... no idea if this is suitable, this is just what comes to mind when I think of the categories you list.
- "Run" box
No idea. I have Openbox configured to start urxvtc when I hit F4, and while F4 sounds like it'd be a fairly depended-on key, it isn't actually that bad - the only app it clashes with is htop. Oh, and I exit terminals with 'x'.
- To keep the functionality of what I do use my panel for, I'll probably need a tray program and perhaps a workspace switcher, though this isn't entirely necessary.  I want a tray with a completely transparent background, so it looks like my icons are just sitting on the desktop. Something I can throw volwheel on will be good.  Like I said, I probably won't go for a panel.
Both 'tint2' and 'bmpanel' can go transparent, although the 2nd requires you have composite support for this functionality (but functions perfectly as a 100%-opaque panel if you don't have composite enabled). The former, while coming along nicely (it's quite a new project, designed specifically for openbox), lacks any sort of tray support. bmpanel does have tray support. Since I can't manage composite, I use tint, and since I use no tray-using applications (I use hotkeys for everything ) it all works out perfectly.
- A text editor that is very similar to Gedit.  If I can't find one, I'll probably just keep it.  I don't think it has too many Gnome dependencies.
GEANY!!!!!!
- A calculator would be nice, but probably not 100% necessary.
I use the 'calc' util from the terminal. And /exec -o calc <...> from irssi.
- Games.  I don't use them terribly often, but solitaire and freecell and a few others have a bit of a hold on me.
I don't game
- A data CD burner.  Not really necessary since my other programs handle this, too, but having it built in to Nautilus has been nice.
cdparanoia, from the terminal?
- File manager actions/scripts.  I'm not sure about how pcman is with this.  I've heard it's not a big problem with Thunar, but again, I'm not sure.
Yes, Thunar works with configurable actions, (that can be bound to all files, or tied to specific files based on filetype).
- An image viewer.
feh or mirage works for me. Mirage is written in Python though, so is a little slowish. Mirage is better for bigger images though, since feh takes milliseconds to load small images, and multiple orders of seconds to load large-ish images (here anyway), like 1280x1024+.
And finally, things I might want to keep, but I can probably do fine without:
- A graphic system monitor.
htop in terminal?
- A small calendar program that just shows me the dates; it doesn't need to do scheduling or anything, I just want to see what I see when I click on the clock applet in gnome-panel.
terminal -> 'cal'
- An archive manager.  Not totally important, and CLI is often more powerful and not that hard.
Squeeze?
As you might have guessed, I live out of a terminal, use bash for everything, script my life, and hate GUIs.
-dav7
Last edited by dav7 (2008-09-18 06:39:18)

Similar Messages

  • KDE apps not working in Openbox, Fluxbox, or XFCE [solved]

    Whenever I try to run any KDE apps in Openbox, fluxbox, XFCE etc. it gives me "no such file or directory" or "command not found" or what have you. Everything works fine in KDEmod but the only KDE app I've made work in anything else was ktorrent just for a test. It's like they don't even exist outside of KDE. I've been very successful at moving to Openbox besides this, and it's VERY frustrating because I really want some of these programs. Any ideas?
    Last edited by ahunavairya (2008-10-02 00:05:43)

    good deal
    If you want to configure your xfce menu, you can add .desktop files to /usr/share/applications.  k3b.desktop could be something like:
    [Desktop Entry]
    Name=K3b
    Exec=/opt/kde/bin/k3b
    Icon=/opt/kde/share/icons/hicolor/48x48/apps/k3b.png
    Type=Application
    Categories=GTK;AudioVideo;
    Encoding=UTF-8

  • Possibility of message notification without always visible tray

    greetings readers,
    i moved to openbox WM after using gnome for some time. i love the fact that i can undecorate applications and gain more usable screen real estate. i realized how unnecessary the top and bottom panels in gnome were ... until i started missing the tray message notifications by iconified pidgin and xchat.
    so my question is basically the following:
    is there a tray application with the following properties
    0) the system tray would remain hidden when not needed
    1) when a new message arrives in pidgin, the system tray would start blinking or simply just appear in view but DOES NOT steal focus
    basically my priority is to save screen estate while still enjoying the benefits of system tray message notifications.
    also i m looking for visual notifications not audible ones.

    I just used to have stalonetray running at the bottom of my screen. I made its height small enough to fit along with my conky 16px I think it was. Doesn't take up too much space.
    Since I switched to i3, I find its better to just not use trays as I can simply assign a whole workspace for skype and so I don't need any tray.

  • Want to try tiling WM. Need suggestions.

    Hi there!
    I'm sort of a DE/WM hopper, I started with Gnome2, then moved to OpenBox (really really liked it!) then wanted to move back to Gnome, but Gnome3 was out and I didn't like it, so now I'm on XFCE.
    As you see, all my WMs/DEs were non-tiling (called floating WM?) WM's.
    I learned that tiling wm saves a lot of time by eliminating the use of mouse, and introducing the use of keyboard shortcuts and really speeds up the working process, especially if you are a developer (and I am).
    So I need a recommendation for tiling WM that meets the following criteria:
    1. I do like to dig in configuration files, but on the other hand sometimes I want things just to work. Hence I need a tiling WM that works out of the box, but gives me the option to modify/edit/make it better/theme is it/whatever in the future (just to clear, not a tiling wm that Ill have to edit config files, compile, recompile to simply make it work on the first run).
    2. Something with an easy configuration (I know C, Lua, can edit XML files if needed). I don't want to learn new programming/scripting languages like perl/python/whatever to be able to customize my WM.
    3. A WM that can handle dual screen pretty well (I work 99% of the time on my laptop and when I code I connect second monitor).
    That's more or less what I'm looking for!
    Thanks in advance!

    Dude, you have described i3. Try it, it made me switch from openbox and I used openbox for years.
    I develop on a laptop and use a second monitor. i3 is developed with multi monitor support in mind.
    Last edited by ArchArael (2011-12-01 13:36:56)

  • Can Openbox change window transparency/opacity when moving windows?

    Can I configure, within Openbox or a compositing manager, differing window transparency/opacity when moving a window?

    I'm currently using cairo-compmgr, but I've also used xcompmgr in the past. I've played around with the settings in both (and transset-df with xcompmgr), with no luck thus far. While getting terminal and tint2 transparency is fairly trivial, and I've also read that you can set specific windows to always have a certain level of transparency/opacity, I'm not sure that you can get the level of opacity/transparency to change whenever you grab a window and move it around. I think I read that the difficulty lies in the fact that Openbox knows when a window is being moved around, but a compositer doesn't. What I'm looking for may only be possible in a DE where the window management and compositing are integrated (e.g. KWin). Just wondering if anybody has done this with Openbox and a specific compositing manager paired together.
    Last edited by CharBar (2013-04-12 20:11:23)

  • Moving the Titlebar in Openbox

    Hi All,
    I was wondering if anyone has seen or created a patch to move the openbox titlebar from the top of the screen to the left hand edge of an application? (if at all possible)
    Regards
    Matthew

    Hmm, not sure I understand what you're after.  By 'top of the screen' do you mean top of the application? and by 'titlebar' do you mean the application title (ex: Firefox, Nautilus, etc)?  If so, you can already control where the title and icons show up:
    Install and open 'obconf', click the Appearance tab. You can change the button order there under Window Titles.

  • [OpenBox] Smoothing moving windows

    Hello:
    I wondering if it's normal that windows get a little distorted when I move across the screen. In KDE with the 'transparency effect' windows move correctly as a singular um... thing. Can I enable a similar effect in openbox? I don't care for the 'transparency' (it's an old laptop and I'm going for a very minimalistic setup), but it's quite annoying windows get distorted (with artifacts?) when you move them.
    If it's relevant:
    -Dell Latitude x300 (1.5Ghz Pentium M, 1GB DDR Ram, 80GB HDD)
    -Arch fully updated.
    -No testing, no AUR (yet).
    -Intel 855GM Integrated Graphics
    -GFX Driver: xf86-video-intel
    - Xorg conf by "Xorg -configure" followed by "cp /root/xorg.conf.new /etc/X11/xorg.conf".
    Thanks !

    Do you have this distorted thing with any windows or only in console like urxtv?
    You can try installing [url=http://aur.archlinux.org/packages.php?ID=22873]xcompmgr-dana[url].
    Last edited by n0dix (2010-02-27 19:01:21)

  • Scan for and connect to networks from an openbox pipe menu (netcfg)

    So the other day when i was using wifi-select (awesome tool) to connect to a friends hot-spot, i realized "hey! this would be great as an openbox pipe menu."  i'm fairly decent in bash and i knew both netcfg and wifi-select were in bash so why not rewrite it that way?
    Wifi-Pipe
    A simplified version of wifi-select which will scan for networks and populate an openbox right-click menu item with available networks.  displays security type and signal strength.  click on a network to connect via netcfg the same way wifi-select does it.
    zenity is used to ask for a password and notify of a bad connection.  one can optionally remove the netcfg profile if the connection fails.
    What's needed
    -- you have to be using netcfg to manage your wireless
    -- you have to install zenity
    -- you have to save the script as ~/.config/openbox/wifi-pipe and make it executable:
    chmod +x ~/.config/openbox/wifi-pipe
    -- you have to add a sudoers entry to allow passwordless sudo on this script and netcfg (!)
    USERNAME ALL=(ALL) NOPASSWD: /usr/bin/netcfg
    USERNAME ALL=(ALL) NOPASSWD: /home/USERNAME/.config/openbox/wifi-pipe
    -- you have to adjust  ~/.config/openbox/menu.xml like so:
    <menu id="root-menu" label="Openbox 3">
    <menu id="pipe-wifi" label="Wifi" execute="sudo /home/USERNAME/.config/openbox/wifi-pipe INTERFACE" />
    <menu id="term-menu"/>
    <item label="Run...">
    <action name="Execute">
    <command>gmrun</command>
    </action>
    </item>
    where USERNAME is you and INTERFACE is probably wlan0 or similar
    openbox --reconfigure and you should be good to go.
    The script
    #!/bin/bash
    # pbrisbin 2009
    # simplified version of wifi-select designed to output as an openbox pipe menu
    # required:
    # netcfg
    # zenity
    # NOPASSWD entries for this and netcfg through visudo
    # the following in menu.xml:
    # <menu id="pipe-wifi" label="Wifi" execute="sudo /path/to/wifi.pipe interface"/>
    # the idea is to run this script once to scan/print, then again immediately to connect.
    # therefore, if you scan but don't connect, a temp file is left in /tmp. the next scan
    # will overwrite it, and the next connect will remove it.
    # source this just to get PROFILE_DIR
    . /usr/lib/network/network
    [ -z "$PROFILE_DIR" ] && PROFILE_DIR='/etc/network.d/'
    # awk code for parsing iwlist output
    # putting it here removes the wifi-select dependency
    # and allows for my own tweaking
    # prints a list "essid=security=quality_as_percentage"
    PARSER='
    BEGIN { FS=":"; OFS="="; }
    /\<Cell/ { if (essid) print essid, security, quality[2]/quality[3]*100; security="none" }
    /\<ESSID:/ { essid=substr($2, 2, length($2) - 2) } # discard quotes
    /\<Quality=/ { split($1, quality, "[=/]") }
    /\<Encryption key:on/ { security="wep" }
    /\<IE:.*WPA.*/ { security="wpa" }
    END { if (essid) print essid, security, quality[2]/quality[3]*100 }
    errorout() {
    echo "<openbox_pipe_menu>"
    echo "<item label=\"$1\" />"
    echo "</openbox_pipe_menu>"
    exit 1
    create_profile() {
    ESSID="$1"; INTERFACE="$2"; SECURITY="$3"; KEY="$4"
    PROFILE_FILE="$PROFILE_DIR$ESSID"
    cat > "$PROFILE_FILE" << END_OF_PROFILE
    CONNECTION="wireless"
    ESSID="$ESSID"
    INTERFACE="$INTERFACE"
    DESCRIPTION="Automatically generated profile"
    SCAN="yes"
    IP="dhcp"
    TIMEOUT="10"
    SECURITY="$SECURITY"
    END_OF_PROFILE
    # i think wifi-select should adopt these perms too...
    if [ -n "$KEY" ]; then
    echo "KEY=\"$KEY\"" >> "$PROFILE_FILE"
    chmod 600 "$PROFILE_FILE"
    else
    chmod 644 "$PROFILE_FILE"
    fi
    print_menu() {
    # scan for networks
    iwlist $INTERFACE scan 2>/dev/null | awk "$PARSER" | sort -t= -nrk3 > /tmp/networks.tmp
    # exit if none found
    if [ ! -s /tmp/networks.tmp ]; then
    rm /tmp/networks.tmp
    errorout "no networks found."
    fi
    # otherwise print the menu
    local IFS='='
    echo "<openbox_pipe_menu>"
    while read ESSID SECURITY QUALITY; do
    echo "<item label=\"$ESSID ($SECURITY) ${QUALITY/.*/}%\">" # trim decimals
    echo " <action name=\"Execute\">"
    echo " <command>sudo $0 $INTERFACE connect \"$ESSID\"</command>"
    echo " </action>"
    echo "</item>"
    done < /tmp/networks.tmp
    echo "</openbox_pipe_menu>"
    connect() {
    # check for an existing profile
    PROFILE_FILE="$(grep -REl "ESSID=[\"']?$ESSID[\"']?" "$PROFILE_DIR" | grep -v '~$' | head -n1)"
    # if found use it, else create a new profile
    if [ -n "$PROFILE_FILE" ]; then
    PROFILE=$(basename "$PROFILE_FILE")
    else
    PROFILE="$ESSID"
    SECURITY="$(awk -F '=' "/$ESSID/"'{print $2}' /tmp/networks.tmp | head -n1)"
    # ask for the security key if needed
    if [ "$SECURITY" != "none" ]; then
    KEY="$(zenity --entry --title="Authentication" --text="Please enter $SECURITY key for $ESSID" --hide-text)"
    fi
    # create the new profile
    create_profile "$ESSID" "$INTERFACE" "$SECURITY" "$KEY"
    fi
    # connect
    netcfg2 "$PROFILE" >/tmp/output.tmp
    # if failed, ask about removal of created profile
    if [ $? -ne 0 ]; then
    zenity --question \
    --title="Connection failed" \
    --text="$(grep -Eo "[\-\>]\ .*$" /tmp/output.tmp) \n Remove $PROFILE_FILE?" \
    --ok-label="Remove profile"
    [ $? -eq 0 ] && rm $PROFILE_FILE
    fi
    rm /tmp/output.tmp
    rm /tmp/networks.tmp
    [ $(id -u) -ne 0 ] && errorout "root access required."
    [ -z "$1" ] && errorout "usage: $0 [interface]"
    INTERFACE="$1"; shift
    # i added a sleep if we need to explicitly bring it up
    # b/c youll get "no networks found" when you scan right away
    # this only happens if we aren't up already
    if ! ifconfig | grep -q $INTERFACE; then
    ifconfig $INTERFACE up &>/dev/null || errorout "$INTERFACE not up"
    while ! ifconfig | grep -q $INTERFACE; do sleep 1; done
    fi
    if [ "$1" = "connect" ]; then
    ESSID="$2"
    connect
    else
    print_menu
    fi
    Screenshots
    removed -- Hi-res shots available on my site
    NOTE - i have not tested this extensively but it was working for me in most cases.  any updates/fixes will be edited right into this original post.  enjoy!
    UPDATE - 10/24/2009: i moved the awk statement from wifi-select directly into the script.  this did two things: wifi-select is no longer needed on the system, and i could tweak the awk statement to be more accurate.  it now prints a true percentange.  iwlist prints something like Quality=17/70 and the original awk statement would just output 17 as the quality.  i changed to print (17/70)*100 then bash trims the decimals so you get a true percentage.
    Last edited by brisbin33 (2010-05-09 01:28:20)

    froli wrote:
    I think the script's not working ... When I type
    sh wifi-pipe
    in a term it returns nothing
    well, just to be sure you're doing it right...
    he above is only an adjustment to the OB script's print_menu() function, it's not an entire script to itself.  so, if the original OB script shows output for you with
    sh ./wifi-pipe
    then using the above pint_menu() function (with all the other supporting code) should also show output, (only really only changes the echo's so they print the info in the pekwm format).
    oh, and if neither version shows output when you rut it in a term, then you've got other issues... ;P
    here's an entire [untested] pekwm script:
    #!/bin/bash
    # pbrisbin 2009
    # simplified version of wifi-select designed to output as an pekwm pipe menu
    # required:
    # netcfg
    # zenity
    # NOPASSWD entries for this and netcfg through visudo
    # the following in pekwm config file:
    # SubMenu = "WiFi" {
    # Entry = { Actions = "Dynamic /path/to/wifi-pipe" }
    # the idea is to run this script once to scan/print, then again immediately to connect.
    # therefore, if you scan but don't connect, a temp file is left in /tmp. the next scan
    # will overwrite it, and the next connect will remove it.
    # source this to get PROFILE_DIR and SUBR_DIR
    . /usr/lib/network/network
    errorout() {
    echo "Dynamic {"
    echo " Entry = \"$1\""
    echo "}"
    exit 1
    create_profile() {
    ESSID="$1"; INTERFACE="$2"; SECURITY="$3"; KEY="$4"
    PROFILE_FILE="$PROFILE_DIR$ESSID"
    cat > "$PROFILE_FILE" << END_OF_PROFILE
    CONNECTION="wireless"
    ESSID="$ESSID"
    INTERFACE="$INTERFACE"
    DESCRIPTION="Automatically generated profile"
    SCAN="yes"
    IP="dhcp"
    TIMEOUT="10"
    SECURITY="$SECURITY"
    END_OF_PROFILE
    # i think wifi-select should adopt these perms too...
    if [ -n "$KEY" ]; then
    echo "KEY=\"$KEY\"" >> "$PROFILE_FILE"
    chmod 600 "$PROFILE_FILE"
    else
    chmod 644 "$PROFILE_FILE"
    fi
    print_menu() {
    # scan for networks
    iwlist $INTERFACE scan 2>/dev/null | awk -f $SUBR_DIR/parse-iwlist.awk | sort -t= -nrk3 > /tmp/networks.tmp
    # exit if none found
    if [ ! -s /tmp/networks.tmp ]; then
    rm /tmp/networks.tmp
    errorout "no networks found."
    fi
    # otherwise print the menu
    echo "Dynamic {"
    IFS='='
    cat /tmp/networks.tmp | while read ESSID SECURITY QUALITY; do
    echo "Entry = \"$ESSID ($SECURITY) $QUALITY%\" {"
    echo " Actions = \"Exec sudo $0 $INTERFACE connect \\\"$ESSID\\\"\"</command>"
    echo "}"
    done
    unset IFS
    echo "}"
    connect() {
    # check for an existing profile
    PROFILE_FILE="$(grep -REl "ESSID=[\"']?$ESSID[\"']?" "$PROFILE_DIR" | grep -v '~$' | head -n1)"
    # if found use it, else create a new profile
    if [ -n "$PROFILE_FILE" ]; then
    PROFILE=$(basename "$PROFILE_FILE")
    else
    PROFILE="$ESSID"
    SECURITY="$(awk -F '=' "/$ESSID/"'{print $2}' /tmp/networks.tmp | head -n1)"
    # ask for the security key if needed
    if [ "$SECURITY" != "none" ]; then
    KEY="$(zenity --entry --title="Authentication" --text="Please enter $SECURITY key for $ESSID" --hide-text)"
    fi
    # create the new profile
    create_profile "$ESSID" "$INTERFACE" "$SECURITY" "$KEY"
    fi
    # connect
    netcfg2 "$PROFILE" >/tmp/output.tmp
    # if failed, ask about removal of created profile
    if [ $? -ne 0 ]; then
    zenity --question \
    --title="Connection failed" \
    --text="$(grep -Eo "[\-\>]\ .*$" /tmp/output.tmp) \n Remove $PROFILE_FILE?" \
    --ok-label="Remove profile"
    [ $? -eq 0 ] && rm $PROFILE_FILE
    fi
    rm /tmp/output.tmp
    rm /tmp/networks.tmp
    [ $(id -u) -ne 0 ] && errorout "root access required."
    [ -z "$1" ] && errorout "usage: $0 [interface]"
    INTERFACE="$1"; shift
    # i added a sleep if we need to explicitly bring it up
    # b/c youll get "no networks found" when you scan right away
    # this only happens if we aren't up already
    if ! ifconfig | grep -q $INTERFACE; then
    ifconfig $INTERFACE up &>/dev/null || errorout "$INTERFACE not up"
    sleep 3
    fi
    if [ "$1" = "connect" ]; then
    ESSID="$2"
    connect
    else
    print_menu
    fi
    exit 0

  • [Solved] Openbox's rc.xml error "Extra content at the end of document"

    I have a rather silly problem with Openbox.
    I'm not a programming genius so, for me, dealing with XML is a pain but I usually manage to get OB's menus and other docs to work. Ive been banging my head into a wall of xml trying to add my own entry to OpenBox's rc.xml file.  All I want to add is an Xfce terminal centred on my Twinview desktop.  I've done it in the past but right now I can't get the rc.xml file to work.  Whenever I re-configure OpenBox I get the following message spit out at me:
    Extra content at the end of document on line ###
    So far, this is what I've attempted to get this to work:
    - I have tried recopying a new rc.xml from /etc/xdg/openbox to my home directory's ~/.config/openbox.  I was assuming I'd botched it entirely and started over from the beginning.
    - I have cut/copy/pasted the commented paragraph, above my entry, with the same co-ordinates and with the "force position" set to "yes."
    -I've googled this error but I only found one or two semi-relevant hits (from this forum no less!)  Unfortunately I did not find a fix to the issue or a reason as to why this error crops up
    I know that it's probably something that is easily missed but I honestly can't see it.  I'm hoping someone on the forum will have run across this issue before and had it fixed.  Below is a copy of my current rc.xml.
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Do not edit this file, it will be overwritten on install.
    Copy the file to $HOME/.config/openbox/ instead. -->
    <openbox_config xmlns="http://openbox.org/3.4/rc">
    <resistance>
    <strength>10</strength>
    <screen_edge_strength>20</screen_edge_strength>
    </resistance>
    <focus>
    <focusNew>yes</focusNew>
    <!-- always try to focus new windows when they appear. other rules do
    apply -->
    <followMouse>no</followMouse>
    <!-- move focus to a window when you move the mouse into it -->
    <focusLast>yes</focusLast>
    <!-- focus the last used window when changing desktops, instead of the one
    under the mouse pointer. when followMouse is enabled -->
    <underMouse>no</underMouse>
    <!-- move focus under the mouse, even when the mouse is not moving -->
    <focusDelay>200</focusDelay>
    <!-- when followMouse is enabled, the mouse must be inside the window for
    this many milliseconds (1000 = 1 sec) before moving focus to it -->
    <raiseOnFocus>no</raiseOnFocus>
    <!-- when followMouse is enabled, and a window is given focus by moving the
    mouse into it, also raise the window -->
    </focus>
    <placement>
    <policy>Smart</policy>
    <!-- 'Smart' or 'UnderMouse' -->
    <center>yes</center>
    <!-- whether to place windows in the center of the free area found or
    the top left corner -->
    <monitor>Active</monitor>
    <!-- with Smart placement on a multi-monitor system, try to place new windows
    on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
    the active window is -->
    <primaryMonitor>1</primaryMonitor>
    <!-- The monitor where Openbox should place popup dialogs such as the
    focus cycling popup, or the desktop switch popup. It can be an index
    from 1, specifying a particular monitor. Or it can be one of the
    following: 'Mouse' - where the mouse is, or
    'Active' - where the active window is -->
    </placement>
    <theme>
    <name>Clearlooks</name>
    <titleLayout>NLIMC</titleLayout>
    <!--
    available characters are NDSLIMC, each can occur at most once.
    N: window icon
    L: window label (AKA title).
    I: iconify
    M: maximize
    C: close
    S: shade (roll up/down)
    D: omnipresent (on all desktops).
    -->
    <keepBorder>yes</keepBorder>
    <animateIconify>yes</animateIconify>
    <font place="ActiveWindow">
    <name>sans</name>
    <size>8</size>
    <!-- font size in points -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="InactiveWindow">
    <name>sans</name>
    <size>8</size>
    <!-- font size in points -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuHeader">
    <name>sans</name>
    <size>9</size>
    <!-- font size in points -->
    <weight>normal</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuItem">
    <name>sans</name>
    <size>9</size>
    <!-- font size in points -->
    <weight>normal</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="OnScreenDisplay">
    <name>sans</name>
    <size>9</size>
    <!-- font size in points -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    </theme>
    <desktops>
    <!-- this stuff is only used at startup, pagers allow you to change them
    during a session
    these are default values to use when other ones are not already set
    by other applications, or saved in your session
    use obconf if you want to change these without having to log out
    and back in -->
    <number>4</number>
    <firstdesk>1</firstdesk>
    <names>
    <!-- set names up here if you want to, like this:
    <name>desktop 1</name>
    <name>desktop 2</name>
    -->
    </names>
    <popupTime>875</popupTime>
    <!-- The number of milliseconds to show the popup for when switching
    desktops. Set this to 0 to disable the popup. -->
    </desktops>
    <resize>
    <drawContents>yes</drawContents>
    <popupShow>Nonpixel</popupShow>
    <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
    <popupPosition>Center</popupPosition>
    <!-- 'Center', 'Top', or 'Fixed' -->
    <popupFixedPosition>
    <!-- these are used if popupPosition is set to 'Fixed' -->
    <x>10</x>
    <!-- positive number for distance from left edge, negative number for
    distance from right edge, or 'Center' -->
    <y>10</y>
    <!-- positive number for distance from top edge, negative number for
    distance from bottom edge, or 'Center' -->
    </popupFixedPosition>
    </resize>
    <!-- You can reserve a portion of your screen where windows will not cover when
    they are maximized, or when they are initially placed.
    Many programs reserve space automatically, but you can use this in other
    cases. -->
    <margins>
    <top>0</top>
    <bottom>0</bottom>
    <left>0</left>
    <right>0</right>
    </margins>
    <dock>
    <position>TopLeft</position>
    <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
    <floatingX>0</floatingX>
    <floatingY>0</floatingY>
    <noStrut>no</noStrut>
    <stacking>Above</stacking>
    <!-- 'Above', 'Normal', or 'Below' -->
    <direction>Vertical</direction>
    <!-- 'Vertical' or 'Horizontal' -->
    <autoHide>no</autoHide>
    <hideDelay>300</hideDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <showDelay>300</showDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <moveButton>Middle</moveButton>
    <!-- 'Left', 'Middle', 'Right' -->
    </dock>
    <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for desktop switching -->
    <keybind key="C-A-Left">
    <action name="DesktopLeft">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="C-A-Right">
    <action name="DesktopRight">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="C-A-Up">
    <action name="DesktopUp">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="C-A-Down">
    <action name="DesktopDown">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="S-A-Left">
    <action name="SendToDesktopLeft">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="S-A-Right">
    <action name="SendToDesktopRight">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="S-A-Up">
    <action name="SendToDesktopUp">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="S-A-Down">
    <action name="SendToDesktopDown">
    <dialog>no</dialog>
    <wrap>no</wrap>
    </action>
    </keybind>
    <keybind key="W-F1">
    <action name="Desktop">
    <desktop>1</desktop>
    </action>
    </keybind>
    <keybind key="W-F2">
    <action name="Desktop">
    <desktop>2</desktop>
    </action>
    </keybind>
    <keybind key="W-F3">
    <action name="Desktop">
    <desktop>3</desktop>
    </action>
    </keybind>
    <keybind key="W-F4">
    <action name="Desktop">
    <desktop>4</desktop>
    </action>
    </keybind>
    <keybind key="W-d">
    <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Keybindings for windows -->
    <keybind key="A-F4">
    <action name="Close"/>
    </keybind>
    <keybind key="A-Escape">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
    <action name="ShowMenu">
    <menu>client-menu</menu>
    </action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
    <action name="NextWindow"/>
    </keybind>
    <keybind key="A-S-Tab">
    <action name="PreviousWindow"/>
    </keybind>
    <keybind key="C-A-Tab">
    <action name="NextWindow">
    <panels>yes</panels>
    <desktop>yes</desktop>
    </action>
    </keybind>
    <!-- Keybindings for running applications -->
    <keybind key="W-e">
    <action name="Execute">
    <startupnotify>
    <enabled>true</enabled>
    <name>Konqueror</name>
    </startupnotify>
    <command>kfmclient openProfile filemanagement</command>
    </action>
    </keybind>
    </keyboard>
    <mouse>
    <dragThreshold>8</dragThreshold>
    <!-- number of pixels the mouse must move before a drag begins -->
    <doubleClickTime>200</doubleClickTime>
    <!-- in milliseconds (1000 = 1 second) -->
    <screenEdgeWarpTime>400</screenEdgeWarpTime>
    <!-- Time before changing desktops when the pointer touches the edge of the
    screen while moving a window, in milliseconds (1000 = 1 second).
    Set this to 0 to disable warping -->
    <context name="Frame">
    <mousebind button="A-Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="A-Left" action="Click">
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="A-Left" action="Drag">
    <action name="Move"/>
    </mousebind>
    <mousebind button="A-Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="A-Right" action="Drag">
    <action name="Resize"/>
    </mousebind>
    <mousebind button="A-Middle" action="Press">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </mousebind>
    <mousebind button="A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="C-A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="C-A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-S-Up" action="Click">
    <action name="SendToDesktopPrevious"/>
    </mousebind>
    <mousebind button="A-S-Down" action="Click">
    <action name="SendToDesktopNext"/>
    </mousebind>
    </context>
    <context name="Titlebar">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Move"/>
    </mousebind>
    <mousebind button="Left" action="DoubleClick">
    <action name="ToggleMaximizeFull"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </mousebind>
    <mousebind button="Up" action="Click">
    <action name="Shade"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    <action name="Lower"/>
    </mousebind>
    <mousebind button="Down" action="Click">
    <action name="Unshade"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu">
    <menu>client-menu</menu>
    </action>
    </mousebind>
    </context>
    <context name="Top">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize">
    <edge>top</edge>
    </action>
    </mousebind>
    </context>
    <context name="Left">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize">
    <edge>left</edge>
    </action>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu">
    <menu>client-menu</menu>
    </action>
    </mousebind>
    </context>
    <context name="Right">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize">
    <edge>right</edge>
    </action>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu">
    <menu>client-menu</menu>
    </action>
    </mousebind>
    </context>
    <context name="Bottom">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize">
    <edge>bottom</edge>
    </action>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu">
    <menu>client-menu</menu>
    </action>
    </mousebind>
    </context>
    <context name="BLCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="BRCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="TLCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="TRCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="Client">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    </context>
    <context name="Icon">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    <action name="ShowMenu">
    <menu>client-menu</menu>
    </action>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu">
    <menu>client-menu</menu>
    </action>
    </mousebind>
    </context>
    <context name="AllDesktops">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="ToggleOmnipresent"/>
    </mousebind>
    </context>
    <context name="Shade">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="ToggleShade"/>
    </mousebind>
    </context>
    <context name="Iconify">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="Iconify"/>
    </mousebind>
    </context>
    <context name="Maximize">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="ToggleMaximizeFull"/>
    </mousebind>
    <mousebind button="Middle" action="Click">
    <action name="ToggleMaximizeVert"/>
    </mousebind>
    <mousebind button="Right" action="Click">
    <action name="ToggleMaximizeHorz"/>
    </mousebind>
    </context>
    <context name="Close">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="Close"/>
    </mousebind>
    </context>
    <context name="Desktop">
    <mousebind button="Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="C-A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="C-A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    </context>
    <context name="Root">
    <!-- Menus -->
    <mousebind button="Middle" action="Press">
    <action name="ShowMenu">
    <menu>client-list-combined-menu</menu>
    </action>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="ShowMenu">
    <menu>root-menu</menu>
    </action>
    </mousebind>
    </context>
    <context name="MoveResize">
    <mousebind button="Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    </context>
    </mouse>
    <menu><!-- You can specify more than one menu file in here and they are all loaded,
    just don't make menu ids clash or, well, it'll be kind of pointless --><!-- default menu file (or custom one in $HOME/.config/openbox/) --><file>menu.xml</file><hideDelay>200</hideDelay><!-- if a press-release lasts longer than this setting (in milliseconds), the
    menu is hidden again --><middle>no</middle><!-- center submenus vertically about the parent entry --><submenuShowDelay>100</submenuShowDelay><!-- time to delay before showing a submenu after hovering over the parent
    entry.
    if this is a negative value, then the delay is infinite and the
    submenu will not be shown until it is clicked on --><submenuHideDelay>400</submenuHideDelay><!-- time to delay before hiding a submenu when selecting another
    entry in parent menu -->
    if this is a negative value, then the delay is infinite and the
    submenu will not be hidden until a different submenu is opened --&gt;
    <applicationIcons>yes</applicationIcons>
    <!-- controls if icons appear in the client-list-(combined-)menu -->
    <manageDesktops>yes</manageDesktops>
    <!-- show the manage desktops section in the client-list-(combined-)menu -->
    </menu>
    <applications><!--
    # this is an example with comments through out. use these to make your
    # own rules, but without the comments of course.
    <application name="the window's _OB_APP_NAME property (see obxprop)"
    class="the window's _OB_APP_CLASS property (see obxprop)"
    role="the window's _OB_APP_ROLE property (see obxprop)"
    type="the window's _OB_APP_TYPE property (see obxprob)..
    (if unspecified, then it is 'dialog' for child windows)">
    # you may set only one of name/class/role/type, or you may use more than one
    # together to restrict your matches.
    # the name, class, and role use simple wildcard matching such as those
    # used by a shell. you can use * to match any characters and ? to match
    # any single character.
    # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
    # or desktop
    # when multiple rules match a window, they will all be applied, in the
    # order that they appear in this list
    # each rule element can be left out or set to 'default' to specify to not
    # change that attribute of the window
    <decor>yes</decor>
    # enable or disable window decorations
    <shade>no</shade>
    # make the window shaded when it appears, or not
    <position force="no">
    # the position is only used if both an x and y coordinate are provided
    # (and not set to 'default')
    # when force is "yes", then the window will be placed here even if it
    # says you want it placed elsewhere. this is to override buggy
    # applications who refuse to behave
    <x>center</x>
    # a number like 50, or 'center' to center on screen. use a negative number
    # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
    # right edge (or bottom).
    <y>200</y>
    <monitor>1</monitor>
    # specifies the monitor in a xinerama setup.
    # 1 is the first head, or 'mouse' for wherever the mouse is
    </position>
    <focus>yes</focus>
    # if the window should try be given focus when it appears. if this is set
    # to yes it doesn't guarantee the window will be given focus. some
    # restrictions may apply, but Openbox will try to
    <desktop>1</desktop>
    # 1 is the first desktop, 'all' for all desktops
    <layer>normal</layer>
    # 'above', 'normal', or 'below'
    <iconic>no</iconic>
    # make the window iconified when it appears, or not
    <skip_pager>no</skip_pager>
    # asks to not be shown in pagers
    <skip_taskbar>no</skip_taskbar>
    # asks to not be shown in taskbars. window cycling actions will also
    # skip past such windows
    <fullscreen>yes</fullscreen>
    # make the window in fullscreen mode when it appears
    <maximized>true</maximized>
    # 'Horizontal', 'Vertical' or boolean (yes/no)
    </application>
    # end of the example
    -->
    <!-- begin custom entries -->
    <Terminal="Terminal">
    <position force="yes">
    <x>center</x>
    <y>200</y>
    </position>
    <decor>no</decor>
    <focus>no</focus>
    <desktop>all</desktop>
    <layer>below</layer>
    <skip_pager>yes</skip_pager>
    <skip_taskbar>yes</skip_taskbar>
    </Terminal>
    </applications>
    </openbox_config>
    Thanks in advance to anyone who responds.
    Last edited by MoonSwan (2011-07-26 06:22:37)

    MoonSwan wrote:I've never heard of a validating editor but I was recently wondering what exists that could help me.  Aside from emacs, what should I search for to find one of these validating editors?
    You can use whatever tool you prefer - for someone already using emacs, emacs is a natural choice. Simple, easy to use online tools exist e.g. http://schneegans.de/sv/
    Just upload the file in question ('Validate by file upload' option) and click 'Validate':
    The '=' character cannot be included in a name. (723:10)
    <Terminal="Terminal">
    ^
    Googling 'xml validation' should give you some more tools / services if this one is not good enough.

  • Openbox menu etc doesn´t show [SOLVED]

    Hi, I really need some help here.
    I can´t figure out what the hell is wrong with my openbox.
    I had it running smooth, and because Im new to Linux and Arch I played around I guess and configured.
    Somehow I guess I have configured somesthing totally wrong and now my Openbox don´t work as it should.
    I have tried to replace the rc.xml, menu.xml and the autostart.sh with the defaults and still it doesn´t help!
    When I start Openbox pypanel is supposed to be started, it worked before.
    The only thing that comes up when I log in on openbox now is Conky and nothing else. The right click menu nothing works.
    I will post some configs that is related to the subject and I would be very glad if someone could guide me
    Btw im running Openbox with Gnome.
    rc.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Do not edit this file, it will be overwritten on install.
    Copy the file to $HOME/.config/openbox/ instead. -->
    <openbox_config xmlns="http://openbox.org/3.4/rc">
    <resistance>
    <strength>10</strength>
    <screen_edge_strength>20</screen_edge_strength>
    </resistance>
    <focus>
    <focusNew>yes</focusNew>
    <!-- always try to focus new windows when they appear. other rules do
    apply -->
    <followMouse>no</followMouse>
    <!-- move focus to a window when you move the mouse into it -->
    <focusLast>yes</focusLast>
    <!-- focus the last used window when changing desktops, instead of the one
    under the mouse pointer. when followMouse is enabled -->
    <underMouse>no</underMouse>
    <!-- move focus under the mouse, even when the mouse is not moving -->
    <focusDelay>200</focusDelay>
    <!-- when followMouse is enabled, the mouse must be inside the window for
    this many milliseconds (1000 = 1 sec) before moving focus to it -->
    <raiseOnFocus>no</raiseOnFocus>
    <!-- when followMouse is enabled, and a window is given focus by moving the
    mouse into it, also raise the window -->
    </focus>
    <placement>
    <policy>Smart</policy>
    <!-- 'Smart' or 'UnderMouse' -->
    <center>yes</center>
    <!-- whether to place windows in the center of the free area found or
    the top left corner -->
    <monitor>Any</monitor>
    <!-- with Smart placement on a multi-monitor system, try to place new windows
    on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
    the active window is -->
    </placement>
    <theme>
    <name>Clearlooks</name>
    <titleLayout>NLIMC</titleLayout>
    <!--
    available characters are NDSLIMC, each can occur at most once.
    N: window icon
    L: window label (AKA title).
    I: iconify
    M: maximize
    C: close
    S: shade (roll up/down)
    D: omnipresent (on all desktops).
    -->
    <keepBorder>yes</keepBorder>
    <animateIconify>yes</animateIconify>
    <font place="ActiveWindow">
    <name>sans</name>
    <size>8</size>
    <!-- font size in points -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="InactiveWindow">
    <name>sans</name>
    <size>8</size>
    <!-- font size in points -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuHeader">
    <name>sans</name>
    <size>9</size>
    <!-- font size in points -->
    <weight>normal</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuItem">
    <name>sans</name>
    <size>9</size>
    <!-- font size in points -->
    <weight>normal</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    <font place="OnScreenDisplay">
    <name>sans</name>
    <size>9</size>
    <!-- font size in points -->
    <weight>bold</weight>
    <!-- 'bold' or 'normal' -->
    <slant>normal</slant>
    <!-- 'italic' or 'normal' -->
    </font>
    </theme>
    <desktops>
    <!-- this stuff is only used at startup, pagers allow you to change them
    during a session
    these are default values to use when other ones are not already set
    by other applications, or saved in your session
    use obconf if you want to change these without having to log out
    and back in -->
    <number>4</number>
    <firstdesk>1</firstdesk>
    <names>
    <!-- set names up here if you want to, like this:
    <name>desktop 1</name>
    <name>desktop 2</name>
    -->
    </names>
    <popupTime>875</popupTime>
    <!-- The number of milliseconds to show the popup for when switching
    desktops. Set this to 0 to disable the popup. -->
    </desktops>
    <resize>
    <drawContents>yes</drawContents>
    <popupShow>Nonpixel</popupShow>
    <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
    <popupPosition>Center</popupPosition>
    <!-- 'Center', 'Top', or 'Fixed' -->
    <popupFixedPosition>
    <!-- these are used if popupPosition is set to 'Fixed' -->
    <x>10</x>
    <!-- positive number for distance from left edge, negative number for
    distance from right edge, or 'Center' -->
    <y>10</y>
    <!-- positive number for distance from top edge, negative number for
    distance from bottom edge, or 'Center' -->
    </popupFixedPosition>
    </resize>
    <!-- You can reserve a portion of your screen where windows will not cover when
    they are maximized, or when they are initially placed.
    Many programs reserve space automatically, but you can use this in other
    cases. -->
    <margins>
    <top>0</top>
    <bottom>0</bottom>
    <left>0</left>
    <right>0</right>
    </margins>
    <dock>
    <position>TopLeft</position>
    <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
    <floatingX>0</floatingX>
    <floatingY>0</floatingY>
    <noStrut>no</noStrut>
    <stacking>Above</stacking>
    <!-- 'Above', 'Normal', or 'Below' -->
    <direction>Vertical</direction>
    <!-- 'Vertical' or 'Horizontal' -->
    <autoHide>no</autoHide>
    <hideDelay>300</hideDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <showDelay>300</showDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <moveButton>Middle</moveButton>
    <!-- 'Left', 'Middle', 'Right' -->
    </dock>
    <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for desktop switching -->
    <keybind key="C-A-Left">
    <action name="DesktopLeft"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="C-A-Right">
    <action name="DesktopRight"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="C-A-Up">
    <action name="DesktopUp"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="C-A-Down">
    <action name="DesktopDown"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="S-A-Left">
    <action name="SendToDesktopLeft"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="S-A-Right">
    <action name="SendToDesktopRight"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="S-A-Up">
    <action name="SendToDesktopUp"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="S-A-Down">
    <action name="SendToDesktopDown"><dialog>no</dialog><wrap>no</wrap></action>
    </keybind>
    <keybind key="W-F1">
    <action name="Desktop"><desktop>1</desktop></action>
    </keybind>
    <keybind key="W-F2">
    <action name="Desktop"><desktop>2</desktop></action>
    </keybind>
    <keybind key="W-F3">
    <action name="Desktop"><desktop>3</desktop></action>
    </keybind>
    <keybind key="W-F4">
    <action name="Desktop"><desktop>4</desktop></action>
    </keybind>
    <keybind key="W-d">
    <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Keybindings for windows -->
    <keybind key="A-F4">
    <action name="Close"/>
    </keybind>
    <keybind key="A-Escape">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
    <action name="ShowMenu"><menu>client-menu</menu></action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
    <action name="NextWindow"/>
    </keybind>
    <keybind key="A-S-Tab">
    <action name="PreviousWindow"/>
    </keybind>
    <keybind key="C-A-Tab">
    <action name="NextWindow">
    <panels>yes</panels><desktop>yes</desktop>
    </action>
    </keybind>
    <!-- Keybindings for running applications -->
    <keybind key="W-e">
    <action name="Execute">
    <startupnotify>
    <enabled>true</enabled>
    <name>Konqueror</name>
    </startupnotify>
    <command>kfmclient openProfile filemanagement</command>
    </action>
    </keybind>
    </keyboard>
    <mouse>
    <dragThreshold>8</dragThreshold>
    <!-- number of pixels the mouse must move before a drag begins -->
    <doubleClickTime>200</doubleClickTime>
    <!-- in milliseconds (1000 = 1 second) -->
    <screenEdgeWarpTime>400</screenEdgeWarpTime>
    <!-- Time before changing desktops when the pointer touches the edge of the
    screen while moving a window, in milliseconds (1000 = 1 second).
    Set this to 0 to disable warping -->
    <context name="Frame">
    <mousebind button="A-Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="A-Left" action="Click">
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="A-Left" action="Drag">
    <action name="Move"/>
    </mousebind>
    <mousebind button="A-Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="A-Right" action="Drag">
    <action name="Resize"/>
    </mousebind>
    <mousebind button="A-Middle" action="Press">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </mousebind>
    <mousebind button="A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="C-A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="C-A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-S-Up" action="Click">
    <action name="SendToDesktopPrevious"/>
    </mousebind>
    <mousebind button="A-S-Down" action="Click">
    <action name="SendToDesktopNext"/>
    </mousebind>
    </context>
    <context name="Titlebar">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Move"/>
    </mousebind>
    <mousebind button="Left" action="DoubleClick">
    <action name="ToggleMaximizeFull"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </mousebind>
    <mousebind button="Up" action="Click">
    <action name="Shade"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    <action name="Lower"/>
    </mousebind>
    <mousebind button="Down" action="Click">
    <action name="Unshade"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu"><menu>client-menu</menu></action>
    </mousebind>
    </context>
    <context name="Top">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"><edge>top</edge></action>
    </mousebind>
    </context>
    <context name="Left">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"><edge>left</edge></action>
    </mousebind>
    </context>
    <context name="Right">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"><edge>right</edge></action>
    </mousebind>
    </context>
    <context name="Bottom">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"><edge>bottom</edge></action>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Lower"/>
    <action name="FocusToBottom"/>
    <action name="Unfocus"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu"><menu>client-menu</menu></action>
    </mousebind>
    </context>
    <context name="BLCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="BRCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="TLCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="TRCorner">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Drag">
    <action name="Resize"/>
    </mousebind>
    </context>
    <context name="Client">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    </context>
    <context name="Icon">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    <action name="ShowMenu"><menu>client-menu</menu></action>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="ShowMenu"><menu>client-menu</menu></action>
    </mousebind>
    </context>
    <context name="AllDesktops">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="ToggleOmnipresent"/>
    </mousebind>
    </context>
    <context name="Shade">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="ToggleShade"/>
    </mousebind>
    </context>
    <context name="Iconify">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="Iconify"/>
    </mousebind>
    </context>
    <context name="Maximize">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Middle" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="ToggleMaximizeFull"/>
    </mousebind>
    <mousebind button="Middle" action="Click">
    <action name="ToggleMaximizeVert"/>
    </mousebind>
    <mousebind button="Right" action="Click">
    <action name="ToggleMaximizeHorz"/>
    </mousebind>
    </context>
    <context name="Close">
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    <action name="Unshade"/>
    </mousebind>
    <mousebind button="Left" action="Click">
    <action name="Close"/>
    </mousebind>
    </context>
    <context name="Desktop">
    <mousebind button="Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="C-A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="C-A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
    </mousebind>
    </context>
    <context name="Root">
    <!-- Menus -->
    <mousebind button="Middle" action="Press">
    <action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
    </mousebind>
    <mousebind button="Right" action="Press">
    <action name="ShowMenu"><menu>root-menu</menu></action>
    </mousebind>
    </context>
    <context name="MoveResize">
    <mousebind button="Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    <mousebind button="A-Up" action="Click">
    <action name="DesktopPrevious"/>
    </mousebind>
    <mousebind button="A-Down" action="Click">
    <action name="DesktopNext"/>
    </mousebind>
    </context>
    </mouse>
    <menu>
    <!-- You can specify more than one menu file in here and they are all loaded,
    just don't make menu ids clash or, well, it'll be kind of pointless -->
    <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
    <file>menu.xml</file>
    <hideDelay>200</hideDelay>
    <!-- if a press-release lasts longer than this setting (in milliseconds), the
    menu is hidden again -->
    <middle>no</middle>
    <!-- center submenus vertically about the parent entry -->
    <submenuShowDelay>100</submenuShowDelay>
    <!-- this one is easy, time to delay before showing a submenu after hovering
    over the parent entry -->
    <applicationIcons>yes</applicationIcons>
    <!-- controls if icons appear in the client-list-(combined-)menu -->
    <manageDesktops>yes</manageDesktops>
    <!-- show the manage desktops section in the client-list-(combined-)menu -->
    </menu>
    <applications>
    <!--
    # this is an example with comments through out. use these to make your
    # own rules, but without the comments of course.
    <application name="first element of window's WM_CLASS property (see xprop)"
    class="second element of window's WM_CLASS property (see xprop)"
    role="the window's WM_WINDOW_ROLE property (see xprop)"
    type="the window's _NET_WM_WINDOW_TYPE (if unspecified, then
    it is dialog for child windows)">
    # the name or the class can be set, or both. this is used to match
    # windows when they appear. role can optionally be set as well, to
    # further restrict your matches.
    # the name, class, and role use simple wildcard matching such as those
    # used by a shell. you can use * to match any characters and ? to match
    # any single character.
    # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
    # or desktop
    # when multiple rules match a window, they will all be applied, in the
    # order that they appear in this list
    # each element can be left out or set to 'default' to specify to not
    # change that attribute of the window
    <decor>yes</decor>
    # enable or disable window decorations
    <shade>no</shade>
    # make the window shaded when it appears, or not
    <position force="no">
    # the position is only used if both an x and y coordinate are provided
    # (and not set to 'default')
    # when force is "yes", then the window will be placed here even if it
    # says you want it placed elsewhere. this is to override buggy
    # applications who refuse to behave
    <x>center</x>
    # a number like 50, or 'center' to center on screen. use a negative number
    # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
    # right edge (or bottom).
    <y>200</y>
    <monitor>1</monitor>
    # specifies the monitor in a xinerama setup.
    # 1 is the first head, or 'mouse' for wherever the mouse is
    </position>
    <focus>yes</focus>
    # if the window should try be given focus when it appears. if this is set
    # to yes it doesn't guarantee the window will be given focus. some
    # restrictions may apply, but Openbox will try to
    <desktop>1</desktop>
    # 1 is the first desktop, 'all' for all desktops
    <layer>normal</layer>
    # 'above', 'normal', or 'below'
    <iconic>no</iconic>
    # make the window iconified when it appears, or not
    <skip_pager>no</skip_pager>
    # asks to not be shown in pagers
    <skip_taskbar>no</skip_taskbar>
    # asks to not be shown in taskbars. window cycling actions will also
    # skip past such windows
    <fullscreen>yes</fullscreen>
    # make the window in fullscreen mode when it appears
    <maximized>true</maximized>
    # 'Horizontal', 'Vertical' or boolean (yes/no)
    </application>
    # end of the example
    -->
    </applications>
    </openbox_config>
    menu.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <openbox_menu xmlns="http://openbox.org/3.4/menu">
    <menu id="apps-accessories-menu" label="Accessories">
    <item label="Calculator">
    <action name="Execute">
    <command>gnome-calculator</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Character Map">
    <action name="Execute">
    <command>gnome-character-map</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Ark File Archiver">
    <action name="Execute">
    <command>ark</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    </menu>
    <menu id="apps-editors-menu" label="Editors">
    <item label="GVim">
    <action name="Execute">
    <command>gvim</command>
    <startupnotify>
    <enabled>yes</enabled>
    <wmclass>GVim</wmclass>
    </startupnotify>
    </action>
    </item>
    <item label="Emacs">
    <action name="Execute">
    <command>emacs</command>
    <startupnotify>
    <enabled>yes</enabled>
    <wmclass>Emacs</wmclass>
    </startupnotify>
    </action>
    </item>
    <item label="GEdit">
    <action name="Execute">
    <command>gedit</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Kate">
    <action name="Execute">
    <command>kate</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Kwrite">
    <action name="Execute">
    <command>kwrite</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    </menu>
    <menu id="apps-term-menu" label="Terminals">
    <item label="Rxvt Unicode">
    <action name="Execute">
    <command>urxvt</command>
    </action>
    </item>
    <item label="Gnome Terminal">
    <action name="Execute">
    <command>gnome-terminal</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Xfce Terminal">
    <action name="Execute">
    <command>xfce4-terminal</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Konsole">
    <action name="Execute">
    <command>konsole</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Xterm">
    <action name="Execute"><command>xterm</command></action>
    </item>
    </menu>
    <menu id="apps-net-menu" label="Internet">
    <item label="Firefox">
    <action name="Execute">
    <command>firefox</command>
    <startupnotify>
    <enabled>yes</enabled>
    <wmclass>Firefox</wmclass>
    </startupnotify>
    </action>
    </item>
    <item label="Opera">
    <action name="Execute">
    <command>opera</command>
    <startupnotify>
    <enabled>yes</enabled>
    <wmclass>Opera</wmclass>
    </startupnotify>
    </action>
    </item>
    <item label="Konqueror">
    <action name="Execute">
    <command>konqueror</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Epiphany">
    <action name="Execute">
    <command>epiphany</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Pidgin Instant Messenger">
    <action name="Execute">
    <command>pidgin</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Kopete Instant Messenger">
    <action name="Execute">
    <command>kopete</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="XChat">
    <action name="Execute">
    <command>xchat</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    </menu>
    <menu id="apps-office-menu" label="Office">
    <item label="OpenOffice Base">
    <action name="Execute">
    <command>ooffice -base</command>
    </action>
    </item>
    <item label="OpenOffice Calc">
    <action name="Execute">
    <command>ooffice -calc</command>
    </action>
    </item>
    <item label="OpenOffice Draw">
    <action name="Execute">
    <command>ooffice -draw</command>
    </action>
    </item>
    <item label="OpenOffice Impress">
    <action name="Execute">
    <command>ooffice -impress</command>
    </action>
    </item>
    <item label="OpenOffice Math">
    <action name="Execute">
    <command>ooffice -math</command>
    </action>
    </item>
    <item label="OpenOffice Printer Administration">
    <action name="Execute">
    <command>ooffice-printeradmin</command>
    </action>
    </item>
    <item label="OpenOffice Writer">
    <action name="Execute">
    <command>ooffice -writer</command>
    </action>
    </item>
    </menu>
    <menu id="apps-multimedia-menu" label="Multimedia">
    <item label="Amarok">
    <action name="Execute">
    <command>amarok</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Rhythmbox">
    <action name="Execute">
    <command>rhythmbox</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="K3b">
    <action name="Execute">
    <command>k3b</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="MPlayer">
    <action name="Execute">
    <command>gmplayer</command>
    <startupnotify>
    <enabled>yes</enabled>
    <wmclass>MPlayer</wmclass>
    </startupnotify>
    </action>
    </item>
    <item label="Totem">
    <action name="Execute">
    <command>totem</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    </menu>
    <menu id="apps-fileman-menu" label="File Managers">
    <item label="Nautilus">
    <action name="Execute">
    <command>nautilus --no-desktop --browser</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Thunar">
    <action name="Execute">
    <command>Thunar</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="KDE File Manager">
    <action name="Execute">
    <command>kfmclient openURL ~</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Rox">
    <action name="Execute">
    <command>rox</command>
    <startupnotify>
    <enabled>yes</enabled>
    <wmclass>ROX-Filer</wmclass>
    </startupnotify>
    </action>
    </item>
    <item label="PCMan File Manager">
    <action name="Execute">
    <command>pcmanfm</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    </menu>
    <menu id="apps-graphics-menu" label="Graphics">
    <item label="Gimp">
    <action name="Execute">
    <command>gimp</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Gwenview">
    <action name="Execute">
    <command>gwenview</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Dia Diagram Editor">
    <action name="Execute">
    <command>dia</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    <item label="Inkscape">
    <action name="Execute">
    <command>inkscape</command>
    <startupnotify>
    <enabled>yes</enabled>
    </startupnotify>
    </action>
    </item>
    </menu>
    <menu id="system-menu" label="System">
    <item label="Openbox Configuration Manager">
    <action name="Execute">
    <command>obconf</command>
    <startupnotify><enabled>yes</enabled></startupnotify>
    </action>
    </item>
    <item label="Gnome Control Center">
    <action name="Execute">
    <command>gnome-control-center</command>
    <startupnotify><enabled>yes</enabled></startupnotify>
    </action>
    </item>
    <item label="KDE Control Center">
    <action name="Execute">
    <command>kcontrol</command>
    <startupnotify><enabled>yes</enabled></startupnotify>
    </action>
    </item>
    <item label="Xfce Settings">
    <action name="Execute">
    <command>xfce-setting-show</command>
    <startupnotify><enabled>yes</enabled></startupnotify>
    </action>
    </item>
    <item label="Manage Cups Printers">
    <action name="Execute">
    <command>xdg-open http://localhost:631/</command>
    <startupnotify>
    <enabled>no</enabled>
    <icon>cups</icon>
    </startupnotify>
    </action>
    </item>
    <separator />
    <item label="Reconfigure Openbox">
    <action name="Reconfigure" />
    </item>
    <item label="Exit Openbox">
    <action name="Exit">
    <prompt>yes</prompt>
    </action>
    </item>
    </menu>
    <menu id="root-menu" label="Openbox 3">
    <separator label="Applications" />
    <menu id="apps-accessories-menu"/>
    <menu id="apps-editors-menu"/>
    <menu id="apps-graphics-menu"/>
    <menu id="apps-net-menu"/>
    <menu id="apps-office-menu"/>
    <menu id="apps-multimedia-menu"/>
    <menu id="apps-term-menu"/>
    <menu id="apps-fileman-menu"/>
    <separator label="System" />
    <menu id="system-menu"/>
    <separator />
    <item label="Log Out">
    <action name="SessionLogout">
    <prompt>yes</prompt>
    </action>
    </item>
    </menu>
    </openbox_menu>
    autostart.sh
    # This shell script is run before Openbox launches.
    # Environment variables set here are passed to the Openbox session.
    # Set a background color
    BG=""
    if which hsetroot >/dev/null; then
    BG=hsetroot
    else
    if which esetroot >/dev/null; then
    BG=esetroot
    else
    if which xsetroot >/dev/null; then
    BG=xsetroot
    fi
    fi
    fi
    test -z $BG || $BG -solid "#303030"
    # D-bus
    if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
    eval `dbus-launch --sh-syntax --exit-with-session`
    fi
    # Make GTK apps look and behave how they were set up in the gnome config tools
    if test -x /usr/libexec/gnome-settings-daemon >/dev/null; then
    /usr/libexec/gnome-settings-daemon &
    elif which gnome-settings-daemon >/dev/null; then
    gnome-settings-daemon &
    # Make GTK apps look and behave how they were set up in the XFCE config tools
    elif which xfce-mcs-manager >/dev/null; then
    xfce-mcs-manager n &
    fi
    # Preload stuff for KDE apps
    if which start_kdeinit >/dev/null; then
    LD_BIND_NOW=true start_kdeinit --new-startup +kcminit_startup &
    fi
    # Run XDG autostart things. By default don't run anything desktop-specific
    # See xdg-autostart --help more info
    DESKTOP_ENV=""
    if which /usr/lib/openbox/xdg-autostart >/dev/null; then
    /usr/lib/openbox/xdg-autostart $DESKTOP_ENV
    fi
    pypanel &
    eval `cat $HOME/.fehbg` &
    setxkbmap se
    conky
    I don´t know really what info you need to help me but please let me know what you need and I will get it for you.
    I want my Openbox back
    /Neuwerld
    Last edited by neuwerld (2009-03-25 17:35:59)

    neuwerld wrote:
    Ohh thanks guys!
    It worked as a charm, and thanks Brisbin33 for the autostart.sh tip.
    So the thing that caused my whole system not to work as it should was that I forgot to put a "&" after conky?
    haha that´s kinda anoying I have been sitting and looking through like a milllion files looking for the answer
    But again, really thanks!
    /Neuwerld
    that little "&" sends the conky process to the background freeing up the current process (your autostart.sh script) to finish doing what it's doing so you can move on to running openbox itself.  with this in mind, it should be obvious why keeping conky in the foreground would cause problems.
    also, replacing it with (sleep 1 && conky) & means... wait a second, when that's done successfully (&&) run conky, and put all of that () to the background.  that way openbox comes up immediatly and only a second later you've got your panel and monitor.
    all this after .xinitrc and before openbox

  • [SOLVED] Openbox autostart no longer working since upgrade

    After the upgrade on May 14 2013 my autostart file no longer works. I tried renaming my autostart.sh to just autostart no luck. There is nothing wrong with the autostart file as I can run it manually and it will load all my apps. Also, if I cd to  /usr/lib/openbox/ and run openbox-autostart directly it works. Here are the updated packages:
    [2013-05-14 21:34] [PACMAN] upgraded ethtool (1:3.8-1 -> 1:3.9-1)
    [2013-05-14 21:34] [PACMAN] upgraded firefox (20.0.1-5 -> 21.0-1)
    [2013-05-14 21:34] [PACMAN] upgraded gsettings-desktop-schemas (3.8.0-1 -> 3.8.2-1)
    [2013-05-14 21:34] [PACMAN] upgraded glib-networking (2.36.1-1 -> 2.36.2-1)
    [2013-05-14 21:34] [PACMAN] upgraded gnome-icon-theme-symbolic (3.8.0.1-2 -> 3.8.2.2-1)
    [2013-05-14 21:34] [PACMAN] upgraded gnome-icon-theme (3.8.0-1 -> 3.8.2-1)
    [2013-05-14 21:34] [PACMAN] upgraded gnupg (2.0.19-7 -> 2.0.20-1)
    [2013-05-14 21:34] [PACMAN] upgraded gtkmm (2.24.2-2 -> 2.24.3-1)
    [2013-05-14 21:34] [PACMAN] upgraded gvfs (1.16.1-2 -> 1.16.2-1)
    [2013-05-14 21:34] [PACMAN] upgraded libical (0.48-1 -> 1.0-2)
    [2013-05-14 21:34] [PACMAN] upgraded mplayer (35920-2 -> 35920-3)
    [2013-05-14 21:34] [PACMAN] upgraded orage (4.8.4-1 -> 4.8.4-2)
    [2013-05-14 21:34] [PACMAN] upgraded pango (1.34.0-1 -> 1.34.1-1)
    [2013-05-14 21:34] [PACMAN] upgraded pdnsd (1.2.9.a-1 -> 1.2.9.a-2)
    [2013-05-14 21:34] [PACMAN] upgraded python2-distribute (0.6.38-1 -> 0.6.39-1)
    [2013-05-14 21:34] [PACMAN] upgraded python2-zope-interface (4.0.3-1 -> 4.0.5-1)
    [2013-05-14 21:34] [PACMAN] upgraded sudo (1.8.6.p8-1 -> 1.8.6.p8-2)
    [2013-05-14 21:34] [PACMAN] upgraded thunderbird (17.0.5-2 -> 17.0.6-1)
    [2013-05-14 21:34] [PACMAN] upgraded virtualbox (4.2.12-2 -> 4.2.12-3)
    [2013-05-14 21:34] [PACMAN] upgraded vte-common (0.34.4-1 -> 0.34.5-1)
    [2013-05-14 21:35] [PACMAN] upgraded python3-threaded_servers (2013.5.12.3-1 -> 2013.5.14.1-1)
    Not sure what's going on or what could have caused it. My .xinitrc looks like this:
    #!/bin/sh
    if [ -d /etc/X11/xinit/xinitrc.d ]; then
    for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
    done
    unset f
    fi
    export BROWSER="chromium"
    # Start GNOME Keyring
    eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
    # You probably need to do this too:
    export SSH_AUTH_SOCK
    export GPG_AGENT_INFO
    export GNOME_KEYRING_CONTROL
    export GNOME_KEYRING_PID
    exec openbox-session
    My .zprofile
    [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx &> ~/.xlog
    My systemd startup service:
    # This file is part of systemd.
    # systemd is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2.1 of the License, or
    # (at your option) any later version.
    [Unit]
    Description=Getty on %I
    Documentation=man:agetty(8) man:systemd-getty-generator(8)
    Documentation=http://0pointer.de/blog/projects/serial-console.html
    After=systemd-user-sessions.service plymouth-quit-wait.service
    After=rc-local.service
    # If additional gettys are spawned during boot then we should make
    # sure that this is synchronized before getty.target, even though
    # getty.target didn't actually pull it in.
    Before=getty.target
    IgnoreOnIsolate=yes
    # On systems without virtual consoles, don't start any getty. (Note
    # that serial gettys are covered by [email protected], not this
    # unit
    ConditionPathExists=/dev/tty0
    [Service]
    # the VT is cleared by TTYVTDisallocate
    ExecStart=-/sbin/agetty -a dodo3773 %I 38400
    Type=simple
    #Restart=always
    #RestartSec=0
    UtmpIdentifier=%I
    TTYPath=/dev/%I
    TTYReset=no
    TTYVHangup=no
    TTYVTDisallocate=no
    KillMode=process
    IgnoreSIGPIPE=no
    # Unset locale for the console getty since the console has problems
    # displaying some internationalized messages.
    Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=
    # Some login implementations ignore SIGTERM, so we send SIGHUP
    # instead, to ensure that login terminates cleanly.
    KillSignal=SIGHUP
    [Install]
    WantedBy=getty.target
    Edit: I tried switching to bash in a tty and then just startx but that doesn't help either.
    Edit2: To be clear openbox does load a desktop. The autostart scripts at ~/.config/openbox/ just don't run. Thanks.
    Edit3: I decided to run the command issued in openbox-session and added --debug to it. Here is the output of "xinit /usr/bin/openbox --debug --startup "/usr/lib/openbox/openbox-autostart OPENBOX" "$@" -- :1 -nolisten tcp" :
    X.Org X Server 1.14.1
    Release Date: 2013-04-17
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 3.8.7-1-ARCH x86_64
    Current Operating System: Linux dodo713 3.9.2-2-ck #1 SMP PREEMPT Sun May 12 18:19:49 EDT 2013 x86_64
    Kernel command line: BOOT_IMAGE=/vmlinuz-linux-ck root=UUID=06874255-7a5d-4968-8f09-1e53cb761f44 ro quiet init=/usr/lib/systemd/systemd
    Build Date: 17 April 2013 02:37:06PM
    Current version of pixman: 0.30.0
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/var/log/Xorg.1.log", Time: Fri May 17 08:14:11 2013
    (==) Using config file: "/etc/X11/xorg.conf"
    (==) Using config directory: "/etc/X11/xorg.conf.d"
    setversion 1.4 failed
    Initializing built-in extension Generic Event Extension
    Initializing built-in extension SHAPE
    Initializing built-in extension MIT-SHM
    Initializing built-in extension XInputExtension
    Initializing built-in extension XTEST
    Initializing built-in extension BIG-REQUESTS
    Initializing built-in extension SYNC
    Initializing built-in extension XKEYBOARD
    Initializing built-in extension XC-MISC
    Initializing built-in extension SECURITY
    Initializing built-in extension XINERAMA
    Initializing built-in extension XFIXES
    Initializing built-in extension RENDER
    Initializing built-in extension RANDR
    Initializing built-in extension COMPOSITE
    Initializing built-in extension DAMAGE
    Initializing built-in extension MIT-SCREEN-SAVER
    Initializing built-in extension DOUBLE-BUFFER
    Initializing built-in extension RECORD
    Initializing built-in extension DPMS
    Initializing built-in extension X-Resource
    Initializing built-in extension XVideo
    Initializing built-in extension XVideo-MotionCompensation
    Initializing built-in extension XFree86-VidModeExtension
    Initializing built-in extension XFree86-DGA
    Initializing built-in extension XFree86-DRI
    Initializing built-in extension DRI2
    Loading extension GLX
    Loading extension NV-GLX
    Loading extension NV-CONTROL
    Loading extension XINERAMA
    setversion 1.4 failed
    Openbox-Debug: --startup /usr/lib/openbox/openbox-autostart OPENBOX
    Openbox-Debug: Moving to desktop 1
    Openbox-Debug: not managing override redirect window 0x4000bb
    which: no hsetroot in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/android-sdk/platform-tools:/usr/bin/core_perl:/home/dodo3773/Documents/Scripts:/home/dodo3773/Documents/Scripts)
    which: no esetroot in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/android-sdk/platform-tools:/usr/bin/core_perl:/home/dodo3773/Documents/Scripts:/home/dodo3773/Documents/Scripts)
    which: no xsetroot in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/android-sdk/platform-tools:/usr/bin/core_perl:/home/dodo3773/Documents/Scripts:/home/dodo3773/Documents/Scripts)
    kupfer: Reading from stdin
    The XKEYBOARD keymap compiler (xkbcomp) reports:
    > Warning: Compat map for group 2 redefined
    > Using new definition
    > Warning: Compat map for group 3 redefined
    > Using new definition
    > Warning: Compat map for group 4 redefined
    > Using new definition
    Errors from xkbcomp are not fatal to the X server
    Openbox-Debug: Caught signal 22. Ignoring.
    Openbox-Debug: UPDATE DESKTOP NAMES
    Openbox-Debug: Keyboard map changed. Reloading keyboard bindings.
    Edit4: Removed everything from /etc/xdg/autostart and ~/.config/autostart/ directories. That didn't work.
    Edit5: Tried installing xorg-xsetroot to let openbox set the color of the wallpaper. That didn't work.
    Edit6: Checked the output of "loginctl show-session $XDG_SESSION_ID" to make sure that wasn't the issue. Looks okay to me:
    Id=1
    Timestamp=Fri 2013-05-17 10:25:53 PDT
    TimestampMonotonic=13650783
    DefaultControlGroup=systemd:/user/1000.user/1.session
    VTNr=1
    TTY=tty1
    Remote=no
    Service=login
    Leader=405
    Audit=1
    Type=tty
    Class=user
    Active=yes
    State=active
    KillProcesses=no
    IdleHint=no
    IdleSinceHint=1368811547544203
    IdleSinceHintMonotonic=7545641
    Name=dodo3773
    Edit7: Tried installing xorg-xrdb thinking maybe that would help and did todays updates. No luck yet.
    Edit8: Kupfer still loads even though nothing else does. So I uninstalled kupfer. Same thing though. No autostart.
    Edit9: Tried booting into repo kernel instead of ck kernel. Didn't work.
    Last edited by dodo3773 (2013-05-19 06:34:44)

    WonderWoofy wrote:Interestingly, of all those things you included in your post, you forgot to include the autostart script itself.  What does that look like?
    Well, since it worked fine even when called indirectly through openbox-autostart and since it's worked fine for months I figured it was fine. I am happy to post it though. Here you go:
    feh --bg-scale /home/dodo3773/Pictures/blacksolid.png &
    xfce4-panel &
    numlockx &
    keepassx -lock &
    kupfer --no-splash &
    ~/Documents/Scripts/startupopen.sh &
    sleep 30 && sudo /usr/bin/ntpd -qg &
    sudo /usr/sbin/ethtool -K eth0 rx off &
    ~/Documents/Scripts/conky.sh &
    sudo /home/dodo3773/Documents/Scripts/temp_throttlenew > /dev/null 2>&1 &
    Here are the external scripts that are called (startupopen.sh and temp_throttlenew):
    startupopen.sh
    #! /bin/bash
    sleep 13
    chromium &
    thunderbird &
    sleep 20
    devilspie -a &
    sleep 7
    pkill devilspie &
    exit
    temp_throttlenew
    #!/bin/bash
    # temp_throttle.sh max_temp
    # USE CELSIUS TEMPERATURES.
    if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root" 1>&2
    exit 1
    fi
    #if [ $# -ne 1 ]; then
    # If temperature wasn't given, then print a message and exit.
    # echo "Please supply a maximum desired temperature in Celsius." 1>&2
    # echo "For example: ${0} 60" 1>&2
    # exit 2
    #else
    #Set the first argument as the maximum desired temperature.
    MAX_TEMP=85
    #fi
    # The frequency will increase when low temperature is reached.
    let LOW_TEMP=$MAX_TEMP-5
    CORES=$(nproc) # Get number of CPU cores.
    echo -e "Number of CPU cores detected: $CORES\n"
    # Temperatures internally are calculated to the thousandth.
    MAX_TEMP=${MAX_TEMP}000
    LOW_TEMP=${LOW_TEMP}000
    # FREQ_LIST is a list (array) of all available cpu frequencies the system allows.
    declare -a FREQ_LIST=($(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies))
    # CURRENT_FREQ relates to the FREQ_LIST by keeping record of the currently set frequency.
    let CURRENT_FREQ=1
    function set_freq {
    echo ${FREQ_LIST[$1]}
    cpupower frequency-set -g "ondemand" -d "800MHz" -u ${FREQ_LIST[$1]}
    function throttle {
    if [ $CURRENT_FREQ -ne $((${#FREQ_LIST[@]}-1)) ]; then
    let CURRENT_FREQ+=1
    echo -n "throttle "
    set_freq $CURRENT_FREQ
    fi
    function unthrottle {
    if [ $CURRENT_FREQ -ne 0 ]; then
    let CURRENT_FREQ-=1
    echo -n "unthrottle "
    set_freq $CURRENT_FREQ
    fi
    function get_temp {
    # Get the system temperature.
    # If one of these doesn't work, the try uncommenting another.
    TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
    #TEMP=$(cat /sys/class/hwmon/hwmon0/temp1_input)
    #TEMP=$(cat /sys/class/hwmon/hwmon1/device/temp1_input)
    while true; do
    get_temp
    if [ $TEMP -gt $MAX_TEMP ]; then # Throttle if too hot.
    throttle
    elif [ $TEMP -le $LOW_TEMP ]; then # Unthrottle if cool.
    unthrottle
    fi
    sleep 3
    done
    Stuff that needs sudo is in my sudoers as "username hostname NOPASSWD: item1,item2,etc,etc". Nothing too exciting. Seems like if there was suddenly something wrong with my autostart file at least some of the stuff would run either way though cause of "&". Pretty puzzling this issue is.

  • Script for Window tiling in openbox

    I wanted to use a tiling window manager but didn't want to leave openbox. So I started using PyTyle and PyTyle2 but they both took up more RAM than I could afford to let them use in my lowly desktop. So I wrote a script to do my tiling for me using wmctrl and xwininfo. And here are the results:
    GRID mode:
    BOTTOM MASTER mode:
    TOP MASTER mode:
    LEFT MASTER mode (also the default) :
    RIGHT MASTER mode:
    MAX mode:
    HORIZONTAL SPLIT mode:
    VERTICAL SPLIT  mode :
    The entire thing is just one bash script that I named wmtiler.sh
    The script itself is rather poorly written as I don't have much experience in bash.
    #!/bin/bash
    # use wmctrl and xwininfo to tile windows
    #currently supports the "LEFT_MASTER" mode (default),
    # "RIGHT_MASTER" mode (-r) ,
    # "TOP_MASTER" mode (-t),
    #"BOTTOM_MASTER" mode (-b) ,
    #"GRID" mode (-g),
    #"MAX" mode (-m) ,
    # "VERTICAL_SPLIT" mode (-v) and
    #"HORIZONTAL_SPLIT" mode (-h)
    #NOTE: wmctrl sets the properties of the window itself i.e. the window manager's borders
    #and title bars are not taken into account while setting the coordinates. So for best results
    #set the window manager to display all windows undecorated
    #or manually set the title bar height here
    #List of things to do:
    # 1. Get the values of the TOP_MARGIN, BOTTOM_MARGIN, LEFT_MARGIN and RIGHT_MARGIN from the window manager
    # 2. Get the MASTER_WIDTH for the default LEFT_MASTER, RIGHT_MASTER layouts as a parameter , set a default if not provided
    # 3. Get the MASTER_HEIGHT for the default TOP_MASTER, BOTTOM_MASTER layouts as a parameter , set a default if not provided
    # 4. Get the NUMBER_OF_ROWS for the grid mode as a parameter, set a default if not provided
    # 5. Get the TITLE_BAR_HEIGHT from the window manager
    # 6. Restructure the code to use functions
    # 7. Provide mechanisms to increase/decrease the MASTER area
    # 8. Provide mechanisms to increase/decrease the number of windows in the MASTER area
    #List of bugs
    # 1. If called from a key combination, there may not be a :ACTIVE: window and in which case the results are not as desired.
    # 2. The title bar plays havoc with the height of windows
    #need to find a way to get these from the window manager
    TOP_MARGIN=18
    BOTTOM_MARGIN=18
    LEFT_MARGIN=0
    RIGHT_MARGIN=0
    TITLE_BAR_HEIGHT=17 #works best if all the windows are border less and this is set to zero
    #we are now using xwininfo to get these
    #HEIGHT=1080
    #WIDTH=1920
    #either set these in a file or calculate them from the screen properties
    MASTER_WIDTH=1344
    MASTER_HEIGHT=600
    #set the number of rows we want for the grid mode
    NUMBER_OF_ROWS=2
    #looks nice :)
    USELESS_GAPS=1
    #see what the user wants to do
    case $1 in
    "-g")
    MODE="GRID"
    "-m")
    MODE="MAX"
    "-v")
    MODE="VERTICAL_SPLIT"
    "-h")
    MODE="HORIZONTAL_SPLIT"
    "-t")
    MODE="TOP_MASTER"
    "-b")
    MODE="BOTTOM_MASTER"
    "-r")
    MODE="RIGHT_MASTER"
    MODE="LEFT_MASTER"
    esac
    #get the desktop parameters
    HEIGHT=`xwininfo -root | grep 'Height:' | awk '{print $2}'`
    WIDTH=`xwininfo -root | grep 'Width:' | awk '{print $2}'`
    #get the window parameters
    #get the current desktop
    CURR_DESK=` wmctrl -d | grep '* DG:'| awk '{print $1}'`
    #get the total number of windows.
    #NOTE: we are not directly using grep to get the windows from the current desktop as it may serve up some false positives
    TOTAL_WINDOWS=`wmctrl -lx | wc -l`
    #counter
    i=1
    #Assume that there are no windows in the current desktop
    WINDOWS_IN_DESK=0
    while [ $i -le $TOTAL_WINDOWS ] ; do
    CURR_LINE=`wmctrl -lx | head -n $i | tail -n 1`
    WIN_DESK=`echo $CURR_LINE | awk '{print $2}'`
    if [ $WIN_DESK -eq $CURR_DESK ] ; then
    #save the various window properties as supplied by wmctrl . Un comment rest if necessary. Include more if necessary
    WIN_XID[$WINDOWS_IN_DESK]=`echo $CURR_LINE | awk '{print $1}'`
    # WIN_XOFF[$WINDOWS_IN_DESK]=`echo $CURR_LINE | awk '{print $2}'`
    # WIN_YOFF[$WINDOWS_IN_DESK]=`echo $CURR_LINE | awk '{print $3}'`
    # WIN_WIDTH[$WINDOWS_IN_DESK]=`echo $CURR_LINE | awk '{print $4}'`
    # WIN_HEIGHT[$WINDOWS_IN_DESK]=`echo $CURR_LINE | awk '{print $5}'`
    #see if the window is "IsViewable" or "IsUnMapped" i.e minimized
    MAP_STATE=`xwininfo -id ${WIN_XID[$WINDOWS_IN_DESK]} | grep "Map State:" | awk '{print $3}'`
    #we don't want the minimized windows to be considered while allocating the space
    if [ "$MAP_STATE" == "IsViewable" ]; then
    WINDOWS_IN_DESK=$((WINDOWS_IN_DESK+1))
    fi
    fi
    i=$((i+1))
    done
    #get the xid of the active window.
    ACTIVE_WIN=`xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}'`
    #set the selected layout
    #NOTE: these would look better if they were individual functions :)
    case $MODE in
    "LEFT_MASTER")
    #define the properties of the master area
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    #set the width to the default MASTER_WIDTH
    W=$MASTER_WIDTH
    H=$(( HEIGHT -TOP_MARGIN - BOTTOM_MARGIN -TITLE_BAR_HEIGHT -USELESS_GAPS))
    #set the active window to the "master "area
    wmctrl -r :ACTIVE: -e "0,$X,$Y,$W,$H"
    #now that the master window has been set all further windows would have to start from here
    X=$((MASTER_WIDTH+USELESS_GAPS))
    #get whatever width is left
    W=$((WIDTH - MASTER_WIDTH -USELESS_GAPS))
    #the height would be equally shared by the rest of the windows
    H=$((H/(WINDOWS_IN_DESK - 1) - TITLE_BAR_HEIGHT -USELESS_GAPS ))
    i=0
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    #avoid setting the attributes of the active window again
    if [[ "${WIN_XID[$i]}" -ne "$ACTIVE_WIN" ]] ; then
    #set the attributes
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    #set the Y co-ordinate for the next window.
    Y=$((Y+H+TITLE_BAR_HEIGHT+USELESS_GAPS))
    fi
    #preselect the next window
    i=$((i+1))
    done
    "RIGHT_MASTER")
    #define the properties of the master area
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    #get whatever width is left
    W=$((WIDTH - MASTER_WIDTH -USELESS_GAPS))
    #the height would be equally shared by the non master windows
    H=$(((HEIGHT -TOP_MARGIN -BOTTOM_MARGIN )/(WINDOWS_IN_DESK-1) -TITLE_BAR_HEIGHT -USELESS_GAPS))
    i=0
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    #avoid setting the attributes of the active window
    if [[ "${WIN_XID[$i]}" -ne "$ACTIVE_WIN" ]] ; then
    #set the attributes
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    #set the Y co-ordinate for the next window.
    Y=$((Y+H+TITLE_BAR_HEIGHT+USELESS_GAPS))
    fi
    #preselect the next window
    i=$((i+1))
    done
    #set the co-ordinates for the MASTER_WINDOW
    X=$((W+USELESS_GAPS))
    Y=$TOP_MARGIN
    W=$MASTER_WIDTH
    H=$(( HEIGHT -TOP_MARGIN - BOTTOM_MARGIN -TITLE_BAR_HEIGHT -USELESS_GAPS))
    #set the active window to the "master "area
    wmctrl -r :ACTIVE: -e "0,$X,$Y,$W,$H"
    "TOP_MASTER")
    #define the properties of the master area
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    #set the width taking into acount the margins
    W=$((WIDTH-LEFT_MARGIN-RIGHT_MARGIN))
    H=$MASTER_HEIGHT
    #set the active window to the "master "area
    wmctrl -r :ACTIVE: -e "0,$X,$Y,$W,$H"
    #set the y co-ordinate
    Y=$((Y+H+USELESS_GAPS+TITLE_BAR_HEIGHT))
    #Distribute the width amon the remaining windows
    W=$((W/(WINDOWS_IN_DESK-1)))
    #set the new height
    H=$((HEIGHT-MASTER_HEIGHT-TOP_MARGIN-BOTTOM_MARGIN-TITLE_BAR_HEIGHT-USELESS_GAPS))
    i=0
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    #avoid setting the attributes of the active window again
    if [[ "${WIN_XID[$i]}" -ne "$ACTIVE_WIN" ]] ; then
    #set the attributes
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    #set the X co-ordinate for the next window.
    X=$((X+W+USELESS_GAPS))
    fi
    #preselect the next window
    i=$((i+1))
    done
    "BOTTOM_MASTER")
    #define the properties of the master area
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    #Distribute the width among the non master windows
    W=$(((WIDTH-LEFT_MARGIN-RIGHT_MARGIN)/(WINDOWS_IN_DESK-1)))
    #set the new height
    H=$((HEIGHT-MASTER_HEIGHT-TOP_MARGIN-BOTTOM_MARGIN-TITLE_BAR_HEIGHT-USELESS_GAPS))
    i=0
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    #avoid setting the attributes of the active window again
    if [[ "${WIN_XID[$i]}" -ne "$ACTIVE_WIN" ]] ; then
    #set the attributes
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    #set the X co-ordinate for the next window.
    X=$((X+W+USELESS_GAPS))
    fi
    #preselect the next window
    i=$((i+1))
    done
    #set the co-ordinates
    X=$LEFT_MARGIN
    Y=$((Y+H+USELESS_GAPS+TITLE_BAR_HEIGHT))
    W=$((WIDTH-LEFT_MARGIN-RIGHT_MARGIN))
    H=$MASTER_HEIGHT
    #set the active window to the "master "area
    wmctrl -r :ACTIVE: -e "0,$X,$Y,$W,$H"
    "GRID")
    #find the number of windows in the top row and in each subsequent row except for the bottom row.
    NORMAL_ROW_WINDOWS=$((WINDOWS_IN_DESK/NUMBER_OF_ROWS))
    #the bottom row ould have as many windows as the top row and any left over
    BOTTOM_ROW_WINDOWS=$((NORMAL_ROW_WINDOWS + WINDOWS_IN_DESK%NUMBER_OF_ROWS))
    WINDOWS_NOT_IN_BOTTOM_ROW=$((WINDOWS_IN_DESK-BOTTOM_ROW_WINDOWS))
    #set the co-ordinates for the top row
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    #the height of each window would remain the same regardless of which row it is in
    H=$(((HEIGHT-TOP_MARGIN-BOTTOM_MARGIN)/NUMBER_OF_ROWS - TITLE_BAR_HEIGHT))
    #Find the width of each window in the top row, this would be the same for each row except for the bottom row which may contain more windows
    NORMAL_ROW_WIDTH=$((((WIDTH-LEFT_MARGIN-RIGHT_MARGIN)/NORMAL_ROW_WINDOWS)-USELESS_GAPS*NORMAL_ROW_WINDOWS))
    BOTTOM_ROW_WIDTH=$((((WIDTH-LEFT_MARGIN-RIGHT_MARGIN)/BOTTOM_ROW_WINDOWS)-USELESS_GAPS*NORMAL_ROW_WINDOWS))
    #start counting from zero
    i=0
    #we havent processed any windows yet
    CURRENT_ROW_WINDOWS=0
    #we will be processing the 1st row
    CURRENT_ROW=1
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    if [[ "$CURRENT_ROW" -lt "$NUMBER_OF_ROWS" ]]; then
    if [[ "$CURRENT_ROW_WINDOWS" -eq "NORMAL_ROW_WINDOWS " ]]; then
    CURRENT_ROW=$((CURRENT_ROW+1))
    if [[ "$CURRENT_ROW" -eq "$NUMBER_OF_ROWS" ]] ; then
    X=$LEFT_MARGIN
    Y=$((Y+H+TITLE_BAR_HEIGHT+USELESS_GAPS))
    W=$BOTTOM_ROW_WIDTH
    else
    CURRENT_ROW_WINDOWS=0
    fi
    fi
    if [[ "$CURRENT_ROW_WINDOWS" -eq "0" ]] ; then
    X=$LEFT_MARGIN
    W=$NORMAL_ROW_WIDTH
    if [[ "$CURRENT_ROW" -ne "1" ]]; then
    Y=$((Y+H+TITLE_BAR_HEIGHT+USELESS_GAPS))
    fi
    fi
    fi
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    X=$((X+W+USELESS_GAPS))
    CURRENT_ROW_WINDOWS=$((CURRENT_ROW_WINDOWS+1))
    i=$((i+1))
    done
    "MAX")
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    H=$((HEIGHT-TOP_MARGIN-BOTTOM_MARGIN))
    W=$((WIDTH-LEFT_MARGIN-RIGHT_MARGIN))
    i=0
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    #avoid setting the attributes of the active window
    if [[ "${WIN_XID[$i]}" -ne "$ACTIVE_WIN" ]] ; then
    #set the attributes
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    fi
    #preselect the next window
    i=$((i+1))
    done
    #now that all the windows have been set set the master on top
    wmctrl -r :ACTIVE: -e "0,$X,$Y,$W,$H"
    "VERTICAL_SPLIT")
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    H=$((HEIGHT-TOP_MARGIN-BOTTOM_MARGIN))
    W=$(((WIDTH-LEFT_MARGIN-RIGHT_MARGIN)/WINDOWS_IN_DESK - USELESS_GAPS))
    i=0
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    #preselect the next window
    X=$((X+W+USELESS_GAPS))
    i=$((i+1))
    done
    "HORIZONTAL_SPLIT")
    X=$LEFT_MARGIN
    Y=$TOP_MARGIN
    H=$(((HEIGHT-TOP_MARGIN-BOTTOM_MARGIN)/WINDOWS_IN_DESK -TITLE_BAR_HEIGHT -USELESS_GAPS))
    W=$((WIDTH-LEFT_MARGIN-RIGHT_MARGIN))
    i=0
    while [ "$i" -le "$WINDOWS_IN_DESK" ] ; do
    wmctrl -i -r ${WIN_XID[$i]} -e "0,$X,$Y,$W,$H"
    #preselect the next window
    Y=$((Y+H+TITLE_BAR_HEIGHT+USELESS_GAPS))
    i=$((i+1))
    done
    esac
    #say bye
    exit 0
    I call the script using the openbox key bindings for example:
    <keybind key="W-g">
    <action name="Execute">
    <command>/home/default/bin/wmtiler.sh -g</command>
    </action>
    </keybind>
    The advantage this holds, in my case, is that it provides me with on demand automatic tiling with a momentary spike in CPU usage but no sustained RAM usage.
    This should work on all window managers in which wmctrl works.
    Of course  there are plenty of things still to do and many bugs to fix, some of which are documented in the script itself
    Nothing would make me happier if somebody else found this useful.

    Hmmm.... iconified windows should be totally ignored. Could you post the output of xwininfo for the iconified window? for example;
    Get tet a list of windows open by issuing the wmctrl -lxG command
    [default@arch_desktop ~]$ wmctrl -lxG
    0x01400001 -1 4 0 1911 26 Conky.Conky arch_desktop conky
    0x01a00024 0 1346 52 576 254 surf.surf arch_desktop 24Online Client
    0x0200066a 1 1345 54 569 483 terminal.Terminal arch_desktop Terminal - default@arch_desktop:~
    0x02001231 1 1345 538 569 483 terminal.Terminal arch_desktop Terminal - default@arch_desktop:~
    0x02200004 -1 0 971 1920 109 avant-window-navigator.Avant-window-navigator arch_desktop avant-window-navigator
    0x01200039 1 0 18 1344 1026 chromium.Chromium arch_desktop Post a reply / Arch Linux Forums - Chromium
    0x0200279f 0 2 52 933 431 terminal.Terminal arch_desktop Terminal - default@arch_desktop:~
    and taking the window x id of the minimized surf window and issuing the xwininfo command:
    [default@arch_desktop ~]$ xwininfo -id 0x01a00024
    xwininfo: Window id: 0x1a00024 "24Online Client"
    Absolute upper-left X: 1345
    Absolute upper-left Y: 34
    Relative upper-left X: 1
    Relative upper-left Y: 18
    Width: 576
    Height: 254
    Depth: 24
    Visual: 0x21
    Visual Class: TrueColor
    Border width: 0
    Class: InputOutput
    Colormap: 0x20 (installed)
    Bit Gravity State: NorthWestGravity
    Window Gravity State: NorthWestGravity
    Backing Store State: NotUseful
    Save Under State: no
    Map State: IsUnMapped
    Override Redirect State: no
    Corners: +1345+34 --1+34 --1-792 +1345-792
    -geometry 576x254--2+16
    As you can see, for me , the "Map State:" is  "IsUnMapped" for the iconified windows and this set of commands is exactly what I am doing to ignore iconified windows. What I need to know is that is there some other type of map state that I need to ignore.
    As for the feature requests I already had it in my mind to do the first three points that you mentioned. Since the script is intentionally designed not to run as a background process, there has to be some sort of a backing store like maybe a simple text file in which to save the state and read it from there on the next command invocation. The advantage would be it would take a momentary spike in CPU utilization and no sustained RAM utilization like I mentioned before. Disadvantage being the user would have to issue a command to actually get the tiling done.
    Regarding your fourth point, did you mean setting the window to 50% width automatically on moving it to the screen edge like it is done in KWIn and Win7? If you want it to be done automatically then that would involve tracking the movement of the mouse and windows on the screen continuously. This is something I'd rather do in some other, tinier faster, script and call this script from that on specific events.
    However, if you are willing to press a key while focused on a window and have it resized to max height and 50% of screen width either on the right side or on the left side, depending on the key combination, while leaving the other windows unaffected, then that can be arranged very simply. 

  • Conky displays on top in openbox. [Solved]

    Probably a dum question, but I have been trying out openbox lately.  But conky when it starts displays on top of everything.  I am coming from fluxbox where it diplays properly on the bottom layer. 
    here is my autostart.sh and conkyrc
    # Set wallpaper
    eval `cat ~/.fehbg`&
    cp ~/.gtkrc-2.0_conf ~/.gtkrc-2.0&
    ## Apps after openbox starts
    conky&
    (sleep 2 && pypanel)&
    # set to yes if you want Conky to be forked in the background
    background no
    cpu_avg_samples 2
    net_avg_samples 2
    #out_to_console no
    # Use Xft?
    use_xft yes
    # Xft font when Xft is enabled
    xftfont snap
    own_window_colour 222222
    # Text alpha when using Xft
    xftalpha 0.8
    # Update interval in seconds
    update_interval 1
    # Create own window instead of using desktop (required in nautilus)
    own_window yes
    own_window_transparent yes
    own_window_hints undecorated,below,skip_taskbar
    own_window_type override
    # Use double buffering (reduces flicker, may not work for everyone)
    double_buffer yes
    # Minimum size of text area
    minimum_size 120 1
    # Draw shades?
    draw_shades no
    # Draw outlines?
    draw_outline no
    # Draw borders around text
    draw_borders no
    # Stippled borders?
    stippled_borders no
    # border margins
    border_margin 1
    # border width
    border_width 1
    # Default colors and also border colors
    default_color white
    default_shade_color white
    default_outline_color white
    # Text alignment, other possible values are commented
    #alignment top_left
    alignment bottom_left
    #alignment bottom_right
    #alignment top_right
    # Gap between borders of screen and text
    gap_x 2
    gap_y 2
    # Add spaces to keep things from moving about? This only affects certain objects.
    use_spacer no
    # Subtract file system buffers from used memory?
    no_buffers yes
    # set to yes if you want all text to be in uppercase
    uppercase no
    TEXT
    ${font Arial-size=8}┌─${font}[ ${sysname} ${kernel}
    ${font Arial-size=8}├────${font}[ CPU: ${cpu} %
    ${font Arial-size=8}├────${font}[ Memory: ${memperc} %
    ${font Arial-size=8}├────${font}[ Uptime: ${uptime}
    ${font Arial-size=8}└────${font}[ Battery: ${battery}
    ${font Arial-size=8}┌─${font}[ Filesystems
    ${font Arial-size=8}├────${font}[ / : ${fs_used /}/${fs_size /}
    ${font Arial-size=8}└────${font}[ /home: ${fs_used /home}/${fs_size /home}
    ${font Arial-size=8}┌─${font}[ Packages
    ${font Arial-size=8}└────${font}[ ${execi 120 python /home/semperfiguy/bin/pacnotify.py}
    Last edited by semperfiguy (2008-01-05 14:52:55)

    Your problem is the Own_window_type option being 'override', I believe. Set that to 'desktop' and hopefully you'll be good to go. (if not, I can post my .conkyrc here, which works fine in openbox and you can copy the relevant parts of it out)

  • Moving back to Arch, but got a few things I'm kinda 'scared' about :(

    It'll be probably a week as I wanna wait for my new monitor to arrive, but I'm thinking about moving back to Arch.  I've used Arch before for a few months off and on, but I could never stay here, I don't know why but I just couldn't.  Anyone have any advice on what I should give a shot at this time?  I've only really used Openbox the last few times and I'm trying to stay away from KDE and Gnome.  What should I give a try and what's the learning curve for it like?  Also, if I were to add hard drives in at a later time, would they auto-recognize or would I have to mount them in /etc/fstab myself?  If so, how would I find the name of it (/dev/sdb4, etc)?
    Is Arch even for me though?  I mainly do web dev, music, some games (which I think should work in wine), and graphics editing.  Now, I've bought the Adobe suite so would that run perfectly normal in wine or should I dual boot for that?  Or would a virtual box of Vista be enough for it?  Yes, I know it's Vista, but it's what I've bought (I must of been high when I did it to).  I'm not worried about RAM and CPU requirements for the Virtualbox, so would that be a better route than a dual boot.  Because every time I try and dual-boot I end up screwing something up and have to re-format anyways, so what would you suggest?
    When I am ready, I still need to find some applications that would be useful for me in Arch, etc.  But how would this partition scheme work for something like this on a 750gb drive?
    /boot - 100mb
    / - 20gb
    /var - 200gb
    /home - rest of drive
    Also, any applications you could recommend I give a shot for the last and hopefully good experience here.

    E17 is a nice bit of fun, or you could try a straight up Compiz desktop. Personally I use Openbox, but i have been thinking about making a second user to try out a Compiz desktop without all of the Gnome or KDE clutter.
    I'll recommend a VM over duel boot if you have the memory and CPU horsepower to back it up. (if it's less than 2 years old you're probably pretty good) The VM allows more flexible switching between the systems, you can set it to a specific desktop so all you have to do is switch between them with a keystroke, and it will run everything for Windows flawlessly, unlike Wine. (Not knocking wine but it's not perfect yet.)
    Welcome back!
    For apps:
    web dev: you could try bluefish. I am not sure how it compares to others, but I rather like it. (Only used it for a class for about two weeks)
    Music: depends on your style to be honest. if you really wanted to, you could use VLC to play music. There are more music players in Linux than any other type of app. At least from what I have found so far.
    Graphics editing: Well there is always GIMP. It has a sharp learning curve, but it is just as functional as Photoshop. I think there is a Gimpshop that makes it more like Photoshop. Icescape is another one, and again high learning curve. (That might just be because I am still not exactly sure what Icescape is supposed to be used for...) There are others, but they generally are not on the technical level of Photoshop/GIMP.
    Games...   Well there is a games repo that has a few nice things in it. If your games play in Wine, cool! If not, look for the VM that virtualizes the GPU so you get a little better gaming. If your really serious about the games, dual booting is the only way to go. (Hint for dual boots... install Windows first, then shrink it to to left side in Gparted, which is the beginning of the disk in English, before making partitions. Gparted does make it a little easier to do in my opinion.)
    Edit: Ok...  minimalistic as possible...   hmm ...         Awesome  Ratpoison and perhaps Musica all seem to be the minimal types. dvtm with screen is another that just came to mind...
    Last edited by LeoSolaris (2009-04-14 03:59:30)

  • Xorg & Openbox help

    So I've been trying to solve these issues via IRC for a while, but perhaps I will get some help here. Keep in mind I am very new to Linux (but willing to learn)... so try speaking to me like I'm a 4 year old or your grandparents, otherwise I might be asking questions like "what does it mean to invoke something" (a gem of a question that I had to ask in IRC). Anyways, I've been trying to setup Xorg and Openbox for the past few days.
    I installed what I assume are the necessary files when I read the wiki.
    When I first installed xorg, I also installed Openbox and added the "exec openbox-session" to the ~/.xinitrc ; It worked, but was a bit buggy when opening the menu (right clicking). I was able to access the options. Because I didn't install a proper video driver, it was very low resolution and the screen margins were wacky.
    So I downloaded the proper drivers and the screen was the normal 1280x1024. However, when I right clicked and selected anything it would crash; nothing moving, ctrl+alt+bksp not working either. After this I resolved that it was something from Xorg that is the problem; I made a configuration file, xorg.conf, and placed it in the right directory from the wiki. I have it here: http://rafb.net/p/wjptJT37.html
    I did some other things but memory is not exactly great and this was all over the course of days. Essentially the current state is this: in my xinitrc I only have the line "exec xterm" uncommented; however, # X -config /etc/X11/xorg.conf does not do anything; no X, no nothing. startx doesn't do anything, just blanks the screen, then returns to shell.
    My xorg log: http://rafb.net/p/TJIIkP79.html
    I also tried to install xfce4, but when I start that up I get weird yellow bars across the screen, and everything freezes. The cursor moves, but the cursor state is frozen; a Tips dialog pops up but nothing else. Ctrl Alt Bksp doesn't work.
    How do I resolve this? I'm very close to either deleting the partition and starting fresh (maybe I seriously fowled something up before this?) or trying to emulate in Virtual Box instead, neither of which I want to do. I'll be checking this thread often.
    Thanks for any help.

    Teshadael wrote:
    epsilon: Do you know what fixed it?
    If I load hal and openbox, it always results in openbox getting signal 11's, if I !hal, openbox works without a problem.
    I'd like hal loaded for other things though.
    Has anyone else been running into this?
    EDIT:
    Ok, just experimented a bit.
    if I disable hal in the daemons, then start it once I'm in openbox, there doesn't appear to be any issues.
    I've moved it around in the array, so I don't believe it has anything to do with when it's being loaded.
    I am not sure about the order of your daemons, but hal needs to be the first things that needs to be started. Also if you have dbus listed, you should remove that since hal will start dbus for you.

Maybe you are looking for

  • Error while generating a flat file from oracle database

    i have imported three knowledge modules for the interafce. LKM SQL to SQL IKM SQL to FILE Append CKM oracle I have tried executing the interface in following ways 1. checked the staging area different from target and choosed SUNOPSIS_MEMORY_ENGINE. t

  • Can I set the dreamweaver ftp-application to show megabytes instead of bytes?

    Hi! At the moment the ftp-uploader in Dreamweaver is showing bytes when I put or get files from my site. This can be a bit confusing especially with larger files, as the numbers will easily get huge. Is there a way to view the upload/download progres

  • Ipod touch keeps dropping wifi in dorm room

    I recently moved into a college dorm and i am having trouble with my ipod touch. Everytime i connect to the wifi from my roomates router it drops it after a few minutes. I know that is is not the ipod because it works fine with other wifi networks an

  • Error in RE contract

    Hello Experts, We are facing an eror in RE contract profit center determination. We have reviewed the earlier posts on profit center determination, however for us we are unable to save the contract. While creating contract: Contract level no profit c

  • Photoshop CS6 brush lag?

    Hello, I have had cs6 for quite some time now, and today, my brushes started lagging pretty badly, especially the ones that I love to paint with the most. I have tried: - disabling openGL - turning off "use graphics processor" - allocating more mb to