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)

C

dangvd

11 years ago

Thanks for your support.

About your questions:
1. System tray: I will implement it as soon as I know how to do it technically. It s quite tricky.

2. I am always trying to make the zoom effect better. It is still far from the effect in other OSs now.

3. The length of the dock depends on the setting of dock item's size and the number of dock items so I'm not sure if I can do like you said. Whereas with kicker, the lenght of a task button is dynamic.

4. Can you explain this further?

Regards,
Viet Dung

Report

daTerminehtor

11 years ago

Is there a 'way' to rename the desktops to match what I've named them in control centre?

Report

C

dangvd

11 years ago

Sorry at the moment, KSD does not support this, pager icon is not a launcher and hence cannot be edited.
Regards,
Viet Dung

Report

jlone

11 years ago

Need help installing this on 10.1 :)Any help would be awesome.

Report

C

dangvd

11 years ago

So have you tried the guide above? (./configure, make, make install I meant)

Report

daTerminehtor

11 years ago

Thanks for the fine tool. :D
Many of us use multiple desktops, is there any method to run an applet that would allow one to choose which desktop to use? Only alternative is to open desktop previewer panel and choose that way.
PS - great news about the work on the placement options.

Report

C

dangvd

11 years ago

Hi,

Have you ever tried clicking in the tiny desktop wallpaper (desktop selector) in KSmoothDock? ;)

Cheers,
Viet Dung

Report

daTerminehtor

11 years ago

:P

I don't see that, nor in pref's. Is it added via the edit menu?

Report

C

dangvd

11 years ago

Of course, it is in the Preference (also initial settings). The option is called "Show Pager", obviously.

Report

daTerminehtor

11 years ago

:P

Thanks a bunch.

Report

markusk21

12 years ago

I love Ksmoothdock! But I need a Tray at least for gaim. How to do?

Report

C

dangvd

11 years ago

As I have posted here several times, I understand that a tray is necessary, however, at the moment, I don't know how to do it yet. I will implement it as soon as I know how to do it.

Best,

Viet Dung

Report

omega

11 years ago

Perhaps you could use kdocker in the meantime?

http://www.kde-apps.org/content/show.php?content=13356

Report

C

dangvd

11 years ago

kdocker only allows you to dock apps into kicker's system tray. It is not a replacement for the system tray itself.

Report

colonelpanic414

12 years ago

Is there any way to configure the dock's background? Or to even get rid of it completely? I really love this dock. It is much simpler to configure than kxdocker, but not quite as many options as kxdocker. But yeah, is there any way to change the background? I would like to make its corners rounded.

Report

C

dangvd

11 years ago

I am considering implementing a background option or even a theme option. I'll try to do it after finishing essential stuffs. In the mean time, if you have any advice on this (e.g. how to organise a theme's background pictures), please email me.

Thanks,
Viet Dung

Report

animae13

12 years ago

I think the next version should support drag an drop files to open with the program i 'drop' it (just like macOS).For example if i have a file for video and i want to open it with mplayer with i have in kmoothbar all i have to do is 'drag and drop'

Report

C

dangvd

11 years ago

Thanks, I will try to implement it when I have finished other essential stuffs like position settings.

Viet Dung

Report

rioch

12 years ago

Does this use real transparency with xgl/compiz? If not, is it planned?

Report

C

dangvd

11 years ago

It's still fake transparency at the moment.

I want to implement real transparency, but only when the technology is mature and it is popular. At the moment, few people use xgl/compiz or composite... so I do not consider it yet.

Best,
Viet Dung

Report

industrie13

12 years ago

KSmoothdoock is really the best working dock for Linux I've seen so far. The only feature I miss at the moment is the possibility to place it at the top of the screen (or left or right). I think, this could increase its flexibility enormousely ;).
But however, great work!!! Keep up this way! ;)

Report

omega

12 years ago

I whole-heartily agree with that! Please consider implementing this feature in a future version of KSmoothDock.

Report

C

dangvd

11 years ago

Hi,

I am working on Placement (position) settings at the moment and will release the new version in the coming months.

Thanks,
Viet

Report

omega

11 years ago

Thanks a lot! :)

Report

industrie13

11 years ago

from me thanks too ;)

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 98