Есть ли способ добавить изображение в качестве заметки на мой Unity Desktop?

5

Пожалуйста, предложите мне использовать любое изображение как многозначную заметку, чтобы я мог просматривать ее всякий раз, когда открываю свой Unity Desktop.

Я хочу, чтобы он использовался как приложение для виджетов фотошоп , доступное на Android . Так что даже после перезагрузки моей системы изображение остается там, где оно было расположено раньше, точно так же, как липкая заметка .

То, что я хочу, изображено на рисунке ниже:

В приведенном выше изображении я поместил изображение на свой Рабочий стол и изменил размер значка изображения до его максимального размера, однако это не решает мою проблему как:

  • Я не могу увеличить изображение дальше, так как это максимальный размер для изменения размеров значков.

  • Когда я наводил курсор на значок, изображение становится подсвеченным, что происходит в случае значков, которые я не хочу

  • Даже при максимальном размере значка качество изображения становится очень низким по мере искажения изображения.

Я хочу, чтобы изображение было легко изменено и переделано без каких-либо недостатков, упомянутых выше.

Надеюсь, теперь я ясно понимаю свой вопрос. Если все еще есть проблема в понимании того, что я хочу, сообщите мне.

(Ubuntu 16.04)

    
задан Kewal Shah 25.10.2017 в 16:09
источник

1 ответ

5

Отображение изображения на рабочем столе

Windows может быть разных типов. У нас есть не только «нормальные» окна, но и окна (в нашем случае) типа «DESKTOP».

Windows типа «DESKTOP» остается ниже каждого; даже все элементы на вашем рабочем столе появляются над ними. Поэтому отображение изображения в окне приводит к следующему:

... где образное изображение, закрепленное на рабочем столе, на самом деле является окном (точно так же, как часы рабочего стола в изображении btw).

Код

#!/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()

Как использовать

  1. Скопируйте сценарий в пустой файл, сохраните его как showportrait.py
  2. Протестируйте его с изображением, положением x, y-положением, шириной и высотой в качестве аргументов:

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

    , например:

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

    Изображение должно отображаться на вашем рабочем столе.

  3. Если все работает нормально, добавьте команду в Запуск приложений.

Закрытие окна

Легче всего выполнить команду:

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

Примечание

Установка ширины / высоты, сценарий будет масштабировать изображение до тех пор, пока не будет достигнуто первое , сохранив пропорции изображения.

    
ответ дан Jacob Vlijm 28.10.2017 в 12:02
источник