Редактирование и замена иконки MPV Player в tint2

vasek, т.е., ты имеешь ввиду код из osc.lua?
Тогда, подскажи пож-ста, дабы разобраться (опыта 0):
  • что в принципе нужно знать и понимать по данной теме не кодеру?
  • нужно ли читать "Программирование на LUA"?
  • есть ли какое приложение для просмотра налету результатов произведённых действий?
  • чем лучше (по твоему мнению) редактировать бинарники (мало ли понадобится когда)?
Скачал исходники по новой.
### UPD ###
Как будет выглядеть в трее, посмотреть не могу — у меня просто так не всунешь.
Больше интересует taskbar.
В принципе, данный кусок кода относится исключительно к pseudo-gui, насколько я понял, там ведь чётко расписана позиция иконки. Или я неправ и данные параметры могут распространяться и на иконку в taskbar-e?
        -- render idle message
        msg.debug("idle message")
        local icon_x, icon_y = 320 - 26, 140

        local ass = assdraw.ass_new()
        ass:new_event()
        ass:pos(icon_x, icon_y)
        ass:append("{\\rDefault\\an7\\c&H430142&\\1a&H00&\\bord0\\shad0\\p6}m 1605 828 b 1605 1175 1324 1456 977 1456 631 1456 349 1175 349 828 349 482 631 200 977 200 1324 200 1605 482 1605 828{\\p0}")
        ass:new_event()
        ass:pos(icon_x, icon_y)
        ass:append("{\\rDefault\\an7\\c&HDDDBDD&\\1a&H00&\\bord0\\shad0\\p6}m 1296 910 b 1296 1131 1117 1310 897 1310 676 1310 497 1131 497 910 497 689 676 511 897 511 1117 511 1296 689 1296 910{\\p0}")
        ass:new_event()
        ass:pos(icon_x, icon_y)
        ass:append("{\\rDefault\\an7\\c&H691F69&\\1a&H00&\\bord0\\shad0\\p6}m 762 1113 l 762 708 b 881 776 1000 843 1119 911 1000 978 881 1046 762 1113{\\p0}")
        ass:new_event()
        ass:pos(icon_x, icon_y)
        ass:append("{\\rDefault\\an7\\c&H682167&\\1a&H00&\\bord0\\shad0\\p6}m 925 42 b 463 42 87 418 87 880 87 1343 463 1718 925 1718 1388 1718 1763 1343 1763 880 1763 418 1388 42 925 42 m 925 42 m 977 200 b 1324 200 1605 482 1605 828 1605 1175 1324 1456 977 1456 631 1456 349 1175 349 828 349 482 631 200 977 200{\\p0}")
        ass:new_event()
        ass:pos(icon_x, icon_y)
        ass:append("{\\rDefault\\an7\\c&H753074&\\1a&H00&\\bord0\\shad0\\p6}m 977 198 b 630 198 348 480 348 828 348 1176 630 1458 977 1458 1325 1458 1607 1176 1607 828 1607 480 1325 198 977 198 m 977 198 m 977 202 b 1323 202 1604 483 1604 828 1604 1174 1323 1454 977 1454 632 1454 351 1174 351 828 351 483 632 202 977 202{\\p0}")
        ass:new_event()
        ass:pos(icon_x, icon_y)
        ass:append("{\\rDefault\\an7\\c&HE5E5E5&\\1a&H00&\\bord0\\shad0\\p6}m 895 10 b 401 10 0 410 0 905 0 1399 401 1800 895 1800 1390 1800 1790 1399 1790 905 1790 410 1390 10 895 10 m 895 10 m 925 42 b 1388 42 1763 418 1763 880 1763 1343 1388 1718 925 1718 463 1718 87 1343 87 880 87 418 463 42 925 42{\\p0}")
        ass:new_event()
        ass:pos(320, icon_y+65)
        ass:an(8)
        ass:append("Drop files to play here.")
        mp.set_osd_ass(640, 360, ass.text)

        mp.disable_key_bindings("showhide")

И кстати, почему у параметра расположения <х> такое странное значение 320 - 26?
### UPD ###
Поменял цвета в osc.lua. Сгенерировал через gen-x11. После компиляции та же ерунда с позициями иконок в таскбаре и слева вверху у окошка самого плейера. Сама иконка pseudo-gui вообще исчезла.
Очевидно, что самым адекватным способом смены цвета, - в данном конкретном случае, скорее всего будет напил бинарника.
Похоже до меня что то не так доходит....
Я считал, что у тебя проблема с иконкой в системном трее, а конкретно тебе не нравятся ее цвета.
Поэтому сначала нужно прояснить — в чем у тебя проблема с иконкой
1) Не нравится иконка в системном трее (насколько я понимаю эта иконка вшита в бинарник и ее изображение совпадает с изображением pseudo-gui, именно ее то цвета я и менял)
2) Не получается (ставится дефектно) иконка на панели (верхней/нижней - не знаю как ее правильно назвать) — изображение этой иконки не зависит ни от иконки в pseudo-gui, ни от компиляции/установки приложения - заменяеется так, как описывал выше и приводил пример (без всяких компиляций)
У меня $ pacman -Q mpv.........mpv 0.9.2-2
3) Насчет следующего
toZen
Поменял цвета в osc.lua. Сгенерировал через gen-x11. После компиляции та же ерунда с позициями иконок в таскбаре и слева вверху у окошка самого плейера. Сама иконка pseudo-gui вообще исчезла.
Верни все как было, в исходное состояние, когда в pseudo-gui обычная фиолетовая иконка и можешь попробовать проверить, что получится в случае корректировки /usr/bin/mpv. Действуй по следующей схеме (хотя так делать и обучать не принято — считается нехорошим тоном, но это намного быстрее и проще). Все действия на свой страх и риск.....
1) сделай копию /usr/bin/mpv — первое правило, прежде чем что то менять
2) установи нормальный/удобный hex-редактор, например, для начала советую bless — все понятно, а главное можно откатить назад все действия, в случае ошибок)
3) запусти hex-редактор от root (чтобы можно было сохранить изменения, я запускаю через gksu bless)
4) открой /usr/bin/mpv
5) для начала попробуем изменить только цвет треугольника (описывать буду для bless — для других аналогично)
- из 3 строки osc.lua копируем что касается цвета треугольника - \\c&H691F69&\\, далее bless/Search/Найти — вставлеям в строке Search for: \\c&H691F69&\\ и в окне as Hexadecimal выбираем Text — нажимаем Find Next, в правой крайней таблице увидишь строки ass:append("{\\rDefault\\an7\\c&H691F69&\\1a&H00&\\bord0\\
и прежде чем менять выбери режим замены (нажми insert) и только потом вместо 691F69 набери FF0000 (значения должны именно заменяться, а не вставляться, т. е. никаких других изменений быть не должно. При любом ошибочном действии нажимать желтую стрелку ..откат.. и после повторять снова).....после замены сохранить изменения File/Сохранить ….........и смотри что получилось (не закрывая bless)...если треугольник вышел синим, все нормально, если не получилось, значит где то ошибся, в любом случае закрой сначала pseudo-gui перейди в bless, желтой стрелкой сделай до конца откат, сохранись и закрой bless). Проверь pseudo-gui — все должно вернуться в прежнее положениее. Если не вернулось — у тебя есть копия.
Ошибки не исчезают с опытом - они просто умнеют
vasek, я понимаю, что ты разбираешься в этих вопросах, давай я ещё раз раскидаю по полкам, т.к., выглядит, что я тебя совсем запутал.
1) Есть тема иконок nouveGnomeGray.
2) Есть исходники mpv-player.
3) Беру иконки mpv.png 16x16, 32x32, 64x64 из вышеуказанной темы и копирую их в /usr/share/icons/hicolor/...соответствующие разрешениям директории аpps.
Корректность разрешения иконок я проверял как уже написал прежде.
В mpv.desktop Icon=mpv, именa всех трёх иконок - mpv.png. Удалял текущий кэш иконок, делал gen-icon-cache.
4) Ctrl+Alt+F2 -->> pkill X
5) Изменений никаких, иконки как и прежде фиолетовые.
6) Меняю в mpv.desktop Icon=mpv на Icon=/usr/share/icons/hicolor/разные варианты разрешений/apps. Перезапуск X сервера. Пофик, ноль эмоций. Всё так же. На всякий случай переконвертировал иконку в 48х48 и закинул в pixmaps.
7) Делаю подмену иконок в исходниках на мои, генерирую через gen-x11-icon.sh, ./wef configure, ./wef install. Итог - розовые и смещённые, правда уже тематические иконки в окне плейера и в таскбаре (не трей), имеется ввиду закладки активных приложений в панели tint2.
8) Действия, предпринятые сегодня, которые не привели к изменению цвета иконок, а лишь сместили их вверх, т.е., изменение цвета в строках osc.lua привело к искажению позиций иконок после компиляции и это при том, что я не менял иконки на тематические, а просто хотел подменить цвета у родных. Редактирование osc.lua производил через geany, простой вставкой нужного цвета на место родного.
Повторю, речь не о системном трее справа вверху, а о закладках активных приложений, тaskbar.
Кстати, у тебя на скрине меняется цвет только иконки pseudo-gui, в таскбаре и в окошке плейера слева вверху остаются те же самые фиолетовые, а меня интересуют именно они.
PS. Жаль, что мой вопрос на GutHub-e просто жёстко закрыли. Мол или пользуй такой какой есть, или иди куда шёл.
toZen
Повторю, речь не о системном трее справа вверху, а о закладках активных приложений, taskbar.
Если речь об этом, то тут не нужны никакие действия кроме как разместить все нужные иконки нужного размера в нужных директориях - /usr/share/icons/ согласно идеологии, на которую я дал ссылку. Ну а почему не получается, сказать не могу — можно попробовать положить иконки во все имеющиеся разрешения + попробуй для начала взять простую иконку - отдельную, без всякой темы, как сделал я, и разместить по всем директориям для всех имеющихся разрешений — и посмотри, что получится, вообщем нужно пробовать разные варианты и начинать с самого простого.
Не знаю, у меня в Gnome это все делается просто, в других WM этого не делал, если кто проделывал это в других WM, то может подскажет.
mpv.desktop - не трогай
toZen
Кстати, у тебя на скрине меняется цвет только иконки pseudo-gui, в таскбаке и в окошке плейера слева вверху остаются те же самые фиолетовые, а меня интересуют именно они.
Просто я вернул прежние иконки — Иконки в таскбаре зависят от иконок usr/share/icons/ , а иконка в pseudo-gui зависит от иконки, встроенной в бинарник
Ошибки не исчезают с опытом - они просто умнеют
Ясно, буду пробовать, спасибо. Удивляет, что у тебя всё получается при смене иконок в hicolors, а у меня словно руки ........
И главная странность или если хочешь - отличие, что мне-таки для поменять иконки, приходиться лезть в исходники. Нездоровая канитель.
toZen
Беру иконки mpv.png 16x16, 32x32, 64x64 из вышеуказанной темы и копирую их в /usr/share/icons/hicolor/
Вот эту фразу я не понял..............после установки mpv родные иконки уже имеются
$ find /usr/share/icons -name '*mpv*'
/usr/share/icons/hicolor/16x16/apps/mpv.png
/usr/share/icons/hicolor/64x64/apps/mpv.png
/usr/share/icons/hicolor/32x32/apps/mpv.png
Вот вместо этих то иконок и нужно вставить нужные - подменить, но с таким же названием и нужным разрешением
Ошибки не исчезают с опытом - они просто умнеют
vasek
toZen
Беру иконки mpv.png 16x16, 32x32, 64x64 из вышеуказанной темы и копирую их в /usr/share/icons/hicolor/
Вот эту фразу я не понял..............после установки mpv родные иконки уже имеются
$ find /usr/share/icons -name '*mpv*'
/usr/share/icons/hicolor/16x16/apps/mpv.png
/usr/share/icons/hicolor/64x64/apps/mpv.png
/usr/share/icons/hicolor/32x32/apps/mpv.png
Вот вместо этих то иконок и нужно вставить нужные - подменить, но с таким же названием и нужным разрешением

Да, извини, писал с мобилы по памяти. Имелось ввиду /usr/local/share/icons/hicolor
Интересный момент. Если ставить из исходников, то иконки падают в:
+ install /usr/local/share/icons/hicolor/16x16/apps/mpv.png (from etc/mpv-icon-8bit-16x16.png)
+ install /usr/local/share/icons/hicolor/32x32/apps/mpv.png (from etc/mpv-icon-8bit-32x32.png)
+ install /usr/local/share/icons/hicolor/64x64/apps/mpv.png (from etc/mpv-icon-8bit-64x64.png)
Ради эксперемента, переношу их в хомяк с другими именами.
sudo updatedb && locate mpv.png
/usr/share/icons/nouveGnomeGray/16x16/apps/mpv.png
/usr/share/icons/nouveGnomeGray/22x22/apps/mpv.png
/usr/share/icons/nouveGnomeGray/24x24/apps/mpv.png
/usr/share/icons/nouveGnomeGray/256x256/apps/mpv.png
/usr/share/icons/nouveGnomeGray/32x32/apps/mpv.png
/usr/share/icons/nouveGnomeGray/48x48/apps/mpv.png
/usr/share/icons/nouveGnomeGray/64x64/apps/mpv.png
Всё отображается ожидаемо, иконки остались только тематические.
По идее, из-за отсутствия иконок в директориях, указанных компилятором, должны отобразиться сине-белые "нетикония". Но!
mpv --profile=pseudo-gui --


Идём дальше.
sudo ./waf uninstall
sudo pacman -S mpv
А в этом уже варианте иконки падают в /usr/share/icons/hicolor
sudo cp /usr/share/icons/nouveGnomeGray/16x16/apps/mpv.png /usr/share/icons/hicolor/16x16/apps/mpv.png
sudo cp /usr/share/icons/nouveGnomeGray/32x32/apps/mpv.png /usr/share/icons/hicolor/32x32/apps/mpv.png
sudo cp /usr/share/icons/nouveGnomeGray/64x64/apps/mpv.png /usr/share/icons/hicolor/64x64/apps/mpv.png
Вот они на своих местах:





Однако, даже после удаления кэша иконок в hicolor и рестарта, поведение такое же, как и выше.
Из чего и следует мнение, что всё-таки нужно пилить бинарник.
Я совершенно не понимаю, почему у тебя подмена иконок срабатывает, а у меня боевик.
Уточним некоторые нюансы.
toZen
А в этом уже варианте иконки падают в /usr/share/icons/hicolor
А сам копируешь
sudo cp /usr/share/icons/nouveGnomeGray/16x16/apps/mpv.png /usr/share/icons/hicolor/16x16/apps/mpv.png
То есть иконки первоначально падают в /usr/share/icons/nouveGnomeGray ???......Дошло - ты их просто заменил на другие. Правильно понял?
Вот где иконки упали первоначально (ничего никуда не копируя), попробуй их там и переименовать (удалять не обязательно). По идее после переименования иконка должна быть только в pseudo-gui. Что получилось???
PS.....подкорректировал......что то плохо уже соображается.....
Ошибки не исчезают с опытом - они просто умнеют
vasek
Дошло - ты их просто заменил на другие. Правильно понял?

Да, правильно.
vasek
Вот где иконки упали первоначально (ничего никуда не копируя), попробуй их там и переименовать (удалять не обязательно). По идее после переименования иконка должна быть только в pseudo-gui. Что получилось???

Переименовал в new.png:
/usr/share/icons/hicolor/16x16/apps/new.png
/usr/share/icons/hicolor/32x32/apps/new.png
/usr/share/icons/hicolor/64x64/apps/new.png
mpv --profile=pseudo-gui
То есть иконка не исчезла
Предположу, что возможны следующие варианты
1) твой, так называемый таскбар, работает для mpv как системный трей — т.е. берет иконку из бинарника
2) иконка, возможно где то лежит еще (т.е. берется из другого места)
3) никогда не применял темы иконок и поэтому здесь могу ошибаться — не влияеет ли на это твоя тема иконок?
Чтобы проверить первые два предположения советую, как описывал выше, изменить цвет треугольника в бинарнике на синий. Если после этого цвет треугольника изменится на синий — значит иконка берется из бинарника. Если цвет треугольника не изменится, значит иконка берется из какого то друго места — нужно искать (например, sudo find / -name 'mpv.png' — думаю под другим именем она быть не может....... ну можно на всякий пожарный убрать расширение png). Если не найдется, возможно причина в теме иконок (повторюсь, я здесь чайник) и можно попробовать удалить на время эту тему иконок (в этом случае лучше удалить полностью mpv и установить заново).
Может еще дадут советы …....
PS......ошибки, как правило, легко не ищутся
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.