Complete Antergos NeXT custom theme with cross-DE support

- Custom GTK3/GTK4/GTK2 theme (AntergosNeXT) with blue #2EA3F2 accent
- KDE Plasma color scheme matching the theme
- dconf overrides for GNOME/Cinnamon/Budgie/Deepin
- XFCE xfconf defaults for theme/icon/font
- GTK settings.ini for all GTK-based DEs
- /etc/skel defaults for new users
This commit is contained in:
2026-06-08 19:21:35 +02:00
parent c9e389c3d6
commit 9399a404f6
8 changed files with 599 additions and 10 deletions
@@ -0,0 +1,59 @@
gtk-color-scheme = "base_color:#1d1f21\nfg_color:#eff0f1\ntooltip_fg_color:#eff0f1\nselected_bg_color:#2EA3F2\nselected_fg_color:#ffffff\ntext_color:#eff0f1\nbg_color:#232629\ntooltip_bg_color:#31363b\nlink_color:#2EA3F2"
gtk-font-name = "Noto Sans 10"
gtk-icon-theme-name = "breeze-dark"
gtk-cursor-theme-name = "breeze_cursors"
gtk-theme-name = "AntergosNeXT"
gtk-fallback-icon-theme = "breeze-dark"
gtk-toolbar-style = GTK_TOOLBAR_BOTH_HORIZ
gtk-menu-images = 1
gtk-button-images = 1
gtk-enable-event-sounds = 0
gtk-enable-input-feedback-sounds = 0
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = "hintfull"
gtk-xft-rgba = "rgb"
gtk-application-prefer-dark-theme = 1
style "user-font" {
font_name = "Noto Sans 10"
}
widget_class "*" style "user-font"
style "default-bg" {
bg[NORMAL] = "#232629"
bg[PRELIGHT] = "#31363b"
bg[SELECTED] = "#2EA3F2"
bg[ACTIVE] = "#2EA3F2"
bg[INSENSITIVE] = "#2a2d2f"
fg[NORMAL] = "#eff0f1"
fg[PRELIGHT] = "#eff0f1"
fg[SELECTED] = "#ffffff"
fg[ACTIVE] = "#2EA3F2"
fg[INSENSITIVE] = "#6e7175"
base[NORMAL] = "#1d1f21"
base[PRELIGHT] = "#1d1f21"
base[SELECTED] = "#2EA3F2"
base[ACTIVE] = "#2EA3F2"
base[INSENSITIVE] = "#1d1f21"
text[NORMAL] = "#eff0f1"
text[PRELIGHT] = "#eff0f1"
text[SELECTED] = "#ffffff"
text[ACTIVE] = "#2EA3F2"
text[INSENSITIVE] = "#6e7175"
}
widget_class "*" style "default-bg"
style "button-bg" = "default-bg" {
bg[NORMAL] = "#31363b"
bg[PRELIGHT] = "#3f4347"
}
widget_class "*Button*" style "button-bg"
style "entry-bg" = "default-bg" {
base[NORMAL] = "#1d1f21"
base[PRELIGHT] = "#1d1f21"
text[NORMAL] = "#eff0f1"
}
widget_class "*Entry*" style "entry-bg"
@@ -0,0 +1,397 @@
/* Antergos NeXT GTK3 Theme */
/* Dark theme with blue accent (#2EA3F2) */
@define-color bg_color #232629;
@define-color fg_color #eff0f1;
@define-color base_color #1d1f21;
@define-color text_color #eff0f1;
@define-color selected_bg_color #2EA3F2;
@define-color selected_fg_color #ffffff;
@define-color tooltip_bg_color #31363b;
@define-color tooltip_fg_color #eff0f1;
@define-color borders #3f4347;
@define-color borders_edge #1a1c1e;
@define-color link_color #2EA3F2;
@define-color warning_color #fbbc15;
@define-color error_color #ed1515;
@define-color success_color #11d116;
@define-color insensitive_bg_color #2a2d2f;
@define-color insensitive_fg_color #6e7175;
@define-color insensitive_borders #2a2d2f;
* {
background-clip: padding-box;
-GtkToolButton-icon-spacing: 4;
-GtkTextView-error-underline-color: @error_color;
-GtkScrolledWindow-scrollbar-spacing: 0;
-GtkToolItemGroup-expander-size: 11;
-GtkTreeView-expander-size: 11;
-GtkTreeView-horizontal-separator: 4;
-GtkWidget-text-handle: 1;
-GtkWidget-focus-padding: 0;
-GtkWidget-focus-line-width: 1;
-GtkWidget-link-color: @link_color;
-GtkWidget-visited-link-color: shade(@link_color, 0.8);
-GtkWindow-resize-grip-height: 0;
-WnckTasklist-fade-overlay-rect: 0;
outline-color: alpha(@selected_bg_color, 0.5);
outline-style: dashed;
outline-offset: -3px;
}
*:disabled {
color: @insensitive_fg_color;
text-shadow: none;
}
.background {
color: @fg_color;
background-color: @bg_color;
}
/* Apply accent to selection */
*:selected,
*:selected:focus {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
/* Links */
*:link {
color: @link_color;
}
*:visited {
color: shade(@link_color, 0.8);
}
/* Windows */
window {
background-color: @bg_color;
}
/* Header bars / Titlebars */
headerbar {
background-color: #1d1f21;
color: @fg_color;
border-bottom: 1px solid @borders;
padding: 0 6px;
}
headerbar:backdrop {
background-color: #1d1f21;
}
/* Toolbars */
toolbar {
background-color: @bg_color;
border-style: none;
padding: 4px;
}
/* Menu bar */
menubar {
background-color: @bg_color;
color: @fg_color;
}
menubar > menuitem:hover {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
/* Menus */
menu {
background-color: @bg_color;
color: @fg_color;
border: 1px solid @borders;
}
menu > menuitem:hover {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
/* Buttons */
button {
background-color: #31363b;
color: @fg_color;
border: 1px solid @borders;
border-radius: 3px;
padding: 4px 8px;
transition: all 0.1s ease;
}
button:hover {
background-color: #3f4347;
border-color: shade(@borders, 1.2);
}
button:active,
button:checked {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
button.suggested-action {
background-color: @selected_bg_color;
color: @selected_fg_color;
font-weight: bold;
}
button.suggested-action:hover {
background-color: shade(@selected_bg_color, 1.1);
}
button.destructive-action {
background-color: @error_color;
color: @selected_fg_color;
}
/* Entry fields */
entry {
background-color: @base_color;
color: @text_color;
border: 1px solid @borders;
border-radius: 3px;
padding: 4px 8px;
}
entry:focus {
border-color: @selected_bg_color;
}
/* Notebooks / Tabs */
notebook {
background-color: @bg_color;
}
notebook tab {
background-color: shade(@bg_color, 0.9);
border: 1px solid @borders;
padding: 6px 12px;
}
notebook tab:checked {
background-color: @bg_color;
border-bottom-color: @bg_color;
}
/* Tree views / Lists */
treeview {
background-color: @base_color;
color: @text_color;
}
treeview:selected {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
list {
background-color: @base_color;
}
list row:selected {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
/* Scrollbars */
scrollbar {
background-color: @bg_color;
border: none;
}
scrollbar slider {
background-color: @borders;
border-radius: 6px;
min-width: 8px;
min-height: 8px;
}
scrollbar slider:hover {
background-color: @selected_bg_color;
}
scrollbar slider:active {
background-color: shade(@selected_bg_color, 0.8);
}
/* Progress bars */
progressbar {
background-color: @borders;
border-radius: 3px;
}
progressbar progress {
background-color: @selected_bg_color;
border-radius: 3px;
}
/* Switches */
switch {
background-color: @borders;
border-radius: 12px;
}
switch:checked {
background-color: @selected_bg_color;
}
switch slider {
background-color: @fg_color;
border-radius: 12px;
}
/* Tooltips */
tooltip {
background-color: @tooltip_bg_color;
color: @tooltip_fg_color;
border: 1px solid @borders;
border-radius: 3px;
}
/* Spin buttons */
spinbutton {
background-color: @base_color;
}
spinbutton:focus {
border-color: @selected_bg_color;
}
/* Combo boxes */
combobox {
background-color: @base_color;
}
/* Paned */
paned > separator {
background-color: @borders;
}
/* Infobar */
infobar {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
/* Frame */
frame {
border: 1px solid @borders;
}
/* Status bar */
statusbar {
background-color: @bg_color;
color: @fg_color;
}
/* Assistant / Dialog */
.dialog-vbox {
background-color: @bg_color;
}
/* Action bar */
actionbar {
background-color: @bg_color;
border-top: 1px solid @borders;
}
/* Colors for GtkInfoBar */
.info {
background-color: @selected_bg_color;
}
.warning {
background-color: @warning_color;
color: @base_color;
}
.question {
background-color: @selected_bg_color;
}
.error {
background-color: @error_color;
}
/* Level bar */
levelbar block {
background-color: @selected_bg_color;
}
levelbar block:disabled {
background-color: @insensitive_bg_color;
}
levelbar block.low {
background-color: @warning_color;
}
levelbar block.high {
background-color: @success_color;
}
levelbar block.full {
background-color: @success_color;
}
levelbar block.empty {
background-color: @borders;
}
/* Calendar */
calendar {
background-color: @base_color;
color: @text_color;
}
calendar:selected {
background-color: @selected_bg_color;
color: @selected_fg_color;
}
calendar.header {
background-color: @bg_color;
}
calendar.button {
background-color: @bg_color;
}
/* Scale / Sliders */
scale {
min-height: 20px;
}
scale trough {
background-color: @borders;
border-radius: 3px;
}
scale highlight {
background-color: @selected_bg_color;
border-radius: 3px;
}
scale slider {
background-color: @fg_color;
border-radius: 50%;
min-width: 16px;
min-height: 16px;
}
/* Check buttons and radio buttons */
check,
radio {
background-color: @base_color;
border: 1px solid @borders;
}
check:checked,
radio:checked {
background-color: @selected_bg_color;
border-color: @selected_bg_color;
}
@@ -0,0 +1,48 @@
/* Antergos NeXT GTK4 Theme */
/* Uses same colors as GTK3 variant */
@define-color accent_color #2EA3F2;
@define-color accent_bg_color #2EA3F2;
@define-color accent_fg_color #ffffff;
@define-color destructive_color #ed1515;
@define-color destructive_bg_color #ed1515;
@define-color destructive_fg_color #ffffff;
@define-color success_color #11d116;
@define-color success_bg_color #11d116;
@define-color success_fg_color #ffffff;
@define-color warning_color #fbbc15;
@define-color warning_bg_color #fbbc15;
@define-color warning_fg_color #1d1f21;
@define-color error_color #ed1515;
@define-color error_bg_color #ed1515;
@define-color error_fg_color #ffffff;
@define-color window_bg_color #232629;
@define-color window_fg_color #eff0f1;
@define-color view_bg_color #1d1f21;
@define-color view_fg_color #eff0f1;
@define-color headerbar_bg_color #1d1f21;
@define-color headerbar_fg_color #eff0f1;
@define-color headerbar_border_color #3f4347;
@define-color headerbar_backdrop_color #1d1f21;
@define-color card_bg_color #232629;
@define-color card_fg_color #eff0f1;
@define-color popover_bg_color #232629;
@define-color popover_fg_color #eff0f1;
@define-color dialog_bg_color #232629;
@define-color dialog_fg_color #eff0f1;
@define-color sidebar_bg_color #232629;
@define-color sidebar_fg_color #eff0f1;
@define-color sidebar_backdrop_color #232629;
@define-color sidebar_border_color #3f4347;
@define-color button_bg_color #31363b;
@define-color button_fg_color #eff0f1;
@define-color button_border_color #3f4347;
@define-color button_hover_bg_color #3f4347;
@define-color entry_bg_color #1d1f21;
@define-color entry_fg_color #eff0f1;
@define-color entry_border_color #3f4347;
@define-color outline_color rgba(46, 163, 242, 0.5);
@define-color scrollbar_bg_color #232629;
@define-color scrollbar_slider_color #3f4347;
@define-color scrollbar_slider_hover_color #2EA3F2;
@define-color scrollbar_slider_active_color #2EA3F2;
@@ -0,0 +1,14 @@
[Desktop Entry]
Type=X-GNOME-Metatheme
Name=Antergos NeXT
Comment=Antergos NeXT custom theme
Encoding=UTF-8
[X-GNOME-Metatheme]
GtkTheme=AntergosNeXT
MetacityTheme=AntergosNeXT
IconTheme=breeze-dark
CursorTheme=breeze_cursors
[GTK 3.0]
Modules=color-renderer
@@ -3,29 +3,58 @@
pkgname=antergos-next-desktop-settings
pkgver=1
pkgrel=1
pkgdesc="Antergos NeXT desktop settings and color scheme"
pkgdesc="Antergos NeXT desktop settings, theme, and color scheme"
arch=('any')
url="https://github.com/Antergos-NeXT/antergos-pkgs"
license=('GPL3')
source=(
"AntergosNeXT.colors"
"plasma-override"
depends=(
'breeze-icons'
'breeze-gtk'
'ttf-opensans'
'noto-fonts'
)
sha256sums=('SKIP' 'SKIP')
source=(
"AntergosNeXT/gtk-3.0/gtk.css"
"AntergosNeXT/gtk-4.0/gtk.css"
"AntergosNeXT/gtk-2.0/gtkrc"
"AntergosNeXT/index.theme"
"AntergosNeXT.colors"
"gtk-settings.ini"
"xsettings.xml"
"antergos-next-dconf"
)
sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
package() {
# Color scheme
# Custom GTK theme
install -dm755 "${pkgdir}/usr/share/themes/AntergosNeXT/gtk-3.0"
install -dm755 "${pkgdir}/usr/share/themes/AntergosNeXT/gtk-4.0"
install -dm755 "${pkgdir}/usr/share/themes/AntergosNeXT/gtk-2.0"
install -m644 "${srcdir}/AntergosNeXT/gtk-3.0/gtk.css" "${pkgdir}/usr/share/themes/AntergosNeXT/gtk-3.0/"
install -m644 "${srcdir}/AntergosNeXT/gtk-4.0/gtk.css" "${pkgdir}/usr/share/themes/AntergosNeXT/gtk-4.0/"
install -m644 "${srcdir}/AntergosNeXT/gtk-2.0/gtkrc" "${pkgdir}/usr/share/themes/AntergosNeXT/gtk-2.0/"
install -m644 "${srcdir}/AntergosNeXT/index.theme" "${pkgdir}/usr/share/themes/AntergosNeXT/"
# KDE Color scheme
install -dm755 "${pkgdir}/usr/share/color-schemes"
install -m644 "${srcdir}/AntergosNeXT.colors" "${pkgdir}/usr/share/color-schemes/"
# Plasma theme default override
install -dm755 "${pkgdir}/etc/xdg/plasma-workspace/env"
install -m644 "${srcdir}/plasma-override" "${pkgdir}/etc/xdg/plasma-workspace/env/"
# GTK settings (for all GTK-based DEs)
install -dm755 "${pkgdir}/etc/skel/.config/gtk-3.0"
install -m644 "${srcdir}/gtk-settings.ini" "${pkgdir}/etc/skel/.config/gtk-3.0/settings.ini"
# Set as default for new users via /etc/skel
# KDE defaults
install -dm755 "${pkgdir}/etc/skel/.config"
cat > "${pkgdir}/etc/skel/.config/kdeglobals" << 'EOF'
[General]
ColorScheme=Antergos NeXT
EOF
# XFCE defaults
install -dm755 "${pkgdir}/etc/xdg/xfce4/xfconf/xfce-perchannel-xml"
install -m644 "${srcdir}/xsettings.xml" "${pkgdir}/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/"
# dconf overrides (GNOME, Cinnamon, Budgie, Deepin)
install -dm755 "${pkgdir}/etc/dconf/db/local.d"
install -m644 "${srcdir}/antergos-next-dconf" "${pkgdir}/etc/dconf/db/local.d/antergos-next"
}
@@ -0,0 +1,24 @@
[org/gnome/desktop/interface]
gtk-theme='Breeze-Dark'
icon-theme='breeze-dark'
cursor-theme='breeze_cursors'
font-name='Noto Sans, 10'
color-scheme='prefer-dark'
[org/gnome/desktop/background]
picture-uri='file:///usr/share/backgrounds/antergos-next/default.jpg'
picture-uri-dark='file:///usr/share/backgrounds/antergos-next/default.jpg'
[org/gnome/desktop/screensaver]
picture-uri='file:///usr/share/backgrounds/antergos-next/default.jpg'
[org/cinnamon/desktop/interface]
gtk-theme='Breeze-Dark'
icon-theme='breeze-dark'
cursor-theme='breeze_cursors'
font-name='Noto Sans, 10'
[com/deepin/dde/appearance]
gtk-theme='Breeze-Dark'
icon-theme='breeze-dark'
cursor-theme='breeze_cursors'
@@ -0,0 +1,6 @@
[Settings]
gtk-font-name=Noto Sans, 10
gtk-icon-theme-name=breeze-dark
gtk-theme-name=Breeze-Dark
gtk-cursor-theme-name=breeze_cursors
gtk-application-prefer-dark-theme=1
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xsettings" version="1.0">
<property name="Net" type="empty">
<property name="ThemeName" type="string" value="Breeze-Dark"/>
<property name="IconThemeName" type="string" value="breeze-dark"/>
</property>
<property name="Gtk" type="empty">
<property name="CursorThemeName" type="string" value="breeze_cursors"/>
<property name="FontName" type="string" value="Noto Sans, 10"/>
</property>
</channel>