Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimal custom themes implementation #330

Merged
merged 22 commits into from
Aug 7, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
2d00141
Define palette extension structs.
joshuamegnauth54 Jul 31, 2023
54b4abf
Draft out skeleton for minimal custom themes.
joshuamegnauth54 Jul 31, 2023
3efdceb
Add `Dracula` as an example theme to test.
joshuamegnauth54 Aug 1, 2023
5e333e3
Automatically append custom styles to settings.
joshuamegnauth54 Aug 2, 2023
2044602
Add gruvbox.
joshuamegnauth54 Aug 3, 2023
5722964
Fix deserializing `StyleType::Custom`.
joshuamegnauth54 Aug 3, 2023
474aaeb
Merge remote-tracking branch 'upstream/main' into custom_themes_minimal
joshuamegnauth54 Aug 4, 2023
e1a1c7f
Add style Solarized light.
joshuamegnauth54 Aug 4, 2023
5386d87
improvements to style settings page layout
GyulyVGC Aug 4, 2023
dd3f5ac
format files and fix lints
GyulyVGC Aug 4, 2023
85a6596
use StyleType::is_nightly to determine font weights
GyulyVGC Aug 4, 2023
b165fcd
fix tests
GyulyVGC Aug 4, 2023
306c46d
Add style Solarized dark.
joshuamegnauth54 Aug 5, 2023
d677171
Add Nord and update solarized.
joshuamegnauth54 Aug 5, 2023
2a4ca7f
improvements to overall palettes structure and colors
GyulyVGC Aug 5, 2023
09deb57
Add Nord (Day) as a light theme.
joshuamegnauth54 Aug 6, 2023
5004407
Add Gruvbox light.
joshuamegnauth54 Aug 6, 2023
a344376
fixed highlighted text and minor palettes improvements
GyulyVGC Aug 6, 2023
ff0c702
Add a light variation of Dracula.
joshuamegnauth54 Aug 7, 2023
32ec19f
fix Dracula Light palette
GyulyVGC Aug 7, 2023
66f1b8d
refactoring
GyulyVGC Aug 7, 2023
0b56a2a
some more refactoring
GyulyVGC Aug 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add Gruvbox light.
  • Loading branch information
joshuamegnauth54 committed Aug 6, 2023
commit 50044079bceb5340c1e35910d8e172cd1e10f242
21 changes: 14 additions & 7 deletions src/gui/styles/types/custom_styles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ pub struct PaletteExtension {
#[serde(tag = "custom")]
pub enum ExtraStyles {
Dracula,
Gruvbox,
GruvboxDark,
GruvboxLight,
NordLight,
NordDark,
SolarizedDark,
Expand All @@ -48,7 +49,8 @@ impl ExtraStyles {
pub fn to_palette(self) -> Palette {
match self {
ExtraStyles::Dracula => dracula::dracula().palette,
ExtraStyles::Gruvbox => gruvbox::gruvbox_dark().palette,
ExtraStyles::GruvboxDark => gruvbox::gruvbox_dark().palette,
ExtraStyles::GruvboxLight => gruvbox::gruvbox_light().palette,
ExtraStyles::NordLight => nord::nord_day().palette,
ExtraStyles::NordDark => nord::nord_night().palette,
ExtraStyles::SolarizedDark => solarized::solarized_dark().palette,
Expand All @@ -61,7 +63,8 @@ impl ExtraStyles {
pub fn to_ext(self) -> PaletteExtension {
match self {
ExtraStyles::Dracula => dracula::dracula().extension,
ExtraStyles::Gruvbox => gruvbox::gruvbox_dark().extension,
ExtraStyles::GruvboxDark => gruvbox::gruvbox_dark().extension,
ExtraStyles::GruvboxLight => gruvbox::gruvbox_light().extension,
ExtraStyles::NordLight => nord::nord_day().extension,
ExtraStyles::NordDark => nord::nord_night().extension,
ExtraStyles::SolarizedDark => solarized::solarized_dark().extension,
Expand All @@ -74,10 +77,12 @@ impl ExtraStyles {
pub const fn is_nightly(self) -> bool {
match self {
ExtraStyles::Dracula
| ExtraStyles::Gruvbox
| ExtraStyles::GruvboxDark
| ExtraStyles::NordDark
| ExtraStyles::SolarizedDark => true,
ExtraStyles::NordLight | ExtraStyles::SolarizedLight => false,
ExtraStyles::GruvboxLight | ExtraStyles::NordLight | ExtraStyles::SolarizedLight => {
false
}
}
}

Expand All @@ -86,7 +91,8 @@ impl ExtraStyles {
pub const fn all_styles() -> &'static [Self] {
&[
ExtraStyles::Dracula,
ExtraStyles::Gruvbox,
ExtraStyles::GruvboxDark,
ExtraStyles::GruvboxLight,
ExtraStyles::NordLight,
ExtraStyles::NordDark,
ExtraStyles::SolarizedDark,
Expand All @@ -99,7 +105,8 @@ impl fmt::Display for ExtraStyles {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
ExtraStyles::Dracula => write!(f, "Dracula"),
ExtraStyles::Gruvbox => write!(f, "Gruvbox (Night)"),
ExtraStyles::GruvboxDark => write!(f, "Gruvbox (Night)"),
ExtraStyles::GruvboxLight => write!(f, "Gruvbox (Day)"),
ExtraStyles::NordLight => write!(f, "Nord (Day)"),
ExtraStyles::NordDark => write!(f, "Nord (Night)"),
ExtraStyles::SolarizedLight => write!(f, "Solarized (Day)"),
Expand Down
20 changes: 20 additions & 0 deletions src/gui/styles/types/custom_styles/gruvbox.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,23 @@ pub(super) fn gruvbox_dark() -> CustomPalette {
},
}
}

/// Gruvbox (day style)
pub(super) fn gruvbox_light() -> CustomPalette {
CustomPalette {
palette: Palette {
primary: color!(0xfbf1c7), // bg
secondary: color!(0xd65d0e), // orange
outgoing: color!(0x689d6a), // aqua
buttons: color!(0xd5c4a1), // bg2
text_headers: color!(0xf9f5d7), // bg0_h
text_body: color!(0x282828), // fg
},
extension: PaletteExtension {
starred: color!(0xd79921), // yellow
chart_badge_alpha: 0.75,
round_borders_alpha: 0.4,
round_containers_alpha: 0.15,
},
}
}