Commit 038406a
Changed files (15)
.assets
icons
.config
hypr
rofi
waybar
.local
share
applications
.wraith
scripts
.assets/icons/docker.png
Binary file
.assets/icons/YT Music.png
Binary file
.config/hypr/modules/keybinds.conf
@@ -21,7 +21,7 @@ bind = $mainMod, SPACE, exec, $menu
bind = CONTROLALT, T, exec, $terminal
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, L, exec, hyprlock
-bind = $mainMod, R, exec, killall -9 waybar && waybar
+bind = $mainMod, R, exec, killall -9 waybar && waybar
bind = $mainMod, V, exec, $cliphistMenu
bind = $mainMod, period, exec, $emojiMenu
bind = $mainMod SHIFT,S, exec, $screenshotMenu
.config/hypr/modules/monitors.conf
@@ -1,36 +1,18 @@
monitor=,preferred,auto,1
+monitor=FALLBACK,1920x1080@60,auto,1
-workspace=1,persistent:true
-workspace=2,persistent:true
-workspace=3,persistent:true
+# Floating windows
+windowrule = float true, match:tag floating-window
+windowrule = center true, match:tag floating-window
+windowrule = size 875 600, match:tag floating-window
-#Window rules
-
-windowrule {
- name = ghostty
- match:class = com.mitchellh.ghostty
- float = on
- size = 900 700
- center = on
-}
+windowrule = tag +floating-window, match:class (Thunar|thunar|org.gnome.Evince|org.wraith.*|org.pulseaudio.pavucontrol|com.mitchellh.ghostty)
+windowrule = tag +floating-window, match:class (xdg-desktop-portal-gtk), match:title ^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*)
-windowrule {
- name = VolumeControl
- match:class = org.pulseaudio.pavucontrol
- float = on
- size = 700 700
- center = on
-}
+# Popped window rounding
+windowrule = rounding 8, match:tag pop
-windowrule {
- name = ImageViewer
- match:class = feh
- float = on
-}
-windowrule {
- name = Thunar
- match:class = Thunar
- float = on
- center = on
-}
+
+# Apps Rules
+windowrule = workspace special:music, match:class ^(chrome-music\.youtube\..*)$
\ No newline at end of file
.config/hypr/modules/vars.conf
@@ -1,7 +1,7 @@
-$terminal = ghostty
+$terminal = uwsm-app -- xdg-terminal-exec
$fileManager = thunar
$menu = rofi -show drun
-$cliphistMenu = cliphist list | rofi -dmenu -p "๐:" | cliphist decode | wl-copy
+$cliphistMenu = cliphist list | rofi -dmenu -p "" -no-show-icons| cliphist decode | wl-copy
$screenshotMenu = $HOME/.wraith/scripts/screenshot.sh
$emojiMenu = rofimoji -a type copy type-numerical
.config/hypr/hypridle.conf
@@ -4,18 +4,18 @@ general {
after_sleep_cmd = hyprctl dispatch dpms on
}
-listener {
- timeout = 600
- on-timeout = loginctl lock-session
-}
+#listener {
+# timeout = 10
+# on-timeout = loginctl lock-session
+#}
listener {
- timeout = 700
+ timeout = 600
on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on
}
-#listener {
-# timeout = 30
-# on-timeout = systemctl suspend
-#}
+listener {
+ timeout = 700
+ on-timeout = systemctl suspend
+}
.config/rofi/wraith-theme.rasi
@@ -1,6 +1,6 @@
configuration{
display-run: "CMD :";
- display-drun: "Apps :";
+ display-drun: "";
display-calc: "Calculate :";
drun-display-format: "{icon} {name}";
show-icons: true;
.config/waybar/config.jsonc
@@ -3,27 +3,34 @@
"position": "top",
"height": 32,
"spacing": 0,
- "modules-left": [
- "clock",
- "custom/packages"
- ],
- "modules-center": [
- "hyprland/workspaces"
- ],
+ "modules-left": ["clock", "custom/packages"],
+ "modules-center": ["hyprland/workspaces#main"],
"modules-right": [
+ "hyprland/workspaces#special",
"custom/brightness",
"pulseaudio",
"custom/power"
],
- "hyprland/workspaces": {
+ "hyprland/workspaces#main": {
"disable-scroll": false,
"format": "{icon}",
"active-only": true,
+ "show-special": false,
+ "persistent-workspaces": {
+ "*": [1, 2, 3]
+ },
"format-icons": {
"1": "๏",
"2": "๎ฏ",
- "3": "๏",
- "default": "๏"
+ "3": "๏"
+ }
+ },
+ "hyprland/workspaces#special": {
+ "format": "{icon}",
+ "show-special": true,
+ "ignore-workspaces": ["1", "2", "3"],
+ "format-icons": {
+ "music": "๓ฐ"
}
},
"clock": {
@@ -47,14 +54,14 @@
"exec": "$HOME/.wraith/scripts/packages.sh details",
"interval": 5,
"return-type": "json",
- "cursor":false,
+ "cursor": false,
"on-click": "$HOME/.wraith/scripts/packages.sh",
"tooltip": true
},
"custom/power": {
"format": "๓ฐฅ",
"tooltip": false,
- "cursor":false,
+ "cursor": false,
"menu": "on-click",
"menu-file": "~/.config/waybar/power_menu.xml",
"menu-actions": {
@@ -69,13 +76,9 @@
"format-icons": {
"headphone": "๏ฅ ",
"headset": "๏ฅ ",
- "default": [
- "๏ฆ ",
- "๏ง ",
- "๏จ "
- ]
+ "default": ["๏ฆ ", "๏ง ", "๏จ "]
},
- "cursor":false,
+ "cursor": false,
"on-click-right": "pavucontrol -t 3",
"on-click": "pactl -- set-sink-mute 0 toggle",
"tooltip": false
@@ -85,17 +88,13 @@
"exec": "$HOME/.wraith/scripts/brightness.sh get",
"return-type": "json",
"format": "{icon}{percentage}%",
- "cursor":false,
+ "cursor": false,
"on-click": "$HOME/.wraith/scripts/brightness.sh set 10",
"on-scroll-up": "$HOME/.wraith/scripts/brightness.sh set +5",
"on-scroll-down": "$HOME/.wraith/scripts/brightness.sh set -5",
"format-icons": {
- "default": [
- "๓ฐ ",
- "๓ฐ ",
- "๓ฐ "
- ]
+ "default": ["๓ฐ ", "๓ฐ ", "๓ฐ "]
},
"tooltip": false
}
-}
\ No newline at end of file
+}
.config/waybar/style.css
@@ -1,24 +1,26 @@
* {
- font-family: "JetBrains Nerd Font Propo", "Font Awesome 7 Free", "Font Awesome 7 Free Solid";
+ font-family: "JetBrains Nerd Font Propo",
+ "Font Awesome 7 Free",
+ "Font Awesome 7 Free Solid";
font-weight: bold;
font-size: 14px;
color: #b4befe;
}
tooltip {
- background: #1e1e2e;
- border: 1px solid #b4befe;
- padding: 16px 18px;
- border-radius: 5px;
+ background: #1e1e2e;
+ border: 1px solid #b4befe;
+ padding: 16px 18px;
+ border-radius: 5px;
}
menu {
- background: #161320;
- color: #888888;
- border-radius: 7px;
+ background: #161320;
+ color: #888888;
+ border-radius: 7px;
}
-menuitem:hover{
+menuitem:hover {
background-color: #888888;
}
@@ -30,66 +32,76 @@ menuitem:hover{
#custom-packages,
#custom-power,
#custom-brightness,
-#pulseaudio
-{
+#pulseaudio,
+#workspaces.special {
background-color: #241f31;
padding: 4px 10px;
- font-size: 18px;
- margin-top : 10px;
+ font-size: 18px;
+ margin-top: 10px;
border-radius: 7px;
}
-#clock{
- margin-left:14px;
+#clock {
+ margin-left: 14px;
+}
+
+#custom-packages {
+ margin-left: 10px;
+}
+
+#custom-power {
+ margin-right: 14px;
+ padding: 0px 10px;
+ min-width: 20px;
}
-#custom-packages
-{
- margin-left:10px;
+#custom-brightness,
+#pulseaudio {
+ min-width: 80px;
+ margin-right: 5px;
}
-#workspaces{
+#workspaces.main {
background-color: #241f31;
- padding: 4px 6px;
- margin-top: 6px;
+ padding: 4px 6px;
+ margin-top: 6px;
margin-left: 6px;
margin-right: 6px;
border-radius: 7px;
border-width: 0px;
}
-#workspaces button{
+#workspaces.special {
+ padding: 0px;
+ margin-right: 5px;
+}
+
+#workspaces.main button,
+#workspaces.special button {
background: #241f31;
border: none;
color: #888888;
padding: 0px 8px;
- padding-left:2px;
- padding-right:4px;
+ padding-left: 2px;
+ padding-right: 4px;
margin: 0 2px;
font-weight: bold;
min-width: 30px;
transition: all 250ms ease-in-out;
}
-#workspaces button.hover{
- border:none;
- margin: 0px;
- font-weight: bold;
+#workspaces.main button:hover,
+#workspaces.special button:hover {
+ border: none;
+ text-shadow: none;
}
-#workspaces button.active {
+#workspaces.main button.active {
border: 1px solid #888888;
min-width: 80px;
}
-#custom-power{
- margin-right: 14px;
- padding:0px 10px;
- min-width: 20px;
-}
-
-#custom-brightness,
-#pulseaudio{
- min-width:80px;
- margin-right: 5px;
+#workspaces.special button.active {
+ border: 1px solid #888888;
+ min-width: 40px;
}
.wraith/scripts/install-webapp
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+if [ "$#" -lt 3 ]; then
+ echo -e "\e[32mLet's create a new web app you can start with the app launcher.\n\e[0m"
+ APP_NAME=$(gum input --prompt "Name> " --placeholder "Github")
+ APP_URL=$(gum input --prompt "URL> " --placeholder "https://github.com")
+ ICON_REF=$(gum input --prompt "Icon URL> " --placeholder "See https://dashboardicons.com (must use PNG!)")
+ CUSTOM_EXEC=""
+ MIME_TYPES=""
+ INTERACTIVE_MODE=true
+else
+ APP_NAME="$1"
+ APP_URL="$2"
+ ICON_REF="$3"
+ CUSTOM_EXEC="$4" # Optional custom exec command
+ MIME_TYPES="$5" # Optional mime types
+ INTERACTIVE_MODE=false
+fi
+
+# Ensure valid execution
+if [[ -z "$APP_NAME" || -z "$APP_URL" || -z "$ICON_REF" ]]; then
+ echo "You must set app name, app URL, and icon URL!"
+ exit 1
+fi
+
+# Refer to local icon or fetch remotely from URL
+ICON_DIR="$HOME/.assets/icons"
+if [[ $ICON_REF =~ ^https?:// ]]; then
+ ICON_PATH="$ICON_DIR/$APP_NAME.png"
+ if curl -sL -o "$ICON_PATH" "$ICON_REF"; then
+ ICON_PATH="$ICON_DIR/$APP_NAME.png"
+ else
+ echo "Error: Failed to download icon."
+ exit 1
+ fi
+else
+ ICON_PATH="$ICON_DIR/$ICON_REF"
+fi
+
+# Use custom exec if provided, otherwise default behavior
+if [[ -n $CUSTOM_EXEC ]]; then
+ EXEC_COMMAND="$CUSTOM_EXEC"
+else
+ EXEC_COMMAND="$HOME/.wraith/scripts/launch-webapp $APP_URL"
+fi
+
+# Create application .desktop file
+DESKTOP_FILE="$HOME/.local/share/applications/$APP_NAME.desktop"
+
+cat >"$DESKTOP_FILE" <<EOF
+[Desktop Entry]
+Version=1.0
+Name=$APP_NAME
+Comment=$APP_NAME
+Exec=$EXEC_COMMAND
+Terminal=false
+Type=Application
+Icon=$ICON_PATH
+StartupNotify=true
+EOF
+
+# Add mime types if provided
+if [[ -n $MIME_TYPES ]]; then
+ echo "MimeType=$MIME_TYPES" >>"$DESKTOP_FILE"
+fi
+
+chmod +x "$DESKTOP_FILE"
\ No newline at end of file
.wraith/scripts/launch-webapp
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+browser=$(xdg-settings get default-web-browser)
+
+case $browser in
+google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium*) ;;
+*) browser="chromium.desktop" ;;
+esac
+
+exec setsid uwsm-app -- chromium --app="$1" "${@:2}"
\ No newline at end of file
.wraith/scripts/packages.sh
@@ -29,7 +29,7 @@ packages_installed_explicitly() {
out+=$'๐ฆ '"<b>$name</b> ($ver)"$'\n'"<span size=\"small\">$short_desc</span>"$'\x0f'
- done < <(pacman -Qqe)
+ done < <(pacman -Qiqe | awk -F': ' '/^Name/ {name=$2}/^Install Date/ {print $2 " " name}' | sort -r | awk '{print $NF}')
printf "%b" "$out" | rofi -dmenu -sep $'\x0f' -eh 2 -i -p "Packages :" -no-show-icons -markup-rows -no-cycle
}
.zshrc
@@ -13,7 +13,8 @@ export ANDROID_SWT=/usr/share/java
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk
export NVM_DIR="$HOME/.nvm"
export FZF_DEFAULT_OPTS="--layout=reverse --height=40%"
-export PATH="$PATH:$BUN_INSTALL/bin:$ANDROID_HOME/platform-tools:$JAVA_HOME:$ANDROID_HOME/emulator"
+export WRAITH_SCRIPTS="$HOME/.wraith/scripts"
+export PATH="$PATH:$BUN_INSTALL/bin:$ANDROID_HOME/platform-tools:$JAVA_HOME:$ANDROID_HOME/emulator:$WRAITH_SCRIPTS"
#--------------------------------------------------------------------------------
# SOURCING
#--------------------------------------------------------------------------------