LINUX.ORG.RU

Client-Side Decorations vs Server-Side Decoration: в чём преимущества тех и других?

 , , , ,


0

2

Привет! Вот задумался: сейчас во многих DE уже добавлена поддержка отрисовки на стороне клиента (CSD, client-side decorations), даже в KDE вроде как есть начальная поддержка, если не ошибаюсь. Но там сейчас вкладываются наоборот в отрисовку на стороне сервера. И я запутался, что к чему. Насколько я знаю, в случае с CSD, вся отрисовка контролируется самим приложением. А значит если там, например, не предусмотрено изменение размеров окна - то его хрен изменишь. В отличии от метода отрисовки на стороне сервера, где любое приложение получит одинаковое оформление. Ну и CSD позволяет рисовать окна со скруглёнными углами. Это всё, что я знаю. Просветите, может есть ещё что-то? Или скажите где можно почитать подробное описание, баги и фичи обоих методов. В чём киллер-фича CSD?

Насколько я понял, то киллер фича CSD это запихать мильён виджетов в прямо заголовок, тем самым экономя пространство и делая всё стильно и молодёжно. Но в случае с WM, не умеющими с CSD получается 2 заголовка, что не хорошо и не красиво.

yacuken ★★★★ ()

Основной смысл CSD в том, что мы можем взять какой-нибудь GtkHeaderBar, и напихать туда кнопачек, GtkPathBar'ов, или даже вкладки. А кнопку закрыть можно нарисовать и на стороне клиента. В валяном это делается и без вас, даже в Qt-приложениях. Ибо так предписали.

SSD же по сути реализует любой оконный менеджер для Xorg. И смысл в том, что оконный менеджер сам оборачивает окна своим titlebar. Этот titlebar никак не подконтролен приложению, и приложения не могут размещать там свои виджеты. А вот разрабам KDE охота, чтобы даже в вяленом titlebar рисовался kwin'ом. KDE это надо потому, что Qt имеет убогую реализацию клиентских декораций(которые используются когда ты запускаешь сессию вяленого). Из-за этого нельзя наложить разные эффекты на активные и неактивные окна. Ну и просто хочется, чтобы kwin запущенный внутри окна таки имел декорации, а не был просто квадратиком на мониторе.

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

WM, не умеющими с CSD

это WM, которые просто не умеют в стандарты.

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

Возможно. Но мне это не мешает. i3 без заголовков использую. А CSD мне даже нравится.

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

ну да, чего нет в моём любимом софте, то не мешает/не нужно, известная песня

f1u77y ★★★ ()

CSD - это костыль, из-за которого основное преимущество линуксов (унификация и единообразие) теряется. Каждое окно выглядит на свой лад, и всё в целом выглядит как говно (см. гном).

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

CSD это лучшее, что случилось в линуксовом GUI за последние лет 10.

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

Что-нибудь кроме розовых соплей можете предъявить?

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

CSD рационально используют экранное пространство, плюс это просто красиво.

Что-нибудь кроме розовых соплей

Так у вас такие же розовые сопли: «мамочка, они лишили меня стандартных заголовков, я теперь путаюсь со своими обезьяньими рефлексами куда нужно тыкать!!!11»

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

рационально используют экранное пространство

На 4к мониторе это просто жизненно необходимо. Раньше, видимо, мониторы были гораздо больше, раз это не было нужно.

просто красиво
беспорядок

Ясно.

обезьяньими рефлексами

Рефлексы спасают жизнь.

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

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

На 4к мониторе

Далеко не у всех такие мониторы.

Рефлексы спасают жизнь

Для живущей в джунглях обезьяны это актуально, согласен.

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

Насколько я понял, то киллер фича CSD это запихать мильён виджетов в прямо заголовок, тем самым экономя пространство и делая всё стильно и молодёжно

То есть поэтому в Opera и Firefox вкладки не могут занять место заголовка, как в оффтопе?

Но в случае с WM, не умеющими с CSD получается 2 заголовка, что не хорошо и не красиво.

А так вот откуда это говно. В Xfce такое много раз видел.

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

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

Лучше подумайте, почему некоторые деточки считают, что если им что-то не нравится, то это не может понравиться никому, а если кому-то нравится - то это идиоты, которых развели? Вопрос не риторический, и я сам на него отвечу: потому что эти деточки не вылезли из подросткового максимализма))

alexferman ★★☆ ()

CSD — это круто и удобно на широкоформатных дисплееях и ноутбуках. Благодаря инновациям GNOME Foundation мы можем теперь использовать эту замечательную возможность вместо вендовых полосок на экране.

CSD это то, что отличает Linux'овые DE от винды, в которой эти самые CSD только хаками делаются.

Даже OS X спёрла эту фичу из GNOME 3.

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

Даже OS X спёрла эту фичу из GNOME 3.

Можно пруф, чтобы потом пождигать яблочников?

mcgeek ()

Кстати, всем хейтерам CSD, инноваций, прогресса и прочим виндузятниками, такая вот картиночка:

https://i.imgur.com/zH3xPop.png

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

oxygen

Чё у тебя так бомбит с него? Неосилил QtCurve или что? В какой бы теме тебя не встретил - ты не упустишь возможность обосрать Oxygen. Я понимаю что это не самый лучший стиль оформления, но не до такой же степени. По остальному - демонстрация весьма красноречива. Однако толстожопые декорации Гнома меня несколько бесят.

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

Упоролся? В винде csd со времен вислы уже. А реально что-то толстое в заголовки догадались пихать начиная с 2007 офиса, а потом гуглохрома.

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

https://ru.wikipedia.org/wiki/Ribbon != CSD (GtkHeaderBar) как в GNOME 3.

Хром, лиса, TeamViewer и QIP используют различные хаки для отображения в заголовке окне вкладок и прочего.

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

Потому что Oxygen вкупе с плазмой по сути убил KDE. После того, как выкатили альфу KDE 4, все адекватные разработчики, которые писали эти самые третьекеды под свои рабочие нужды (и создали приложения «старой школы», типа KPdf -> Okular, Dolphin, Kate/Kwrite, Konsole/Yakuake, KDevelop) в страхе убежали на GNOME 2. Ибо невозможно было работать, когда всё свистело, пердело, светило неоном и индексировалось.

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

То есть поэтому в Opera и Firefox вкладки не могут занять место заголовка, как в оффтопе?

Про оффтоп не скажу. Не видел давно. А на лине да. Фраерфокс не использует GtkHeaderBar, в который можно напихать вкладок или урлбар (как это реализовано в епифаньке). Поэтому mutter лепит ему стандартный заголовок.

А так вот откуда это говно. В Xfce такое много раз видел.

В 4.12 же сочинили вроде.

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

и всё в целом выглядит как говно (см. гном).

Не надо выдавать своё субъективное мнение за общепринятое.

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

В Xfce такое много раз видел.

4.12 поддерживает csd

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

Ну капец. Сколько лет уже прошло? Да и насколько я знаю - в альфе 4 кед ещё не было Плазмы.

Ибо невозможно было работать, когда всё свистело, пердело, светило неоном и индексировалось.

Проблемы неосиляторов, не умеющих в настройку KDE.

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

Я с помощью css сделал свои заголовки 36px. Вмещает все элементы, но не имеет огромных отступов и кнопок. Киллер фитча гтк - возможность изменить любой элемент с помощью css.

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

Так хаки именно и работают начиная с вислы по причине того, что рамка в реальности рисуется самим клиентом, просто автоматически и пока в эту кухню не полезешь кажется, что у тебя обычные серверные окошки.

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

С помощью инспектора искал названия и там же экспериментировал. Пилил только под свои программы и гтк из гита, поэтому скорее всего будет плохо работать. Это записывать в ~/.config/gtk-3.0/gtk.css.

MLP_Fan ★★ ()

Основное преимущество Server-Side Decoration (оно же — основной недостаток Client-Side Decorations) — их можно централизованно, на уровне WM, отключить и забыть о том, что это такое.

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

Это Headerbar, в OpenBox у меня просто рамка большая, Icewm тоже показывает большую рамку

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

Больше шрифты - выше читабельность
Большие шрифты - меньше места

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

Уже лучше, но все равно говно
Старайся, и прикрути крестик, что бы закрывалось

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

Это идиотизм их отключать
Я конечно не хочу навязывать свое мнение, но все же
Почему я на гноме - удобные шорткаты как в макосе - двигать окошки по столам, в стороны и разворачивать одно удовольствие
Почему Headerbar - просто дикая экономия экономия места, а после напила CSS - вообще почти не заметное.
Плюс это выглядит красиво, опрятно, эстетично
Оно не отвлекает, а помогает
Осталось прикрутить хоткеи к headerbar-у как в ribbon у win10 и все будет сказочно

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

CSD - это костыль, из-за которого основное преимущество линуксов (унификация и единообразие) теряется. Каждое окно выглядит на свой лад, и всё в целом выглядит как говно (см. гном).

Просто неистово плюсую. Недавно случайно atril поставил и чуть глаза себе не выбил от тамошних кнопок управления окном. Подобная безвкусица в жанре «кто в лес, кто по дрова» может понравиться только большим любителям нескучных тем и скинов для винды.
CSD оправданы в винде, потому как в DWM пользователь не может скрыть заголовок и сэкономить, при необходимости, вертикальное место на экране. Во всех нормальных никсовых WM же подобная функциональность есть — вот, в том же KWin, скрыв заголовок развёрнутой во весь экран Fx, я получил всё те же табы на самом верху.
CSD можно принять, если реально будет подхватываться общая тема. Но с этим даже в винде проблемы, а уж в онтопике и подавно. Не говоря о расположении кнопок.

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

Лол, аффтар не осилил настроить тулбар и скрыть менюшку в долфине.

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

пользователь не может скрыть заголовок и сэкономить

Плюсую. К тому же вне гнома выглядят всякие наутилусы ужасно.

EXL, правда ли, что гном позиционирует себя как единственное и основное DE на линуксах, что разработчики GTK/CSD фактически отбросили поддержку нормального интерфейса в других WM/DE?

mcgeek ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.