idesk

В «самосборных» рабочих средах на основе лёгких менеджеров окон, зачастую отсутствуют встроенные возможности размещать и настраивать как обои рабочего стола, так и иконки на рабочем столе. Если забыть о том, что иконки на рабочем столе не нужны :), и вспомнить, что, несмотря на это, очень многие люди их используют, то несложно найти выход из ситуации и предоставить такую возможность тем, кому она нужна.

Использование двух файловых менеджеров, имеющих функцию управления рабочим столом (pcmanfm и nauilus) я упоминала в предыдущем посте. Но есть и отдельные софтины, в частности IDesk, довольно старая, но весьма популярная программа для размещения иконок на рабочем столе. Кроме того, она и обои позволяет установить.

Официальный сайт программы idesk.sourceforge.net на данный момент был недоступен, но, думаю, не только в ubuntu и archlinux этот пакет есть в стандартных репозиториях.
После установки, возможно, придётся скопировать конфигурационный файл в домашнюю директорию. Например, у меня так:

cp /usr/share/idesk/dot.ideskrc ~/.ideskrc

Правда, настройки по-умолчанию довольно страшненькие, к тому же иконки нужно будет ещё прописать отдельно, так что пока с запуском программы можно не торопиться.
А вот для иконок нужно вручную создать папку ~/.idesktop/ и туда размещать файлы — для каждого значка запуска свой файл, «болванку» которого тоже можно скопировать:

cp /usr/share/idesk/default.lnk ~/.idesktop/example.lnk

Подробно содержание этих файлов описано в файле /usr/share/idesk/README, хотя в других дистрибутивах может быть как-то иначе. Как вариант, насоздавать сначала нужные значки запуска, а затем уже ковырять общие настройки.
Например, мой файл значка запуска для браузера:

table Icon
Caption: firefox
Command: firefox
Icon: /home/opossum/.idesktop/firefox.png
Width: 48
Height: 48
X: 1139
Y: 353
end

В общем-то тут всё просто:

  • Caption — текст под значком (можно оставить пустым, чтобы значок был без надписи)
  • Command — команда, запускающая нужную программу
  • Icon — путь к иконке (в данном случае, иконка находится в той же папке, но это необязательно)
  • Width, Height — ширина и высота иконки
  • X, Y — координаты значка на рабочем столе (необязательно прописывать их вручную — можно просто оставить значения по-умолчанию, а потом перетащить иконки курсором)

В README упоминается ещё строка CaptionTip — для текста внутри всплывающей подсказки (при наведении курсора на иконку), но у меня это почему-то не работает: подсказка дублирует название.

Конфигурационный файл больше. Я приведу тут уже свой пример (соответствующий скриншоту):

table Config
FontName: droid
FontSize: 10
FontColor: #000000
ToolTip.FontSize: 9
ToolTip.FontName: droid
ToolTip.ForeColor: #ffffff
ToolTip.BackColor: #444444
ToolTip.CaptionOnHover: false
ToolTip.CaptionPlacement: Right
Locked: false
Transparency: 100
Shadow: false
ShadowColor: #ffffff
ShadowX: 1
ShadowY: 1
Bold: false
ClickDelay: 300
IconSnap: true
SnapWidth: 50
SnapHeight: 50
SnapOrigin: BottomRight
SnapShadow: true
SnapShadowTrans: 200
CaptionOnHover: true
CaptionPlacement: bottom
FillStyle: fillinvert
Background.Delay: 0
Background.Source: /home/opossum/Pictures/
Background.File: /home/opossum/Pictures/0_3a64c_dedd5824_orig.jpeg
Background.Mode: Scale
Background.Color: #343434
CursorOver: arrow
end

table Actions
Lock: control right doubleClk
Reload: middle doubleClk
Drag: left hold
EndDrag: left singleClk
Execute[0]: left doubleClk
Execute[1]: right doubleClk
end

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

  • Сначала идёт описание шрифта надписи и тут достаточно всё просто: FontName — название шрифта, FontSize — размер шрифта, FontColor — цвет шрифта.
  • Следующие 6 строк описывают всплывающую надпись, возникающую при наведении курсора на иконку. Не совсем понятно, зачем это вообще нужно, так как создать тултип, отличный от надписи возле иконки, вроде бы невозможно. Ну там в общем-то тоже всё просто: размер, название и цвет шрифта, цвет фона всплывающей подсказки, будет ли она вообще показываться и её расположение относительно иконки (Right, Left, Bottom, Top).
  • Строчка Locked может принимать два значения (true или false) и задаёт, зафиксированы ли иконки, чтобы нельзя было их случайно перетащить после окончательной настройки.
  • Transparency — прозрачность иконок — можно устанавливать от 0 (непрозрачные полностью) до 255 (совсем невидимые).
  • Затем, строки начинающиеся с Shadow — определяют свойства тени шрифта надписи: будет ли она вообще, её цвет и её отклонения по осям относительно самих букв.
  • Bold — жирность шрифта надписи.
  • ClickDelay — количество миллисекунд между двумя нажатиями в двойном клике.
  • Далее идёт несколько строк, отвечающих за «решётку», по которой могут быть расположены иконки. IconSnap — есть ли решётка вообще, расстояния между её узлами по вертикали и горизонтали (в пикселях), SnapOrigin — угол «начала» решётки (возможные значения TopLeft, TopRight, BottomLeft и BottomRight). SnapShadow — это «тень» иконки, которая будет возникать в ближайшем узле решётки при перетаскивании значка, а SnapShadowTrans — прозрачность этой тени.
  • CaptionPlacement — положение надписи иконки (Top, Bottom, Left, Right), а следующая настройка CaptionOnHover используется, чтобы показывать эту надпись только при наведении мыши на значок.
  • FillInvert описывает, как выглядит иконка, пока на ней зажата клавиша мыши. По-умолчанию имеет значение fillinvert, при котором все цвета значка меняются на противоположные. Вот только непонятно, какие значения ещё возможны.

Последние строки относятся к настройкам обоев рабочего стола.

  • Background.Delay — время (в минутах), через которое обои меняются (да, программа может менять обои, произвольно выбирая их из заданной папки). При значении 0 картинка остаётся одна и та же, максимальное значение — 525600 (год).
  • Background.Source — путь к папке с обоями, которые будут произвольно меняться (если папки нет или в ней нет картинок, то будет использовано следующее значение).
  • Background.File — путь к файлу картинки, используемой для обоев (в случае если не задано время смены обоев или картинок в указанной папке не найдено).
  • Background.Mode — тип расположения картинки. Возможные значения: Stretch — замостить, Scale — растянуть, Center — поместить в центр, Fit — растягивать по большему размеру и Mirror — замостить с отзеркаливанием.
  • Background.Color — очевидно, цвет фона рабочего стола (виден, если картинка не заполняет стол полностью).
  • И ещё строчка CursorOver (её почему-то не было в образце) — задаёт вид курсора во время его зависания над иконкой. Список значений довольно большой и там есть забавные варианты, но я не буду приводить его тут (у меня он был в файле README), но значение arrow у меня даёт курсор из текущей темы, только отзеркаленный.

Раздел Actions в конце файла позволяет назначить клавиши для 5 (и даже больше) различных действий:

  • Lock — закрепить иконки, чтобы нельзя было их случайно переместить
  • Reload — обновить (после изменения настроек, чтобы они вступили в силу или просто для смены обоев)
  • Drag — включить режим перемещения
  • EndDrag — выключить режим перемещения
  • Execute[0] — выполнить команду, вписанную как дефолтную в файле конфигурации значка
  • Execute[1] — выполнить команду, вписанную в аналогичной строке в файле конфигурации значка

Соответственно команд может быть и ещё больше, если это кому-то покажется удобным.
А значения у строк формируются из последовательности клавиша клавиатуры + клавиша мыши + тип клика мыши, которые могут принимать следующие значения:

  • клавиши клавиатуры — shift, control, alt, либо они могут быть не заданы вообще, можно использовать и несколько вместе
  • клавиши мыши
  • left, middle, right (middle — обычно, колёсико) тоже могут быть использованы вместе несколько

  • тип клика
  • singleClk, doubleClk, tripleClk, или hold (то есть простой клик, двойной, тройной либо зажатие и удержание клавиши)

Я оставила дефолтные значения: закрепление по двойному клику правой клавишей, обновление по двойному клику колёсиком, чтобы перенести иконку, нужно зажать её левой клавишей, а затем просто отпустить, выполнение основной команды по двойному клику левой клавишей.
Но можно, например, на какое-нибудь действие назначить левый двойнок щелчок при удержании правой клавиши: left doubleClk right hold. А можно на выполнение назначить обычный клик (Execute[0]: left singleClk), но тогда для перетаскивания лучше назначить дополнительно зажатую клавишу (Drag: alt left hold).
А ну и напоследок, конечно же, не забудьте прописать idesk & в автозапуск, чтобы не запускать после каждой перезагрузки вручную.

Добавить комментарий