LINUX.ORG.RU

Как отредактировать кнопки в gtk csd?

 ,


0

2

Проблема: В gtk3 приложениях с csd сами кнопки свернуть распахнуть закрыть не занимают всё пространство с краю и по вертикали.

Поясняю: когда растягиваешь окно на весь экран, а потом хочешь его закрыть, кидаешь мышь в угол и жмёшь закрыть. Но вот незадача-не работает потому что попал в пустое пространство, надо целится в кнопу(кто это б***ь придумал? покажите мне этого человека!). Можно нажимать ctrl+q, но привычка есть привычка, и ломать её я не собираюсь.

Темы gtk можно редактировать, и в теории я даже знаю как, но вот что делать конкретно с кнопками я не понял.

Проблема наблюдается в любом линуксе вне зависимости от версий и дистрибутива, но решается сейчас только в контексте последних кед с темой оформления gtk breeze, версия gtk3/gtk4(допускаю, что для этих версий может быть по разному).


UPD. Решение; Вставить в ~/.config/gtk-3.0/gtk.css что то похожее на это:

headerbar entry,
headerbar spinbutton,
headerbar button{
    min-height: 42px;
    min-width: 22px;
    padding-left: 0px; /* same as childrens vertical margins for nicer proportions */
    padding-right: 0px;
    margin: 0px; /* same as headerbar side padding for nicer proportions */
    padding: 0px;
}

headerbar separator {
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */
    margin-bottom: 0px;
}

headerbar {
    min-height: 32px;
    padding-left: 0px; /* same as childrens vertical margins for nicer proportions */
    padding-right: 0px;
    margin: 0px; /* same as headerbar side padding for nicer proportions */
    padding: 0px;
}
.titlebar button.titlebutton {
    padding: 3px;
    background-size: 24px;
}


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

Радикальный способ забыть про кнопки и пользоваться жестами и хоткеям. Не надо попадать выцеливать ничего. Easystroke и настройка хоткеев в помощь. Хочется поеба… то правь css gtk темы

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

Это не радикальный способ

Я часто использую хоткеи, но иногда удобнее мышкой

csd в большинстве случаев у меня сейчас отключён именно по этой причине.

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

Не пишите больше в этот топик

Вы пытаетесь убедить меня в том что ваш способ использования пк лучше, а не помочь решить проблему

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

Я тебе написал как решить проблему. Целиться в кнопку, когда можно просто махнуть мышкой идиотизм. Но можешь и дальше страдать. Больше писать не буду , если человеку нравиться страдать то кто я такой чтоб его отговаривать :)

anonymous
()

Забыть про эти CSD превратив их в toolbar-ы.
Установить тему Minwaita и добавить в /home/user/.config/gtk-3.0/settings.ini, что-типа:

[Settings]
gtk-decoration-layout = menu
gtk-titlebar-double-click = none
gtk-toolbar-style = GTK_TOOLBAR_ICONS
gtk-theme-name = Minwaita

Дорисовать вокруг gtk3-приложений нормальные декорации.
Как, зависит от WM. У меня IceWM, поэтому добавляю в ~/.icewm/winoptions что-то типа:

evince.dTitleBar: 1
evince.dSysMenu: 1
evince.dMinimize: 1
evince.dMaximize: 1
evince.dResize: 1
evince.dBorder: 1
arson ★★★★★
()
Ответ на: комментарий от arson

О, а вот про дорисовку нормальных декораций интересно.

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

А можно по подробнее что корректно вы сделали? Потому что если тени рисуются wm, а заголовок клиентом, то это на мой взгляд идеальный вариант именно для приложений с csd, когда и овцы целы, и волки сыты.

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

А можно по подробнее что корректно вы сделали?

Minwaita - компактная gtk-тема, настройки в settings.ini отключают функции titlebar-а (кнопки управления окном, развертывание окна). За рисование классических декораций отвечает WM, CSD-окна просто просят его их не рисовать, включаю принудительно.

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

То есть сделать так, что бы тени рисовались kwin-ом, тема осталась системным гтк-бризом, а csd со всеми его плюшкми так и остался не получится?

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

Тенями не пользуюсь, kwin-а нет. Попробовал включить тени compton-ом, нормально рисуются вокруг всех окон, включая CSD.

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