Change dynamically between span/zoom modes depending on image resolution (Dual monitors)

Bug #1132140 reported by joselsegura
52
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Variety
Triaged
Wishlist
Peter Levi

Bug Description

Hi!

I just compiled Variety 0.4.13 in Debian and, surprisingly for me, it works. Now, I'm having some troubles with my dual screen configuration.

I usually have wallpapers specifically designed for dual screen (yes, they are not easy to found). In Gnome3 I need to put the wallpaper in "Expand" mode to being properly shown.

But, when the image is not specific for dual screen (a 16:9 image, for example), the "Expand" option put the image in the middle of the two monitors, and filling the left and right sides with "background color". Of course, the image is cut in half by the monitor borders.

How can I configure Variety in a way that, when the image doesn't fit the dual screen resolution, to change from "Expand" to another mode like "Scale", that duplicate the image in both monitors?

I upload an attachment with two screenshots of my desktop. One of them (expand_dual.png) has a dual monitor specific wallpaper, and the second a normal wallpaper. Imaging the "discontinuity" in the middle of both images due to the monitors borders.

Further away: in a future, can the dual screen users expect enhancements for having two different images in each monitor (composing two images in one and putting the "Expand" mode.

Thanks and best regards. Your program is awesome, I would like to package it officially for Debian GNU/Linux :-)

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

"How can I configure Variety in a way that, when the image doesn't fit the dual screen resolution, to change from "Expand" to another mode like "Scale""

This is too specific and DE-dependent to be supported out of the box (and also dependent on specific monitor resolutions, placement, etc.). But it can be achieved fairly easy using custom scripting in ~/.config/variety/scripts/set_wallpaper. To get the image size use ImageMagick's identify or some other image tool. To change the display mode - gsettings set org.gnome.desktop.background picture-options span/scale/etc... You'll have to do the wiring work yourself.

"in a future, can the dual screen users expect enhancements for having two different images in each monitor": Sorry, but dual screen support is really not a priority - fairly few users use dual-screen configurations, things in this aspect are often DE-dependent, logic for making the proper image to display is way too complex because of the multitude of variants in which 2,3..n monitors can be arranged and their resolutions, and to top it off I don't have a dual-monitor config which makes development in this aspect practically impossible.

"Thanks and best regards. Your program is awesome, I would like to package it officially for Debian GNU/Linux" - I would be .grateful for this. I don't have the experience and knowledge myself to package Variety for many different distributions, so I've focused on Ubuntu and derivatives and rely on good samaritans to help with the other distros :-)

Revision history for this message
joselsegura (joselsegura) wrote :

Ok, I agree... I didn't think in the possibility of more than 2 monitors or the many different possibilities (left-right, top-bottom, both landscape, one landscape and one portrait...).

I will love to write such this script, I din't know anything about script to change Variety behavior. Do you have any place/repository where to upload this kind of scripts? It will be nice to make a little community around that...

About the Debian package, it will imply to be in the official Ubuntu repos when it's ready, so I will begin the "bureaucracy" around the creation of a new Debian package for Variety.

It will imply changing a lot the files locations, because as it is it won't fit the Debian policies, but I think it is a simple compilation-system configuration change.

Well, I will write you ASAP with news about the packaging, but using private messages instead a bug report :-D

Best regards

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

Some quick info - for Ubuntu I'm building Variety using Quickly (which is available in Ubuntu, but not in Debian I think).
"quickly package --extras" is what I use, as Variety installs in /opt/ for Ubuntu. "quickly package" can be used to build a deb which installs in the ordinary folder locations.

Peter Levi (peterlevi)
summary: - Dual screen misbehavior
+ Change dynamically between span/zoom modes depending on image resolution
+ (Dual monitors)
Changed in variety:
importance: Undecided → Wishlist
assignee: nobody → Peter Levi (peterlevi)
Revision history for this message
Scott (7-launchpad-s13-us) wrote :

Just for example, here is some dirty code for set_wallpaper that spans the wallpaper over all of my monitors (for Unity, at least)

DIM=$(xdpyinfo | grep dimensions | uniq | awk '{print $2}')
WP2=$(dirname ~/.)/.config/variety/wp_sized
convert "$WP" -resize $DIM^ -gravity center -crop $DIM+0+0 "$WP2"
# Gnome 3, Unity
gsettings set org.gnome.desktop.background picture-uri "file://$WP2" 2> /dev/null
gsettings set com.canonical.unity-greeter background "$WP2"
if [ "`gsettings get org.gnome.desktop.background picture-options`" == "'none'" ]; then
# gsettings set org.gnome.desktop.background picture-options 'zoom'
    gsettings set org.gnome.desktop.background picture-options 'span'
fi

James Lu (jlu5)
Changed in variety:
status: New → Triaged
Revision history for this message
David D Lowe (flimm) wrote :

In KDE, it's possible to set different wallpapers on different monitors. You just need to right-click on the desktop background on a monitor to change the desktop background on that particular monitor.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.