LINUX.ORG.RU

mpd+mpc on awesome

 ,


3

1

прилепил мини-управление(мышевозное) mpd+mpc на awesome..

думаю, как правильно расставить имиджы, и не больно нравятся карты имиджей..(три последние кнопки).. если есть мысли, приму к сведению..

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

кстати, остальные виджеты

часть виджетов закомменчена, ибо логами ща не интересуюсь, да и виджет интерфейсов начинает грузить проц - считывание трех шт - wlan+eth+ppp. volume тож не ставил.. регулирую на слух

оформление - «темнее некуда», хотя гтк-шная не менялась со времен последнего скрина..

забиты 5 хоткеев :

  • cpu+mem на двух вибоксах;
  • dio на все действующие разделы(искл. своп);
  • mpd+mpc, про который собственно и речь;
  • управление выходами LVDS/VGA/HDMI посредством xrandr(автомат в этом деле не нужен, по необходимости ткнул и работает);
  • убрать все виджеты;

(все виджеты имеют top=true и кнопки [x] для скрытия)

ШГ: дефолт -> терминус

ЗЫ:: вместо тегов mpc выводит кракозяблы.. и по-ходу на всех русских(6500+ не просматривал, как минимум третья часть на англ)

________
ЗЫ:: awesome v3.5.2

________
ввиду моей последней темы по осому реализация на глаз почти не видна..

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

>>> Просмотр (1366x768, 568 Kb)

★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 11)

Как заполучить панельку осома, без необходимости устанавливать его самого?

quantum-troll ★★★★★
()
Ответ на: комментарий от unlog1c

О_О.. а что его расширять?? виджет здоровый, куча всяких плюшек.. может я чего-то недочитал??

как сделать, чтобы по щелчку по прогрессбару перематывалось на ту позицию, на которой находится курсор??

меня больше этот вопрос интересует..

ЗЫ:: после первых функций awesompd утонул в переменных.. сильно однако..

ЗЫ:::: скорее мысль не уловил..

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

О_О.. а что его расширять?? виджет здоровый, куча всяких плюшек.. может я чего-то недочитал??

Я конкретно о вибоксе с управлением. Я вот например давно хотел сделать такое как у тебя, и положить на десктоп. Вот можно было твой код впихнуть в awesompd, чтобы пользователь мог предоставить ему свой вибокс, а он уже туда накидывал элементов.

меня больше этот вопрос интересует..

По-умному: посмотри или сигнал «press» не принимает где-то относительных координат относительно кликнутого виджета.

По-глупому: ты знаешь координаты всех твоих объектов на экране и относительно друг друга, и знаешь координаты курсора

mouse.coords()
и знаешь арифметику.

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

По-глупому получится, но вычислять много.. mouse.coords берет относительно экрана..

А по-умному.. Привязка к прогрессбару сигнала press..

prgb_mpd:connect_signal("press",function () r=3 end)

Выдает ошибку Trying connect to non-existent signal 'press'

Почему несуществующий, ЧЯДНТ??

Привязка 'mouse::enter' проходит нормально..

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

Еще вариант: mouse::move 100% принимает относительные X и Y вторым и третьим аргументом. Можешь следить за ним и сохранять эти иксы игрики до непосредственно клика по виджету.

prgb_mpd:connect_signal("mouse::move", 
                        function(_, x, y)
                           -- save variables here
                        end)
unlog1c ★★★
()
Ответ на: комментарий от unlog1c

и я с той же страницы..

mouse::move не помню, пробовал ли..

за наводку спасибо, вечерком попробую..

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

Хмм.. ../awesome/gears/object.lua Trying to connect to non-existent signal 'mouse::move'

Тоже самое выводит.. может прогрессбар не приучен к этому сигналу??

button тоже самое.. Непонятка какая-то

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

progressbar наследует от base, и таки да, base не подключает себе этот сигнал. Попробуй сделать prgb_mpd:add_signal(«mouse::move») предварительно. Еще, события нажатия у него есть, но называются button::press и button::release

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

Спасибо.. button::press сработал, координаты относительные, то что нужно, остается дело за малым..

ЗЫ:: приятно общаться с людьми, которые знают больше чем ты сам.. ;)

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

Спасибо.. button::press сработал, координаты относительные, то что нужно, остается дело за малым..

Нет проблем.

ЗЫ:: приятно общаться с людьми, которые знают больше чем ты сам.. ;)

Скорее просто знаю где искать ответ:). /usr/share/awesome/lib/ содержит большинство необходимой информации, иногда грепаю по самому репозиторию.

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

Грепом тож работаю, но видно еще не вечер ))

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

перевесил на release(обычная реакция: если нажал, то можешь увести курсор => код не сработает..)

провел небольшую оптимизацию по уменьшению операций(насколько верную покажут ошибки - если будут) - код-то стал поменьше..

ЗЫ: теперь вид поменять надо, кнопки-то убраны

______

функции типа register_wibox(wibox), которой кормишь вибокс и она на него накидывает все виджеты

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

TODD ★★
() автор топика
Последнее исправление: TODD (всего исправлений: 2)
Ответ на: комментарий от unlog1c

глупо, но:

еще б прикрутить эквалайзер к виджету, вообще шикарно было б...

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

Масштабируемый это уже слишком жирно, наверное. Можно начать с хардкодных размеров, а вибокс правильный предоставить - задача самого пользователя. Ну и ввести какую-то функцию на подобии show_external_player(x,y), которая сама будет создавать вибокс с нужными размерами и размещать где-то на экране.

unlog1c ★★★
()

перепиленный виджет. конфиг по требованию ;)

doraneko, najlus

andreyu, есть еще одна проблемка - неправильный тег на двух(пока-мись) песнях..
один песня русский, другой англ. тег имеет.
в уведомлении от осома вижу квадрат с перекрестием внутри..

спасибо unlog1c за помощь:: реализовал на прогрессбарах по щелчку мыши перемотку песни и громкость mpc на другом(т.к. софтвар в конфиге стоит, чтоб общую не менять..)

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

какой виджет?? mpd? вечерком скину

xyi-wibox - {x,y} позиция, i-множество виджетов, по-своему назвал.. переводить не стоит (экс-вай-ай)

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

лайаут. описание использования вроде было в прошлой версии rc

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

производная от base вибокса

TODD ★★
() автор топика
Последнее исправление: TODD (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.