Registered Member
|
Hello everyone,
this is an idea that appeared by using my Plasma desktop and trying to making it simple and elegant... this is my desktop: all of it, is Plasma except the panel on the left which is called Plank and is trying to mimic a mac dock way to show your tasks-windows (I never had a mac so I dont know how is the experience ). Plank is good and I like its approach of simple configurations and only basic features for doing the job but Plank is not Plasma under its technology... (it isnt plasma theme agnostic, Activities agnostic, based on Qt) I thought that I could create something in order to test in QML how this could be done. I am a developer and in the past I was maintaining the WorkFlow Plasmoid for Plasma 4. Plasma 5 is a much friendlier development environment and things are maturing day by day for the long run (concerning Wayland also). So this is the mockup qml dock (I dont know how to name it yet) and you can download all the code from here, it is pretty small actually: DropBox link you can test it, inside Plasma, executing the following command in the extracted directory:
This is where this effort stands out until now and I would like a lot your feedback:
Phase 1:
Phase 2:
Phase 3:
P.S. Features I like in Plank and I would like to support if this is possible,
|
Registered Member
|
Really wonderful work!
As for design I would minimize the scaling a tad, not by much but right now its very "slidey" with all the zoom effect. Another point I would love to mention is the replacing the glowing dots with either plain dots or perhaps extra lines. If you got a KDE account perhaps adding this work on https://phabricator.kde.org ?
KDE Visual Design Group - "Sexy by default - Powerful through cooperation"
|
Registered Member
|
|
Registered Member
|
In regards to "phase 2", may I suggest you instead implement it as a "panel";
I was speaking to devs about making widgets like docks, and apparently you can do that already. Not as in "putting it in a panel", but as a "panel alternative". If you make it in this method, you clamp to the edge of a screen, get to reserve screen space, and all that good stuff. I don't know who you'd talk to about doing this though...
Reformed lurker.
|
Registered Member
|
Hello Kver, thanks a lot for the response... I am not negative in implementing it as a "panel alternative", things probably will lead there even though I dont see any major benefits... In the current implementation when you add the plasmoid in an empty panel, you can move this panel wherever you want and set its behavior also, windows can overlap it, it can autohide itself if you want to... in general all the options of a panel are there... The panel's size grows according to the plasmoid, the only option which is not an option is the "Always visible" because the user loses very much of its desktop space... I know that the cleaner solution is that of a "panel alternative" but for the benefits I would like to hear them actually.... If a developer could point me also in that direction with a "Hello World" panel alternative, that would be enough for me... C++ and Qt programming is not a problem, in my previous project we ended creating c++ libraries, dbus interfaces, different kwin effects and plasmoids with combination in Qt and QML As for the phase point of development... Phase 2 has finished and from Phase 3 the launchers functionality also. Dragging and dropping launchers is not in the code yet, I will leave that for now. My next important thing is to choose which are going to be the user choices from the plasmoid's configuration windows. I have copied the current configuration window from the tasks plasmoid but I am not going to support all these choices... I find them a lot... Definitely per activity tasks and per desktop if the user wants to, how the user wants to combine launchers with its tasks... group them together or keep them separate... but that's all.. What I would love to see is how people imagine this. I tried to use a bar line that uses the current theme in order to show the current tasks, and dots for showing the number of windows in each task but it was too flat... no beautiful borders... etc.... I ended hardcoding the oxygen panel which gives a more 3d presence for the barline.. I am in vacations but I believe that in 10 days the first ".plasmoid" file will be ready and you will be able to even install it from inside plasma, I will publish it to kde-look. After that I hope for a better momentum for the project concerning ideas, mockups, etc. In programming I know that words do good but in the end there must be something to show, and showing something activates people a lot... |
Registered Member
|
For anyone that wants to give this plasmoid a go and send me feedback,
the first version is online and can be downloaded from inside Plasma (>=5.7). I have called it "Now Dock" the kde-look link if you want to download it yourself: https://www.kde-look.org/p/1151047/ have fun everyone... |
Registered Member
|
I love it!
Thank you for the efforts. I have some feature requests and bug reports Feature Requests: i think it needs to be a panel itself, if this is possible. And as panels i think it should be attachable to a screen edge of the desktop. The solution to use it within a panel is cool but not viable for me, as i want all the effects like blur on my panels And, as already talked about on kde-look, dragging/drag and drop would be nice! The visuals are already stunning but i think there is a (very minor) bug in the visuals (Not using it in a panel atm): If i hover over the leftmost icon and move the mouse to the left the animation starts stuttering when i exit the panel area. Same is true for the right side. Also it doesn't follow the color theme, at least when switching workspace themes. Hopefully this initial version gets some more attention, i think this is already almost as good as docky! EDIT: I don't think that the name of the dock matters that much but "now dock" seems a little weird My suggestions would be * doK * Plasma Dock * Breeze Dock * Qmlaucher But it doesn't really matter |
Registered Member
|
I am researching this but the first responses from the developers are very positive that this is not so difficult... a panel in the end is a plasmoid...
this has been implemented in the master branch, it will be in the next release
this must have been fixed also in master... In the edges I had placed hidden spacers in order for the animation to be consistent but I hadnt included them in the mouse signals
the main color hasnt been hardcoded is using by the theme the color buttonFocusColor, can you give me any screenshots?
I feared to include Plasma or Breeze in the name because I have them in my mind as trademarks... The corresponding teams should give first their acceptance for this... ----- New features that have been implemented: --the icons had a little blur in them because of the buffering mechanism... this is fixed and the icons should look very clear and sharp at least when they are not zoomed... --three different colors can be shown if the user wants to for (minimized, active, just shown) windows --the design of the line and dots has been merged in a single way to handle this visually, in that way the design is simpler and more space is gained. --dropping applications from outside, creates launchers in the plasmoid for bugs and requests please also use the official page because it would help me to keep them organized... https://github.com/psifidotos/plasmaqmldock @Saabhero, Thanks a lot for the support!!! I am having a lot of fun implementing this... regards, michail |
Registered Member
|
Well... as a proof of concept I can saw you these...
Breeze Dark theme with a transparent panel in it.... it is hardcoded of course but it works.... Steps that were taken... 1. I added in the breeze dark theme a west panel that is full transparent and I made full transparent some of the shadows that must not be shown because they would break the illusion to the user. 2. in the Now Dock I am using the themes visuals in order to draw in it the theme's panel-background with its shadows that's all actually.... This could create an illusion to the user that the icons are zoomed outside of their panel... |
Registered Member
|
This is looking great! I have a feeling that this is going to become pretty soon one of the most used applets in Plasma.
I have a minor question. How you were able to put the dock inside an transparent panel. As far as I know, there aren't any plans to give the panels a transparency option. Without putting the applet into a panel, you don't have an option to rotate the dock's orientation. Also, you don't get the panel's major advantages like the Visibility options and the ability to snap it to one side of the screen with a simple configuration option. |
Registered Member
|
Thank you very much for your kind words!!! For the transparancy I hardcoded the Breeze-Dark theme, all the panels are drawn mainly from a spesific svg file in their themes... For this file is documented that somenone can specify different layouts for the panels based on their positions, e.g. West(right), North(top), East(right), South(bottom)... What I have done is that I created by hand a West fully transparent panel in that file and made full transparent the shadows that shouldnot appear. From the plasma developers frontier the news is that there is interest around this feature and there is a big possibility to be implemented in Plasma 5.9... But until then what are we doing????? Well... Because there are many people that want to play with it etc. etc... I am one of them! I love it in my plasma... Today I created a python script which is able to do the magic for you... It should work with most of themes and if there are cases out there that it isnt we could debug it.... The script is called transparentpanel.py, someone can run it with the command python tranparentpanel.py following its arguments... The script takes as arguments the name of an installed plasma theme and in what panel we need transparency... And in that way it creates a new theme that provides that transparency... The new theme can be enabled as all the installed workspace theme from the system settings.... The script disables some panel shadows in order to provide that transparency correctly and informs the user what shadows disabled, but it gives also the choice to the user to enable any shadow he wants... examples: python transparentpanel.py --list ///shows all installed themes python transparentpanel.py breeze-dark West ///it will create a new Breeze Dark theme with the West panel transparent python transparentpanel.py breeze-dark South bottom topright ///it will create a new Breeze Dark theme with the South panel transparent and also the bottom and the topright shadows will be shown including those the script chose The thing is that the script was created in just one day by me just playing around with python for the first time... I hadnt ever used that language before... I propose to wait for one or two days if you want to try it, and then I will upload it... I am thinking also that if the people need this so much, I am going to create a small Gui application in PyQt to help them for this process if they fear to use the command line with the transparentpanel.py script... |
Registered Member
|
|
Registered Member
|
Well,
as it appears the Now Dock Plasmoid when its version 0.3.0 will be ready, is going to have a company... I managed to implement a Now Dock Panel (it will be released with same version as the plasmoid 0.3.0). This is not going to be a panel for a single widget... This is going to be a real Panel!!! This means that you will be able to add your plasmoids in it, places, trash, weather, notes, clock etc. and they are going to behave as the Now Dock Plasmoid... zooming, etc... It is already working but I'll need some time more to make it work right.... P.S. the green lines etc. are for Layout debugging... |
Registered Member
|
This is fantastic! Truth be told, that looks even better than what I was expecting. When you have a more polished version of it, you should queue it for Plasma 5.9. That would certainly be a great addition.
|
Registered Member
|
+100 for bring it to plasma repository.
|
Registered users: bartoloni, Bing [Bot], Google [Bot], Sogou [Bot]