Страница 10 из 30
UI Hacks (foo_ui_hacks)

Добавлено:
28.05.2009, 15:11
DRON
Компонент позволяет изменять поведение главного окна плеера и реакцию на некоторые действия пользователя. Настройки компонента можно найти на странице "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.
Последнюю версию можно найти тут:
Иконки для опции "Use playback status icons":
- StateIcons.7z
- Иконки для опции "Use playback status icons".
- (7.73 КБ) Скачиваний: 3210
ВНИМАНИЕ! Для работы функционала портативности начиная с версии foobar2000 v1.6 необходимы следующие действия:- Спойлер
- 1) Разместить dsound.dll в корне папки установки foobar2000.dll (как раньше) и файл конфигурации UI Hacks тоже в папке конфиграции в корне (в старом стиле до появления папки profile):
2) Далее необходимо совершить следующие действия над исполняемым файлом foobar2000.exe с помощью программы CFF Explorer

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

C ui_hacks:

Проверил версию за 20 декабря - там отображение тулбара не изменяется.

Добавлено:
12.01.2010, 00:50
DRON
А если так:

Добавлено:
12.01.2010, 01:12
postED
Во, так всё ок) Фикс не повлияет на поведение плага с другими темами? А то мало ли, с этой темой работает отлично, а на других вылезут косяки

Добавлено:
12.01.2010, 01:31
DRON
Там дело не в темах, а скорее в их наличии: у меня темы выключены, поэтому с ними я редко плагин тестирую.
Ладно раз всё ОК, обновлю потихому файлы на оффсайте.

Добавлено:
13.01.2010, 20:05
Zin-Uru
2_DRON_, а можно ли сделать какую-то глобальную переменную вроде %maximized%, которая будет иметь значения 1 или 0 в зависимости от того, в полноэкранном ли режиме окно плеера или нет?

Добавлено:
14.01.2010, 02:17
G-Man
Отличный плагин вышел. Вот только одного нехватает: хотелось бы иметь возможность выбора отдельной темы для максимизированного и отдельной для восстановленного окна.
Например, для максимизированного режима отображаются все визуализации, панельки всякие, а в обычном режиме - только необходимое. Ну вобщем две отдельные темы

Добавлено:
14.01.2010, 02:22
Zin-Uru
2G-Man, это можно будет реализовать самостоятельно в PSS как раз с помощью переменной %maximized%, если _DRON_ ее введет. :)

Добавлено:
14.01.2010, 10:08
alex_realist
А ёще было бы суперсуперклассно если бы UI Hacks сохранаял свои настройки при экспорте/импорте в fcl-файлах.

Добавлено:
14.01.2010, 12:03
G-Man
2Zin-Uru, а с DUI это нереально?

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

Добавлено:
14.01.2010, 16:03
DRON
Zin-Uru:можно ли сделать какую-то глобальную переменную вроде %maximized%
В DUI это не сделать, а в CUI я не понял как работает установка глобальных переменных (по моему их только читать можно), так что с вас исходники компонента где нечто подобное уже реализовано.
G-Man:
Вот только одного нехватает: хотелось бы иметь возможность выбора отдельной темы для максимизированного и отдельной для восстановленного окна.
А разве в фубаре можно динамически менять темы? По моему их только через ScratchBox или через QuickSetup менять можно.
alex_realist:А ёще было бы суперсуперклассно если бы UI Hacks сохранаял свои настройки при экспорте/импорте в fcl-файлах.
Туда сохраняется только то, что видно в текущей теме, то есть придётся делать какую-то свою панельку, чего мне разумеется не хочется.
Вобщем я не против добавить любой вариант, но мне надо чтобы кто-то ткнул пальцем в возможную реализацию.

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

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

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

Добавлено:
14.01.2010, 17:56
Zin-Uru
MaФ:На PSS и так можно задать показывать панель или нет в зависимости от размера окна, а развёрнутое окно может быть и 800х600.
Все же это немного другое. :)
MaФ:Сделать для режима No Border невидимую рамку в 5 пикселей по внутренней части окна, с функцией изменения размера.
+1, только чтобы толщину этой рамки можно было задавать в настройках.

Добавлено:
14.01.2010, 18:05
DRON
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 я не пользуюсь и поэтому не знаю их возможностей даже на уровне пользователя.

Добавлено:
14.01.2010, 19:28
Mr.Merak
имхо, все что вы на этой странице наговорили Дрону, какая-то ужасная муть

Добавлено:
14.01.2010, 23:59
Zin-Uru
2_DRON_, это-то я все прекрасно понимаю. Поэтому и написал, что можно связаться с разработчиком, чтобы сделать такую переменную именно для компонента PSS (т.к. он как раз используется в большинстве "навороченных" графиески сборок). Конечно, если вам это доставит много неудобств, то не стоит заморачиваться.
P.S. Появилась идея в процессе написания. Можно же вместо переменной создавать пустой файлик с именем maximized в папке Фубара, по аналогии с running. Это то, что требуется от UIHacks (естественно, чтобы фичу можно было отключить в настройках, если не нужна).
Ну а дальше это можно будет уже по своему усмотрению использовать с помощью простой проверки существования файла.
Re: UI Hacks (foo_ui_hacks)

Добавлено:
15.01.2010, 15:19
Axess
а не проще узнавать площадь основного окна фубара (ширину*высоту) и если она больше какой то величины (ну или сравнивать с разрешением экрана, но его вроде не узнать в PSS) то и устанавливать соответствующую переменную PSS - ничего кроме PSS и не понадобится.
p.s. По моему мнению не нужна такая переменная через UIHacks.

Добавлено:
15.01.2010, 18:00
DRON
Mr.Merak:имхо, все что вы на этой странице наговорили Дрону, какая-то ужасная муть
А по моему совершенно правильный подход, все программы что я знаю при переходе в полноэкранный режим (если он вообще есть конечно) меняют расположение или вообще убирают часть элементов своего интерфейса.
И не надо коверкать мой ник, он не русифицируется, так как это аббревиатура ;)
2
Zin-Uru я так понял, что в CUI можно менять Layouts по команде, тогда я могу добавить параметр - Fullscreen layout и этот самый Layout будет выставляться при переходе в полноэкранный режим, а при выходе из него будет возвращаться старый. Такой вариант подойдёт?