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

Если вы используете Google Chrome или Chromium, то есть расширение, чем захват всего экрана, видимая часть страницы или захват выбранной области.

Google Chrome: Awesome Screenshot [!d1 ]

5
задан 30 October 2017 в 09:05

3 ответа

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

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

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

... где изображение росписи, закрепленное на рабочем столе, на самом деле является окном (подобно тому, как часы на рабочем столе в image 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()

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

Скопировать сценарий в пустой файл, сохранить его как showportrait.py Тестирование это изображение, положение 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
Изображение должно отображаться на вашем рабочем столе. Если все работает нормально, добавьте команду в Startup Applications.

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

Проще всего сделано командой:

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

Примечание

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

5
ответ дан 22 May 2018 в 17:08
  • 1
    Удивительно, я просто попробовал свой скрипт на UbuntuStudio, и он работал до сих пор. Небольшое предостережение: как только я щелкнул где-то на рабочем столе, изображение исчезнет, ​​скрипт все еще работает. Но это, вероятно, связано с разным DE. Не нужно улучшать скрипт, если работает на простом Ubuntu, мне было просто любопытно, будет ли это работать и в моей системе, а наперед ... Приятного дня! – mook765 28 October 2017 в 13:53
  • 2
    @ mook765 ах, это интересно и, вероятно, легко фиксируется. У вас установлен wmctrl? Если да, то окно все еще появляется в wmctrl -l? – Jacob Vlijm 28 October 2017 в 13:58
  • 3
    @ mook765 Добавлена ​​одна строка, это имеет значение? – Jacob Vlijm 28 October 2017 в 14:05
  • 4
    @KewalShah, Спасибо, что попробовал экран и описал, как он работает. Будем надеяться, что Джейкоб найдет это интересным и успеет сделать графическую версию своего скрипта python showportrait.py – sudodus 29 October 2017 в 22:15
  • 5
    Классический Джейкоб с Gtk.Window, +1 – Sergiy Kolodyazhnyy 30 October 2017 в 09:11

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

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

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

... где изображение росписи, закрепленное на рабочем столе, на самом деле является окном (подобно тому, как часы на рабочем столе в image 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()

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

Скопировать сценарий в пустой файл, сохранить его как showportrait.py Тестирование это изображение, положение 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 Изображение должно отображаться на вашем рабочем столе. Если все работает нормально, добавьте команду в Startup Applications.

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

Проще всего сделано командой:

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

Примечание

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

5
ответ дан 18 July 2018 в 04:34

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

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

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

... где изображение росписи, закрепленное на рабочем столе, на самом деле является окном (подобно тому, как часы на рабочем столе в image 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()

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

Скопировать сценарий в пустой файл, сохранить его как showportrait.py Тестирование это изображение, положение 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 Изображение должно отображаться на вашем рабочем столе. Если все работает нормально, добавьте команду в Startup Applications.

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

Проще всего сделано командой:

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

Примечание

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

5
ответ дан 24 July 2018 в 18:06

Другие вопросы по тегам:

Похожие вопросы: