UI Hacks (foo_ui_hacks)

Список разделов foobar2000 Плагины

Описание: Все о плагинах, компонентах, расширениях

Сообщение #1 DRON » 28.05.2009, 15:11

Компонент позволяет изменять поведение главного окна плеера и реакцию на некоторые действия пользователя. Настройки компонента можно найти на странице "UI Hacks" в окне конфигурации foobar2000.

Функционально компонент заменяет foo_lock, foo_noss, foo_minimize_on_close, foo_notaskbar, foo_snap, foo_fullscreen и foo_playpause_on_tray_click. Также имеется возможность настройки уведомлений (Balloon tooltip), за что благодарите Mr.Merak.

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

Последнюю версию можно найти тут:
foo_ui_hacks_2013-02-19.zip
(124.19 КБ) Скачиваний: 10217

Иконки для опции "Use playback status icons":
StateIcons.7z
Иконки для опции "Use playback status icons".
(7.73 КБ) Скачиваний: 3111


ВНИМАНИЕ! Для работы функционала портативности, начиная с версии foobar2000 v1.6 необходимы некоторые действия, описанные ЗДЕСЬ.
Последний раз редактировалось DRON 24.12.2012, 02:48, всего редактировалось 11 раз(а).
DRON M
Автор темы
Аватара
Откуда: Санкт-Петербург
Репутация: 113
С нами: 16 лет 6 месяцев


Сообщение #181 postED » 11.01.2010, 23:54

2_DRON_
Отловил возможный баг в последней версии. На моей теме оформления винды наблюдается некоторое смещение в главном тулбаре с появлением полоски под ним. Также сам тулбар становится немного шире. Тема винды - Luna Element Black Compact (не последней версии). Настройки плага брал дефолтные.

Без ui_hacks:
Изображение

C ui_hacks:
Изображение

Проверил версию за 20 декабря - там отображение тулбара не изменяется.
postED M
Аватара
Откуда: Криворіжжя
Репутация: 115
С нами: 15 лет

Сообщение #182 DRON » 12.01.2010, 00:50

А если так:
Последний раз редактировалось DRON 03.04.2010, 22:06, всего редактировалось 1 раз.
DRON M
Автор темы
Аватара
Откуда: Санкт-Петербург
Репутация: 113
С нами: 16 лет 6 месяцев

Сообщение #183 postED » 12.01.2010, 01:12

Во, так всё ок) Фикс не повлияет на поведение плага с другими темами? А то мало ли, с этой темой работает отлично, а на других вылезут косяки
postED M
Аватара
Откуда: Криворіжжя
Репутация: 115
С нами: 15 лет

Сообщение #184 DRON » 12.01.2010, 01:31

Там дело не в темах, а скорее в их наличии: у меня темы выключены, поэтому с ними я редко плагин тестирую.

Ладно раз всё ОК, обновлю потихому файлы на оффсайте.
DRON M
Автор темы
Аватара
Откуда: Санкт-Петербург
Репутация: 113
С нами: 16 лет 6 месяцев

Сообщение #185 Zin-Uru » 13.01.2010, 20:05

2_DRON_, а можно ли сделать какую-то глобальную переменную вроде %maximized%, которая будет иметь значения 1 или 0 в зависимости от того, в полноэкранном ли режиме окно плеера или нет?
Zin-Uru M
Репутация: 45
С нами: 15 лет 2 месяца

Сообщение #186 G-Man » 14.01.2010, 02:17

Отличный плагин вышел. Вот только одного нехватает: хотелось бы иметь возможность выбора отдельной темы для максимизированного и отдельной для восстановленного окна.

Например, для максимизированного режима отображаются все визуализации, панельки всякие, а в обычном режиме - только необходимое. Ну вобщем две отдельные темы
G-Man
Аватара
Репутация: 9
С нами: 15 лет 9 месяцев

Сообщение #187 Zin-Uru » 14.01.2010, 02:22

2G-Man, это можно будет реализовать самостоятельно в PSS как раз с помощью переменной %maximized%, если _DRON_ ее введет. :)
Zin-Uru M
Репутация: 45
С нами: 15 лет 2 месяца

Сообщение #188 alex_realist » 14.01.2010, 10:08

А ёще было бы суперсуперклассно если бы UI Hacks сохранаял свои настройки при экспорте/импорте в fcl-файлах.
alex_realist M
Аватара
Репутация: 140
С нами: 16 лет 4 месяца

Сообщение #189 G-Man » 14.01.2010, 12:03

2Zin-Uru, а с DUI это нереально?
G-Man
Аватара
Репутация: 9
С нами: 15 лет 9 месяцев

Сообщение #190 Zin-Uru » 14.01.2010, 15:13

2G-Man, с DUI, думаю, переменной не обойтись. Хотя я сейчас в основном с CUI+PSS дело имею.
Zin-Uru M
Репутация: 45
С нами: 15 лет 2 месяца

Сообщение #191 DRON » 14.01.2010, 16:03

Zin-Uru:можно ли сделать какую-то глобальную переменную вроде %maximized%
В DUI это не сделать, а в CUI я не понял как работает установка глобальных переменных (по моему их только читать можно), так что с вас исходники компонента где нечто подобное уже реализовано.
G-Man:
Вот только одного нехватает: хотелось бы иметь возможность выбора отдельной темы для максимизированного и отдельной для восстановленного окна.
А разве в фубаре можно динамически менять темы? По моему их только через ScratchBox или через QuickSetup менять можно.

alex_realist:А ёще было бы суперсуперклассно если бы UI Hacks сохранаял свои настройки при экспорте/импорте в fcl-файлах.
Туда сохраняется только то, что видно в текущей теме, то есть придётся делать какую-то свою панельку, чего мне разумеется не хочется.

Вобщем я не против добавить любой вариант, но мне надо чтобы кто-то ткнул пальцем в возможную реализацию.
DRON M
Автор темы
Аватара
Откуда: Санкт-Петербург
Репутация: 113
С нами: 16 лет 6 месяцев

Сообщение #192 Zin-Uru » 14.01.2010, 16:22

2_DRON_, в PSS (Panel Stack Splitter: http://foo2k.chottu.net/) есть возможность назначать Global Variables командой $set_ps_global(,) из скрипта, а затем считывать обыкновенно как %%. Правда они работают только в пределах самого PSS. Насчет исходников не знаю... По идее можно с автором законтачить и сделать переменную %maximized% именно для PSS.
Последний раз редактировалось Zin-Uru 14.01.2010, 16:30, всего редактировалось 1 раз.
Zin-Uru M
Репутация: 45
С нами: 15 лет 2 месяца

Сообщение #193 alex_realist » 14.01.2010, 17:50

_DRON_:Туда сохраняется только то, что видно в текущей теме, то есть придётся делать какую-то свою панельку, чего мне разумеется не хочется.
Пусть бы и просто пустая панелька. Тогда наверно и настройки сохранялись. Тем более в Panel Stack Splitter её можно поставить как скрытую.

Если б такая возможность была, цены бы не было твоему плагину.
alex_realist M
Аватара
Репутация: 140
С нами: 16 лет 4 месяца

Сообщение #194 MaФ » 14.01.2010, 17:54

G-Man:Например, для максимизированного режима отображаются все визуализации, панельки всякие, а в обычном режиме - только необходимое. Ну вобщем две отдельные темы
Zin-Uru:это можно будет реализовать самостоятельно в PSS как раз с помощью переменной %maximized%, если _DRON_ ее введет. Smiley
На PSS и так можно задать показывать панель или нет в зависимости от размера окна, а развёрнутое окно может быть и 800х600.
alex_realist:А ёще было бы суперсуперклассно если бы UI Hacks сохранаял свои настройки при экспорте/импорте в fcl-файлах.
В 1.0 каждый компонент имеет свой файл настроек который будет работать с любым интерфейсом.
MaФ:Сделать для режима No Border невидимую рамку в 5 пикселей по внутренней части окна, с функцией изменения размера.
Up.
MaФ M
Репутация: 15
С нами: 15 лет 6 месяцев

Сообщение #195 Zin-Uru » 14.01.2010, 17:56

MaФ:На PSS и так можно задать показывать панель или нет в зависимости от размера окна, а развёрнутое окно может быть и 800х600.
Все же это немного другое. :)

MaФ:Сделать для режима No Border невидимую рамку в 5 пикселей по внутренней части окна, с функцией изменения размера.
+1, только чтобы толщину этой рамки можно было задавать в настройках.
Последний раз редактировалось Zin-Uru 14.01.2010, 17:59, всего редактировалось 1 раз.
Zin-Uru M
Репутация: 45
С нами: 15 лет 2 месяца

Сообщение #196 DRON » 14.01.2010, 18:05

Zin-Uru:в PSS (Panel Stack Splitter: http://foo2k.chottu.net/) есть возможность назначать Global Variables командой $set_ps_global
ps в названии функции отнюдь не случайно, про эти переменные знает только сам PSS и работать они будут только в его скриптах. Вообще в columns_ui-sdk есть даже пример организации таких переменных, но они "глобальны" только в пределах самого компонента, но не фубара в целом (или я что-то не понял?). Способа узнать о смене темы без написания панельки (которая ещё и должна в ней присутствовать) я не нашёл. Там есть ещё кнопки, но они не хранят своего состояния в теме.
Я могу посмотреть, что же на самом деле возвращает columns_ui::control::get_string, но даже если там будет что-то позволяющее отличить одну тему от другой, то сам момент изменения мне поймать не удастся.
Если из скрипта можно вызывать команды и проверять их состояние, то вы видимо и сами можете написать скрипт который будет переключать FullScreen при загрузке темы.
И, если вы ещё не поняли, ни PSS, ни CUI я не пользуюсь и поэтому не знаю их возможностей даже на уровне пользователя.
DRON M
Автор темы
Аватара
Откуда: Санкт-Петербург
Репутация: 113
С нами: 16 лет 6 месяцев

Сообщение #197 Mr.Merak » 14.01.2010, 19:28

имхо, все что вы на этой странице наговорили Дрону, какая-то ужасная муть
Mr.Merak M
Откуда: Украина
Репутация: 27
С нами: 18 лет 3 месяца

Сообщение #198 Zin-Uru » 14.01.2010, 23:59

2_DRON_, это-то я все прекрасно понимаю. Поэтому и написал, что можно связаться с разработчиком, чтобы сделать такую переменную именно для компонента PSS (т.к. он как раз используется в большинстве "навороченных" графиески сборок). Конечно, если вам это доставит много неудобств, то не стоит заморачиваться.

P.S. Появилась идея в процессе написания. Можно же вместо переменной создавать пустой файлик с именем maximized в папке Фубара, по аналогии с running. Это то, что требуется от UIHacks (естественно, чтобы фичу можно было отключить в настройках, если не нужна).
Ну а дальше это можно будет уже по своему усмотрению использовать с помощью простой проверки существования файла.
Zin-Uru M
Репутация: 45
С нами: 15 лет 2 месяца

Re: UI Hacks (foo_ui_hacks)

Сообщение #199 Axess » 15.01.2010, 15:19

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

p.s. По моему мнению не нужна такая переменная через UIHacks.
Axess M
Аватара
Откуда: Kirov
Репутация: 16
С нами: 15 лет 3 месяца

Сообщение #200 DRON » 15.01.2010, 18:00

Mr.Merak:имхо, все что вы на этой странице наговорили Дрону, какая-то ужасная муть
А по моему совершенно правильный подход, все программы что я знаю при переходе в полноэкранный режим (если он вообще есть конечно) меняют расположение или вообще убирают часть элементов своего интерфейса.
И не надо коверкать мой ник, он не русифицируется, так как это аббревиатура ;)

2Zin-Uru я так понял, что в CUI можно менять Layouts по команде, тогда я могу добавить параметр - Fullscreen layout и этот самый Layout будет выставляться при переходе в полноэкранный режим, а при выходе из него будет возвращаться старый. Такой вариант подойдёт?
DRON M
Автор темы
Аватара
Откуда: Санкт-Петербург
Репутация: 113
С нами: 16 лет 6 месяцев

Пред.След.

Вернуться в Плагины