Wallpaper only changes on 1 screen under Enlightenment

Bug #1391042 reported by Simotek
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Variety
Fix Released
Undecided
Peter Levi

Bug Description

In 4.20 (Last entry in the changelog) running with Enlightenment as the DE and on openSUSE 13.1 only the wallpaper on the primary screen gets updated.

Revision history for this message
Simotek (simotek) wrote :

The problem is zone is always / only set to 0, atm enlightenment_remote doesn't provide a list of zones but i'll try and add that then add the fix

Revision history for this message
Peter Levi (peterlevi) wrote :

Basically I'm not at all familiar with Enlightenment, I don't use it myself, and the original code to support it was proposed by someone else and I quickly tested it and merged it in. So basically with Enlightenment, I'm relying on user submissions to keep it supported. So, please go ahead and give it a try.

Revision history for this message
Simotek (simotek) wrote :

Cheers for merging the code,

A work around for me is to modify ~/.config/variety/scripts/set_wallpaper to add
            enlightenment_remote -desktop-bg-add 0 1 "$x" "$y" "$OFILE.edj";
after
            enlightenment_remote -desktop-bg-add 0 1 "$x" "$y" "$OFILE.edj";

This fixes it for exactly 2 monitors, the completely correct fix would be to add a command to enlightenment_remote to get the number of zones, or maybe slightly easier use xrandr or some other command line tool to get the number of screens. I might look at both as the enlightenment_remote option won't be added to already released enlightenment

Revision history for this message
Simotek (simotek) wrote :

Fix is in https://code.launchpad.net/~simotek/+junk/MultiScreenSupport uses xrandr to get the screen count if its avalible then sets the wallpaper on all screens rather then just the first. Also a second unrelated second commit to background calls to enlightenment remote so all virtual desktop wallpappers change at the same time.

Revision history for this message
Simotek (simotek) wrote :

Assigned back to you Peter you should just need to apply my branch

Changed in variety:
assignee: nobody → Peter Levi (peterlevi)
Revision history for this message
Peter Levi (peterlevi) wrote :

Thanks, Simotek, I'll take a look and merge in the changes as soon as possible. To confirm - this is tested and works both on single and multi-monitor Enlightentment configurations, right?

Revision history for this message
Peter Levi (peterlevi) wrote :

Also, there aren't any new dependencies apart from xrandr and code will work even if xrandr is not present for whatever reason, right?

Revision history for this message
Simotek (simotek) wrote :

Yes i have tested it here on my laptop with 1 monitor and my work PC with 2. Thats correct xrandr is a optional dependency without xrandr it will continue to only work only on the first monitor if xrandr is not present.

Peter Levi (peterlevi)
Changed in variety:
status: New → Incomplete
status: Incomplete → In Progress
Revision history for this message
Peter Levi (peterlevi) wrote :

Hm. I wonder about the "sleep 30" call you added. What happens with it if you try to change the wallpaper several times quickly one after another?

    # Remove all Variety wallpapers, but the current one
    # Delay cleanup to wait for all changes otherwise you see artifacts
    sleep 30

I suspect the artifacts are caused because of some transition from the old to the new wallpaper? Can't the delay be small, e.g. 2 seconds, instead of 30?

Probably a better way to do this is to exclude both the old and new wallpaper from the deletion instead of putting a delay here.

Changed in variety:
status: In Progress → Fix Committed
Revision history for this message
Simotek (simotek) wrote :

Thanks for the pointers, and sorry about the delay, I have tried and tested another approach which seems pretty bullet proof when running variety -n& multiple times. I now store the set wallpaper in a config file, currently "$HOME/.config/variety/.enlightenment_last_wallpaper.txt" and then i remove all the files but the currently set wallpaper and the last set wallpaper.

I have given this code a good test. I am also happy to change the config file to whatever you would like.

Cheers

Revision history for this message
Peter Levi (peterlevi) wrote :

Thanks for the update, I merged and committed the changes.

Peter Levi (peterlevi)
Changed in variety:
milestone: none → 0.5.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers