Recently used
Автоматическое добавление файлов в список недавних. Это актуально для быстрого доступа к скриншотам (например для публикации).
Добавление осуществляется при помощи вот этого скрипта. Для автоматического добавления используется инструмента lsyncd, который мониторит указанную директорию (в частности $HOME/Pictures) и при обнаружении нового файла добавляет в список недавних.
Конфигурация lsyncd:
convert = {
delay = 0,
maxProcesses = 1,
action = function(inlet)
local event = inlet.getEvent()
if event.isdir then
-- ignores events on dirs
inlet.discardEvent(event)
return
end
local path = "\""..event.sourcePath.."\""
if event.etype == "Create" then
local cmd = "recently_used".." "..path
log("Normal", "Add recently "..path)
spawnShell(event, cmd)
return
end
-- ignores other events.
inlet.discardEvent(event)
end,
}
sync{convert, source="/home/dvetutnev/Pictures"}
Запускаем lsyncd при помощи пользовательского юнита systemd:
[Install]
WantedBy=default.target
[Service]
ExecStart=/home/dvetutnev/.nix-profile/bin/lsyncd -nodaemon /home/dvetutnev/.recently_used/pictures.lua
LockPersonality=true
MemoryDenyWriteExecute=true
NoNewPrivileges=true
PrivateUsers=true
Restart=on-failure
RestartForceExitStatus=3
RestartForceExitStatus=4
RestrictNamespaces=true
SuccessExitStatus=3
SuccessExitStatus=4
SystemCallArchitectures=native
SystemCallFilter=@system-service
[Unit]
After=graphical.target
Description=Add screenshot to recently used
У меня lsyncd установлен при помощи пакетного менеджера, поэтому у него такой странный путь.
Локальная установка (добавляем симлинки на скрипт и юнит):
$ ln -s $HOME/.recently_used/recently_used.py ~/.local/bin/recently_used
$ ln -s $HOME/.recently_used/recently_used.service ~/.config/systemd/user/recently_used.service
И запускаем сервис:
$ systemctl --user daemon-reload
$ systemctl --user enable recently_used.service
$ systemctl --user start recently_used.service