Long time no see :). In this article of the FreeBSD Desktop series we will add Plank and Skippy-XD to the existing setup.

I will share with You Plank configuration along with theme that fits to the rest of the setup. Plank is an open implementation of the ideas that was brought to life by Mac OS X (macOS) Dock. We will also add Skippy-XD tool that implements Mac OS X (macOS) Expose ideas.

One my ask why use Plank while we already have Tint2 for similar purposes? While both support autohide I prefer to see Tint2 all the time to get basic/fast idea about what is launched on which desktop and have Plank hidden as it does not hurt and sometimes helps.

Here is both Mac OS X (macOS) Dock and Expose in action.

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.

To install both Plank and Skippy-XD on FreeBSD just use the default packages as shown below.

# pkg install skippy-xd plank

Plank

Here is how Plank dock composes with the rest of the setup.

The Plank dock comes with graphical preferences window if needed but you need to launch it from the command line as plank --preferences command.

Here is the used Plank theme which is kept in the ~/.local/share/plank/themes/vermaden/dock.theme file.

% grep '^[^#]' ~/.local/share/plank/themes/vermaden/dock.theme [PlankTheme] TopRoundness=0 BottomRoundness=0 LineWidth=0 OuterStrokeColor=0;;0;;0;;255 FillStartColor=40;;40;;40;;255 FillEndColor=40;;40;;40;;255 InnerStrokeColor=40;;40;;40;;255 [PlankDockTheme] HorizPadding=0 TopPadding=1 BottomPadding=2 ItemPadding=2.5 IndicatorSize=10 IconShadowSize=0 UrgentBounceHeight=0 LaunchBounceHeight=0 FadeOpacity=0 ClickTime=300 UrgentBounceTime=600 LaunchBounceTime=600 ActiveTime=300 SlideTime=300 FadeTime=250 HideTime=150 GlowSize=24 GlowTime=10000 GlowPulseTime=2000 UrgentHueShift=150 ItemMoveTime=150 CascadeHide=true [PlankDrawingDockTheme] HorizPadding=0 ItemPadding=2.5 CascadeHide=true

And here are mine Plank dock settings which are kept in the ~/.config/plank/dock1/settings file.

% grep '^[^#]' ~/.config/plank/dock1/settings [PlankDockPreferences] CurrentWorkspaceOnly=false IconSize=32 HideMode=0 UnhideDelay=0 HideDelay=0 Monitor=DP-1 DockItems=caja.dockitem;;leafpad.dockitem;;firefox.dockitem;;geany.dockitem;;thunderbird.dockitem;;galculator.dockitem;;deadbeef.dockitem;;transmission-gtk.dockitem;;pidgin.dockitem Position=3 Offset=20 Theme=vermaden Alignment=3 ItemsAlignment=3 LockItems=false PressureReveal=false PinnedOnly=false AutoPinning=true ShowDockItem=true ZoomEnabled=false ZoomPercent=150

Skippy-XD

You may wonder why the XD in the Skippy name. Its because Skippy started as a pure software solution – which unfortunately was quite slow – especially in the times when Skippy was introduced, and it was about a decade ago. Then Skippy developers rewrote it to use the – new then XDAMAGE module for X11 – from this change Skippy started to work almost instantly – and this was marked in its name and it remains to this date as Skippy-XD.

This is how Skippy-XD looks like.

The Skippy-XD does not need/support themes – it just has a configuration file located at ~/.config/skippy-xd/skippy-xd.rc place.

% grep '^[^#]' ~/.config/skippy-xd/skippy-xd.rc [general] distance = 50 useNetWMFullscreen = true ignoreSkipTaskbar = true updateFreq = 30.0 lazyTrans = true pipePath = /tmp/skippy-xd-fifo movePointerOnStart = true movePointerOnSelect = true movePointerOnRaise = true switchDesktopOnActivate = true useNameWindowPixmap = false forceNameWindowPixmap = false includeFrame = true allowUpscale = true showAllDesktops = true showUnmapped = true preferredIconSize = 32 clientDisplayModes = thumbnail icon filled none iconFillSpec = orig mid mid #666666 fillSpec = orig mid mid #FFFFFF background = [xinerama] showAll = true [normal] tint = black tintOpacity = 0 opacity = 200 [highlight] tint = #202020 tintOpacity = 64 opacity = 255 [tooltip] show = true followsMouse = true offsetX = 20 offsetY = 20 align = left border = #111111 background = #333333 opacity = 128 text = #eedddd textShadow = none font = ubuntu-10:weight=normal [bindings] miwMouse1 = focus miwMouse2 = close-ewmh miwMouse3 = iconify

One of the nice features of Skippy-XD is that you can configure it per desktop or globally per all currently existing virtual desktops. I also prefer to display window thumbnails only from the windows that exist on the current desktop. You can of course change that behavior with the Skippy-XD config file.

EOF