Columns UI v3.6.0 [23.07.2026]

Список разделов foobar2000 Секреты foobar2000 Интерфейс - CUI



Сообщение #341 MeinHerz » 08.09.2019, 19:02

TheQwertiest:И, к сожалению, эти костыли не отделить от функционала, который не требует взаимодействия с другими компонентами.

Пора бы добавить этот функционал в сам фубар. Ну если UI Hacks давно не обновлялся и вполне возможно, что просто заброшен. Например, не такая уж наверное и сложная задача, чтобы фубар искал шрифты в папке, куда он установлен. Я уж про другие плюшки молчу, бог с ними, с заголовками окон и т.д.
MeinHerz
Репутация: 20
С нами: 8 лет 4 месяца

Сообщение #342 AHAPXICT » 08.09.2019, 22:02

MeinHerz, вы говорите очевидные вещи, но тут коса на камень нашла, долго про это рассказывать. Это принципиальная позиция автора плеера. Старожилы форума могут рассказать, это было ещё на старом форуме, как всё это было(факи-перефаки на несколько страниц, по разным вопросам).
Ну, а что касается CUI ? Значит теперь у каждого свой путь и всех делов.
AHAPXICT M
Аватар
Откуда: Киев
Репутация: 252
С нами: 12 лет 9 месяцев

  • 2

Сообщение #343 Azaza » 09.09.2019, 00:04

MeinHerz:Вызывает разочарование, если честно. Не работают нормально настройки цвета и шрифта. На гидрогене прочитал, что новый Columns конфликтует с UI Hacks. Версия 0.5.1 так и остается основной рабочей
Вложения
палка.jpg
Azaza M
Аватар
Репутация: 460
С нами: 9 лет 11 месяцев

Сообщение #344 seriousstas » 09.09.2019, 12:20

UiHacks - та ещё шляпа. Там много костылей, которые вмешиваются в работу других компонентов
Можно подробнее про костыли ..? Аналогов нет и не будет в ближайшем 100-летии)
VEG не раз советовал писать в сапорт или разрабу того-же CUI.
seriousstas
Откуда: Украина
Репутация: 110
С нами: 11 лет 6 месяцев

Сообщение #345 TheQwertiest » 10.09.2019, 22:35

seriousstas:Можно подробнее про костыли ..?
Весь компонент - это костыли =) Это его суть (которая даже в названии отражена): компонент меняет поведение программы и окон, которые ему не принадлежат, в обход предоставляемого API.
Конкретно подгрузка шрифтов (насколько я помню) реализована через перехваты (https://github.com/microsoft/detours). Перехваты - это ОЧЕНЬ большой костыль, который в некоторых случаях приводят к безумным багам (напр. когда одна и та же функция перехватывается несколько раз разными библиотеками, которые ничего про друг друга не знают).
TheQwertiest
Репутация: 4
С нами: 8 лет 5 месяцев

Сообщение #346 seriousstas » 11.09.2019, 14:45

Весь компонент - это костыли =) Это его суть
Не убедил..) Пользуюсь давно - ничего такого.
seriousstas
Откуда: Украина
Репутация: 110
С нами: 11 лет 6 месяцев

Сообщение #347 MC Web » 11.09.2019, 16:03

Компоненты от DRONа:
UI Hacks (foo_ui_hacks)
Стрелочный пикметр (foo_vis_vumeter.dll)
получились удачные и востребованные по сей день.
Лично меня UI Hacks выручает очень сильно, да и альтернативы никакой нет...
MC Web
Репутация: 248
С нами: 13 лет

Сообщение #348 TheQwertiest » 11.09.2019, 21:12

???
Был вопрос про костыли и причины, по которым костыли причиняют боль самому UIHacks и другим компонентам (и ломают их, без простых способов избежания этого), был дан ответ с примером.
Никаких советов и\или убеждений по поводу использования\неиспользования компонента не предлагалось.
TheQwertiest
Репутация: 4
С нами: 8 лет 5 месяцев

Сообщение #349 seriousstas » 12.09.2019, 13:08

по которым костыли причиняют боль самому UIHacks и другим компонентам
Просто - все оч абстрактно ..
seriousstas
Откуда: Украина
Репутация: 110
С нами: 11 лет 6 месяцев

Сообщение #350 TheQwertiest » 12.09.2019, 14:10

Ничего абстрактного: компонент построен на костылях (foo_ui_hacks). Это факт, с которым можно только смириться =)

зы: в любом случае, детальное обсуждение foo_ui_hacks выходит за рамки данного топика.
TheQwertiest
Репутация: 4
С нами: 8 лет 5 месяцев

Сообщение #351 LUR » 12.09.2019, 16:06

TheQwertiest:компонент меняет поведение программы и окон, которые ему не принадлежат, в обход предоставляемого API.
Т.е. Columns UI этого не делает совершенно?) Что такое вообще костыли, если любой компонент может взять хендл любого окна и сделать с ним все что угодно? Вполне возможно что новые колумнсы сами лезут туда, где просто начинается конфликт интересов с хаксом, который ну тупо не поддерживается, а автору колумнсов на него срать) Да и любой сторонний компонент типа сплиттера тоже "костыль".
TheQwertiest:был дан ответ с примером
Дайте ссылку на пост, а то лень искать...
LUR M
Модератор
Аватар
Откуда: Минск
Репутация: 433
С нами: 13 лет 9 месяцев

Сообщение #352 TheQwertiest » 12.09.2019, 22:06

Т.е. Columns UI этого не делает совершенно?)
На текущий момент ничего такого в CUI не видел (ни в исходных кодах, ни в поведении самого компонента).

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

Вполне возможно что новые колумнсы сами лезут туда, где просто начинается конфликт интересов с хаксом, который ну тупо не поддерживается, а автору колумнсов на него срать)
Скорее всего (ибо не полезу в дизасэмбл ради праздного интереса) всё много проще. Как я писал выше, foo_ui_hacks использует перехваты для реализации функционала работы со шрифтами. CUI, наверное, стал использовать WinAPI функцию, которую foo_ui_hacks не перехватывает, из-за этого "костыль" для шрифтов не отрабатывает.

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

Да и любой сторонний компонент типа сплиттера тоже "костыль".
Почему? Брать владение ресурсом, который предполагает, что им будет кто-то владеть - это нормально.
Компоненты типа "панель" всегда работают через некоторый API (CUI/DUI), который позволяет родительской панели\компоненту управлять им (и передавать об этом информацию управляемому компоненту) без необходимости костылей. "Панель" знает, что её могут перемещать, менять размер, скрывать и т.п.. Это ожидаемое поведение.

Костыль - это, например, насильно перехватывать управление родительским окном (эффект прилипания к краю экрана в UiHacks): если fb2k реализует схожий функционал, то "двойное" управление окном приведёт к очень "интересным" багам.
Костыль - это редактировать чужой компонент, добавляя туда новое меню (изменение интерфейса foo_albumlist в UiHacks). Если компонент foo_albumlist изменит номер ресурса и переиспользует старый номер для других целей, то это приведёт к полному undefined behaviour'у.
И т.д. и т.п..

Дайте ссылку на пост, а то лень искать...
Пост на предыдущей странице.

foo_ui_hacks - это (в некотором смысле) эквивалент бинарного патча, который редактирует некоторые места программы с надеждой, что эти места никто и никогда не поменяет. Иногда эти места меняются и "патч" приводит к непредсказуемым последствиям.

При всем сказанном, "костыль" - это не плохо само по себе (и автор UiHacks проделал великолепную работу). Но каждый такой "костыль" несёт риски и это надо понимать. Перекладывать ответственность за сломанные костыли на разработчиков, которые эти костыли сами не делали и никогда не поддерживали, - это абсурд.
TheQwertiest
Репутация: 4
С нами: 8 лет 5 месяцев

Сообщение #353 LUR » 13.09.2019, 12:35

TheQwertiest, спасибо за ответ по полочкам. Кстати, перехват в JSplitter таки используется просто для таскания панелей плагинов средней кнопкой мыши. Сам увидел, к чему это порой приводит, хотя опцию отключаемой и сделал. Но при этом я там же вмешиваюсь в прорисовку панелей плагинов, включая ухищрения для отрисовки фона и копирования его в основное окно, так что как и WSH Panel Mod, так и впрочем JScript Panel, как его наследователь, имеет механизмы, для того, чтобы вмешаться в отрисовку плагинов. Я просто решил чуть-чуть поразмышлять на тему грани костылей с "обходом API". Конкретно в моем случае, я имею в виду так называемую псевдопрозрачность. Пытаясь реализовать сплиттер, в котором так же может находится такой же сплиттер и панели с псевдопрозрачностью, наткнулся на очень неоднозначное решение вопроса. Ну лично для меня, конечно.
LUR M
Модератор
Аватар
Откуда: Минск
Репутация: 433
С нами: 13 лет 9 месяцев

Сообщение #354 foobar2000.club » 10.05.2023, 01:00

Вышла новая версия плагина: Columns UI v2.0.0 [09.05.2023]
foobar2000.club
Автор темы, Робот
Репутация: 10
С нами: 14 лет 2 месяца

Сообщение #355 foobar2000.club » 04.07.2025, 01:00

Вышла новая версия плагина: Columns UI v3.0.0 [03.07.2025]
foobar2000.club
Автор темы, Робот
Репутация: 10
С нами: 14 лет 2 месяца

Сообщение #356 foobar2000.club » 05.02.2026, 19:00

Вышла новая версия плагина: Columns UI v3.3.0 [05.02.2026]
foobar2000.club
Автор темы, Робот
Репутация: 10
С нами: 14 лет 2 месяца

Сообщение #357 R-A-Y » 26.02.2026, 20:06

Здравствуйте! Кто может помочь. В общем, мне нужно сделать вид интерфейса как на 1 скрине
Спойлер
Screenshot_2.jpg
(взят с portable сборки). Сейчас на установленном foobar у меня вид как на 2-м скрине
Спойлер
Screenshot_1.jpg
. Не могу настроить ни цвета текста ни кнопки как в старой сборке было.
R-A-Y
Репутация: 0
С нами: 17 лет 4 месяца

Сообщение #358 foobar2000.club » 23.07.2026, 22:00

Вышла новая версия плагина: Columns UI v3.6.0 [23.07.2026]
foobar2000.club
Автор темы, Робот
Репутация: 10
С нами: 14 лет 2 месяца