KSmoothDock

Plasma 5 Add-Ons

Source (required if based on other people's work):

4
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 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 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 libkf5config-dev libkf5coreaddons-dev libkf5dbusaddons-dev libkf5i18n-dev libkf5iconthemes-dev libkf5xmlgui-dev libkf5widgetsaddons-dev libkf5windowsystem-dev

To build, extract the ksmoothdock-5.9.tar.gz file, then, from within the extracted ksmoothdock-5.9 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.9 3 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)

lucher

11 years ago

Oh yeah:
I use KDE 3.5.4 with Qt 3.3.6 on SuSE 10.1

Report

C

dangvd

11 years ago

Lucher, it seems that you are not using the latest version. There is no confkickerdialog.* nor confdialog.*

Please download the latest version.
Viet Dung

Report

lucher

11 years ago

Ouch! That may be right. I didn't check if I untar the archive into an existing directory. Sorry for bugging.

Report

A3XN

11 years ago

i have Mandrake 10.0 "Official" and i can't compil...
This is the message:

checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
./configure: line 1379: syntax error near unexpected token `ksmoothdock,'
./configure: line 1379: `AM_INIT_AUTOMAKE(ksmoothdock, 4.0.1)'

What is this, i need some program or...
i nedd help :-)

Report

animae13

11 years ago

What would be nice is to draw a line between the quick lunch menu and the taskbar (more like mac-os). About the system tray acually i don't think it would be a nice idea.I still have the kde panel on the top of the desktop and the system tray and the clock among some other usuful applets .it's like on the bottom i have the programs etc etc and on the top all the information. It's VERY convenient

Report

C

dangvd

11 years ago

Yeah at the moment the separator is missing, I will re-implement it very soon.

About the system tray, if it is implemented there will always be an option to turn it off, so it will not affect your current setting.

Best,
Viet Dung

Report

orychalk

11 years ago

it misses some options like automatic hiding ( it was present in previous versions )

:(

Report

C

dangvd

11 years ago

Please read the short FAQ above.
Regards,
Viet Dung

Report

orychalk

11 years ago

Oups :(
i 've read too fast .... Sorry

Report

eMDi

11 years ago

checking for KDE... configure: error:
in the prefix, you've chosen, are no KDE headers installed. This will fail.
So, check this please and use another prefix!

can u help me?

Report

C

dangvd

11 years ago

Please check that you have KDE development packages installed. And try:
./configure --prefix=/YOUR_KDE_DIR

Report

chavo

11 years ago

Runs great here the only problem is that it is not Twinview or Xinerama aware. This seems to be the case with all of the docks for Linux. When set to the bottom or top position it will open across both screens. Not too big an issue but with 2 different resolutions most of the dock is off screen.

Report

C

dangvd

11 years ago

Yes, I am aware of the problem. I will try to fix it. In the mean time, you could try setting the dock position to Left or Right.
Best,
Viet Dung

Report

animae13

11 years ago

i forgot the plain usuall but really meeningfull thank you part. Great work it is the best mac-like bars ever. Keep up the good work

Report

animae13

11 years ago

when i try to extract the files i run into a problem and it stops but some files are already extracted.
But if i run ./configure everything seems great
'Good - your configure finished. Start make now'
after make and make install if i try to start ksmoothdock it says

' bash: ksmoothbar: command not found
animae@animae-desktop:~/Desktop/ksmoothdock$ ksmoothdock
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
ScimInputContextPlugin()
kdeui (KRootPixmap): [/tmp/buildd/kdelibs-3.5.4/./kdeui/krootpixmap.cpp:271] activating background exports.
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = ksmoothdock path = pid = 2623
'.


and appears a window saying that ksmoothdock crashed and caused the signal11(SIGSEGV)


When i reinstall ksmoothdock 3.6.1 everything runs smoothly

Is there a problem with the ark(i have kde 3.5.4)

Report

orychalk

11 years ago

i have the same problem ;(

AAAAARRRRGGGHHHHH !!!!!

Report

C

dangvd

11 years ago

Sorry the source package I uploaded several hours ago was corrupt.

I have just uploaded the proper one so the dock v4.0 should work now.

Best,
Viet Dung

Report

animae13

11 years ago

when i try to extract the files i run into a problem and it stops but some files are already extracted.
But if i run ./configure everything seems great
'Good - your configure finished. Start make now'
after make and make install if i try to start ksmoothdock it says

' bash: ksmoothbar: command not found
animae@animae-desktop:~/Desktop/ksmoothdock$ ksmoothdock
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
ScimInputContextPlugin()
kdeui (KRootPixmap): [/tmp/buildd/kdelibs-3.5.4/./kdeui/krootpixmap.cpp:271] activating background exports.
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = ksmoothdock path = pid = 2623
'.


and appears a window saying that ksmoothdock crashed and caused the signal11(SIGSEGV)


When i reinstall ksmoothdock 3.6.1 everything runs smoothly

Is there a problem with the ark(i have kde 3.5.4)

Report

C

dangvd

11 years ago

Sorry the source package I uploaded several hours ago was corrupt.

I have just uploaded the proper one so the dock v4.0 should work now.

Best,
Viet Dung

Report

animae13

11 years ago

when i try to extract the files i run into a problem and it stops but some files are already extracted.
But if i run ./configure everything seems great
'Good - your configure finished. Start make now'
after make and make install if i try to start ksmoothdock it says

' bash: ksmoothbar: command not found
animae@animae-desktop:~/Desktop/ksmoothdock$ ksmoothdock
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
ScimInputContextPlugin()
kdeui (KRootPixmap): [/tmp/buildd/kdelibs-3.5.4/./kdeui/krootpixmap.cpp:271] activating background exports.
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = ksmoothdock path = pid = 2623
'.


and appears a window saying that ksmoothdock crashed and caused the signal11(SIGSEGV)


When i reinstall ksmoothdock 3.6.1 everything runs smoothly

Is there a problem with the ark(i have kde 3.5.4)

Report

6thpink

11 years ago

I used
./configure --prefix=/usr/kde/3.5/ --without-arts
make
su
make install

Then, it crashed. GDB reports:

[code]
This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/kde/3.5/bin/ksmoothdock
[Thread debugging using libthread_db enabled]
[New Thread 47928304030336 (LWP 22228)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47928304030336 (LWP 22228)]
0x000000000040dc17 in KSmoothDock::updateLayout ()
(gdb) bt
#0 0x000000000040dc17 in KSmoothDock::updateLayout ()
#1 0x0000000000412dd4 in KSmoothDock::KSmoothDock ()
#2 0x000000000040daa6 in main ()
(gdb) c
Continuing.
KCrash: Application 'ksmoothdock' crashing...
KCrash cannot reach kdeinit, launching directly.

Program exited with code 0375.
[/code]

Tried also just ./configure --without-arts --prefix=/usr/ and with no prefix at all.

Report

6thpink

11 years ago

Tried also this:

./configure --prefix=/usr/ --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-x --enable-mitshm --without-xinerama --with-qt-dir=/usr/qt/3 --enable-mt --with-qt-libraries=/usr/qt/3/lib64 --disable-dependency-tracking --disable-debug --without-debug --without-arts --enable-libsuffix=64 --with-extra-includes=/usr/kde/3.5/include --with-extra-libs=/usr/kde/3.5/lib64 --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu

That is what my gentoo ebuild uses to compile kde-misc/ksmoothdock-3.6.1, which compiles and runs fine.

But 4.0 refuses to work, the same gdb backtrace.

Report

C

dangvd

11 years ago

Sorry the source package I uploaded several hours ago was corrupt.

I have just uploaded the proper one so the dock v4.0 should work now.

Best,
Viet Dung

Report

kevkim55

11 years ago

I prefer ksmoothdock over kxdocker. ksmoothdock is easily configurable and behaves like kicker to a great extent. There's one thing it is missing though. It doesn't have a system tray. Ideally, I'd like to have just ksmoothdock loaded with, kicker hidden completely so, I can use ksmoothdock as the only bar. Problem comes where, I need to launch an application minimized to system tray, kmail for eg. For this, I'm forced to restore kicker and restore kmail. Wouldn't it be nicer if ksmoothdock included a system tray as well. This would eliminate the need to have kicker to have as a standby.

ksmoothdock still seems to have some glitches in display as, sometimes when you move the mouse away, parts of the zoomed icons or the desktop background remain displayed on the application that is running in the foreground.

Can we not have the option to stretch ksmothdock to the full screen length and keep the quick launcher to the left, clock and sys tray to the right with task bar in the middle, just like the kicker ?

And, an option to stack the desktop pager icons on one top of the other, like kicker ?

I would appreciate any response in this regard.

Report

daTerminehtor

11 years ago

I know the author has said previously he's been unable to create the needed code for a systray to be included (no knock on the author at all). He's asked for suggestions but, to the best of my knowledge, none have been forthcoming.

I've also noticed the icon name remaining on occassion.
I'd like to make the clock a little more configurable (date/s, 24/12 hr time... day's... etc).

Still, a nice app.

Report

v5.9 3 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 4 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.9
updated Mar 29 2018
added Jun 10 2003
downloads today
0
page views today 44