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

Kernel: Kernelci.org, Tripwire, Linux Foundation, R600 Gallium3D

  • Kernelci.org automated bisection
    The kernelci.org project aims at continuously testing the mainline Linux kernel, from stable branches to linux-next on a variety of platforms. When a revision fails to build or boot, kernel developers get informed via email reports. A summary of all the results can also be found directly on the website.
  • Securing the Linux filesystem with Tripwire
    While Linux is considered to be the most secure operating system (ahead of Windows and MacOS), it is still vulnerable to rootkits and other variants of malware. Thus, Linux users need to know how to protect their servers or personal computers from destruction, and the first step they need to take is to protect the filesystem. In this article, we'll look at Tripwire, an excellent tool for protecting Linux filesystems. Tripwire is an integrity checking tool that enables system administrators, security engineers, and others to detect alterations to system files. Although it's not the only option available (AIDE and Samhain offer similar features), Tripwire is arguably the most commonly used integrity checker for Linux system files, and it is available as open source under GPLv2.
  • Open Source Networking and a Vision of Fully Automated Networks
    Arpit Joshipura, Networking General Manager at The Linux Foundation, discussed open source networking trends at Open Source Summit Europe. Ever since the birth of local area networks, open source tools and components have driven faster and more capable network technologies forward. At the recent Open Source Summit event in Europe, Arpit Joshipura, Networking General Manager at The Linux Foundation, discussed his vision of open source networks and how they are being driven by full automation. “Networking is cool again,” he said, opening his keynote address with observations on software-defined networks, virtualization, and more. Joshipura is no stranger to network trends. He has led major technology deployments across enterprises, carriers, and cloud architectures, and has been a steady proponent of open source. “This is an extremely important time for our industry,” he said. “There are more than 23 million open source developers, and we are in an environment where everyone is asking for faster and more reliable services.”
  • R600 Gallium3D Gets Some Last Minute Improvements In Mesa 18.0
    These days when Dave Airlie isn't busy managing the DRM subsystem or hacking on the RADV Vulkan driver, he's been spending a fair amount of time on some OpenGL improvements to the aging R600 Gallium3D driver. That's happened again and he's landed some more improvements just ahead of the imminent Mesa 18.0 feature freeze.

OSS Leftovers

  • Reliance Jio and global tech leaders come together to push Open Source in India
    The India Digital Open Summit which will be held tomorrow at the Reliance Corporate Park campus in Navi Mumbai -is a must-attend event for industry leaders, policymakers, technologists, academia, and developer communities working towards India’s digital leadership through Open Source platforms. The summit is hosted by Reliance Jio in partnership with the Linux Foundation and supported by Cisco Systems.
  • Open-source software simulates river and runoff resources
    Freshwater resources are finite, unevenly distributed, and changing through time. The demand—and competition—for water is expected to grow both in the United States and in the developing/developed world. To examine the connection between supply and demand and resulting regional and global water stresses, a team developed Xanthos. The open-source hydrologic model is available for free and helps researchers explore the details and analyze global water availability. Researchers can use Xanthos to examine the implications of different climate, socioeconomic, and/or energy scenarios over the 21st century. They can then assess the effects of the scenarios on regional and global water availability. Xanthos can be used in three different ways. It can operate as an independent hydrologic model, driven, for example, by scenarios. It can serve as the core freshwater supply component of the Global Change Assessment Model, where multiple sectors and natural systems are modeled simultaneously as part of an interconnected, complex system. Further, it can be used by other integrated models and multi-model frameworks that focus on energy-water-land interactions.
  • “The Apache Way” — Open source done well
    I was at an industry conference and was happy to see many people stopping by the Apache booth. I was pleased that they were familiar with the Apache brand, yet puzzled to learn that so many were unfamiliar with The Apache Software Foundation (ASF). For this special issue, “All Eyes On Open Source”, it’s important to recognize not just Apache’s diverse projects and communities, but also the entity behind their success. Gone are the days when software and technology, in general, were developed privately for the benefit of the few. As technology evolves, the challenges we face become more complex, and the only way to effectively move forward to create the technology of the future is to collaborate and work together. Open Source is a perfect framework for that, and organizations like the ASF carry out a decisive role in protecting its spirit and principles.
  • ​Learn how to run Linux on Microsoft's Azure cloud
  • LLVM 6.0-RC1 Makes Its Belated Debut
    While LLVM/Clang 6.0 was branched earlier this month and under a feature freeze with master/trunk moving to LLVM 7.0, two weeks later the first release candidate is now available. Normally the first release candidate comes immediately following the branching / feature freeze, but not this time due to the shifted schedule with a slow start to satisfy an unnamed company seeking to align their internal testing with LLVM 6.0.
  • Hackers can’t dig into latest Xiaomi phone due to GPL violations
     

    Yet another Android OEM is dragging its feet with its GPL compliance. This time, it's Xiaomi with the Mi A1 Android One device, which still hasn't seen a kernel source code release.  

    Android vendors are required to release their kernel sources thanks to the Linux kernel's GPLv2 licensing. The Mi A1 has been out for about three months now, and there's still no source code release on Xiaomi's official github account.

  • 2017 - The Year in Which Copyright Went Beyond Source Code
    2017 was a big year for raising the profile of copyright in protecting computer programs. Two cases in particular helped bring attention to a myth that was addressed and dispelled some time ago but persists in some circles nonetheless. Many lawyers hold on to the notion that copyright protection for software is weak because such protection inheres in the source code of computer programs. Because most companies that generate code take extensive (and often successful) measures to keep source code out of the hands of third parties, the utility of copyright protection for code is often viewed as limited. However, copyright also extends to the “non-literal elements” of computer programs, such as their sequence, structure and organization, as well as to things such as screen displays and certain user interfaces. In other words, copyright infringement can occur when copying certain outputs of the code without there ever having been access to the underlying code itself.
  • Announcing WebBook Level 1, a new Web-based format for electronic books
    Eons ago, at a time BlueGriffon was only a Wysiwyg editor for the Web, my friend Mohamed Zergaoui asked why I was not turning BlueGriffon into an EPUB editor... I had been observing the electronic book market since the early days of Cytale and its Cybook but I was not involved into it on a daily basis. That seemed not only an excellent idea, but also a fairly workable one. EPUB is based on flavors of HTML so I would not have to reinvent the wheel. I started diving into the EPUB specs the very same day, EPUB 2.0.1 (released in 2009) at that time. I immediately discovered a technology that was not far away from the Web but that was also clearly not the Web. In particular, I immediately saw that two crucial features were missing: it was impossible to aggregate a set of Web pages into a EPUB book through a trivial zip, and it was impossible to unzip a EPUB book and make it trivially readable inside a Web browser even with graceful degradation. When the IDPF started working on EPUB 3.0 (with its 3.0.1 revision) and 3.1, I said this was coming too fast, and that the lack of Test Suites with interoperable implementations as we often have in W3C exit criteria was a critical issue. More importantly, the market was, in my opinion, not ready to absorb so quickly two major and one minor revisions of EPUB given the huge cost on both publishing chains and existing ebook bases. I also thought - and said - the EPUB 3.x specifications were suffering from clear technical issues, including the two missing features quoted above.
  • Firefox 58 Bringing Faster WebAssembly Compilation With Two-Tiered Compiler
    With the launch of Mozilla Firefox 58 slated for next week, WebAssembly will become even faster thanks to a new two-tiered compiler.
  • New Kernel Releases, Net Neutrality, Thunderbird Survey and More
    In an effort to protect Net Neutrality (and the internet), Mozilla filed a petition in federal court yesterday against the FCC. The idea behind Net Neutrality is to treat all internet traffic equally and without discrimination against content or type. Make your opinions heard: Monterail and the Thunderbird email client development team are asking for your assistance to help improve the user interface in the redesign of the Thunderbird application. Be sure to take the survey.

IBM code grandmaster: what Java does next

Reports of Java’s death have been greatly exaggerated — said, well, pretty much every Java engineer that there is. The Java language and platform may have been (in some people’s view) somewhat unceremoniously shunted into a side ally by the self-proclaimed aggressive corporate acquisition strategists (their words, not ours) at Oracle… but Java still enjoys widespread adoption and, in some strains, growing use and development. Read more

Programming/Development: Git 2.16, Node.js, Testing/Bug Hunting

  • Git v2.16.0
    The latest feature release Git v2.16.0 is now available at the usual places. It is comprised of 509 non-merge commits since v2.15.0, contributed by 91 people, 26 of which are new faces.
  • Git 2.16 Released
    Git maintainer Junio Hamano has released version 2.16.0 of this distributed revision control system.
  • Announcing The Node.js Application Showcase
    The stats around Node.js are pretty staggering. There were 25 million downloads of Node.js in 2017, with over one million of them happening on a single day. And these stats are just the users. On the community side, the numbers are equally exceptional. What explains this immense popularity? What we hear over and over is that, because Node.js is JavaScript, anyone who knows JS can apply that knowledge to build powerful apps — every kind of app. Node.js empowers everyone from hobbyists to the largest enterprise teams to bring their dreams to life faster than ever before.
  • Google AutoML Cloud: Now Build Machine Learning Models Without Coding Experience
    Google has been offering pre-trained neural networks for a long time. To lower the barrier of entry and make the AI available to all the developers and businesses around, Google has now introduced Cloud AutoML. With the help of Cloud AutoML, businesses will be able to build machine learning models with the help of a drag-and-drop interface. In other words, if your company doesn’t have expert machine-learning programmers, Google is here to fulfill your needs.
  • Re-imagining beta testing in the ever-changing world of automation
    Fundamentally, beta testing is a test of a product performed by real users in the real environment. There are a number of names for this type of testing—user acceptance testing (UAT), customer acceptance testing (CAT), customer validation and field testing (common in Europe)—but the basic components are more or less the same. All involve user testing of the front-end user interface (UI) and the user experience (UX) to find and resolve potential issues. Testing happens across iterations in the software development lifecycle (SDLC), from when an idea transforms into a design, across the development phases, to after unit and integration testing.