Browse Source

Add script to switch oh-my-zsh themes

pull/95/head
HyprHex 2 years ago
parent
commit
83e1c2688b
  1. 3
      config/hypr/configs/Keybinds.conf
  2. 35
      config/hypr/scripts/ChangeTheme.sh
  3. 217
      config/rofi/config-themezsh.rasi

3
config/hypr/configs/Keybinds.conf

@ -40,6 +40,7 @@ bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings
bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh
bind = CTRL ALT, W, exec, $scriptsDir/Wallpaper.sh
bind = $mainMod, W, exec, $scriptsDir/WallpaperSelect.sh
bind = $mainMod, C, exec, $scriptsDir/ChangeTheme.sh # Change oh-my-zsh theme
bind = $mainMod ALT, K, exec, $scriptsDir/SwitchKeyboardLayout.sh
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh
@ -183,4 +184,4 @@ bind = $mainMod ALT, P, submap, passthru
submap = passthru
# to unbind
bind = $mainMod ALT, P, submap, reset
submap = reset
submap = reset

35
config/hypr/scripts/ChangeTheme.sh

@ -0,0 +1,35 @@
#!/bin/bash
themes_dir="$HOME/.oh-my-zsh/themes"
file_extension=".zsh-theme"
themes_array=($(find "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//"))
rofi_command="rofi -dmenu -config ~/.config/rofi/config-themezsh.rasi"
menu() {
for theme in "${themes_array[@]}"; do
echo "$theme"
done
}
main() {
choice=$(menu | ${rofi_command})
zsh_path="$HOME/.zshrc"
var_name="ZSH_THEME"
for i in "${themes_array[@]}"; do
if [[ "$i" == "$choice"* ]]; then
if [ -f "$zsh_path" ]; then
sed -i "s/^$var_name=.*/$var_name=\"$i\"/" "$zsh_path"
else
echo "File not found"
fi
break
fi
done
}
main

217
config/rofi/config-themezsh.rasi

@ -0,0 +1,217 @@
/* ---- 💫 https://github.com/JaKooLit 💫 ---- */
/* Main Config wallpaper */
/* ---- Configuration ---- */
configuration {
modi: "drun,run";
font: "Fira Code SemiBold 12";
show-icons: true;
display-drun: "";
display-run: "";
display-filebrowser: "";
display-window: "";
drun-display-format: "{name}";
hover-select: true;
me-select-entry: "MouseSecondary";
me-accept-entry: "MousePrimary";
window-format: "{w} · {c} · {t}";
dpi: 1;
}
/* ---- Load pywal colors (custom wal template) ---- */
@import "~/.config/rofi/pywal-color/pywal-theme.rasi"
/* ---- Window ---- */
window {
width: 800px;
/*height: 450px;*/
x-offset: 0px;
y-offset: 0px;
spacing: 0px;
padding: 2px;
margin: 0px;
border: 2px;
border-color: @active-background;
cursor: "default";
location: center;
anchor: center;
fullscreen: false;
enabled: true;
border-radius: 12px;
border-radius: 12px;
background-color: @background-color;
}
/* ---- Mainbox ---- */
mainbox {
enabled: true;
orientation: horizontal;
padding: 8px;
background-image: url("~/.config/rofi/.current_wallpaper", width);
children: [ "imagebox"];
border-radius: 12px;
background-color: @background;
}
/* ---- Imagebox ---- */
imagebox {
background-color: transparent;
orientation: vertical;
children: [ "inputbar", "listbox"];
}
/* ---- Listbox ---- */
listbox {
spacing: 4px;
orientation: vertical;
children: [ "listview" ];
border-radius: 10px;
border: 1px;
border-color: @active-background;
background-color: @background;
}
/* ---- Dummy ---- */
dummy {
background-color: transparent;
}
/* ---- Inputbar ---- */
inputbar {
enabled: true;
text-color: @foreground;
spacing: 10px;
padding: 8px;
border-radius: 10px;
border-color: @foreground;
background-color: @background;
children: [ "textbox-prompt-colon", "entry" ];
border: 1px;
border-color: @active-background;
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "󰸉 ";
text-color: inherit;
background-color: transparent;
}
entry {
enabled: true;
text-color: inherit;
cursor: text;
placeholder: "Choose ZSH theme";
placeholder-color: inherit;
background-color: transparent;
}
/* ---- Listview ---- */
listview {
enabled: true;
columns: 2;
lines: 8;
spacing: 4px;
dynamic: true;
cycle: true;
scrollbar: true;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: false;
background-color: transparent;
border-radius: 10px;
}
/* ---- Element ---- */
element {
enabled: true;
padding: 5px;
margin: 2px;
cursor: pointer;
background-color: transparent;
border-radius: 10px;
border: 0px;
}
element normal.normal {
background-color: inherit;
text-color: @foreground;
}
element normal.urgent {
background-color: inherit;
text-color: @foreground;
}
element normal.active {
background-color: inherit;
text-color: @foreground;
}
element selected.normal {
background-color: @selected-normal-background;
text-color: @foreground;
}
element selected.urgent {
background-color: inherit;
text-color: @foreground;
}
element selected.active {
background-color: inherit;
text-color: @foreground;
}
element alternate.normal {
background-color: inherit;
text-color: @foreground;
}
element alternate.urgent {
background-color: inherit;
text-color: @foreground;
}
element alternate.active {
background-color: inherit;
text-color: @foreground;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 32px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
message {
background-color: @background;
margin: 20px 0px 0px 0px;
border-radius: 10px;
}
textbox {
padding: 15px;
background-color: @background;
text-color: @foreground;
}
error-message {
padding: 15px;
border-radius: 20px;
background-color: @background;
text-color: @foreground;
}
Loading…
Cancel
Save