Language Selection

English French German Italian Portuguese Spanish

A Month With Fluxbox - Part 1

Filed under
Howtos

In anticipation of the April Gentoo Monthly Screenshots thread on my favorite forum, I've been working on beautifying my desktop for the last several days.

This month I wanted to post something a little different. I've been using KDE for many moons now so my desktops, and the screenshots of it, always look basically the same. The icons, wallpaper, colors, and window decorations have changed, but being a creature of habit and having found what works for me, I never changed the layout much. I had hoped to do that this month. And in keeping with the spirit of the thread, I'm going to run fluxbox all April long and post my thoughts on using it here at tuxmachines at the end. I've been running fluxbox fulltime for not quite a week now as I type this (if you don't count my occasional look around and use of my laptop), which is why this article is entitled "Part 1".



The Setup


  • The Theme

I started with my Plain Jane v. 0.9.12 fluxbox desktop posted last month and the first thing I did was set a new wallpaper. The most fundamental aspect of any desktop is the wallpaper. You can get a glimpse into the personality of folks by the wallpaper they choose. (I'm going to leave that topic there as I could, and might, write an entire article on that.) The wallpaper is the foundation of any theme, it's the basis on which everything should be built. It shapes the colors, the mood, the icons sometimes, and the window decorations. It is also one of the easiest aspects to change in fluxbox.

One has several choices in their method of setting a wallpaper. Fluxbox's own fbsetbg is a popular choice. Although as much as I can tell, it's a wrapper that probably calls to xsetbg to actually do the background. But if you're running fluxbox you should already have those two elements installed. Other options include wmsetbg, Esetroot, and feh.

I chose feh because of some of it's nice features. It can do a simple background set, but it can also do a slideshow, multiple images on the one screen, filelist sorting and loading, loading images via http, montage/collage creation and much much more. So one simply adds their command to the ~/.fluxbox/init file and wha-la > a nice background. For now mine looks like this:

session.screen0.rootCommand: feh
--bg-scale /mnt/oldhome/s/wallpapers/Fleur1280.jpg

For the colors I relied upon the theme manager of fluxbox at this time. I installed gentoo's fluxbox-theme package from an ebuild and had a nice large list of themes to choose from. I chose Nuevat3k-Bluenight. It's a nice bluish-darkgreenish style with small discrete window decorations and great looking menu effects.

I'm primarily using KDE apps, as all my mail is in kde maildir format in my KDE .Mail folder and all my browser bookmarks are in my ~/.kde folder. I'm using the provided Atlas Green color theme that been included with KDE forever. Although my wallpaper has very little (if any real) green in it, the understated green seems to blend well with the aqua in it and the greenish blue of the menus. It's a nice combination I think. My gtk apps are using the default gray color and style for now.

I tried out fluxconf/fluxmenu to try and add entries to my menu. It seemed to work good, but at some point it deleted the main line at the beginning of my .fluxbox/menu file and left the menu crippled. Fortunately I had a backup and just copied and pasted the missing line back. I used it to add the kde apps submenu and openoffice.org to the Office submenu. Fluxmenu seems to be a nice little application for adding menu entries. I installed it using ebuilds, but you can get it and more information here. Then I finished editing the file manually for a couple other entries.


  • Monitoring

Gkrellm used to be the greatest thing since Hershey's kisses, but last year or so it's been quite unstable for me. It seem to freeze up and crash out often. So, I really quit using it. I tried torsmo in kde, but it interfered with the desktop rendering causing blinking and the icons would disappear. However, none of that is a problem in fluxbox. I'm using torsmo most happily in fluxbox now. That configuration was a bit more tedious than gkrellm, but the docs are fairly complete and easy to understand, and there were quite a few examples on the forum to consult. Actually, weather support is supposed to be included in the newest torsmo, but I didn't see too much about it in the gentoo ebuild version (ok, I didn't look too hard). So, I just went with {exec /some/script}.

I actually saw many methods for accomplishing this task, but the one I used was here. I usually like to pull weather info from our local airport and that's what I did in gkrellm. This method pulls from yahoo which in turn pulls from weather.com. I may play with this some more and try other methods, but for now I like the output formatting of Arainach's script.

In addition, I found a tip on how to set a calender in that same thread. I was hunting around looking for an applet to do that, but this method saves on system resources and gives a consistant uncluttered look - as does the date/time string for which I was also originally looking for an applet to display.

That's a wonderful thread if you want some good tips for configuring your torsmo. In fact that entire forum is a wonder resource for just about anything Linux! I've found it indispensable.

I'm still working on my voltage output values tho. I can glean the information from the /sys files as gkrellm did, but I haven't been able to get divisors to work yet. Maybe by the next report I'll have figured it out. The most important thing is to watch for consistency/stability anyway, and this'll serve that purpose for now.

Setiathome outputs seem to be a problem across systems and setups. Apparently it's broken, but at least it's included and will probably be fixed in an upcoming release. So for now I just grepped my seti/state.sah and seti/user_info.sah files.


  • Desktop Icons

It seems idesk is your best choice for desktop icons. I had trouble with gentoo's ebuild version shooting glibc errors. Utilizing several recent versions of glibc and rebuilding did not seem to fix it for me, so I downloaded the source from the site and all is well - and stable.

The two key component here are a ~/.ideskrc file to set up your basic config and actions and an ~/.idesktop directory for all your .lnk files (icons). There's an example of an .ideskrc on idesk's site and I merely copied&pasted then changed a couple things for my use like single clicking. Also the site includes an example of an .lnk file that I used as a template to make all my others. I set the gentoo icon for use in each separate .lnk file. I had always wanted to use the gentoo icon set but they didn't come with a .theme file for easy use in kde. Here was my chance. This process was straight forward and simple, no voodoo required. idesk seems stable and is completely usable. It works. (Please forgive the surprize in my voice.)


  • The Pager

There are many pagers to choose from out there, but I chose fbpager. It was available on the fluxbox site so I figured it'd probably be best for my purposes. The screenshots were nice and it supports transparency. After experimenting with different settings, I have my alpha set at 64. I set the window borders to be white and it looks good on the darker backgrounds I tend to use.

The configuration file is simple and easy to edit. It's located in ~/.fluxbox/fbpager. There is an example on the above linked fbpager page. I just edited a few lines to my taste, ran the
command fbpager, and was in business.


  • Panel

To date I've tried at least 4 panels and have yet to find one I like. I've tried engage and kooldock to name a couple. Documentation being sorely lacking is one of the problems encountered. Engage seems a bit buggy and kooldock only seems to recognize kde apps. I just really prefer the small toolbar that comes with fluxbox myself. I'll probaby do some more experimenting over the course of April and perhaps I'll have some good new on this front next report.


  • Transparency

I looked at KDE's transparency when they recently released their wonderful latest version 3.4. I found it a little limited in it's present state, but look forward to their continued development in this area. However with fluxbox, transparency can be achieved using xcompmgr I installed using gentoo's ebuild and wasn't expecting much. I figured if it even worked, it'd be unstable, resource hungry and completely unusable. I was wrong.

It installed with no problems. I issued the command xcompmgr and wham - instant transparency. It works nicely, looks great and doesn't present any stability issues. It hasn't crashed yet even while changing fluxbox themes over and over.

xcompmgr is easy to set up as it don't seem to use a configuration file instead using start flags or options. Issuing a xcompmgr --help yields the options one can use. I experiment with many of them but I've found I like it best as default and just use xcompmgr &. You need to install transset to get the -o flag to work. One must edit their XFree86 or Xorg config file to enable it by inserting the following lines:


Section "Extensions"
Option "Composite" "Enable"
EndSection


Option "RenderAccel" "true"

and if you use nvidia for opengl:


Option "AllowGLXWithComposite" "true"

Sometimes I get a little artifacting when using mplayer sometimes, but I understand I can eliminate that if I use mplayer without xv. I ran Doom3 last night, the first time since using fluxbox with all the enable eye candy, and it plays wonderfully. xcompmgr didn't seem to effect it in the least. In fact that's about the smoothest play I've had to date, and I'm still using the 6620 drivers cuz I'm having issues with the 7167 release that I haven't had time or the inclination to resolve.

Preliminary Conclusion

By itself fluxbox is a nice and capable window manager. I've used it on my laptop forever because of it's small footprint and light-weight design. Dressing it up by adding icons and other eye candy didn't seem to slow it down. It's always been my backup, but after just a week, I'm already settling in and vow to use fluxbox at least for the month of April. Please look for my report at the end of month for my final conclusions.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Command prompt question

OK, can you please tell me the name of the application that places the command prompt in the upper left hand corner of the screen.Believe it or not, I've been searching for it for a few weeks now, and haven't been able to find it.

Great article, by the way.

Thanks! Tex

re: Command prompt question

Yes, that is Eterm. It's a flexible terminal emulator, much like xterm, konsole (for kde), or gterm (for gnome). When you open Eterm as default, it will look much like xterm and you will need to add some start-up options to the command to get it to look like it's just a "command prompt on the desktop." I use the following in a little file and execute that instead of using it as a command each time. Save it as whatever you wish and chmod a+x. You can play around with the fonts and whatnot to customized as desired. For example:

Eterm --trans -g 75x25 -f white -F '-*-lucidatypewriter-medium-r-normal-sans-16-*-*-*-*-*-*-*' -O --tint=#ffffff --shade 0 --borderless --scrollbar-popup --scrollbar-floating --scrollbar no --double-buffer -a "toggles buttonbar false"

if you have terminus fonts installed, it looks much nicer:

Eterm --trans -g 75x25 -f white -F '-*-terminus-*-*-*-*-20-*-*-*-*-*-*-*' -O --tint=#ffffff --shade 0 --borderless --scrollbar-popup --scrollbar-floating --scrollbar no --double-buffer -a "toggles buttonbar false"

hth. Smile

Thanks!

Thanks a lot for the article! I have been using KDE up until now (new to linux though) and was looking for a good distro to use Fluxbox on. Just wondering if you have any recommendations? (would prefer to do a painless installation (no compiling please Smile)

Anyways, thanks again, great article.

Joe

re: fluxbox distro

A lot of them have it or have it in their repository. There aren't a lot out there that just have or specialize in the fluxbox desktop, except maybe Fluxbuntu Linux. Fluxbox runs well on about anything.

What are you currently running?

fluxbox

At the moment I have been trying out some different distros. Ubuntu, Debian, Slackware, Gentoo, PCLOS etc. (but have had little time with each of them) but mostly with KDE or Gnome. I am going to try out Sabayon today with seems to have Fluxbox as an option for default on installation.

Thanks,
Joe

Any d/l link for that icon set?

I've been looking all over for it and can't find a tarball or other archive. The old links to it on gentoo.org no longer seem to work. It's a very nice icon set!

re: icons?

I got 'em Here, it should be all of 'em. Only thing is, I don't think there is a theme file for kde or anything. If I recall, it's just the icons.

Thanks very much!

And there's more added to the Gentoo collection, by Wolvix, on his ionbox.org site, as well as user-contributed ones in this Gentoo Forum thread.

And to anyone interested in Fluxbox, you might want to check out Damn Small Linux and its slightly bigger brother, Damn Small Linux Not, both tiny (50 - 100 MB) Debian-based live CDs whose main UI is Fluxbox. A good way to look at working configuration files.

More in Tux Machines

Leftovers: Software

  • A Quick Hands-On With Chatty, A Desktop Twitch Chat Client
    Chatty is a desktop Twitch Chat client for Windows, macOS and Linux written in Ja
  • HP Linux Imaging and Printing 3.16.8 Adds Support for Linux Mint 18, Fedora 24
    The open-source HP Linux Imaging and Printing (HPLIP) project has been updated on August 29, 2016, to version 3.16.8, a maintenance update that adds support for new printers and GNU/Linux operating systems. According to the release notes, HP Linux Imaging and Printing 3.16.8 adds support for new all-in-one HP printers, including HP OfficeJet Pro 6970, HP OfficeJet Pro 6960, HP OfficeJet 250 Mobile, HP DeskJet 3700, as well as HP DeskJet Ink Advantage 3700. Also new in the HPLIP 3.16.8 update is support for the recently released Linux Mint 18 "Sarah" Cinnamon, MATE, Xfce, and the upcoming KDE editions, the Fedora 24 Linux operating system, as well as the Debian GNU/Linux 8.5 "Jessie" distribution. So if you're using any of these OSes, you can now update to the latest HPLIP release.
  • MPlayer-Based MPV 0.20.0 Video Player Released with New Options and Commands
    The popular, open-source, and cross-platform MPV video player software received a new update, version 0.20.0, which comes only two weeks after the previous 0.19.0 maintenance release. MPV 0.20.0 is not a major update, and, according to the release notes, it only implements a couple of new options and commands, such as "--video-unscaled=downscale-big" for changing the aspect ratio. Additionally, the MPlayer-based video playback application also gets the "--image-display-duration" option for controlling the duration of image display, and a new "dcomposition" flag for controlling DirectComposition.
  • FFmpeg 3.1.3 "Laplace" Open-Source Multimedia Framework Now Available for Linux
    The major FFmpeg 3.1 "Laplace" open-source and cross-platform multimedia framework has received recently its third maintenance update, version 3.1.3, which brings updated components. FFmpeg 3.1 was announced two months ago, at the end of June, and it introduced a multitude of new features to make the popular multimedia backend even more reliable and handy to game and application developers. Dubbed Laplace, FFmpeg 3.1 is currently the most advanced FFmpeg release, cut from Git master on June 26, 2016.
  • GNU Scientific Library 2.2 released
    Version 2.2 of the GNU Scientific Library (GSL) is now available. GSL provides a large collection of routines for numerical computing in C. This release contains new linear algebra routines (Pivoted and Modified Cholesky, Complete Orthogonal Decomposition, matrix condition number estimation) as well as a completely rewritten nonlinear least squares module, including support for Levenberg-Marquardt, dogleg, double-dogleg, and Steihaug-Toint methods. The full NEWS file entry is appended below.

today's howtos

Leftovers: OSS

  • Report: If DOD Doesn't Embrace Open Source, It'll 'Be Left Behind'
    Unless the Defense Department and its military components levy increased importance on software development, they risk losing military technical superiority, according to a new report from the Center for a New American Security. In the report, the Washington, D.C.-based bipartisan think tank argues the Pentagon, which for years has relied heavily on proprietary software systems, “must actively embrace open source software” and buck the status quo. Currently, DOD uses open source software “infrequently and on an ad hoc basis,” unlike tech companies like Google, Amazon and Facebook that wouldn’t exist without open source software.
  • The Honey Trap of Copy/Pasting Open Source Code
    I couldn’t agree more with Bill Sourour’s article ‘Copy.Paste.Code?’ which says that copying and pasting code snippets from sources like Google and StackOverflow is fine as long as you understand how they work. However, the same logic can’t be applied to open source code. When I started open source coding at the tender age of fourteen, I was none the wiser to the pitfalls of copy/pasting open source code. I took it for granted that if a particular snippet performed my desired function, I could just insert it into my code, revelling in the fact that I'd just gotten one step closer to getting my software up and running. Yet, since then, through much trial and error, I’ve learned a thing or two about how to use open source code effectively.
  • Affordable, Open Source, 3D Printable CNC Machine is Now on Kickstarter
    The appeals of Kickstarter campaigns are many. There are the rewards for backers, frequently taking the form of either deep discounts on the final product or unusual items that can’t be found anywhere else. Pledging to support any crowdfunding campaign is a gamble, but it’s an exciting gamble; just browsing Kickstarter is pretty exciting, in fact, especially in the technological categories. Inventive individuals and startups offer new twists on machines like 3D printers and CNC machines – often for much less cost than others on the market.
  • Open Standards and Open Source
    Much has changed in the telecommunications industry in the years since Standards Development Organization (SDOs) such as 3GPP, ITU and OMA were formed. In the early days of telecom and the Internet, as fundamental technology was being invented, it was imperative for the growth of the new markets that standards were established prior to large-scale deployment of technology and related services. The process for development of these standards followed a traditional "waterfall" approach, which helped to harmonize (sometimes competing) pre-standard technical solutions to market needs.

Leftovers: BSD

  • The Voicemail Scammers Never Got Past Our OpenBSD Greylisting
    We usually don't see much of the scammy spam and malware. But that one time we went looking for them, we found a campaign where our OpenBSD greylisting setup was 100% effective in stopping the miscreants' messages. During August 23rd to August 24th 2016, a spam campaign was executed with what appears to have been a ransomware payload. I had not noticed anything particularly unusual about the bsdly.net and friends setup that morning, but then Xavier Mertens' post at isc.sans.edu Voice Message Notifications Deliver Ransomware caught my attention in the tweetstream, and I decided to have a look.
  • Why FreeBSD Doesn't Aim For OpenMP Support Out-Of-The-Box