LINUX.ORG.RU

i3 не может в скрипт (или я не могу в i3)

 , , ,


0

2

Здравствуйте дорогие ЛОРовцы и ЛОРовчанки, недавно озаботился съёмом скриншотов в i3. Написал аж целый скрипт в 2 строчки, который умеет делать то, что мне нужно:

#!/bin/bash
 
$(scrot -s 'scrot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f ~/Pictures/Screen/')

Вопрос тут не в самом скрипте, а в том, что i3 упорно отказывается его исполнять...

bindsym Print exec --no-startup-id scrselshot
Сама по себе команда scrselshot в терминал работает... Что характерно, курсор мигает, но выделять ничего не даёт, файл не создаёт. Подскажите пожалуйста, где я дурак.



Последнее исправление: BLIN4IK97 (всего исправлений: 1)
Ответ на: комментарий от anonymous

У меня скрот тоже работает, а скрипты и scrot -s нет.

BLIN4IK97
() автор топика
#!/bin/bash

$(scrot -s 'scrot_%Y-%m-%d-%S_$wx$h.png' -e 'mv $f ~/Pictures/Screen/')

#!/bin/bash

Ты запускаешь bash…

$(...

И в нём запускаешь bash…

ГЕНИАЛЬНО!

mord0d ★★★★★
()
Ответ на: комментарий от xaTa

Есть в /usr/bin, есть в директории скриптов моих

BLIN4IK97
() автор топика

не надо никаких скриптов, в config проще прописать

bindsym --release $mod+Print exec --no-startup-id scrot -s
anonymous
()
Ответ на: комментарий от anonymous

Так а мне скрипт нужен, не только этот, а в принципе.

BLIN4IK97
() автор топика
Ответ на: комментарий от BLIN4IK97

chmod +x /usr/bin/scrselshot, не?, обычно у себя скрипты делаю с этим foo.sh и лежат в директории /usr/local/bin, вот такой есть: /usr/local/bin/i3status/contrib/*net-speed.sh

spawn_sp ★★★★
()
Ответ на: комментарий от BLIN4IK97

Коды клавиш не обязательно должны иметь назначенный символ (удобно для пользовательских горячих клавиш поставщика на некоторых ноутбуках), и они не изменят свое значение при переключении на другую раскладку клавиатуры

это из i3wm.org, ну и вариант по коду: bindcode 107 exec --no-startup-id /usr/bin/scrselshot, Print у меня показал код 107

spawn_sp ★★★★
()

bindsym --release $mod+Shift+Print exec scrot -s -e 'mv $f ~/Documents/scr/' && notify-send 'Screenshot taken!'

Как пример рабочего варианта. Обрати внимание на --release при srcot -s.

HTaeD ★★★★
()

и ещё до кучи с обработчиком: bindsym Print exec --no-startup-id bash /usr/bin/scrselshot

spawn_sp ★★★★
()

в i3 manjaro community был отличный скриптец i3-scrot

юзается примерно так:

#скрин экрана
bindsym Print exec --no-startup-id i3-scrot
#скрин онка
bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
#скрин выделенной области
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s

jo_b1ack ★★★★★
()
Последнее исправление: jo_b1ack (всего исправлений: 1)
Ответ на: комментарий от BLIN4IK97

потому что: scrot -s,

Некоторые инструменты могут не работать при событии KeyPress, потому что клавиатура/указатель все еще захватываются. В этих ситуациях можно использовать флаг --release, который выполнит команду после того, как ключи будут выполнены.

Так и не работает? очень странный i3 у тебя, пробуй вновь chmod -x и chmod +x проделать, у кого то помнится сработало это колдунство в планировщике, и расширение пиши: scrselshot.sh

spawn_sp ★★★★
()
Ответ на: комментарий от BLIN4IK97

о кей, это понятно должно уж работать, я имел ввиду запуск любых скриптов по биндам(забыл уточнить) с какой конструкцией сработали, которые были тебе интересны, ну да ладно, работает и хорошо

spawn_sp ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.