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

Red Hat and Fedora Leftovers

  • Running Rosetta@home on a Raspberry Pi with Fedora IoT

    The Rosetta@home project is a not-for-profit distributed computing project created by the Baker laboratory at the University of Washington. The project uses idle compute capacity from volunteer computers to study protein structure, which is used in research into diseases such as HIV, Malaria, Cancer, and Alzheimer’s. In common with many other scientific organizations, Rosetta@home is currently expending significant resources on the search for vaccines and treatments for COVID-19. Rosetta@home uses the open source BOINC platform to manage donated compute resources. BOINC was originally developed to support the SETI@home project searching for Extraterrestrial Intelligence. These days, it is used by a number of projects in many different scientific fields. A single BOINC client can contribute compute resources to many such projects, though not all projects support all architectures. For the example shown in this article a Raspberry Pi 3 Model B was used, which is one of the tested reference devices for Fedora IoT. This device, with only 1GB of RAM, is only just powerful enough to be able to make a meaningful contribution to Rosetta@home, and there’s certainly no way the Raspberry Pi can be used for anything else – such as running a desktop environment – at the same time.

  • Leading the way for Open Transformation in APAC

    "Transformation isn’t something that happens for only a focused period of time, and then there’s no change after that." - Anthony Watson, lead, Enterprise Domains, ANZ Bank The evolution and advancement of technologies grow to new heights every day, bringing unprecedented change in what individuals and corporations can create. To keep pace, organizations must continue to adopt, adapt, and advance their processes, but to acquire new technology is often not enough to bring a true change.

  • APAC Companies Prioritize Cultural Change and Technology Modernization to Accelerate Digital Transformation

    Red Hat, Inc., the world's leading provider of open source solutions, today announced the results of a commissioned study by Harvard Business Review Analytic Services, on behalf of Red Hat, exploring Asia Pacific’s (APAC) transformation and innovation trajectory against a global backdrop. The study, titled "Understanding APAC’s Success in Digital Transformation," surveyed 143 business executives from APAC from various industries including financial services, IT and manufacturing sectors.

  • Introducing OpenShift cost management: A human-readable view into cloud-native application costs

    From dramatically increased telework demands to a surge in online services usage, IT teams are facing a new set of realities in managing their hybrid cloud environments. For IT decision-makers, this goes above and beyond just keeping infrastructure running and efficient; it’s about budget. Solving these new challenges often requires additional spending on infrastructure, something that IT teams simply may not have. This makes it critically important that IT teams can more quickly and easily see the totality of their IT costs across the hybrid cloud.

Games: Fragment's Moonrise, Steam, Overcooked! 2 and Tropico 6

  • Fragment's Moonrise is a free Early Access open-world strategy game

    With some promising ideas that could be great when further developed, Fragment's Moonrise is a new open-world real-time strategy game out now in Early Access. It's a little weird but the basic idea is pretty interesting. You control groups like you would in a traditional RTS, or perhaps more like a real-time tactics game and then upgrade like in an RPG. The genre blending here is what's interesting, while you explore a randomly generated world each time.

  • Boiling Steam Does Steam Summer Sale 2020

    There are certain constants of summer for the Boiling Steam staff: heat, humidity, and of course the Steam Summer Sale. After all, nothing says the changing of seasons like a new Steam sale. Below are a few quick thoughts on some games we’ve picked up, as well as others we’ve played recently that we can recommend while they are on sale (until July 9th, 10am Pacific). SteamDB, IsThereAnyDeal, or CheapShark can help you figure out if the sale price is the best you can get.

  • The 2020 Steam Summer Sale ends soon, here's some final picks

    Stuck for what to pick up? With the huge Steam Summer Sale ending tomorrow at 5PM UTC, here's a little helping hand for you on what's good. I get why you might be stuck, with well over six thousand games on Steam alone that support Linux, it's easy to get completely swallowed up in the vast sea of games. Especially true if you're looking to pick up a game on sale, as there's close to five thousand of those discounted!

  • Suns Out, Buns Out is another awesome Overcooked! 2 update

    Get your fire extinguishers ready and try not to set your kitchen ablaze in the latest free content update to the co-op cooking game Overcooked! 2 with Suns Out, Buns Out. One of the absolute best co-op games on any platform, Overcooked! 2 just keeps on giving. While the base game is good and they have some fun DLC expansions, it's always nice to see some extra free content for everyone. In the Suns Out, Buns Out update which is out now you get more kitchens to play through, more recipes and a whole lot of fun.

  • Tropico 6 gets a few new features plus a Linux release on GOG

    Want to take on the role of El Presidente? Well if you've been holding out for a Linux release on GOG we've got good news, plus it continues to be updated. Tropico 6 was released back in March 2019 going onto receiving some pretty good reviews overall and I certainly enjoyed it (and quite a bit more than Tropico 5 too). Sadly the GOG release had been missing a Linux build but it seemed to get quietly rolled out towards the end of last month!

Btrfs in Next Fedora

  • Btrfs by default, the compression option

    Hi, The change proposal has a 'compression option' and we kinda need to get organized. https://fedoraproject.org/wiki/Changes/BtrfsByDefault#Compression - Compression saves space, significantly reduces write amplification and therefore increases flash lifespan, and in some cases increases performance. - Desired but not a requirement of the change proposal. 1. Goal: probably the goal performance wise is to perform as good or better than now. Is it OK if there's a write time performance hit for a small percent of folks, for a high value target like usr that isn't updated that often, and is also updated out of band (offline updates typically, but also isn't something directly related to the daily workload)? How to decide this? 2. Benchmarking: this is hard. A simple tool for doing comparisons among algorithms on a specific bit of hardware is lzbench. https://github.com/inikep/lzbench How to compile on F32. https://github.com/inikep/lzbench/issues/69 But is that adequate? How do we confirm/deny on a wide variety of hardware that this meets the goal? And how is this test going to account for parallelization, and read ahead? Do we need a lot of data or is it adequate to get a sample "around the edges" (e.g. slow cpu fast drive; fast cpu slow drive; fast cpu fast drive; slow cpu slow drive). What algorithm? 3. Improvements and upgrades. We'll do plan A, but learn new things later, and come up with plan B. How do we get the plan A folks upgraded to plan B? Or just don't worry? 4. The whole file system (using a mount option) or curated (using an XATTR set on specific "high value" directories)? This part is elaborated below. A. do this with a mount option '-o compress=zstd:1' - dilemma: it doesn't always lead to equal or better performance. On some systems and workloads, write performance is slightly reduced. What about LZO? B. do this with per directory XATTR - dilemma: the target directories don't exist at install time, depending on whether the installation is rsync, rpm, or unsquashfs based. C. do the install with '-o compres=zstd', then set XATTR post-install - dilemma: the installed files won't have XATTR set, only new files inherit; does a 'dnf update' overwrite files and therefore the XATTR is not inherited, or are they new files and do inherit the XATTR? D. Which directories? Some may be outside of the installer's scope. /usr /var/lib/flatpak ~/.local/share/flatpak /var/lib/containers/ ~/.local/share/containers/ ~/.var ~/.cache (Plausible this list should be reversed. While compressing ~/.cache may not save much space, it's likely hammered with more changes than other locations, hence more benefit in terms of reducing write amplification.) For reference, the above is mostly from the description in the RFE bug attached to the feature's tracker bug. But I think it's best to have most discussion here and leave the bug for implementing+testing the implementation details. https://bugzilla.redhat.com/show_bug.cgi?id=1851276 Thanks, -- Chris Murphy

  • Fedora Developers Evaluating Compression Options For Btrfs-By-Default Proposal

    The proposal for using Btrfs by default on the Fedora desktop is gaining a fair amount of traction and interest from the community and could possibly move ahead but further testing and decisions are still to be made. First of all, today marks a Fedora Btrfs test day for those wanting to help in evaluating this change proposal. Check it out if you have spare system(s) and interested in helping make the decision whether Fedora desktop spins should transition from EXT4 to Btrfs by default.

  • Btrfs to be the Default Filesystem on Fedora? Fedora 33 Starts Testing Btrfs Switch

    While we’re months away from Fedora’s next stable release (Fedora 33), there are a few changes worth keeping tabs on. Among all the other accepted system-wide changes for Fedora 33, the proposal of having Btrfs as the default filesystem for desktop variants is the most interesting one.

today's howtos