Wallpaper only changes on 1 screen under Enlightenment

Bug #1391042 reported by Simotek on 2014-11-10
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Variety
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.

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

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.

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

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.

Simotek (simotek) wrote :

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

Changed in variety:
assignee: nobody → Peter Levi (peterlevi)
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?

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?

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) on 2014-12-07
Changed in variety:
status: New → Incomplete
status: Incomplete → In Progress
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
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

Peter Levi (peterlevi) wrote :

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

Peter Levi (peterlevi) on 2015-01-09
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  Edit
Everyone can see this information.

Other bug subscribers