mirror of
https://github.com/hykilpikonna/hyfetch.git
synced 2026-08-23 09:15:27 -05:00
[+] Add paragender, paraboy, paragirl, paranonbinary, cupio flags (#506)
Some checks failed
Shellcheck / check (push) Has been cancelled
Some checks failed
Shellcheck / check (push) Has been cancelled
* [+] Add paragender, paraboy, paragirl & paranonbinary flags * [+] Add Cupio flags * [C] Updated para- flags to be more faithful to the original designs using weights * [+] Added alt versions of para- flags as faithful versions don't render well on some distro ascii * [F] Fix color too thin will lead to being hidden --------- Co-authored-by: obsoletedevgit <theohaines@yahoo.com> Co-authored-by: Azalea <noreply@aza.moe>
This commit is contained in:
@@ -531,11 +531,17 @@ fn create_config(
|
||||
// Create flag lines
|
||||
let mut flags = Vec::with_capacity(Preset::COUNT);
|
||||
let spacing = {
|
||||
let spacing = <Preset as VariantNames>::VARIANTS
|
||||
let max_name_width = <Preset as VariantNames>::VARIANTS
|
||||
.iter()
|
||||
.map(|name| name.chars().count())
|
||||
.max()
|
||||
.expect("preset name iterator should not be empty");
|
||||
let max_color_width = <Preset as VariantArray>::VARIANTS
|
||||
.iter()
|
||||
.map(|preset| preset.color_profile().colors.len())
|
||||
.max()
|
||||
.expect("preset iterator should not be empty");
|
||||
let spacing = cmp::max(cmp::max(max_name_width, max_color_width), 20);
|
||||
let spacing: u8 = spacing.try_into().expect("`spacing` should fit in `u8`");
|
||||
cmp::max(spacing, 20)
|
||||
};
|
||||
@@ -564,7 +570,7 @@ fn create_config(
|
||||
// Calculate flags per row
|
||||
let (flags_per_row, rows_per_page) = {
|
||||
let (Width(term_w), Height(term_h)) = terminal_size().context("failed to get term size")?;
|
||||
let flags_per_row = (term_w / (spacing as u16 + 2)).clamp(0, u8::MAX.into()) as u8;
|
||||
let flags_per_row = (term_w / (spacing as u16 + 2)).clamp(1, u8::MAX.into()) as u8;
|
||||
let rows_per_page = (term_h.saturating_sub(13) / 5).clamp(1, u8::MAX.into()) as u8;
|
||||
(flags_per_row, rows_per_page)
|
||||
};
|
||||
|
||||
@@ -227,6 +227,29 @@
|
||||
"autism":["#C94A49", "#DE7554", "#DBB667", "#6FA35D", "#2E7574", "#232828"],
|
||||
"cenelian":["#FFE7B6", "#93554A", "#52203A", "#7E4A93", "#99AFD6"],
|
||||
"transneutral":["#74DFFF", "#FFFDB3", "#FFFC75", "#FFF200", "#FFFC75", "#FFFDB3", "#FE8CBF"],
|
||||
"paragender": {
|
||||
"colors": ["#9C9C9C", "#FFFFFF", "#BDE4D7", "#63BFA1", "#F3EE94", "#63BFA1", "#BDE4D7", "#FFFFFF", "#9C9C9C"],
|
||||
"weights": [4, 3, 3, 2, 1, 2, 3, 3, 4]
|
||||
},
|
||||
"paraboy": {
|
||||
"colors": ["#9C9C9C", "#FFFFFF", "#E4CCEC", "#C48CD4", "#0809C3", "#C48CD4", "#E4CCEC", "#FFFFFF", "#9C9C9C"],
|
||||
"weights": [4, 3, 3, 2, 1, 2, 3, 3, 4]
|
||||
},
|
||||
"paragirl": {
|
||||
"colors": ["#9D9D9D", "#FFFFFF", "#FCCDBD", "#FC8D5C", "#FC1F4B", "#FC8D5C", "#FCCDBD", "#FFFFFF", "#9D9D9D"],
|
||||
"weights": [4, 3, 3, 2, 1, 2, 3, 3, 4]
|
||||
},
|
||||
"paranonbinary": {
|
||||
"colors": ["#9C9C9C", "#FCFCFC", "#FDE8BD", "#FCD25C", "#FB5A24", "#FCD25C", "#FDE8BD", "#FCFCFC", "#9C9C9C"],
|
||||
"weights": [4, 3, 3, 2, 1, 2, 3, 3, 4]
|
||||
},
|
||||
"paragenderalt":["#9E9E9E", "#FFFFFF", "#68CAB0", "#FFEBAD", "#68CAB0", "#FFFFFF", "#9E9E9E"],
|
||||
"paraboyalt":["#9E9E9E", "#FFFFFF", "#D190E5", "#4F2ECA", "#D190E5", "#FFFFFF", "#9E9E9E"],
|
||||
"paragirlalt":["#9E9E9E", "#FFFFFF", "#FFA07F", "#F43C3A", "#FFA07F", "#FFFFFF", "#9E9E9E"],
|
||||
"paranonbinaryalt":["#C9C9C9", "#F4F4F4", "#FFFCC0", "#FFB4EE", "#C267FF", "#8B4EFF"],
|
||||
"cupiorose":["#A0A0A0", "#C7BFE8", "#FFFFFF", "#B6C1DC"],
|
||||
"cupioromantic":["#FCAAA4", "#FDC6C1", "#FFFFFF", "#C9C0E7", "#A1A1A1"],
|
||||
"cupiosexual":["#A0A0A0", "#C7BFE8", "#FFFFFF", "#FFB3DA"],
|
||||
|
||||
"beiyang": ["#DF1B12", "#FFC600", "#01639D", "#FFFFFF", "#000000"],
|
||||
"burger": ["#F3A26A", "#498701", "#FD1C13", "#7D3829", "#F3A26A"],
|
||||
|
||||
@@ -128,7 +128,11 @@ def create_config() -> Config:
|
||||
# 3. Choose preset
|
||||
# Create flags = [[lines]]
|
||||
flag_entries = []
|
||||
spacing = max(max(len(k) for k in PRESETS.keys()), 20)
|
||||
spacing = max(
|
||||
max(len(k) for k in PRESETS.keys()),
|
||||
max(len(preset.colors) for preset in PRESETS.values()),
|
||||
20,
|
||||
)
|
||||
for name, preset in PRESETS.items():
|
||||
flag = preset.color_text(' ' * spacing, foreground=False)
|
||||
flag_entries.append((name, [name.center(spacing), flag, flag, flag], name.lower()))
|
||||
|
||||
Reference in New Issue
Block a user