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 want to check other articles in the FreeBSD Desktop series on the FreeBSD Desktop – Global Page where you will find links to all episodes of the series along with table of contents for each episode’s contents.

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

26 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

  10. Pingback: FreeBSD Desktop – Part 5 – Key Components – Status Bar | vermaden

  11. Pingback: FreeBSD Desktop – Part 4 – Key Components – Window Manager | vermaden

  12. Pingback: FreeBSD Desktop – Part 3 – X11 Window System | vermaden

  13. Pingback: FreeBSD Desktop – Part 15 – Configuration – Fonts & Frameworks | vermaden

  14. Pingback: FreeBSD Desktop – Part 1 – Simplified Boot | vermaden

  15. Pingback: FreeBSD Desktop – Part 2 – Install | vermaden

  16. Pingback: FreeBSD Desktop – Part 16 – Configuration – Pause Any Application | vermaden

  17. Pingback: FreeBSD Desktop – Part 17 – Automount Removable Media | πŸ†…πŸ…΄πŸ†πŸ„ΌπŸ„°πŸ„³πŸ…”πŸ…

  18. Pingback: FreeBSD Desktop – Part 2.1 – Install FreeBSD 12 | πšŸπšŽπš›πš–πšŠπšπšŽπš—

  19. Pingback: FreeBSD Desktop – Part 18 – Global Dashboard | πšŸπšŽπš›πš–πšŠπšπšŽπš—

  20. phantom

    Hi thanks for guide, I am wondering how to show icons below taskbar? do you use lxpanel for that or what? because i dont see in your guide.

    Like

    Reply
      1. phantom

        well its tint2. Idk tint2 is not starting, i add “tint2 &” to .xinitrc but nothing happen even after reboot.
        i have to start manually, then icons show up.

        try to put at ~/.config/openbox/autostart ya and its failed to start.

        where can if i want to change size tint2 panel, because its overlap to dzen2 panel.

        Like

      2. vermaden Post author

        If something does not start from ~/.xinitrc then it will not start the same from ~/.config/openbox/autostart file πŸ™‚

        I start TINT2 with config named as ~/.tint2rc.ALL file:

        tint2 -c ~/.tint2rc.ALL

        By default its ~/.tint2rc only.

        Check configs and files again.

        Regards.

        Like

  21. phantom

    how yours start form ~/.tint2rc?
    my config is at ~/.config/tint2/tint2rc

    and i cant find tint2rc.ALL file at your guide.

    i am still fail to start tint2, how you start your tint?

    Like

    Reply
    1. vermaden Post author

      If you have config at ~/.config/tint2/tint2rc then you need to start it like that:

      % tint2 -c ~/.config/tint2/tint2rc

      … but I see you already find the solution πŸ™‚

      Like

      Reply

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 )

Twitter picture

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

Facebook photo

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

Connecting to %s