psifidotos / workflow-project

This is an effort to create a KDE Plasmoid that integrates the main Activities, Virtual Desktops and Tasks Functionalities from Plasma Desktop in just one component.
http://workflow.opentoolsandspace.org/
GNU General Public License v2.0
11 stars 2 forks source link

Shrinking icon in panel #71

Closed bmihaila closed 11 years ago

bmihaila commented 11 years ago

Hi

I noticed that the icon of the plasmoid is shrunk until it is one pixel in size when one is resizing the panel. This does not happen to other plasmoid icons as can be seen here: before snapshot1 after shrinking the panel snapshot2 As I have put my panel to autoresize it can get annoying because sometimes the icon of the plasmoid disappears completely when the panel resizes. Don't know what settings the other plasmoids use because they get resized horizontally and vertically until they fit vertically but then no further. The workflow icon though gets smaller and smaller until it disappears. I don't think that setting a fixed minimal size in pixels is the solution.

psifidotos commented 11 years ago

How have you made the panel to autoresize? In that a new choice in KDE 4.10?

In my system when I change the width or height of the panel, the icon behaves just like the other icons...

bmihaila commented 11 years ago

No the "feature" is there since ever but never really worked well ;) plasma seems to not compute correctly the width in some cases having the panel sometimes too big or too small. You can activate it by simply setting the panel minimal size slider to smaller than the objects it has. Then the panel is sized automatically to the minimum size necessary to contain all the elements and gets smaller as soon as one of the elements disappears. This is quite useful for the taskbar ;). I use this as I have the panel to be above all windows (windows go below setting and thus not use extra space) as it only covers the window title bar. By making it autoresize and not always spanning the whole screen it gets less in my way. See here: dektop-snapshot1

But you can simply test the icon issue when resizing the panel to a size smaller than everything would fit in, then all my icons stop resizing at some point but the workflow one is resized till it disappears. Ok after some more testing it seems that it mostly resizes till the smallest size of the workflow/activities icon but not to the size of the icon that the current activity is using if that option is set. Do you get what I mean? Otherwise will try to make some more screenshots ;) But it is not a big issues that needs to be resolved before 0.3

psifidotos commented 11 years ago

Hello again, Bogdan I havent been able to hide the WorkFlow icon by changing settings (panels minimum-maximum size etc.) Try the following: -add a second panel with default settings -add WorkFlow in that panel tell me step by step what to do to reproduce...

bmihaila commented 11 years ago

Hi again

Sorry, for the longer silence but have been very busy the last two weeks. Will now start looking into the bug again and also want to try the kwin effect ;). It seems that most of the commits are happening there lately.

psifidotos commented 11 years ago

Hi again

Sorry, for the longer silence but have been very busy the last two weeks. Will now start looking into the bug again and also want to try the kwin effect ;). It seems that most of the commits are happening there lately.

Hello, dont worry. The last two weeks I am fighting with the monsters in this project :) I had to create a qdbus interface in order for workareas to be synced between the plasmoid and the kwin script...

KWin script depends a lot in the plasmoid structure which contains data engine, qml plugins, qdbus etc...

So if you want to test drive it I would suggest to remove completely any previous version of the plasmoid.... Then install the plasmoid from the development branch and afterwards install the kwin script as described in the relevant README file...

The new plasmoid version has added also a choice in order not to popup a window but to show the kwin script...

psifidotos commented 11 years ago

The code for the icons in the panel has been updated so I think that there is possibility for this to have been fixed in the development branch...

bmihaila commented 11 years ago

Hi

Tried out the devel version and unfortunately the problem still persists. See the screenshots below: when resizing the panel it sometimes stops at this size or bigger or sometimes smaller but I cannot really find out why dektop-snapshot2 this below is the smallest it gets till now but like I said above it is difficult to reproduce and it might be a plasma problem cause I have more of this panel resizing issues but here it is weird that only the workflow icon gets soo small while the other stay at the minimal size dektop-snapshot1 As you can see in the first screenshot there is even some redraw issue in the plasma panel on the left. I use two panels next to each other btw anchored in the middle of the screen and they resize automatically to the outer side.

bmihaila commented 11 years ago

Ok, now I managed to reproduce it although am not sure if you will be able to :) So here the steps. Don't know if all are necessary but hope that shows the problem for you, too. :( Hope the screenshots help in repeating the steps:

  1. Added a new panel at the bottom
  2. set the panel alignment to "Left"
  3. set the panel's left anchor position somewhere about the middle of the screen (by moving the "downwards" arrow to the right)
  4. set the maximum panel size ("right" arrow) near the right end of the screen
  5. set the minimum panel size ("left" arrow) very close to the panel's left beginning
  6. add the workflow plasmoid to the panel
  7. add some other plasmoids (don't know how many are necessary :) )
  8. now move the slider for the "minimum" panel size in and out such that the icons do get enough or not enough space

See the screenshots:

It seems to get stuck sometimes and not get till the one pixel but with the steps above it is quite reliable to reproduce on my machine. The important thing seems to be that there needs to be another plasmoid next to it. Tell me if it does not work for you, then I might just have to live with the bug ;) or start adding some debugging output to the plasmoid and continue the experiments when there is more time ... And thanks for your efforts ;)

psifidotos commented 11 years ago

I am trying and trying but no success... :) I use openSuse 12.2. with KDE 4.10.1 for a few days now.... For me according to your steps.....

Step1: step01

Step2: step02

Step3: step03

Step4: step04

I achieved a lot of shrinking with "maximum" panel size not the minimum, but I think this is normal with the maximum....

What you are describing is that the icon shrinks more than it should.... This is doesnt appear to be an issue with current implementation rather than the CompactRepresentation feature in Plasma... So I think this is a KDE related bug just like the #72 .....

bmihaila commented 11 years ago

Hi

Pity was thinking I finally can make you reproduce it ;). Well then don't worry I will try to find out myself more about it but might take time. Use your time for more productive things :). Btw. I also use KDE 4.10.1 on Ubuntu. Was thinking it might be related to https://github.com/psifidotos/workflow-project/issues/72 but already had a look at the panel icon settings and nothing non-standard there. When I find some more time I will make a simple QML plasmoid to see what causes it on my system. Like I said it have some resizing issues since ever with plasma. It was only weird that workflow plasmoid is now behaving different to other plasmoids. So, will tell you more as soon as I know more. Thx

PS: one last thing came now to my mind. Could you try to shrink the height of the panel, e.g. make the panel half the height. Forgot to mention that in my reproduction steps but guess it does not really make a difference.

psifidotos commented 11 years ago

Well I just had a flash... :) both #71 and #72 arise because of the kde's buggy CompactRepresentation..

Why did I use compactRepresentation feature? Because instead of one icon I wanted also to show the indicator for the activity over the icon... Is that so important ? :) I dont think it would be difficult to add a choice in the configuration in order to disable the indicator. With a relogin the compactRepresentation would be disabled and the only drawback would be that the activities icons wouldnt have the indicator....

What do you think? P.S. I could also of course drop the indicator totally but I would prefer for the two implementations to coexist....

bmihaila commented 11 years ago

Hi

I like the activity indicator over the icon ;) but well until the bug in KDE is fixed it might be a possible workaround to have an option to use or not use the icon overlay thing and thus have the bug or not, although it is really a bit wrong to have such an option in your code instead of fixing KDE as it is only temporary. Don't know what causes more work for you. I can also just wait for KDE to fix :) and try to live with it meanwhile.

psifidotos commented 11 years ago

Ok, I think that code in branch dev-disablecompact will fix the issue, if someone enables to hide the indicator.... this also fixes #72 But there is a big BUT... :) two features do not work this way: 1) Scroll wheel over the icon to change Activities 2) Triggering the KWin Script instead of pop up,


because of 2, I want your opinion, what it would be better ? a)to create a second very simple plasmoid which will enable trigerring the kwin script and drop this feature from the official plasmoid? or b)to create a second very simple plasmoid which will enable trigerring the kwin script and keep this feature to the official plasmoid?

I would go for (b) probably, if someone wants to use the kwin script with plasmoid triggering then a very small and simple qml plasmoid should be responsible....

What do u think?

psifidotos commented 11 years ago

, although it is really a bit wrong to have such an option in your code instead of fixing KDE as it is only temporary.

Well I know... :) but the problem is that I havent found enough time yet to create a master kde development environment and play around...

But I think this comes in an end soon.... First thing after 0.3.5 is start playing around with plasma code and send patches upstream...

You see 0.3.5 will provide the kwin script for which I am very excited :) and I definitely want to deliver it as it is fanstastic... :) I love it in my system... :)

Plasmoid and Kwin Script have almost the same qml code base around 95% so fixing something can be also moved to other around.

For the workaround around the CompactRepresentation issues (actually disabling it... :) ), I could follow the hidden configuration path. Provide that setting by changing directly the configuration of the plasmoid and not by exposing it in ui.... Now that I think it again that is the best for now... :) Lets hope that I will catch up with Plasma direct development soon ... :)

bmihaila commented 11 years ago

Yep, agree that you should take over the KDE activities code :) hehe. Also the plasmoid/kwin script should become the standard UI for activities in KDE but for that we need to get more people use it first.

About the workaround, do as you see fit and what is easiest for you. A config option during make or something alike is ok cause exposing it in the UI will only confuse people. Tell me when I should test it and thx again. I will write it into the FAQ if it becomes the official workaround for the bug.

psifidotos commented 11 years ago

Yep, agree that you should take over the KDE activities code :)

No way, the activities code is advance enough to not understand many parts of it... But I must definitely help a bit the maintainers with small coding parts...

About the workaround, you can use the development branch and after installation you must add in the configuration options of the plasmoid in plasma-desktops-appletsrc file the line, DisableCompactRepresentation=true

BTW, how you tested the kwin script?

bmihaila commented 11 years ago

Heya

You're the best. It works! Thx a lot! It could get quite annoying to have it disappear randomly and not being visible exactly when one needs it ;). Did not try the kwin script yet as I there was lots of development in that repo and wasn't sure if it will mess up the plasmoid, but will give it a try asap.

Thx again :) you made a happy user even happier. I will close the bug and write this into the FAQ. Maybe you should then also add this as a comment to https://github.com/psifidotos/workflow-project/issues/72

psifidotos commented 11 years ago

Did not try the kwin script yet as I there was lots of development in that repo and wasn't sure if it will mess up the plasmoid, but will give it a try asap.

Dont worry, the plasmoid holds all the difficult parts in C++ ( that is data engine, dbus service, qml plugins) if you have installed the plasmoid from the development branch then you are up-to-date.

The kwin script is clean qml that can be added and removed even from a .kwinscript file (that is just a zip file renamed to .kwinscript). The kwin script will be available for download and install through GHNS, the install scripts in main folder exist just in case I want to use them to create rpm packages.

Maybe you should then also add this as a comment to #72

Nice idea... :)

bmihaila commented 11 years ago

I just realized that with using the workaround the icon for the current activity is not shown when starting plasma but the standard 3 dots icon is shown. Only after switching activities back and forth the icon gets updated.