LINUX.ORG.RU

Сообщения Dreamdrawer

 

MPV. Отправить команду другой программе

Пытаюсь сделать скрипт, который отправит команду файловому менеджеру — открыть расположение файла, который воспроизводится в данный момент.

require 'mp'

local function GoToFile()
  local filename = string.format("%s", mp.get_property_osd("filename"))
  local filepath = string.format("%s/%s", mp.get_property_osd("working-directory"), mp.get_property_osd("path"))
  os.execute('doublecmd -c -t "' .. filepath .. '/' .. filename .. '" &')
end

-- Key-Bindings
mp.add_key_binding("Ctrl+o", "GoToFile", GoToFile)

вроде всё верно, но скрипт не работает :(

Ошибки не показывает.

Как сделать, чтобы работало?

 ,

Dreamdrawer
()

Как обновить Firefox через командную строку

Как обновить Firefox, используя командную строку через «updater», который находится в каталоге программы, рядом с главным исполняемым файлом?

Когда я его запускаю, он печатает следующие требования:

Usage: updater patch-dir install-dir apply-to-dir [wait-pid [callback-working-dir callback-path args...]]

Задача — обновить программу через командную строку без запуска браузера.


Программа установлена не из репозитория, а загружена архивом с офф.сайта.

Перемещено hobbit из general

 

Dreamdrawer
()

i3. Не отображаются пиктограммы в заголовке окна

С обновлением версии до 4.20 появилась наконец возможность отображать пиктограммы приложений в заголовках окон.

Включается просто:

# отображать пиктограммы приложения в заголовке окна <yes|no>
title_window_icon yes

# отступ от пиктограммы <px>
title_window_icon padding 10px

# показывать пиктограмму приложения для всех окон
for_window [all] title_window_icon on

# enable window icons for all windows with extra horizontal padding
for_window [all] title_window_icon padding 3px

# показать пиктограмму окна для окна в фокусе, чтобы выделить его
bindsym $mod+p title_window_icon on

Но у меня, почему-то, не отрисовывает.

У кого работает?

 

Dreamdrawer
()

MPV. Список глав (Chapter List)

Возможно ли отобразить встроенными средствами список глав видеофайла? Желательно в виде интерактивного меню.

В справке есть команды osc-chapterlist, но при попытке их забиндить ничего не работает. Делаю так:
TAB script-message osc-chapterlist

Или, быть может, есть скрипты для этого?

 

Dreamdrawer
()

DeadBeef. Копировать название трека

Нужна возможность копировать название трека/выделенных треков в плейлисте плеера.

Подозреваю, решением будет использование пользовательских Shell-commands, но мне совершенно не понятно как их составлять.

Как, например, должна выглядеть Shell-команда, копирующая название трека?

Буду признателен, если кинете ссылкой на руководство, которое мне не удалось найти, или на примеры подобных скриптов с GitHub’а.

 ,

Dreamdrawer
()

sxiv. Как изменить метод сортировки?

Как открыть файлы, в режиме просмотра миниатюр, в отсортированном виде: по дате, по дате создания, по имени, по расширению?

Такой функции программой не предусмотрено?

Возможно ли, в таком случае, реализовать внешними средствами?

 

Dreamdrawer
()

Многоуровневое меню на Bash

Программа для просмотра изображений sxiv использует скрипт для выполнения операций над изображениями.

Пытаюсь таким образом реализовать многоуровневое меню. Но получается, что работает только первый уровень — выполняются команды 1, 2, 3, а то, что в «submenu» уже не работает

Вопрос.

В оператор «case» обычно завёрнуто либо одно условие, либо список условий, из которых выбирается подходящее.

case $переменная in
	"$условие" или "$условие" или "$условие" )
		команда...
		;;
	"$условие" )
		команда...
		;;
esac

Возможно ли перечислять условия последовательно?

Т. е. в качестве условий могут быть горячие клавиши и нужно, чтобы команда была выполнена лишь при последовательном нажатии определённых клавиш, на манер Вим’а.

Был бы рад обнаружить возможность работать с этим оператором таким образом, но не нашёл ничего похожего, потому путь реализации вижу в использовании вложенных «кейсов».

Задумка такая:

#!/bin/sh

n_cmd() {
    notify-send "Message"
}

submenu() {
    case $1 in
	a ) n_cmd
	    ;;
	b ) n_cmd
	    ;;
	c ) n_cmd
	    ;;
    esac
}

case $1 in
	1 ) n_cmd
	    ;;
	2 ) submenu
	    ;;
	3 ) n_cmd
	    ;;
esac

Да только не работает. В чём проблема и как правильно реализовать?

 , ,

Dreamdrawer
()

sxiv. Скопировать отмеченные файлы

Задача — скопировать в буфер обмена все отмеченные изображения в режиме просмотра миниатюр.

Делаю так:

cat ~/.config/sxiv/exec/key-handler

#!/bin/sh

case "$1" in
"C-c")      while read file; do xclip -selection clipboard -target image/png "$file"; done ;;
esac

Но копируется лишь одно, последнее из отмеченных изображений.

Что я делаю не так и как сделать, чтобы работало?

 , ,

Dreamdrawer
()

DeadBeef. Окно журнала

Возможно ли отключить окно журнала, которое открывается в случае возникновения ошибок?

В основном, оно мешает, когда добавляются файлы, отсутствующие на диске.

 

Dreamdrawer
()

Мышь и XKB. Мышь путает раскладки

Слетают настройки мыши.

Дано:
Мышь (usb) с кучей кнопок, которые настроены через спец. утилиту под офтопиком.
Функции кнопок мыши в основном дублируют клавиши клавиатуры или комбинации клавиш.
Настройки загружены во внутреннюю память мыши.
При подключении мыши к машине с линуксом (Ubuntu) всё работает как задумано.

На Линуксе работает собственная раскладка клавиатуры, в которой многие кнопки поменяны местами.
Эта пользовательская раскладка подключается командой:

xkbcomp -I$HOME/.config/xkb $HOME/.config/xkb/keymap.xkb $DISPLAY

И команда эта отрабатывает при старте системы.
Мышь, в свою очередь, считывает каким-то образом эту раскладку, по всей видимости сканкоды, и отрабатывает в соответствии с расположением клавиш в этой раскладке. Но если в процессе работы, по той или иной причине, выполнить команду приведённую выше, которая перезагружает раскладку, то мышь начинает путать значения клавиш и сканкоды.

Решается просто физическим переподключением мыши.

Вопрос:
Какой командой можно заставить мышь перечитать настройки клавиатуры или просто программно её «переподключить»?

Update.
Попробовал программу которая перезагружает usb-устройства
GitHub/jkulesza/usbreset
но никакого эффекта не дало. Мышь отключилась и вновь включилась, но настройки не перечитала.
Не знаю куда думать.

 ,

Dreamdrawer
()

i3wm. Фон в момент запуска

Ubuntu 18.04
i3 version 4.18

В момент загрузки оконного менеджера i3, до того как отрисуется обоина (посредством nitrogen), появляется на несколько мгновений светлый фон, который нигде в конфигах не прописан. Выходит, что-то просвечивается, быть может из настроек рута… Кто-нибудь пытался разобраться?

Неприятная белая вспышка при запуске раздражает, хотелось бы от неё избавится.

 

Dreamdrawer
()

Firefox 79 игнорирует настройки

Firefox, обновившись до 79 версии, стал игнорировать настройки, которые были заданы через user.js.

К примеру, параметр

user_pref("keyword.URL", "https://duckduckgo.com/?q=");  

заданный через user.js будет проигнорирован, но если поисковую систему указать через about:preferences#search, то она меняется на заданную.
Игнорируются также настройки некоторых расширений, например пользовательские стили расширения Tree Style Tab.
При этом, если открыть about:config, то там установлены значения, которые указаны в user.js.
Создал новый профиль, закинув в него единственный файл user.js — настройки по прежнему игнорируются.
Скачал с сайта Мозиллы браузер и установил по новой — настройки по прежнему игнорируются.

Куда смотреть?

 

Dreamdrawer
()

Mpv. Переключить в режим аудио

Есть ли команда или способ, чтобы переключиться в режим «только аудио» в процессе воспроизведения видео? Т. е. отключить видео-поток, оставив воспроизводиться звуковую дорожку, не перезагружая плеер.

И да, речь о воспроизведении видео с youtube

 

Dreamdrawer
()

XKB. Как разблокировать шифт-уровень?

Ситуация.
Пробел блокирует «шифт-уровень», тем самым позволяя выделять текст при движении курсора.

Клавиша «c» копирует выделенный текст.

Выглядит это следующим образом:

key <SPCE> {
    symbols [Group1] = [ space, space ],
    actions [Group3] = [ LockMods(mods=Shift) ]};

key <AB03> {
    symbols = [ NoSymbol ],
    actions = [ RedirectKey(key=<INS>, mods=Control, clearmods=Shift) ]};

Всё работает, но после того как текст скопирован, у меня нет необходимости продолжать выделеление текста, а шифт продолжает оставаться зажатым. Приходится нажимать повторно «пробел», чтобы выйти из «режима выделения».

Как сделать, чтобы при нажатии клавиши «c» снимался флаг «Shift_Lock»?

Почему не срабатывает директива «clearmods=Shift»?

Это действие в XKB вообще возможно?

 

Dreamdrawer
()

XKB. Сохранить модификатор на переключателе групп

Задача — повесить на Caps Lock переключатель групп и сохранить на нём же действующий модификатор Control.

Делаю так:

key <CAPS> {
    symbols[Group1] = [ Control_L ],
    actions[Group1] = [ LockGroup(group=3), SetMods(mods=Control) ],
    actions[Group3] = [ SetMods(mods=Control)]
};

В результате, если зажать Caps Lock, он переключает группу, но модификатор не устанавливает. Чтобы модификатор заработал, приходится отжимать капс и зажимать снова.

Как сделать, чтобы не приходилось отжимать капс?

 

Dreamdrawer
()

Scrot. Скопировать ссылку на созданный файл в буфер обмена

Как скопировать ссылку на файл в буфер обмена после снятия скриншота.
Вроде очевидная вещь, но у меня не работает. Что я делаю не так?

scrot -e 'mv $f ~/scrns/ | xsel -ib'

где:
scrot — сделать скриншот
-e ’mv $f ~/scrns/ — скопировать в каталог
xsel -ib’ — скопировать в буфер обмена

Скриншот делает, в каталог перемещает, но ссылки в буфере обмена на файл нет. Ошибок не выдаёт.

К слову, попробовал использовать xclip, но он тоже не дал результата.

 , ,

Dreamdrawer
()

Wine. Nvidia. Tearing

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

Есть ли более оптимальное решение проблемы?
Как вернуть настройки после завершения wine-приложения или, быть может, возможен запуск вайн не затрагивающий настройки?

Для устранения тиринга в /etc/X11/xorg.conf прописано так:

Section "Device"
  Option "TripleBuffer" "True"
  Option     "TearFree"   "on"
...
Section "Screen"
  Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Wine-приложение запускаю так:

#!/bin/bash
sleep 2
xrandr -s 640x480
sleep 1
cd "/mnt/games/exolondx/"
wine "exolon dx.exe"
sleep 1
xrandr -s 1920x1080
exit

 , ,

Dreamdrawer
()

Unclutter. Показать курсор при нажатой клавише

Может ли Unclutter показать курсор на время, пока зажата клавиша (например Esc)? Или быть может сторонними средствами это можно реализовать?

Дело в том, что таймер исчезновения курсора у меня установлен на одну секунду, и меня это очень радует. Но бывают ситуации, когда от наличия курсора зависят, например, всплывающие окна, подсказки, которые исчезают вместе с курсором, из-за чего не успеваешь ознакомиться с информацией, предоставленной этим временным окном. Иногда достаточно просто немного перемещать курсор в области, которая отвечает за вывод временного окна, но бывают ситуации, когда окна появляются только при остановке курсора.

 , ,

Dreamdrawer
()

Возможно ли собрать Gtkparasite для GTK2 для Debian 10?

Не получается запустить Gtkparasite применительно к gtk2-приложениям.

Очень нужная и безальтернативная утилита для «инспектирования» интерфейса программ. Без неё темы править возможно лишь на ощупь.
Установить её очень просто:

git clone git://github.com/chipx86/gtkparasite
cd ./gtkparasite
/autogen.sh --with-gtk=2.0
./configure && make && make install

чтобы она заработала для Gtk3 приложений, необходимо сделать следующее:

sudo mv -v /usr/local/lib/gtk-3.0/modules /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0

запускается следующей командой:

GTK_MODULES=gtkparasite какое-нибудь-gtk3-приложение

но заставить её работать для gtk2-приложений у меня не получилось.

При запуске gtk3 ничего не пишет.
При попытке запустить gtk2 таким образом:
GTK_MODULES=gtkparasite gtk2-приложение
говорит следующее:

Gtk-WARNING **: 03:12:13.811: GTK+ module /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/modules/libgtkparasite.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 03:12:13.822: Failed to load module "gtkparasite"

или, если запускать так:
GTK_MODULES=gtk2parasite gtk2-приложение
то:

Gtk-Message: 03:14:51.521: Failed to load module "gtk2parasite"

Кто-нибудь работает с ней на debian? У кого-нибудь она работает? Как запустить?

 ,

Dreamdrawer
()

XKB. Сканкод+виртуальный модификатор

Возможно ли реализовать средствами XKB одновременно и ввод символа и активировать вируальный модификатор?

На деле задача состоит в том, чтобы одним нажатием ввести «Esc» и переключить раскладку на третий уровень (ISO_Level3_Lock)

Что-то вроде:

key <ESC> {
    symbols = [ Escape, Escape ],
    actions = [
        Redirect(key=<ESC>, mods=LevelThree),
        Redirect(key=<ESC>, mods=LevelThree)
    ]};

Быть может возможно в «интерпретацию»

interpret ISO_Level3_Lock+Any {
	useModMapMods= level1;
	virtualModifier= LevelThree;
	action= LockMods(modifiers=LevelThree);
    };

каким-то образом добавить ввод символа «Escape»?

 

Dreamdrawer
()

RSS подписка на новые темы