Phase 1: Alt+Tab switcher, dark GTK theme, alacritty terminal
- Alt+Tab now shows a centered visual switcher overlay with window cards; cycling with Tab, committing on Alt release, cancelling with Escape - GTK3 and GTK2 themes rewritten in dark navy palette matching skywm/ skydeskbar color constants (was an off-brand tan/BeOS palette) - Add alacritty to ISO packages with pre-configured dark color scheme; update all menu Terminal entries to launch alacritty instead of xterm - Add KeyReleaseMask to WM root event selection to detect Alt release Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
e641720a3c
commit
9089c14a19
10 files changed
+378
-101
No files matched your search
+24
-24
@@ -1,32 +1,31 @@
|
||||
# SkyOS GTK2 Theme — BeOS/SkyOS tan palette
|
||||
# Covers legacy GTK2 apps (GIMP, older system tools)
|
||||
# SkyOS GTK2 Theme — dark navy palette (legacy GTK2 apps)
|
||||
|
||||
gtk-color-scheme = "bg_color:#D8CEAA\nfg_color:#100800\nbase_color:#F5F0E0\ntext_color:#100800\nselected_bg_color:#4A6888\nselected_fg_color:#FFFFFF\ntooltip_bg_color:#FFFCE0\ntooltip_fg_color:#100800"
|
||||
gtk-color-scheme = "bg_color:#1E2436\nfg_color:#D8E4F4\nbase_color:#0E1424\ntext_color:#D8E4F4\nselected_bg_color:#1E4D78\nselected_fg_color:#F0F6FF\ntooltip_bg_color:#0C1020\ntooltip_fg_color:#D8E4F4"
|
||||
|
||||
style "default" {
|
||||
bg[NORMAL] = @bg_color
|
||||
bg[PRELIGHT] = "#E8DEC0"
|
||||
bg[ACTIVE] = "#B0A888"
|
||||
bg[PRELIGHT] = "#283650"
|
||||
bg[ACTIVE] = "#181E2E"
|
||||
bg[SELECTED] = @selected_bg_color
|
||||
bg[INSENSITIVE] = @bg_color
|
||||
bg[INSENSITIVE] = "#161C2A"
|
||||
|
||||
fg[NORMAL] = @fg_color
|
||||
fg[PRELIGHT] = @fg_color
|
||||
fg[ACTIVE] = @fg_color
|
||||
fg[SELECTED] = @selected_fg_color
|
||||
fg[INSENSITIVE] = "#7A7060"
|
||||
fg[INSENSITIVE] = "#48587A"
|
||||
|
||||
base[NORMAL] = @base_color
|
||||
base[PRELIGHT] = @base_color
|
||||
base[ACTIVE] = "#D0C8A8"
|
||||
base[PRELIGHT] = "#141C2A"
|
||||
base[ACTIVE] = "#0A101E"
|
||||
base[SELECTED] = @selected_bg_color
|
||||
base[INSENSITIVE] = @bg_color
|
||||
base[INSENSITIVE] = "#161C2A"
|
||||
|
||||
text[NORMAL] = @text_color
|
||||
text[PRELIGHT] = @text_color
|
||||
text[ACTIVE] = @text_color
|
||||
text[SELECTED] = @selected_fg_color
|
||||
text[INSENSITIVE] = "#7A7060"
|
||||
text[INSENSITIVE] = "#48587A"
|
||||
|
||||
GtkWidget::focus-line-width = 1
|
||||
GtkButton::default-border = { 1, 1, 1, 1 }
|
||||
@@ -35,17 +34,17 @@ style "default" {
|
||||
class "GtkWidget" style "default"
|
||||
|
||||
style "menubar" {
|
||||
bg[NORMAL] = "#C8BE9A"
|
||||
bg[PRELIGHT] = "#4A6888"
|
||||
fg[PRELIGHT] = "#FFFFFF"
|
||||
bg[NORMAL] = "#161C2A"
|
||||
bg[PRELIGHT] = "#1E4D78"
|
||||
fg[PRELIGHT] = "#F0F6FF"
|
||||
}
|
||||
class "GtkMenuBar" style "menubar"
|
||||
|
||||
style "menu" {
|
||||
bg[NORMAL] = "#D8CEAA"
|
||||
bg[PRELIGHT] = "#4A6888"
|
||||
fg[NORMAL] = "#100800"
|
||||
fg[PRELIGHT] = "#FFFFFF"
|
||||
bg[NORMAL] = "#161C2A"
|
||||
bg[PRELIGHT] = "#1E4D78"
|
||||
fg[NORMAL] = "#D8E4F4"
|
||||
fg[PRELIGHT] = "#F0F6FF"
|
||||
}
|
||||
class "GtkMenu" style "menu"
|
||||
class "GtkMenuItem" style "menu"
|
||||
@@ -60,13 +59,14 @@ style "entry" {
|
||||
bg[NORMAL] = @base_color
|
||||
bg[SELECTED] = @selected_bg_color
|
||||
fg[NORMAL] = @text_color
|
||||
text[NORMAL] = @text_color
|
||||
}
|
||||
class "GtkEntry" style "entry"
|
||||
|
||||
gtk-theme-name = "SkyOS"
|
||||
gtk-icon-theme-name = "Adwaita"
|
||||
gtk-font-name = "Sans 10"
|
||||
gtk-theme-name = "SkyOS"
|
||||
gtk-icon-theme-name = "Adwaita"
|
||||
gtk-font-name = "Sans 10"
|
||||
gtk-cursor-theme-name = "DMZ-White"
|
||||
gtk-button-images = 0
|
||||
gtk-menu-images = 0
|
||||
gtk-toolbar-style = GTK_TOOLBAR_ICONS
|
||||
gtk-button-images = 0
|
||||
gtk-menu-images = 0
|
||||
gtk-toolbar-style = GTK_TOOLBAR_ICONS
|
||||
@@ -1,25 +1,24 @@
|
||||
/* SkyOS GTK3 Theme — BeOS/SkyOS tan palette */
|
||||
/* SkyOS GTK3 Theme — dark navy palette matching skywm/skydeskbar */
|
||||
|
||||
/* ── variables ───────────────────────────────────────────────────────── */
|
||||
@define-color bg_color #D8CEAA;
|
||||
@define-color bg_dark #C8BE9A;
|
||||
@define-color bg_darker #B0A888;
|
||||
@define-color bg_light #E8DEC0;
|
||||
@define-color border_light #F0E8D0;
|
||||
@define-color border_dark #6B5F50;
|
||||
@define-color text_color #100800;
|
||||
@define-color text_disabled #7A7060;
|
||||
@define-color selected_bg #4A6888;
|
||||
@define-color selected_fg #FFFFFF;
|
||||
@define-color accent #4A6888;
|
||||
@define-color button_bg #C8BE9A;
|
||||
@define-color button_hover #D8D0B8;
|
||||
@define-color button_active #A89E88;
|
||||
@define-color entry_bg #F5F0E0;
|
||||
@define-color tooltip_bg #FFFCE0;
|
||||
@define-color link_color #2244AA;
|
||||
@define-color bg_color #1E2436;
|
||||
@define-color bg_dark #161C2A;
|
||||
@define-color bg_darker #0E1220;
|
||||
@define-color bg_light #262E42;
|
||||
@define-color border_light #3A6898;
|
||||
@define-color border_dark #080C18;
|
||||
@define-color text_color #D8E4F4;
|
||||
@define-color text_disabled #48587A;
|
||||
@define-color selected_bg #1E4D78;
|
||||
@define-color selected_fg #F0F6FF;
|
||||
@define-color accent #3A6898;
|
||||
@define-color button_bg #202A3C;
|
||||
@define-color button_hover #283650;
|
||||
@define-color button_active #181E2E;
|
||||
@define-color entry_bg #0E1424;
|
||||
@define-color tooltip_bg #0C1020;
|
||||
@define-color link_color #5088CC;
|
||||
|
||||
/* ── window / base ───────────────────────────────────────────────────── */
|
||||
/* ── base ─────────────────────────────────────────────────────────── */
|
||||
* {
|
||||
font-family: "Sans";
|
||||
font-size: 10pt;
|
||||
@@ -33,7 +32,7 @@ window, .background {
|
||||
color: @text_color;
|
||||
}
|
||||
|
||||
/* ── header bars ─────────────────────────────────────────────────────── */
|
||||
/* ── header bars ─────────────────────────────────────────────────── */
|
||||
headerbar, .titlebar {
|
||||
background: linear-gradient(to bottom, @bg_light, @bg_dark);
|
||||
border-bottom: 1px solid @border_dark;
|
||||
@@ -43,41 +42,42 @@ headerbar, .titlebar {
|
||||
}
|
||||
headerbar .title { font-weight: bold; }
|
||||
|
||||
/* ── buttons ─────────────────────────────────────────────────────────── */
|
||||
/* ── buttons ─────────────────────────────────────────────────────── */
|
||||
button {
|
||||
background: linear-gradient(to bottom, @border_light, @button_bg);
|
||||
background: linear-gradient(to bottom, @bg_light, @button_bg);
|
||||
border: 1px solid @border_dark;
|
||||
border-radius: 2px;
|
||||
padding: 3px 10px;
|
||||
color: @text_color;
|
||||
box-shadow: inset 1px 1px 0 @border_light, inset -1px -1px 0 @border_dark;
|
||||
box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), inset 0 -1px 0 rgba(0,0,0,0.3);
|
||||
}
|
||||
button:hover {
|
||||
background: linear-gradient(to bottom, #F8F0D8, @button_hover);
|
||||
background: linear-gradient(to bottom, @button_hover, @bg_light);
|
||||
border-color: @border_light;
|
||||
}
|
||||
button:active, button:checked {
|
||||
background: linear-gradient(to bottom, @button_active, @bg_darker);
|
||||
box-shadow: inset 1px 1px 0 @border_dark, inset -1px -1px 0 @border_light;
|
||||
background: linear-gradient(to bottom, @button_active, @bg_dark);
|
||||
box-shadow: inset 0 1px 0 rgba(0,0,0,0.3);
|
||||
}
|
||||
button:disabled {
|
||||
color: @text_disabled;
|
||||
background: @bg_color;
|
||||
}
|
||||
button.suggested-action {
|
||||
background: linear-gradient(to bottom, #5A7898, @accent);
|
||||
color: white;
|
||||
border-color: #3A5878;
|
||||
background: linear-gradient(to bottom, #2A5E88, @selected_bg);
|
||||
color: @selected_fg;
|
||||
border-color: #1A3E58;
|
||||
}
|
||||
button.destructive-action {
|
||||
background: linear-gradient(to bottom, #DD5555, #BB3333);
|
||||
background: linear-gradient(to bottom, #CC4444, #AA2222);
|
||||
color: white;
|
||||
border-color: #993333;
|
||||
border-color: #882222;
|
||||
}
|
||||
|
||||
/* ── menus ───────────────────────────────────────────────────────────── */
|
||||
/* ── menus ───────────────────────────────────────────────────────── */
|
||||
menu, .menu, .context-menu {
|
||||
background-color: @bg_color;
|
||||
border: 1px solid @border_dark;
|
||||
background-color: @bg_dark;
|
||||
border: 1px solid @border_light;
|
||||
padding: 2px 0;
|
||||
}
|
||||
menuitem {
|
||||
@@ -96,22 +96,22 @@ separator, menuitem > separator {
|
||||
margin: 3px 6px;
|
||||
}
|
||||
|
||||
/* ── entries (text input) ────────────────────────────────────────────── */
|
||||
/* ── text inputs ─────────────────────────────────────────────────── */
|
||||
entry {
|
||||
background-color: @entry_bg;
|
||||
border: 1px solid @border_dark;
|
||||
border-radius: 1px;
|
||||
padding: 3px 6px;
|
||||
color: @text_color;
|
||||
box-shadow: inset 1px 1px 2px rgba(0,0,0,0.12);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
|
||||
}
|
||||
entry:focus {
|
||||
border-color: @accent;
|
||||
box-shadow: inset 1px 1px 2px rgba(0,0,0,0.12), 0 0 0 2px rgba(74,104,136,0.25);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,0.4), 0 0 0 2px rgba(58,104,152,0.35);
|
||||
}
|
||||
entry:disabled { background-color: @bg_color; color: @text_disabled; }
|
||||
entry:disabled { background-color: @bg_darker; color: @text_disabled; }
|
||||
|
||||
/* ── lists & trees ───────────────────────────────────────────────────── */
|
||||
/* ── lists & trees ───────────────────────────────────────────────── */
|
||||
treeview, listview, .view {
|
||||
background-color: @entry_bg;
|
||||
color: @text_color;
|
||||
@@ -127,8 +127,9 @@ treeview header button {
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
treeview.odd-row { background-color: @bg_darker; }
|
||||
|
||||
/* ── notebooks (tabs) ────────────────────────────────────────────────── */
|
||||
/* ── notebooks (tabs) ────────────────────────────────────────────── */
|
||||
notebook > header {
|
||||
background-color: @bg_darker;
|
||||
border-bottom: 1px solid @border_dark;
|
||||
@@ -140,15 +141,17 @@ notebook > header tab {
|
||||
padding: 4px 12px;
|
||||
margin-right: 2px;
|
||||
border-radius: 2px 2px 0 0;
|
||||
color: @text_disabled;
|
||||
}
|
||||
notebook > header tab:checked {
|
||||
background-color: @bg_color;
|
||||
border-bottom: 1px solid @bg_color;
|
||||
margin-bottom: -1px;
|
||||
color: @text_color;
|
||||
}
|
||||
notebook > stack { background-color: @bg_color; }
|
||||
|
||||
/* ── scrollbars ──────────────────────────────────────────────────────── */
|
||||
/* ── scrollbars ──────────────────────────────────────────────────── */
|
||||
scrollbar {
|
||||
background-color: @bg_darker;
|
||||
border: 1px solid @border_dark;
|
||||
@@ -160,45 +163,46 @@ scrollbar slider {
|
||||
min-width: 12px;
|
||||
min-height: 12px;
|
||||
}
|
||||
scrollbar slider:hover { background-color: @button_hover; }
|
||||
scrollbar button { background-color: @bg_dark; }
|
||||
scrollbar slider:hover { background-color: @button_hover; border-color: @border_light; }
|
||||
scrollbar button { background-color: @bg_dark; color: @text_color; }
|
||||
|
||||
/* ── toolbars ────────────────────────────────────────────────────────── */
|
||||
/* ── toolbars ────────────────────────────────────────────────────── */
|
||||
toolbar, .toolbar {
|
||||
background: linear-gradient(to bottom, @bg_light, @bg_dark);
|
||||
border-bottom: 1px solid @border_dark;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
/* ── statusbar ───────────────────────────────────────────────────────── */
|
||||
/* ── statusbar ───────────────────────────────────────────────────── */
|
||||
statusbar {
|
||||
background-color: @bg_darker;
|
||||
border-top: 1px solid @border_dark;
|
||||
padding: 2px 6px;
|
||||
font-size: 9pt;
|
||||
color: @text_disabled;
|
||||
}
|
||||
|
||||
/* ── tooltips ────────────────────────────────────────────────────────── */
|
||||
/* ── tooltips ────────────────────────────────────────────────────── */
|
||||
tooltip {
|
||||
background-color: @tooltip_bg;
|
||||
border: 1px solid @border_dark;
|
||||
border: 1px solid @border_light;
|
||||
color: @text_color;
|
||||
padding: 4px 8px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* ── progress bars ───────────────────────────────────────────────────── */
|
||||
/* ── progress bars ───────────────────────────────────────────────── */
|
||||
progressbar trough {
|
||||
background-color: @bg_darker;
|
||||
border: 1px solid @border_dark;
|
||||
border-radius: 1px;
|
||||
}
|
||||
progressbar progress {
|
||||
background-color: @accent;
|
||||
background: linear-gradient(to right, @selected_bg, @accent);
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
/* ── checkboxes & radio buttons ──────────────────────────────────────── */
|
||||
/* ── checkboxes & radio buttons ──────────────────────────────────── */
|
||||
checkbutton check, radiobutton radio {
|
||||
background-color: @entry_bg;
|
||||
border: 1px solid @border_dark;
|
||||
@@ -206,24 +210,32 @@ checkbutton check, radiobutton radio {
|
||||
min-height: 14px;
|
||||
}
|
||||
checkbutton check:checked {
|
||||
background-color: @accent;
|
||||
color: white;
|
||||
background-color: @selected_bg;
|
||||
border-color: @accent;
|
||||
color: @selected_fg;
|
||||
}
|
||||
radiobutton radio:checked { background-color: @accent; }
|
||||
radiobutton radio:checked { background-color: @selected_bg; border-color: @accent; }
|
||||
|
||||
/* ── spin buttons ────────────────────────────────────────────────────── */
|
||||
/* ── spin buttons ────────────────────────────────────────────────── */
|
||||
spinbutton { background-color: @entry_bg; border: 1px solid @border_dark; }
|
||||
spinbutton button { border-radius: 0; padding: 0 4px; }
|
||||
spinbutton button { border-radius: 0; padding: 0 4px; background: @bg_dark; }
|
||||
|
||||
/* ── combo boxes ─────────────────────────────────────────────────────── */
|
||||
/* ── combo boxes ─────────────────────────────────────────────────── */
|
||||
combobox button {
|
||||
background: linear-gradient(to bottom, @border_light, @button_bg);
|
||||
background: linear-gradient(to bottom, @bg_light, @button_bg);
|
||||
}
|
||||
|
||||
/* ── file chooser ────────────────────────────────────────────────────── */
|
||||
.sidebar { background-color: @bg_darker; }
|
||||
/* ── sidebar (file chooser) ──────────────────────────────────────── */
|
||||
.sidebar { background-color: @bg_darker; border-right: 1px solid @border_dark; }
|
||||
.sidebar row { color: @text_color; }
|
||||
.sidebar row:selected { background-color: @selected_bg; color: @selected_fg; }
|
||||
|
||||
/* ── links ───────────────────────────────────────────────────────────── */
|
||||
*:link { color: @link_color; }
|
||||
*:visited { color: #6644AA; }
|
||||
/* ── links ───────────────────────────────────────────────────────── */
|
||||
*:link { color: @link_color; }
|
||||
*:visited { color: #8860CC; }
|
||||
|
||||
/* ── infobar / message bar ───────────────────────────────────────── */
|
||||
infobar { background-color: @bg_light; border-bottom: 1px solid @border_dark; }
|
||||
|
||||
/* ── Thunar-specific tweaks ──────────────────────────────────────── */
|
||||
.thunar .pathbar button { border-radius: 2px; margin: 1px; }
|
||||
Reference in new issue
Block a user