dzen2, как определить фактическое разрешение и количество мониторов

В моем тестировании пока это работало:

command && echo "$?" || echo "$?"

Просто говорит ему, чтобы он повторил код выхода, если он успешен или если он терпит неудачу.

Как указал Сато ниже, это по существу то же самое, что и:

command; echo "$?"

Одна вещь, которая может сделать команду and/or полезной, это что-то вроде:

command && echo "Success! Exit Code: $?" || echo "Failure! Exit Code: $?"

Если вам нужно, чтобы ваш сценарий работал с кодом выхода, что беспокоит Оливье, это не проблема. Ваш скрипт может выглядеть примерно так:

command
case "$?" in; 
    0) echo "Command exited with: 0"
       <command if good>
       ;;
    1) echo "Command exited with: 1"
        <command if bad>
        ;;
    255) echo "Command exited with: 255"  # for ssh maybe?
         <command if 255>
         ;;
    *) echo "Command exited with: >2"
        <command for other exit code>
        ;;
esac
1
22.03.2015, 12:00
1 ответ

Я запускаю вывод xrandrчерез awkдля чего-то подобного. Например. это даст вам высоту самого высокого подключенного экрана:

TALLEST_HEIGHT=`xrandr --prop --nograb | awk -F " |x+" 'BEGIN { max = 0 } / connected/ { if($5 > max){ max = $5 }}; END { print max }'`

Затем вы можете использовать это при вызовеdzen:

dzen -h $TALLEST_HEIGHT (...)

Аналогичная логика может применяться во многих случаях, если вы поменяете $5на $4, вы получите ширину, и ее также можно легко адаптировать для получения самого маленького экрана вместо самого широкого. Вы также можете взглянуть на поля $6и $7, которые сообщают вам смещение каждого дисплея, и использовать их, чтобы добраться до самого низа (или самого левого )изображения.

0
28.03.2021, 22:57

Теги

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