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

Wallpapers not shown #62

Closed bmihaila closed 11 years ago

bmihaila commented 11 years ago

Using the latest version from repository: https://github.com/psifidotos/workflow-project/commit/32071a7a04f06d5d2561e61c2dde2bb3a5cde1e7

Just wanted to let you know that the wallpapers are not shown anymore.

psifidotos commented 11 years ago

strange ... did you try a relogin? this version installs the workarea data engine which supports a simple wallpaper functionality for each activity....

psifidotos commented 11 years ago

Because there are some reports about conflicts of the new structure with the old one I would recommend full uninstall of the previous version and then installation of the new one...

make an installation of the previous version you were using and then in then build directory you can run: sudo make uninstall

after that install the new version...

bmihaila commented 11 years ago

Ok, after restarting plasma I can see a wallpaper. Unfortunately it is the wrong one, I mean it is the default KDE one and not the ones shown on my desktops. And yes I deleted everything before installing, but I can give it another try and then report again. So the current implementation would show the wallpaper (all the different ones) for each desktop?

mdaffin commented 11 years ago

When I last checked (before the major rewrite) it only showed one wallpaper per activity, not per desktop. We really should move the wall paper code into the workarea section as each work area can have a different wallpaper (not to mention each screen) so linking the wallpaper to an activity does not make much sense. I am not sure how the code picks which wall paper to display if you have set each virtual desktop to display a separate widget set. How does it behave if you change it to only display one widget set for all virtual desktops (per activity that is)?

psifidotos commented 11 years ago

Let explain a bit the background mechanism.... Bmihaila, in your situation KDE has probably stored the settings for a second screen. The background mechanism when finds a background for a specific activity does not continue, it just returns that background.


All the code for background heuristic is in just one class, that is : pluginfindwallpaper.h in the data engine. Wallpapers search is not supported yet in KDE I believe, Aaron has responded to that in the future there will be a data engine which is going to provide the backgrounds for all activities http://www.mail-archive.com/plasma-devel@kde.org/msg22779.html for all the wallpapers plugins.... But until then:


The current code accesses plasma-desktops-appletsrc which contains all the information for running activities including the wallpaper configuration. For stopped activities accesses the files in folder: .kde4/share/apps/plasma-desktop/activities/ that contains all configuration for stopped activities...

Until today I didnt know that a user can have different wallpapers in different desktops... :) "each virtual desktop to display a separate widget set" I must look the config file to understand how this is done... At the same time I dont know if the wallpaper must be moved completely to workareas. It must be investigated because if the user hasnt set "each virtual desktop to display a separate widget set" then the same wallpaper will be duplicated to all workareas of the same activity....

For a start I must see how "each virtual desktop to display a separate widget set" case is stored in the plasma-desktops-appletsrc configuration file... I must note here that the plasmoid is not aware of multiple screens https://github.com/psifidotos/workflow-project/issues/16 (this is something for the far future to implement)...

psifidotos commented 11 years ago

please test the tempsync branch for this issue. I have uploaded a fix in order to use only the default containment for the activity wallpaper and the wallpaper from second screens...

I have investigated the "each virtual desktop to display a separate widget set" case. That is enormous... :) KDE's capabilities are enormous with the new structure... :) A user can have different widgets and wallpaper in each desktop in each activity. Example: 3 Activities with 3 desktops... The user can have 9 different configurations... :)

The question is do we support that use case? We can but what do you think, we must?

If answer is yes then except the backgrounds some UI designs must be thought.... e.g. the Add Widgets Button which is at the activity's name has no meaning there any more... it must be moved to the workareas somehow in that case.... :) any more ideas.... ?

mdaffin commented 11 years ago

How important is the add widget button?

To be honest I cannot think of a use case where it is needed in this widget.

When I want to add a widget is would switch to the activity first then add the widget through the desktop as it is not something that I do often.

I think most people will tend to set up their widgets on a screen all at once and then not touch them very often. Changing widget's is not normally part of people's work flow after they have set up the widgets they want. Also, if I ever do want to change widgets I am almost always on the activity already as I tend to think "I could use this widget now" rather then "oo, that widget will look great on that activity.

I would propose removing the option to simplify the widget's layout. Unless there is an actual need to add widgets from the widget. On 29 Jan 2013 14:18, "Michail Vourlakos" notifications@github.com wrote:

please test the tempsync branch for this issue. I have uploaded a fix in order to use only the default containment for the activity wallpaper and the wallpaper from second screens...

I have investigated the "each virtual desktop to display a separate widget set" case. That is enormous... :) KDE's capabilities are enormous with the new structure... :) A user can have different widgets and wallpaper in each desktop in each activity. Example: 3 Activities with 3 desktops... The user can have 9 different configurations... :)

The question is do we support that use case? We can but what do you think, we must?

If answer is yes then except the backgrounds some UI designs must be thought.... e.g. the Add Widgets Button which is at the activity's name has no meaning there any more... it must be moved to the workareas somehow in that case.... :) any more ideas.... ?

— Reply to this email directly or view it on GitHubhttps://github.com/psifidotos/workflow-project/issues/62#issuecomment-12836304.

psifidotos commented 11 years ago

I dont know Michael, it was an obvious choice when the UI was designed.... One use case could be, when adding a new activity, to easily add widgets... If there was a constant user base we could make a survey.....

I will think it, I am not negative as by removing this choice all the hacks will be removed from the code base...

mdaffin commented 11 years ago

That use case might be catered for by switching to the activity when it is created. On 29 Jan 2013 15:41, "Michail Vourlakos" notifications@github.com wrote:

I dont know Michael, it was an obvious choice when the UI was designed.... One use case could be, when adding a new activity, to easily add widgets... If there was a constant user base we could make a survey.....

I will think it, I am not negative as by removing this choice all the hacks will be removed from the code base...

— Reply to this email directly or view it on GitHubhttps://github.com/psifidotos/workflow-project/issues/62#issuecomment-12840526.

bmihaila commented 11 years ago

When I want to add a widget is would switch to the activity first then add the widget through the desktop

I second that, so if having the "add widgets" function makes things more difficult then remove it. Actually until now I did not even know one can do that from the plasmoid.

Concerning the other posts. I have the same widgets on all desktops of an activity and thus the same wallpaper. My issue was that it does not show different wallpapers for the activities but the default one for all activities. It might be related as you wrote with the second screen issue, as I use a second screen once in a while. To make things even worse I have an automatically changing wallpaper every hour ;) (slideshow setting) so does your current implementation catch that?

please test the tempsync branch for this issue.

Didn't know that this is worked on in a different branch but will give it a try when I have some more time.

psifidotos commented 11 years ago

Óôéò 29/01/2013 07:16 ìì, ï/ç bmihaila Ýãñáøå:

When I want to add a widget is would switch to the activity first
then add the widget through the desktop

I second that, so if having the "add widgets" function makes things more difficult then remove it. Actually until now I did not even know one can do that from the plasmoid.

Ok, I will think it... :)

Concerning the other posts. I have the same widgets on all desktops of an activity and thus the same wallpaper. My issue was that it does not show different wallpapers for the activities but the default one for all activities. It might be related as you wrote with the second screen issue, as I use a second screen once in a while. To make things even worse I have an automatically changing wallpaper every hour ;) (slideshow setting) so does your current implementation catch that?

please test the tempsync branch for this issue.

Didn't know that this is worked on in a different branch but will give it a try when I get some more time.

Actually this configuration is not supported... Wallpapers are supported only for single image plugin. There is a possibility that if you try the new version in tempsync you will not see any wallpaper at all (only some plasmoid's default one which are used in order to show that no wallpaper was found) The wallpaper you see in your computer is the wallpaper used in your second screen. Your first screen wallpapers can not be found with the current implementation... Lets hope that the wallpapers data engine from kde will be available near in the future....

rodrigoesborges commented 11 years ago

As for static wallpapers it seems plasmoid-appletsrc structure is pretty straightforward IF you can beforehand have mapped the containment iDs of each workarea / virtual desktop .... would the "lastDesktop" variable help for that?

I have got from development version different wallpapers per activity, but all the same for different virtual desktops as for now...

psifidotos commented 11 years ago

This is a case that has not been triggered for fix. We all agree that wallpapers are supported only for single image plugin and nothing else.Except from that we wait from officially the KDE to support a data engine that provides the wallpapers for all Containments. (that can take years)

With the current structure the problem is that when the user has chosen different widgets in each VD, so different wallpapers per VD our data engine provides the first wallpaper that finds for that activity.


The question here is: Do we support the following case?: different widgets in each VD with multiple backgrounds? or we must first examine the case of multiple screens which is also not supported yet? (The above are big features and can delay of course a lot the development but on the other hand if our user base uses the above features a lot then that step must be made...)

What is your opinion? Should the next release be delayed for some or all of the above features?

psifidotos commented 11 years ago

About the lastDesktop variable is not of any use I think. The game here is around the desktop= and screen= variable and all the cases must be researched about their behavior in order to find the default screen etc...

bmihaila commented 11 years ago

What is your opinion? Should the next release be delayed for some or all of the above features?

No, this seems like a bigger issue that might take some time. There are now enough great new features+bugfixes to justify a next release so just get it going. The wallpapers can then be improved in upcoming release(s).

psifidotos commented 11 years ago

I think the same...

On Thu, Feb 14, 2013 at 2:46 AM, Bogdan Mihaila notifications@github.comwrote:

What is your opinion? Should the next release be delayed for some or all of the above features?

No, this seems like a bigger issue that might take some time. There are now enough great new features+bugfixes to justify a next release so just get it going. The wallpapers can then be improved in upcoming release(s).

— Reply to this email directly or view it on GitHubhttps://github.com/psifidotos/workflow-project/issues/62#issuecomment-13527424.

rodrigoesborges commented 11 years ago

I agree with latest comments from bmihaila and psifidotos

psifidotos commented 11 years ago

After so many delays because of unexpected obstacles during the development (create a dbus interface, implement the kwin script and so many bugs unnoticed...:))

I think that I will make an attempt for this...

psifidotos commented 11 years ago

differentwidgetsperview

Well almost ready... :)

psifidotos commented 11 years ago

This is ready... :)

PLEASE, if someone has installed the development branch after 0.3.0 release then check out that the file:

/usr/share/dbus-1/services/workareamanagerd.service

does not exist... If so, delete it....

bmihaila commented 11 years ago

Hi, just tried the current devel version and I still have some issues with wallpapers.

psifidotos commented 11 years ago

Στις 19/03/2013 11:49 πμ, ο/η Bogdan Mihaila έγραψε:

Hi, just tried the current devel version and I still have some issues with wallpapers.

  • It only picks up the wallpapers of my first activity not the other ones. Or better put it picks up the wallpapers of some activity and misses out the other ones but there it displays the default wallpaper. Enabling and pausing some activities seems to change "the one" for which wallpapers are shown.

I can only understand what is happening by taking a glimpse to your plasma-desktop-appletrc There is a chance that you are using two screens, in that case I dont know how it behaves....

  • It updates the wallpapers only after some "switch activity" actions are performed but not on plasmoid load.

It can not be done otherwise... :) it is being triggered on activitychanged or desktopchanged. For the onload case it should work, I must take a glimpse to your plasma-desktop-appletrc

  • It only works when using the image wallpaper plugin but not if I use the wallpapers slideshow. Not sure if the latter is not supported anyway

Wallpapers slideshow is not supported at all, actually anything else except single image can create some of the previous issues.... Wallpapers support except the single image one I dont believe it can be supported....

psifidotos commented 11 years ago

bmihaila, you could also upload some screenshots from the wallpapers issue and explain me what is happening... but uploading your plasma-desktop-appletrc for e.g. in the pastebin could give understand what is happening...

bmihaila commented 11 years ago

Hi, so here a screenshot:

dektop-snapshot1 You can see that the only right backgrounds shown are the ones for the multimedia activity. Currently the shown desktop is in the writing activity but the wallpaper is different as you can see. I uploaded my plasma-desktop-appletrc here http://pastebin.com/JBzecpT3 so you can have a look at it. Seems there is lots of old stuff in there ;) maybe I should try it out with a new user.

I am using sometimes two screens but at the moment not and it still has the problem.

psifidotos commented 11 years ago

Well this was definitely because you used a second screen (when you plug in a screen, plasma automaticaly creates these records for activities and doesnt remove them when you unplug it - only when you delete the activity). Try the development branch, I uploaded a fix that takes into account only first screen records for the plasmoid. You may need to do not only a relogin but a restart in order for the workareamanagerd service to be restored or you can close it and start it again after installation by your own with just workareamanagerd command.

BTW. 1) Your file is not complete in pastebin, it stops around line 500, if this fix doesnt improve the situation then I must see somehow your complete plasma-desktop-appletsrc file

2) You are not using different widgets per Virtual Desktop choice. Is that bug with wallpapers bothering you from previous versions?

bmihaila commented 11 years ago

Hi You seem to be again too fast to fix things ;) that I cannot even catch up to try them. Will try it asap if it works and report.

1) Your file is not complete in pastebin, it stops around line 500, if this fix doesnt improve the situation then I must see somehow your complete plasma-desktop-appletsrc file

Well, I removed stuff from there that would be unnecessary for this bug by editing the file ... usernames and other stuff do not need to be made public ;) Why? Did you miss something? And how do you see if there is a second screen been used? Cannot really read this file so well ....

2) You are not using different widgets per Virtual Desktop choice. Is that bug with wallpapers bothering you from previous versions?

I never needed the feature and I wanted to have the same widgets anyway on all desktops in one activity so I never activated it. Should that matter?

psifidotos commented 11 years ago

Στις 20/03/2013 11:10 μμ, ο/η Bogdan Mihaila έγραψε:

Hi You seem to be again too fast to fix things ;) that I cannot even catch up to try them. Will try it asap if it works and report.

1) Your file is not complete in pastebin, it stops around line
500, if this fix doesnt improve the situation then I must see
somehow your complete plasma-desktop-appletsrc file

Well, I removed stuff from there that would be unnecessary for this bug by editing the file ... usernames and other stuff do not need to be made public ;) Why? Did you miss something? And how do you see if there is a second screen been used? Cannot really read this file so well ....

Well many containments settings are missing, of course I dont want the passwords etc. :) I will give you an example:

[Containments][114] ActionPluginsSource=Global activity=Coding activityId=0f7ceaa4-c968-4412-8ac7-87e3a3caf69c desktop=-1 formfactor=0 geometry=1446,2112,1440,900 immutability=1 lastDesktop=-1 lastScreen=1 location=0 plugin=desktop screen=-1 wallpaperplugin=image wallpaperpluginmode=Slideshow zvalue=0

this is what I want from every containment. You can think the Containment as a Workarea, it is almost the same thing. This record says the following:

"I am Containment with id 114 and I belong to activity Coding which has id 0f7ceaa4-c968-4412-8ac7-87e3a3caf69c, I am desktop -1 (means default or first). My lastDesktop was -1 (again default or first) and my lastScreen was 1 (1 means second we count from 0). I am a desktop Containment and my current screen is -1 (default or first or is not running ????, but this is not accurate at all, plasma uses lastScreen to indicate the containment screen). I use as a wallpaper plugin the image one with Slideshow" (but I now I noticed it that this should be single image :) ) for all your running activities you must set single images otherwise no right wallpaper is going to be shown :)"

Everything set afterwards etc. [Containments][114][......][......] means that that these belong to this Containment

Each activity can have different Containments: for example if you have two screens one Containment for your first screen one for the second

If someone sets Different Widgets per Virtual Desktop then each Virtual Desktop will have a different Containment settings including the wallpaper... :)


Plasma is a fantastic technology, it came to me only recently that all the technology for Workareas exists alsmost already but it is hidden to the simple user under the term Containment... :) I have proposed to keep the word Containment for the programmers etc but use the term Workarea for the simple user but I dont know if there will be acceptance... :)

2) You are not using different widgets per Virtual Desktop choice.
Is that bug with wallpapers bothering you from previous versions?

I never needed the feature and I wanted to have the same widgets anyway on all desktops in one activity so I never activated it. Should that matter?

No it doesnt matter at all...

bmihaila commented 11 years ago

Hi and thx for the explanation although I have to admit that the terminology in KDE is a bit confusing and imprecise when it comes to all this stuff, I mean there are containments, screens, desktops, activities and lots more ;) and they somehow overlap in their meaning ... but anyway.

I tried your fix and it works :) Now the wallpapers are picked up and displayed correctly. One tiny issue though. When changing the wallpaper for a desktop/activity I have to switch to another activity and back for at least 3 times to have the plasmoid update the wallpaper. I got that the notification and such needs to switch activities but why 3 times and not on first time? Can you try to see how fast the plasmoid picks up the changed wallpaper on your system?

psifidotos commented 11 years ago

One tiny issue though. When changing the wallpaper for a desktop/activity I have to switch to another activity and > back for at least 3 times to have the plasmoid update the wallpaper. I got that the notification and such needs to switch activities but why 3 times and not on first time?

Well this is a problem I can not do something.... :) This will be fixed only by #10 , well what happens is that when the user changes the background settings these settings are not stored immediately in the plasma-desktop-appletsrc but in computer's memory. Plasma saves these settings in the corresponding file after some time based on its own criteria.