LINUX.ORG.RU

Сообщения Dreamdrawer

 

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

Форум — Desktop

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

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 через командную строку

Форум — Desktop

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

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

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

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


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

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

 

Dreamdrawer
()

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

Форум — Desktop

С обновлением версии до 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)

Форум — General

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

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

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

 

Dreamdrawer
()

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

Форум — General

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

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

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

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

 ,

Dreamdrawer
()

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

Форум — Desktop

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

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

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

 

Dreamdrawer
()

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

Форум — Desktop

Программа для просмотра изображений 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. Скопировать отмеченные файлы

Форум — Desktop

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

Делаю так:

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. Окно журнала

Форум — Desktop

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

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

 

Dreamdrawer
()

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

Форум — Desktop

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

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

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

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

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

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

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

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

 ,

Dreamdrawer
()

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

Форум — Desktop

Ubuntu 18.04
i3 version 4.18

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

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

 

Dreamdrawer
()

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

Форум — General

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. Переключить в режим аудио

Форум — General

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

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

 

Dreamdrawer
()

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

Форум — General

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

Клавиша «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. Сохранить модификатор на переключателе групп

Форум — General

Задача — повесить на 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. Скопировать ссылку на созданный файл в буфер обмена

Форум — General

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

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

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

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

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

 , ,

Dreamdrawer
()

Wine. Nvidia. Tearing

Форум — General

После запуска полноэкранного приложения через 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. Показать курсор при нажатой клавише

Форум — General

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

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

 , ,

Dreamdrawer
()

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

Форум — General

Не получается запустить 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. Сканкод+виртуальный модификатор

Форум — General

Возможно ли реализовать средствами 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 подписка на новые темы