Skip to content

Instantly share code, notes, and snippets.

@Daviteusz
Last active April 17, 2024 14:06
Show Gist options
  • Save Daviteusz/64c41c5cbe8165f1f73485d79fa61fde to your computer and use it in GitHub Desktop.
Save Daviteusz/64c41c5cbe8165f1f73485d79fa61fde to your computer and use it in GitHub Desktop.
KDE: Complete fix for padding and tiny min/max/restore/close buttons for GTK programs.
/* Edit .config/gtk-3.0/gtk.css and add: */
headerbar, headerbar arrow, headerbar box, headerbar button, headerbar contents, headerbar entry, headerbar image, headerbar menubutton, headerbar slider, headerbar splitbutton, headerbar trough {
margin: 0;
min-height: 0;
}
headerbar {
border-top: 0;
padding-right: 0;
}
button.minimize {
min-height: 25px;
min-width: 25px;
border: 0px;
color: transparent;
background-size: 25px;
background-image: url('assets/minimize-normal.svg');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
}
button.minimize:hover { background-image: url('assets/minimize-hover.svg') }
button.minimize:active { background-image: url('assets/minimize-active.svg') }
button.maximize {
min-height: 25px;
min-width: 25px;
border: 0px;
color: transparent;
background-size: 25px;
background-image: url('assets/maximize-normal.svg');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
}
window.maximized button.maximize { background-image: url('assets/maximized-normal.svg'); }
button.maximize:hover { background-image: url('assets/maximize-hover.svg') }
window.maximized button.maximize:hover { background-image: url('assets/maximized-hover.svg') }
button.maximize:active { background-image: url('assets/maximize-active.svg') }
window.maximized button.maximize:active { background-image: url('assets/maximized-active.svg') }
button.close {
min-height: 25px;
min-width: 25px;
border: 0px;
color: transparent;
background-size: 25px;
background-image: url('assets/close-normal.svg');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
}
button.close:hover { background-image: url('assets/close-hover.svg') }
button.close:active { background-image: url('assets/close-active.svg') }
/* Edit .config/gtk-4.0/gtk.css and add: */
headerbar entry,
headerbar spinbutton,
headerbar button,
headerbar separator {
margin-top: 0px;
margin-bottom: 0px;
}
headerbar button { min-height: 24px;}
headerbar {
min-height: 24px;
padding-right: 0px;
margin: 0px;
border-top: 0px;
}
button.minimize {
border: 0px;
padding: 0px;
min-height: 40px;
min-width: 40px;
color: transparent;
background-size: 25px;
background-image: url('../gtk-3.0/assets/minimize-normal.svg');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: left;
}
button.minimize:hover { background-image: url('../gtk-3.0/assets/minimize-hover.svg') }
button.minimize:active { background-image: url('../gtk-3.0/assets/minimize-active.svg') }
button.maximize {
border: 0px;
padding: 0px;
min-height: 40px;
min-width: 40px;
color: transparent;
background-size: 25px;
background-image: url('../gtk-3.0/assets/maximize-normal.svg');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: left;
}
window.maximized button.maximize { background-image: url('../gtk-3.0/assets/maximized-normal.svg'); }
button.maximize:hover { background-image: url('../gtk-3.0/assets/maximize-hover.svg') }
window.maximized button.maximize:hover { background-image: url('../gtk-3.0/assets/maximized-hover.svg') }
button.maximize:active { background-image: url('../gtk-3.0/assets/maximize-active.svg') }
window.maximized button.maximize:active { background-image: url('../gtk-3.0/assets/maximized-active.svg') }
button.close {
border: 0px;
padding: 0px;
min-height: 40px;
min-width: 40px;
color: transparent;
background-size: 25px;
background-image: url('../gtk-3.0/assets/close-normal.svg');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: left;
}
button.close:hover { background-image: url('../gtk-3.0/assets/close-hover.svg') }
button.close:active { background-image: url('../gtk-3.0/assets/close-active.svg') }
.titlebar-buttonbox {
appearance: none !important;
align-items: stretch !important;
}
.titlebar-button {
border-radius: 0px !important;
padding: 6px 8px !important;
}
#unifiedToolbar,
#unifiedToolbarContent {
padding-block: 0px !important
}
.titlebar-buttonbox-container {
margin-inline-end: 0px !important;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment