web-dev-qa-db-fra.com

Y a-t-il un moyen d'ajouter une image comme post-it à mon ordinateur de bureau?

Suggérez-moi un moyen d’utiliser une image comme un pense-bête redimensionnable afin que je puisse la voir à chaque fois que j’ouvre Monity Desktop.

Je veux qu'il soit utilisé comme une application de widget photo domestique disponible sur Android . Ainsi, même après le redémarrage de mon système, l’image reste à l’emplacement où elle était auparavant, tout comme un pense-bête .

Ce que je veux est décrit dans l'image ci-dessous:

enter image description here

Dans l'image ci-dessus, j'ai placé l'image sur mon bureau et redimensionné l'icône de l'image à sa taille maximale. Toutefois, cela ne résout pas le problème car:

  • Je ne peux plus agrandir l'image car il s'agit de la taille maximale pour le redimensionnement des icônes.

  • Lorsque je survole l’icône, l’image est mise en surbrillance, ce qui arrive dans le cas des icônes, ce que je ne veux pas

  • Même avec la taille maximale de l'icône, la qualité de l'image devient vraiment mauvaise car l'image est déformée.

Je veux que l'image soit facilement redimensionnée et repositionnée sans avoir aucun des inconvénients mentionnés ci-dessus.

J'espère que ma question est claire maintenant. S'il y a toujours un problème pour comprendre ce que je veux, s'il vous plaît faites le moi savoir.

(Ubuntu 16.04)

6
Kewal Shah

Afficher une image sur votre bureau

Windows peut être de différents types. Nous n’avons pas seulement des fenêtres "normales", mais aussi des fenêtres de (dans notre cas) de type "BUREAU".

Les fenêtres de type "BUREAU" restent en dessous de tout; même tous les éléments de votre bureau apparaissent au-dessus d’eux. Par conséquent, l'affichage d'une image dans une fenêtre a pour résultat:

enter image description here

... où l'image sundew, épinglée sur le bureau, est en fait une fenêtre (tout comme l'horloge de bureau dans l'image).

Le code

#!/usr/bin/env python3
import gi
gi.require_version('GdkPixbuf', '2.0')
from gi.repository import GdkPixbuf
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk
import sys

img = sys.argv[1]
xpos = int(sys.argv[2])
ypos = int(sys.argv[3])
w = int(sys.argv[4])
h = int(sys.argv[5])

class ShowPortrait(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="PortraitonMyDesktop")
        self.set_type_hint(Gdk.WindowTypeHint.DESKTOP)
        self.connect("destroy", Gtk.main_quit)
        self.set_skip_taskbar_hint(True)
        pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
            img, w, h, preserve_aspect_ratio=True,
            )
        image = Gtk.Image.new_from_pixbuf(pixbuf)
        self.add(image)
        self.move(xpos, ypos)
        self.show_all()

ShowPortrait()
Gtk.main()

Comment utiliser

  1. Copiez le script dans un fichier vide, enregistrez-le sous le nom showportrait.py
  2. Testez-le avec l'image, la position x, la position y, la largeur et la hauteur sous forme d'arguments:

    python3 /path/to/showportrait.py /path/to/image x y width height
    

    par exemple:

    python3 '/home/jacob/Desktop/showportrait.py' '/home/jacob/Thema/Wallpapers/sundew.jpg' 1000 200 400 400
    

    L'image devrait apparaître sur votre bureau.

  3. Si tout fonctionne correctement, ajoutez la commande à Applications de démarrage.

Fermer la fenêtre

Est le plus facile fait par la commande:

kill "$(pgrep -f showportrait.py)"

Remarque

En définissant la largeur/hauteur, le script redimensionnera l'image jusqu'à ce que soit atteint le premier , en préservant les proportions de l'image.

6
Jacob Vlijm