diff --git a/.bashrc b/.bashrc index 4e965ed..0039b1c 100644 --- a/.bashrc +++ b/.bashrc @@ -33,6 +33,7 @@ alias shot='scrot -d 3 -c -z -u' alias shotsel='scrot -s' alias wifi='nmtui' alias od='~/private/onedrive.sh' +alias rw='~/dotfiles/waybar/reload.sh' # GIT diff --git a/1-install.sh b/1-install.sh index a278279..8020593 100755 --- a/1-install.sh +++ b/1-install.sh @@ -66,10 +66,9 @@ done echo "" echo "-> Install main packages" -packagesPacman=("alacritty" "rofi" "rofi-calc" "chromium" "scrot" "nitrogen" "dunst" "starship" "slock" "neovim" "mpv" "freerdp" "xfce4-power-manager" "thunar" "mousepad" "ttf-font-awesome" "ttf-fira-sans" "ttf-fira-code" "ttf-firacode-nerd" "figlet" "lxappearance" "breeze" "breeze-gtk" "vlc" "exa" "python-pip" "python-psutil" "python-rich" "python-click"); +packagesPacman=("picom" "alacritty" "rofi" "rofi-calc" "chromium" "scrot" "nitrogen" "dunst" "starship" "slock" "neovim" "mpv" "freerdp" "xfce4-power-manager" "thunar" "mousepad" "ttf-font-awesome" "ttf-fira-sans" "ttf-fira-code" "ttf-firacode-nerd" "figlet" "lxappearance" "breeze" "breeze-gtk" "vlc" "exa" "python-pip" "python-psutil" "python-rich" "python-click" "xdg-desktop-portal-gtk"); packagesYay=("brave-bin" "pfetch" "bibata-cursor-theme"); -# pywal installation below # ------------------------------------------------------ # Install required packages @@ -77,7 +76,9 @@ packagesYay=("brave-bin" "pfetch" "bibata-cursor-theme"); _installPackagesPacman "${packagesPacman[@]}"; _installPackagesYay "${packagesYay[@]}"; -# pywal requires dedicated installation +# ------------------------------------------------------ +# Install pywal +# ------------------------------------------------------ if [ -f /usr/bin/wal ]; then echo "pywal already installed." else @@ -103,6 +104,7 @@ fi echo "" echo "-> Install symbolic links" +_installSymLink ~/.config/picom ~/dotfiles/picom/ ~/.config _installSymLink ~/.config/alacritty ~/dotfiles/alacritty/ ~/.config _installSymLink ~/.config/rofi ~/dotfiles/rofi/ ~/.config _installSymLink ~/.config/vim ~/dotfiles/vim/ ~/.config @@ -110,24 +112,6 @@ _installSymLink ~/.config/nvim ~/dotfiles/nvim/ ~/.config _installSymLink ~/.config/dunst ~/dotfiles/dunst/ ~/.config _installSymLink ~/.config/starship.toml ~/dotfiles/starship/starship.toml ~/.config/starship.toml -# ------------------------------------------------------ -# Install qtile configuration -# ------------------------------------------------------ -echo "" -echo "-> Install Qtile configuration" -while true; do - read -p "Do you want to install/replace the Qtile configuration? (Yy/Nn): " yn - case $yn in - [Yy]* ) - _installSymLink ~/.config/qtile ~/dotfiles/qtile/ ~/.config - break;; - [Nn]* ) - echo "Installation/Replacement of Qtile configuration skipped." - break;; - * ) echo "Please answer yes or no.";; - esac -done - # ------------------------------------------------------ # Install .bashrc # ------------------------------------------------------ @@ -154,7 +138,7 @@ _installSymLink ~/.bashrc ~/dotfiles/.bashrc ~/.bashrc echo "" echo "-> Install Theme" while true; do - read -p "Do you want to replace the existing theme configuration? (Yy/Nn): " yn + read -p "Do you want to replace the existing GTK2/GTK3 theme configuration? (Yy/Nn): " yn case $yn in [Yy]* ) if [ -d ~/.config/gtk-3.0 ]; then diff --git a/2-qtile.sh b/2-qtile.sh deleted file mode 100755 index 502c893..0000000 --- a/2-qtile.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# ___ _____ ___ _ _____ -# / _ \_ _|_ _| | | ____| -# | | | || | | || | | _| -# | |_| || | | || |___| |___ -# \__\_\|_| |___|_____|_____| -# -# by Stephan Raabe (2023) -# ------------------------------------------------------ -# Install Script for Qtile -# ------------------------------------------------------ - -# ------------------------------------------------------ -# Confirm Start -# ------------------------------------------------------ -source $(dirname "$0")/scripts/library.sh -clear -echo " ___ _____ ___ _ _____ " -echo " / _ \_ _|_ _| | | ____| " -echo "| | | || | | || | | _| " -echo "| |_| || | | || |___| |___ " -echo " \__\_\|_| |___|_____|_____| " -echo " " -echo "by Stephan Raabe (2023)" -echo "------------------------------------------------------" -echo "" - -while true; do - read -p "DO YOU WANT TO START THE INSTALLATION NOW? (Yy/Nn): " yn - case $yn in - [Yy]* ) - echo "Installation started." - break;; - [Nn]* ) - exit; - break;; - * ) echo "Please answer yes or no.";; - esac -done -echo "" - -# ------------------------------------------------------ -# Install required packages -# ------------------------------------------------------ -echo "" -echo "-> Install main packages" - -packagesPacman=("qtile" "picom" "polybar"); - -# packagesYay=("brave-bin" "pfetch" "bibata-cursor-theme"); -# pywal installation below - -# ------------------------------------------------------ -# Install required packages -# ------------------------------------------------------ -_installPackagesPacman "${packagesPacman[@]}"; - -# ------------------------------------------------------ -# Create symbolic links -# ------------------------------------------------------ - -echo "-> Create symbolic link for startx" -_installSymLink ~/.config/picom ~/dotfiles/picom/ ~/.config -_installSymLink ~/.config/polybar ~/dotfiles/polybar/ ~/.config - -rm ~/.xinitrc -ln -s ~/dotfiles/qtile/.xinitrc ~/.xinitrc - -echo "DONE!" diff --git a/3-hyprland.conf b/3-hyprland.conf deleted file mode 100755 index 224b037..0000000 --- a/3-hyprland.conf +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# _ _ _ _ -# | | | |_ _ _ __ _ __| | __ _ _ __ __| | -# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | -# | _ | |_| | |_) | | | | (_| | | | | (_| | -# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| -# |___/|_| -# -# by Stephan Raabe (2023) -# ----------------------------------------------------- -# Install Script for Hyprland -# ------------------------------------------------------ - -# ------------------------------------------------------ -# Confirm Start -# ------------------------------------------------------ -source $(dirname "$0")/scripts/library.sh -clear -echo " ___ _____ ___ _ _____ " -echo " / _ \_ _|_ _| | | ____| " -echo "| | | || | | || | | _| " -echo "| |_| || | | || |___| |___ " -echo " \__\_\|_| |___|_____|_____| " -echo " " -echo "by Stephan Raabe (2023)" -echo "------------------------------------------------------" -echo "" - -while true; do - read -p "DO YOU WANT TO START THE INSTALLATION NOW? (Yy/Nn): " yn - case $yn in - [Yy]* ) - echo "Installation started." - break;; - [Nn]* ) - exit; - break;; - * ) echo "Please answer yes or no.";; - esac -done -echo "" - -# ------------------------------------------------------ -# Install required packages -# ------------------------------------------------------ - -packagesPacman=("hyprland") - -# ------------------------------------------------------ -# Create symbolic links -# ------------------------------------------------------ -echo "-> Create symbolic link for startx" -rm ~/.xinitrc -ln -s ~/dotfiles/qtile/.xinitrc ~/.xinitrc - -echo "DONE!" diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 801702f..9fb5656 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -1,25 +1,20 @@ - -######################################################################################## -AUTOGENERATED HYPR CONFIG. -PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, -OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. -######################################################################################## - -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# - -# autogenerated = 1 # remove this line to remove the warning +# _ _ _ _ +# | | | |_ _ _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,1980x1080,auto,1 - +monitor=,preferred,auto,auto # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch -exec-once = waybar & hyprpaper +exec-once = waybar & swww init & ~/dotfiles/scripts/updatewal-swww.sh # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf @@ -38,7 +33,7 @@ input { follow_mouse = 1 touchpad { - natural_scroll = no + natural_scroll = false } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. @@ -47,9 +42,9 @@ input { general { # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 5 + gaps_in = 10 gaps_out = 20 - border_size = 2 + border_size = 3 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) @@ -60,19 +55,21 @@ decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 - blur = yes - blur_size = 3 - blur_passes = 1 - blur_new_optimizations = on - drop_shadow = yes + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { - enabled = yes + enabled = true # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more @@ -88,8 +85,8 @@ animations { dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this + pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # you probably want this } master { @@ -99,17 +96,19 @@ master { gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off + workspace_swipe = false } # Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device:epic-mouse-v1 { sensitivity = -0.5 } # Example windowrule v1 -# windowrule = float, ^(kitty)$ +windowrule = tile,title:^(Outlook)(.*)$ +windowrule = tile,title:^(Teams)(.*)$ +# windowrule = tile, ^(brave)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more @@ -120,14 +119,15 @@ $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, alacritty -bind = $mainMod, Q, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, F, exec, dolphin -bind = $mainMod, V, togglefloating, -bind = $mainMod CTRL, RETURN, exec, wofi --show drun -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, Q, killactive +bind = $mainMod CTRL, Q, exit, +bind = $mainMod, E, exec, dolphin +bind = $mainMod, T, togglefloating +bind = $mainMod SHIFT, W, exec, ~/dotfiles/scripts/updatewal-swww.sh bind = $mainMod, B, exec, brave +bind = $mainMod CTRL, RETURN, exec, ~/dotfiles/scripts/applauncher.sh +bind = $mainMod, P, pseudo # dwindle +bind = $mainMod, J, togglesplit # dwindle # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf deleted file mode 100644 index d55b685..0000000 --- a/hypr/hyprpaper.conf +++ /dev/null @@ -1,2 +0,0 @@ -preload = ~/wallpaper/tron_legacy1.jpg -wallpaper = ,~/wallpaper/tron_legacy1.jpg diff --git a/hypr/test.txt b/hypr/test.txt deleted file mode 100644 index e69de29..0000000 diff --git a/waybar/config b/waybar/config index 5f15038..78dc2a4 100644 --- a/waybar/config +++ b/waybar/config @@ -1,30 +1,26 @@ { "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) "height": 30, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width "spacing": 4, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": ["wlr/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], - //"modules-center": ["sway/window"], - "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], - // Modules configuration - // "sway/workspaces": { - // "disable-scroll": true, - // "all-outputs": true, - // "warp-on-scroll": false, - // "format": "{name}: {icon}", - // "format-icons": { - // "1": "", - // "2": "", - // "3": "", - // "4": "", - // "5": "", - // "urgent": "", - // "focused": "", - // "default": "" - // } - // }, + "modules-left": ["hyprland/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], + "modules-center": ["hyprland/window"], + "modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "keyboard-state", "hyprland/language", "battery", "battery#bat2", "clock", "tray"], + //"hyprland/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + //}, "keyboard-state": { "numlock": true, "capslock": true, @@ -34,16 +30,6 @@ "unlocked": "" } }, - "sway/mode": { - "format": "{}" - }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, "mpd": { "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", "format-disconnected": "Disconnected ", diff --git a/waybar/reload.sh b/waybar/reload.sh new file mode 100755 index 0000000..457f3f7 --- /dev/null +++ b/waybar/reload.sh @@ -0,0 +1,2 @@ +killall waybar +waybar & diff --git a/waybar/style.css b/waybar/style.css new file mode 100644 index 0000000..03f262b --- /dev/null +++ b/waybar/style.css @@ -0,0 +1,280 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.8); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging, #battery.plugged { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +}