diff --git a/.install/packages/base.sh b/.install/packages/base.sh index 3c2a8c2..40c418a 100644 --- a/.install/packages/base.sh +++ b/.install/packages/base.sh @@ -18,7 +18,6 @@ packagesPacman=( "gtk4" "thunar" "kitty" - "wofi" "waybar" "grim" "slurp" @@ -27,6 +26,7 @@ packagesPacman=( ) packagesYay=( + "rofi-lbonn-wayland-git" "swaync" "swww" "wlogout" diff --git a/.install/symlink.sh b/.install/symlink.sh index 6ba6ee2..f0ddb13 100644 --- a/.install/symlink.sh +++ b/.install/symlink.sh @@ -27,11 +27,11 @@ directories=( "neofetch" "nvim" "pipewire" + "rofi" "swappy" "swaync" "wal" "waybar" - "wofi" ) _symlinkDirs() { diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 7fb8410..13394df 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -30,7 +30,7 @@ source = ~/.cache/wal/colors-hyprland.conf # Set programs that you use $terminal = kitty $fileManager = Thunar -$menu = wofi --show drun +$menu = rofi -show drun $lockScreen = hyprlock # See https://wiki.hyprland.org/Configuring/Keywords/ for more diff --git a/rofi/config.rasi b/rofi/config.rasi new file mode 100644 index 0000000..1106ce2 --- /dev/null +++ b/rofi/config.rasi @@ -0,0 +1,246 @@ + + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run"; + font: "JetBrains Mono"; + show-icons: true; + icon-theme: "kora"; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + hover-select: true; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +@import "~/.cache/wal/colors-rofi-pywal.rasi" + +* { border-width: 3px; } + +/* ---- Window ---- */ +window { + width: 900px; + x-offset: 0px; + y-offset: 0px; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @foreground; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: 10px; + background-color: transparent; +} + +/* ---- Mainbox ---- */ +mainbox { + enabled: true; + orientation: horizontal; + spacing: 0px; + margin: 0px; + background-color: @background; + background-image: @current-image; + children: ["imagebox","listbox"]; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 18px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +/* ---- Listbox ---- */ +listbox { + spacing: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/* ---- Dummy ---- */ +dummy { + background-color: transparent; +} + +/* ---- Inputbar ---- */ +inputbar { + enabled: true; + text-color: @foreground; + spacing: 10px; + padding: 15px; + border-radius: 10px; + border-color: @foreground; + background-color: @background; + children: [ "textbox-prompt-colon", "entry" ]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 0px 5px 0px 0px; + background-color: transparent; + text-color: inherit; +} + +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/* ---- Mode Switcher ---- */ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} + +button { + padding: 10px; + border-radius: 10px; + background-color: @background; + text-color: inherit; + cursor: pointer; + border: 0px; +} + +button selected { + background-color: @color11; + text-color: @foreground; +} + +/* ---- Listview ---- */ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + spacing: 0px; + padding: 10px; + margin: 0px; + background-color: @background; + border:0px; +} + +/* ---- Element ---- */ +element { + enabled: true; + padding: 10px; + margin: 5px; + cursor: pointer; + background-color: @background; + border-radius: 10px; + border: @border-width; +} + +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: @color11; + 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: transparent; + border:0px; + margin:20px 0px 0px 0px; + padding:0px; + spacing:0px; + border-radius: 10px; +} + +textbox { + padding: 15px; + margin: 0px; + border-radius: 0px; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} + diff --git a/wal/templates/colors-rofi-pywal.rasi b/wal/templates/colors-rofi-pywal.rasi new file mode 100644 index 0000000..c660db4 --- /dev/null +++ b/wal/templates/colors-rofi-pywal.rasi @@ -0,0 +1,22 @@ +* {{ + current-image: {wallpaper}; + background: {background}; + foreground: {foreground}; + color0: {color0}; + color1: {color1}; + color2: {color2}; + color3: {color3}; + color4: {color4}; + color5: {color5}; + color6: {color6}; + color7: {color7}; + color8: {color8}; + color9: {color9}; + color10: {color10}; + color11: {color11}; + color12: {color12}; + color13: {color13}; + color14: {color14}; + color15: {color15}; +}} + diff --git a/wofi/config b/wofi/config new file mode 100644 index 0000000..83899b3 --- /dev/null +++ b/wofi/config @@ -0,0 +1,20 @@ +hide_scroll=true +width=25% +lines=11 +line_wrap=word +term=alacritty +allow_markup=true +always_parse_args=false +show_all=true +print_command=true +layer=overlay +allow_images=true +sort_order=default +gtk_dark=true +prompt=Search... +image_size=32 +display_generic=false +location=center +key_expand=Tab +insensitive=false +single_click=true diff --git a/wofi/style.css b/wofi/style.css index 33751cd..c781df9 100644 --- a/wofi/style.css +++ b/wofi/style.css @@ -1,57 +1,56 @@ /** ********** Fonts ********** **/ * { - font-family: "JetBrains Mono", "Iosevka Nerd Font", archcraft, sans-serif; - font-size: 12px; + font-family: "JetBrains Mono", "Iosevka Nerd Font", archcraft, sans-serif; + font-size: 12px; } - +@import url('../../.cache/wal/colors-waybar.css'); #window { - background-color: black; - color: --wofi-color2; - border: 1px solid #2255dd; - border-radius: 6px; - opacity: 0.8; + background-color: --background; + color: --color2; + border: 2px solid --color4; + border-radius: 6px; } #outer-box { - padding: 20px; + padding: 20px; } #input { - background-color: --wofi-color1; - border: 0px solid --wofi-color3; - padding: 8px 12px; - opacity: 0.8; + background-color: var(--color5); + border: 0px solid --color2; + padding: 8px 12px; + opacity: 0.8; } #scroll { - margin-top: 20px; + margin-top: 20px; } #inner-box { - opacity: 0.8; + opacity: 0.8; } #img { - padding-right: 8px; + padding-right: 8px; } #text { - color: --wofi-color2; + color: --wofi-color2; } #text:selected { - color: --wofi-color0; + color: --wofi-color0; } #entry { - padding: 6px; + padding: 6px; } #entry:selected { - background-color: --wofi-color3; - color: --wofi-color0; + background-color: @color7; + color: --wofi-color0; } #unselected { @@ -60,6 +59,7 @@ #selected { } -#input, #entry:selected { - border-radius: 4px; +#input, +#entry:selected { + border-radius: 4px; }