Есть в тайлинге i3wm такой формат. Прописываешь в конфиге строчку:
Код: Выделить всё
for_window [class="Stardict"] floating enable
и приложение будет открываться всегда в плавающем окне. Возникла необходимость в скрипте, чтобы чтение локальных html документов открывались в текстовом браузере w3m в плавающем окне именно в конкретной ситуации. Я написала desktop файл.
Код: Выделить всё
cat ~/.local/share/applications/w3m.desktop
[Desktop Entry]
Type=Application
Name=w3m
Comment=w3m text browser
Terminal=false
Exec=gnome-terminal --window --role=w3m -q -- w3m %u
Categories=Command line
Почему так? Если установить Terminal=true, а в Exec оставить только браузер, то в i3-dmenu-desktop запускается отлично и через xgd-open тоже. Но в программе нет и возможно это к лучшему потому что я нашла довольно удобный способ назначить окну запуска программы роль. Следует отметить что опция --class в гномовском терминале не изменяет класс окна оконного менеджера.
Установим утилиту xprop, чтобы определять свойства окна. Нетрудно установить что при запуске терминала класс окна остается дефолтным:
Код: Выделить всё
gnome-terminal --class=W3m
xprop | grep -i 'class'
WM_CLASS(STRING) = "gnome-terminal-server", "Gnome-terminal"
Последнее определение мы обычно и используем в конфиге i3. Дефолтная роль при этом значение не постоянное. Запускаем теперь с опцией роли:
Код: Выделить всё
gnome-terminal --role=w3m
xprop | grep -i 'role'
WM_WINDOW_ROLE(STRING) = "w3m"
Остается только добавить строчку в конфиг i3:
Код: Выделить всё
for_window [window_role="w3m"] floating enable
Ну и конечно ни кто не запрещает сузить выборку, хотя это кажется уже избыточным:
Код: Выделить всё
for_window [class="Gnome-terminal" window_role="w3m"] floating enable
Привожу, чтобы иметь представление о возможности если что.
Ну последнее чтобы через xdg-open открывалось так как нужно, пишу в файл (у него наивысший приоритет в сравнении с /usr/share/applications, ну и просто не стала разбираться с xdg-mime set):
Код: Выделить всё
cat ~/.local/share/applications/mimeapps.list
[Default Applications]
text/html=w3m.desktop
Теперь если открыть в терминале локальный файл html то получим его в браузере w3m в плавающем окне.
floating_w3m.png
Ну и в моей программе работает так как нужно, но это уже дело третье.
У вас нет необходимых прав для просмотра вложений в этом сообщении.