FreeBSD Desktop – Part 6 – Key Components – Task Bar

In the Part 6 of the FreeBSD Desktop series I would like to describe key components of self made custom desktop environment such as:

  • Window Manager
  • Status Bar
  • Task Bar
  • Wallpaper Handling
  • Application Launcher
  • Keyboard/Mouse Shortcuts
  • Locking Solution
  • Blue Light Spectrum Suppress

Today we will focus on the third part – the Task Bar. In the next series each of these components configuration would also be described along with eventual needed scripts.

You may also check earlier articles of the FreeBSD Desktop series:

Task Bar

To quote Wikipedia“A taskbar is an element of a graphical user interface which has various purposes. It typically shows which programs are currently running.”

While there are dozens of options here after using many them I have narrowed the choice to lighter solutions such as:

  • XFCE Panel
  • Tint2
  • Fbpanel
  • Lxpanel
  • Plank

 

Classic

You can use classic taskbar like XFCE Panel used in the XFCE desktop environment.

taskbar-xfce.png

You can also configure Tint2 that way.

taskbar-tint-classic.jpg

But this solution has its drawbacks, it only shows applications that are active on the current desktop, using 4 or more virtual desktop is a ‘standard’ for most power users so not knowing what is happening on the other desktops is not acceptable.

Docks

One of the greatest taskbars of all time was/is the Mac OS X Dock (now macOS Dock).

taskbar-macosx.png

It also does not cover virtual desktops but it has a feature that it shows applications from all desktops and if you click that application icon, then it will switch you to that application on that desktop. It also has an indicator showing if application is launched or not which also helps.

There was time, when You could use Fbpanel to create pixel-perfect clone of Mac OS X Dock, without all features of course, but still.

taskbar-fbpanel-macosx.png

Unfortunately it worked only till 4.3 version of the Fbpanel, with later releases this pixel-perfect custom themes was not possible because of forced spacing between elements and it looks like the Fbpanel development stopped somewhere in 2010.

Currently the best and lightest solution for providing the dock-like functionality on open desktops seems to be Plank – the dock that originally was written for the Elementary OS Linux distribution. Besides being light and having nice look it also offers most important features of the original Mac OS X Dock like switching to the application and showing an indicator for already running applications.

The ‘original’ Plank theme used in Elementary OS looks like that.

taskbar-plank-eos.png

While its quite nice it takes definitely too much desktop space, thus I prefer to configure it little more lean way. Also styled along with Dzen2 and Tint2 colors/style.

taskbar-plank-vermaden.png

Virtual Desktops

While its one of the best solutions out there lets not forget Tint2. One of the nicest features of this small beauty is that you can configure it to show all applications from all virtual desktops … and even provide separate launcher … and system tray … and many other useful things which we will not use, such as clock that we already have on the Dzen2 status bar.

Here is an example of Tint2 configured in such way.

taskbar-tint-vermaden.jpg

I do not find it usable nor efficient either that way, but habits of Windows like desktop systems die hard for some 😉

The Lxpanel can also be a launcher but does not have all needed functionality and flexibility that Tint2 offers.

taskbar-lxpanel.png

While Lxpanel is low on resources the Tint2 taskbar uses even less of them while doing more, so I mention Lxpanel here just for historical reasons as I used it in the past.

Resources

Lets compare how are these solutions on the system resources. I have omitted Fbpanel in here because its no longer usable as a taskbar solution.

  PID USERNAME      THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
53862 vermaden        5  20    0 51284K 36376K select  1   0:03   1.07% plank
83288 vermaden        1  20    0 33608K 28480K select  1   0:00   0.00% xfce4-panel
43380 vermaden        1  20    0 32484K 26332K select  0   0:21   0.00% tint2
94650 vermaden        2  20    0 50752K 27652K select  1   0:00   0.00% lxpanel

The Tint2 takes about 25 MB of RAM. While Plank taking a little more – 35 MB of RAM – its usability and nice look can be justified to take little more.

Result

The final result along with Dzen2 status bar on the top along with Tint2 for virtual desktop overview and Plank running on the bottom will look like that.

taskbar-full-desktop.jpg

The Plank taskbar on the bottom is optional. Once I got used to Tint2 and Dzen2 setup on the top the Plank became optional/redundant, but some people prefer it for their desktop usage patterns.

EOF.

.
.
.
.
.

Advertisements

9 thoughts on “FreeBSD Desktop – Part 6 – Key Components – Task Bar

  1. Pingback: FreeBSD Desktop – Part 7 – Key Components – Wallpaper Handling | vermaden

  2. Pingback: FreeBSD Desktop – Part 8 – Key Components – Application Launcher | vermaden

  3. Pingback: FreeBSD Desktop – Part 9 – Key Components – Keyboard/Mouse Shortcuts | vermaden

  4. Pingback: FreeBSD Desktop – Part 10 – Key Components – Locking Solution | vermaden

  5. Pingback: FreeBSD desktop (6) | 0ddn1x: tricks with *nix

  6. Pingback: FreeBSD Desktop – Part 11 – Key Components – Blue Light Spectrum Suppress | vermaden

  7. Pingback: FreeBSD Desktop – Part 12 – Configuration – Openbox | vermaden

  8. Pingback: FreeBSD Desktop – Part 13 – Configuration – Dzen2 | vermaden

  9. Pingback: FreeBSD Desktop – Part 14 – Configuration – Tint2 | vermaden

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s