Установить порядок не -встроенных приложений в лоток в Icewm

Используя xmllint и опцию--xpath , это очень просто. Вы можете просто сделать это:

XML_FILE=/path/to/file.xml

HOST=$(xmllint --xpath 'string(/config/global/resources/default_setup/connection/host)' $XML_FILE
USERNAME=$(xmllint --xpath 'string(/config/global/resources/default_setup/connection/username)' $XML_FILE
PASSWORD=$(xmllint --xpath 'string(/config/global/resources/default_setup/connection/password)' $XML_FILE 
DBNAME=$(xmllint --xpath 'string(/config/global/resources/default_setup/connection/dbname)' $XML_FILE

Если вам нужно получить атрибут элемента, это также легко сделать с помощью XPath. Представьте, что у вас есть файл:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="screensaver.turnoff"
       name="Turn Off"
       version="0.10.0"
       provider-name="Dag Wieërs">
 ..snip..
</addon>

Необходимые операторы оболочки будут:

VERSION=$(xmllint --xpath 'string(/addon/@version)' $ADDON_XML)
AUTHOR=$(xmllint --xpath 'string(/addon/@provider-name)' $ADDON_XML)
0
21.06.2020, 22:52
1 ответ

Используйте icesh, чтобы найти условия, которые должны войти в ~/.icewm/winoptions. Это те, что в 4-м поле, как я определил методом проб и ошибок:

$ icesh systray
0xc00001    0  5981 "pnmixer"           : (pnmixer.Pnmixer)    10x10+10+10
0x1000001   0  5980 "NetworkManager Applet": (nm-applet.Nm-applet) 10x10+10+10
0x1400001   0  5988 "trayleds.py"       : (trayleds.py.Trayleds.py) 10x10+10+10
0x1200001   0  5989 "traybr.py"         : (traybr.py.Traybr.py) 10x10+10+10

Итак, чтобы получить [2] nm-applet, [4] traybr.py, [1] pnmixer, [3]trayleds.pyзаказ, это ваш~/.icewm/winoptions:

NetworkManager Applet.order: +1
traybr.py.order:             +2
pnmixer.order:               +3
trayleds.py.order:           +4

Результат:

Sample tray icons user-sorted

1
18.03.2021, 23:25

Теги

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