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

Webchats (so-called 'Events'): Red Hat/IBM, FreeBSD, KubeCon, and Other LF Fluff

  • Hybrid and edge strategies in an open-source world will be key focus during Red Hat Summit on Apr. 27, 28

    When IBM announced its intention to acquire Red Hat Inc. for $34 billion in 2018, it was widely viewed as a sign that the open-source train had finally arrived in the station. Less than three years later, open source has grown to encompass not only the station, but the train tracks and surrounding enterprise territory as far as the eye can see. In March, Red Hat released its “State of Enterprise Open Source” report, which, not surprisingly, validated the technology’s widespread enterprise influence. The report found that 90% of IT leaders were using open-source products, primarily in infrastructure modernization, networking and application development.

  • FreeBSD meetings on the Desktop

    FreeBSD on the desktop is a whole stack - X11, Qt, KDE Frameworks, KDE Plasma and KDE Gear, and Wayland, and Poppler and GTK - o my!

  • Ubuntu Blog: Canonical & Ubuntu at KubeCon Europe 2021

    It’s that time of the year again! KubeCon and CloudNativeCon Europe 2021 are just around the corner and, as always, Canonical and Ubuntu have a lot cooking in the Kubernetes oven especially for the event. This year, we’ll be showcasing solutions and best practices around Charmed Operators, as well as streamlined Kubernetes at the edge with micro clouds. We’ll be at KubeCon on May 4-7th, as well as hosting a co-located event of our own on May 3 so make sure to book a meeting and come by to chat about your K8s use case anytime during the week.

  • SD Times news digest: Android GPU Compute changes, Xilinx’s Kria Portfolio, and ELISA Project expands its global ecosystem

    The ELISA (Enabling Linux in Safety Applications) Project announced that Codethink, Horizon Robotics, Huawei Technologies, NVIDIA and Red Hat joined its ecosystem. The project aims to create a shared set of tools and processes to help companies build and certify Linux-based safety-critical applications and systems “The primary challenge is selecting Linux components and features that can be evaluated for safety and identifying gaps where more work is needed to evaluate safety sufficiently,” said Shuah Khan, Chair of the ELISA Project Technical Steering Committee and Linux Fellow at the Linux Foundation. “We’ve taken on this challenge to make it easier for companies to build and certify Linux-based safety-critical applications by exploring potential methods to enable engineers to answer that question for their specific system.”

  • Linux, Lyft establish mobile developers collective to build enterprise-grade apps

    To stimulate better collaboration amongst mobile developers, the Linux Foundation has founded one of its first open-source platforms centered around mobile app development. The new group is known as the Mobile Native Foundation, and it will be a collaborative IT infrastructure intended at enhancing the building of Android and iOS smartphone applications.

Dev kit and module run Linux on Zynq Ultrascale+

Topic Embedded has launched a “Florida Plus” dev kit that runs Linux on its Zynq Ultrascale+ based Miami MPSoC Plus module. Meanwhile, Aries announced it has begun distributing Topic’s Zynq-based Miami modules. Netherlands-based Topic Embedded Systems has been around for 20 years doing FPGA work, with the last decade focused primarily on manufacturing Linux-driven Xilinx Zynq based modules. Last week, Topic announced an open-spec Florida Plus Development Kit that showcases its top-of-the-line Miami MPSoC Plus compute module, which features the Zynq UltraScale+ MPSoC. system-on-chip. Read more

today's howtos

  • How to Install Mosh Shell as SSH Alternative on Linux Desktop

    Using an SSH client tool is always helpful and handy for the system administrator and the remote users. In the conventional SSH clients, you may find some network and auto session logout issues. As a system admin, you already realize the importance of the CLI-based remote SSH client. To solve frequent logout, lagging, and packet loss issues, you can install the Mosh SSH as an SSH alternative on Linux. The Mosh stands for the Mobile shell, which is a command-line-based secure shell client for Linux. It doesn’t require a stale and static IP address to establish the connection; moreover, the Mosh SSH shell client is also compatible with mobile devices.

  • New Linux Publication Released: How Linux Works, 3rd Edition: What Every Superuser Should Know by Brian Ward

    I am very excited about this publication not only because it is a great book covering such a large set of Linux-related topics but also because I helped with the technical review.

  • How to install the NVIDIA drivers on Ubuntu 21.04

    The objective is to install the NVIDIA drivers on Ubuntu 21.04 Hirsute Hippo Linux and switch from a opensource Nouveau driver to the proprietary Nvidia driver. To install Nvidia driver on other Linux distributions, follow our Nvidia Linux Driver guide.

  • How to install Blender 2.92 on Deepin 20.2

    In this video, we are looking at how to install Blender 2.92 on Deepin 20.2.

  • How to install Funkin' High Effort Ugh mod on a Chromebook

    Today we are looking at how to install Funkin' High Effort Ugh mod on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below. If you have any questions, please contact us via a YouTube comment and we would be happy to assist you!

GNU Project: GCC 11.1 Release Candidate and Cryptographic Algorithms GnuTLS

  • GCC 11.1 Release Candidate available from gcc.gnu.org
    The first release candidate for GCC 11.1 is available from
    
     https://gcc.gnu.org/pub/gcc/snapshots/11.1.0-RC-20210420/
     ftp://gcc.gnu.org/pub/gcc/snapshots/11.1.0-RC-20210420
    
    and shortly its mirrors.  It has been generated from git revision
    r11-8265-g246abba01f302eb453475b650ba839ec905be76d.
    
    I have so far bootstrapped and tested the release candidate on
    x86_64-linux and i686-linux.  Please test it and report any issues to
    bugzilla.
    
    If all goes well, I'd like to release 11.1 on Tuesday, April 27th.
    
  • GCC 11.1 RC Released, GCC 12 In Development On Trunk

    The release candidate to GCC 11.1 as the first stable release of GCC 11 is now available for testing. If all goes well GCC 11.1.0 will officially debut next week while GCC 12 is now in development with their latest Git code. Red Hat's Jakub Jelinek announced the GCC 11.1 release candidate today, which has been bootstrapped and tested so far for i686 and x86_64 Linux. He is hoping to release GCC 11.1 officially next week if all goes well.

  • Daiki Ueno: AF_ALG support in GnuTLS

    The Linux kernel implements a set of cryptographic algorithms to be used by other parts of the kernel. These algorithms can be accessed through the internal API; notable consumers of this API are encrypted network protocols such as IPSec and WireGuard, as well as data encryption as in fscrypt. The kernel also provides an interface for user-space programs to access the kernel crypto API. GnuTLS has recently gained a new crypto backend that uses the kernel interface in addition to the user-space implementation. There are a few benefits of having it. The most obvious one is performance improvement: while the existing user-space assembly implementation has comparable performance to the in-kernel software emulation, the kernel crypto implementation also enables workload offloading to hardware accelerators, such as Intel QAT cards. Secondly, it brings support for a wider variety of CPU architectures: not only IA32 and AArch64, but also PowerPC and s390. The last but not least is that it could be used as a potential safety net for the crypto algorithms implementation: deferring the crypto operations to the kernel means that we could have an option to workaround any bugs or compliance (such as FIPS140) issues in the library.