Рейтинг:2

Выпускает виджет Spotify для Conky

флаг cn

Привет, ребята, я пытался адаптировать тему REGULUS conky от Khiki-Merveilles (u/Khiky73) для моего дисплея с высоким разрешением (изначально она предназначалась для дисплея HD), а также заставить ее работать с Madh93. Скрипты Spotify для Conky поскольку по умолчанию REGULUS использует MPD для обработки музыкальной статистики. Мне удалось заставить его работать после нескольких часов работы (я впервые работаю с Conky с такой глубиной). Теперь, когда я запускаю Spofity, название песни и имя исполнителя отображаются в правом нижнем углу рабочего стола вместе с обложкой песни. И когда я закрываю Spotify, он исчезает.

Проблема, с которой я столкнулся, заключается в том, что статистика Spotify не отображается, когда conky запускается при запуске системы. Когда я запускаю spoity, появляются только символы «: î«», но больше ничего. По какой-то причине внешние скрипты не выполняются в исполнитель объект. Но как только я удалю ${if_running Spotify} из моего скрипта он начинает работать правильно, то как только я добавляю ${if_running Spotify} вернитесь в сценарий и повторно запустите conky, он отлично работает, как и предполагалось. Я действительно понятия не имею, что происходит. Было бы разумно, если бы текст не отображался, потому что для текста (название песни и имя исполнителя) необходимо выполнить внешние сценарии, но тогда почему изображение обложки и значок Spotify также не отображаются, даже если они не подключены к сценарии.

Изображение, указывающее на проблему

Кто-нибудь знает, что может быть причиной такого странного поведения?

conky.config = {
--=============================================== ===============================
-- 2 октября 2021 г.
-- это для conky версии 1.10 или новее
-- 
-- RegSpot - тема Conky (на основе темы REGULUS)

-- авторы : Khiki-Merveilles & Madh93 & Argus_Khan 
-- лицензия: Распространяется на условиях GNU GPL версии 3 или выше.
-- примечания: создано с разрешением 2048x1152.

--=============================================== ===============================

-- Настройки размера и положения --
  выравнивание = 'top_right',
  зазор_х = 0,
  зазор_у = 0,
  минимальная_высота = 1152,
  минимальная_ширина = 900,
  
-- Настройки текста --
  use_xft = правда,
  шрифт = 'Робот: свет: размер = 9',
  
-- Настройки цвета --
  default_color = 'белый',
  default_outline_color = 'белый',
  default_shade_color = 'белый',
  цвет1 = '212021',
  цвет2 = 'FF3A70',
  цвет3 = '0165FE',
  
-- Настройки окна --
  фон = ложь,
  граница_ширина = 1,
  draw_borders = ложь,
  draw_graph_borders = ложь,
  draw_outline = ложь,
  draw_shades = ложь,
  собственное_окно = правда,
  own_window_color = '000000',
  own_window_class = 'Конки',
  own_window_argb_visual = ложь,
  own_window_type = 'рабочий стол',
  собственное_окно_прозрачное = правда,
  own_window_hints = 'без оформления, внизу, липкое, skip_taskbar, skip_pager',
  stippled_borders = 0,
  
-- Другие --
  cpu_avg_samples = 2,
  net_avg_samples = 2,
  двойной_буфер = правда,
  out_to_console = ложь,
  out_to_stderr = ложь,
  экстра_новая строка = ложь,
  интервал_обновления = 1,
  верхний регистр = ложь,
  use_spacer = 'нет',
  show_graph_scale = ложь,
  show_graph_range = ложь,
  lua_load = '~/.config/conky/Regulus/rings-v1.2.1.lua',
  lua_draw_hook_pre = 'статистика_кольца',
}

конки.текст = [[
${offset 470}${voffset 0}${color}${font Bebas Neue:size=138}${time %H}${font Bebas Neue:size=0}
${offset 470}${voffset 0}${color}${font Bebas Neue:size=138}${time %M}${font Bebas Neue:size=0}
${смещение 470}${voffset 30}${цвет}${шрифт Bebas Neue:size=20}${время %^A}
${offset 470}${voffset 0}${color}${font Bebas Neue:size=20}${time %d / %B / %Y}${font Bebas Neue:size=0}

# --- Скрипты погоды --- #
${execi 50 ~/.config/conky/Regulus/scripts/weather.sh}
${execi 50 ~/.config/conky/Regulus/scripts/weather-icon.sh white3 $(cat ~/.cache/weather.json | jq -r '.weather[0].icon')}
${offset 775}${voffset -170}${color}${font Bebas Neue:size=38}${execi 50 cat ~/.cache/weather.json | jq '.main.temp' | awk '{print int($1+0.5)}'}°C${шрифт Bebas Neue:size=0}
${смещение 700}${voffset 12}${цвет}${шрифт Helvetica Neue:size=12}.............
${offset 700}${voffset 0}${color2}${font Helvetica Neue:bold:size=10}${execi 50 cat ~/.cache/weather.json | jq -r '.имя'}
${offset 700}${voffset 0}${color}${font Helvetica Neue:size=12}${execi 50 cat ~/.cache/weather.json | jq -r '.weather[0].description' | sed "s|\<.|\U&|g"}${шрифт HelveticaNeue:size=1}
${offset 700}${voffset 3}${color}${font Helvetica Neue:size=10}Скорость ветра: ${execi 50 (cat ~/.cache/weather.json | jq '.wind.speed') } км/ч
${offset 700}${voffset 0}${color}${font Helvetica Neue:size=10}Влажность: ${execi 50 (cat ~/.cache/weather.json | jq '.main.humidity')} %

# --- Сетевые скрипты --- #
${offset 700}${voffset 40}${font Material:size=10}î¦${font Helvetica Neue:bold:size=9}: ${execi 5 ~/.config/conky/Regulus/scripts/ ssid}
${offset 700}${voffset 5}${font Helvetica Neue:size=10}Скорость снижения: ${downspeed wlp5s0}
${смещение 700}${voffset 0}${цвет 1EF75E}${downspeedgraph wlp5s0 35 150 1EF75E 1EF75E}
${offset 700}${voffset 0}${color}${font Helvetica Neue:size=10}Скорость увеличения: ${upspeed wlp5s0}
${смещение 700}${vсмещение 0}${цвет FF3A70}${upspeedgraph wlp5s0 35 150 FF3A70 FF3A70}

# --- Музыкальные сценарии --- #

${execi 1 cd ./scripts/spotify/ ; ./обложка.ш ; CD .. ; CD ..}
${color}${alignr 13}${offset -260}${voffset 300}${font Helvetica Neue:bold:size=18}${if_running Spotify}${execi 1 sh ./scripts/spotify/status. ш} :${еще} ${конец}
${color2}${alignr 13}${offset -220}${voffset 5}${font Bebas Neue:size=45}${if_running spotify}${execi 1 sh ./scripts/spotify/artist.sh} ${else} ${endif}${шрифт Google Sans:bold:size=2}
${color}${alignr 13}${offset -220}${voffset 5}${font Material:size=24}${if_running Spotify}î« ${font Helvetica Neue:size=20}${execi 1 ш./scripts/spotify/title.sh}${else} ${endif}${шрифт Google Sans:bold:size=2}


# --- Рисование фонов и иконок --- #
${изображение ~/.config/conky/Regulus/Box1.png -s 190x190 -p 680,20}
${изображение ~/.config/conky/Regulus/Box.png -s 190x190 -p 680 230}
${изображение ~/.config/conky/Regulus/Box.png -s 190x190 -p 680 440}

${изображение ~/.cache/weather-icon.png -p 690 250 -s 65x65 -f 100}

# --- Рисование текущего воспроизведения музыки HUD --- #
${изображение ./icons/spotify-512.png -p 635 965 -s 30x30}
${изображение ./current/current.jpg -p 690 940 -s 185x185 -f 5}

${if_running ритмбокс}${изображение ./icons/headphones-3-512.png -p 635,965 -s 30x30}${else} ${endif}
${if_running ритмбокс}${изображение ./icons/headphones-3-512.png -p 690 940 -s 185x185 -f 1}${else} ${endif}

]]

Как тема выглядит, когда она работает правильно:

Как тема выглядит при правильной работе

P.S. Я пытался сделать так, чтобы эта тема также работала с Rhythmbox, но я не знаю, как использовать вложенные операторы if else в Conky. Так что я не смог заставить его работать. Также из-за того, что нет возможности печатать текст вертикально до абсолютного положения.

Рейтинг:1
флаг cn

Мне удалось исправить проблему, так как оказалось, что ошибка, которую я совершил, заключалась в том, что я использовал относительный путь при вызове внешних сценариев для вызовов Spotify и Draw для изображений, ошибочно предполагая, что текущий рабочий каталог был тем, где находится основной сценарий запуска conky. сохраняется, но это не так. Сценарий запуска conky выполнялся из ~ вместо ~/.config/conky/regulus/ поэтому это сделало относительные пути недействительными.

Рейтинг:1
флаг cn

Кажется, все сценарии используют dbus-отправить для связи с процессом Spotify для получения названия альбома и так далее. Если это не удастся, вы получите пустые строки и эффект, который вы наблюдаете. dbus-отправить нужно знать, как подключиться к dbus. Обычно это указывается в переменной окружения. DBUS_SESSION_BUS_АДРЕС который установлен в строку, такую ​​​​как unix:путь=/выполнить/пользователь/1000/шина.

Возможно, при входе в систему conky запускается из среды, в которой эта переменная не существует или еще не установлена. Но когда вы перезапускаете conky, возможно, он запускается из среды, где переменная имеет был установлен.

Вы можете проверить это, отобразив переменную из .conkyrc файл, например с ${execi 1 эхо-шина $DBUS_SESSION_BUS_ADDRESS}. Временным исправлением будет установка переменной в ожидаемое типичное значение перед запуском conky.

Morphii avatar
флаг cn
Я вижу, но когда я пытаюсь запустить сценарии вручную, они работают нормально. А как же образы? (Значок Spotify и обложка), почему они не отображаются, если они даже не связаны со сценариями? Я подозревал, что проблема, возможно, в объекте cokny `${if_running}`, потому что, как только я его удаляю, все начинает работать правильно. Но тогда, если это действительно так, почему знаки «: ª» появляются, когда я запускаю Spotify? Спасибо за ответ, я попробую то, что вы предложили, и дам вам знать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.