Pages

2013-12-25

Openbox and wallpaper

This topic kinda intriqued me - after relatively easy installs in FB - and I tried out some 10 different versions of scripts I found through links here.

Basically, there is two different kind of change - one that swaps wallpapers after some amount of time, and another that swaps wallpaper together with desktop change.
Scripts are the same but timed ones - obviously - have to have time-trigger.
For this, there also are two options: crontab or Conky (howtos can be found by those same already-mentioned-links).
I definitely do not want spastic desktop, so I went for new-desktop-new-wallpaper kind. This type needs desktop/execute type combo keybind.

The result of my experiments was kinda depressing fail but also ultimately victorious: Most of found scripts didn't work (in my environments), and one that did, went with Nitrogen in Debian, but had to have Feh in Slackware. Problem probably was version of Nitrogen in Slack - an investigative hour wasted nevertheless (no, not really - I got results). But after that I didn't feel anymore like shitting around with new compile, flags, optional dependencies etc.
So it's nitrogen in Debian and Feh in Slack. The friendly scriptlet is like that:
#!/bin/bash
## very simple random wallpaper picker, uses nitrogen or feh
## From Crunchbang forum ##

# directory containing images
DIR="/home/user/picsdir/wpdir"

# select a random jpg from the directory
PIC=$(ls $DIR/*.jpg | shuf -n1)

# use nitrogen to set wallpaper
nitrogen --set-scaled $PIC
# or comment prev nitrogen and outcomment next for feh
#feh --bg-scale $PIC

# and just for terminal fun
echo "$PIC"
exit

To mention - scripts should be executable (chmod +x) and preferably on PATH.
I used two of them, smartly named as randwp1.sh and randwp2.sh, with wpdirs like wp1 and wp2, and keybinded them to W-Left and W-Right.
Two because then I can have two different sets of 'randoms' - like steampunk/fantasy or pr0n1/pr0n2.
Why not to combine action with ready binds of 'GoToDesktop'-type? As much as I tried, this combination didn't work... I was even so crazy that I made 'execute' of GoToDesktop with xdotool (to have 2 similar executes) - and that was success alright... only... then I used xdotool'ed icon on my tint panel, and tint hung totally.
Out it went and in came that, and these entries have to be created:
    <keybind key="W-Left">
    <action name="Desktop">
    <desktop>1</desktop>
    </action>
    <action name="Execute">
    <startupnotify><enabled>true</enabled>
    <name>wp1</name></startupnotify>
    <command>sh /home/user/bin/randwp1.sh</command>
    </action>
    </keybind>       
    <keybind key="W-Right">
    <action name="Desktop">
    <desktop>2</desktop>
    </action>
    <action name="Execute">
    <startupnotify><enabled>true</enabled>
    <name>wp2</name></startupnotify>
    <command>sh /home/user/bin/randwp2.sh</command>
    </action>
    </keybind>

That works for me. No hangs. And jumping back-and-forth, new wallpaper every time!
Oh, and moral: you never know what works; when messing with scripts, bash for beginners is quite must... Me, have to dig in, seems, for less waste of time, less failures.
Merry Christmas.

Fluxbox vs Openbox, chaotically compared

Patients: FB + lxpanel + (nitrogen, compton)  vs OB + tint2 + (nitrogen, compton)

I installed Vsido 3. And there is really nothing new to nag or praise over (see review-like of ver 2). ... Only change worth to mention is that Fluxbox is now sole installed WM. See release announcement.
Means - not a big excitement - but, for squeezing some profit out of my install, I spent some (many) hours poking in Fluxbox and comparing it to my beloved Openbox. Here are results:

## lxpanel vs tint2

0 Takes less recourses. But who cares about 10-20 megas of RAM. I don't ... if we talk of two different environments.
Appearance is markedly less configurable than tint2.
+ At the same time, you can get those fewer options in nicy right-click-on-panel menu.
+/- has panel plugins, tint2 doesn't. How useful they are ... depends on use, and if they function (in Vsido, at least, pagers refused to work. One of them demanded Openbox, other simply crashed the panel). There are bunch of system and hardware monitors - but those would look better in Conky. There is show/hide desktop plugin ... which can be considered useful or not. There is volume control and clock - which are useful alright. I have clock in Conky, though...
+ can create more panels from menu. In tint2 you have to start separate tints for that.
Conclusion: Lxpanel wins in ease of usability. Tint2 wins in looks and flexibility.
I quite like lxpanel - but no swap, I stay with tint2.

## FluxBox vs OpenBox
FB one , two; OB one, two.

- dragging windows's around is strange ... sluggish - cursor moves, but window lags way behind. When releasing mouse button, window jumps. Never observed suchlike in OB. Googling also gives not-a-few mystery lag-problems. No solutions, though.
- window resize is only possible from bottom grips.
- certain theme changes need FB restart. And that's quite annoying - one starts to look for (unexisting) over-rides and ...$$%^$ ... so on.
+ apps' window positions, dimensions, workspaces etc etc: Compared to OB, FB has upper hand here - more options, and those are easy to use by right-clicking window title... plus editing files. There isn't such right-clicky-thing in OB. It is bloody convenient thing to have.
- themes: fewer configurable options. There is 'window.roundCorners' parameter (no such thing in OB) - but this 'roundness' is so pixelated that it looks like major crap.
+ themes: Has ~/.fluxbox/overlay file where it's possible to define your default fonts. Over-rides themes' parameters and gives consistent text-look when using different themes.
+ Menu creation: Manual way is definitely syntactically shorter than in OB. And maybe FBs' menu editor is a bit better than Obmenu.
+ Tabs  - there isn't such thing in OB. However, how needed the feature is, depends again on way-of-use.
0 Wallpaper and changing it. Not an important theme at all - but I decided to investigate/install. Here, both WMs have to use helpers - as they are not DEs.
    Fluxbox first: One way is here.   Then Wally, it's GUI and can get pictures from different sources. Wally needs qt4 installed.
Fluxter: different wallpapers in workspaces plus pager - but it's dead code. That was precisely only way I managed to get it compiled and working. Different wallpapers for workspaces can be set also - and more easely - with FB changeworkspace entry and fsetbg or feh.
    OpenBox wallpapering: with those links here, you can find a bunch of different scripts for random change and/or for different desktops. ...Wally is not OB compatible, though.
AND - I also committed myself with this - see here, a story, with code!
0 Slit, dock-like thing, needs specific dockable apps (above-mentioned fluxter is one). Googling leaves the impression that it's essentially dead. So no pluses or minuses here.

Conclusion.
As I have noticed, there are people who salivate very much over FBs Tabs - so that might be the only real winning feature of FB - if you happen to like/use it. Right-click-title-menu is nice...
At the same time, at least for me, window-drag-lag and bottom-grip-resize are quite unpleasant. I don't use Tabs (honest, I thought about it - and no, I don't know why I should).
Add fancy refresh problems with themes... leads to: No, I am not going to swap to Fluxbox. But it certainly is the second best WM after Openbox.
Merry Christmas.