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
v5.7 7 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.7 7 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 7 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 8 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 9 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 9 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 9 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 10 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 10 months ago
- Bug fixed: KSmoothDock is now visible on all virtual desktops (if the user has multiple virtual desktops enabled).
v5.0.2 10 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 10 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 10 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.
openDesktop.org :
dequire
6 months ago
Report
dangvd
6 months ago
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
dangvd
6 months ago
Report
night-crawler
8 months ago
Report
dangvd
8 months ago
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
9 months ago
But what about autohide option? I need that space on my screen!
Report
dangvd
9 months ago
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
9 months ago
Report
dangvd
9 months ago
Report
kostiagol
9 months ago
Report
dangvd
9 months ago
Report
EvilKeevil
6 years ago
checking for kde-config... not found
configure: error: The important program kde-config was not found!
Report
tricky
5 years ago
Report
Chytrex
8 years ago
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
Report
karmatech66
7 years ago
Report
Chytrex
8 years ago
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
9 years ago
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
Report
bungalowfish
9 years ago
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
9 years ago
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
9 years ago
Report
gzu
9 years ago
dcop kicker kicker popupKMenu 0
Thanks for looking....
Report
gzu
9 years ago
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
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