buffybox/shared/themes.c

985 lines
25 KiB
C
Raw Normal View History

/**
* Copyright 2021 Johannes Marbach
* SPDX-License-Identifier: GPL-3.0-or-later
*/
2024-01-12 10:00:05 +01:00
#include "themes.h"
#include "log.h"
2024-03-28 13:44:33 +01:00
2024-03-28 13:27:01 +01:00
#include <string.h>
/**
* Static variables
*/
/* Breezy light (based on KDE Breeze color palette, see https://develop.kde.org/hig/style/color/default/) */
2024-03-30 20:52:01 +01:00
static const bbx_theme breezy_light = {
.name = "breezy-light",
.window = {
.bg_color = 0xeff0f1
},
.header = {
.bg_color = 0xfcfcfc,
.border_width = 1,
.border_color = 0xbdc3c7,
.pad = 10,
.gap = 10
},
.keyboard = {
.bg_color = 0xfcfcfc,
.border_width = 1,
.border_color = 0xbdc3c7,
.pad = 10,
.gap = 10,
.keys = {
.border_width = 1,
.corner_radius = 5,
.key_char = {
.normal = {
.fg_color = 0x232629,
.bg_color = 0xeff0f1,
.border_color = 0xbdc3c7
},
.pressed = {
.fg_color = 0x232629,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.key_non_char = {
.normal = {
.fg_color = 0x232629,
.bg_color = 0xbdc3c7,
.border_color = 0x7f8c8d
},
.pressed = {
.fg_color = 0x232629,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.key_mod_act = {
.normal = {
.fg_color = 0x232629,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
},
.pressed = {
.fg_color = 0x232629,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.key_mod_inact = {
.normal = {
.fg_color = 0x232629,
.bg_color = 0xbdc3c7,
.border_color = 0x7f8c8d
},
.pressed = {
.fg_color = 0x232629,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
}
}
},
.button = {
.border_width = 1,
.corner_radius = 5,
.pad = 5,
.normal = {
.fg_color = 0x232629,
.bg_color = 0xeff0f1,
.border_color = 0xbdc3c7
},
.pressed = {
.fg_color = 0x232629,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.textarea = {
.fg_color = 0x232629,
.bg_color = 0xfcfcfc,
.border_width = 1,
.border_color = 0xbdc3c7,
.corner_radius = 5,
.pad = 5,
.placeholder_color = 0x7f8c8d,
.cursor = {
.width = 1,
.color = 0x232629,
.period = 700
}
},
.dropdown = {
2022-11-05 21:29:21 +01:00
.button = {
.border_width = 1,
.corner_radius = 5,
2022-11-05 21:29:21 +01:00
.pad = 5,
.normal = {
.fg_color = 0x232629,
.bg_color = 0xeff0f1,
.border_color = 0xbdc3c7
},
.pressed = {
.fg_color = 0x232629,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.list = {
.fg_color = 0x232629,
.bg_color = 0xfcfcfc,
.selection_fg_color = 0x232629,
.selection_bg_color = 0x3daee9,
.border_width = 1,
.border_color = 0xbdc3c7,
.corner_radius = 0,
.pad = 0
}
},
.label = {
.fg_color = 0x232629
},
.msgbox = {
.fg_color = 0x232629,
.bg_color = 0xeff0f1,
.border_width = 1,
.border_color = 0xbdc3c7,
.corner_radius = 0,
2022-11-10 20:59:50 +01:00
.pad = 20,
.gap = 20,
.dimming = {
.color = 0x232629,
.opacity = 178
}
2022-10-14 20:14:16 +02:00
},
.bar = {
.border_width = 1,
.border_color = 0x3daee9,
.corner_radius = 5,
.indicator = {
.bg_color = 0x3daee9
}
}
};
/* Breezy dark (based on KDE Breeze Dark color palette, see https://develop.kde.org/hig/style/color/dark/) */
2024-03-30 20:52:01 +01:00
static const bbx_theme breezy_dark = {
.name = "breezy-dark",
.window = {
.bg_color = 0x31363b
},
.header = {
.bg_color = 0x232629,
.border_width = 1,
2021-10-08 21:05:26 +02:00
.border_color = 0x7f8c8d,
.pad = 10,
.gap = 10
},
.keyboard = {
.bg_color = 0x232629,
.border_width = 1,
2021-10-08 21:05:26 +02:00
.border_color = 0x7f8c8d,
.pad = 10,
.gap = 10,
.keys = {
.border_width = 1,
.corner_radius = 5,
.key_char = {
.normal = {
.fg_color = 0xeff0f1,
.bg_color = 0x31363b,
2021-10-08 21:05:26 +02:00
.border_color = 0xbdc3c7
},
.pressed = {
.fg_color = 0xeff0f1,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.key_non_char = {
.normal = {
.fg_color = 0xeff0f1,
2021-10-08 21:05:26 +02:00
.bg_color = 0x232629,
.border_color = 0x7f8c8d
},
.pressed = {
.fg_color = 0xeff0f1,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.key_mod_act = {
.normal = {
.fg_color = 0xeff0f1,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
},
.pressed = {
.fg_color = 0xeff0f1,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.key_mod_inact = {
.normal = {
.fg_color = 0xeff0f1,
2021-10-08 21:05:26 +02:00
.bg_color = 0x232629,
.border_color = 0x7f8c8d
},
.pressed = {
.fg_color = 0xeff0f1,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
}
}
},
.button = {
.border_width = 1,
.corner_radius = 5,
.pad = 5,
.normal = {
.fg_color = 0xeff0f1,
.bg_color = 0x31363b,
2021-10-08 21:05:26 +02:00
.border_color = 0xbdc3c7
},
.pressed = {
.fg_color = 0xeff0f1,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.textarea = {
.fg_color = 0xeff0f1,
.bg_color = 0x232629,
.border_width = 1,
2021-10-08 21:05:26 +02:00
.border_color = 0x7f8c8d,
.corner_radius = 5,
.pad = 5,
.placeholder_color = 0x7f8c8d,
.cursor = {
.width = 1,
.color = 0xeff0f1,
.period = 700
}
},
.dropdown = {
2022-11-05 21:29:21 +01:00
.button = {
.border_width = 1,
.corner_radius = 5,
2022-11-05 21:29:21 +01:00
.pad = 5,
.normal = {
.fg_color = 0xeff0f1,
.bg_color = 0x31363b,
.border_color = 0xbdc3c7
},
.pressed = {
.fg_color = 0xeff0f1,
.bg_color = 0x3daee9,
.border_color = 0x2980b9
}
},
.list = {
.fg_color = 0xeff0f1,
.bg_color = 0x232629,
.selection_fg_color = 0x232629,
.selection_bg_color = 0x3daee9,
.border_width = 1,
2021-10-08 21:05:26 +02:00
.border_color = 0x7f8c8d,
.corner_radius = 0,
.pad = 0
}
},
.label = {
.fg_color = 0xeff0f1
},
.msgbox = {
.fg_color = 0xeff0f1,
.bg_color = 0x31363b,
.border_width = 1,
.border_color = 0x3b4045,
.corner_radius = 0,
2022-11-10 20:59:50 +01:00
.pad = 20,
.gap = 20,
.dimming = {
.color = 0x232629,
.opacity = 178
}
2022-10-14 20:14:16 +02:00
},
.bar = {
.border_width = 1,
.border_color = 0x3daee9,
.corner_radius = 5,
.indicator = {
.bg_color = 0x3daee9
}
}
};
2022-11-06 21:38:00 +01:00
/* pmOS light (based on palette https://coolors.co/009900-395e66-db504a-e3b505-ebf5ee) */
2024-03-30 20:52:01 +01:00
static const bbx_theme pmos_light = {
.name = "pmos-light",
.window = {
2022-11-06 13:44:58 +01:00
.bg_color = 0xf2f7f8,
},
.header = {
2022-11-06 13:44:58 +01:00
.bg_color = 0xf2f7f8,
2022-11-05 21:29:21 +01:00
.border_width = 0,
2022-11-06 13:44:58 +01:00
.border_color = 0xf2f7f8,
2022-11-05 21:29:21 +01:00
.pad = 20,
.gap = 10
},
.keyboard = {
2022-11-06 13:44:58 +01:00
.bg_color = 0xd8e6e9,
2022-11-05 21:29:21 +01:00
.border_width = 2,
2022-11-06 13:44:58 +01:00
.border_color = 0x97bcc4,
2022-11-05 21:29:21 +01:00
.pad = 20,
.gap = 10,
.keys = {
2022-11-05 21:29:21 +01:00
.border_width = 1,
.corner_radius = 3,
.key_char = {
.normal = {
2022-11-06 13:44:58 +01:00
.fg_color = 0x070c0d,
.bg_color = 0xd8e6e9,
.border_color = 0x97bcc4
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.key_non_char = {
.normal = {
2022-11-06 21:34:46 +01:00
.fg_color = 0x070c0d,
.bg_color = 0xbed5da,
2022-11-07 20:05:32 +01:00
.border_color = 0xb1cdd3
2022-11-06 13:44:58 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.key_mod_act = {
.normal = {
2022-11-07 20:14:51 +01:00
.fg_color = 0x009900,
.bg_color = 0xbed5da,
.border_color = 0x009900
2022-11-06 13:44:58 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
2022-11-07 20:14:51 +01:00
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.key_mod_inact = {
.normal = {
2022-11-06 21:34:46 +01:00
.fg_color = 0x070c0d,
.bg_color = 0xbed5da,
2022-11-07 20:05:32 +01:00
.border_color = 0xb1cdd3
2022-11-06 13:44:58 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
2022-11-07 20:14:51 +01:00
.bg_color = 0x009900,
.border_color = 0x009900
}
}
}
},
.button = {
2022-11-05 21:29:21 +01:00
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
2022-11-06 13:44:58 +01:00
.fg_color = 0x070c0d,
2022-11-06 21:34:46 +01:00
.bg_color = 0xbed5da,
2022-11-07 20:05:32 +01:00
.border_color = 0xb1cdd3
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.textarea = {
2022-11-06 13:44:58 +01:00
.fg_color = 0x070c0d,
2022-11-06 21:34:46 +01:00
.bg_color = 0xebffeb,
2022-11-05 21:29:21 +01:00
.border_width = 1,
2022-11-06 21:34:46 +01:00
.border_color = 0x009900,
2022-11-05 21:29:21 +01:00
.corner_radius = 3,
.pad = 8,
2022-11-06 21:34:46 +01:00
.placeholder_color = 0x009900,
.cursor = {
.width = 2,
2022-11-06 21:34:46 +01:00
.color = 0x009900,
.period = 700
}
},
.dropdown = {
2022-11-05 21:29:21 +01:00
.button = {
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
2022-11-06 13:44:58 +01:00
.fg_color = 0x070c0d,
2022-11-06 21:34:46 +01:00
.bg_color = 0xbed5da,
2022-11-07 20:05:32 +01:00
.border_color = 0xb1cdd3
2022-11-05 21:29:21 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
2022-11-05 21:29:21 +01:00
}
},
.list = {
2022-11-06 13:44:58 +01:00
.fg_color = 0x070c0d,
.bg_color = 0xd8e6e9,
2022-11-06 21:34:46 +01:00
.selection_fg_color = 0xf2f7f8,
.selection_bg_color = 0x009900,
2022-11-05 21:29:21 +01:00
.border_width = 1,
2022-11-06 13:44:58 +01:00
.border_color = 0x97bcc4,
.corner_radius = 0,
2022-11-05 21:29:21 +01:00
.pad = 8
}
},
.label = {
2022-11-06 13:44:58 +01:00
.fg_color = 0x070c0d
},
.msgbox = {
2022-11-06 13:44:58 +01:00
.fg_color = 0x070c0d,
2022-11-06 21:38:00 +01:00
.bg_color = 0xd8e6e9,
2022-11-05 21:29:21 +01:00
.border_width = 1,
2022-11-06 13:44:58 +01:00
.border_color = 0x97bcc4,
2022-11-05 21:29:21 +01:00
.corner_radius = 3,
.pad = 20,
2022-11-10 20:59:50 +01:00
.gap = 20,
.dimming = {
2022-11-06 13:44:58 +01:00
.color = 0x070c0d,
.opacity = 225
}
2022-10-14 20:14:16 +02:00
},
.bar = {
.border_width = 1,
.border_color = 0x009900,
2022-11-05 21:29:21 +01:00
.corner_radius = 3,
2022-10-14 20:14:16 +02:00
.indicator = {
.bg_color = 0x009900
}
}
};
2022-11-06 21:38:00 +01:00
/* pmOS dark (based on palette https://coolors.co/009900-395e66-db504a-e3b505-ebf5ee) */
2024-03-30 20:52:01 +01:00
static const bbx_theme pmos_dark = {
.name = "pmos-dark",
.window = {
2022-11-06 13:44:58 +01:00
.bg_color = 0x070c0d
},
.header = {
2022-11-06 13:44:58 +01:00
.bg_color = 0x070c0d,
2022-11-05 21:29:21 +01:00
.border_width = 0,
2022-11-06 13:44:58 +01:00
.border_color = 0x070c0d,
2022-11-05 21:29:21 +01:00
.pad = 20,
.gap = 10
},
.keyboard = {
2022-11-06 13:44:58 +01:00
.bg_color = 0x162427,
2022-11-05 21:29:21 +01:00
.border_width = 2,
2022-11-06 13:44:58 +01:00
.border_color = 0x395e66,
2022-11-05 21:29:21 +01:00
.pad = 20,
.gap = 10,
.keys = {
2022-11-05 21:29:21 +01:00
.border_width = 1,
.corner_radius = 3,
.key_char = {
.normal = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
2022-11-06 13:44:58 +01:00
.bg_color = 0x162427,
.border_color = 0x395e66
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.key_non_char = {
.normal = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x253c41,
2022-11-07 20:05:32 +01:00
.border_color = 0x2c484e
2022-11-06 13:44:58 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.key_mod_act = {
.normal = {
2022-11-07 20:14:51 +01:00
.fg_color = 0x009900,
.bg_color = 0x253c41,
.border_color = 0x009900
2022-11-06 13:44:58 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
2022-11-07 20:14:51 +01:00
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.key_mod_inact = {
.normal = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x253c41,
2022-11-07 20:05:32 +01:00
.border_color = 0x2c484e
2022-11-06 13:44:58 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
2022-11-07 20:14:51 +01:00
.bg_color = 0x009900,
.border_color = 0x009900
}
}
}
},
.button = {
2022-11-05 21:29:21 +01:00
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x253c41,
2022-11-07 20:05:32 +01:00
.border_color = 0x2c484e
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
},
.textarea = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x002900,
2022-11-05 21:29:21 +01:00
.border_width = 1,
2022-11-06 21:34:46 +01:00
.border_color = 0x009900,
2022-11-05 21:29:21 +01:00
.corner_radius = 3,
.pad = 8,
2022-11-06 21:34:46 +01:00
.placeholder_color = 0x009900,
.cursor = {
.width = 2,
2022-11-06 21:34:46 +01:00
.color = 0x009900,
.period = 700
}
},
.dropdown = {
2022-11-05 21:29:21 +01:00
.button = {
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x253c41,
2022-11-07 20:05:32 +01:00
.border_color = 0x2c484e
2022-11-05 21:29:21 +01:00
},
.pressed = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
2022-11-05 21:29:21 +01:00
}
},
.list = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
2022-11-06 13:44:58 +01:00
.bg_color = 0x162427,
2022-11-06 21:34:46 +01:00
.selection_fg_color = 0xf2f7f8,
.selection_bg_color = 0x009900,
2022-11-05 21:29:21 +01:00
.border_width = 1,
2022-11-06 13:44:58 +01:00
.border_color = 0x395e66,
.corner_radius = 0,
2022-11-05 21:29:21 +01:00
.pad = 8
}
},
.label = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
},
.msgbox = {
2022-11-06 21:34:46 +01:00
.fg_color = 0xf2f7f8,
2022-11-06 21:38:00 +01:00
.bg_color = 0x162427,
2022-11-05 21:29:21 +01:00
.border_width = 1,
2022-11-06 13:44:58 +01:00
.border_color = 0x395e66,
2022-11-05 21:29:21 +01:00
.corner_radius = 3,
.pad = 20,
2022-11-10 20:59:50 +01:00
.gap = 20,
.dimming = {
2022-11-06 13:44:58 +01:00
.color = 0x070c0d,
.opacity = 225
}
2022-10-14 20:14:16 +02:00
},
.bar = {
.border_width = 1,
.border_color = 0x009900,
2022-11-05 21:29:21 +01:00
.corner_radius = 3,
2022-10-14 20:14:16 +02:00
.indicator = {
.bg_color = 0x009900
}
}
};
2024-03-31 20:53:27 +02:00
/* Nord themes (based on https://www.nordtheme.com/docs/colors-and-palettes) */
#define NORD0 0x2e3440
#define NORD1 0x3b4252
#define NORD2 0x434c5e
#define NORD3 0x4c566a
#define NORD4 0xd8dee9
#define NORD5 0xe5e9f0
#define NORD6 0xeceff4
#define NORD7 0x8fbcbb
#define NORD8 0x88c0d0
#define NORD9 0x81a1c1
#define NORD10 0x5e81ac
#define NORD11 0xbf616a
#define NORD12 0xd08770
#define NORD13 0xebcb8b
#define NORD14 0xa3be8c
#define NORD15 0xb48ead
static const bbx_theme nord_light = {
.name = "nord-light",
.window = {
.bg_color = NORD6,
},
.header = {
.bg_color = NORD4,
.border_width = 1,
.border_color = NORD4,
.pad = 20,
.gap = 10
},
.keyboard = {
.bg_color = NORD4,
.border_width = 1,
.border_color = NORD4,
.pad = 20,
.gap = 10,
.keys = {
.border_width = 1,
.corner_radius = 3,
.key_char = {
.normal = {
.fg_color = NORD0,
.bg_color = NORD9,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.key_non_char = {
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.key_mod_act = {
.normal = {
.fg_color = NORD10,
.bg_color = 0xbed5da,
.border_color = 0x009900
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.key_mod_inact = {
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
}
}
},
.button = {
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.textarea = {
.fg_color = NORD0,
.bg_color = NORD5,
.border_width = 1,
.border_color = NORD0,
.corner_radius = 3,
.pad = 8,
.placeholder_color = NORD10,
.cursor = {
.width = 2,
.color = NORD0,
.period = 700
}
},
.dropdown = {
.button = {
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.list = {
.fg_color = NORD0,
.bg_color = NORD4,
.selection_fg_color = NORD6,
.selection_bg_color = NORD10,
.border_width = 1,
.border_color = NORD10,
.corner_radius = 0,
.pad = 8
}
},
.label = {
.fg_color = 0x070c0d
},
.msgbox = {
.fg_color = NORD0,
.bg_color = NORD4,
.border_width = 1,
.border_color = NORD10,
.corner_radius = 3,
.pad = 20,
.gap = 20,
.dimming = {
.color = NORD0,
.opacity = 225
}
},
.bar = {
.border_width = 1,
.border_color = 0x009900,
.corner_radius = 3,
.indicator = {
.bg_color = 0x009900
}
}
};
static const bbx_theme nord_dark = {
.name = "nord-dark",
.window = {
.bg_color = NORD0,
},
.header = {
.bg_color = NORD1,
.border_width = 1,
.border_color = NORD2,
.pad = 20,
.gap = 10
},
.keyboard = {
.bg_color = NORD1,
.border_width = 1,
.border_color = NORD2,
.pad = 20,
.gap = 10,
.keys = {
.border_width = 1,
.corner_radius = 3,
.key_char = {
.normal = {
.fg_color = NORD0,
.bg_color = NORD9,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.key_non_char = {
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.key_mod_act = {
.normal = {
.fg_color = NORD10,
.bg_color = 0xbed5da,
.border_color = 0x009900
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.key_mod_inact = {
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = 0xf2f7f8,
.bg_color = 0x009900,
.border_color = 0x009900
}
}
}
},
.button = {
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.textarea = {
.fg_color = NORD6,
.bg_color = NORD2,
.border_width = 1,
.border_color = NORD4,
.corner_radius = 3,
.pad = 8,
.placeholder_color = NORD10,
.cursor = {
.width = 2,
.color = NORD4,
.period = 700
}
},
.dropdown = {
.button = {
.border_width = 1,
.corner_radius = 3,
.pad = 8,
.normal = {
.fg_color = NORD0,
.bg_color = NORD8,
.border_color = NORD10
},
.pressed = {
.fg_color = NORD6,
.bg_color = NORD10,
.border_color = NORD10
}
},
.list = {
.fg_color = NORD6,
.bg_color = NORD1,
.selection_fg_color = NORD6,
.selection_bg_color = NORD10,
.border_width = 1,
.border_color = NORD10,
.corner_radius = 0,
.pad = 8
}
},
.label = {
.fg_color = 0x070c0d
},
.msgbox = {
.fg_color = NORD6,
.bg_color = NORD1,
.border_width = 1,
.border_color = NORD10,
.corner_radius = 3,
.pad = 20,
.gap = 20,
.dimming = {
.color = NORD0,
.opacity = 225
}
},
.bar = {
.border_width = 1,
.border_color = 0x009900,
.corner_radius = 3,
.indicator = {
.bg_color = 0x009900
}
}
};
/**
* Public interface
*/
2024-03-31 20:53:27 +02:00
const int bbx_themes_num_themes = 6;
2024-03-30 20:52:01 +01:00
const bbx_theme *bbx_themes_themes[] = {
2024-03-30 20:09:54 +01:00
&breezy_light,
&breezy_dark,
&pmos_light,
2024-03-31 20:53:27 +02:00
&pmos_dark,
&nord_light,
&nord_dark,
};
2024-03-30 20:52:01 +01:00
bbx_themes_theme_id_t bbx_themes_find_theme_with_name(const char *name) {
for (int i = 0; i < bbx_themes_num_themes; ++i) {
if (strcmp(bbx_themes_themes[i]->name, name) == 0) {
bbx_log(BBX_LOG_LEVEL_VERBOSE, "Found theme: %s\n", name);
return i;
}
}
2024-03-30 20:52:01 +01:00
bbx_log(BBX_LOG_LEVEL_WARNING, "Theme %s not found\n", name);
return BBX_THEMES_THEME_NONE;
}