KSmoothDock Featured Original

Plasma 5 Add-Ons desktop dock kde panel plasma

Source (link to git-repo or to original if based on someone elses unmodified work): https://github.com/dangvd/ksmoothdock

6
Score 76%
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 task manager, the system tray and the clock. Currently KSmoothDock supports all these components except 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 required Qt 5 and KDE Frameworks 5 development packages installed. On Debian-based distributions, they can be installed by running:
$ sudo apt install extra-cmake-modules qtbase5-dev libkf5activities-dev libkf5config-dev libkf5coreaddons-dev libkf5dbusaddons-dev libkf5i18n-dev libkf5iconthemes-dev libkf5xmlgui-dev libkf5widgetsaddons-dev libkf5windowsystem-dev

To build, extract the ksmoothdock-5.10.tar.gz file, then, from within the extracted ksmoothdock-5.10 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.10 27 days ago

1. New feature: Task manager
- Task icons are sorted by program and creation time
- Can set up icon override rules to change the task icon depending on the program and task description, to help the user more easily identify the tasks belonging to the same program. For example, a Gmail Chrome window can be set to use a different icon from that of a YouTube Chrome window.
- Standard settings such as show tasks from all desktops/screens or only the current one.
- Only show tasks from the current activity to avoid accidentally switching activities.
- Task manager can be turned on/off from the main context menu.
- Right-click on the task manager shows the context menu for standard settings and icon override rules settings.

2. Minor Improvements:
- Launchers now show a visual effect when launching
- Improved visual in the borderless, 100% background transparency mode (which is now the default)
- Don't do the parabolic zooming if the mouse is just near the border, as quite often the user was just scrolling a window etc

andrecbarros

8 months ago

Nice ! The ability to set different wallpapers to each virtual desktop is really nice nice and long overdue, thank you for taking time to restore it to KDE desktop!

Report

C

dangvd

8 months ago

Thanks! Glad you like it.

Report

dequire

1 year 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

1 year 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

1 year ago

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

Report

night-crawler

1 year ago

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

Report

C

dangvd

1 year 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

1 year 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

1 year 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

1 year ago

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

Report

C

dangvd

1 year ago

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

Report

kostiagol

1 year ago

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

Report

C

dangvd

1 year ago

Glad you liked it :)

Report

EvilKeevil

7 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

5 years ago

I have the same problem..

Report

Chytrex_deactivated

9 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_deactivated

9 years ago

Sorry for double post:(

Report

karmatech66

8 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_deactivated

9 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

10 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

9 years ago

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

Report

bungalowfish

10 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

10 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

10 years ago

kde4 version - as plasmoid probably - would be great

Report

gzu

10 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

v5.10 27 days ago

1. New feature: Task manager
- Task icons are sorted by program and creation time
- Can set up icon override rules to change the task icon depending on the program and task description, to help the user more easily identify the tasks belonging to the same program. For example, a Gmail Chrome window can be set to use a different icon from that of a YouTube Chrome window.
- Standard settings such as show tasks from all desktops/screens or only the current one.
- Only show tasks from the current activity to avoid accidentally switching activities.
- Task manager can be turned on/off from the main context menu.
- Right-click on the task manager shows the context menu for standard settings and icon override rules settings.

2. Minor Improvements:
- Launchers now show a visual effect when launching
- Improved visual in the borderless, 100% background transparency mode (which is now the default)
- Don't do the parabolic zooming if the mouse is just near the border, as quite often the user was just scrolling a window etc

v5.9 8 months ago

1. New feature: More visibility options for dock panels.
- There are now 4 visibility options: Always Visible, Auto Hide, Windows Can Cover (new) and Windows Go Below (new).
- Windows Can Cover (i.e. Intellihide) allows maximized windows to cover a dock panel. If covered, the dock panel will show itself when the user moves the mouse to the edge of the screen that the dock resides.
- Windows Go Below doesn't reserve screen space but maximized windows will go below a dock, unless the window is set to "Keep Above Others"

2. New feature: Wallpaper settings dialog.
- There is now a dedicate wallpaper settings dialog that allows the user to preview the wallpaper
- For multi-screen users: different wallpapers for different screens can be set. Note that KSmoothDock already provides the ability to set different wallpapers for different desktops. Thus, now, for example, if you have 4 virtual desktops and 2 screens, you can set 8 different wallpapers.

3. Minor improvements:
- Application Menu: now has an option to turn on/off reserving screen space when showing.
- Pager: now has an option to show desktop number.
- Pager: if no custom wallpaper has been set, it will draw rectangular translucent background with desktop number (like the pager in Plasma panel etc) instead of using "user-desktop" icon. If a custom wallpaper has been set, it will use the mini version of the wallpaper like the existing behaviour.
- Welcome dialog and Add Panel dialog: now have options to select the components
- Edit Launchers dialog: now has a Remove All button that will remove all existing launchers from the launcher list in the dialog. Of course the change doesn't take effect until and unless the user clicks Ok/Apply.

4. Under the hood: Code quality improvements.
- Better code separation between the model and the view
- Better automated testing coverage
- Increased usage of modern C++ style (C++ 11/14)

v5.8 9 months ago

1. New feature: Multiple Panels (Multiple Docks)
- The user can now add/clone/remove a panel
- The panels share the same appearance settings (e.g. background color, icon min/max sizes) but can be configured individually otherwise (e.g. the components, the launchers, whether auto-hide is enabled).

2. Minor improvements/bugfixes:
- Edit Launchers dialog now has a 'Launch a Website' command list to make it more convenient to create launchers to open Websites/WebApps.
- Using D-Bus Lock Screen command on a Launcher item now works properly, and it's been added to the D-Bus command list in the Edit Launchers dialog.
- Adds an option to set clock's font size to Large, Medium or Small. The clock's font size is still calculated automatically, but it will be scaled according to this setting.

v5.7 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year ago

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

v5.0.2 1 year 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 1 year 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 1 year 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 psychydyl Oct 29 2017

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 Packagetype Architecture Downloads Date Filesize DL OCS-Install
Pling
Details
license
GPLv3
version
5.10
updated Nov 21 2018
added Jun 10 2003
downloads today
0
page views today 88