web-dev-qa-db-fra.com

Papier peint dans chaque espace de travail et problème de clic droit

Je veux définir 4 fonds d'écran différents dans mes 4 espaces de travail en définissant dans CCMS (plugin fond d'écran). Cela ne fonctionne que si show_desktop (gconf-editor-> apps/nautilus/preference) n'est pas coché. Mais après cela, je ne peux plus faire de clic droit sur mon bureau. Est-il possible de faire fonctionner le plugin de fond d'écran sans "désactiver" mon bureau?

5
quangtruong1985

Non.

Et pour permettre d'enregistrer ma réponse ("non" est un peu court) c'est une solution de contournement possible qui modifie vos actions pour ouvrir un fichier sur le bureau de 1 déplacement avec la souris et 1 clic sur une icône à 2 clics sur les icônes et 1 mouvement de souris:

Vous devez utiliser Lieux> Bureau pour accéder aux icônes de votre bureau. Vous pouvez donc ajouter une option pour afficher le bureau à partir du lanceur. Cliquez avec le bouton droit de la souris sur le bureau (sans fond d'écran Compiz actif;)) et choisissez "Ajouter un lanceur". Voir l'image ...

enter image description here

(commande nautilus "/home/your_username/Desktop")

Ajoutez une icône, déplacez ce lanceur du bureau vers ~/.local/share/applications et épinglez-le au lanceur.

enter image description here

3
Rinzwind

je ne sais pas si cela aide ou pas, mais je voulais faire la même chose. j'ai 3 moniteurs différents (fonctionnant via xinerama), et je veux un arrière-plan différent sur chacun. je veux aussi qu'il tourne de temps en temps.

le problème est que beaucoup de logiciels ont besoin de randr pour fonctionner. mais nous pouvons contourner cela. je n'ai jamais rien pu faire fonctionner correctement en ce qui concerne les fonds d'écran.

j'ai donc écrit un script bash simple qui gère tout cela pour moi. en gros, j'ai un dossier d'images que je veux utiliser pour chaque fond. puis j'utilise imagemagick pour assembler 3 photos à partir de ce répertoire, puis je peux afficher cette nouvelle photo unique en tant que photo fractionnée sur le bureau. c'est donc vraiment un fichier png réel, mais il apparaît car chaque bureau a son propre arrière-plan. la partie imagemagick ne frappe pas durement votre système. mais pour une raison quelconque, l'appel à gsettings ralentira votre boîte pendant environ 10 secondes.

méfiez-vous que ce script pourrait vraiment être renforcé. il ne vérifie pas que les fichiers sont des images correctes (jpgs, pngs ...), et fait beaucoup d'hypothèses.

voici le script que j'utilise:

#this is the directory that holds all of the pics you want to show
PIC_DIR=/home/myuser/Pictures/desktop

# We want indexes 1 and over
FLOOR=0

#We don't want to exceed the number of pics we have (upper bound)
RANGE=$(ls $PIC_DIR | wc -l)

#Initialize this
file_number=0

#Function to generate a random number using our bounds
function generate_random_number()
{
    file_number=0
    while [ "$file_number" -le $FLOOR ]
    do
        file_number=$RANDOM
        let "file_number %= $RANGE"
    done
}

# so we get a number that will represent the picture we want to use.
# We get the size of the directory, and generate a random number
# between 0 and that size.  Then, we get the file that
# corresponds to that number.
generate_random_number

# We have to add a 'p' to the file number to get it to
# work with sed, so we add it here
file_number=${file_number}"p"

#get the file name based upon the file number
FILENAME1=$(ls $PIC_DIR | sed -n "$file_number")

#Do it all over again for the second pic
generate_random_number
file_number=${file_number}"p"
FILENAME2=$(ls $PIC_DIR | sed -n "$file_number")

#Do it all over again for the third pic
generate_random_number
file_number=${file_number}"p"
FILENAME3=$(ls $PIC_DIR | sed -n "$file_number")

# Here is where we will stitch the pics together. 
# My monitors are turned vertically, so their resolution is
# 1050x1680.  We will always reuse the same name for the 
# output file, so that we aren't creating hundreds of files.
${montage -geometry 1050x1680+0+0 ${PIC_DIR}/${FILENAME1} ${PIC_DIR}/${FILENAME2} ${PIC_DIR}/${FILENAME3} ${PIC_DIR}/out.png

# Set the wallpaper.  
$(/usr/bin/gsettings set set org.gnome.desktop.background picture-uri file:///${PIC_DIR}/out.png >> /dev/null)

# Set the image to span
$(/usr/bin/gsettings set org.gnome.desktop.background picture-options "spanned" >> /dev/null)

vous pouvez donc l'appeler uniquement via la ligne de commande, ou vous pouvez le configurer pour être appelé via cron. dans ce cas, utilisez "crontab -e" pour ouvrir votre cron. cela doit cependant être appelé d'une manière spéciale. dites que vous voulez que votre expérience change une fois par heure, vous devez faire ceci:

0 * * * * DISPLAY=:0.0 /home/myuser/path/to/my/script >> /dev/null

la clé est de s'assurer d'inclure la remarque DISPLAY.

la beauté de cela est qu'il fonctionne dans gnome2 ou compiz, et est vraiment facile à faire. Je ne sais pas pourquoi le processus xorg prend un tel coup lorsque vous appelez la commande gsettings, mais il le fait, et il retardera votre système pendant environ 10 secondes. mais cela peut être utilisé sur à peu près n'importe quel système basé sur gnome.

0
jasonmclose