Description:

KSmoothDock is a cool desktop panel with parabolic zooming effect for KDE Plasma 5. While visually it is inspired by Mac OS X's Dock, it aims to follow the traditional Linux model of desktop panel with the application menu, launchers, the pager, the taskbar and the system tray. Currently KSmoothDock only supports the application menu, launchers and the pager, and is meant to use in conjunction with a Plasma 5 panel that provides the taskbar and the system tray.

KSmoothDock is written in C++ and depends on Qt 5 and KDE Frameworks 5.

For more information, please visit KSmoothDock's homepage: https://dangvd.github.io/ksmoothdock

Note: KSmoothDock is a standalone application, not a Plasma Widget. However, it is placed in this category temporarily while waiting for a more suitable one.

---

TO INSTALL:

You can either install from a binary package or from the source code package.

Option 1. (Preferably) Download and install from a binary package: Currently there is a DEB package for the Debian distribution and its derivatives (Ubuntu, Mint etc).
- To install the DEB package, use dpkg/apt command, or, simply click on the DEB package from the file manager to launch the default package installer (e.g. QApt)
- After the installation, KSmoothDock can be launched from the Application Menu (Utilities category), or from the command line by running:
$ ksmoothdock

Option 2. If you want to install from the source code (for example, if a package for your Linux distribution is not available), download the source code package and follow the steps below:

First, make sure you have Qt 5 and KDE Frameworks 5 development packages installed.

To build, extract the ksmoothdock-5.7.tar.gz file, then, from within the extracted ksmoothdock-5.7 directory, run:
$ cmake src
$ make

You can now start the program by running the ksmoothdock binary created in that directory, i.e.:
$ ./ksmoothdock

You can also install the program by running:
$ sudo make install

After the installation, KSmoothDock can be launched from the Application Menu (Utilities category), or from the command line:
$ ksmoothdock

To uninstall, run:
$ sudo make uninstall

To execute the automated tests, run:
$ make test
Last changelog:

v5.7 4 months ago

1. New feature: Application Menu
- Traditional cascading application menu, organized by categories
- Special menus/items such as Session, Power and Search (using krunner)
- Consistent look with the dock
- Automatically showing part of the screen to improve menu readability with translucent effect.
- Supporting drag action (dragging the menu items from the application menu to other destinations)
- Automatically updating itself when the desktop entries have changed
2. Various minor improvements/bug fixes

dequire

3 months ago

Excellent dock! Are there polans to provide an option to keep the dock visible on the desktop, but allow apps to cover them (i.e. when full-screen)? Either way, glad I found this. Nice work.

Report

C

dangvd

3 months ago

Sorry for the late reply -- I was away, and thanks for your comment!

As for the feature, I'll consider it, although for now there are higher priority features that I need to work on first. If you have account on GitHub, could you file an issue here so we can track it? https://github.com/dangvd/ksmoothdock/issues

Thanks!

Report

C

dangvd

3 months ago

The feature request is now tracked here: https://github.com/dangvd/ksmoothdock/issues/62

Report

night-crawler

5 months ago

Looks nice, works good, but please, add multiple screen support =)

Report

C

dangvd

5 months ago

Thanks!
Could you please file a feature request in https://github.com/dangvd/ksmoothdock/issues so that we can track it?
Also FYI currently KSmoothDock does have some multiscreen support e.g. the dock will center in the first screen. Although there is a bug with setting position on the right of the screen with multiscreen, and there is a feature request to set different wallpapers for different screens (you can see them on the Issues page above).

Report

kostiagol

7 months ago

Wow!! You are alive! It's so nice to find KSmoothDock is alive!!! I've been missing it since KDE3.

But what about autohide option? I need that space on my screen!

Report

C

dangvd

7 months ago

Thanks a lot!

Yeah when KDE4 was first released, it wasn't very nice to use and develop on, and I got distracted with other stuffs... Anyway I'm back now.

The autohide feature is being worked on and I'll release it in the next version (5.2) in a few week's time. For that bug and others, you can see them here: https://github.com/dangvd/ksmoothdock/issues

Report

kostiagol

7 months ago

Thank you. Well, then waiting for the 5.2 :)

Report

C

dangvd

6 months ago

I've just released v5.2 with Auto Hide :)

Report

kostiagol

6 months ago

Thank you. Thank you very much! Compiled without errors, started, auto hide is working. Life is good :)

Report

C

dangvd

6 months ago

Glad you liked it :)

Report

EvilKeevil

6 years ago

Config was renamed in KDE4?

checking for kde-config... not found
configure: error: The important program kde-config was not found!

Report

tricky

4 years ago

I have the same problem..

Report

Chytrex

8 years ago

Under debian lenny compilation gives this error:
Quote:In file included from /usr/share/qt3/include/qwindowdefs.h:47,
from /usr/share/qt3/include/qwidget.h:45,
from ksmoothdock.h:31,
from main.cpp:22:
/usr/share/qt3/include/qstring.h: In member function ‘char QChar::latin1() const’:
/usr/share/qt3/include/qstring.h:197: warning: conversion to ‘char’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void QChar::setCell(uchar)’:
/usr/share/qt3/include/qstring.h:222: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void QChar::setRow(uchar)’:
/usr/share/qt3/include/qstring.h:223: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QChar::QChar(uchar, uchar)’:
/usr/share/qt3/include/qstring.h:267: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QStringData::QStringData(QChar*, uint, uint)’:
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned int:30’ from ‘uint’ may alter its value
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned int:30’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qobject.h:48,
from /usr/share/qt3/include/qwidget.h:46,
from ksmoothdock.h:31,
from main.cpp:22:
/usr/share/qt3/include/qevent.h: In member function ‘void QDropEvent::setAction(QDropEvent::Action)’:
/usr/share/qt3/include/qevent.h:523: warning: conversion to ‘unsigned char’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qwidget.h:52,
from ksmoothdock.h:31,
from main.cpp:22:
/usr/share/qt3/include/qsizepolicy.h: In member function ‘void QSizePolicy::transpose()’:
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’ from ‘uint’ may alter its value
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’ from ‘uint’ may alter its value
In file included from main.cpp:22:
ksmoothdock.h: At global scope:
ksmoothdock.h:313: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:313: error: invalid use of ‘::’
ksmoothdock.h:313: error: expected ‘;’ before ‘<’ token
ksmoothdock.h:314: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:314: error: invalid use of ‘::’
ksmoothdock.h:314: error: expected ‘;’ before ‘<’ token
ksmoothdock.h:315: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:315: error: invalid use of ‘::’
ksmoothdock.h:315: error: expected ‘;’ before ‘<’ token
ksmoothdock.h:318: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:318: error: invalid use of ‘::’
ksmoothdock.h:318: error: expected ‘;’ before ‘<’ token
In file included from /usr/include/kde/kaboutdata.h:24,
from main.cpp:24:
/usr/share/qt3/include/qimage.h: In member function ‘bool QImageTextKeyLang::operator<(const QImageTextKeyLang&) const’:
/usr/share/qt3/include/qimage.h:61: warning: suggest parentheses around && within ||
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/home/chytrex/TEMP/ksmoothdock/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/chytrex/TEMP/ksmoothdock'
make: *** [all] Error 2

Any ideas how to solve this?

Report

Chytrex

8 years ago

Sorry for double post:(

Report

karmatech66

7 years ago

I have just switched from Gnome to Kde4 and I have the damn same error while 'make'. It took me days to resolve the issues with ./configure, but this time it looks much more ugly!!! Please help!!!

Report

Chytrex

8 years ago

Under debian lenny compilation gives this error:

Quote:In file included from /usr/share/qt3/include/qwindowdefs.h:47,
from /usr/share/qt3/include/qwidget.h:45,
from ksmoothdock.h:31,
from main.cpp:22:
/usr/share/qt3/include/qstring.h: In member function ‘char QChar::latin1() const’:
/usr/share/qt3/include/qstring.h:197: warning: conversion to ‘char’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void QChar::setCell(uchar)’:
/usr/share/qt3/include/qstring.h:222: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In member function ‘void QChar::setRow(uchar)’:
/usr/share/qt3/include/qstring.h:223: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QChar::QChar(uchar, uchar)’:
/usr/share/qt3/include/qstring.h:267: warning: conversion to ‘ushort’ from ‘int’ may alter its value
/usr/share/qt3/include/qstring.h: In constructor ‘QStringData::QStringData(QChar*, uint, uint)’:
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned int:30’ from ‘uint’ may alter its value
/usr/share/qt3/include/qstring.h:365: warning: conversion to ‘unsigned int:30’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qobject.h:48,
from /usr/share/qt3/include/qwidget.h:46,
from ksmoothdock.h:31,
from main.cpp:22:
/usr/share/qt3/include/qevent.h: In member function ‘void QDropEvent::setAction(QDropEvent::Action)’:
/usr/share/qt3/include/qevent.h:523: warning: conversion to ‘unsigned char’ from ‘uint’ may alter its value
In file included from /usr/share/qt3/include/qwidget.h:52,
from ksmoothdock.h:31,
from main.cpp:22:
/usr/share/qt3/include/qsizepolicy.h: In member function ‘void QSizePolicy::transpose()’:
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’ from ‘uint’ may alter its value
/usr/share/qt3/include/qsizepolicy.h:125: warning: conversion to ‘uchar’ from ‘uint’ may alter its value
In file included from main.cpp:22:
ksmoothdock.h: At global scope:
ksmoothdock.h:313: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:313: error: invalid use of ‘::’
ksmoothdock.h:313: error: expected ‘;’ before ‘<’ token
ksmoothdock.h:314: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:314: error: invalid use of ‘::’
ksmoothdock.h:314: error: expected ‘;’ before ‘<’ token
ksmoothdock.h:315: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:315: error: invalid use of ‘::’
ksmoothdock.h:315: error: expected ‘;’ before ‘<’ token
ksmoothdock.h:318: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
ksmoothdock.h:318: error: invalid use of ‘::’
ksmoothdock.h:318: error: expected ‘;’ before ‘<’ token
In file included from /usr/include/kde/kaboutdata.h:24,
from main.cpp:24:
/usr/share/qt3/include/qimage.h: In member function ‘bool QImageTextKeyLang::operator<(const QImageTextKeyLang&) const’:
/usr/share/qt3/include/qimage.h:61: warning: suggest parentheses around && within ||
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/home/chytrex/TEMP/ksmoothdock/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/chytrex/TEMP/ksmoothdock'
make: *** [all] Error 2

Any ideas how to solve this?

Report

bungalowfish

8 years ago

I'm fairly new to Linux and I'm trying to install your tool bar however I keep receiving the following error

checking for Qt... configure: error: Qt (>= Qt 3.2 and < 4.0) (headers and libraries) not found. Please check your installation!
For more details about this problem, look at the end of config.log.

While i understand the issue for what ever reason I am not able to correct it.

I am using Kubunto Intrepid and using both Adept and the Synaptic installer I appear to have QT4.0 installed. Any help would be greatly appreciated.

Report

OpenAugusto

8 years ago

You can't use it with Qt 4.x, you need Qt 3.x and the corresponding -dev packages.

Report

bungalowfish

8 years ago

I'm fairly new to Linux and I'm trying to install your tool bar however I keep receiving the following error

checking for Qt... configure: error: Qt (>= Qt 3.2 and < 4.0) (headers and libraries) not found. Please check your installation!
For more details about this problem, look at the end of config.log.

While i understand the issue for what ever reason I am not able to correct it.

I am using Kubunto Intrepid and using both Adept and the Synaptic installer I appear to have QT4.0 installed. Any help would be greatly appreciated.

Report

tdy

8 years ago

I've been looking for these for quite a time!!! Excellent work!!!

just some sugestions:

Perhaps making an integration with kde so you could chose and configure the task admin by the control center, like we all do with the windows decoration and etc...

Thank you very much for these!!!

Report

polrus

8 years ago

kde4 version - as plasmoid probably - would be great

Report

gzu

9 years ago

Is there an alternative menu that I can use with ksmoothdock in Fedora 9 KDE 4.1 the dcop kicker call dooes not work.
dcop kicker kicker popupKMenu 0

Thanks for looking....

Report

gzu

9 years ago

Worked out something myself.

Installed Lancelot added it to the plasma taskbar (I use as small at top of screen) and put in the quick launch menu for applications

qdbus org.kde.lancelot /Lancelot show 100 450

Report

gzu

9 years ago

Hi below is the debug output for the signal 8 crash in Fedora9. ksmoothdock cannot start. It looks it may be a missing deault icon??????
Kooldock will work with relevant patches.

Thanks for looking.


Application: KSmoothDock (ksmoothdock), signal SIGFPE
[Thread debugging using libthread_db enabled]
[New Thread 0xb7ee5700 (LWP 25864)]
[KCrash handler]
#6 0x08068537 in IconBasedDockItem::generateIcons (this=0xa0c1478,
icon=@0xa0be814) at iconbaseddockitem.cpp:179
#7 0x08068b19 in IconBasedDockItem (this=0xa0c1478, parent=0x9f0c388,
itemId=6, desc=
{static null = {static null = <same as static member of an already seen type>, d = 0x9eb80c0, static shared_null = 0x9eb80c0}, d = 0xbfa0ab1c, static shared_null = 0x9eb80c0}, desktop=0, icon=@0xa0be814, minSize=24, maxSize=120,
orientation=Qt::Horizontal) at iconbaseddockitem.cpp:51
#8 0x08068075 in DesktopSelector (this=0xa0c1450, parent=0x9f0c388, itemId=6,
desc=
{static null = {static null = <same as static member of an already seen type>, d = 0x9eb80c0, static shared_null = 0x9eb80c0}, d = 0xbfa0ab84, static shared_null = 0x9eb80c0}, desktop=0, icon=@0xa0be814, minSize=24, maxSize=120,
orientation=Qt::Horizontal, targetDesktop=1, wallpaperManager=0xa0bd3e0)
at desktopselector.cpp:34
#9 0x08053769 in KSmoothDock::initPager (this=0x9f0c388)
at ksmoothdock.cpp:991
#10 0x08057a1d in KSmoothDock (this=0x9f0c388,
resetConfig=<value optimized out>, resetLaunchers=<value optimized out>)
at ksmoothdock.cpp:76
#11 0x0805279b in main (argc=) at main.cpp:66

Report

v5.7 4 months ago

1. New feature: Application Menu
- Traditional cascading application menu, organized by categories
- Special menus/items such as Session, Power and Search (using krunner)
- Consistent look with the dock
- Automatically showing part of the screen to improve menu readability with translucent effect.
- Supporting drag action (dragging the menu items from the application menu to other destinations)
- Automatically updating itself when the desktop entries have changed
2. Various minor improvements/bug fixes

v5.6 5 months ago

1. New feature: Clock
- Can be turned on/off from the main context menu
- Left click on the clock shows calendar
- Right click on the clock shows clock's context menu with 24/12 clock format option and date&time settings
2. New: better support for multi-monitor
- If multi-screen is detected, there will be an option from the main context menu to select the screen for the dock to reside on
3. Various minor improvements/bug fixes

v5.5 5 months ago

1. New:
- Add settings for background opacity and whether to show border
- Add an Online Documentation menu item to the context menu
2. Various bug fixes and minor improvements in terms of display and UI
3. Improve automated testing

v5.4 6 months ago

1. New: Install/uninstall:
- Installing the program (by running "sudo make install") now adds an entry to the Application Menu (Utilities category) for easy access to it
- You can now uninstall the program by running "sudo make uninstall"
2. Bug fixes/Minor improvements:
- Scale the pager icons to the screen's width/height ratio if needed

v5.3 6 months ago

1. New feature: Edit Launchers dialog
- Easy to add/remove/edit the launchers
- Drag and drop within the launcher list to reorder the launchers
- You can also drag and drop from an external source such as K Menu to create new launchers
2. Bug fixes/Minor improvements:
- Add some icons to context menu
- Pager now refreshes automatically when the number of desktops has changed
- Pager: Non-zoomed items now do not clip zoomed items
- Pager: Setting wallpaper for a non-current desktop now doesn't temporarily affect the current desktop's wallpaper
- When loading launchers, the field codes (%) are now filtered out from the command

v5.2 6 months ago

1. New feature: Auto Hide
- Can be turned on/off from the context menu
- If turned on, hide the dock when the user leaves it and show it when the user moves the mouse on the edge of the screen that the dock resides
2. Bug fixes/Minor improvements:
- Corrects dock's height in vertical position with pager turned on
- Handles wallpaper loading error better
- Adds "Do-not-show-again" to wallpaper setting info message box
- If custom wallpaper is set with pager, draws a border around the pager icon for the current desktop
- Message box that recommends on the wallpaper setting feature of the pager, if it's not used (can be turned off with "Do-not-show-again")
- Corrects the icon of the default System Settings launcher item (the one created automatically when the user starts the dock for the first time)

v5.1 7 months ago

- New feature: Pager
+ Can turn on/off pager from KSmoothDock's context menu
+ Click on a desktop icon switch to that virtual desktop, or, if it's already the current desktop, show/hide the desktop
+ Can set different wallpapers for different desktops (this requires Plasma desktop widgets to stay unlocked)
+ If individual wallpapers are set, the icons will be the mini version of the wallpapers
- Bug fixed: KSmoothDock now shows on all virtual desktops even if launched from Plasma Quicklaunch

v5.0.3 7 months ago

- Bug fixed: KSmoothDock is now visible on all virtual desktops (if the user has multiple virtual desktops enabled).

v5.0.2 7 months ago

- Sync the settings to disk immediately when the user clicks Ok/Apply from the Settings dialog. Previously the sync only happened when the user exited the program.
- Use stricter compiling flags to help prevent potential bugs.

v5.0.1 7 months ago

- Bug fixed: KSmoothDock is now limited to one single instance only.
- Clean-up: Show Desktop is now more consistent with Plasma's show-desktop behavior.

v5.0 7 months ago

Major rewrite for KDE Plasma 5. Depends on Qt 5 and KDE Frameworks 5.

Currently the panel only supports launchers (including a Show Desktop item), but more features will be considered.

product-maker dequire Jun 29 2017

Excellent dock! Are there polans to provide an option to keep the dock visible on the desktop, but allow apps to cover them (i.e. when full-screen)? Either way, glad I found this. Nice work.

product-maker andrecbarros Apr 10 2017

product-maker janet Apr 03 2017

product-maker alex-l Mar 17 2017

product-maker mirkogennari Mar 02 2017

product-maker 85 279

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
5.7
updated Jul 11 2017
added Jun 10 2003
downloads today
7
page views today 3