diff --git a/configs/dotfiles/espanso/match/base.yml b/configs/dotfiles/espanso/match/base.yml index 20dda8b..390d897 100644 --- a/configs/dotfiles/espanso/match/base.yml +++ b/configs/dotfiles/espanso/match/base.yml @@ -60,7 +60,11 @@ matches: replace: "#\n#\n# Author: GibbyB (Gabriel Brown)\n#\n\nfrom typing import List\n\n\ndef main():\npass\n\n\nif __name__ == \"__main__\":\nmain()" - trigger: ":tsblock" - replace: "```TypeScript\n\n```" + replace: "```ts\n\n```" + force_clipboard: true + + - trigger: ":tsxblock" + replace: "```tsx\n\n```" force_clipboard: true # Frequent Misspellings @@ -76,6 +80,102 @@ matches: - trigger: "updaet" replace: "update" + - trigger: "lenght" + replace: "length" + + - trigger: "whiel" + replace: "while" + + - trigger: "heigth" + replace: "height" + + - trigger: "compsoe" + replace: "compose" + + - trigger: "compseo" + replace: "compose" + + - trigger: "comspoe" + replace: "compose" + + - trigger: "ocmpose" + replace: "compose" + + - trigger: "copmose" + replace: "compose" + + - trigger: "cmopose" + replace: "compose" + + - trigger: "cmopoes" + replace: "compose" + + - trigger: "compoes" + replace: "compose" + + - trigger: "dcoker" + replace: "docker" + + - trigger: "dcoekr" + replace: "docker" + + - trigger: "dockre" + replace: "docker" + + - trigger: "dokcre" + replace: "docker" + + - trigger: "dokcer" + replace: "docker" + + - trigger: "gborwn" + replace: "gbrown" + + - trigger: "gbrwon" + replace: "gbrown" + + - trigger: "gbronw" + replace: "gbrown" + + - trigger: "grbown" + replace: "gbrown" + + - trigger: "restrat" + replace: "restart" + + - trigger: "resatrt" + replace: "restart" + + - trigger: "retsart" + replace: "restart" + + - trigger: "restatr" + replace: "restart" + + - trigger: "restrta" + replace: "restart" + + - trigger: "updaet" + replace: "update" + + - trigger: "updtae" + replace: "update" + + - trigger: "udpate" + replace: "update" + + - trigger: "upadte" + replace: "update" + + - trigger: "suod" + replace: "sudo" + + - trigger: "sduo" + replace: "sudo" + + - trigger: "sodu" + replace: "sudo" + # Good Emojis - trigger: ":happy:" replace: "\U0001F603" diff --git a/configs/dotfiles/forge/config/.windows.json.~260c6b69 b/configs/dotfiles/forge/config/.windows.json.~260c6b69 new file mode 100644 index 0000000..eb4b694 --- /dev/null +++ b/configs/dotfiles/forge/config/.windows.json.~260c6b69 @@ -0,0 +1,72 @@ +{ + "overrides": [ + { + "wmClass": "jetbrains-toolbox", + "mode": "float" + }, + { + "wmClass": "Com.github.amezin.ddterm", + "mode": "float" + }, + { + "wmClass": "Com.github.donadigo.eddy", + "mode": "float" + }, + { + "wmClass": "Conky", + "mode": "float" + }, + { + "wmClass": "Gnome-initial-setup", + "mode": "float" + }, + { + "wmClass": "org.gnome.Calculator", + "mode": "float" + }, + { + "wmClass": "gnome-terminal-preferences", + "mode": "float" + }, + { + "wmClass": "Guake", + "mode": "float" + }, + { + "wmClass": "zoom", + "mode": "float" + }, + { + "wmClass": "mpv", + "mode": "float" + }, + { + "wmClass": "Bitwarden", + "mode": "float" + }, + { + "wmClass": "Hidamari", + "mode": "float" + }, + { + "wmClass": "com.mattjakeman.ExtensionManager", + "mode": "float" + }, + { + "wmClass": "Cider", + "mode": "float" + }, + { + "wmClass": "Ulauncher", + "mode": "float" + }, + { + "wmClass": "com.nextcloud.desktopclient.nextcloud", + "mode": "float" + }, + { + "wmClass": "Emulator", + "mode": "float" + } + ] +} \ No newline at end of file diff --git a/configs/dotfiles/forge/config/.windows.json.~318f7cf9 b/configs/dotfiles/forge/config/.windows.json.~318f7cf9 new file mode 100644 index 0000000..eb4b694 --- /dev/null +++ b/configs/dotfiles/forge/config/.windows.json.~318f7cf9 @@ -0,0 +1,72 @@ +{ + "overrides": [ + { + "wmClass": "jetbrains-toolbox", + "mode": "float" + }, + { + "wmClass": "Com.github.amezin.ddterm", + "mode": "float" + }, + { + "wmClass": "Com.github.donadigo.eddy", + "mode": "float" + }, + { + "wmClass": "Conky", + "mode": "float" + }, + { + "wmClass": "Gnome-initial-setup", + "mode": "float" + }, + { + "wmClass": "org.gnome.Calculator", + "mode": "float" + }, + { + "wmClass": "gnome-terminal-preferences", + "mode": "float" + }, + { + "wmClass": "Guake", + "mode": "float" + }, + { + "wmClass": "zoom", + "mode": "float" + }, + { + "wmClass": "mpv", + "mode": "float" + }, + { + "wmClass": "Bitwarden", + "mode": "float" + }, + { + "wmClass": "Hidamari", + "mode": "float" + }, + { + "wmClass": "com.mattjakeman.ExtensionManager", + "mode": "float" + }, + { + "wmClass": "Cider", + "mode": "float" + }, + { + "wmClass": "Ulauncher", + "mode": "float" + }, + { + "wmClass": "com.nextcloud.desktopclient.nextcloud", + "mode": "float" + }, + { + "wmClass": "Emulator", + "mode": "float" + } + ] +} \ No newline at end of file diff --git a/configs/dotfiles/forge/config/.windows.json.~38323208 b/configs/dotfiles/forge/config/.windows.json.~38323208 new file mode 100644 index 0000000..eb4b694 --- /dev/null +++ b/configs/dotfiles/forge/config/.windows.json.~38323208 @@ -0,0 +1,72 @@ +{ + "overrides": [ + { + "wmClass": "jetbrains-toolbox", + "mode": "float" + }, + { + "wmClass": "Com.github.amezin.ddterm", + "mode": "float" + }, + { + "wmClass": "Com.github.donadigo.eddy", + "mode": "float" + }, + { + "wmClass": "Conky", + "mode": "float" + }, + { + "wmClass": "Gnome-initial-setup", + "mode": "float" + }, + { + "wmClass": "org.gnome.Calculator", + "mode": "float" + }, + { + "wmClass": "gnome-terminal-preferences", + "mode": "float" + }, + { + "wmClass": "Guake", + "mode": "float" + }, + { + "wmClass": "zoom", + "mode": "float" + }, + { + "wmClass": "mpv", + "mode": "float" + }, + { + "wmClass": "Bitwarden", + "mode": "float" + }, + { + "wmClass": "Hidamari", + "mode": "float" + }, + { + "wmClass": "com.mattjakeman.ExtensionManager", + "mode": "float" + }, + { + "wmClass": "Cider", + "mode": "float" + }, + { + "wmClass": "Ulauncher", + "mode": "float" + }, + { + "wmClass": "com.nextcloud.desktopclient.nextcloud", + "mode": "float" + }, + { + "wmClass": "Emulator", + "mode": "float" + } + ] +} \ No newline at end of file diff --git a/configs/dotfiles/forge/config/.windows.json.~42767d6d b/configs/dotfiles/forge/config/.windows.json.~42767d6d new file mode 100644 index 0000000..eb4b694 --- /dev/null +++ b/configs/dotfiles/forge/config/.windows.json.~42767d6d @@ -0,0 +1,72 @@ +{ + "overrides": [ + { + "wmClass": "jetbrains-toolbox", + "mode": "float" + }, + { + "wmClass": "Com.github.amezin.ddterm", + "mode": "float" + }, + { + "wmClass": "Com.github.donadigo.eddy", + "mode": "float" + }, + { + "wmClass": "Conky", + "mode": "float" + }, + { + "wmClass": "Gnome-initial-setup", + "mode": "float" + }, + { + "wmClass": "org.gnome.Calculator", + "mode": "float" + }, + { + "wmClass": "gnome-terminal-preferences", + "mode": "float" + }, + { + "wmClass": "Guake", + "mode": "float" + }, + { + "wmClass": "zoom", + "mode": "float" + }, + { + "wmClass": "mpv", + "mode": "float" + }, + { + "wmClass": "Bitwarden", + "mode": "float" + }, + { + "wmClass": "Hidamari", + "mode": "float" + }, + { + "wmClass": "com.mattjakeman.ExtensionManager", + "mode": "float" + }, + { + "wmClass": "Cider", + "mode": "float" + }, + { + "wmClass": "Ulauncher", + "mode": "float" + }, + { + "wmClass": "com.nextcloud.desktopclient.nextcloud", + "mode": "float" + }, + { + "wmClass": "Emulator", + "mode": "float" + } + ] +} \ No newline at end of file diff --git a/configs/dotfiles/forge/config/.windows.json.~63ed4469 b/configs/dotfiles/forge/config/.windows.json.~63ed4469 new file mode 100644 index 0000000..eb4b694 --- /dev/null +++ b/configs/dotfiles/forge/config/.windows.json.~63ed4469 @@ -0,0 +1,72 @@ +{ + "overrides": [ + { + "wmClass": "jetbrains-toolbox", + "mode": "float" + }, + { + "wmClass": "Com.github.amezin.ddterm", + "mode": "float" + }, + { + "wmClass": "Com.github.donadigo.eddy", + "mode": "float" + }, + { + "wmClass": "Conky", + "mode": "float" + }, + { + "wmClass": "Gnome-initial-setup", + "mode": "float" + }, + { + "wmClass": "org.gnome.Calculator", + "mode": "float" + }, + { + "wmClass": "gnome-terminal-preferences", + "mode": "float" + }, + { + "wmClass": "Guake", + "mode": "float" + }, + { + "wmClass": "zoom", + "mode": "float" + }, + { + "wmClass": "mpv", + "mode": "float" + }, + { + "wmClass": "Bitwarden", + "mode": "float" + }, + { + "wmClass": "Hidamari", + "mode": "float" + }, + { + "wmClass": "com.mattjakeman.ExtensionManager", + "mode": "float" + }, + { + "wmClass": "Cider", + "mode": "float" + }, + { + "wmClass": "Ulauncher", + "mode": "float" + }, + { + "wmClass": "com.nextcloud.desktopclient.nextcloud", + "mode": "float" + }, + { + "wmClass": "Emulator", + "mode": "float" + } + ] +} \ No newline at end of file diff --git a/configs/dotfiles/forge/config/.windows.json.~68bf2ae6 b/configs/dotfiles/forge/config/.windows.json.~68bf2ae6 new file mode 100644 index 0000000..eb4b694 --- /dev/null +++ b/configs/dotfiles/forge/config/.windows.json.~68bf2ae6 @@ -0,0 +1,72 @@ +{ + "overrides": [ + { + "wmClass": "jetbrains-toolbox", + "mode": "float" + }, + { + "wmClass": "Com.github.amezin.ddterm", + "mode": "float" + }, + { + "wmClass": "Com.github.donadigo.eddy", + "mode": "float" + }, + { + "wmClass": "Conky", + "mode": "float" + }, + { + "wmClass": "Gnome-initial-setup", + "mode": "float" + }, + { + "wmClass": "org.gnome.Calculator", + "mode": "float" + }, + { + "wmClass": "gnome-terminal-preferences", + "mode": "float" + }, + { + "wmClass": "Guake", + "mode": "float" + }, + { + "wmClass": "zoom", + "mode": "float" + }, + { + "wmClass": "mpv", + "mode": "float" + }, + { + "wmClass": "Bitwarden", + "mode": "float" + }, + { + "wmClass": "Hidamari", + "mode": "float" + }, + { + "wmClass": "com.mattjakeman.ExtensionManager", + "mode": "float" + }, + { + "wmClass": "Cider", + "mode": "float" + }, + { + "wmClass": "Ulauncher", + "mode": "float" + }, + { + "wmClass": "com.nextcloud.desktopclient.nextcloud", + "mode": "float" + }, + { + "wmClass": "Emulator", + "mode": "float" + } + ] +} \ No newline at end of file diff --git a/configs/dotfiles/forge/config/windows.json b/configs/dotfiles/forge/config/windows.json index 258d825..eb4b694 100644 --- a/configs/dotfiles/forge/config/windows.json +++ b/configs/dotfiles/forge/config/windows.json @@ -36,6 +36,10 @@ "wmClass": "zoom", "mode": "float" }, + { + "wmClass": "mpv", + "mode": "float" + }, { "wmClass": "Bitwarden", "mode": "float" @@ -61,11 +65,7 @@ "mode": "float" }, { - "wmClass": "mpv", - "mode": "float" - }, - { - "wmClass": "Spotify", + "wmClass": "Emulator", "mode": "float" } ] diff --git a/configs/dotfiles/ghostty/config b/configs/dotfiles/ghostty/config new file mode 100644 index 0000000..9511962 --- /dev/null +++ b/configs/dotfiles/ghostty/config @@ -0,0 +1,31 @@ + +# Theme + +theme = tokyonight_moon +font-family = "VictorMono Nerd Font Mono" +font-family-bold = "VictorMono Nerd Font Mono, Bold" +font-family-italic = "VictorMono Nerd Font Mono, Regular Italic" +font-family-bold-italic = "VictorMono Nerd Font Mono, Bold Italic" +font-size = 15 +background-opacity = 0.92 +background-blur = true + +# Keybindings +keybind = ctrl+shift+r=reload_config + +## Tabs +keybind = ctrl+shift+h=previous_tab +keybind = ctrl+shift+l=next_tab +keybind = ctrl+shift+j=move_tab:-1 +keybind = ctrl+shift+k=move_tab:1 +keybind = ctrl+shift+q=close_tab + +## Splits +keybind = ctrl+shift+b=new_split:right +keybind = ctrl+shift+d=new_split:down +keybind = ctrl+shift+,=goto_split:previous +keybind = ctrl+shift+.=goto_split:next +keybind = ctrl+shift+up=goto_split:up +keybind = ctrl+shift+down=goto_split:down +keybind = ctrl+shift+left=goto_split:left +keybind = ctrl+shift+right=goto_split:right diff --git a/configs/dotfiles/hyprland/desktop/.config/Xresources b/configs/dotfiles/hyprland/desktop/.config/Xresources new file mode 100644 index 0000000..6a1c856 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/Xresources @@ -0,0 +1 @@ +Xcursor.theme: Bibata-Modern-Ice diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/app.ts b/configs/dotfiles/hyprland/desktop/.config/ags/app.ts new file mode 100644 index 0000000..26c6a1d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/app.ts @@ -0,0 +1,11 @@ +import { App, Widget } from "astal/gtk3" +import Calendar from "./widget/Calendar" +import Sidebar from "./widget/Sidebar" + +App.start({ + css: "./style.css", + main() { + Sidebar(); + Calendar(); + } +}) diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/application-exit-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/application-exit-symbolic.svg new file mode 100644 index 0000000..66e44f1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/application-exit-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg new file mode 100644 index 0000000..b1ce05f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/fileview-preview-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/fileview-preview-symbolic.svg new file mode 100644 index 0000000..167090d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/fileview-preview-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/image-loading-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/image-loading-symbolic.svg new file mode 100644 index 0000000..b445ad1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/image-loading-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/media-playback-paused-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/media-playback-paused-symbolic.svg new file mode 100644 index 0000000..16d5de7 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/media-playback-paused-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/padlock2-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/padlock2-symbolic.svg new file mode 100644 index 0000000..0d51118 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/padlock2-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg new file mode 100644 index 0000000..541721c --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/turn-off-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/turn-off-symbolic.svg new file mode 100644 index 0000000..db109c8 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/turn-off-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg new file mode 100644 index 0000000..4536935 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-dotfiles-settings.png b/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-dotfiles-settings.png new file mode 100644 index 0000000..938b6f7 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-dotfiles-settings.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-hyprland-settings.png b/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-hyprland-settings.png new file mode 100644 index 0000000..c7e8e29 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-hyprland-settings.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-welcome.png b/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-welcome.png new file mode 100644 index 0000000..7d4efe7 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ags/assets/ml4w-welcome.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/env.d.ts b/configs/dotfiles/hyprland/desktop/.config/ags/env.d.ts new file mode 100644 index 0000000..4e7e508 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/env.d.ts @@ -0,0 +1,21 @@ +const SRC: string + +declare module "inline:*" { + const content: string + export default content +} + +declare module "*.scss" { + const content: string + export default content +} + +declare module "*.blp" { + const content: string + export default content +} + +declare module "*.css" { + const content: string + export default content +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/scripts/run_themeswitcher.sh b/configs/dotfiles/hyprland/desktop/.config/ags/scripts/run_themeswitcher.sh new file mode 100644 index 0000000..7c20589 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/scripts/run_themeswitcher.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/waybar/themeswitcher.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/scripts/run_wallpapereffects.sh b/configs/dotfiles/hyprland/desktop/.config/ags/scripts/run_wallpapereffects.sh new file mode 100644 index 0000000..78dcaaf --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/scripts/run_wallpapereffects.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/hypr/scripts/wallpaper-effects.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/style.css b/configs/dotfiles/hyprland/desktop/.config/ags/style.css new file mode 100644 index 0000000..6cf06e8 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/style.css @@ -0,0 +1,211 @@ +@import url('../../.cache/wal/colors-waybar.css'); + +* { + all:unset; + font-size: 14px; + font-family: "Fira Sans", sans-serif; + font-weight: normal; +} + +.calendar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; + min-width:320px; +} + +calendar:selected { + background-color:@color11; + padding:0px; +} + +.sidebar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; +} + +.group { + padding:16px; + background-color: rgba(116, 116, 116, 0.1); + border-radius: 20px; +} + +.ml4wwelcomeicon { + background:url("assets/ml4w-welcome.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4wsettingsicon { + background:url("assets/ml4w-dotfiles-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4whyprlandicon { + background:url("assets/ml4w-hyprland-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.btnbar { + border: 1px solid #222222; + padding:5px; + min-height:24px; + border-radius: 24px; + min-width: 24px; + margin:0px 2px 0px 2px; +} + +.btnbar.statusbar { + background:url("assets/icons/image-loading-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpaper { + background:url("assets/icons/fileview-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpapereffects { + background:url("assets/icons/xapp-prefs-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.lock { + background:url("assets/icons/padlock2-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.logout { + background:url("assets/icons/application-exit-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.restart { + background:url("assets/icons/arrow-circular-top-right-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.suspend { + background:url("assets/icons/media-playback-paused-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.exit { + background:url("assets/icons/turn-off-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.midbtn { + background-color: @color11; + font-size: 12px; + padding:10px; + border-radius: 20px; +} + +.AudioSlider { + background-color:@color11; + border-radius:12px; + margin-bottom:10px; +} + +.AudioSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider value { + min-height: 20px; + background-color: #222222; +} + +.AudioSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.AudioSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider { + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider value { + min-height: 20px; + background-color: #222222; +} + +.MicrophoneSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.MicrophoneSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/tsconfig.json b/configs/dotfiles/hyprland/desktop/.config/ags/tsconfig.json new file mode 100644 index 0000000..b239e15 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/tsconfig.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "experimentalDecorators": true, + "strict": true, + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "Bundler", + // "checkJs": true, + // "allowJs": true, + "jsx": "react-jsx", + "jsxImportSource": "/usr/share/astal/gjs/gtk3", + "paths": { + "astal": [ + "/usr/share/astal/gjs" + ], + "astal/*": [ + "/usr/share/astal/gjs/*" + ] + }, + } +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/widget/Bar.tsx b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Bar.tsx new file mode 100644 index 0000000..ed1d845 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Bar.tsx @@ -0,0 +1,29 @@ +import { App, Astal, Gtk, Gdk } from "astal/gtk3" +import { Variable } from "astal" + +const time = Variable("").poll(1000, "date") + +export default function Bar(gdkmonitor: Gdk.Monitor) { + return + + + + + + +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/widget/Brightness.tsx b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Brightness.tsx new file mode 100644 index 0000000..86214f9 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Brightness.tsx @@ -0,0 +1,72 @@ +// Thanks to https://gitlab.com/filippoaceto/ +import GObject, { register, property } from "astal/gobject" +import { monitorFile, readFileAsync } from "astal/file" +import { exec, execAsync } from "astal/process" + +const get = (args: string) => Number(exec(`brightnessctl ${args}`)) +const screen = exec(`bash -c "ls -w1 /sys/class/backlight | head -1"`) +const kbd = exec(`bash -c "ls -w1 /sys/class/leds | head -1"`) + +@register({ GTypeName: "Brightness" }) +export default class Brightness extends GObject.Object { + static instance: Brightness + static get_default() { + if (!this.instance) + this.instance = new Brightness() + + return this.instance + } + + #kbdMax = get(`--device ${kbd} max`) + #kbd = get(`--device ${kbd} get`) + #screenMax = get("max") + #screen = get("get") / (get("max") || 1) + + @property(Number) + get kbd() { return this.#kbd } + + set kbd(value) { + if (value < 0 || value > this.#kbdMax) + return + execAsync(`brightnessctl -d ${kbd} s ${value} -q`).then(() => { + this.#kbd = value + this.notify("kbd") + }) + } + + @property(Number) + get screen() { return this.#screen } + + set screen(percent) { + if (percent < 0) + percent = 0 + + if (percent > 1) + percent = 1 + + if (Math.floor(percent * 100) > 1) + execAsync(`brightnessctl set ${Math.floor(percent * 100)}% -q`).then(() => { + this.#screen = percent + this.notify("screen") + }) + } + + constructor() { + super() + + const screenPath = `/sys/class/backlight/${screen}/brightness` + const kbdPath = `/sys/class/leds/${kbd}/brightness` + + monitorFile(screenPath, async f => { + const v = await readFileAsync(f) + this.#screen = Number(v) / this.#screenMax + this.notify("screen") + }) + + monitorFile(kbdPath, async f => { + const v = await readFileAsync(f) + this.#kbd = Number(v) / this.#kbdMax + this.notify("kbd") + }) + } +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/widget/Calendar.tsx b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Calendar.tsx new file mode 100644 index 0000000..263a77e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Calendar.tsx @@ -0,0 +1,42 @@ +import { GObject } from "astal"; +import { astalify, ConstructProps, App, Astal, Gdk, Gtk } from "astal/gtk3" + +class CalendarGtk extends astalify(Gtk.Calendar) { + static { + GObject.registerClass(this); + } + + constructor( + props: ConstructProps, + ) { + super(props as any); + } +} + +export default function Calendar() { + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + {new CalendarGtk({ + hexpand: true, + vexpand: true, + showDayNames: true, + showDetails: false, + showHeading: true, + showWeekNumbers: true + })} + +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ags/widget/Sidebar.tsx b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Sidebar.tsx new file mode 100644 index 0000000..d2672ba --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ags/widget/Sidebar.tsx @@ -0,0 +1,167 @@ +import { App } from "astal/gtk3" +import Apps from "gi://AstalApps" +import Wp from "gi://AstalWp" +import { Variable, GLib, bind } from "astal" +import { subprocess, exec, execAsync } from "astal/process" +import { Astal, Gtk, Gdk } from "astal/gtk3" +import Brightness from "./Brightness" + +function BrightnessSlider() { + const brightness = Brightness.get_default() + + return + brightness.screen = value} + /> + +} + +function AudioSlider() { + const speaker = Wp.get_default()?.audio.defaultSpeaker! + + return + speaker.volume = value} + value={bind(speaker, "volume")} + /> + +} + +function MicrophoneSlider() { + const microphone = Wp.get_default()?.audio.defaultMicrophone! + + return + microphone.volume = value} + value={bind(microphone, "volume")} + /> + +} + +function openwelcomeapp() { + execAsync("com.ml4w.welcome") + App.get_window("sidebar")!.hide() +} + +function opensettingsapp() { + execAsync("com.ml4w.dotfilessettings") + App.get_window("sidebar")!.hide() +} + +function openhyprlandapp() { + execAsync("com.ml4w.hyprland.settings") + App.get_window("sidebar")!.hide() +} + +function openwallpaper() { + const proc = subprocess(["bash", "-c", "waypaper"]) + App.get_window("sidebar")!.hide() +} + +function openwallpapereffects() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/wallpaper-effects.sh"]) + App.get_window("sidebar")!.hide() +} + +function openwaybarthemes() { + const proc = subprocess(["bash", "-c", "$HOME/.config/waybar/themeswitcher.sh"]) + App.get_window("sidebar")!.hide() +} + +function powerlock() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh lock"]) + App.get_window("sidebar")!.hide() +} + +function powerlogout() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh exit"]) + App.get_window("sidebar")!.hide() +} + +function powersuspend() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh suspend"]) + App.get_window("sidebar")!.hide() +} + +function powerrestart() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh reboot"]) + App.get_window("sidebar")!.hide() +} + +function powerexit() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh shutdown"]) + App.get_window("sidebar")!.hide() +} + +export default function Sidebar() { + + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/dunst/dunstrc b/configs/dotfiles/hyprland/desktop/.config/dunst/dunstrc new file mode 100644 index 0000000..ed3be7e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/dunst/dunstrc @@ -0,0 +1,469 @@ +# _ _ +# __| |_ _ _ __ ___| |_ +# / _` | | | | '_ \/ __| __| +# | (_| | |_| | | | \__ \ |_ +# \__,_|\__,_|_| |_|___/\__| +# +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = (0,300) + + # Position the notification in the top right corner + origin = top-center + + # Offset from the origin + offset = 30x30 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 10 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 30 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 1 + + # Defines color of the frame around the notification window. + frame_color = "#ffffff" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 0 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = "Fira Sans Semibold" 9 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 1 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = "Papirus-Dark,Adwaita" + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only neccesary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 10 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#000000CC" + foreground = "#888888" + timeout = 6 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#000000CC" + foreground = "#ffffff" + timeout = 6 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#900000CC" + foreground = "#ffffff" + frame_color = "#ffffff" + timeout = 6 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/configs/dotfiles/hyprland/desktop/.config/fastfetch/config.jsonc b/configs/dotfiles/hyprland/desktop/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..658682c --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/fastfetch/config.jsonc @@ -0,0 +1,104 @@ +// Thanks to Bina +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 2 + } + }, + "display": { + "separator": " ➜ " + }, + "modules": [ + "break", + "break", + "break", + { + "type": "os", + "key": "OS ", + "keyColor": "31", // = color1 + }, + { + "type": "kernel", + "key": " ├  ", + "keyColor": "31", + }, + { + "type": "shell", + "key": " └  ", + "keyColor": "31", + }, + "break", + { + "type": "wm", + "key": "WM ", + "keyColor": "32", + }, + { + "type": "wmtheme", + "key": " ├ 󰉼 ", + "keyColor": "32", + }, + { + "type": "icons", + "key": " ├ 󰀻 ", + "keyColor": "32", + }, + { + "type": "cursor", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminal", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminalfont", + "key": " └  ", + "keyColor": "32", + }, + "break", + { + "type": "host", + "format": "{5} {1} Type {2}", + "key": "PC ", + "keyColor": "33", + }, + { + "type": "cpu", + "format": "{1} ({3}) @ {7} GHz", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "gpu", + "format": "{1} {2} @ {12} GHz", + "key": " ├ 󰢮 ", + "keyColor": "33", + }, + { + "type": "memory", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "swap", + "key": " ├ 󰓡 ", + "keyColor": "33", + }, + { + "type": "disk", + "key": " ├ 󰋊 ", + "keyColor": "33", + }, + { + "type": "monitor", + "key": " └  ", + "keyColor": "33", + }, + "break", + "break", + ] +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/conf/animation.conf b/configs/dotfiles/hyprland/desktop/.config/hypr/conf/animation.conf new file mode 100644 index 0000000..5909926 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/conf/animation.conf @@ -0,0 +1,125 @@ +# ----------------------------------------------------- +# "Dynamic" (default) +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} +# ----------------------------------------------------- +# "Disabled" +# ----------------------------------------------------- +#animations { + #enabled = false +#} +# ----------------------------------------------------- +# "Standard" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + #animation = windows, 1, 7, myBezier + #animation = windowsOut, 1, 7, default, popin 80% + #animation = border, 1, 10, default + #animation = borderangle, 1, 8, default + #animation = fade, 1, 7, default + #animation = workspaces, 1, 6, default +#} +# ----------------------------------------------------- +# "Dynamic" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = wind, 0.05, 0.9, 0.1, 1.05 + #bezier = winIn, 0.1, 1.1, 0.1, 1.1 + #bezier = winOut, 0.3, -0.3, 0, 1 + #bezier = liner, 1, 1, 1, 1 + #animation = windows, 1, 6, wind, slide + #animation = windowsIn, 1, 6, winIn, slide + #animation = windowsOut, 1, 5, winOut, slide + #animation = windowsMove, 1, 5, wind, slide + #animation = border, 1, 1, liner + #animation = borderangle, 1, 30, liner, loop + #animation = fade, 1, 10, default + #animation = workspaces, 1, 5, wind +#} +# ----------------------------------------------------- +# "Classic" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + #animation = windows, 1, 7, myBezier + #animation = windowsOut, 1, 7, default, popin 80% + #animation = border, 1, 10, default + #animation = borderangle, 1, 8, default + #animation = fade, 1, 7, default + #animation = workspaces, 1, 6, default +#} +# ----------------------------------------------------- +# "Fast" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = linear, 0, 0, 1, 1 + #bezier = md3_standard, 0.2, 0, 0, 1 + #bezier = md3_decel, 0.05, 0.7, 0.1, 1 + #bezier = md3_accel, 0.3, 0, 0.8, 0.15 + #bezier = overshot, 0.05, 0.9, 0.1, 1.1 + #bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + #bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + #bezier = fluent_decel, 0.1, 1, 0, 1 + #bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + #bezier = easeOutCirc, 0, 0.55, 0.45, 1 + #bezier = easeOutExpo, 0.16, 1, 0.3, 1 + #animation = windows, 1, 3, md3_decel, popin 60% + #animation = border, 1, 10, default + #animation = fade, 1, 2.5, md3_decel + #animation = workspaces, 1, 3.5, easeOutExpo, slide + #animation = specialWorkspace, 1, 3, md3_decel, slidevert +#} +# ----------------------------------------------------- +# "High" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = wind, 0.05, 0.9, 0.1, 1.05 + #bezier = winIn, 0.1, 1.1, 0.1, 1.1 + #bezier = winOut, 0.3, -0.3, 0, 1 + #bezier = liner, 1, 1, 1, 1 + #animation = windows, 1, 6, wind, slide + #animation = windowsIn, 1, 6, winIn, slide + #animation = windowsOut, 1, 5, winOut, slide + #animation = windowsMove, 1, 5, wind, slide + #animation = border, 1, 1, liner + #animation = borderangle, 1, 30, liner, loop + #animation = fade, 1, 10, default + #animation = workspaces, 1, 5, wind +#} +# ----------------------------------------------------- +# "Moving" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = overshot, 0.05, 0.9, 0.1, 1.05 + #bezier = smoothOut, 0.5, 0, 0.99, 0.99 + #bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + #animation = windows, 1, 5, overshot, slide + #animation = windowsOut, 1, 3, smoothOut + #animation = windowsIn, 1, 3, smoothOut + #animation = windowsMove, 1, 4, smoothIn, slide + #animation = border, 1, 5, default + #animation = fade, 1, 5, smoothIn + #animation = fadeDim, 1, 5, smoothIn + #animation = workspaces, 1, 6, default +#} diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/conf/autostart.conf b/configs/dotfiles/hyprland/desktop/.config/hypr/conf/autostart.conf new file mode 100644 index 0000000..34205a6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/conf/autostart.conf @@ -0,0 +1,48 @@ +# ___ __ __ __ +# / _ |__ __/ /____ ___ / /____ _____/ /_ +# / __ / // / __/ _ \(_-v0.41, now configured on variable cursor section +env = WLR_RENDERER_ALLOW_SOFTWARE,1 +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = EGL_PLATFORM,wayland +env = ELECTRON_OZONE_PLATFORM_HINT,auto diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/conf/window.conf b/configs/dotfiles/hyprland/desktop/.config/hypr/conf/window.conf new file mode 100644 index 0000000..9f998bd --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/conf/window.conf @@ -0,0 +1,49 @@ +# ----------------------------------------------------- +# Default +# ----------------------------------------------------- +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} +# ----------------------------------------------------- +# No Border +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 0 + #col.active_border = $color11 + #col.inactive_border = rgba(ffffffff) + #layout = dwindle + #resize_on_border = true +#} +# ----------------------------------------------------- +# Border 1 +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 1 + #col.active_border = $color11 + #col.inactive_border = rgba(ffffffff) + #layout = dwindle + #resize_on_border = true +#} +# ----------------------------------------------------- +# Border 1 Reverse +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 1 + #col.active_border = rgba(ffffffff) + #col.inactive_border = $color11 + #layout = dwindle + #resize_on_border = true +#} + diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite new file mode 100644 index 0000000..0f985b3 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-blur b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-blur new file mode 100644 index 0000000..85a5a51 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-blur @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness40 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness40 new file mode 100644 index 0000000..97cafb6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness60 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness60 new file mode 100644 index 0000000..3dc7788 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness80 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness80 new file mode 100644 index 0000000..67bb0ce --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blackwhite-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1 new file mode 100644 index 0000000..f401e1a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness40 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness40 new file mode 100644 index 0000000..d79704a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness60 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness60 new file mode 100644 index 0000000..73028f6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness80 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness80 new file mode 100644 index 0000000..c1984aa --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur1-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur2 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur2 new file mode 100644 index 0000000..cb13630 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate new file mode 100644 index 0000000..971c7aa --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness40 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness40 new file mode 100644 index 0000000..f6b8bd8 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness60 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness60 new file mode 100644 index 0000000..bf45cd6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness80 b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness80 new file mode 100644 index 0000000..2d342c1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/hypridle.conf b/configs/dotfiles/hyprland/desktop/.config/hypr/hypridle.conf new file mode 100644 index 0000000..d02b4ea --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/hypridle.conf @@ -0,0 +1,47 @@ +# _ _ _ _ +# | |__ _ _ _ __ _ __(_) __| | | ___ +# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \ +# | | | | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# +# Version 2.8.3 +# DO NOT REMOVE THE REPLACEMENT COMMENTS +# REQUIRED BY THE ML4W SETTINGS APP +# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/ + +# general { +# ignore_dbus_inhibit = false +# } + +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +# Screenlock +listener { + # HYPRLOCK TIMEOUT + timeout = 600 + # HYPRLOCK ONTIMEOUT + on-timeout = loginctl lock-session +} + +# dpms +listener { + # DPMS TIMEOUT + timeout = 660 + # DPMS ONTIMEOUT + on-timeout = hyprctl dispatch dpms off + # DPMS ONRESUME + on-resume = hyprctl dispatch dpms on +} + +# Suspend +listener { + # SUSPEND TIMEOUT + timeout = 1800 + #SUSPEND ONTIMEOUT + on-timeout = systemctl suspend +} diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/hyprland.conf b/configs/dotfiles/hyprland/desktop/.config/hypr/hyprland.conf new file mode 100644 index 0000000..297d3d4 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/hyprland.conf @@ -0,0 +1,125 @@ +# ----------------------------------------------------- +# | | | |Gib's _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| Config +# ----------------------------------------------------- +# MONITORS +# See https://wiki.hyprland.org/Configuring/Monitors/ +# ----------------------------------------------------- +monitor=DP-2,2560x1440@144,0x0,1 +monitor=HDMI-1,3840x2160@75,2560x0,1.5 + +# ----------------------------------------------------- +# WORKSPACE RULES +# https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# ----------------------------------------------------- +workspace = 1, monitor:DP-2, default:true +workspace = 2, monitor:HDMI-A-1, default:true +workspace = 3, monitor:DP-2 +workspace = 4, monitor:HDMI-A-1 +workspace = 5, monitor:DP-2 +workspace = 6, monitor:HDMI-A-1 + +# ----------------------------------------------------- +# WINDOW RULES +# https://wiki.hyprland.org/Configuring/Window-Rules/ +# ----------------------------------------------------- +windowrule = tile,^(gnome-connections)$ +windowrule = tile,^(jumpclient.exe)$ +windowrule = tile,^(Microsoft-edge)$ +windowrule = tile,^(kitty)$ +windowrule = tile,^(firefox)$ +windowrule = tile,^(Chromium)$ +windowrule = float,^(Bitwarden)$ +windowrule = float,^(Cider)$ +windowrule = float,^(pavucontrol)$ +windowrule = float,^(blueman-manager)$ +windowrule = float,^(nm-connection-editor)$ +windowrule = float,^(qalculate-gtk)$ +# Browser Picture in Picture +windowrulev2 = float, title:^(Picture-in-Picture)$ +windowrulev2 = pin, title:^(Picture-in-Picture)$ +windowrulev2 = move 69.5% 4%, title:^(Picture-in-Picture)$ + +# ----------------------------------------------------- +# CURSOR +# ----------------------------------------------------- +exec-once = hyprctl setcursor Bibata-Modern-Ice 24 + +cursor { + no_hardware_cursors = true +} + +# ----------------------------------------------------- +# NVIDIA +# https://wiki.hyprland.org/Nvidia/ +# ----------------------------------------------------- +#source = ~/.config/hypr/conf/nvidia.conf + +# ----------------------------------------------------- +# KEYBOARD +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + numlock_by_default = true + mouse_refocus = false + follow_mouse = 1 + touchpad { + # FOR DESKTOP/MOUSE + natural_scroll = false + # FOR LAPTOP/TOUCHPAD + # natural_scroll = yes + # middle_button_emulation = true + # clickfinger_behavior = false + scroll_factor = 1.0 # Touchpad scroll factor + } + sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. +} +gestures { + workspace_swipe = true +} + +# ----------------------------------------------------- +# Load pywal color file +# ----------------------------------------------------- +source = ~/.cache/wal/colors-hyprland.conf + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/window.conf +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/hyprlock.conf b/configs/dotfiles/hyprland/desktop/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..d7e0fda --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/hyprlock.conf @@ -0,0 +1,88 @@ +# _ _ _ +# | |__ _ _ _ __ _ __| | ___ ___| | __ +# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ / +# | | | | |_| | |_) | | | | (_) | (__| < +# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\ +# |___/|_| +# + +general { + ignore_empty_input = true +} + +background { + monitor = + path = $HOME/.config/ml4w/cache/blurred_wallpaper.png # only png supported for now +} + +input-field { + monitor = + size = 200, 50 + outline_thickness = 3 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + outer_color = rgb(151515) + inner_color = rgb(FFFFFF) + font_color = rgb(10, 10, 10) + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = -1 # -1 means complete rounding (circle/oval) + check_color = rgb(204, 136, 34) + fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + fail_transition = 300 # transition time in ms between normal outer_color and fail_color + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + position = 0, -20 + halign = center + valign = center +} + +label { + monitor = + #clock + text = cmd[update:1000] echo "$TIME" + color = rgba(200, 200, 200, 1.0) + font_size = 55 + font_family = Fira Semibold + position = -100, 70 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +label { + monitor = + text = $USER + color = rgba(200, 200, 200, 1.0) + font_size = 20 + font_family = Fira Semibold + position = -100, 160 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +image { + monitor = + path = $HOME/.config/ml4w/cache/square_wallpaper.png + size = 280 # lesser side if not 1:1 ratio + rounding = -1 # negative values mean circle + border_size = 4 + border_color = rgb(221, 221, 221) + rotate = 0 # degrees, counter-clockwise + reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 +# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F + position = 0, 200 + halign = center + valign = center +} diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/desktop/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..7004a5e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/hyprpaper.conf @@ -0,0 +1,6 @@ +preload = /home/gib/Pictures/Wallpapers/faroe_islands.jpg +preload = /home/gib/Pictures/Wallpapers/mt_rainier.jpg + +wallpaper = DP-2,/home/gib/Pictures/Wallpapers/faroe_islands.jpg +wallpaper = HDMI-A-1,/home/gib/Pictures/Wallpapers/mt_rainier.jpg +splash = false diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/cleanup.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/cleanup.sh new file mode 100644 index 0000000..af4196d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ____ _ +# / ___| | ___ __ _ _ __ _ _ _ __ +# | | | |/ _ \/ _` | '_ \| | | | '_ \ +# | |___| | __/ (_| | | | | |_| | |_) | +# \____|_|\___|\__,_|_| |_|\__,_| .__/ +# |_| +# + +# Remove gamemode flag +if [ -f ~/.cache/gamemode ] ;then + rm ~/.cache/gamemode + echo ":: ~/.cache/gamemode removed" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/disabledm.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/disabledm.sh new file mode 100644 index 0000000..ee5e612 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/disabledm.sh @@ -0,0 +1,24 @@ +#!/bin/bash +clear +figlet -f smslant "Disable DM" +echo "Hyprland recommends the start with the tty login." +echo "You can deactivate the current display manager (if exists)." +echo "" +echo "-> Do you really want to deactivate the display manager?" +while true; do + read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn + case $yn in + [Yy]* ) + if [ -f /etc/systemd/system/display-manager.service ]; then + sudo rm /etc/systemd/system/display-manager.service + echo "Current display manager removed." + else + echo "No active display manager found." + fi + break;; + [Nn]* ) + exit + break;; + * ) echo "Please answer yes or no.";; + esac +done \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/gamemode.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/gamemode.sh new file mode 100644 index 0000000..09708fa --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/gamemode.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ____ _ +# / ___| __ _ _ __ ___ ___ _ __ ___ ___ __| | ___ +# | | _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \ +# | |_| | (_| | | | | | | __/ | | | | | (_) | (_| | __/ +# \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___| +# +# + +if [ -f ~/.cache/gamemode ] ;then + hyprctl reload + rm ~/.cache/gamemode + notify-send "Gamemode deactivated" "Animations and blur enabled" +else + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + touch ~/.cache/gamemode + notify-send "Gamemode activated" "Animations and blur disabled" +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/gtk.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/gtk.sh new file mode 100644 index 0000000..1b080de --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/gtk.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# ____ _____ _ __ +# / ___|_ _| |/ / +# | | _ | | | ' / +# | |_| | | | | . \ +# \____| |_| |_|\_\ +# +# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + +config="$HOME/.config/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +terminal=$(cat $HOME/.config/ml4w/settings/terminal.sh) + +echo $gtk_theme +echo $icon_theme +echo $cursor_theme +echo $cursor_size +echo $font_name +echo $terminal + +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name" +gsettings set "$gnome_schema" color-scheme "prefer-dark" + +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "$terminal" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal use-generic-terminal-name "true" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings "t" + +if [ -f ~/.config/hypr/conf/cursor.conf ] ;then + echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/.config/hypr/conf/cursor.conf + hyprctl setcursor $cursor_theme $cursor_size +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/hypridle.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/hypridle.sh new file mode 100644 index 0000000..6296fa0 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/hypridle.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# _ _ _ _ _ +# | | | |_ _ _ __ _ __(_) __| | | ___ +# | |_| | | | | '_ \| '__| |/ _` | |/ _ \ +# | _ | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# + +SERVICE="hypridle" +if [[ "$1" == "status" ]]; then + sleep 1 + if pgrep -x "$SERVICE" >/dev/null ;then + echo '{"text": "RUNNING", "class": "active", "tooltip": "Screen locking active\nLeft: Deactivate\nRight: Lock Screen"}' + else + echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated\nLeft: Activate\nRight: Lock Screen"}' + fi +fi +if [[ "$1" == "toggle" ]]; then + if pgrep -x "$SERVICE" >/dev/null ;then + killall hypridle + else + hypridle + fi +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/hyprshade.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/hyprshade.sh new file mode 100644 index 0000000..037441c --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/hyprshade.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___ +# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \ +# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/ +# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___| +# |___/|_| +# + +if [[ "$1" == "rofi" ]]; then + + # Open rofi to select the Hyprshade filter for toggle + options="$(hyprshade ls)\noff" + + # Open rofi + choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade") + if [ ! -z $choice ] ;then + echo "hyprshade_filter=\"$choice\"" > ~/.config/ml4w/settings/hyprshade.sh + if [ "$choice" == "off" ] ;then + hyprshade off + notify-send "Hyprshade deactivated" + echo ":: hyprshade turned off" + else + notify-send "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter-50" + + # Check if hyprshade.sh settings file exists and load + if [ -f ~/.config/ml4w/settings/hyprshade.sh ] ;then + source ~/.config/ml4w/settings/hyprshade.sh + fi + + # Toggle Hyprshade + if [ "$hyprshade_filter" != "off" ] ;then + if [ -z $(hyprshade current) ] ;then + echo ":: hyprshade is not running" + hyprshade on $hyprshade_filter + notify-send "Hyprshade activated" "with $(hyprshade current)" + echo ":: hyprshade started with $(hyprshade current)" + else + notify-send "Hyprshade deactivated" + echo ":: Current hyprshade $(hyprshade current)" + echo ":: Switching hyprshade off" + hyprshade off + fi + else + hyprshade off + echo ":: hyprshade turned off" + fi + +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/init-wallpaper-engine.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/init-wallpaper-engine.sh new file mode 100644 index 0000000..6751156 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/init-wallpaper-engine.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# __ ______ _____ _ +# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___ +# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \ +# \ V V / | __/ | |___| | | | (_| | | | | | __/ +# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___| +# |___/ +# + +wallpaper_engine=$(cat $HOME/.config/ml4w/settings/wallpaper-engine.sh) +if [ "$wallpaper_engine" == "swww" ] ;then + # swww + echo ":: Using swww" + swww init + swww-daemon --format xrgb + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +elif [ "$wallpaper_engine" == "hyprpaper" ] ;then + # hyprpaper + echo ":: Using hyprpaper" + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +else + echo ":: Wallpaper Engine disabled" + ~/.config/hypr/scripts/wallpaper.sh init +fi + diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/keybindings.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/keybindings.sh new file mode 100644 index 0000000..d0b9150 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/keybindings.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# _ _ _ _ _ +# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___ +# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __| +# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \ +# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/ +# |___/ |___/ +# +# ----------------------------------------------------- +# Get keybindings location based on variation +# ----------------------------------------------------- +config_file=$(cat ~/.config/hypr/conf/keybinding.conf) +config_file=${config_file/source = ~/} +config_file=${config_file/source=~/} + +# ----------------------------------------------------- +# Path to keybindings config file +# ----------------------------------------------------- +config_file="/home/$USER$config_file" +echo "Reading from: $config_file" + +keybinds="" + +# Detect Start String +while read -r line +do + if [[ "$line" == "bind"* ]]; then + + line="$(echo "$line" | sed 's/$mainMod/SUPER/g')" + line="$(echo "$line" | sed 's/bind = //g')" + line="$(echo "$line" | sed 's/bindm = //g')" + + IFS='#' + read -a strarr <<<"$line" + kb_str=${strarr[0]} + cm_str=${strarr[1]} + + IFS=',' + read -a kbarr <<<"$kb_str" + + item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}" + keybinds=$keybinds$item$'\n' + fi +done < "$config_file" + +sleep 0.2 +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/loadconfig.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/loadconfig.sh new file mode 100644 index 0000000..a51ce6d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl reload \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/moveTo.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/moveTo.sh new file mode 100644 index 0000000..de2492b --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/moveTo.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# __ __ _ +# | \/ | _____ _____ | |_ ___ +# | |\/| |/ _ \ \ / / _ \ | __/ _ \ +# | | | | (_) \ V / __/ | || (_) | +# |_| |_|\___/ \_/ \___| \__\___/ +# + +# Function to log messages (useful for debugging) +log_message() { + # echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> ~/moveto_log.txt + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +# Get the target workspace from the argument +target_workspace=$1 + +# Check if a target workspace was provided +if [ -z "$target_workspace" ]; then + log_message "Error: No target workspace provided" + exit 1 +fi + +# Get the current active workspace +current_workspace=$(hyprctl activewindow -j | jq '.workspace.id') + +if [ -z "$current_workspace" ]; then + log_message "Error: Couldn't determine current workspace" + exit 1 +fi + +log_message "Moving from workspace $current_workspace to $target_workspace" + +# Get all window addresses in the current workspace +window_addresses=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $current_workspace) | .address") + +# Move each window to the target workspace +for address in $window_addresses; do + log_message "Moving window $address to workspace $target_workspace" + hyprctl dispatch movetoworkspacesilent "$target_workspace,address:$address" +done + +log_message "Finished moving windows" + +# Switch to the target workspace +hyprctl dispatch workspace "$target_workspace" + +log_message "Switched to workspace $target_workspace" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/power.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/power.sh new file mode 100644 index 0000000..8037fbd --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/power.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# ____ +# | _ \ _____ _____ _ __ +# | |_) / _ \ \ /\ / / _ \ '__| +# | __/ (_) \ V V / __/ | +# |_| \___/ \_/\_/ \___|_| +# + +# Check if eww is open +FILE="$HOME/.cache/ml4w_sidebar" + +if [[ "$1" == "exit" ]]; then + echo ":: Exit" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + killall -9 Hyprland + sleep 2 +fi + +if [[ "$1" == "lock" ]]; then + echo ":: Lock" + sleep 0.5 + hyprlock +fi + +if [[ "$1" == "reboot" ]]; then + echo ":: Reboot" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl reboot +fi + +if [[ "$1" == "shutdown" ]]; then + echo ":: Shutdown" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl poweroff +fi + +if [[ "$1" == "suspend" ]]; then + echo ":: Suspend" + sleep 0.5 + systemctl suspend +fi + +if [[ "$1" == "hibernate" ]]; then + echo ":: Hibernate" + sleep 1; + systemctl hibernate +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/restart-hypridle.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/restart-hypridle.sh new file mode 100644 index 0000000..fe29461 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/restart-hypridle.sh @@ -0,0 +1,5 @@ +#!/bin/bash +killall hypridle +sleep 1 +hypridle & +notify-send "hypridle has been restarted." \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/screenshot.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/screenshot.sh new file mode 100644 index 0000000..d08557a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/screenshot.sh @@ -0,0 +1,224 @@ +#!/bin/bash +# ____ _ _ +# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_ +# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __| +# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_ +# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__| +# +# Based on https://github.com/hyprwm/contrib/blob/main/grimblast/screenshot.sh +# ----------------------------------------------------- + +# Screenshots will be stored in $HOME by default. +# The screenshot will be moved into the screenshot directory + +# Add this to ~/.config/user-dirs.dirs to save screenshots in a custom folder: +# XDG_SCREENSHOTS_DIR="$HOME/Screenshots" + +prompt='Screenshot' +mesg="DIR: ~/Screenshots" + +# Screenshot Filename +source ~/.config/ml4w/settings/screenshot-filename.sh + +# Screenshot Folder +source ~/.config/ml4w/settings/screenshot-folder.sh + +# Screenshot Editor +export GRIMBLAST_EDITOR="$(cat ~/.config/ml4w/settings/screenshot-editor.sh)" + +# Example for keybindings +# bind = SUPER, p, exec, grimblast save active +# bind = SUPER SHIFT, p, exec, grimblast save area +# bind = SUPER ALT, p, exec, grimblast save output +# bind = SUPER CTRL, p, exec, grimblast save screen + +# Options +option_1="Immediate" +option_2="Delayed" + +option_capture_1="Capture Everything" +option_capture_2="Capture Active Display" +option_capture_3="Capture Selection" + +option_time_1="5s" +option_time_2="10s" +option_time_3="20s" +option_time_4="30s" +option_time_5="60s" +#option_time_4="Custom (in seconds)" # Roadmap or someone contribute :) + +list_col='1' +list_row='2' + +copy='Copy' +save='Save' +copy_save='Copy & Save' +edit='Edit' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take screenshot" +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2" | rofi_cmd +} + +#### +# Choose Timer +# CMD +timer_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 5 -width 30 -p "Choose timer" +} + +# Ask for confirmation +timer_exit() { + echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | timer_cmd +} + +# Confirm and execute +timer_run() { + selected_timer="$(timer_exit)" + if [[ "$selected_timer" == "$option_time_1" ]]; then + countdown=5 + ${1} + elif [[ "$selected_timer" == "$option_time_2" ]]; then + countdown=10 + ${1} + elif [[ "$selected_timer" == "$option_time_3" ]]; then + countdown=20 + ${1} + elif [[ "$selected_timer" == "$option_time_4" ]]; then + countdown=30 + ${1} + elif [[ "$selected_timer" == "$option_time_5" ]]; then + countdown=60 + ${1} + else + exit + fi +} +### + +#### +# Chose Screenshot Type +# CMD +type_screenshot_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Type of screenshot" +} + +# Ask for confirmation +type_screenshot_exit() { + echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | type_screenshot_cmd +} + +# Confirm and execute +type_screenshot_run() { + selected_type_screenshot="$(type_screenshot_exit)" + if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then + option_type_screenshot=screen + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then + option_type_screenshot=output + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then + option_type_screenshot=area + ${1} + else + exit + fi +} +### + +#### +# Choose to save or copy photo +# CMD +copy_save_editor_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "How to save" +} + +# Ask for confirmation +copy_save_editor_exit() { + echo -e "$copy\n$save\n$copy_save\n$edit" | copy_save_editor_cmd +} + +# Confirm and execute +copy_save_editor_run() { + selected_chosen="$(copy_save_editor_exit)" + if [[ "$selected_chosen" == "$copy" ]]; then + option_chosen=copy + ${1} + elif [[ "$selected_chosen" == "$save" ]]; then + option_chosen=save + ${1} + elif [[ "$selected_chosen" == "$copy_save" ]]; then + option_chosen=copysave + ${1} + elif [[ "$selected_chosen" == "$edit" ]]; then + option_chosen=edit + ${1} + else + exit + fi +} +### + +timer() { + if [[ $countdown -gt 10 ]]; then + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown_less_10=$((countdown - 10)) + sleep $countdown_less_10 + countdown=10 + fi + while [[ $countdown -ne 0 ]]; do + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown=$((countdown - 1)) + sleep 1 + done +} + +# take shots +takescreenshot() { + sleep 1 + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +takescreenshot_timer() { + sleep 1 + timer + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + type_screenshot_run + copy_save_editor_run "takescreenshot" + elif [[ "$1" == '--opt2' ]]; then + timer_run + type_screenshot_run + copy_save_editor_run "takescreenshot_timer" + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in +$option_1) + run_cmd --opt1 + ;; +$option_2) + run_cmd --opt2 + ;; +esac diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/toggle-animations.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/toggle-animations.sh new file mode 100644 index 0000000..7eedb1d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/toggle-animations.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cache_file="$HOME/.cache/toggle_animation" +if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then + echo ":: Toggle blocked by disabled.conf variation." +else + if [ -f $cache_file ] ;then + hyprctl keyword animations:enabled true + rm $cache_file + else + hyprctl keyword animations:enabled false + touch $cache_file + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/toggleallfloat.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/toggleallfloat.sh new file mode 100644 index 0000000..3fc12e2 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-automation.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-automation.sh new file mode 100644 index 0000000..e3d1f1e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-automation.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh) +_setWallpaperRandomly() { + waypaper --random + echo ":: Next wallpaper in 60 seconds..." + sleep $sec + _setWallpaperRandomly +} + +if [ ! -f ~/.config/ml4w/cache/wallpaper-automation ] ;then + touch ~/.config/ml4w/cache/wallpaper-automation + echo ":: Start wallpaper automation script" + notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds." + _setWallpaperRandomly +else + rm ~/.config/ml4w/cache/wallpaper-automation + notify-send "Wallpaper automation process stopped." + echo ":: Wallpaper automation script process $wp stopped" + wp=$(pgrep -f wallpaper-automation.sh) + kill -KILL $wp +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-cache.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-cache.sh new file mode 100644 index 0000000..899a06a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-cache.sh @@ -0,0 +1,5 @@ +#!/bin/bash +generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated" +rm $generated_versions/* +echo ":: Wallpaper cache cleared" +notify-send "Wallpaper cache cleared" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-effects.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-effects.sh new file mode 100644 index 0000000..83dbca8 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-effects.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +# Get current wallpaper +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" + +# Open rofi to select the Hyprshade filter for toggle +options="$(ls ~/.config/hypr/effects/wallpaper/)\noff" + +# Open rofi +choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade") +if [ ! -z $choice ] ;then + echo "$choice" > ~/.config/ml4w/settings/wallpaper-effect.sh + notify-send "Changing Wallpaper Effect to " "$choice" + waypaper --wallpaper $(cat $cache_file) +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-restore.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-restore.sh new file mode 100644 index 0000000..b875400 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper-restore.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Restore last wallpaper +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +defaultwallpaper="$HOME/Pictures/Wallpapers/faroe_islands.jpg" +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" + +# ----------------------------------------------------- +# Get current wallpaper +# ----------------------------------------------------- + +if [ -f "$cachefile" ]; then + sed -i "s|~|$HOME|g" "$cachefile" + wallpaper=$(cat $cachefile) + if [ -f $wallpaper ]; then + echo ":: Wallpaper $wallpaper exists" + else + echo ":: Wallpaper $wallpaper does not exist. Using default." + wallpaper=$defaultwallpaper + fi +else + echo ":: $cachefile does not exist. Using default wallpaper." + wallpaper=$defaultwallpaper +fi + +# ----------------------------------------------------- +# Set wallpaper +# ----------------------------------------------------- + +echo ":: Setting wallpaper with source image $wallpaper" +waypaper --wallpaper "$wallpaper" diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper.sh new file mode 100644 index 0000000..1045429 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/wallpaper.sh @@ -0,0 +1,172 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Check to use wallpaper cache +# ----------------------------------------------------- + +if [ -f ~/.config/ml4w/settings/wallpaper_cache ]; then + use_cache=1 + echo ":: Using Wallpaper Cache" +else + use_cache=0 + echo ":: Wallpaper Cache disabled" +fi + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +force_generate=0 +generatedversions="$HOME/.config/ml4w/cache/wallpaper-generated" +waypaperrunning=$HOME/.config/ml4w/cache/waypaper-running +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" +blurredwallpaper="$HOME/.config/ml4w/cache/blurred_wallpaper.png" +squarewallpaper="$HOME/.config/ml4w/cache/square_wallpaper.png" +rasifile="$HOME/.config/ml4w/cache/current_wallpaper.rasi" +blurfile="$HOME/.config/ml4w/settings/blur.sh" +defaultwallpaper="$HOME/Pictures/Wallpapers/faroe_islands.jpg" +wallpapereffect="$HOME/.config/ml4w/settings/wallpaper-effect.sh" +blur="50x30" +blur=$(cat $blurfile) + +# Ensures that the script only run once if wallpaper effect enabled +if [ -f $waypaperrunning ]; then + rm $waypaperrunning + exit +fi + +# Create folder with generated versions of wallpaper if not exists +if [ ! -d $generatedversions ]; then + mkdir $generatedversions +fi + +# ----------------------------------------------------- +# Get selected wallpaper +# ----------------------------------------------------- + +if [ -z $1 ]; then + if [ -f $cachefile ]; then + wallpaper=$(cat $cachefile) + else + wallpaper=$defaultwallpaper + fi +else + wallpaper=$1 +fi +used_wallpaper=$wallpaper +echo ":: Setting wallpaper with source image $wallpaper" +tmpwallpaper=$wallpaper + +# ----------------------------------------------------- +# Copy path of current wallpaper to cache file +# ----------------------------------------------------- + +if [ ! -f $cachefile ]; then + touch $cachefile +fi +echo "$wallpaper" > $cachefile +echo ":: Path of current wallpaper copied to $cachefile" + +# ----------------------------------------------------- +# Get wallpaper filename +# ----------------------------------------------------- +wallpaperfilename=$(basename $wallpaper) +echo ":: Wallpaper Filename: $wallpaperfilename" + +# ----------------------------------------------------- +# Wallpaper Effects +# ----------------------------------------------------- + +if [ -f $wallpapereffect ]; then + effect=$(cat $wallpapereffect) + if [ ! "$effect" == "off" ]; then + used_wallpaper=$generatedversions/$effect-$wallpaperfilename + if [ -f $generatedversions/$effect-$wallpaperfilename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper $effect-$wallpaperfilename" + else + echo ":: Generate new cached wallpaper $effect-$wallpaperfilename with effect $effect" + notify-send --replace-id=1 "Using wallpaper effect $effect..." "with image $wallpaperfilename" -h int:value:33 + source $HOME/.config/hypr/effects/wallpaper/$effect + fi + echo ":: Loading wallpaper $generatedversions/$effect-$wallpaperfilename with effect $effect" + echo ":: Setting wallpaper with $used_wallpaper" + touch $waypaperrunning + waypaper --wallpaper $used_wallpaper + else + echo ":: Wallpaper effect is set to off" + fi +else + effect="off" +fi + +# ----------------------------------------------------- +# Execute pywal +# ----------------------------------------------------- + +echo ":: Execute pywal with $used_wallpaper" +wal -q -i "$used_wallpaper" +source "$HOME/.cache/wal/colors.sh" + +# ----------------------------------------------------- +# Reload Waybar +# ----------------------------------------------------- + +killall -SIGUSR2 waybar + +# ----------------------------------------------------- +# Pywalfox +# ----------------------------------------------------- + +if type pywalfox > /dev/null 2>&1; then + pywalfox update +fi + +# ----------------------------------------------------- +# Created blurred wallpaper +# ----------------------------------------------------- + +if [ -f $generatedversions/blur-$blur-$effect-$wallpaperfilename.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper blur-$blur-$effect-$wallpaperfilename" +else + echo ":: Generate new cached wallpaper blur-$blur-$effect-$wallpaperfilename with blur $blur" + # notify-send --replace-id=1 "Generate new blurred version" "with blur $blur" -h int:value:66 + magick $used_wallpaper -resize 75% $blurredwallpaper + echo ":: Resized to 75%" + if [ ! "$blur" == "0x0" ]; then + magick $blurredwallpaper -blur $blur $blurredwallpaper + cp $blurredwallpaper $generatedversions/blur-$blur-$effect-$wallpaperfilename.png + echo ":: Blurred" + fi +fi +cp $generatedversions/blur-$blur-$effect-$wallpaperfilename.png $blurredwallpaper + +# ----------------------------------------------------- +# Create rasi file +# ----------------------------------------------------- + +if [ ! -f $rasifile ]; then + touch $rasifile +fi +echo "* { current-image: url(\"$blurredwallpaper\", height); }" > "$rasifile" + +# ----------------------------------------------------- +# Created square wallpaper +# ----------------------------------------------------- + +echo ":: Generate new cached wallpaper square-$wallpaperfilename" +magick $tmpwallpaper -gravity Center -extent 1:1 $squarewallpaper +cp $squarewallpaper $generatedversions/square-$wallpaperfilename.png + +# ----------------------------------------------------- +# Reload AGS +# ----------------------------------------------------- + +ags quit & +sleep 0.2 +ags run & diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/xdg.sh b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/xdg.sh new file mode 100644 index 0000000..f7d0fec --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/scripts/xdg.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# __ ______ ____ +# \ \/ / _ \ / ___| +# \ /| | | | | _ +# / \| |_| | |_| | +# /_/\_\____/ \____| +# + +# Setup Timers +_sleep1="0.1" +_sleep2="0.5" +_sleep3="2" + +# Kill all possible running xdg-desktop-portals +killall -e xdg-desktop-portal-hyprland +killall -e xdg-desktop-portal-gnome +killall -e xdg-desktop-portal-kde +killall -e xdg-desktop-portal-lxqt +killall -e xdg-desktop-portal-wlr +killall -e xdg-desktop-portal-gtk +killall -e xdg-desktop-portal + +# Set required environment variables +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland + +# Stop all services +systemctl --user stop pipewire +systemctl --user stop wireplumber +systemctl --user stop xdg-desktop-portal +systemctl --user stop xdg-desktop-portal-gnome +systemctl --user stop xdg-desktop-portal-kde +systemctl --user stop xdg-desktop-portal-wlr +systemctl --user stop xdg-desktop-portal-hyprland +sleep $_sleep1 + +# Start xdg-desktop-portal-hyprland +/usr/lib/xdg-desktop-portal-hyprland & +sleep $_sleep1 + +# Start xdg-desktop-portal-gtk +if [ -f /usr/lib/xdg-desktop-portal-gtk ] ;then + /usr/lib/xdg-desktop-portal-gtk & + sleep $_sleep1 +fi + +# Start xdg-desktop-portal +/usr/lib/xdg-desktop-portal & +sleep $_sleep2 + +# Start required services +systemctl --user start pipewire +systemctl --user start wireplumber +systemctl --user start xdg-desktop-portal +systemctl --user start xdg-desktop-portal-hyprland + +# Run waybar +sleep $_sleep3 +~/.config/waybar/launch.sh diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-25.glsl b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-25.glsl new file mode 100644 index 0000000..149b143 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-25.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.25; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-50.glsl b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-50.glsl new file mode 100644 index 0000000..ac5ea21 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-50.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.5; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-75.glsl b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-75.glsl new file mode 100644 index 0000000..c8c1b23 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/blue-light-filter-75.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.75; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/invert-colors.glsl b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/invert-colors.glsl new file mode 100644 index 0000000..a504901 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/hypr/shaders/invert-colors.glsl @@ -0,0 +1,8 @@ +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + gl_FragColor = vec4(1.0 - pixColor.r, 1.0 - pixColor.g, 1.0 - pixColor.b, pixColor.a); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w-hyprland-settings/hyprctl.json b/configs/dotfiles/hyprland/desktop/.config/ml4w-hyprland-settings/hyprctl.json new file mode 100644 index 0000000..3b0d272 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w-hyprland-settings/hyprctl.json @@ -0,0 +1,14 @@ +[ + { + "key": "general:col.active_border", + "value": "rgb(82aaff)" + }, + { + "key": "general:border_size", + "value": 4 + }, + { + "key": "general:gaps_out", + "value": 12 + } +] \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w-hyprland-settings/hyprctl.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w-hyprland-settings/hyprctl.sh new file mode 100644 index 0000000..9fffc49 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w-hyprland-settings/hyprctl.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# _ _ _ +# | |__ _ _ _ __ _ __ ___| |_| | +# | '_ \| | | | '_ \| '__/ __| __| | +# | | | | |_| | |_) | | | (__| |_| | +# |_| |_|\__, | .__/|_| \___|\__|_| +# |___/|_| +# +# Execute this file in the hyprland.conf with exec-always +sleep 3 +script=$(readlink -f $0) +path=$(dirname $script) +if [ ! -f $path/hyprctl.json ] ;then + echo ":: ERROR: hyprctl.json not found" + exit 1 +fi + +jq -c '.[]' $path/hyprctl.json | while read i; do + _val() { + echo $1 | jq -r '.value' + } + _key() { + echo $1 | jq -r '.key' + } + key=$(_key $i) + val=$(_val $i) + echo ":: Execute: hyprctl keyword $key $val" + hyprctl keyword $key $val +done diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/assets/blank.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/assets/blank.png new file mode 100644 index 0000000..f7aa3f8 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/assets/blank.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/blurred_wallpaper.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/blurred_wallpaper.png new file mode 100644 index 0000000..faded9e Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/blurred_wallpaper.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/current_wallpaper b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/current_wallpaper new file mode 100644 index 0000000..ee48877 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/current_wallpaper @@ -0,0 +1 @@ +/home/gib/Pictures/Wallpapers/faroe_islands.jpg diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/current_wallpaper.rasi b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/current_wallpaper.rasi new file mode 100644 index 0000000..d0e0201 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/current_wallpaper.rasi @@ -0,0 +1 @@ +* { current-image: url("/home/gib/.config/ml4w/cache/blurred_wallpaper.png", height); } diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/square_wallpaper.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/square_wallpaper.png new file mode 100644 index 0000000..2c08e7b Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/square_wallpaper.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png new file mode 100644 index 0000000..be2ade3 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png new file mode 100644 index 0000000..efbc525 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png new file mode 100644 index 0000000..63665f9 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png new file mode 100644 index 0000000..faded9e Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground.png.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground.png.png new file mode 100644 index 0000000..eb8fdae Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground.png.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-pink_sky.png.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-pink_sky.png.png new file mode 100644 index 0000000..c0673f7 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-pink_sky.png.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-snow-mountain-peaks.jpg.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-snow-mountain-peaks.jpg.png new file mode 100644 index 0000000..25f7be8 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-snow-mountain-peaks.jpg.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-.png new file mode 100644 index 0000000..f9dad8e Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png new file mode 100644 index 0000000..f9dad8e Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png new file mode 100644 index 0000000..b2fa847 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png new file mode 100644 index 0000000..2c08e7b Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-ogbackground.png.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-ogbackground.png.png new file mode 100644 index 0000000..a09040d Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-ogbackground.png.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-pink_sky.png.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-pink_sky.png.png new file mode 100644 index 0000000..cdf1328 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-pink_sky.png.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-snow-mountain-peaks.jpg.png b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-snow-mountain-peaks.jpg.png new file mode 100644 index 0000000..f9dad8e Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/ml4w/cache/wallpaper-generated/square-snow-mountain-peaks.jpg.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/login/issue b/configs/dotfiles/hyprland/desktop/.config/ml4w/login/issue new file mode 100644 index 0000000..d3f99f3 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/login/issue @@ -0,0 +1,11 @@ + _ _ + | | ___ __ _(_)_ __ + | | / _ \\ / _' | | '_ \\ + | |__| (_) | (_| | | | | | + |_____\\___/ \\__, |_|_| |_| + |___/ + +Today is \d \t @ \n +-------------------------------------------------------------- +\r (\l) + diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/ags.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/ags.sh new file mode 100644 index 0000000..8c1ba75 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/ags.sh @@ -0,0 +1 @@ +ags run \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/cleanup.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/cleanup.sh new file mode 100644 index 0000000..3e509c9 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/cleanup.sh @@ -0,0 +1,6 @@ +#!/bin/bash +clear +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" +figlet -f smslant "Cleanup" +echo +$aur_helper -Scc diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/installprinters.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/installprinters.sh new file mode 100644 index 0000000..67812c8 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/installprinters.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _____ __ +# | __ \ (_) | | / ____| / _| +# | |__) | __ _ _ __ | |_ ___ _ __ | | ___ _ __ | |_ +# | ___/ '__| | '_ \| __/ _ \ '__| | | / _ \| '_ \| _| +# | | | | | | | | | || __/ | | |___| (_) | | | | | +# |_| |_| |_|_| |_|\__\___|_| \_____\___/|_| |_|_| +# +# By @krystalsavage + +sleep 1 +clear +figlet -f smslant "Printers" + +# ------------------------------------------------------ +# Confirm Start +# ------------------------------------------------------ + +if gum confirm "DO YOU WANT TO START TO INSTALL PRINTER SYSTEM NOW?" ;then + echo + echo ":: Install started." +elif [ $? -eq 130 ]; then + exit 130 +else + echo + echo ":: Install canceled." + exit; +fi + +if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then + if gum confirm "DO YOU WANT TO CREATE A SNAPSHOT?" ;then + echo + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + sudo grub-mkconfig -o /boot/grub/grub.cfg + echo ":: DONE. Snapshot $c created!" + echo + elif [ $? -eq 130 ]; then + echo ":: Snapshot canceled." + exit 130 + else + echo ":: Snapshot canceled." + fi + echo +fi + +yay -S cups cups-pdf cups-filters nss-mdns system-config-printer foomatic-db footmatic-db-engine foomatic-db-nonfree doomatic-db-nonfree-ppds foomatic-db-ppds cups-browsed libusb ipp-usb xdg-utils colord logrotate + +notify-send "Installing printer system complete" +echo +echo ":: Installing printer system complete" +sleep 2 + +if [ -f ~/.config/ml4w/settings/printer-drivers.sh ] ;then + if gum confirm "DO YOU WANT TO INSTALL PRINTER DRIVERS NOW?" ;then + echo + echo ":: Install started." + elif [ $? -eq 130 ]; then + exit 130 + else + echo + echo ":: Install cancelled." + exit; + fi +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/installtimeshift.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/installtimeshift.sh new file mode 100644 index 0000000..06265ad --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/installtimeshift.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _____ _ _ _ __ _ +# |_ _(_)_ __ ___ ___ ___| |__ (_)/ _| |_ +# | | | | '_ ` _ \ / _ \/ __| '_ \| | |_| __| +# | | | | | | | | | __/\__ \ | | | | _| |_ +# |_| |_|_| |_| |_|\___||___/_| |_|_|_| \__| +# + +sleep 1 +clear +figlet -f smslant "Timeshift" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + echo ":: Timeshift is already installed" +else + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + fi +fi +if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "0" ]] ;then + echo ":: grub-btrfs is already installed" +else + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + fi +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/lid-improvements.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/lid-improvements.sh new file mode 100644 index 0000000..2ffad61 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/lid-improvements.sh @@ -0,0 +1,12 @@ +#!/bin/bash +while IFS= read -r line; do + # If the line starts with # and the next line is not the lines to be added + if [[ $line == \#HandleLidSwitchDocked=ignore ]]; then + # Add the new lines + echo "HandleLidSwitchDocked=ignore" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi + if [[ $line == \#HoldoffTimeoutSec=5s ]]; then + # Add the new lines + echo "HoldoffTimeoutSec=5s" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi +done < /etc/systemd/logind.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/pacman.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/pacman.sh new file mode 100644 index 0000000..d6a2903 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/pacman.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# ____ +# | _ \ __ _ ___ _ __ ___ __ _ _ __ +# | |_) / _` |/ __| '_ ` _ \ / _` | '_ \ +# | __/ (_| | (__| | | | | | (_| | | | | +# |_| \__,_|\___|_| |_| |_|\__,_|_| |_| +# + +sleep 1 +clear +figlet -f smslant "pacman.conf" +echo +echo ":: This script will activate or deactivate additions for your pacman.conf." +echo +if grep -Fq "#ParallelDownloads" /etc/pacman.conf +then + if gum confirm "Do you want to activate parallel downloads?" ;then + sudo sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf + else + echo ":: Activation of parallel downloads skipped." + fi +else + echo ":: Parallel downloads are already activated." +fi + +if grep -Fxq "#Color" /etc/pacman.conf +then + if gum confirm "Do you want to activate colors?" ;then + sudo sed -i 's/^#Color/Color/' /etc/pacman.conf + else + echo ":: Activation of Color skipped." + fi +else + echo ":: Color is already activated." +fi + +if grep -Fxq "#VerbosePkgLists" /etc/pacman.conf +then + if gum confirm "Do you want to activate VerbosePkgLists?" ;then + sudo sed -i 's/^#VerbosePkgLists/VerbosePkgLists/' /etc/pacman.conf + else + echo ":: Activation of VerbosePkgLists skipped." + fi +else + echo ":: VerbosePkgLists is already activated." +fi + +if grep -Fxq "ILoveCandy" /etc/pacman.conf +then + echo ":: ILoveCandy is already activated." +else + if gum confirm "Do you want to activate ILoveCandy?" ;then + sudo sed -i '/^ParallelDownloads = .*/a ILoveCandy' /etc/pacman.conf + else + echo ":: Activation of ILoveCandy skipped." + fi +fi +echo +echo "Press [ENTER] to close." +read \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/snapshot.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/snapshot.sh new file mode 100644 index 0000000..7ce1acc --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/snapshot.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# ____ _ _ +# / ___| _ __ __ _ _ __ ___| |__ ___ | |_ +# \___ \| '_ \ / _` | '_ \/ __| '_ \ / _ \| __| +# ___) | | | | (_| | |_) \__ \ | | | (_) | |_ +# |____/|_| |_|\__,_| .__/|___/_| |_|\___/ \__| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +sleep 1 +clear +figlet -f smslant "Snapshot" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + if [[ -d /boot/grub ]] ;then + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + sudo grub-mkconfig -o /boot/grub/grub.cfg + fi + echo "DONE. Snapshot $c created!" +else + echo "ERROR: Timeshift is not installed." + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + echo + echo ":: Timeshift has been installed. Please restart this script." + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/unlock-pacman.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/unlock-pacman.sh new file mode 100644 index 0000000..33b7de0 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/arch/unlock-pacman.sh @@ -0,0 +1,9 @@ +#!/bin/bash +sleep 1 +if [ -f /var/lib/pacman/db.lck ]; then + sudo rm /var/lib/pacman/db.lck + echo ":: Unlock complete" +else + echo ":: Pacman database is not locked" +fi +sleep 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/cliphist.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/cliphist.sh new file mode 100644 index 0000000..b9a2acc --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/cliphist.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# ____ _ _ _ _ _ +# / ___| (_)_ __ | |__ (_)___| |_ +# | | | | | '_ \| '_ \| / __| __| +# | |___| | | |_) | | | | \__ \ |_ +# \____|_|_| .__/|_| |_|_|___/\__| +# |_| +# + +case $1 in + d) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist delete + ;; + + w) if [ `echo -e "Clear\nCancel" | rofi -dmenu -config ~/.config/rofi/config-short.rasi` == "Clear" ] ; then + cliphist wipe + fi + ;; + + *) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist decode | wl-copy + ;; +esac diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/figlet.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/figlet.sh new file mode 100644 index 0000000..7a5ff4e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/figlet.sh @@ -0,0 +1,24 @@ +#!/bin/bash +figlet -f smslant "Figlet" +echo +# ------------------------------------------------ +# Script to create ascii font based header on user input +# and copy the result to the clipboard +# ----------------------------------------------------- + +read -p "Enter the text for ascii encoding: " mytext + +if [ -f ~/figlet.txt ]; then + touch ~/figlet.txt +fi + +echo "cat <<\"EOF\"" > ~/figlet.txt +figlet -f smslant "$mytext" >> ~/figlet.txt +echo "" >> ~/figlet.txt +echo "EOF" >> ~/figlet.txt + +lines=$( cat ~/figlet.txt ) +wl-copy "$lines" +xclip -sel clip ~/figlet.txt + +echo "Text copied to clipboard!" diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/installupdates.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/installupdates.sh new file mode 100644 index 0000000..b4605b5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/installupdates.sh @@ -0,0 +1,101 @@ +#!/bin/bash +# ____ __ ____ __ __ +# / _/__ ___ / /____ _/ / / __ _____ ___/ /__ _/ /____ ___ +# _/ // _ \(_- /dev/null + then + echo "Running" + killall nm-applet + else + echo "Stopped" + nm-applet --indicator & + fi +else + nm-applet --indicator & +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/sddm-wallpaper.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/sddm-wallpaper.sh new file mode 100644 index 0000000..eccad59 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/sddm-wallpaper.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# _ _ _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ __| | __| |_ __ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \ / __|/ _` |/ _` | '_ ` _ \ +# | |_| | |_) | (_| | (_| | || __/ \__ \ (_| | (_| | | | | | | +# \___/| .__/ \__,_|\__,_|\__\___| |___/\__,_|\__,_|_| |_| |_| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- +sleep 1 +clear +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" +current_wallpaper=$(cat "$cache_file") +extension="${current_wallpaper##*.}" + +echo -e "${GREEN}" +figlet -f smslant "SDDM Wallpaper" +echo -e "${NONE}" + +sddm_theme_name="sequoia" +sddm_asset_folder="/usr/share/sddm/themes/$sddm_theme_name/backgrounds" + +sddm_theme_tpl="/usr/share/ml4w-hyprland/sddm/theme.conf" +if [ -f $HOME/.config/ml4w/settings/sddm/theme.conf ]; then + sddm_theme_tpl="$HOME/.config/ml4w/settings/sddm/theme.conf" + echo ":: Using custum theme.conf" +fi + + +if [ ! -f $current_wallpaper ]; then + gum spin --spinner dot --title "File $current_wallpaper does not exist" -- sleep 3 + exit +fi + +echo ":: Set the current wallpaper $current_wallpaper as SDDM wallpaper." +echo + +if [ ! -d /etc/sddm.conf.d/ ]; then + sudo mkdir /etc/sddm.conf.d + echo ":: Folder /etc/sddm.conf.d created." +fi + +sudo cp /usr/share/ml4w-hyprland/sddm/sddm.conf /etc/sddm.conf.d/ +echo ":: File /etc/sddm.conf.d/sddm.conf updated." + +sudo cp $current_wallpaper $sddm_asset_folder/current_wallpaper.$extension +echo ":: Current wallpaper copied into $sddm_asset_folder" + +sudo cp $sddm_theme_tpl /usr/share/sddm/themes/$sddm_theme_name/ +sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.$extension"'/' /usr/share/sddm/themes/$sddm_theme_name/theme.conf +echo ":: File theme.conf updated in /usr/share/sddm/themes/$sddm_theme_name/" +echo + +echo ":: You can preview your updated SDDM Login screen. (Close it with SUPER+Q)" +echo +if gum confirm "Do you want to preview the result?"; then + sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sequoia +fi + +echo +gum spin --spinner dot --title "Please logout to see the result." -- sleep 3 diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/shell.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/shell.sh new file mode 100644 index 0000000..9cb6a94 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/shell.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# ____ _ _ _ +# / ___|| |__ ___| | | +# \___ \| '_ \ / _ \ | | +# ___) | | | | __/ | | +# |____/|_| |_|\___|_|_| +# + +sleep 1 + +_isInstalledYay() { + package="$1"; + check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +clear +figlet -f smslant "Shell" + +echo ":: Please select your preferred shell" +echo +shell=$(gum choose "bash" "zsh" "Cancel") +# ----------------------------------------------------- +# Activate bash +# ----------------------------------------------------- +if [[ $shell == "bash" ]] ;then + + # Change shell to bash + while ! chsh -s $(which bash); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now bash." + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Activate zsh +# ----------------------------------------------------- +elif [[ $shell == "zsh" ]] ;then + + # Change shell to shh + while ! chsh -s $(which zsh); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now zsh." + + # Installing oh-my-posh + yay -S oh-my-posh-bin + + # Installing oh-my-zsh + if [ ! -d "$HOME/.oh-my-zsh" ]; then + echo ":: Installing oh-my-zsh" + sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended + cp ~/.config/ml4w/tpl/.zshrc ~/ + else + echo ":: oh-my-zsh already installed" + fi + + # Installing zsh-autosuggestions + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then + echo ":: Installing zsh-autosuggestions" + git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + else + echo ":: zsh-autosuggestions already installed" + fi + + # Installing zsh-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then + echo ":: Installing zsh-syntax-highlighting" + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting + else + echo ":: zsh-syntax-highlighting already installed" + fi + + # Installing fast-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/fast-syntax-highlighting" ]; then + echo ":: Installing fast-syntax-highlighting" + git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting + else + echo ":: fast-syntax-highlighting already installed" + fi + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Cencel +# ----------------------------------------------------- +else + echo ":: Changing shell canceled" + exit +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/thunarterminal.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/thunarterminal.sh new file mode 100644 index 0000000..777be5f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/thunarterminal.sh @@ -0,0 +1,19 @@ +#!/bin/bash +clear +if [ -f ~/.config/ml4w/settings/terminal.sh ]; then + terminal="$(cat ~/.config/ml4w/settings/terminal.sh)" + echo ":: Installing $terminal" + if [ -d ~/.config/xfce4 ]; then + if [ ! -f ~/.config/xfce4/helpers.rc ]; then + touch ~/.config/xfce4/helpers.rc + fi + echo "TerminalEmulator=$terminal" > ~/.config/xfce4/helpers.rc + echo ":: $terminal defined as Thunar Terminal Emulator." + else + echo "ERROR: ~/.config/xfce4 not found. Please open Thunar once to create it." + echo "Then start this script again." + fi +else + echo "ERROR: ~/.config/ml4w/settings/terminal.sh not found" +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/updates.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/updates.sh new file mode 100644 index 0000000..505d126 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/updates.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \/ __| +# | |_| | |_) | (_| | (_| | || __/\__ \ +# \___/| .__/ \__,_|\__,_|\__\___||___/ +# |_| +# + +# ----------------------------------------------------- +# Define threshholds for color indicators +# ----------------------------------------------------- + +threshhold_green=0 +threshhold_yellow=25 +threshhold_red=100 +install_platform="$(cat ~/.config/ml4w/settings/platform.sh)" + +# Check if platform is supported +case $install_platform in + arch) + aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + + # ----------------------------------------------------- + # Calculate available updates + # ----------------------------------------------------- + + # flatpak remote-ls --updates + + updates=$(checkupdates-with-aur | wc -l) + ;; + fedora) + updates=$(dnf check-update -q|grep -c ^[a-z0-9]) + ;; + *) + updates=0 + ;; +esac + +# ----------------------------------------------------- +# Output in JSON format for Waybar Module custom-updates +# ----------------------------------------------------- + +css_class="green" + +if [ "$updates" -gt $threshhold_yellow ]; then + css_class="yellow" +fi + +if [ "$updates" -gt $threshhold_red ]; then + css_class="red" +fi + +if [ "$updates" -gt $threshhold_green ]; then + printf '{"text": "%s", "alt": "%s", "tooltip": "Click to update your system", "class": "%s"}' "$updates" "$updates" "$css_class" +else + printf '{"text": "0", "alt": "0", "tooltip": "No updates available", "class": "green"}' +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/wlogout.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/wlogout.sh new file mode 100644 index 0000000..2b540eb --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/scripts/wlogout.sh @@ -0,0 +1,5 @@ +res_w=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width') +res_h=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .height') +h_scale=$(hyprctl -j monitors | jq '.[] | select (.focused == true) | .scale' | sed 's/\.//') +w_margin=$(( res_h * 27 / h_scale )) +wlogout -b 5 -T $w_margin -B $w_margin \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/ai.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/ai.sh new file mode 100644 index 0000000..36937a2 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/ai.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/browser.sh) --new-window https://chat.gibbyb.com diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/blur.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/blur.sh new file mode 100644 index 0000000..4ffc966 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/blur.sh @@ -0,0 +1 @@ +50x30 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/browser.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/browser.sh new file mode 100644 index 0000000..dbfb8f9 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/browser.sh @@ -0,0 +1 @@ +firefox diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/calculator.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/calculator.sh new file mode 100644 index 0000000..7321b2e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/calculator.sh @@ -0,0 +1 @@ +gnome-calculator \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/dotfiles-folder.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/dotfiles-folder.sh new file mode 100644 index 0000000..b1b1c85 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/dotfiles-folder.sh @@ -0,0 +1 @@ +Documents/Configs/hyprland/desktop diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/dunst_position.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/dunst_position.sh new file mode 100644 index 0000000..181d3ca --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/dunst_position.sh @@ -0,0 +1 @@ +top-center \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/editor.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/editor.sh new file mode 100644 index 0000000..732ff53 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/editor.sh @@ -0,0 +1 @@ +nvim diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/emojipicker.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/emojipicker.sh new file mode 100644 index 0000000..36d697f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/emojipicker.sh @@ -0,0 +1 @@ +smile \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/eww-monitor.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/eww-monitor.sh new file mode 100644 index 0000000..4d18c3e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/eww-monitor.sh @@ -0,0 +1 @@ +auto \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/filemanager.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/filemanager.sh new file mode 100644 index 0000000..9f0175d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/filemanager.sh @@ -0,0 +1 @@ +nautilus \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_dpms_timeout.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_dpms_timeout.sh new file mode 100644 index 0000000..9ecf271 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_dpms_timeout.sh @@ -0,0 +1 @@ +660 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_hyprlock_timeout.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_hyprlock_timeout.sh new file mode 100644 index 0000000..73623d1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_hyprlock_timeout.sh @@ -0,0 +1 @@ +600 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_suspend_timeout.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_suspend_timeout.sh new file mode 100644 index 0000000..2974009 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hypridle_suspend_timeout.sh @@ -0,0 +1 @@ +1800 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hyprpaper.tpl b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hyprpaper.tpl new file mode 100644 index 0000000..3033ff3 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hyprpaper.tpl @@ -0,0 +1,8 @@ +# Preload Wallpapers +preload = WALLPAPER + +# Set Wallpapers +wallpaper = ,WALLPAPER + +# Disable Splash +splash = false \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hyprshade.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hyprshade.sh new file mode 100644 index 0000000..1865560 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/hyprshade.sh @@ -0,0 +1 @@ +hyprshade_filter="blue-light-filter-50" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/ml4w-sidebar.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/ml4w-sidebar.sh new file mode 100644 index 0000000..b1ab0ad --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/ml4w-sidebar.sh @@ -0,0 +1 @@ +ags toggle sidebar \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/networkmanager.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/networkmanager.sh new file mode 100644 index 0000000..b2a0141 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/networkmanager.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e nmtui \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/notification.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/notification.sh new file mode 100644 index 0000000..936c7eb --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/notification.sh @@ -0,0 +1 @@ +dunst \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/platform.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/platform.sh new file mode 100644 index 0000000..35a143b --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/platform.sh @@ -0,0 +1 @@ +fedora diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/printer-drivers.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/printer-drivers.sh new file mode 100644 index 0000000..444839f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/printer-drivers.sh @@ -0,0 +1,4 @@ +# Installation of Printer Drivers +# Please add your drivers to the package list +# Example: +# yay -S brother-hll2360dw-lpr-bin brother-hll2360dw-cups-bin brother-mfc-l3770cdw brscan-skey brscan4 skanpage \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-border-radius.rasi b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-border-radius.rasi new file mode 100644 index 0000000..7cbaeeb --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-border-radius.rasi @@ -0,0 +1 @@ +* { border-radius: 2em; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-border.rasi b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-border.rasi new file mode 100644 index 0000000..e533468 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-border.rasi @@ -0,0 +1 @@ +* { border-width: 3px; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-font.rasi b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-font.rasi new file mode 100644 index 0000000..a2497c3 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi-font.rasi @@ -0,0 +1 @@ +configuration { font: "Fira Sans 11"; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi_bordersize.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi_bordersize.sh new file mode 100644 index 0000000..e440e5c --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/rofi_bordersize.sh @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-editor.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-editor.sh new file mode 100644 index 0000000..5f0900f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-editor.sh @@ -0,0 +1 @@ +pinta \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-filename.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-filename.sh new file mode 100644 index 0000000..f81ad3c --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-filename.sh @@ -0,0 +1 @@ +NAME="screenshot_$(date +%d%m%Y_%H%M%S).jpg" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-folder.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-folder.sh new file mode 100644 index 0000000..a1bf821 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/screenshot-folder.sh @@ -0,0 +1 @@ +screenshot_folder="$HOME/Pictures" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/sddm/theme.tpl b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/sddm/theme.tpl new file mode 100644 index 0000000..f4ae01f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/sddm/theme.tpl @@ -0,0 +1,132 @@ +[General] + +# Set to your screen resolution for better results +width=1680 +height=1050 + +backgroundColour="black" + +wallpaper="backgrounds/CURRENTWALLPAPER" + +# Whether to scale the image to fit on the screen, might leave some blank spaces +# will scale and crop the wallpaper if left false +fitWallpaper=false + +# Main font +fontFamily="Noto Sans" + +# Set to a patched NerdFont if some icons don't display properly +# or leave empty to use the main font family +iconFont="" + +# Set this if fonts are the wrong size for your resolution +fontSize=14 + +# Whether to show icons inside menus +iconsInMenus=true + + +# [Colour_Palette] + +# The main colour for text and icons +primaryColour="white" + +# The background colour of popup panels +popupsBackgroundColour="white" + +# Used for the text and icons inside popup panels +popupsForegroundColour="black" + +# Colour used for selected and focused items +accentColour="#a7d9ea" + + +# [Greeting_Screen] + +# Set true to be taken directly to the login screen +skipToLogin=false + +# Supports Markdown formatting, leave empty to not display any text +greeting="Welcome back!" + +# Adjusts the font size for the greeting message, clock and date +fontSizeMultiplier=2 + +# For help with date and time formatting see https://doc.qt.io/qt-5/qml-qtqml-date.html#format-strings +clockFormat="HH:mm" +dateFormat="dddd, dd MMMM" + +# Set this in case the date isn't in your system locale or you wish to use a different one +locale="" + +# Styles the clock font +# Set to 'outline' for alternate style +clockStyle=fill + +# Anchor the clock to a side or corner of the screen, horizontal position is susceptible to layout mirroring +# Syntax: vertical | horizontal +# possible vertical values: top - center - bottom +# and horizontal: left - center - right +dateTimePosition="bottom right" + +# Defines how far away the date and time are from the edges of the screen +dateTimePadding=55 + +# Defines the behaviour of the sliding transition from greeting to login form +# Set to +/- x or y +transitionDirection="x" + +# [Login_Screen] + +# The maximum radius allowed is 16 per loop +blurRadius=10 +blurRecursiveLoops=5 + +# Used to dim the background +darkenWallpaper=0.3 + +# Purely cosmetic, has no effect on login credentials +capitaliseUsername=false + +# 'mask' - hides your password by replacing the characters with something else +# 'off' - also hides the length of your password by disabling echoing +passwordEchoStyle=mask + +allowEmptyPassword=false + +# Set false to hide the selected session's name next to the menu icon +displaySession=true + + +# [Translations] +# SDDM may not have translations for every element, or you might want to change some text to something else +# setting these will override the text constants + +virtualKeyboard="" +poweroff="" +reboot="" +suspend="" +hibernate="" +password="" +username="" +loginFailed="" + + +# [Accessibility] + +# Set false to set all transition durations to 0 +enableAnimations=true + +# 'auto' - activates mirroring based on the system locale +# 'false' - never mirror layout +# 'true' - always mirrors +mirrorLayout=auto + +# Whether the on-screen keyboard should be activated by default +# It can always be de/activated through the  accessibility panel +virtualKeyboardStartActive=false + +# Normally the on-screen keyboard only shows up when text fields are focused +# Set this true to have the keyboard always be visible once activated +# This will render the hide button on the keyboard non-functional +forceKeyboardVisible=false diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/software.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/software.sh new file mode 100644 index 0000000..d10bc37 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/software.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e pacseek \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/system-monitor.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/system-monitor.sh new file mode 100644 index 0000000..a7b1e4f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/system-monitor.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e htop diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/terminal.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/terminal.sh new file mode 100644 index 0000000..659fb6b --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/terminal.sh @@ -0,0 +1 @@ +kitty \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-automation.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-automation.sh new file mode 100644 index 0000000..2b82dfe --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-automation.sh @@ -0,0 +1 @@ +60 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-effect.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-effect.sh new file mode 100644 index 0000000..cfb931e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-effect.sh @@ -0,0 +1 @@ +off diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-engine.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-engine.sh new file mode 100644 index 0000000..b6923b6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-engine.sh @@ -0,0 +1 @@ +hyprpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-folder.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-folder.sh new file mode 100644 index 0000000..8d138d1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wallpaper-folder.sh @@ -0,0 +1,2 @@ +# Enter the path to the folder that includes your wallpapers +wallpaper_folder=$HOME/wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar-quicklinks.json b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar-quicklinks.json new file mode 100644 index 0000000..7d61906 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar-quicklinks.json @@ -0,0 +1,45 @@ +{ + "custom/quicklink1": { + "format": "", + "on-click": "chromium", + "tooltip-format": "Open Chromium" + }, + "custom/quicklink2": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip-format": "Open Firefox" + }, + "custom/quicklink3": { + "format": "", + "on-click": "~/.config/ml4w/settings/filemanager.sh", + "tooltip-format": "Open filemanager" + }, + "custom/quicklink4": { + "format": "", + "on-click": "betterbird", + "tooltip-format": "Open Betterbird" + }, + "custom/quicklink5": { + "format": "", + "on-click": "~/.config/ml4w/settings/calculator.sh", + "tooltip-format": "Open calculator" + }, + "custom/quicklink6": { + "format": "", + "on-click": "~/.config/ml4w/settings/emojipicker.sh", + "tooltip-format": "Open emoji picker" + }, + "custom/quicklinkempty": { + }, + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/quicklink2", + "custom/quicklink3", + /* + "custom/quicklink4", + */ + "custom/quicklinkempty" + ] + } +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar-theme.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar-theme.sh new file mode 100644 index 0000000..ed8366b --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar-theme.sh @@ -0,0 +1 @@ +/ml4w;/ml4w/colored diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_appmenu.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_appmenu.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_appmenu.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_backlight.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_backlight.sh new file mode 100644 index 0000000..c1f22fb --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_backlight.sh @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_chatgpt.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_chatgpt.sh new file mode 100644 index 0000000..0ca9514 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_chatgpt.sh @@ -0,0 +1 @@ +True diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_custom_timedateformat.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_custom_timedateformat.sh new file mode 100644 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_dateformat.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_dateformat.sh new file mode 100644 index 0000000..05696fa --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_dateformat.sh @@ -0,0 +1 @@ +%a \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_network.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_network.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_network.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_quicklinks.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_quicklinks.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_quicklinks.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_screenlock.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_screenlock.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_screenlock.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_settings.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_settings.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_settings.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_systray.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_systray.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_systray.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_taskbar.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_taskbar.sh new file mode 100644 index 0000000..bc59c12 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_taskbar.sh @@ -0,0 +1 @@ +False diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_timeformat.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_timeformat.sh new file mode 100644 index 0000000..3d87f12 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_timeformat.sh @@ -0,0 +1 @@ +%H:%M \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_timezone.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_timezone.sh new file mode 100644 index 0000000..c7aac92 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_timezone.sh @@ -0,0 +1 @@ +America/Chicago diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_toggle.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_toggle.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_toggle.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_window.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_window.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_window.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_workspaces.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_workspaces.sh new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/waybar_workspaces.sh @@ -0,0 +1 @@ +6 diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wlogout-parameters.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wlogout-parameters.sh new file mode 100644 index 0000000..50e2452 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/settings/wlogout-parameters.sh @@ -0,0 +1 @@ +-b 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/tpl/.zshrc b/configs/dotfiles/hyprland/desktop/.config/ml4w/tpl/.zshrc new file mode 100644 index 0000000..9968f7e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/tpl/.zshrc @@ -0,0 +1,23 @@ +# _ +# _______| |__ _ __ ___ +# |_ / __| '_ \| '__/ __| +# _ / /\__ \ | | | | | (__ +# (_)___|___/_| |_|_| \___| +# +# ----------------------------------------------------- +# ML4W zshrc loader +# ----------------------------------------------------- + +# DON'T CHANGE THIS FILE + +# You can define your custom configuration by adding +# files in ~/.config/zshrc +# or by creating a folder ~/.config/zshrc/custom +# with you own zshrc configuration +# ----------------------------------------------------- + +if [ -d ~/.config/zshrc/custom ] ;then + for f in ~/.config/zshrc/custom/*; do source $f; done +else + for f in ~/.config/zshrc/*; do source $f; done +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/version/compare.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/compare.sh new file mode 100644 index 0000000..1b18b98 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/compare.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ------------------------------------------------------ +# Compare installed version with used version +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +if [ -f /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name ] ;then + installed_version=$(cat /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name) + used_version=$(cat ~/.config/ml4w/version/name) + if [[ $(testvercomp $used_version $installed_version "<") == "0" ]] ;then + notify-send "Please run ml4w-hyprland-setup" "Installed version is newer then the version you're currently using." + fi +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/version/library.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/library.sh new file mode 100644 index 0000000..94e5fbe --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/library.sh @@ -0,0 +1,42 @@ +vercomp () { + if [[ $1 == $2 ]] + then + return 0 + fi + local IFS=. + local i ver1=($1) ver2=($2) + # fill empty fields in ver1 with zeros + for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) + do + ver1[i]=0 + done + for ((i=0; i<${#ver1[@]}; i++)) + do + if ((10#${ver1[i]:=0} > 10#${ver2[i]:=0})) + then + return 1 + fi + if ((10#${ver1[i]} < 10#${ver2[i]})) + then + return 2 + fi + done + return 0 +} + +testvercomp () { + vercomp $1 $2 + case $? in + 0) op='=';; + 1) op='>';; + 2) op='<';; + esac + if [[ $op != $3 ]] + then + # No update available + echo "1" + else + # Update available + echo "0" + fi +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/version/name b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/name new file mode 100644 index 0000000..92db042 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/name @@ -0,0 +1 @@ +2.9.7.4 diff --git a/configs/dotfiles/hyprland/desktop/.config/ml4w/version/update.sh b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/update.sh new file mode 100644 index 0000000..efe9403 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ml4w/version/update.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ------------------------------------------------------ +# Check for updates +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +# Get latest tag from GitHub +get_latest_release() { + v_online=$(curl --silent "https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=ml4w-hyprland") + v_full_online=$(grep -m 1 'pkgver' <<< $v_online | sed 's/^$/pkgver/') + echo ${v_full_online/pkgver=/} +} + +# Check for internet connection +if ping -q -c 1 -W 1 google.com >/dev/null; then + + version=$(cat ~/.config/ml4w/version/name) + online=$(get_latest_release "mylinuxforwork/hyprland-dotfiles") + echo $version "<" $online + testvercomp $version $online "<" +else + # Network is down + echo "1" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/nwg-dock-hyprland/launch.sh b/configs/dotfiles/hyprland/desktop/.config/nwg-dock-hyprland/launch.sh new file mode 100644 index 0000000..9f52df8 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/nwg-dock-hyprland/launch.sh @@ -0,0 +1,6 @@ +# ___ __ +# / _ \___ ____/ /__ +# / // / _ \/ __/ '_/ +# /____/\___/\__/_/\_\ +# +nwg-dock-hyprland -i 48 -w 6 -mb 10 -ml 10 -mr 10 -x -lp "start" -c "rofi -show drun" diff --git a/configs/dotfiles/hyprland/desktop/.config/nwg-dock-hyprland/style.css b/configs/dotfiles/hyprland/desktop/.config/nwg-dock-hyprland/style.css new file mode 100644 index 0000000..5777e41 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/nwg-dock-hyprland/style.css @@ -0,0 +1,43 @@ +window { + background: rgba(46,47,61,0.96); + border-radius: 14px; + border-style: solid; + border-width: 3px; + border-color: #82aaff; + opacity:0.8; +} + +#box { + /* Define attributes of the box surrounding icons here */ + padding: 10px +} + +#active { + /* This is to underline the button representing the currently active window */ + border-bottom: solid 0px; + border-color: #FFFFFF +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #999 +} + +button { + padding: 4px; + margin-left: 4px; + margin-right: 4px; + color: #eee; + font-size: 12px +} + +button:hover { + background-color: rgba(255, 255, 255, 0.15); + border-radius: 10px; +} + +button:focus { + box-shadow: none +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ohmyposh/EDM115-newline.omp.json b/configs/dotfiles/hyprland/desktop/.config/ohmyposh/EDM115-newline.omp.json new file mode 100644 index 0000000..78a53f7 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ohmyposh/EDM115-newline.omp.json @@ -0,0 +1,192 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "transient_prompt": { + "template": " ❯❯ {{ .AbsolutePWD }} : ", + "foreground": "#f8f8f2", + "background": "transparent", + "newline": true + }, + "blocks": [ + { + "type": "prompt", + "alignment": "left", + "segments": [ + { + "properties": { + "cache_duration": "none" + }, + "template": "\n\u256d\u2500", + "foreground": "#f8f8f2", + "type": "text", + "style": "plain" + }, + { + "properties": { + "cache_duration": "none" + }, + "leading_diamond": "\ue0b6", + "template": "{{ .UserName }}@{{ .HostName }}", + "foreground": "#f8f8f2", + "background": "#282a36", + "type": "session", + "style": "diamond" + }, + { + "properties": { + "cache_duration": "none" + }, + "template": "\udb85\udc0b", + "foreground": "#ff5555", + "powerline_symbol": "\ue0b0", + "background": "#282a36", + "type": "root", + "style": "powerline" + }, + { + "properties": { + "cache_duration": "none" + }, + "template": "{{ .Icon }} ", + "foreground": "#f8f8f2", + "powerline_symbol": "\ue0b0", + "background": "#282a36", + "type": "os", + "style": "powerline" + }, + { + "properties": { + "cache_duration": "none", + "style": "full" + }, + "trailing_diamond": "\ue0b4", + "template": " \udb80\ude56 {{ path .Path .Location }}", + "foreground": "#282a36", + "background": "#cccccc", + "type": "path", + "style": "diamond" + } + ] + }, + { + "type": "prompt", + "alignment": "right", + "segments": [ + { + "properties": { + "branch_icon": "", + "cache_duration": "none", + "display_changing_color": true, + "fetch_status": true, + "fetch_upstream_icon": true, + "full_branch_path": true + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue725 ({{ url .UpstreamIcon .UpstreamURL }} {{ url .HEAD .UpstreamURL }}){{ if gt .Ahead 0 }}<#50fa7b> +{{ .Ahead }}{{ end }}{{ if gt .Behind 0 }}<#ff5555> -{{ .Behind }}{{ end }}{{ if .Working.Changed }}<#f8f8f2> \uf044 {{ .Working.String }}{{ end }}{{ if .Staging.Changed }}<#f8f8f2> \uf046 {{ .Staging.String }}{{ end }}", + "foreground": "#282a36", + "background": "#ffb86c", + "type": "git", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue718 {{ .Full }}", + "foreground": "#282a36", + "background": "#50fa7b", + "type": "node", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files", + "extensions": [ + "package-lock.json" + ] + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue71e {{ .Full }}", + "foreground": "#282a36", + "background": "#ff5555", + "type": "npm", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files", + "extensions": [ + "pnpm-lock.yaml" + ] + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\udb80\udec1 {{ .Full }}", + "foreground": "#282a36", + "background": "#ffb86c", + "type": "pnpm", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files" + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue73c {{ .Full }}", + "foreground": "#282a36", + "background": "#50fa7b", + "type": "python", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue738 {{ .Full }}", + "foreground": "#282a36", + "background": "#ff79c6", + "type": "java", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\uf308 {{ .Context }}", + "foreground": "#282a36", + "background": "#8be9fd", + "type": "docker", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue73d {{ .Full }}", + "foreground": "#f8f8f2", + "background": "#6272a4", + "type": "php", + "style": "diamond" + } + ] + }, + { + "type": "prompt", + "alignment": "left", + "segments": [ + { + "properties": { + "always_enabled": true, + "cache_duration": "none" + }, + "template": "\u2570\u2500 ❯❯", + "foreground": "#f8f8f2", + "type": "text", + "style": "diamond" + } + ], + "newline": true + } + ], + "version": 3, + "patch_pwsh_bleed": true, + "final_space": true +} diff --git a/configs/dotfiles/hyprland/desktop/.config/ohmyposh/zen.toml b/configs/dotfiles/hyprland/desktop/.config/ohmyposh/zen.toml new file mode 100644 index 0000000..832848d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/ohmyposh/zen.toml @@ -0,0 +1,74 @@ +#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json + +version = 2 +final_space = true +console_title_template = '{{ .Shell }} in {{ .Folder }}' + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'path' + style = 'plain' + background = 'transparent' + foreground = 'blue' + template = '{{ .Path }}' + + [blocks.segments.properties] + style = 'full' + + [[blocks.segments]] + type = 'git' + style = 'plain' + foreground = 'p:grey' + background = 'transparent' + template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} {{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}' + + [blocks.segments.properties] + branch_icon = '' + commit_icon = '@' + fetch_status = true + +[[blocks]] + type = 'rprompt' + overflow = 'hidden' + + [[blocks.segments]] + type = 'executiontime' + style = 'plain' + foreground = 'yellow' + background = 'transparent' + template = '{{ .FormattedMs }}' + + [blocks.segments.properties] + threshold = 5000 + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'text' + style = 'plain' + foreground_templates = [ + "{{if gt .Code 0}}red{{end}}", + "{{if eq .Code 0}}magenta{{end}}", + ] + background = 'transparent' + template = '❯' + +[transient_prompt] + foreground_templates = [ + "{{if gt .Code 0}}red{{end}}", + "{{if eq .Code 0}}magenta{{end}}", + ] + background = 'transparent' + template = '❯ ' + +[secondary_prompt] + foreground = 'magenta' + background = 'transparent' + template = '❯❯ ' \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/qt6ct/qt6ct.conf b/configs/dotfiles/hyprland/desktop/.config/qt6ct/qt6ct.conf new file mode 100644 index 0000000..9caa16e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/qt6ct/qt6ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/darker.conf +custom_palette=true +icon_theme=breeze-dark +standard_dialogs=default +style=Fusion + +[Fonts] +fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" +general="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x5\x2\0\0\0\0\0\0\0\0\0\0\t\xfd\0\0\x5\x43\0\0\0\0\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x5\x2) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/configs/dotfiles/hyprland/desktop/.config/rofi/config-cliphist.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config-cliphist.rasi new file mode 100644 index 0000000..a2cbd7a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config-cliphist.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/rofi/config-compact.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config-compact.rasi new file mode 100644 index 0000000..4e59ac5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config-compact.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/rofi/config-hyprshade.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config-hyprshade.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config-hyprshade.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/rofi/config-old.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config-old.rasi new file mode 100644 index 0000000..06fb55f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config-old.rasi @@ -0,0 +1,266 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@import "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +/* ---- Window ---- */ +window { + width: 900px; + x-offset: 0px; + y-offset: 0px; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: #FFFFFF; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + 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: false; + dynamic: false; + 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/configs/dotfiles/hyprland/desktop/.config/rofi/config-screenshot.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config-screenshot.rasi new file mode 100644 index 0000000..d4e70ed --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config-screenshot.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 0em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/rofi/config-short.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config-short.rasi new file mode 100644 index 0000000..dcb8cd8 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config-short.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 20em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/rofi/config-themes.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config-themes.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config-themes.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/rofi/config.rasi b/configs/dotfiles/hyprland/desktop/.config/rofi/config.rasi new file mode 100644 index 0000000..50b759b --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/rofi/config.rasi @@ -0,0 +1,241 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: " "; + display-run: " "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + height: 35em; + width: 56em; + transparency: "real"; + fullscreen: false; + enabled: true; + cursor: "default"; + spacing: 0em; + padding: 0em; + border: @border-width; + border-color: @color11; + border-radius: @border-radius; + background-color: @background; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: vertical; + children: [ "inputbar" , "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 5em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 0em 0em 1em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: horizontal; + children: [ "listview" , "mode-switcher" ]; + background-color: @background; +} + +listview { + padding: 1.5em; + spacing: 0.5em; + enabled: true; + columns: 2; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color11; + text-color: @foreground; +} + + +// Elements // +element { + enabled: true; + spacing: 0em; + padding: 0.5em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 3em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.1; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +// Error message // +error-message { + text-color: @foreground; + background-color: @background; + text-transform: capitalize; + children: [ "textbox" ]; +} + +textbox { + text-color: inherit; + background-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-hyprland.conf b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-hyprland.conf new file mode 100644 index 0000000..84e2394 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-hyprland.conf @@ -0,0 +1,18 @@ +$background = rgb({background.strip}) +$foreground = rgb({foreground.strip}) +$color0 = rgb({color0.strip}) +$color1 = rgb({color1.strip}) +$color2 = rgb({color2.strip}) +$color3 = rgb({color3.strip}) +$color4 = rgb({color4.strip}) +$color5 = rgb({color5.strip}) +$color6 = rgb({color6.strip}) +$color7 = rgb({color7.strip}) +$color8 = rgb({color8.strip}) +$color9 = rgb({color9.strip}) +$color10 = rgb({color10.strip}) +$color11 = rgb({color11.strip}) +$color12 = rgb({color12.strip}) +$color13 = rgb({color13.strip}) +$color14 = rgb({color14.strip}) +$color15 = rgb({color15.strip}) \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-rofi-pywal.rasi b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-rofi-pywal.rasi new file mode 100644 index 0000000..f0b1665 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-rofi-pywal.rasi @@ -0,0 +1,20 @@ +* {{ + background: rgba(0,0,1,0.5); + foreground: #FFFFFF; + 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/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-waybar.css b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-waybar.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-waybar.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-wlogout.css b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-wlogout.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/wal/templates/colors-wlogout.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/launch.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/launch.sh new file mode 100644 index 0000000..8ae9e4d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/launch.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# ____ _ _ __ __ _ +# / ___|| |_ __ _ _ __| |_ \ \ / /_ _ _ _| |__ __ _ _ __ +# \___ \| __/ _` | '__| __| \ \ /\ / / _` | | | | '_ \ / _` | '__| +# ___) | || (_| | | | |_ \ V V / (_| | |_| | |_) | (_| | | +# |____/ \__\__,_|_| \__| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Quit all running waybar instances +# ----------------------------------------------------- +killall waybar +pkill waybar +sleep 0.5 + +# ----------------------------------------------------- +# Default theme: /THEMEFOLDER;/VARIATION +# ----------------------------------------------------- +themestyle="/ml4w;/ml4w/light" + +# ----------------------------------------------------- +# Get current theme information from ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ -f ~/.config/ml4w/settings/waybar-theme.sh ]; then + themestyle=$(cat ~/.config/ml4w/settings/waybar-theme.sh) +else + touch ~/.config/ml4w/settings/waybar-theme.sh + echo "$themestyle" > ~/.config/ml4w/settings/waybar-theme.sh +fi + +IFS=';' read -ra arrThemes <<< "$themestyle" +echo ":: Theme: ${arrThemes[0]}" + +if [ ! -f ~/.config/waybar/themes${arrThemes[1]}/style.css ]; then + themestyle="/ml4w;/ml4w/light" +fi + +# ----------------------------------------------------- +# Loading the configuration +# ----------------------------------------------------- +config_file="config" +style_file="style.css" + +# Standard files can be overwritten with an existing config-custom or style-custom.css +if [ -f ~/.config/waybar/themes${arrThemes[0]}/config-custom ] ;then + config_file="config-custom" +fi +if [ -f ~/.config/waybar/themes${arrThemes[1]}/style-custom.css ] ;then + style_file="style-custom.css" +fi + +# Check if waybar-disabled file exists +if [ ! -f $HOME/.cache/waybar-disabled ] ;then + waybar -c ~/.config/waybar/themes${arrThemes[0]}/$config_file -s ~/.config/waybar/themes${arrThemes[1]}/$style_file & +fi + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/modules.json b/configs/dotfiles/hyprland/desktop/.config/waybar/modules.json new file mode 100644 index 0000000..b87a7a4 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/modules.json @@ -0,0 +1,379 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +{ + // Workspaces + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty", "kitty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Empty + "custom/empty": { + "format": "" + }, + + // Tools + "custom/tools": { + "format": "", + "tooltip-format": "Tools" + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip-format": "Left: Open clipboard Manager\nRight: Delete an entry\nMiddle: Clear list" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "interval": 1800, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "bash -c waypaper &", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip-format": "Left: Select a wallpaper\nRight: Select wallpaper effect" + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip-format": "Select a waybar theme" + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "sleep 0.1 && com.ml4w.dotfilessettings", + "tooltip-format": "ML4W Dotfiles Settings" + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": " ", + "on-click": "~/.config/ml4w/settings/ai.sh", + "tooltip-format": "AI Support" + }, + + // Calculator + "custom/calculator": { + "format": "", + "on-click": "qalculate-gtk", + "tooltip-format": "Open calculator" + }, + + // Windows VM + "custom/windowsvm": { + "format": "", + "on-click": "~/.config/ml4w/scripts/launchvm.sh", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + // START APPS LABEL + "format": "Apps", + // END APPS LABEL + "on-click": "sleep 0.2;pkill rofi || rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Rofi Application Launcher + "custom/appmenuicon": { + "format": "", + "on-click": "sleep 0.2;rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "~/.config/ml4w/scripts/wlogout.sh", + "on-click-right": "hyprlock", + "tooltip-format": "Left: Power menu\nRight: Lock screen" + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "tooltip-format": "Toggle Screen Shader", + "on-click": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh rofi" + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle" + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags toggle calendar", + "timezone": "", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": ["custom/system", "disk", "cpu", "memory", "hyprland/language"] + }, + + // Group Tools + "group/tools": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/tools", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade" + ] + }, + + // Group Links + "group/links": { + "orientation": "horizontal", + "modules": [ + "custom/chatgpt", + "custom/empty" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": true + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {essid} ({signalStrength}%)", + "format-ethernet": " {ifname}", + "format-disconnected": "Disconnected ⚠", + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}", + "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "~/.config/ml4w/settings/networkmanager.sh", + "on-click-right": "~/.config/ml4w/scripts/nm-applet.sh toggle", + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format": " {status}", + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false + }, + + // backlight: + "backlight": { + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "scroll-step": 1 + } +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ai-icon-20.png b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ai-icon-20.png new file mode 100644 index 0000000..a070dd4 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ai-icon-20.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ai-icon.png b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ai-icon.png new file mode 100644 index 0000000..398379b Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ai-icon.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/hyprland-icon-20.png b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/hyprland-icon-20.png new file mode 100644 index 0000000..0d36ec2 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/hyprland-icon-20.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/hyprland-icon.png b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/hyprland-icon.png new file mode 100644 index 0000000..c87b767 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/hyprland-icon.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-20.png b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-20.png new file mode 100644 index 0000000..df25ccb Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-20.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-black.svg b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-black.svg new file mode 100644 index 0000000..011b817 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-black.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-dark.png b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-dark.png new file mode 100644 index 0000000..73ec085 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-dark.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-white.svg b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-white.svg new file mode 100644 index 0000000..c19407d --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon.png b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon.png new file mode 100644 index 0000000..92a54e0 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon.svg b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon.svg new file mode 100644 index 0000000..fa8e063 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/ml4w-icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai-black.svg b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai-black.svg new file mode 100644 index 0000000..3b4eff9 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai-black.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai-white.svg b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai-white.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai-white.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai.svg b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/assets/openai.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/config new file mode 100644 index 0000000..b02f10e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/config @@ -0,0 +1,161 @@ +{ + // "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": ["hyprland/workspaces","custom/waybarthemes"], + "modules-center": ["hyprland/window"], + "modules-right": ["custom/ml4w-welcome","mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip": false + }, + // Waybar Themes + "custom/waybarthemes": { + "format": "Themes", + "on-click": "~/.config/ml4w/waybar/themeswitcher.sh", + "tooltip": false + }, + "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 ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/config.sh new file mode 100644 index 0000000..71a3429 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Default Theme" diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/style.css new file mode 100644 index 0000000..cafc802 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/default/style.css @@ -0,0 +1,289 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + 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; +} + +#custom-ml4w-welcome { + margin-right: 15px; + background-image: url("../assets/ml4w-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 20px; + margin-right: 0px; +} + +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; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/black/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/black/config.sh new file mode 100644 index 0000000..cea609a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/black/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/black/style.css new file mode 100644 index 0000000..129c909 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/black/style.css @@ -0,0 +1,29 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh new file mode 100644 index 0000000..7f55337 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/colored/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/colored/style.css new file mode 100644 index 0000000..de0b369 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/config new file mode 100644 index 0000000..ea2b0cb --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh new file mode 100644 index 0000000..df6f8c2 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/dark/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/dark/style.css new file mode 100644 index 0000000..54e8317 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/light/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/light/config.sh new file mode 100644 index 0000000..da067d2 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Light" diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/light/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/light/style.css new file mode 100644 index 0000000..5caa16a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh new file mode 100644 index 0000000..dea299a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css new file mode 100644 index 0000000..fe8dbb3 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/white/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/white/config.sh new file mode 100644 index 0000000..1592654 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/white/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/white/style.css new file mode 100644 index 0000000..a0ba4a7 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur-bottom/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/black/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/black/config.sh new file mode 100644 index 0000000..5c6fb05 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/black/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/black/style.css new file mode 100644 index 0000000..b8a549a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/black/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/colored/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/colored/config.sh new file mode 100644 index 0000000..7338fef --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/colored/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/config new file mode 100644 index 0000000..fcd29ce --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/dark/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/dark/config.sh new file mode 100644 index 0000000..a3b9e88 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/dark/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/dark/style.css new file mode 100644 index 0000000..8470788 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/light/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/light/config.sh new file mode 100644 index 0000000..ca5fe11 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Light" diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/light/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/mixed/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/mixed/config.sh new file mode 100644 index 0000000..eb698ad --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/mixed/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/style.css new file mode 100644 index 0000000..12734d3 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/style.css @@ -0,0 +1,478 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left:14px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 8px 15px 8px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 14px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 20px; +} + +#custom-settings { + margin-right:12px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; + opacity: 0.8; +} + +#custom-chatgpt { + margin-right: 12px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 16px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 17px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 8px 16px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; + color: @textcolor3; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/white/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/white/config.sh new file mode 100644 index 0000000..e458b19 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/white/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/white/style.css new file mode 100644 index 0000000..f50cb7e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-blur/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/black/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/black/config.sh new file mode 100644 index 0000000..5837eb6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/black/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/black/style.css new file mode 100644 index 0000000..6bae0cd --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/colored/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/colored/config.sh new file mode 100644 index 0000000..0a31bac --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/colored/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/colored/style.css new file mode 100644 index 0000000..53bf65c --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/config new file mode 100644 index 0000000..8e55c1b --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 14, + "layer": "top", + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/dark/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/dark/config.sh new file mode 100644 index 0000000..a6fe8ff --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/dark/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/dark/style.css new file mode 100644 index 0000000..2179f76 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/light/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/light/config.sh new file mode 100644 index 0000000..e016502 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/light/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/light/style.css new file mode 100644 index 0000000..833b8c4 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/mixed/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/mixed/config.sh new file mode 100644 index 0000000..e5bc67e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/mixed/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/mixed/style.css new file mode 100644 index 0000000..f3ee832 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/white/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/white/config.sh new file mode 100644 index 0000000..71dd9f5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/white/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/white/style.css new file mode 100644 index 0000000..704bfbd --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-bottom/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/config new file mode 100644 index 0000000..4614d63 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/config @@ -0,0 +1,88 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": [" ", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Modules Left + "modules-left": [ +"custom/appmenuicon", + "hyprland/workspaces", + "group/links", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", + "custom/exit", + "clock", +"tray", + "custom/ml4w-welcome" + ] +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/config.sh new file mode 100644 index 0000000..eac2047 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Minimal" diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/style.css new file mode 100644 index 0000000..be884b6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-minimal/style.css @@ -0,0 +1,431 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.4); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left: 10px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + + #workspaces { + margin: 3px 7px 3px 3px; + border: 0px; + font-size: 14px; + color: @textcolor1; +} + +#workspaces button { + border: 0px; + margin:4px 5px 4px 0px; + padding:0px 4px 0px 4px; + color: @textcolor3; + transition: all 0.5s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 0px 15px 0px 0px; + border-radius: 12px; + color:@textcolor; + font-size:14px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 14px; + font-weight: bold; + color: @iconcolor; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-settings { + margin-right: 15px; +} + +#custom-browser { + margin-right: 12px; +} + +#custom-wallpaper { + margin-right: 14px; +} + +#custom-chatgpt { + margin-right: 10px; + background-image: url("../assets/ai-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 23px; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-ml4w-hyprland-settings { + margin-right: 12px; + background-image: url("../assets/hyprland-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 16px; +} + + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 16px; + font-weight: bold; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 14px; + font-weight: bold; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenuicon { + font-size: 20px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:16px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#custom-updates.green { +} + +#custom-updates.yellow { + color: #ff9a3c; +} + +#custom-updates.red { + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Youtube + * ----------------------------------------------------- */ + +#custom-youtube { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:14px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + font-size: 15px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; + background-color: transparent; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + + #pulseaudio { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#pulseaudio.muted { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#network.ethernet { + color: @textcolor; +} + +#network.wifi { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/black/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/black/config.sh new file mode 100644 index 0000000..63c42a1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/black/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/colored/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/colored/config.sh new file mode 100644 index 0000000..61e80a5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/colored/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/config new file mode 100644 index 0000000..f570e02 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 14, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "hyprland/workspaces", + "group/links", +//"wlr/taskbar", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/dark/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/dark/config.sh new file mode 100644 index 0000000..e6f8d5b --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/dark/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/light/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/light/config.sh new file mode 100644 index 0000000..0c6cdb1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Light" diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/light/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/mixed/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/mixed/config.sh new file mode 100644 index 0000000..46f3eb5 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/mixed/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/style.css new file mode 100644 index 0000000..12943e1 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/style.css @@ -0,0 +1,470 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + + * { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 18px 3px 1px; + padding: 0px 2px; + border-radius: 5px 5px 5px 5px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 6px; + margin: 3px 2px; + border-radius: 3px 3px 3px 3px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.1s linear; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 3px 3px 3px 3px; + min-width: 30px; + transition: all 0.1s linear; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 5px 5px 5px 5px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 3px 15px 3px 0px; + padding: 2px 10px 0px 10px; + border-radius: 5px 5px 5px 5px; + color:white; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 5px 5px 5px 5px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 5px 5px 5px 5px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 5px 5px 5px 5px; + padding: 0px 10px 0px 10px; + margin: 2px 17px 2px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 3px 5px 3px 5px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 15px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/white/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/white/config.sh new file mode 100644 index 0000000..efe0528 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/white/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w-modern/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/black/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/black/config.sh new file mode 100644 index 0000000..39e19cb --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/black/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/colored/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/colored/config.sh new file mode 100644 index 0000000..25dbee7 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/colored/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/config new file mode 100644 index 0000000..78e05fb --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/config @@ -0,0 +1,56 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 8, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ + "hyprland/workspaces", +//"custom/appmenu", + //"group/links", +//"wlr/taskbar", + //"group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "clock" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", +"custom/ml4w-welcome", + ] +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/dark/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/dark/config.sh new file mode 100644 index 0000000..6c2cf9f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/dark/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/light/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/light/config.sh new file mode 100644 index 0000000..55e4ffd --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light" diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/light/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/mixed/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/mixed/config.sh new file mode 100644 index 0000000..c00e231 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/mixed/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/style.css new file mode 100644 index 0000000..68a179c --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/style.css @@ -0,0 +1,471 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 1px 3px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 5px 15px 5px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 3px 17px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/white/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/white/config.sh new file mode 100644 index 0000000..685088f --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/white/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/ml4w/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/config b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/config new file mode 100644 index 0000000..6084f60 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/config @@ -0,0 +1,66 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + + // Position TOP + "layer": "top", + "margin-bottom": 0, + + // Position BOTTOM + // "position": "bottom", + // "margin-top": 0, + // "margin-bottom": 14, + + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/themes/starter/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "custom/settings", + //"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/starter" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/config.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/config.sh new file mode 100644 index 0000000..a9399f6 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Starter" diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/modules.json b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/modules.json new file mode 100644 index 0000000..51e0add --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/modules.json @@ -0,0 +1,351 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // Workspaces + "hyprland/workspaces" : { + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip": false + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "on-click": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh rofi", + "tooltip": false + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle", + "on-click-right": "hyprlock" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "tooltip-format": "{}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "alacritty -e ~/.config/ml4w/scripts/installupdates.sh", + "tooltip": false + }, + + // Theme Starter Label + "custom/starter": { + "format": "THEME STARTER", + "tooltip": false + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "waypaper", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip": false + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip": false + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage", + "tooltip": false + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Filemanager Launcher + "custom/filemanager": { + "format": "", + "on-click": "nautilus", + "tooltip": false + }, + + // Browser Launcher + "custom/browser": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip": false + }, + + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip-format": "Open Sidebar" + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": "", + "on-click": "chromium --app=https://chat.openai.com", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + "format": "Apps", + "on-click": "rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "wlogout", + "tooltip": false + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags -t calendar", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "alacritty -e htop" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "alacritty -e htop" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "alacritty -e htop" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/system", + "disk", + "cpu", + "memory", + "hyprland/language" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Group Quicklinks + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/filemanager", + "custom/browser" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {signalStrength}%", + "format-ethernet": " {ipaddr}", + "format-disconnected": "Not connected", //An empty format will hide the module. + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {essid} ({signalStrength}%)", + "tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "alacritty -e nmtui" + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false, + }, + + // Idle Inhibator + "idle_inhibitor": { + "format": "{icon}", + "tooltip": true, + "format-icons":{ + "activated": "", + "deactivated": "" + }, + "on-click-right": "hyprlock" + } +} diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/style.css b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/style.css new file mode 100644 index 0000000..21fdcfa --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themes/starter/style.css @@ -0,0 +1,457 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor3; + transition: all 0.3s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 10px 15px 10px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 23px; + font-size: 20px; + font-weight: bold; + color: @iconcolor; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 24px; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 10px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +/* ----------------------------------------------------- + * Other + * ----------------------------------------------------- */ + +label:focus { + background-color: #000000; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/themeswitcher.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/themeswitcher.sh new file mode 100644 index 0000000..f3e4734 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/themeswitcher.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _ _ +# |_ _| |__ ___ _ __ ___ ___ _____ _(_) |_ ___| |__ ___ _ __ +# | | | '_ \ / _ \ '_ ` _ \ / _ \/ __\ \ /\ / / | __/ __| '_ \ / _ \ '__| +# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ | +# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Default theme folder +# ----------------------------------------------------- +themes_path="$HOME/.config/waybar/themes" + +# ----------------------------------------------------- +# Initialize arrays +# ----------------------------------------------------- +listThemes="" +listNames="" +listNames2="" + +# ----------------------------------------------------- +# Read theme folder +# ----------------------------------------------------- +sleep 0.2 +options=$(find $themes_path -maxdepth 2 -type d) +for value in $options +do + if [ ! $value == "$HOME/.config/waybar/themes/assets" ]; then + if [ ! $value == "$themes_path" ]; then + if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then + result=$(echo $value | sed "s#$HOME/.config/waybar/themes/#/#g") + IFS='/' read -ra arrThemes <<< "$result" + listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result" + if [ -f $themes_path$result/config.sh ]; then + source $themes_path$result/config.sh + listNames+="$theme_name\n" + listNames2+="$theme_name~" + else + listNames+="/${arrThemes[1]};$result\n" + listNames2+="/${arrThemes[1]};$result~" + fi + fi + fi + fi +done + +# ----------------------------------------------------- +# Show rofi dialog +# ----------------------------------------------------- +listNames=${listNames::-2} +choice=$(echo -e "$listNames" | rofi -dmenu -replace -i -config ~/.config/rofi/config-themes.rasi -no-show-icons -width 30 -p "Themes" -format i) +IFS="~" +input=$listNames2 +read -ra array <<< "$input" + +# ----------------------------------------------------- +# Set new theme by writing the theme information to ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ "$choice" ]; then + echo "Loading waybar theme..." + echo "${listThemes[$choice+1]}" > ~/.config/ml4w/settings/waybar-theme.sh + ~/.config/waybar/launch.sh + notify-send "Waybar Theme changed" "to ${array[$choice]}" +fi diff --git a/configs/dotfiles/hyprland/desktop/.config/waybar/toggle.sh b/configs/dotfiles/hyprland/desktop/.config/waybar/toggle.sh new file mode 100644 index 0000000..0d49a4e --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waybar/toggle.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# _____ _ __ __ _ +# |_ _|__ __ _ __ _| | ___ \ \ / /_ _ _ _| |__ __ _ _ __ +# | |/ _ \ / _` |/ _` | |/ _ \ \ \ /\ / / _` | | | | '_ \ / _` | '__| +# | | (_) | (_| | (_| | | __/ \ V V / (_| | |_| | |_) | (_| | | +# |_|\___/ \__, |\__, |_|\___| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ |___/ |___/ +# + +if [ -f ~/.cache/waybar-disabled ] ;then + rm ~/.cache/waybar-disabled +else + touch ~/.cache/waybar-disabled +fi +~/.config/waybar/launch.sh & diff --git a/configs/dotfiles/hyprland/desktop/.config/waypaper/config.ini b/configs/dotfiles/hyprland/desktop/.config/waypaper/config.ini new file mode 100644 index 0000000..c4e24d3 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/waypaper/config.ini @@ -0,0 +1,22 @@ +[Settings] +language = en +folder = ~/Pictures/Wallpapers +wallpaper = ~/Pictures/Wallpapers/faroe_islands.jpg +backend = hyprpaper +monitors = All +fill = fill +sort = name +color = #ffffff +subfolders = False +show_hidden = False +show_gifs_only = False +post_command = ~/.config/hypr/scripts/wallpaper.sh "$wallpaper" +number_of_columns = 3 +swww_transition_type = any +swww_transition_step = 90 +swww_transition_angle = 0 +swww_transition_duration = 2 +swww_transition_fps = 60 +use_xdg_state = False +show_transition_options = True + diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/README.txt b/configs/dotfiles/hyprland/desktop/.config/wlogout/README.txt new file mode 100644 index 0000000..4ceecd7 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/wlogout/README.txt @@ -0,0 +1,8 @@ +Select Logout Command depending on your setup: + +Use for Display Manager e.g., sddm (DEFAULT) +sleep 1; hyprctl dispatch exit + +Use for Arch Linux text based login +sleep 1; loginctl terminate-user $USER + diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/hibernate.png b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/hibernate.png new file mode 100644 index 0000000..bf2b001 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/hibernate.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/lock.png b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/lock.png new file mode 100644 index 0000000..da59b10 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/lock.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/logout.png b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/logout.png new file mode 100644 index 0000000..8a25922 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/logout.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/reboot.png b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000..e5fd221 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/reboot.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/shutdown.png b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000..663ca03 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/shutdown.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/suspend.png b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/suspend.png new file mode 100644 index 0000000..af099b9 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/wlogout/icons/suspend.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/layout b/configs/dotfiles/hyprland/desktop/.config/wlogout/layout new file mode 100644 index 0000000..0dfb38a --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/wlogout/layout @@ -0,0 +1,30 @@ +{ + "label" : "lock", + "action" : "~/.config/hypr/scripts/power.sh lock", + "text" : "Lock", + "keybind" : "l" +} +{ + "label" : "logout", + "action" : "~/.config/hypr/scripts/power.sh exit", + "text" : "Log Out", + "keybind" : "e" +} +{ + "label" : "suspend", + "action" : "~/.config/hypr/scripts/power.sh suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "~/.config/hypr/scripts/power.sh reboot", + "text" : "Restart", + "keybind" : "r" +} +{ + "label" : "shutdown", + "action" : "~/.config/hypr/scripts/power.sh shutdown", + "text" : "Power Off", + "keybind" : "s" +} diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/noise.png b/configs/dotfiles/hyprland/desktop/.config/wlogout/noise.png new file mode 100644 index 0000000..028b188 Binary files /dev/null and b/configs/dotfiles/hyprland/desktop/.config/wlogout/noise.png differ diff --git a/configs/dotfiles/hyprland/desktop/.config/wlogout/style.css b/configs/dotfiles/hyprland/desktop/.config/wlogout/style.css new file mode 100644 index 0000000..f533d11 --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/wlogout/style.css @@ -0,0 +1,107 @@ +/* + _ _ +__ _| | ___ __ _ ___ _ _| |_ +\ \ /\ / / |/ _ \ / _` |/ _ \| | | | __| + \ V V /| | (_) | (_| | (_) | |_| | |_ + \_/\_/ |_|\___/ \__, |\___/ \__,_|\__| + |___/ + +by Stephan Raabe (2023) +----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../.cache/wal/colors-wlogout.css'; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + background-image: none; + transition: 20ms; + box-shadow: none; +} + +window { + background: url("../ml4w/cache/blurred_wallpaper.png"); + background-size: cover; + font-size: 16pt; + color: #cdd6f4; +} + +button { + background-repeat: no-repeat; + background-position: center; + background-size: 20%; + background-color: rgba(200, 220, 255, 0); + animation: gradient_f 20s ease-in infinite; + border-radius: 80px; /* Increased border radius for a more rounded look */ + border:0px; + transition: all 0.3s cubic-bezier(.55, 0.0, .28, 1.682), box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; +} + +button:focus { + background-size: 22%; + border: 0px; +} + +button:hover { + background-color: @color11; + opacity: 0.8; + color: #cdd6f4; + background-size: 30%; + margin: 30px; + border-radius: 80px; + box-shadow: 0 0 50px @color7; +} + +/* Adjust the size of the icon or content inside the button */ +button span { + font-size: 1.2em; /* Increase the font size */ +} + +/* +----------------------------------------------------- +Buttons +----------------------------------------------------- +*/ + +#lock { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/lock.png")); +} + +#logout { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/logout.png")); +} + +#suspend { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/reboot.png")); +} diff --git a/configs/dotfiles/hyprland/desktop/.config/xsettingsd/xsettingsd.conf b/configs/dotfiles/hyprland/desktop/.config/xsettingsd/xsettingsd.conf new file mode 100644 index 0000000..3b651dd --- /dev/null +++ b/configs/dotfiles/hyprland/desktop/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,9 @@ +Net/ThemeName "Adwaita" +Net/IconThemeName "Adwaita" +Gtk/CursorThemeName "Bibata-Modern-Ice" +Net/EnableEventSounds 1 +EnableInputFeedbackSounds 0 +Xft/Antialias 1 +Xft/Hinting 1 +Xft/HintStyle "hintslight" +Xft/RGBA "rgb" diff --git a/configs/dotfiles/hyprland/gulfport/.config/Xresources b/configs/dotfiles/hyprland/gulfport/.config/Xresources new file mode 100644 index 0000000..6a1c856 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/Xresources @@ -0,0 +1 @@ +Xcursor.theme: Bibata-Modern-Ice diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/app.ts b/configs/dotfiles/hyprland/gulfport/.config/ags/app.ts new file mode 100644 index 0000000..26c6a1d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/app.ts @@ -0,0 +1,11 @@ +import { App, Widget } from "astal/gtk3" +import Calendar from "./widget/Calendar" +import Sidebar from "./widget/Sidebar" + +App.start({ + css: "./style.css", + main() { + Sidebar(); + Calendar(); + } +}) diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-dotfiles-settings.png b/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-dotfiles-settings.png new file mode 100644 index 0000000..938b6f7 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-dotfiles-settings.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-hyprland-settings.png b/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-hyprland-settings.png new file mode 100644 index 0000000..c7e8e29 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-hyprland-settings.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-welcome.png b/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-welcome.png new file mode 100644 index 0000000..7d4efe7 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ags/assets/ml4w-welcome.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/env.d.ts b/configs/dotfiles/hyprland/gulfport/.config/ags/env.d.ts new file mode 100644 index 0000000..4e7e508 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/env.d.ts @@ -0,0 +1,21 @@ +const SRC: string + +declare module "inline:*" { + const content: string + export default content +} + +declare module "*.scss" { + const content: string + export default content +} + +declare module "*.blp" { + const content: string + export default content +} + +declare module "*.css" { + const content: string + export default content +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/scripts/run_themeswitcher.sh b/configs/dotfiles/hyprland/gulfport/.config/ags/scripts/run_themeswitcher.sh new file mode 100644 index 0000000..7c20589 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/scripts/run_themeswitcher.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/waybar/themeswitcher.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/scripts/run_wallpapereffects.sh b/configs/dotfiles/hyprland/gulfport/.config/ags/scripts/run_wallpapereffects.sh new file mode 100644 index 0000000..78dcaaf --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/scripts/run_wallpapereffects.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/hypr/scripts/wallpaper-effects.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/style.css b/configs/dotfiles/hyprland/gulfport/.config/ags/style.css new file mode 100644 index 0000000..5801922 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/style.css @@ -0,0 +1,144 @@ +@import url('../../.cache/wal/colors-waybar.css'); + +* { + all:unset; + font-size: 14px; + font-family: "Fira Sans", sans-serif; + font-weight: normal; +} + +.calendar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; + min-width:320px; +} + +calendar:selected { + background-color:@color11; + padding:0px; +} + +.sidebar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; +} + +.group { + padding:16px; + background-color: rgba(116, 116, 116, 0.1); + border-radius: 20px; +} + +.ml4wwelcomeicon { + background:url("assets/ml4w-welcome.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4wsettingsicon { + background:url("assets/ml4w-dotfiles-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4whyprlandicon { + background:url("assets/ml4w-hyprland-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.midbtn { + background-color: @color11; + font-size: 12px; + padding:10px; + border-radius: 20px; +} + +.AudioSlider { + background-color:@color11; + border-radius:12px; + margin-bottom:10px; +} + +.AudioSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider value { + min-height: 20px; + background-color: #222222; +} + +.AudioSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.AudioSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider { + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider value { + min-height: 20px; + background-color: #222222; +} + +.MicrophoneSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.MicrophoneSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/tsconfig.json b/configs/dotfiles/hyprland/gulfport/.config/ags/tsconfig.json new file mode 100644 index 0000000..b239e15 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/tsconfig.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "experimentalDecorators": true, + "strict": true, + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "Bundler", + // "checkJs": true, + // "allowJs": true, + "jsx": "react-jsx", + "jsxImportSource": "/usr/share/astal/gjs/gtk3", + "paths": { + "astal": [ + "/usr/share/astal/gjs" + ], + "astal/*": [ + "/usr/share/astal/gjs/*" + ] + }, + } +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Bar.tsx b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Bar.tsx new file mode 100644 index 0000000..ed1d845 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Bar.tsx @@ -0,0 +1,29 @@ +import { App, Astal, Gtk, Gdk } from "astal/gtk3" +import { Variable } from "astal" + +const time = Variable("").poll(1000, "date") + +export default function Bar(gdkmonitor: Gdk.Monitor) { + return + + + + + + +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Brightness.tsx b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Brightness.tsx new file mode 100644 index 0000000..86214f9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Brightness.tsx @@ -0,0 +1,72 @@ +// Thanks to https://gitlab.com/filippoaceto/ +import GObject, { register, property } from "astal/gobject" +import { monitorFile, readFileAsync } from "astal/file" +import { exec, execAsync } from "astal/process" + +const get = (args: string) => Number(exec(`brightnessctl ${args}`)) +const screen = exec(`bash -c "ls -w1 /sys/class/backlight | head -1"`) +const kbd = exec(`bash -c "ls -w1 /sys/class/leds | head -1"`) + +@register({ GTypeName: "Brightness" }) +export default class Brightness extends GObject.Object { + static instance: Brightness + static get_default() { + if (!this.instance) + this.instance = new Brightness() + + return this.instance + } + + #kbdMax = get(`--device ${kbd} max`) + #kbd = get(`--device ${kbd} get`) + #screenMax = get("max") + #screen = get("get") / (get("max") || 1) + + @property(Number) + get kbd() { return this.#kbd } + + set kbd(value) { + if (value < 0 || value > this.#kbdMax) + return + execAsync(`brightnessctl -d ${kbd} s ${value} -q`).then(() => { + this.#kbd = value + this.notify("kbd") + }) + } + + @property(Number) + get screen() { return this.#screen } + + set screen(percent) { + if (percent < 0) + percent = 0 + + if (percent > 1) + percent = 1 + + if (Math.floor(percent * 100) > 1) + execAsync(`brightnessctl set ${Math.floor(percent * 100)}% -q`).then(() => { + this.#screen = percent + this.notify("screen") + }) + } + + constructor() { + super() + + const screenPath = `/sys/class/backlight/${screen}/brightness` + const kbdPath = `/sys/class/leds/${kbd}/brightness` + + monitorFile(screenPath, async f => { + const v = await readFileAsync(f) + this.#screen = Number(v) / this.#screenMax + this.notify("screen") + }) + + monitorFile(kbdPath, async f => { + const v = await readFileAsync(f) + this.#kbd = Number(v) / this.#kbdMax + this.notify("kbd") + }) + } +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Calendar.tsx b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Calendar.tsx new file mode 100644 index 0000000..263a77e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Calendar.tsx @@ -0,0 +1,42 @@ +import { GObject } from "astal"; +import { astalify, ConstructProps, App, Astal, Gdk, Gtk } from "astal/gtk3" + +class CalendarGtk extends astalify(Gtk.Calendar) { + static { + GObject.registerClass(this); + } + + constructor( + props: ConstructProps, + ) { + super(props as any); + } +} + +export default function Calendar() { + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + {new CalendarGtk({ + hexpand: true, + vexpand: true, + showDayNames: true, + showDetails: false, + showHeading: true, + showWeekNumbers: true + })} + +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Sidebar.tsx b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Sidebar.tsx new file mode 100644 index 0000000..540bbe4 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ags/widget/Sidebar.tsx @@ -0,0 +1,131 @@ +import { App } from "astal/gtk3" +import Apps from "gi://AstalApps" +import Wp from "gi://AstalWp" +import { Variable, GLib, bind } from "astal" +import { subprocess, exec, execAsync } from "astal/process" +import { Astal, Gtk, Gdk } from "astal/gtk3" +import Brightness from "./Brightness" + +function BrightnessSlider() { + const brightness = Brightness.get_default() + + return + brightness.screen = value} + /> + +} + +function AudioSlider() { + const speaker = Wp.get_default()?.audio.defaultSpeaker! + + return + speaker.volume = value} + value={bind(speaker, "volume")} + /> + +} + +function MicrophoneSlider() { + const microphone = Wp.get_default()?.audio.defaultMicrophone! + + return + microphone.volume = value} + value={bind(microphone, "volume")} + /> + +} + +function openwelcomeapp() { + execAsync("com.ml4w.welcome") + App.get_window("sidebar")!.hide() +} + +function opensettingsapp() { + execAsync("com.ml4w.dotfilessettings") + App.get_window("sidebar")!.hide() +} + +function openhyprlandapp() { + execAsync("com.ml4w.hyprland.settings") + App.get_window("sidebar")!.hide() +} + +function openwaypaper() { + const proc = subprocess(["bash", "-c", "waypaper"]) + App.get_window("sidebar")!.hide() +} + +function openwallpapereffects() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/wallpaper-effects.sh"]) + App.get_window("sidebar")!.hide() +} + +function openwaybarthemes() { + const proc = subprocess(["bash", "-c", "$HOME/.config/waybar/themeswitcher.sh"]) + App.get_window("sidebar")!.hide() +} + +export default function Sidebar() { + + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/dunst/dunstrc b/configs/dotfiles/hyprland/gulfport/.config/dunst/dunstrc new file mode 100644 index 0000000..8be626b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/dunst/dunstrc @@ -0,0 +1,469 @@ +# _ _ +# __| |_ _ _ __ ___| |_ +# / _` | | | | '_ \/ __| __| +# | (_| | |_| | | | \__ \ |_ +# \__,_|\__,_|_| |_|___/\__| +# +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 1 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = (0,300) + + # Position the notification in the top right corner + origin = top-center + + # Offset from the origin + offset = 30x30 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 10 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 30 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 1 + + # Defines color of the frame around the notification window. + frame_color = "#ffffff" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 0 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = "Fira Sans Semibold" 9 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 1 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = "Papirus-Dark,Adwaita" + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only neccesary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 10 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#000000CC" + foreground = "#888888" + timeout = 6 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#000000CC" + foreground = "#ffffff" + timeout = 6 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#900000CC" + foreground = "#ffffff" + frame_color = "#ffffff" + timeout = 6 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/configs/dotfiles/hyprland/gulfport/.config/fastfetch/config.jsonc b/configs/dotfiles/hyprland/gulfport/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..658682c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/fastfetch/config.jsonc @@ -0,0 +1,104 @@ +// Thanks to Bina +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 2 + } + }, + "display": { + "separator": " ➜ " + }, + "modules": [ + "break", + "break", + "break", + { + "type": "os", + "key": "OS ", + "keyColor": "31", // = color1 + }, + { + "type": "kernel", + "key": " ├  ", + "keyColor": "31", + }, + { + "type": "shell", + "key": " └  ", + "keyColor": "31", + }, + "break", + { + "type": "wm", + "key": "WM ", + "keyColor": "32", + }, + { + "type": "wmtheme", + "key": " ├ 󰉼 ", + "keyColor": "32", + }, + { + "type": "icons", + "key": " ├ 󰀻 ", + "keyColor": "32", + }, + { + "type": "cursor", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminal", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminalfont", + "key": " └  ", + "keyColor": "32", + }, + "break", + { + "type": "host", + "format": "{5} {1} Type {2}", + "key": "PC ", + "keyColor": "33", + }, + { + "type": "cpu", + "format": "{1} ({3}) @ {7} GHz", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "gpu", + "format": "{1} {2} @ {12} GHz", + "key": " ├ 󰢮 ", + "keyColor": "33", + }, + { + "type": "memory", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "swap", + "key": " ├ 󰓡 ", + "keyColor": "33", + }, + { + "type": "disk", + "key": " ├ 󰋊 ", + "keyColor": "33", + }, + { + "type": "monitor", + "key": " └  ", + "keyColor": "33", + }, + "break", + "break", + ] +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/animation.conf b/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/animation.conf new file mode 100644 index 0000000..5909926 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/animation.conf @@ -0,0 +1,125 @@ +# ----------------------------------------------------- +# "Dynamic" (default) +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} +# ----------------------------------------------------- +# "Disabled" +# ----------------------------------------------------- +#animations { + #enabled = false +#} +# ----------------------------------------------------- +# "Standard" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + #animation = windows, 1, 7, myBezier + #animation = windowsOut, 1, 7, default, popin 80% + #animation = border, 1, 10, default + #animation = borderangle, 1, 8, default + #animation = fade, 1, 7, default + #animation = workspaces, 1, 6, default +#} +# ----------------------------------------------------- +# "Dynamic" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = wind, 0.05, 0.9, 0.1, 1.05 + #bezier = winIn, 0.1, 1.1, 0.1, 1.1 + #bezier = winOut, 0.3, -0.3, 0, 1 + #bezier = liner, 1, 1, 1, 1 + #animation = windows, 1, 6, wind, slide + #animation = windowsIn, 1, 6, winIn, slide + #animation = windowsOut, 1, 5, winOut, slide + #animation = windowsMove, 1, 5, wind, slide + #animation = border, 1, 1, liner + #animation = borderangle, 1, 30, liner, loop + #animation = fade, 1, 10, default + #animation = workspaces, 1, 5, wind +#} +# ----------------------------------------------------- +# "Classic" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + #animation = windows, 1, 7, myBezier + #animation = windowsOut, 1, 7, default, popin 80% + #animation = border, 1, 10, default + #animation = borderangle, 1, 8, default + #animation = fade, 1, 7, default + #animation = workspaces, 1, 6, default +#} +# ----------------------------------------------------- +# "Fast" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = linear, 0, 0, 1, 1 + #bezier = md3_standard, 0.2, 0, 0, 1 + #bezier = md3_decel, 0.05, 0.7, 0.1, 1 + #bezier = md3_accel, 0.3, 0, 0.8, 0.15 + #bezier = overshot, 0.05, 0.9, 0.1, 1.1 + #bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + #bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + #bezier = fluent_decel, 0.1, 1, 0, 1 + #bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + #bezier = easeOutCirc, 0, 0.55, 0.45, 1 + #bezier = easeOutExpo, 0.16, 1, 0.3, 1 + #animation = windows, 1, 3, md3_decel, popin 60% + #animation = border, 1, 10, default + #animation = fade, 1, 2.5, md3_decel + #animation = workspaces, 1, 3.5, easeOutExpo, slide + #animation = specialWorkspace, 1, 3, md3_decel, slidevert +#} +# ----------------------------------------------------- +# "High" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = wind, 0.05, 0.9, 0.1, 1.05 + #bezier = winIn, 0.1, 1.1, 0.1, 1.1 + #bezier = winOut, 0.3, -0.3, 0, 1 + #bezier = liner, 1, 1, 1, 1 + #animation = windows, 1, 6, wind, slide + #animation = windowsIn, 1, 6, winIn, slide + #animation = windowsOut, 1, 5, winOut, slide + #animation = windowsMove, 1, 5, wind, slide + #animation = border, 1, 1, liner + #animation = borderangle, 1, 30, liner, loop + #animation = fade, 1, 10, default + #animation = workspaces, 1, 5, wind +#} +# ----------------------------------------------------- +# "Moving" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = overshot, 0.05, 0.9, 0.1, 1.05 + #bezier = smoothOut, 0.5, 0, 0.99, 0.99 + #bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + #animation = windows, 1, 5, overshot, slide + #animation = windowsOut, 1, 3, smoothOut + #animation = windowsIn, 1, 3, smoothOut + #animation = windowsMove, 1, 4, smoothIn, slide + #animation = border, 1, 5, default + #animation = fade, 1, 5, smoothIn + #animation = fadeDim, 1, 5, smoothIn + #animation = workspaces, 1, 6, default +#} diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/autostart.conf b/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/autostart.conf new file mode 100644 index 0000000..34205a6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/autostart.conf @@ -0,0 +1,48 @@ +# ___ __ __ __ +# / _ |__ __/ /____ ___ / /____ _____/ /_ +# / __ / // / __/ _ \(_-v0.41, now configured on variable cursor section +env = WLR_RENDERER_ALLOW_SOFTWARE,1 +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = EGL_PLATFORM,wayland +env = ELECTRON_OZONE_PLATFORM_HINT,auto +cursor { + no_hardware_cursors = true +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/window.conf b/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/window.conf new file mode 100644 index 0000000..9f998bd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/conf/window.conf @@ -0,0 +1,49 @@ +# ----------------------------------------------------- +# Default +# ----------------------------------------------------- +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} +# ----------------------------------------------------- +# No Border +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 0 + #col.active_border = $color11 + #col.inactive_border = rgba(ffffffff) + #layout = dwindle + #resize_on_border = true +#} +# ----------------------------------------------------- +# Border 1 +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 1 + #col.active_border = $color11 + #col.inactive_border = rgba(ffffffff) + #layout = dwindle + #resize_on_border = true +#} +# ----------------------------------------------------- +# Border 1 Reverse +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 1 + #col.active_border = rgba(ffffffff) + #col.inactive_border = $color11 + #layout = dwindle + #resize_on_border = true +#} + diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite new file mode 100644 index 0000000..0f985b3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-blur b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-blur new file mode 100644 index 0000000..85a5a51 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-blur @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness40 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness40 new file mode 100644 index 0000000..97cafb6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness60 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness60 new file mode 100644 index 0000000..3dc7788 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness80 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness80 new file mode 100644 index 0000000..67bb0ce --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blackwhite-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1 new file mode 100644 index 0000000..f401e1a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness40 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness40 new file mode 100644 index 0000000..d79704a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness60 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness60 new file mode 100644 index 0000000..73028f6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness80 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness80 new file mode 100644 index 0000000..c1984aa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur1-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur2 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur2 new file mode 100644 index 0000000..cb13630 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate new file mode 100644 index 0000000..971c7aa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness40 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness40 new file mode 100644 index 0000000..f6b8bd8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness60 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness60 new file mode 100644 index 0000000..bf45cd6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness80 b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness80 new file mode 100644 index 0000000..2d342c1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/hypridle.conf b/configs/dotfiles/hyprland/gulfport/.config/hypr/hypridle.conf new file mode 100644 index 0000000..d02b4ea --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/hypridle.conf @@ -0,0 +1,47 @@ +# _ _ _ _ +# | |__ _ _ _ __ _ __(_) __| | | ___ +# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \ +# | | | | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# +# Version 2.8.3 +# DO NOT REMOVE THE REPLACEMENT COMMENTS +# REQUIRED BY THE ML4W SETTINGS APP +# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/ + +# general { +# ignore_dbus_inhibit = false +# } + +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +# Screenlock +listener { + # HYPRLOCK TIMEOUT + timeout = 600 + # HYPRLOCK ONTIMEOUT + on-timeout = loginctl lock-session +} + +# dpms +listener { + # DPMS TIMEOUT + timeout = 660 + # DPMS ONTIMEOUT + on-timeout = hyprctl dispatch dpms off + # DPMS ONRESUME + on-resume = hyprctl dispatch dpms on +} + +# Suspend +listener { + # SUSPEND TIMEOUT + timeout = 1800 + #SUSPEND ONTIMEOUT + on-timeout = systemctl suspend +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprland.conf b/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprland.conf new file mode 100644 index 0000000..563c38a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprland.conf @@ -0,0 +1,123 @@ +# ----------------------------------------------------- +# | | | |Gib's _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| Config - Gulfport Desktop +# ----------------------------------------------------- +# Monitor +# ----------------------------------------------------- +monitor=DP-3,1920x1080@60,0x0,1 +monitor=DP-1,1920x1080@60,1920x0,1 +monitor=DP-2,1920x1080@75,3840x0,1 + +# ----------------------------------------------------- +# Workspaces +# ----------------------------------------------------- +workspace = 1, monitor:DP-3, default:true +workspace = 2, monitor:DP-1, default:true +workspace = 3, monitor:DP-2, default:true +workspace = 4, monitor:DP-3 +workspace = 5, monitor:DP-1 +workspace = 6, monitor:DP-2 +workspace = 7, monitor:DP-3 +workspace = 8, monitor:DP-1 +workspace = 9, monitor:DP-2 + +# ----------------------------------------------------- +# WINDOW RULES +# https://wiki.hyprland.org/Configuring/Window-Rules/ +# ----------------------------------------------------- +windowrule = tile,^(gnome-connections)$ +windowrule = tile,^(jumpclient.exe)$ +windowrule = tile,^(Microsoft-edge)$ +windowrule = tile,^(kitty)$ +windowrule = tile,^(firefox)$ +windowrule = tile,^(Chromium)$ +windowrule = float,^(Bitwarden)$ +windowrule = float,^(Cider)$ +windowrule = float,^(pavucontrol)$ +windowrule = float,^(blueman-manager)$ +windowrule = float,^(nm-connection-editor)$ +windowrule = float,^(qalculate-gtk)$ +# Browser Picture in Picture +windowrulev2 = float, title:^(Picture-in-Picture)$ +windowrulev2 = pin, title:^(Picture-in-Picture)$ +windowrulev2 = move 69.5% 4%, title:^(Picture-in-Picture)$ + +# ----------------------------------------------------- +# CURSOR +# ----------------------------------------------------- +exec-once = hyprctl setcursor Bibata-Modern-Ice 24 + +# ----------------------------------------------------- +# NVIDIA +# https://wiki.hyprland.org/Nvidia/ +# ----------------------------------------------------- +source = ~/.config/hypr/conf/nvidia.conf + +# ----------------------------------------------------- +# KEYBOARD +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + numlock_by_default = true + mouse_refocus = false + follow_mouse = 1 + touchpad { + # FOR DESKTOP/MOUSE + natural_scroll = false + # FOR LAPTOP/TOUCHPAD + # natural_scroll = yes + # middle_button_emulation = true + # clickfinger_behavior = false + scroll_factor = 1.0 # Touchpad scroll factor + } + sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. +} +gestures { + workspace_swipe = true +} + +# ----------------------------------------------------- +# Load pywal color file +# ----------------------------------------------------- +source = ~/.cache/wal/colors-hyprland.conf + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/window.conf +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprlock.conf b/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..d7e0fda --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprlock.conf @@ -0,0 +1,88 @@ +# _ _ _ +# | |__ _ _ _ __ _ __| | ___ ___| | __ +# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ / +# | | | | |_| | |_) | | | | (_) | (__| < +# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\ +# |___/|_| +# + +general { + ignore_empty_input = true +} + +background { + monitor = + path = $HOME/.config/ml4w/cache/blurred_wallpaper.png # only png supported for now +} + +input-field { + monitor = + size = 200, 50 + outline_thickness = 3 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + outer_color = rgb(151515) + inner_color = rgb(FFFFFF) + font_color = rgb(10, 10, 10) + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = -1 # -1 means complete rounding (circle/oval) + check_color = rgb(204, 136, 34) + fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + fail_transition = 300 # transition time in ms between normal outer_color and fail_color + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + position = 0, -20 + halign = center + valign = center +} + +label { + monitor = + #clock + text = cmd[update:1000] echo "$TIME" + color = rgba(200, 200, 200, 1.0) + font_size = 55 + font_family = Fira Semibold + position = -100, 70 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +label { + monitor = + text = $USER + color = rgba(200, 200, 200, 1.0) + font_size = 20 + font_family = Fira Semibold + position = -100, 160 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +image { + monitor = + path = $HOME/.config/ml4w/cache/square_wallpaper.png + size = 280 # lesser side if not 1:1 ratio + rounding = -1 # negative values mean circle + border_size = 4 + border_color = rgb(221, 221, 221) + rotate = 0 # degrees, counter-clockwise + reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 +# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F + position = 0, 200 + halign = center + valign = center +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..7004a5e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/hyprpaper.conf @@ -0,0 +1,6 @@ +preload = /home/gib/Pictures/Wallpapers/faroe_islands.jpg +preload = /home/gib/Pictures/Wallpapers/mt_rainier.jpg + +wallpaper = DP-2,/home/gib/Pictures/Wallpapers/faroe_islands.jpg +wallpaper = HDMI-A-1,/home/gib/Pictures/Wallpapers/mt_rainier.jpg +splash = false diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/cleanup.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/cleanup.sh new file mode 100644 index 0000000..af4196d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ____ _ +# / ___| | ___ __ _ _ __ _ _ _ __ +# | | | |/ _ \/ _` | '_ \| | | | '_ \ +# | |___| | __/ (_| | | | | |_| | |_) | +# \____|_|\___|\__,_|_| |_|\__,_| .__/ +# |_| +# + +# Remove gamemode flag +if [ -f ~/.cache/gamemode ] ;then + rm ~/.cache/gamemode + echo ":: ~/.cache/gamemode removed" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/disabledm.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/disabledm.sh new file mode 100644 index 0000000..ee5e612 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/disabledm.sh @@ -0,0 +1,24 @@ +#!/bin/bash +clear +figlet -f smslant "Disable DM" +echo "Hyprland recommends the start with the tty login." +echo "You can deactivate the current display manager (if exists)." +echo "" +echo "-> Do you really want to deactivate the display manager?" +while true; do + read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn + case $yn in + [Yy]* ) + if [ -f /etc/systemd/system/display-manager.service ]; then + sudo rm /etc/systemd/system/display-manager.service + echo "Current display manager removed." + else + echo "No active display manager found." + fi + break;; + [Nn]* ) + exit + break;; + * ) echo "Please answer yes or no.";; + esac +done \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/gamemode.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/gamemode.sh new file mode 100644 index 0000000..09708fa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/gamemode.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ____ _ +# / ___| __ _ _ __ ___ ___ _ __ ___ ___ __| | ___ +# | | _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \ +# | |_| | (_| | | | | | | __/ | | | | | (_) | (_| | __/ +# \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___| +# +# + +if [ -f ~/.cache/gamemode ] ;then + hyprctl reload + rm ~/.cache/gamemode + notify-send "Gamemode deactivated" "Animations and blur enabled" +else + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + touch ~/.cache/gamemode + notify-send "Gamemode activated" "Animations and blur disabled" +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/gtk.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/gtk.sh new file mode 100644 index 0000000..1b080de --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/gtk.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# ____ _____ _ __ +# / ___|_ _| |/ / +# | | _ | | | ' / +# | |_| | | | | . \ +# \____| |_| |_|\_\ +# +# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + +config="$HOME/.config/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +terminal=$(cat $HOME/.config/ml4w/settings/terminal.sh) + +echo $gtk_theme +echo $icon_theme +echo $cursor_theme +echo $cursor_size +echo $font_name +echo $terminal + +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name" +gsettings set "$gnome_schema" color-scheme "prefer-dark" + +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "$terminal" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal use-generic-terminal-name "true" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings "t" + +if [ -f ~/.config/hypr/conf/cursor.conf ] ;then + echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/.config/hypr/conf/cursor.conf + hyprctl setcursor $cursor_theme $cursor_size +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/hypridle.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/hypridle.sh new file mode 100644 index 0000000..6296fa0 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/hypridle.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# _ _ _ _ _ +# | | | |_ _ _ __ _ __(_) __| | | ___ +# | |_| | | | | '_ \| '__| |/ _` | |/ _ \ +# | _ | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# + +SERVICE="hypridle" +if [[ "$1" == "status" ]]; then + sleep 1 + if pgrep -x "$SERVICE" >/dev/null ;then + echo '{"text": "RUNNING", "class": "active", "tooltip": "Screen locking active\nLeft: Deactivate\nRight: Lock Screen"}' + else + echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated\nLeft: Activate\nRight: Lock Screen"}' + fi +fi +if [[ "$1" == "toggle" ]]; then + if pgrep -x "$SERVICE" >/dev/null ;then + killall hypridle + else + hypridle + fi +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/hyprshade.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/hyprshade.sh new file mode 100644 index 0000000..037441c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/hyprshade.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___ +# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \ +# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/ +# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___| +# |___/|_| +# + +if [[ "$1" == "rofi" ]]; then + + # Open rofi to select the Hyprshade filter for toggle + options="$(hyprshade ls)\noff" + + # Open rofi + choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade") + if [ ! -z $choice ] ;then + echo "hyprshade_filter=\"$choice\"" > ~/.config/ml4w/settings/hyprshade.sh + if [ "$choice" == "off" ] ;then + hyprshade off + notify-send "Hyprshade deactivated" + echo ":: hyprshade turned off" + else + notify-send "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter-50" + + # Check if hyprshade.sh settings file exists and load + if [ -f ~/.config/ml4w/settings/hyprshade.sh ] ;then + source ~/.config/ml4w/settings/hyprshade.sh + fi + + # Toggle Hyprshade + if [ "$hyprshade_filter" != "off" ] ;then + if [ -z $(hyprshade current) ] ;then + echo ":: hyprshade is not running" + hyprshade on $hyprshade_filter + notify-send "Hyprshade activated" "with $(hyprshade current)" + echo ":: hyprshade started with $(hyprshade current)" + else + notify-send "Hyprshade deactivated" + echo ":: Current hyprshade $(hyprshade current)" + echo ":: Switching hyprshade off" + hyprshade off + fi + else + hyprshade off + echo ":: hyprshade turned off" + fi + +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/init-wallpaper-engine.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/init-wallpaper-engine.sh new file mode 100644 index 0000000..6751156 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/init-wallpaper-engine.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# __ ______ _____ _ +# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___ +# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \ +# \ V V / | __/ | |___| | | | (_| | | | | | __/ +# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___| +# |___/ +# + +wallpaper_engine=$(cat $HOME/.config/ml4w/settings/wallpaper-engine.sh) +if [ "$wallpaper_engine" == "swww" ] ;then + # swww + echo ":: Using swww" + swww init + swww-daemon --format xrgb + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +elif [ "$wallpaper_engine" == "hyprpaper" ] ;then + # hyprpaper + echo ":: Using hyprpaper" + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +else + echo ":: Wallpaper Engine disabled" + ~/.config/hypr/scripts/wallpaper.sh init +fi + diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/keybindings.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/keybindings.sh new file mode 100644 index 0000000..d0b9150 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/keybindings.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# _ _ _ _ _ +# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___ +# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __| +# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \ +# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/ +# |___/ |___/ +# +# ----------------------------------------------------- +# Get keybindings location based on variation +# ----------------------------------------------------- +config_file=$(cat ~/.config/hypr/conf/keybinding.conf) +config_file=${config_file/source = ~/} +config_file=${config_file/source=~/} + +# ----------------------------------------------------- +# Path to keybindings config file +# ----------------------------------------------------- +config_file="/home/$USER$config_file" +echo "Reading from: $config_file" + +keybinds="" + +# Detect Start String +while read -r line +do + if [[ "$line" == "bind"* ]]; then + + line="$(echo "$line" | sed 's/$mainMod/SUPER/g')" + line="$(echo "$line" | sed 's/bind = //g')" + line="$(echo "$line" | sed 's/bindm = //g')" + + IFS='#' + read -a strarr <<<"$line" + kb_str=${strarr[0]} + cm_str=${strarr[1]} + + IFS=',' + read -a kbarr <<<"$kb_str" + + item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}" + keybinds=$keybinds$item$'\n' + fi +done < "$config_file" + +sleep 0.2 +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/loadconfig.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/loadconfig.sh new file mode 100644 index 0000000..a51ce6d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl reload \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/moveTo.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/moveTo.sh new file mode 100644 index 0000000..de2492b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/moveTo.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# __ __ _ +# | \/ | _____ _____ | |_ ___ +# | |\/| |/ _ \ \ / / _ \ | __/ _ \ +# | | | | (_) \ V / __/ | || (_) | +# |_| |_|\___/ \_/ \___| \__\___/ +# + +# Function to log messages (useful for debugging) +log_message() { + # echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> ~/moveto_log.txt + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +# Get the target workspace from the argument +target_workspace=$1 + +# Check if a target workspace was provided +if [ -z "$target_workspace" ]; then + log_message "Error: No target workspace provided" + exit 1 +fi + +# Get the current active workspace +current_workspace=$(hyprctl activewindow -j | jq '.workspace.id') + +if [ -z "$current_workspace" ]; then + log_message "Error: Couldn't determine current workspace" + exit 1 +fi + +log_message "Moving from workspace $current_workspace to $target_workspace" + +# Get all window addresses in the current workspace +window_addresses=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $current_workspace) | .address") + +# Move each window to the target workspace +for address in $window_addresses; do + log_message "Moving window $address to workspace $target_workspace" + hyprctl dispatch movetoworkspacesilent "$target_workspace,address:$address" +done + +log_message "Finished moving windows" + +# Switch to the target workspace +hyprctl dispatch workspace "$target_workspace" + +log_message "Switched to workspace $target_workspace" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/power.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/power.sh new file mode 100644 index 0000000..8037fbd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/power.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# ____ +# | _ \ _____ _____ _ __ +# | |_) / _ \ \ /\ / / _ \ '__| +# | __/ (_) \ V V / __/ | +# |_| \___/ \_/\_/ \___|_| +# + +# Check if eww is open +FILE="$HOME/.cache/ml4w_sidebar" + +if [[ "$1" == "exit" ]]; then + echo ":: Exit" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + killall -9 Hyprland + sleep 2 +fi + +if [[ "$1" == "lock" ]]; then + echo ":: Lock" + sleep 0.5 + hyprlock +fi + +if [[ "$1" == "reboot" ]]; then + echo ":: Reboot" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl reboot +fi + +if [[ "$1" == "shutdown" ]]; then + echo ":: Shutdown" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl poweroff +fi + +if [[ "$1" == "suspend" ]]; then + echo ":: Suspend" + sleep 0.5 + systemctl suspend +fi + +if [[ "$1" == "hibernate" ]]; then + echo ":: Hibernate" + sleep 1; + systemctl hibernate +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/restart-hypridle.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/restart-hypridle.sh new file mode 100644 index 0000000..fe29461 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/restart-hypridle.sh @@ -0,0 +1,5 @@ +#!/bin/bash +killall hypridle +sleep 1 +hypridle & +notify-send "hypridle has been restarted." \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/screenshot.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/screenshot.sh new file mode 100644 index 0000000..d08557a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/screenshot.sh @@ -0,0 +1,224 @@ +#!/bin/bash +# ____ _ _ +# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_ +# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __| +# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_ +# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__| +# +# Based on https://github.com/hyprwm/contrib/blob/main/grimblast/screenshot.sh +# ----------------------------------------------------- + +# Screenshots will be stored in $HOME by default. +# The screenshot will be moved into the screenshot directory + +# Add this to ~/.config/user-dirs.dirs to save screenshots in a custom folder: +# XDG_SCREENSHOTS_DIR="$HOME/Screenshots" + +prompt='Screenshot' +mesg="DIR: ~/Screenshots" + +# Screenshot Filename +source ~/.config/ml4w/settings/screenshot-filename.sh + +# Screenshot Folder +source ~/.config/ml4w/settings/screenshot-folder.sh + +# Screenshot Editor +export GRIMBLAST_EDITOR="$(cat ~/.config/ml4w/settings/screenshot-editor.sh)" + +# Example for keybindings +# bind = SUPER, p, exec, grimblast save active +# bind = SUPER SHIFT, p, exec, grimblast save area +# bind = SUPER ALT, p, exec, grimblast save output +# bind = SUPER CTRL, p, exec, grimblast save screen + +# Options +option_1="Immediate" +option_2="Delayed" + +option_capture_1="Capture Everything" +option_capture_2="Capture Active Display" +option_capture_3="Capture Selection" + +option_time_1="5s" +option_time_2="10s" +option_time_3="20s" +option_time_4="30s" +option_time_5="60s" +#option_time_4="Custom (in seconds)" # Roadmap or someone contribute :) + +list_col='1' +list_row='2' + +copy='Copy' +save='Save' +copy_save='Copy & Save' +edit='Edit' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take screenshot" +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2" | rofi_cmd +} + +#### +# Choose Timer +# CMD +timer_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 5 -width 30 -p "Choose timer" +} + +# Ask for confirmation +timer_exit() { + echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | timer_cmd +} + +# Confirm and execute +timer_run() { + selected_timer="$(timer_exit)" + if [[ "$selected_timer" == "$option_time_1" ]]; then + countdown=5 + ${1} + elif [[ "$selected_timer" == "$option_time_2" ]]; then + countdown=10 + ${1} + elif [[ "$selected_timer" == "$option_time_3" ]]; then + countdown=20 + ${1} + elif [[ "$selected_timer" == "$option_time_4" ]]; then + countdown=30 + ${1} + elif [[ "$selected_timer" == "$option_time_5" ]]; then + countdown=60 + ${1} + else + exit + fi +} +### + +#### +# Chose Screenshot Type +# CMD +type_screenshot_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Type of screenshot" +} + +# Ask for confirmation +type_screenshot_exit() { + echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | type_screenshot_cmd +} + +# Confirm and execute +type_screenshot_run() { + selected_type_screenshot="$(type_screenshot_exit)" + if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then + option_type_screenshot=screen + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then + option_type_screenshot=output + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then + option_type_screenshot=area + ${1} + else + exit + fi +} +### + +#### +# Choose to save or copy photo +# CMD +copy_save_editor_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "How to save" +} + +# Ask for confirmation +copy_save_editor_exit() { + echo -e "$copy\n$save\n$copy_save\n$edit" | copy_save_editor_cmd +} + +# Confirm and execute +copy_save_editor_run() { + selected_chosen="$(copy_save_editor_exit)" + if [[ "$selected_chosen" == "$copy" ]]; then + option_chosen=copy + ${1} + elif [[ "$selected_chosen" == "$save" ]]; then + option_chosen=save + ${1} + elif [[ "$selected_chosen" == "$copy_save" ]]; then + option_chosen=copysave + ${1} + elif [[ "$selected_chosen" == "$edit" ]]; then + option_chosen=edit + ${1} + else + exit + fi +} +### + +timer() { + if [[ $countdown -gt 10 ]]; then + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown_less_10=$((countdown - 10)) + sleep $countdown_less_10 + countdown=10 + fi + while [[ $countdown -ne 0 ]]; do + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown=$((countdown - 1)) + sleep 1 + done +} + +# take shots +takescreenshot() { + sleep 1 + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +takescreenshot_timer() { + sleep 1 + timer + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + type_screenshot_run + copy_save_editor_run "takescreenshot" + elif [[ "$1" == '--opt2' ]]; then + timer_run + type_screenshot_run + copy_save_editor_run "takescreenshot_timer" + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in +$option_1) + run_cmd --opt1 + ;; +$option_2) + run_cmd --opt2 + ;; +esac diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/toggle-animations.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/toggle-animations.sh new file mode 100644 index 0000000..7eedb1d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/toggle-animations.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cache_file="$HOME/.cache/toggle_animation" +if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then + echo ":: Toggle blocked by disabled.conf variation." +else + if [ -f $cache_file ] ;then + hyprctl keyword animations:enabled true + rm $cache_file + else + hyprctl keyword animations:enabled false + touch $cache_file + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/toggleallfloat.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/toggleallfloat.sh new file mode 100644 index 0000000..3fc12e2 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-automation.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-automation.sh new file mode 100644 index 0000000..e3d1f1e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-automation.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh) +_setWallpaperRandomly() { + waypaper --random + echo ":: Next wallpaper in 60 seconds..." + sleep $sec + _setWallpaperRandomly +} + +if [ ! -f ~/.config/ml4w/cache/wallpaper-automation ] ;then + touch ~/.config/ml4w/cache/wallpaper-automation + echo ":: Start wallpaper automation script" + notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds." + _setWallpaperRandomly +else + rm ~/.config/ml4w/cache/wallpaper-automation + notify-send "Wallpaper automation process stopped." + echo ":: Wallpaper automation script process $wp stopped" + wp=$(pgrep -f wallpaper-automation.sh) + kill -KILL $wp +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-cache.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-cache.sh new file mode 100644 index 0000000..899a06a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-cache.sh @@ -0,0 +1,5 @@ +#!/bin/bash +generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated" +rm $generated_versions/* +echo ":: Wallpaper cache cleared" +notify-send "Wallpaper cache cleared" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-effects.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-effects.sh new file mode 100644 index 0000000..83dbca8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-effects.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +# Get current wallpaper +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" + +# Open rofi to select the Hyprshade filter for toggle +options="$(ls ~/.config/hypr/effects/wallpaper/)\noff" + +# Open rofi +choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade") +if [ ! -z $choice ] ;then + echo "$choice" > ~/.config/ml4w/settings/wallpaper-effect.sh + notify-send "Changing Wallpaper Effect to " "$choice" + waypaper --wallpaper $(cat $cache_file) +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-restore.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-restore.sh new file mode 100644 index 0000000..b875400 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper-restore.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Restore last wallpaper +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +defaultwallpaper="$HOME/Pictures/Wallpapers/faroe_islands.jpg" +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" + +# ----------------------------------------------------- +# Get current wallpaper +# ----------------------------------------------------- + +if [ -f "$cachefile" ]; then + sed -i "s|~|$HOME|g" "$cachefile" + wallpaper=$(cat $cachefile) + if [ -f $wallpaper ]; then + echo ":: Wallpaper $wallpaper exists" + else + echo ":: Wallpaper $wallpaper does not exist. Using default." + wallpaper=$defaultwallpaper + fi +else + echo ":: $cachefile does not exist. Using default wallpaper." + wallpaper=$defaultwallpaper +fi + +# ----------------------------------------------------- +# Set wallpaper +# ----------------------------------------------------- + +echo ":: Setting wallpaper with source image $wallpaper" +waypaper --wallpaper "$wallpaper" diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper.sh new file mode 100644 index 0000000..1045429 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/wallpaper.sh @@ -0,0 +1,172 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Check to use wallpaper cache +# ----------------------------------------------------- + +if [ -f ~/.config/ml4w/settings/wallpaper_cache ]; then + use_cache=1 + echo ":: Using Wallpaper Cache" +else + use_cache=0 + echo ":: Wallpaper Cache disabled" +fi + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +force_generate=0 +generatedversions="$HOME/.config/ml4w/cache/wallpaper-generated" +waypaperrunning=$HOME/.config/ml4w/cache/waypaper-running +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" +blurredwallpaper="$HOME/.config/ml4w/cache/blurred_wallpaper.png" +squarewallpaper="$HOME/.config/ml4w/cache/square_wallpaper.png" +rasifile="$HOME/.config/ml4w/cache/current_wallpaper.rasi" +blurfile="$HOME/.config/ml4w/settings/blur.sh" +defaultwallpaper="$HOME/Pictures/Wallpapers/faroe_islands.jpg" +wallpapereffect="$HOME/.config/ml4w/settings/wallpaper-effect.sh" +blur="50x30" +blur=$(cat $blurfile) + +# Ensures that the script only run once if wallpaper effect enabled +if [ -f $waypaperrunning ]; then + rm $waypaperrunning + exit +fi + +# Create folder with generated versions of wallpaper if not exists +if [ ! -d $generatedversions ]; then + mkdir $generatedversions +fi + +# ----------------------------------------------------- +# Get selected wallpaper +# ----------------------------------------------------- + +if [ -z $1 ]; then + if [ -f $cachefile ]; then + wallpaper=$(cat $cachefile) + else + wallpaper=$defaultwallpaper + fi +else + wallpaper=$1 +fi +used_wallpaper=$wallpaper +echo ":: Setting wallpaper with source image $wallpaper" +tmpwallpaper=$wallpaper + +# ----------------------------------------------------- +# Copy path of current wallpaper to cache file +# ----------------------------------------------------- + +if [ ! -f $cachefile ]; then + touch $cachefile +fi +echo "$wallpaper" > $cachefile +echo ":: Path of current wallpaper copied to $cachefile" + +# ----------------------------------------------------- +# Get wallpaper filename +# ----------------------------------------------------- +wallpaperfilename=$(basename $wallpaper) +echo ":: Wallpaper Filename: $wallpaperfilename" + +# ----------------------------------------------------- +# Wallpaper Effects +# ----------------------------------------------------- + +if [ -f $wallpapereffect ]; then + effect=$(cat $wallpapereffect) + if [ ! "$effect" == "off" ]; then + used_wallpaper=$generatedversions/$effect-$wallpaperfilename + if [ -f $generatedversions/$effect-$wallpaperfilename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper $effect-$wallpaperfilename" + else + echo ":: Generate new cached wallpaper $effect-$wallpaperfilename with effect $effect" + notify-send --replace-id=1 "Using wallpaper effect $effect..." "with image $wallpaperfilename" -h int:value:33 + source $HOME/.config/hypr/effects/wallpaper/$effect + fi + echo ":: Loading wallpaper $generatedversions/$effect-$wallpaperfilename with effect $effect" + echo ":: Setting wallpaper with $used_wallpaper" + touch $waypaperrunning + waypaper --wallpaper $used_wallpaper + else + echo ":: Wallpaper effect is set to off" + fi +else + effect="off" +fi + +# ----------------------------------------------------- +# Execute pywal +# ----------------------------------------------------- + +echo ":: Execute pywal with $used_wallpaper" +wal -q -i "$used_wallpaper" +source "$HOME/.cache/wal/colors.sh" + +# ----------------------------------------------------- +# Reload Waybar +# ----------------------------------------------------- + +killall -SIGUSR2 waybar + +# ----------------------------------------------------- +# Pywalfox +# ----------------------------------------------------- + +if type pywalfox > /dev/null 2>&1; then + pywalfox update +fi + +# ----------------------------------------------------- +# Created blurred wallpaper +# ----------------------------------------------------- + +if [ -f $generatedversions/blur-$blur-$effect-$wallpaperfilename.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper blur-$blur-$effect-$wallpaperfilename" +else + echo ":: Generate new cached wallpaper blur-$blur-$effect-$wallpaperfilename with blur $blur" + # notify-send --replace-id=1 "Generate new blurred version" "with blur $blur" -h int:value:66 + magick $used_wallpaper -resize 75% $blurredwallpaper + echo ":: Resized to 75%" + if [ ! "$blur" == "0x0" ]; then + magick $blurredwallpaper -blur $blur $blurredwallpaper + cp $blurredwallpaper $generatedversions/blur-$blur-$effect-$wallpaperfilename.png + echo ":: Blurred" + fi +fi +cp $generatedversions/blur-$blur-$effect-$wallpaperfilename.png $blurredwallpaper + +# ----------------------------------------------------- +# Create rasi file +# ----------------------------------------------------- + +if [ ! -f $rasifile ]; then + touch $rasifile +fi +echo "* { current-image: url(\"$blurredwallpaper\", height); }" > "$rasifile" + +# ----------------------------------------------------- +# Created square wallpaper +# ----------------------------------------------------- + +echo ":: Generate new cached wallpaper square-$wallpaperfilename" +magick $tmpwallpaper -gravity Center -extent 1:1 $squarewallpaper +cp $squarewallpaper $generatedversions/square-$wallpaperfilename.png + +# ----------------------------------------------------- +# Reload AGS +# ----------------------------------------------------- + +ags quit & +sleep 0.2 +ags run & diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/xdg.sh b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/xdg.sh new file mode 100644 index 0000000..f7d0fec --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/scripts/xdg.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# __ ______ ____ +# \ \/ / _ \ / ___| +# \ /| | | | | _ +# / \| |_| | |_| | +# /_/\_\____/ \____| +# + +# Setup Timers +_sleep1="0.1" +_sleep2="0.5" +_sleep3="2" + +# Kill all possible running xdg-desktop-portals +killall -e xdg-desktop-portal-hyprland +killall -e xdg-desktop-portal-gnome +killall -e xdg-desktop-portal-kde +killall -e xdg-desktop-portal-lxqt +killall -e xdg-desktop-portal-wlr +killall -e xdg-desktop-portal-gtk +killall -e xdg-desktop-portal + +# Set required environment variables +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland + +# Stop all services +systemctl --user stop pipewire +systemctl --user stop wireplumber +systemctl --user stop xdg-desktop-portal +systemctl --user stop xdg-desktop-portal-gnome +systemctl --user stop xdg-desktop-portal-kde +systemctl --user stop xdg-desktop-portal-wlr +systemctl --user stop xdg-desktop-portal-hyprland +sleep $_sleep1 + +# Start xdg-desktop-portal-hyprland +/usr/lib/xdg-desktop-portal-hyprland & +sleep $_sleep1 + +# Start xdg-desktop-portal-gtk +if [ -f /usr/lib/xdg-desktop-portal-gtk ] ;then + /usr/lib/xdg-desktop-portal-gtk & + sleep $_sleep1 +fi + +# Start xdg-desktop-portal +/usr/lib/xdg-desktop-portal & +sleep $_sleep2 + +# Start required services +systemctl --user start pipewire +systemctl --user start wireplumber +systemctl --user start xdg-desktop-portal +systemctl --user start xdg-desktop-portal-hyprland + +# Run waybar +sleep $_sleep3 +~/.config/waybar/launch.sh diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-25.glsl b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-25.glsl new file mode 100644 index 0000000..149b143 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-25.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.25; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-50.glsl b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-50.glsl new file mode 100644 index 0000000..ac5ea21 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-50.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.5; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-75.glsl b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-75.glsl new file mode 100644 index 0000000..c8c1b23 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/blue-light-filter-75.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.75; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/invert-colors.glsl b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/invert-colors.glsl new file mode 100644 index 0000000..a504901 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/hypr/shaders/invert-colors.glsl @@ -0,0 +1,8 @@ +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + gl_FragColor = vec4(1.0 - pixColor.r, 1.0 - pixColor.g, 1.0 - pixColor.b, pixColor.a); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w-hyprland-settings/hyprctl.json b/configs/dotfiles/hyprland/gulfport/.config/ml4w-hyprland-settings/hyprctl.json new file mode 100644 index 0000000..d6870b7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w-hyprland-settings/hyprctl.json @@ -0,0 +1,10 @@ +[ + { + "key": "general:col.active_border", + "value": "rgb(82aaff)" + }, + { + "key": "general:col.inactive_border", + "value": "rgb(99c1f1)" + } +] \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w-hyprland-settings/hyprctl.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w-hyprland-settings/hyprctl.sh new file mode 100644 index 0000000..9fffc49 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w-hyprland-settings/hyprctl.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# _ _ _ +# | |__ _ _ _ __ _ __ ___| |_| | +# | '_ \| | | | '_ \| '__/ __| __| | +# | | | | |_| | |_) | | | (__| |_| | +# |_| |_|\__, | .__/|_| \___|\__|_| +# |___/|_| +# +# Execute this file in the hyprland.conf with exec-always +sleep 3 +script=$(readlink -f $0) +path=$(dirname $script) +if [ ! -f $path/hyprctl.json ] ;then + echo ":: ERROR: hyprctl.json not found" + exit 1 +fi + +jq -c '.[]' $path/hyprctl.json | while read i; do + _val() { + echo $1 | jq -r '.value' + } + _key() { + echo $1 | jq -r '.key' + } + key=$(_key $i) + val=$(_val $i) + echo ":: Execute: hyprctl keyword $key $val" + hyprctl keyword $key $val +done diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/blurred_wallpaper.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/blurred_wallpaper.png new file mode 100644 index 0000000..8b6ee60 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/blurred_wallpaper.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/current_wallpaper b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/current_wallpaper new file mode 100644 index 0000000..498a16a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/current_wallpaper @@ -0,0 +1 @@ +/home/gib/Pictures/Wallpapers/ogbackground.png diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/current_wallpaper.rasi b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/current_wallpaper.rasi new file mode 100644 index 0000000..d0e0201 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/current_wallpaper.rasi @@ -0,0 +1 @@ +* { current-image: url("/home/gib/.config/ml4w/cache/blurred_wallpaper.png", height); } diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/square_wallpaper.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/square_wallpaper.png new file mode 100644 index 0000000..1fdd976 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/square_wallpaper.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-automation b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-automation new file mode 100644 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png new file mode 100644 index 0000000..a4923f5 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Oregon.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Oregon.png new file mode 100644 index 0000000..aa32b12 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Oregon.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png new file mode 100644 index 0000000..716a6f4 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png new file mode 100644 index 0000000..d98d265 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-cliff_river_mountain.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-cliff_river_mountain.png.png new file mode 100644 index 0000000..b5a8352 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-cliff_river_mountain.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-default.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-default.jpg.png new file mode 100644 index 0000000..d23a126 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-default.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-erupting_volcano.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-erupting_volcano.jpg.png new file mode 100644 index 0000000..5adad45 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-erupting_volcano.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-excellentbg.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-excellentbg.png.png new file mode 100644 index 0000000..c06283f Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-excellentbg.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png new file mode 100644 index 0000000..20d8dfa Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-gloomyroadcatbg.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-gloomyroadcatbg.png.png new file mode 100644 index 0000000..4fa14a9 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-gloomyroadcatbg.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-island_beach.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-island_beach.jpg.png new file mode 100644 index 0000000..aa5fedd Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-island_beach.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-lake_branch_reflection.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-lake_branch_reflection.jpg.png new file mode 100644 index 0000000..89f993b Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-lake_branch_reflection.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-mt_rainier.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-mt_rainier.jpg.png new file mode 100644 index 0000000..26ef8ce Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-mt_rainier.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-northern_lights.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-northern_lights.png.png new file mode 100644 index 0000000..87b656a Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-northern_lights.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground.png.png new file mode 100644 index 0000000..8b6ee60 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground_upscaled.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground_upscaled.png.png new file mode 100644 index 0000000..6363a4c Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-ogbackground_upscaled.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-orange_mountains.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-orange_mountains.jpg.png new file mode 100644 index 0000000..9d341c8 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-orange_mountains.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-rock_tower.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-rock_tower.png.png new file mode 100644 index 0000000..ac3b0f3 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-rock_tower.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-winter_night.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-winter_night.jpg.png new file mode 100644 index 0000000..fd7cd74 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-winter_night.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-.png new file mode 100644 index 0000000..d90962e Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-Oregon.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-Oregon.png new file mode 100644 index 0000000..425790d Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-Oregon.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png new file mode 100644 index 0000000..2a08fcd Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png new file mode 100644 index 0000000..f234f2d Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-cliff_river_mountain.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-cliff_river_mountain.png.png new file mode 100644 index 0000000..e31d433 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-cliff_river_mountain.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-default.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-default.jpg.png new file mode 100644 index 0000000..8eee118 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-default.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-erupting_volcano.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-erupting_volcano.jpg.png new file mode 100644 index 0000000..cb6fdda Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-erupting_volcano.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-excellentbg.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-excellentbg.png.png new file mode 100644 index 0000000..a6d194e Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-excellentbg.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png new file mode 100644 index 0000000..d88dd29 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-gloomyroadcatbg.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-gloomyroadcatbg.png.png new file mode 100644 index 0000000..ba379d5 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-gloomyroadcatbg.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-island_beach.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-island_beach.jpg.png new file mode 100644 index 0000000..9477c9a Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-island_beach.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-lake_branch_reflection.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-lake_branch_reflection.jpg.png new file mode 100644 index 0000000..425790d Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-lake_branch_reflection.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-mt_rainier.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-mt_rainier.jpg.png new file mode 100644 index 0000000..1178678 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-mt_rainier.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-northern_lights.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-northern_lights.png.png new file mode 100644 index 0000000..070f8c3 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-northern_lights.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-ogbackground.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-ogbackground.png.png new file mode 100644 index 0000000..1fdd976 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-ogbackground.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-ogbackground_upscaled.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-ogbackground_upscaled.png.png new file mode 100644 index 0000000..200edfb Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-ogbackground_upscaled.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-orange_mountains.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-orange_mountains.jpg.png new file mode 100644 index 0000000..90764c1 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-orange_mountains.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-rock_tower.png.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-rock_tower.png.png new file mode 100644 index 0000000..bd560d5 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-rock_tower.png.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-winter_night.jpg.png b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-winter_night.jpg.png new file mode 100644 index 0000000..6703eac Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/ml4w/cache/wallpaper-generated/square-winter_night.jpg.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/login/issue b/configs/dotfiles/hyprland/gulfport/.config/ml4w/login/issue new file mode 100644 index 0000000..d3f99f3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/login/issue @@ -0,0 +1,11 @@ + _ _ + | | ___ __ _(_)_ __ + | | / _ \\ / _' | | '_ \\ + | |__| (_) | (_| | | | | | + |_____\\___/ \\__, |_|_| |_| + |___/ + +Today is \d \t @ \n +-------------------------------------------------------------- +\r (\l) + diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/ags.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/ags.sh new file mode 100644 index 0000000..8c1ba75 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/ags.sh @@ -0,0 +1 @@ +ags run \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/cliphist.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/cliphist.sh new file mode 100644 index 0000000..b9a2acc --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/cliphist.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# ____ _ _ _ _ _ +# / ___| (_)_ __ | |__ (_)___| |_ +# | | | | | '_ \| '_ \| / __| __| +# | |___| | | |_) | | | | \__ \ |_ +# \____|_|_| .__/|_| |_|_|___/\__| +# |_| +# + +case $1 in + d) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist delete + ;; + + w) if [ `echo -e "Clear\nCancel" | rofi -dmenu -config ~/.config/rofi/config-short.rasi` == "Clear" ] ; then + cliphist wipe + fi + ;; + + *) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist decode | wl-copy + ;; +esac diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/figlet.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/figlet.sh new file mode 100644 index 0000000..7a5ff4e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/figlet.sh @@ -0,0 +1,24 @@ +#!/bin/bash +figlet -f smslant "Figlet" +echo +# ------------------------------------------------ +# Script to create ascii font based header on user input +# and copy the result to the clipboard +# ----------------------------------------------------- + +read -p "Enter the text for ascii encoding: " mytext + +if [ -f ~/figlet.txt ]; then + touch ~/figlet.txt +fi + +echo "cat <<\"EOF\"" > ~/figlet.txt +figlet -f smslant "$mytext" >> ~/figlet.txt +echo "" >> ~/figlet.txt +echo "EOF" >> ~/figlet.txt + +lines=$( cat ~/figlet.txt ) +wl-copy "$lines" +xclip -sel clip ~/figlet.txt + +echo "Text copied to clipboard!" diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/installupdates.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/installupdates.sh new file mode 100644 index 0000000..b4605b5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/installupdates.sh @@ -0,0 +1,101 @@ +#!/bin/bash +# ____ __ ____ __ __ +# / _/__ ___ / /____ _/ / / __ _____ ___/ /__ _/ /____ ___ +# _/ // _ \(_- /dev/null + then + echo "Running" + killall nm-applet + else + echo "Stopped" + nm-applet --indicator & + fi +else + nm-applet --indicator & +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/sddm-wallpaper.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/sddm-wallpaper.sh new file mode 100644 index 0000000..eccad59 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/sddm-wallpaper.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# _ _ _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ __| | __| |_ __ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \ / __|/ _` |/ _` | '_ ` _ \ +# | |_| | |_) | (_| | (_| | || __/ \__ \ (_| | (_| | | | | | | +# \___/| .__/ \__,_|\__,_|\__\___| |___/\__,_|\__,_|_| |_| |_| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- +sleep 1 +clear +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" +current_wallpaper=$(cat "$cache_file") +extension="${current_wallpaper##*.}" + +echo -e "${GREEN}" +figlet -f smslant "SDDM Wallpaper" +echo -e "${NONE}" + +sddm_theme_name="sequoia" +sddm_asset_folder="/usr/share/sddm/themes/$sddm_theme_name/backgrounds" + +sddm_theme_tpl="/usr/share/ml4w-hyprland/sddm/theme.conf" +if [ -f $HOME/.config/ml4w/settings/sddm/theme.conf ]; then + sddm_theme_tpl="$HOME/.config/ml4w/settings/sddm/theme.conf" + echo ":: Using custum theme.conf" +fi + + +if [ ! -f $current_wallpaper ]; then + gum spin --spinner dot --title "File $current_wallpaper does not exist" -- sleep 3 + exit +fi + +echo ":: Set the current wallpaper $current_wallpaper as SDDM wallpaper." +echo + +if [ ! -d /etc/sddm.conf.d/ ]; then + sudo mkdir /etc/sddm.conf.d + echo ":: Folder /etc/sddm.conf.d created." +fi + +sudo cp /usr/share/ml4w-hyprland/sddm/sddm.conf /etc/sddm.conf.d/ +echo ":: File /etc/sddm.conf.d/sddm.conf updated." + +sudo cp $current_wallpaper $sddm_asset_folder/current_wallpaper.$extension +echo ":: Current wallpaper copied into $sddm_asset_folder" + +sudo cp $sddm_theme_tpl /usr/share/sddm/themes/$sddm_theme_name/ +sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.$extension"'/' /usr/share/sddm/themes/$sddm_theme_name/theme.conf +echo ":: File theme.conf updated in /usr/share/sddm/themes/$sddm_theme_name/" +echo + +echo ":: You can preview your updated SDDM Login screen. (Close it with SUPER+Q)" +echo +if gum confirm "Do you want to preview the result?"; then + sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sequoia +fi + +echo +gum spin --spinner dot --title "Please logout to see the result." -- sleep 3 diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/shell.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/shell.sh new file mode 100644 index 0000000..9cb6a94 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/shell.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# ____ _ _ _ +# / ___|| |__ ___| | | +# \___ \| '_ \ / _ \ | | +# ___) | | | | __/ | | +# |____/|_| |_|\___|_|_| +# + +sleep 1 + +_isInstalledYay() { + package="$1"; + check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +clear +figlet -f smslant "Shell" + +echo ":: Please select your preferred shell" +echo +shell=$(gum choose "bash" "zsh" "Cancel") +# ----------------------------------------------------- +# Activate bash +# ----------------------------------------------------- +if [[ $shell == "bash" ]] ;then + + # Change shell to bash + while ! chsh -s $(which bash); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now bash." + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Activate zsh +# ----------------------------------------------------- +elif [[ $shell == "zsh" ]] ;then + + # Change shell to shh + while ! chsh -s $(which zsh); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now zsh." + + # Installing oh-my-posh + yay -S oh-my-posh-bin + + # Installing oh-my-zsh + if [ ! -d "$HOME/.oh-my-zsh" ]; then + echo ":: Installing oh-my-zsh" + sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended + cp ~/.config/ml4w/tpl/.zshrc ~/ + else + echo ":: oh-my-zsh already installed" + fi + + # Installing zsh-autosuggestions + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then + echo ":: Installing zsh-autosuggestions" + git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + else + echo ":: zsh-autosuggestions already installed" + fi + + # Installing zsh-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then + echo ":: Installing zsh-syntax-highlighting" + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting + else + echo ":: zsh-syntax-highlighting already installed" + fi + + # Installing fast-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/fast-syntax-highlighting" ]; then + echo ":: Installing fast-syntax-highlighting" + git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting + else + echo ":: fast-syntax-highlighting already installed" + fi + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Cencel +# ----------------------------------------------------- +else + echo ":: Changing shell canceled" + exit +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/thunarterminal.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/thunarterminal.sh new file mode 100644 index 0000000..777be5f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/thunarterminal.sh @@ -0,0 +1,19 @@ +#!/bin/bash +clear +if [ -f ~/.config/ml4w/settings/terminal.sh ]; then + terminal="$(cat ~/.config/ml4w/settings/terminal.sh)" + echo ":: Installing $terminal" + if [ -d ~/.config/xfce4 ]; then + if [ ! -f ~/.config/xfce4/helpers.rc ]; then + touch ~/.config/xfce4/helpers.rc + fi + echo "TerminalEmulator=$terminal" > ~/.config/xfce4/helpers.rc + echo ":: $terminal defined as Thunar Terminal Emulator." + else + echo "ERROR: ~/.config/xfce4 not found. Please open Thunar once to create it." + echo "Then start this script again." + fi +else + echo "ERROR: ~/.config/ml4w/settings/terminal.sh not found" +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/updates.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/updates.sh new file mode 100644 index 0000000..505d126 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/updates.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \/ __| +# | |_| | |_) | (_| | (_| | || __/\__ \ +# \___/| .__/ \__,_|\__,_|\__\___||___/ +# |_| +# + +# ----------------------------------------------------- +# Define threshholds for color indicators +# ----------------------------------------------------- + +threshhold_green=0 +threshhold_yellow=25 +threshhold_red=100 +install_platform="$(cat ~/.config/ml4w/settings/platform.sh)" + +# Check if platform is supported +case $install_platform in + arch) + aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + + # ----------------------------------------------------- + # Calculate available updates + # ----------------------------------------------------- + + # flatpak remote-ls --updates + + updates=$(checkupdates-with-aur | wc -l) + ;; + fedora) + updates=$(dnf check-update -q|grep -c ^[a-z0-9]) + ;; + *) + updates=0 + ;; +esac + +# ----------------------------------------------------- +# Output in JSON format for Waybar Module custom-updates +# ----------------------------------------------------- + +css_class="green" + +if [ "$updates" -gt $threshhold_yellow ]; then + css_class="yellow" +fi + +if [ "$updates" -gt $threshhold_red ]; then + css_class="red" +fi + +if [ "$updates" -gt $threshhold_green ]; then + printf '{"text": "%s", "alt": "%s", "tooltip": "Click to update your system", "class": "%s"}' "$updates" "$updates" "$css_class" +else + printf '{"text": "0", "alt": "0", "tooltip": "No updates available", "class": "green"}' +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/wlogout.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/wlogout.sh new file mode 100644 index 0000000..2b540eb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/scripts/wlogout.sh @@ -0,0 +1,5 @@ +res_w=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width') +res_h=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .height') +h_scale=$(hyprctl -j monitors | jq '.[] | select (.focused == true) | .scale' | sed 's/\.//') +w_margin=$(( res_h * 27 / h_scale )) +wlogout -b 5 -T $w_margin -B $w_margin \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/blur.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/blur.sh new file mode 100644 index 0000000..4ffc966 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/blur.sh @@ -0,0 +1 @@ +50x30 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/browser.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/browser.sh new file mode 100644 index 0000000..dbfb8f9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/browser.sh @@ -0,0 +1 @@ +firefox diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/calculator.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/calculator.sh new file mode 100644 index 0000000..7321b2e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/calculator.sh @@ -0,0 +1 @@ +gnome-calculator \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/dotfiles-folder.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/dotfiles-folder.sh new file mode 100644 index 0000000..6bbefa5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/dotfiles-folder.sh @@ -0,0 +1 @@ +Documents/Configs/hyprland/gulfport diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/dunst_position.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/dunst_position.sh new file mode 100644 index 0000000..181d3ca --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/dunst_position.sh @@ -0,0 +1 @@ +top-center \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/editor.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/editor.sh new file mode 100644 index 0000000..4bb243e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/editor.sh @@ -0,0 +1 @@ +gnome-text-editor \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/emojipicker.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/emojipicker.sh new file mode 100644 index 0000000..36d697f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/emojipicker.sh @@ -0,0 +1 @@ +smile \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/eww-monitor.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/eww-monitor.sh new file mode 100644 index 0000000..4d18c3e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/eww-monitor.sh @@ -0,0 +1 @@ +auto \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/filemanager.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/filemanager.sh new file mode 100644 index 0000000..9f0175d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/filemanager.sh @@ -0,0 +1 @@ +nautilus \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_dpms_timeout.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_dpms_timeout.sh new file mode 100644 index 0000000..9ecf271 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_dpms_timeout.sh @@ -0,0 +1 @@ +660 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_hyprlock_timeout.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_hyprlock_timeout.sh new file mode 100644 index 0000000..73623d1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_hyprlock_timeout.sh @@ -0,0 +1 @@ +600 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_suspend_timeout.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_suspend_timeout.sh new file mode 100644 index 0000000..2974009 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hypridle_suspend_timeout.sh @@ -0,0 +1 @@ +1800 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hyprpaper.tpl b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hyprpaper.tpl new file mode 100644 index 0000000..3033ff3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hyprpaper.tpl @@ -0,0 +1,8 @@ +# Preload Wallpapers +preload = WALLPAPER + +# Set Wallpapers +wallpaper = ,WALLPAPER + +# Disable Splash +splash = false \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hyprshade.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hyprshade.sh new file mode 100644 index 0000000..1865560 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/hyprshade.sh @@ -0,0 +1 @@ +hyprshade_filter="blue-light-filter-50" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/ml4w-sidebar.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/ml4w-sidebar.sh new file mode 100644 index 0000000..b1ab0ad --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/ml4w-sidebar.sh @@ -0,0 +1 @@ +ags toggle sidebar \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/networkmanager.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/networkmanager.sh new file mode 100644 index 0000000..b2a0141 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/networkmanager.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e nmtui \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/platform.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/platform.sh new file mode 100644 index 0000000..35a143b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/platform.sh @@ -0,0 +1 @@ +fedora diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/printer-drivers.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/printer-drivers.sh new file mode 100644 index 0000000..444839f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/printer-drivers.sh @@ -0,0 +1,4 @@ +# Installation of Printer Drivers +# Please add your drivers to the package list +# Example: +# yay -S brother-hll2360dw-lpr-bin brother-hll2360dw-cups-bin brother-mfc-l3770cdw brscan-skey brscan4 skanpage \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-border-radius.rasi b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-border-radius.rasi new file mode 100644 index 0000000..7cbaeeb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-border-radius.rasi @@ -0,0 +1 @@ +* { border-radius: 2em; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-border.rasi b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-border.rasi new file mode 100644 index 0000000..e533468 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-border.rasi @@ -0,0 +1 @@ +* { border-width: 3px; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-font.rasi b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-font.rasi new file mode 100644 index 0000000..a2497c3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi-font.rasi @@ -0,0 +1 @@ +configuration { font: "Fira Sans 11"; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi_bordersize.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi_bordersize.sh new file mode 100644 index 0000000..e440e5c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/rofi_bordersize.sh @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-editor.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-editor.sh new file mode 100644 index 0000000..5f0900f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-editor.sh @@ -0,0 +1 @@ +pinta \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-filename.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-filename.sh new file mode 100644 index 0000000..f81ad3c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-filename.sh @@ -0,0 +1 @@ +NAME="screenshot_$(date +%d%m%Y_%H%M%S).jpg" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-folder.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-folder.sh new file mode 100644 index 0000000..a1bf821 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/screenshot-folder.sh @@ -0,0 +1 @@ +screenshot_folder="$HOME/Pictures" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/software.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/software.sh new file mode 100644 index 0000000..d10bc37 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/software.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e pacseek \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/system-monitor.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/system-monitor.sh new file mode 100644 index 0000000..a7b1e4f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/system-monitor.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e htop diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/terminal.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/terminal.sh new file mode 100644 index 0000000..659fb6b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/terminal.sh @@ -0,0 +1 @@ +kitty \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-automation.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-automation.sh new file mode 100644 index 0000000..2b82dfe --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-automation.sh @@ -0,0 +1 @@ +60 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-effect.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-effect.sh new file mode 100644 index 0000000..cfb931e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-effect.sh @@ -0,0 +1 @@ +off diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-engine.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-engine.sh new file mode 100644 index 0000000..b6923b6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-engine.sh @@ -0,0 +1 @@ +hyprpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-folder.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-folder.sh new file mode 100644 index 0000000..4e2f6ca --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper-folder.sh @@ -0,0 +1,2 @@ +# Enter the path to the folder that includes your wallpapers +wallpaper_folder=$HOME/Pictures/Wallpapers diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper_cache.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper_cache.sh new file mode 100644 index 0000000..0ca9514 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wallpaper_cache.sh @@ -0,0 +1 @@ +True diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar-quicklinks.json b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar-quicklinks.json new file mode 100644 index 0000000..7d61906 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar-quicklinks.json @@ -0,0 +1,45 @@ +{ + "custom/quicklink1": { + "format": "", + "on-click": "chromium", + "tooltip-format": "Open Chromium" + }, + "custom/quicklink2": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip-format": "Open Firefox" + }, + "custom/quicklink3": { + "format": "", + "on-click": "~/.config/ml4w/settings/filemanager.sh", + "tooltip-format": "Open filemanager" + }, + "custom/quicklink4": { + "format": "", + "on-click": "betterbird", + "tooltip-format": "Open Betterbird" + }, + "custom/quicklink5": { + "format": "", + "on-click": "~/.config/ml4w/settings/calculator.sh", + "tooltip-format": "Open calculator" + }, + "custom/quicklink6": { + "format": "", + "on-click": "~/.config/ml4w/settings/emojipicker.sh", + "tooltip-format": "Open emoji picker" + }, + "custom/quicklinkempty": { + }, + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/quicklink2", + "custom/quicklink3", + /* + "custom/quicklink4", + */ + "custom/quicklinkempty" + ] + } +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar-theme.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar-theme.sh new file mode 100644 index 0000000..736057a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar-theme.sh @@ -0,0 +1 @@ +/ml4w;/ml4w/white diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_appmenu.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_appmenu.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_appmenu.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_backlight.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_backlight.sh new file mode 100644 index 0000000..c1f22fb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_backlight.sh @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_chatgpt.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_chatgpt.sh new file mode 100644 index 0000000..bc59c12 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_chatgpt.sh @@ -0,0 +1 @@ +False diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_custom_timedateformat.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_custom_timedateformat.sh new file mode 100644 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_dateformat.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_dateformat.sh new file mode 100644 index 0000000..05696fa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_dateformat.sh @@ -0,0 +1 @@ +%a \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_network.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_network.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_network.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_quicklinks.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_quicklinks.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_quicklinks.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_screenlock.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_screenlock.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_screenlock.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_settings.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_settings.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_settings.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_systray.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_systray.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_systray.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_taskbar.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_taskbar.sh new file mode 100644 index 0000000..0ca9514 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_taskbar.sh @@ -0,0 +1 @@ +True diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_timeformat.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_timeformat.sh new file mode 100644 index 0000000..e2c888b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_timeformat.sh @@ -0,0 +1 @@ +%H:%M diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_timezone.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_timezone.sh new file mode 100644 index 0000000..c7aac92 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_timezone.sh @@ -0,0 +1 @@ +America/Chicago diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_toggle.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_toggle.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_toggle.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_window.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_window.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_window.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_workspaces.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_workspaces.sh new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/waybar_workspaces.sh @@ -0,0 +1 @@ +6 diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wlogout-parameters.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wlogout-parameters.sh new file mode 100644 index 0000000..50e2452 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/settings/wlogout-parameters.sh @@ -0,0 +1 @@ +-b 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/compare.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/compare.sh new file mode 100644 index 0000000..1b18b98 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/compare.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ------------------------------------------------------ +# Compare installed version with used version +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +if [ -f /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name ] ;then + installed_version=$(cat /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name) + used_version=$(cat ~/.config/ml4w/version/name) + if [[ $(testvercomp $used_version $installed_version "<") == "0" ]] ;then + notify-send "Please run ml4w-hyprland-setup" "Installed version is newer then the version you're currently using." + fi +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/library.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/library.sh new file mode 100644 index 0000000..94e5fbe --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/library.sh @@ -0,0 +1,42 @@ +vercomp () { + if [[ $1 == $2 ]] + then + return 0 + fi + local IFS=. + local i ver1=($1) ver2=($2) + # fill empty fields in ver1 with zeros + for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) + do + ver1[i]=0 + done + for ((i=0; i<${#ver1[@]}; i++)) + do + if ((10#${ver1[i]:=0} > 10#${ver2[i]:=0})) + then + return 1 + fi + if ((10#${ver1[i]} < 10#${ver2[i]})) + then + return 2 + fi + done + return 0 +} + +testvercomp () { + vercomp $1 $2 + case $? in + 0) op='=';; + 1) op='>';; + 2) op='<';; + esac + if [[ $op != $3 ]] + then + # No update available + echo "1" + else + # Update available + echo "0" + fi +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/name b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/name new file mode 100644 index 0000000..92db042 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/name @@ -0,0 +1 @@ +2.9.7.4 diff --git a/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/update.sh b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/update.sh new file mode 100644 index 0000000..efe9403 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/ml4w/version/update.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ------------------------------------------------------ +# Check for updates +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +# Get latest tag from GitHub +get_latest_release() { + v_online=$(curl --silent "https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=ml4w-hyprland") + v_full_online=$(grep -m 1 'pkgver' <<< $v_online | sed 's/^$/pkgver/') + echo ${v_full_online/pkgver=/} +} + +# Check for internet connection +if ping -q -c 1 -W 1 google.com >/dev/null; then + + version=$(cat ~/.config/ml4w/version/name) + online=$(get_latest_release "mylinuxforwork/hyprland-dotfiles") + echo $version "<" $online + testvercomp $version $online "<" +else + # Network is down + echo "1" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/nwg-dock-hyprland/launch.sh b/configs/dotfiles/hyprland/gulfport/.config/nwg-dock-hyprland/launch.sh new file mode 100644 index 0000000..345b06e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/nwg-dock-hyprland/launch.sh @@ -0,0 +1,6 @@ +# ___ __ +# / _ \___ ____/ /__ +# / // / _ \/ __/ '_/ +# /____/\___/\__/_/\_\ +# +nwg-dock-hyprland -r -i 28 -w 6 -mb 6 -ml 10 -mr 10 -x -lp "start" -c "rofi -show drun" diff --git a/configs/dotfiles/hyprland/gulfport/.config/nwg-dock-hyprland/style.css b/configs/dotfiles/hyprland/gulfport/.config/nwg-dock-hyprland/style.css new file mode 100644 index 0000000..443ae99 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/nwg-dock-hyprland/style.css @@ -0,0 +1,43 @@ +window { + background: rgba(46,47,61,0.98); + border-radius: 10px; + border-style: solid; + border-width: 2px; + border-color: #82aaff; + opacity:0.8; +} + +#box { + /* Define attributes of the box surrounding icons here */ + padding: 10px; +} + +#active { + /* This is to underline the button representing the currently active window */ + border-bottom: solid 0px; + border-color: #FFFFFF +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #999 +} + +button { + padding: 4px; + margin-left: 4px; + margin-right: 4px; + color: #eee; + font-size: 12px +} + +button:hover { + background-color: rgba(255, 255, 255, 0.15); + border-radius: 10px; +} + +button:focus { + box-shadow: none +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/qt6ct/qt6ct.conf b/configs/dotfiles/hyprland/gulfport/.config/qt6ct/qt6ct.conf new file mode 100644 index 0000000..ab40361 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/qt6ct/qt6ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/darker.conf +custom_palette=true +icon_theme=breeze-dark +standard_dialogs=default +style=Breeze + +[Fonts] +fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" +general="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\0\0\0\xe\xdd\0\0\x3\xea\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2\x61\0\0\0\0\x2\0\0\0\a\x80\0\0\a\x80\0\0\0\0\0\0\xe\xdd\0\0\x3\xea) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/configs/dotfiles/hyprland/gulfport/.config/rofi/config-cliphist.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-cliphist.rasi new file mode 100644 index 0000000..a2cbd7a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-cliphist.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/rofi/config-compact.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-compact.rasi new file mode 100644 index 0000000..4e59ac5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-compact.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/rofi/config-hyprshade.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-hyprshade.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-hyprshade.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/rofi/config-old.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-old.rasi new file mode 100644 index 0000000..06fb55f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-old.rasi @@ -0,0 +1,266 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@import "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +/* ---- Window ---- */ +window { + width: 900px; + x-offset: 0px; + y-offset: 0px; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: #FFFFFF; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + 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: false; + dynamic: false; + 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/configs/dotfiles/hyprland/gulfport/.config/rofi/config-screenshot.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-screenshot.rasi new file mode 100644 index 0000000..d4e70ed --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-screenshot.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 0em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/rofi/config-short.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-short.rasi new file mode 100644 index 0000000..dcb8cd8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-short.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 20em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/rofi/config-themes.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-themes.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config-themes.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/rofi/config.rasi b/configs/dotfiles/hyprland/gulfport/.config/rofi/config.rasi new file mode 100644 index 0000000..50b759b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/rofi/config.rasi @@ -0,0 +1,241 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: " "; + display-run: " "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + height: 35em; + width: 56em; + transparency: "real"; + fullscreen: false; + enabled: true; + cursor: "default"; + spacing: 0em; + padding: 0em; + border: @border-width; + border-color: @color11; + border-radius: @border-radius; + background-color: @background; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: vertical; + children: [ "inputbar" , "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 5em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 0em 0em 1em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: horizontal; + children: [ "listview" , "mode-switcher" ]; + background-color: @background; +} + +listview { + padding: 1.5em; + spacing: 0.5em; + enabled: true; + columns: 2; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color11; + text-color: @foreground; +} + + +// Elements // +element { + enabled: true; + spacing: 0em; + padding: 0.5em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 3em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.1; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +// Error message // +error-message { + text-color: @foreground; + background-color: @background; + text-transform: capitalize; + children: [ "textbox" ]; +} + +textbox { + text-color: inherit; + background-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/set_symlinks.sh b/configs/dotfiles/hyprland/gulfport/.config/set_symlinks.sh new file mode 100644 index 0000000..b6d0df9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/set_symlinks.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# bash <(curl -s https://raw.githubusercontent.com/mylinuxforwork/dotfiles/main/setup-fedora.sh) +hyprconfig=/home/gib/Documents/Configs/hyprland/gulfport/.config +config=/home/gib/Documents/Configs + +rm -f ~/.bashrc +ln -s $config/bashrc ~/.bashrc +rm -rf ~/.config/gtk-3.0 +ln -s $config/gtk-3.0 ~/.config/gtk-3.0 +rm -rf ~/.config/gtk-4.0 +ln -s $config/gtk-4.0 ~/.config/gtk-4.0 +rm -f ~/.Xresources +ln -s $hyprconfig/Xresources ~/.Xresources +rm -rf ~/.config/ags +ln -s $hyprconfig/ags ~/.config/ags +rm -rf ~/.config/dunst +ln -s $hyprconfig/dunst ~/.config/dunst +rm -rf ~/.config/fastfetch +ln -s $hyprconfig/fastfetch ~/.config/fastfetch +rm -rf ~/.config/hypr +ln -s $hyprconfig/hypr ~/.config/hypr +rm -rf ~/.config/ml4w +ln -s $hyprconfig/ml4w ~/.config/ml4w +rm -rf ~/.config/ml4w-hyprland-settings +ln -s $hyprconfig/ml4w-hyprland-settings ~/.config/ml4w-hyprland-settings +rm -rf ~/.config/nwg-dock-hyprland +ln -s $hyprconfig/nwg-dock-hyprland ~/.config/nwg-dock-hyprland +rm -rf ~/.config/ohmyposh +ln -s $hyprconfig/ohmyposh ~/.config/ohmyposh +rm -rf ~/.config/qt6ct +ln -s $hyprconfig/qt6ct ~/.config/qt6ct +rm -rf ~/.config/rofi +ln -s $hyprconfig/rofi ~/.config/rofi +rm -rf ~/.config/wal +ln -s $hyprconfig/wal ~/.config/wal +rm -rf ~/.config/waybar +ln -s $hyprconfig/waybar ~/.config/waybar +rm -rf ~/.config/waypaper +ln -s $hyprconfig/waypaper ~/.config/waypaper +rm -rf ~/.config/wlogout +ln -s $hyprconfig/wlogout ~/.config/wlogout +rm -rf ~/.config/xsettingsd +ln -s $hyprconfig/xsettingsd ~/.config/xsettingsd +chmod -R +x $hyprconfig +chown -R gib $hyprconfig diff --git a/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-hyprland.conf b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-hyprland.conf new file mode 100644 index 0000000..84e2394 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-hyprland.conf @@ -0,0 +1,18 @@ +$background = rgb({background.strip}) +$foreground = rgb({foreground.strip}) +$color0 = rgb({color0.strip}) +$color1 = rgb({color1.strip}) +$color2 = rgb({color2.strip}) +$color3 = rgb({color3.strip}) +$color4 = rgb({color4.strip}) +$color5 = rgb({color5.strip}) +$color6 = rgb({color6.strip}) +$color7 = rgb({color7.strip}) +$color8 = rgb({color8.strip}) +$color9 = rgb({color9.strip}) +$color10 = rgb({color10.strip}) +$color11 = rgb({color11.strip}) +$color12 = rgb({color12.strip}) +$color13 = rgb({color13.strip}) +$color14 = rgb({color14.strip}) +$color15 = rgb({color15.strip}) \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-rofi-pywal.rasi b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-rofi-pywal.rasi new file mode 100644 index 0000000..f0b1665 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-rofi-pywal.rasi @@ -0,0 +1,20 @@ +* {{ + background: rgba(0,0,1,0.5); + foreground: #FFFFFF; + 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/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-waybar.css b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-waybar.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-waybar.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-wlogout.css b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-wlogout.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/wal/templates/colors-wlogout.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/launch.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/launch.sh new file mode 100644 index 0000000..8ae9e4d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/launch.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# ____ _ _ __ __ _ +# / ___|| |_ __ _ _ __| |_ \ \ / /_ _ _ _| |__ __ _ _ __ +# \___ \| __/ _` | '__| __| \ \ /\ / / _` | | | | '_ \ / _` | '__| +# ___) | || (_| | | | |_ \ V V / (_| | |_| | |_) | (_| | | +# |____/ \__\__,_|_| \__| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Quit all running waybar instances +# ----------------------------------------------------- +killall waybar +pkill waybar +sleep 0.5 + +# ----------------------------------------------------- +# Default theme: /THEMEFOLDER;/VARIATION +# ----------------------------------------------------- +themestyle="/ml4w;/ml4w/light" + +# ----------------------------------------------------- +# Get current theme information from ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ -f ~/.config/ml4w/settings/waybar-theme.sh ]; then + themestyle=$(cat ~/.config/ml4w/settings/waybar-theme.sh) +else + touch ~/.config/ml4w/settings/waybar-theme.sh + echo "$themestyle" > ~/.config/ml4w/settings/waybar-theme.sh +fi + +IFS=';' read -ra arrThemes <<< "$themestyle" +echo ":: Theme: ${arrThemes[0]}" + +if [ ! -f ~/.config/waybar/themes${arrThemes[1]}/style.css ]; then + themestyle="/ml4w;/ml4w/light" +fi + +# ----------------------------------------------------- +# Loading the configuration +# ----------------------------------------------------- +config_file="config" +style_file="style.css" + +# Standard files can be overwritten with an existing config-custom or style-custom.css +if [ -f ~/.config/waybar/themes${arrThemes[0]}/config-custom ] ;then + config_file="config-custom" +fi +if [ -f ~/.config/waybar/themes${arrThemes[1]}/style-custom.css ] ;then + style_file="style-custom.css" +fi + +# Check if waybar-disabled file exists +if [ ! -f $HOME/.cache/waybar-disabled ] ;then + waybar -c ~/.config/waybar/themes${arrThemes[0]}/$config_file -s ~/.config/waybar/themes${arrThemes[1]}/$style_file & +fi + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/modules.json b/configs/dotfiles/hyprland/gulfport/.config/waybar/modules.json new file mode 100644 index 0000000..89ca46d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/modules.json @@ -0,0 +1,379 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +{ + // Workspaces + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty", "kitty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Empty + "custom/empty": { + "format": "" + }, + + // Tools + "custom/tools": { + "format": "", + "tooltip-format": "Tools" + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip-format": "Left: Open clipboard Manager\nRight: Delete an entry\nMiddle: Clear list" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "interval": 1800, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "bash -c waypaper &", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip-format": "Left: Select a wallpaper\nRight: Select wallpaper effect" + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip-format": "Select a waybar theme" + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "sleep 0.1 && com.ml4w.dotfilessettings", + "tooltip-format": "ML4W Dotfiles Settings" + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": " ", + "on-click": "~/.config/ml4w/settings/ai.sh", + "tooltip-format": "AI Support" + }, + + // Calculator + "custom/calculator": { + "format": "", + "on-click": "qalculate-gtk", + "tooltip-format": "Open calculator" + }, + + // Windows VM + "custom/windowsvm": { + "format": "", + "on-click": "~/.config/ml4w/scripts/launchvm.sh", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + // START APPS LABEL + "format": "Apps", + // END APPS LABEL + "on-click": "sleep 0.2;pkill rofi || rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Rofi Application Launcher + "custom/appmenuicon": { + "format": "", + "on-click": "sleep 0.2;rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "~/.config/ml4w/scripts/wlogout.sh", + "on-click-right": "hyprlock", + "tooltip-format": "Left: Power menu\nRight: Lock screen" + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "tooltip-format": "Toggle Screen Shader", + "on-click": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh rofi" + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle" + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "gnome-calendar", + "timezone": "", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": ["custom/system", "disk", "cpu", "memory", "hyprland/language"] + }, + + // Group Tools + "group/tools": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/tools", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade" + ] + }, + + // Group Links + "group/links": { + "orientation": "horizontal", + "modules": [ + "custom/chatgpt", + "custom/empty" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": true + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {essid} ({signalStrength}%)", + "format-ethernet": " {ifname}", + "format-disconnected": "Disconnected ⚠", + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}", + "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "~/.config/ml4w/settings/networkmanager.sh", + "on-click-right": "~/.config/ml4w/scripts/nm-applet.sh toggle", + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format": " {status}", + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false + }, + + // backlight: + "backlight": { + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "scroll-step": 1 + } +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ai-icon-20.png b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ai-icon-20.png new file mode 100644 index 0000000..a070dd4 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ai-icon-20.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ai-icon.png b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ai-icon.png new file mode 100644 index 0000000..398379b Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ai-icon.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/hyprland-icon-20.png b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/hyprland-icon-20.png new file mode 100644 index 0000000..0d36ec2 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/hyprland-icon-20.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/hyprland-icon.png b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/hyprland-icon.png new file mode 100644 index 0000000..c87b767 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/hyprland-icon.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-20.png b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-20.png new file mode 100644 index 0000000..df25ccb Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-20.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-black.svg b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-black.svg new file mode 100644 index 0000000..011b817 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-black.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-dark.png b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-dark.png new file mode 100644 index 0000000..73ec085 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-dark.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-white.svg b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-white.svg new file mode 100644 index 0000000..c19407d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon.png b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon.png new file mode 100644 index 0000000..92a54e0 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon.svg b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon.svg new file mode 100644 index 0000000..fa8e063 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/ml4w-icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai-black.svg b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai-black.svg new file mode 100644 index 0000000..3b4eff9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai-black.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai-white.svg b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai-white.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai-white.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai.svg b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/assets/openai.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/config new file mode 100644 index 0000000..b02f10e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/config @@ -0,0 +1,161 @@ +{ + // "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": ["hyprland/workspaces","custom/waybarthemes"], + "modules-center": ["hyprland/window"], + "modules-right": ["custom/ml4w-welcome","mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip": false + }, + // Waybar Themes + "custom/waybarthemes": { + "format": "Themes", + "on-click": "~/.config/ml4w/waybar/themeswitcher.sh", + "tooltip": false + }, + "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 ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/config.sh new file mode 100644 index 0000000..71a3429 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Default Theme" diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/style.css new file mode 100644 index 0000000..cafc802 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/default/style.css @@ -0,0 +1,289 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + 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; +} + +#custom-ml4w-welcome { + margin-right: 15px; + background-image: url("../assets/ml4w-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 20px; + margin-right: 0px; +} + +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; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/black/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/black/config.sh new file mode 100644 index 0000000..cea609a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/black/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/black/style.css new file mode 100644 index 0000000..129c909 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/black/style.css @@ -0,0 +1,29 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh new file mode 100644 index 0000000..7f55337 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/colored/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/colored/style.css new file mode 100644 index 0000000..de0b369 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/config new file mode 100644 index 0000000..ea2b0cb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh new file mode 100644 index 0000000..df6f8c2 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/dark/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/dark/style.css new file mode 100644 index 0000000..54e8317 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/light/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/light/config.sh new file mode 100644 index 0000000..da067d2 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Light" diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/light/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/light/style.css new file mode 100644 index 0000000..5caa16a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh new file mode 100644 index 0000000..dea299a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css new file mode 100644 index 0000000..fe8dbb3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/white/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/white/config.sh new file mode 100644 index 0000000..1592654 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/white/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/white/style.css new file mode 100644 index 0000000..a0ba4a7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur-bottom/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/black/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/black/config.sh new file mode 100644 index 0000000..5c6fb05 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/black/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/black/style.css new file mode 100644 index 0000000..b8a549a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/black/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/colored/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/colored/config.sh new file mode 100644 index 0000000..7338fef --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/colored/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/config new file mode 100644 index 0000000..fcd29ce --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/dark/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/dark/config.sh new file mode 100644 index 0000000..a3b9e88 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/dark/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/dark/style.css new file mode 100644 index 0000000..8470788 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/light/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/light/config.sh new file mode 100644 index 0000000..ca5fe11 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Light" diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/light/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/mixed/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/mixed/config.sh new file mode 100644 index 0000000..eb698ad --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/mixed/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/style.css new file mode 100644 index 0000000..12734d3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/style.css @@ -0,0 +1,478 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left:14px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 8px 15px 8px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 14px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 20px; +} + +#custom-settings { + margin-right:12px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; + opacity: 0.8; +} + +#custom-chatgpt { + margin-right: 12px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 16px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 17px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 8px 16px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; + color: @textcolor3; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/white/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/white/config.sh new file mode 100644 index 0000000..e458b19 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/white/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/white/style.css new file mode 100644 index 0000000..f50cb7e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-blur/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/black/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/black/config.sh new file mode 100644 index 0000000..5837eb6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/black/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/black/style.css new file mode 100644 index 0000000..6bae0cd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/colored/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/colored/config.sh new file mode 100644 index 0000000..0a31bac --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/colored/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/colored/style.css new file mode 100644 index 0000000..53bf65c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/config new file mode 100644 index 0000000..8e55c1b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 14, + "layer": "top", + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/dark/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/dark/config.sh new file mode 100644 index 0000000..a6fe8ff --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/dark/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/dark/style.css new file mode 100644 index 0000000..2179f76 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/light/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/light/config.sh new file mode 100644 index 0000000..e016502 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/light/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/light/style.css new file mode 100644 index 0000000..833b8c4 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/mixed/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/mixed/config.sh new file mode 100644 index 0000000..e5bc67e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/mixed/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/mixed/style.css new file mode 100644 index 0000000..f3ee832 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/white/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/white/config.sh new file mode 100644 index 0000000..71dd9f5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/white/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/white/style.css new file mode 100644 index 0000000..704bfbd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-bottom/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/config new file mode 100644 index 0000000..4614d63 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/config @@ -0,0 +1,88 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": [" ", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Modules Left + "modules-left": [ +"custom/appmenuicon", + "hyprland/workspaces", + "group/links", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", + "custom/exit", + "clock", +"tray", + "custom/ml4w-welcome" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/config.sh new file mode 100644 index 0000000..eac2047 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Minimal" diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/style.css new file mode 100644 index 0000000..be884b6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-minimal/style.css @@ -0,0 +1,431 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.4); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left: 10px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + + #workspaces { + margin: 3px 7px 3px 3px; + border: 0px; + font-size: 14px; + color: @textcolor1; +} + +#workspaces button { + border: 0px; + margin:4px 5px 4px 0px; + padding:0px 4px 0px 4px; + color: @textcolor3; + transition: all 0.5s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 0px 15px 0px 0px; + border-radius: 12px; + color:@textcolor; + font-size:14px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 14px; + font-weight: bold; + color: @iconcolor; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-settings { + margin-right: 15px; +} + +#custom-browser { + margin-right: 12px; +} + +#custom-wallpaper { + margin-right: 14px; +} + +#custom-chatgpt { + margin-right: 10px; + background-image: url("../assets/ai-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 23px; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-ml4w-hyprland-settings { + margin-right: 12px; + background-image: url("../assets/hyprland-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 16px; +} + + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 16px; + font-weight: bold; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 14px; + font-weight: bold; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenuicon { + font-size: 20px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:16px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#custom-updates.green { +} + +#custom-updates.yellow { + color: #ff9a3c; +} + +#custom-updates.red { + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Youtube + * ----------------------------------------------------- */ + +#custom-youtube { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:14px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + font-size: 15px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; + background-color: transparent; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + + #pulseaudio { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#pulseaudio.muted { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#network.ethernet { + color: @textcolor; +} + +#network.wifi { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/black/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/black/config.sh new file mode 100644 index 0000000..63c42a1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/black/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/colored/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/colored/config.sh new file mode 100644 index 0000000..61e80a5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/colored/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/config new file mode 100644 index 0000000..f570e02 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 14, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "hyprland/workspaces", + "group/links", +//"wlr/taskbar", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/dark/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/dark/config.sh new file mode 100644 index 0000000..e6f8d5b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/dark/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/light/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/light/config.sh new file mode 100644 index 0000000..0c6cdb1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Light" diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/light/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/mixed/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/mixed/config.sh new file mode 100644 index 0000000..46f3eb5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/mixed/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/style.css new file mode 100644 index 0000000..12943e1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/style.css @@ -0,0 +1,470 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + + * { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 18px 3px 1px; + padding: 0px 2px; + border-radius: 5px 5px 5px 5px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 6px; + margin: 3px 2px; + border-radius: 3px 3px 3px 3px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.1s linear; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 3px 3px 3px 3px; + min-width: 30px; + transition: all 0.1s linear; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 5px 5px 5px 5px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 3px 15px 3px 0px; + padding: 2px 10px 0px 10px; + border-radius: 5px 5px 5px 5px; + color:white; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 5px 5px 5px 5px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 5px 5px 5px 5px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 5px 5px 5px 5px; + padding: 0px 10px 0px 10px; + margin: 2px 17px 2px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 3px 5px 3px 5px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 15px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/white/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/white/config.sh new file mode 100644 index 0000000..efe0528 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/white/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w-modern/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/black/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/black/config.sh new file mode 100644 index 0000000..39e19cb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/black/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/colored/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/colored/config.sh new file mode 100644 index 0000000..25dbee7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/colored/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/config new file mode 100644 index 0000000..ae1c2b8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/config @@ -0,0 +1,55 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 4, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ + "hyprland/workspaces", + //"custom/appmenu", + //"group/links", + //"wlr/taskbar", + //"group/quicklinks", + "hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "clock" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", + //"backlight", + "bluetooth", + "battery", + "network", + "group/hardware", + "group/tools", + "tray", + "custom/exit", + ] +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/dark/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/dark/config.sh new file mode 100644 index 0000000..6c2cf9f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/dark/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/light/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/light/config.sh new file mode 100644 index 0000000..55e4ffd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light" diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/light/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/mixed/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/mixed/config.sh new file mode 100644 index 0000000..c00e231 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/mixed/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/style.css new file mode 100644 index 0000000..68a179c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/style.css @@ -0,0 +1,471 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 1px 3px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 5px 15px 5px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 3px 17px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/white/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/white/config.sh new file mode 100644 index 0000000..685088f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/white/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/ml4w/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/config b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/config new file mode 100644 index 0000000..6084f60 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/config @@ -0,0 +1,66 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + + // Position TOP + "layer": "top", + "margin-bottom": 0, + + // Position BOTTOM + // "position": "bottom", + // "margin-top": 0, + // "margin-bottom": 14, + + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/themes/starter/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "custom/settings", + //"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/starter" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/config.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/config.sh new file mode 100644 index 0000000..a9399f6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Starter" diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/modules.json b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/modules.json new file mode 100644 index 0000000..51e0add --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/modules.json @@ -0,0 +1,351 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // Workspaces + "hyprland/workspaces" : { + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip": false + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "on-click": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh rofi", + "tooltip": false + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle", + "on-click-right": "hyprlock" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "tooltip-format": "{}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "alacritty -e ~/.config/ml4w/scripts/installupdates.sh", + "tooltip": false + }, + + // Theme Starter Label + "custom/starter": { + "format": "THEME STARTER", + "tooltip": false + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "waypaper", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip": false + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip": false + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage", + "tooltip": false + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Filemanager Launcher + "custom/filemanager": { + "format": "", + "on-click": "nautilus", + "tooltip": false + }, + + // Browser Launcher + "custom/browser": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip": false + }, + + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip-format": "Open Sidebar" + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": "", + "on-click": "chromium --app=https://chat.openai.com", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + "format": "Apps", + "on-click": "rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "wlogout", + "tooltip": false + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags -t calendar", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "alacritty -e htop" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "alacritty -e htop" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "alacritty -e htop" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/system", + "disk", + "cpu", + "memory", + "hyprland/language" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Group Quicklinks + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/filemanager", + "custom/browser" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {signalStrength}%", + "format-ethernet": " {ipaddr}", + "format-disconnected": "Not connected", //An empty format will hide the module. + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {essid} ({signalStrength}%)", + "tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "alacritty -e nmtui" + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false, + }, + + // Idle Inhibator + "idle_inhibitor": { + "format": "{icon}", + "tooltip": true, + "format-icons":{ + "activated": "", + "deactivated": "" + }, + "on-click-right": "hyprlock" + } +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/style.css b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/style.css new file mode 100644 index 0000000..21fdcfa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themes/starter/style.css @@ -0,0 +1,457 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor3; + transition: all 0.3s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 10px 15px 10px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 23px; + font-size: 20px; + font-weight: bold; + color: @iconcolor; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 24px; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 10px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +/* ----------------------------------------------------- + * Other + * ----------------------------------------------------- */ + +label:focus { + background-color: #000000; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/themeswitcher.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/themeswitcher.sh new file mode 100644 index 0000000..f3e4734 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/themeswitcher.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _ _ +# |_ _| |__ ___ _ __ ___ ___ _____ _(_) |_ ___| |__ ___ _ __ +# | | | '_ \ / _ \ '_ ` _ \ / _ \/ __\ \ /\ / / | __/ __| '_ \ / _ \ '__| +# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ | +# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Default theme folder +# ----------------------------------------------------- +themes_path="$HOME/.config/waybar/themes" + +# ----------------------------------------------------- +# Initialize arrays +# ----------------------------------------------------- +listThemes="" +listNames="" +listNames2="" + +# ----------------------------------------------------- +# Read theme folder +# ----------------------------------------------------- +sleep 0.2 +options=$(find $themes_path -maxdepth 2 -type d) +for value in $options +do + if [ ! $value == "$HOME/.config/waybar/themes/assets" ]; then + if [ ! $value == "$themes_path" ]; then + if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then + result=$(echo $value | sed "s#$HOME/.config/waybar/themes/#/#g") + IFS='/' read -ra arrThemes <<< "$result" + listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result" + if [ -f $themes_path$result/config.sh ]; then + source $themes_path$result/config.sh + listNames+="$theme_name\n" + listNames2+="$theme_name~" + else + listNames+="/${arrThemes[1]};$result\n" + listNames2+="/${arrThemes[1]};$result~" + fi + fi + fi + fi +done + +# ----------------------------------------------------- +# Show rofi dialog +# ----------------------------------------------------- +listNames=${listNames::-2} +choice=$(echo -e "$listNames" | rofi -dmenu -replace -i -config ~/.config/rofi/config-themes.rasi -no-show-icons -width 30 -p "Themes" -format i) +IFS="~" +input=$listNames2 +read -ra array <<< "$input" + +# ----------------------------------------------------- +# Set new theme by writing the theme information to ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ "$choice" ]; then + echo "Loading waybar theme..." + echo "${listThemes[$choice+1]}" > ~/.config/ml4w/settings/waybar-theme.sh + ~/.config/waybar/launch.sh + notify-send "Waybar Theme changed" "to ${array[$choice]}" +fi diff --git a/configs/dotfiles/hyprland/gulfport/.config/waybar/toggle.sh b/configs/dotfiles/hyprland/gulfport/.config/waybar/toggle.sh new file mode 100644 index 0000000..0d49a4e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waybar/toggle.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# _____ _ __ __ _ +# |_ _|__ __ _ __ _| | ___ \ \ / /_ _ _ _| |__ __ _ _ __ +# | |/ _ \ / _` |/ _` | |/ _ \ \ \ /\ / / _` | | | | '_ \ / _` | '__| +# | | (_) | (_| | (_| | | __/ \ V V / (_| | |_| | |_) | (_| | | +# |_|\___/ \__, |\__, |_|\___| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ |___/ |___/ +# + +if [ -f ~/.cache/waybar-disabled ] ;then + rm ~/.cache/waybar-disabled +else + touch ~/.cache/waybar-disabled +fi +~/.config/waybar/launch.sh & diff --git a/configs/dotfiles/hyprland/gulfport/.config/waypaper/config.ini b/configs/dotfiles/hyprland/gulfport/.config/waypaper/config.ini new file mode 100644 index 0000000..dad64fb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/waypaper/config.ini @@ -0,0 +1,22 @@ +[Settings] +language = en +folder = ~/Pictures/Wallpapers +wallpaper = ~/Pictures/Wallpapers/ogbackground.png +backend = hyprpaper +monitors = All +fill = fill +sort = name +color = #ffffff +subfolders = False +show_hidden = False +show_gifs_only = False +post_command = ~/.config/hypr/scripts/wallpaper.sh "$wallpaper" +number_of_columns = 3 +swww_transition_type = any +swww_transition_step = 90 +swww_transition_angle = 0 +swww_transition_duration = 2 +swww_transition_fps = 60 +use_xdg_state = False +show_transition_options = True + diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/README.txt b/configs/dotfiles/hyprland/gulfport/.config/wlogout/README.txt new file mode 100644 index 0000000..4ceecd7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/wlogout/README.txt @@ -0,0 +1,8 @@ +Select Logout Command depending on your setup: + +Use for Display Manager e.g., sddm (DEFAULT) +sleep 1; hyprctl dispatch exit + +Use for Arch Linux text based login +sleep 1; loginctl terminate-user $USER + diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/hibernate.png b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/hibernate.png new file mode 100644 index 0000000..bf2b001 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/hibernate.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/lock.png b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/lock.png new file mode 100644 index 0000000..da59b10 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/lock.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/logout.png b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/logout.png new file mode 100644 index 0000000..8a25922 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/logout.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/reboot.png b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000..e5fd221 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/reboot.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/shutdown.png b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000..663ca03 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/shutdown.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/suspend.png b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/suspend.png new file mode 100644 index 0000000..af099b9 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/wlogout/icons/suspend.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/layout b/configs/dotfiles/hyprland/gulfport/.config/wlogout/layout new file mode 100644 index 0000000..0dfb38a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/wlogout/layout @@ -0,0 +1,30 @@ +{ + "label" : "lock", + "action" : "~/.config/hypr/scripts/power.sh lock", + "text" : "Lock", + "keybind" : "l" +} +{ + "label" : "logout", + "action" : "~/.config/hypr/scripts/power.sh exit", + "text" : "Log Out", + "keybind" : "e" +} +{ + "label" : "suspend", + "action" : "~/.config/hypr/scripts/power.sh suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "~/.config/hypr/scripts/power.sh reboot", + "text" : "Restart", + "keybind" : "r" +} +{ + "label" : "shutdown", + "action" : "~/.config/hypr/scripts/power.sh shutdown", + "text" : "Power Off", + "keybind" : "s" +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/noise.png b/configs/dotfiles/hyprland/gulfport/.config/wlogout/noise.png new file mode 100644 index 0000000..028b188 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport/.config/wlogout/noise.png differ diff --git a/configs/dotfiles/hyprland/gulfport/.config/wlogout/style.css b/configs/dotfiles/hyprland/gulfport/.config/wlogout/style.css new file mode 100644 index 0000000..f533d11 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/wlogout/style.css @@ -0,0 +1,107 @@ +/* + _ _ +__ _| | ___ __ _ ___ _ _| |_ +\ \ /\ / / |/ _ \ / _` |/ _ \| | | | __| + \ V V /| | (_) | (_| | (_) | |_| | |_ + \_/\_/ |_|\___/ \__, |\___/ \__,_|\__| + |___/ + +by Stephan Raabe (2023) +----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../.cache/wal/colors-wlogout.css'; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + background-image: none; + transition: 20ms; + box-shadow: none; +} + +window { + background: url("../ml4w/cache/blurred_wallpaper.png"); + background-size: cover; + font-size: 16pt; + color: #cdd6f4; +} + +button { + background-repeat: no-repeat; + background-position: center; + background-size: 20%; + background-color: rgba(200, 220, 255, 0); + animation: gradient_f 20s ease-in infinite; + border-radius: 80px; /* Increased border radius for a more rounded look */ + border:0px; + transition: all 0.3s cubic-bezier(.55, 0.0, .28, 1.682), box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; +} + +button:focus { + background-size: 22%; + border: 0px; +} + +button:hover { + background-color: @color11; + opacity: 0.8; + color: #cdd6f4; + background-size: 30%; + margin: 30px; + border-radius: 80px; + box-shadow: 0 0 50px @color7; +} + +/* Adjust the size of the icon or content inside the button */ +button span { + font-size: 1.2em; /* Increase the font size */ +} + +/* +----------------------------------------------------- +Buttons +----------------------------------------------------- +*/ + +#lock { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/lock.png")); +} + +#logout { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/logout.png")); +} + +#suspend { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/reboot.png")); +} diff --git a/configs/dotfiles/hyprland/gulfport/.config/xsettingsd/xsettingsd.conf b/configs/dotfiles/hyprland/gulfport/.config/xsettingsd/xsettingsd.conf new file mode 100644 index 0000000..7999a54 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,9 @@ +Net/ThemeName "adw-gtk3-dark" +Net/IconThemeName "Adwaita" +Gtk/CursorThemeName "Bibata-Modern-Ice" +Net/EnableEventSounds 1 +EnableInputFeedbackSounds 0 +Xft/Antialias 1 +Xft/Hinting 1 +Xft/HintStyle "hintslight" +Xft/RGBA "rgb" diff --git a/configs/dotfiles/hyprland/gulfport_default/.Xresources b/configs/dotfiles/hyprland/gulfport_default/.Xresources new file mode 100644 index 0000000..6a1c856 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.Xresources @@ -0,0 +1 @@ +Xcursor.theme: Bibata-Modern-Ice diff --git a/configs/dotfiles/hyprland/gulfport_default/.bashrc b/configs/dotfiles/hyprland/gulfport_default/.bashrc new file mode 100644 index 0000000..15d3060 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.bashrc @@ -0,0 +1,37 @@ +# _ _ +# | |__ __ _ ___| |__ _ __ ___ +# | '_ \ / _` / __| '_ \| '__/ __| +# _| |_) | (_| \__ \ | | | | | (__ +# (_)_.__/ \__,_|___/_| |_|_| \___| +# +# ----------------------------------------------------- +# ML4W bashrc loader +# ----------------------------------------------------- + +# DON'T CHANGE THIS FILE + +# You can define your custom configuration by adding +# files in ~/.config/bashrc +# or by creating a folder ~/.config/bashrc/custom +# with copies of files from ~/.config/bashrc +# You can also create a .bashrc_custom file in your home directory +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Load modular configarion +# ----------------------------------------------------- + +for f in ~/.config/bashrc/*; do + if [ ! -d $f ] ;then + c=`echo $f | sed -e "s=.config/bashrc=.config/bashrc/custom="` + [[ -f $c ]] && source $c || source $f + fi +done + +# ----------------------------------------------------- +# Load single customization file (if exists) +# ----------------------------------------------------- + +if [ -f ~/.bashrc_custom ] ;then + source ~/.bashrc_custom +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/app.ts b/configs/dotfiles/hyprland/gulfport_default/.config/ags/app.ts new file mode 100644 index 0000000..26c6a1d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/app.ts @@ -0,0 +1,11 @@ +import { App, Widget } from "astal/gtk3" +import Calendar from "./widget/Calendar" +import Sidebar from "./widget/Sidebar" + +App.start({ + css: "./style.css", + main() { + Sidebar(); + Calendar(); + } +}) diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/application-exit-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/application-exit-symbolic.svg new file mode 100644 index 0000000..66e44f1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/application-exit-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg new file mode 100644 index 0000000..b1ce05f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/fileview-preview-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/fileview-preview-symbolic.svg new file mode 100644 index 0000000..167090d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/fileview-preview-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/image-loading-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/image-loading-symbolic.svg new file mode 100644 index 0000000..b445ad1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/image-loading-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/media-playback-paused-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/media-playback-paused-symbolic.svg new file mode 100644 index 0000000..16d5de7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/media-playback-paused-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/padlock2-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/padlock2-symbolic.svg new file mode 100644 index 0000000..0d51118 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/padlock2-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg new file mode 100644 index 0000000..541721c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/turn-off-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/turn-off-symbolic.svg new file mode 100644 index 0000000..db109c8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/turn-off-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg new file mode 100644 index 0000000..4536935 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-dotfiles-settings.png b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-dotfiles-settings.png new file mode 100644 index 0000000..938b6f7 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-dotfiles-settings.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-hyprland-settings.png b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-hyprland-settings.png new file mode 100644 index 0000000..c7e8e29 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-hyprland-settings.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-welcome.png b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-welcome.png new file mode 100644 index 0000000..7d4efe7 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/ags/assets/ml4w-welcome.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/env.d.ts b/configs/dotfiles/hyprland/gulfport_default/.config/ags/env.d.ts new file mode 100644 index 0000000..4e7e508 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/env.d.ts @@ -0,0 +1,21 @@ +const SRC: string + +declare module "inline:*" { + const content: string + export default content +} + +declare module "*.scss" { + const content: string + export default content +} + +declare module "*.blp" { + const content: string + export default content +} + +declare module "*.css" { + const content: string + export default content +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/scripts/run_themeswitcher.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ags/scripts/run_themeswitcher.sh new file mode 100644 index 0000000..7c20589 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/scripts/run_themeswitcher.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/waybar/themeswitcher.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/scripts/run_wallpapereffects.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ags/scripts/run_wallpapereffects.sh new file mode 100644 index 0000000..78dcaaf --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/scripts/run_wallpapereffects.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/hypr/scripts/wallpaper-effects.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/ags/style.css new file mode 100644 index 0000000..6cf06e8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/style.css @@ -0,0 +1,211 @@ +@import url('../../.cache/wal/colors-waybar.css'); + +* { + all:unset; + font-size: 14px; + font-family: "Fira Sans", sans-serif; + font-weight: normal; +} + +.calendar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; + min-width:320px; +} + +calendar:selected { + background-color:@color11; + padding:0px; +} + +.sidebar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; +} + +.group { + padding:16px; + background-color: rgba(116, 116, 116, 0.1); + border-radius: 20px; +} + +.ml4wwelcomeicon { + background:url("assets/ml4w-welcome.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4wsettingsicon { + background:url("assets/ml4w-dotfiles-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4whyprlandicon { + background:url("assets/ml4w-hyprland-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.btnbar { + border: 1px solid #222222; + padding:5px; + min-height:24px; + border-radius: 24px; + min-width: 24px; + margin:0px 2px 0px 2px; +} + +.btnbar.statusbar { + background:url("assets/icons/image-loading-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpaper { + background:url("assets/icons/fileview-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpapereffects { + background:url("assets/icons/xapp-prefs-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.lock { + background:url("assets/icons/padlock2-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.logout { + background:url("assets/icons/application-exit-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.restart { + background:url("assets/icons/arrow-circular-top-right-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.suspend { + background:url("assets/icons/media-playback-paused-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.exit { + background:url("assets/icons/turn-off-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.midbtn { + background-color: @color11; + font-size: 12px; + padding:10px; + border-radius: 20px; +} + +.AudioSlider { + background-color:@color11; + border-radius:12px; + margin-bottom:10px; +} + +.AudioSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider value { + min-height: 20px; + background-color: #222222; +} + +.AudioSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.AudioSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider { + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider value { + min-height: 20px; + background-color: #222222; +} + +.MicrophoneSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.MicrophoneSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/tsconfig.json b/configs/dotfiles/hyprland/gulfport_default/.config/ags/tsconfig.json new file mode 100644 index 0000000..b239e15 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/tsconfig.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "experimentalDecorators": true, + "strict": true, + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "Bundler", + // "checkJs": true, + // "allowJs": true, + "jsx": "react-jsx", + "jsxImportSource": "/usr/share/astal/gjs/gtk3", + "paths": { + "astal": [ + "/usr/share/astal/gjs" + ], + "astal/*": [ + "/usr/share/astal/gjs/*" + ] + }, + } +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Bar.tsx b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Bar.tsx new file mode 100644 index 0000000..ed1d845 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Bar.tsx @@ -0,0 +1,29 @@ +import { App, Astal, Gtk, Gdk } from "astal/gtk3" +import { Variable } from "astal" + +const time = Variable("").poll(1000, "date") + +export default function Bar(gdkmonitor: Gdk.Monitor) { + return + + + + + + +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Brightness.tsx b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Brightness.tsx new file mode 100644 index 0000000..86214f9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Brightness.tsx @@ -0,0 +1,72 @@ +// Thanks to https://gitlab.com/filippoaceto/ +import GObject, { register, property } from "astal/gobject" +import { monitorFile, readFileAsync } from "astal/file" +import { exec, execAsync } from "astal/process" + +const get = (args: string) => Number(exec(`brightnessctl ${args}`)) +const screen = exec(`bash -c "ls -w1 /sys/class/backlight | head -1"`) +const kbd = exec(`bash -c "ls -w1 /sys/class/leds | head -1"`) + +@register({ GTypeName: "Brightness" }) +export default class Brightness extends GObject.Object { + static instance: Brightness + static get_default() { + if (!this.instance) + this.instance = new Brightness() + + return this.instance + } + + #kbdMax = get(`--device ${kbd} max`) + #kbd = get(`--device ${kbd} get`) + #screenMax = get("max") + #screen = get("get") / (get("max") || 1) + + @property(Number) + get kbd() { return this.#kbd } + + set kbd(value) { + if (value < 0 || value > this.#kbdMax) + return + execAsync(`brightnessctl -d ${kbd} s ${value} -q`).then(() => { + this.#kbd = value + this.notify("kbd") + }) + } + + @property(Number) + get screen() { return this.#screen } + + set screen(percent) { + if (percent < 0) + percent = 0 + + if (percent > 1) + percent = 1 + + if (Math.floor(percent * 100) > 1) + execAsync(`brightnessctl set ${Math.floor(percent * 100)}% -q`).then(() => { + this.#screen = percent + this.notify("screen") + }) + } + + constructor() { + super() + + const screenPath = `/sys/class/backlight/${screen}/brightness` + const kbdPath = `/sys/class/leds/${kbd}/brightness` + + monitorFile(screenPath, async f => { + const v = await readFileAsync(f) + this.#screen = Number(v) / this.#screenMax + this.notify("screen") + }) + + monitorFile(kbdPath, async f => { + const v = await readFileAsync(f) + this.#kbd = Number(v) / this.#kbdMax + this.notify("kbd") + }) + } +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Calendar.tsx b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Calendar.tsx new file mode 100644 index 0000000..263a77e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Calendar.tsx @@ -0,0 +1,42 @@ +import { GObject } from "astal"; +import { astalify, ConstructProps, App, Astal, Gdk, Gtk } from "astal/gtk3" + +class CalendarGtk extends astalify(Gtk.Calendar) { + static { + GObject.registerClass(this); + } + + constructor( + props: ConstructProps, + ) { + super(props as any); + } +} + +export default function Calendar() { + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + {new CalendarGtk({ + hexpand: true, + vexpand: true, + showDayNames: true, + showDetails: false, + showHeading: true, + showWeekNumbers: true + })} + +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Sidebar.tsx b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Sidebar.tsx new file mode 100644 index 0000000..d2672ba --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ags/widget/Sidebar.tsx @@ -0,0 +1,167 @@ +import { App } from "astal/gtk3" +import Apps from "gi://AstalApps" +import Wp from "gi://AstalWp" +import { Variable, GLib, bind } from "astal" +import { subprocess, exec, execAsync } from "astal/process" +import { Astal, Gtk, Gdk } from "astal/gtk3" +import Brightness from "./Brightness" + +function BrightnessSlider() { + const brightness = Brightness.get_default() + + return + brightness.screen = value} + /> + +} + +function AudioSlider() { + const speaker = Wp.get_default()?.audio.defaultSpeaker! + + return + speaker.volume = value} + value={bind(speaker, "volume")} + /> + +} + +function MicrophoneSlider() { + const microphone = Wp.get_default()?.audio.defaultMicrophone! + + return + microphone.volume = value} + value={bind(microphone, "volume")} + /> + +} + +function openwelcomeapp() { + execAsync("com.ml4w.welcome") + App.get_window("sidebar")!.hide() +} + +function opensettingsapp() { + execAsync("com.ml4w.dotfilessettings") + App.get_window("sidebar")!.hide() +} + +function openhyprlandapp() { + execAsync("com.ml4w.hyprland.settings") + App.get_window("sidebar")!.hide() +} + +function openwallpaper() { + const proc = subprocess(["bash", "-c", "waypaper"]) + App.get_window("sidebar")!.hide() +} + +function openwallpapereffects() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/wallpaper-effects.sh"]) + App.get_window("sidebar")!.hide() +} + +function openwaybarthemes() { + const proc = subprocess(["bash", "-c", "$HOME/.config/waybar/themeswitcher.sh"]) + App.get_window("sidebar")!.hide() +} + +function powerlock() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh lock"]) + App.get_window("sidebar")!.hide() +} + +function powerlogout() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh exit"]) + App.get_window("sidebar")!.hide() +} + +function powersuspend() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh suspend"]) + App.get_window("sidebar")!.hide() +} + +function powerrestart() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh reboot"]) + App.get_window("sidebar")!.hide() +} + +function powerexit() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh shutdown"]) + App.get_window("sidebar")!.hide() +} + +export default function Sidebar() { + + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/00-init b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/00-init new file mode 100644 index 0000000..debda77 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/00-init @@ -0,0 +1,9 @@ +# ----------------------------------------------------- +# INIT +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Exports +# ----------------------------------------------------- +export EDITOR=nvim +export PATH="/usr/lib/ccache/bin/:$PATH" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/10-aliases b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/10-aliases new file mode 100644 index 0000000..5956d08 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/10-aliases @@ -0,0 +1,71 @@ +# ----------------------------------------------------- +# ALIASES +# ----------------------------------------------------- + +# ----------------------------------------------------- +# General +# ----------------------------------------------------- +alias c='clear' +alias nf='fastfetch' +alias pf='fastfetch' +alias ff='fastfetch' +alias ls='eza -a --icons=always' +alias ll='eza -al --icons=always' +alias lt='eza -a --tree --level=1 --icons=always' +alias shutdown='systemctl poweroff' +alias v='$EDITOR' +alias vim='$EDITOR' +alias ts='~/.config/ml4w/scripts/snapshot.sh' +alias wifi='nmtui' +alias cleanup='~/.config/ml4w/scripts/cleanup.sh' + +# ----------------------------------------------------- +# ML4W Apps +# ----------------------------------------------------- +alias ml4w='com.ml4w.welcome' +alias ml4w-settings='com.ml4w.dotfilessettings' +alias ml4w-hyprland='com.ml4w.hyprland.settings' +alias ml4w-options='ml4w-hyprland-setup -m options' +alias ml4w-sidebar='ags toggle sidebar' +alias ml4w-diagnosis='~/.config/hypr/scripts/diagnosis.sh' +alias ml4w-hyprland-diagnosis='~/.config/hypr/scripts/diagnosis.sh' +alias ml4w-qtile-diagnosis='~/.config/ml4w/qtile/scripts/diagnosis.sh' +alias ml4w-update='~/.config/ml4w/update.sh' + +# ----------------------------------------------------- +# Window Managers +# ----------------------------------------------------- + +alias Qtile='startx' +# Hyprland with Hyprland + +# ----------------------------------------------------- +# Git +# ----------------------------------------------------- +alias gs="git status" +alias ga="git add" +alias gc="git commit -m" +alias gp="git push" +alias gpl="git pull" +alias gst="git stash" +alias gsp="git stash; git pull" +alias gfo="git fetch origin" +alias gcheck="git checkout" +alias gcredential="git config credential.helper store" + +# ----------------------------------------------------- +# Scripts +# ----------------------------------------------------- +alias ascii='~/.config/ml4w/scripts/figlet.sh' + +# ----------------------------------------------------- +# System +# ----------------------------------------------------- +alias update-grub='sudo grub-mkconfig -o /boot/grub/grub.cfg' + +# ----------------------------------------------------- +# Qtile +# ----------------------------------------------------- +alias res1='xrandr --output DisplayPort-0 --mode 2560x1440 --rate 120' +alias res2='xrandr --output DisplayPort-0 --mode 1920x1080 --rate 120' +alias setkb='setxkbmap de;echo "Keyboard set back to de."' diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/20-customization b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/20-customization new file mode 100644 index 0000000..af136aa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/20-customization @@ -0,0 +1,15 @@ +# ----------------------------------------------------- +# CUSTOMIZATION +# ----------------------------------------------------- +POSH=agnoster + +# ----------------------------------------------------- +# Prompt +# ----------------------------------------------------- +# eval "$(oh-my-posh init bash --config $HOME/.config/ohmyposh/zen.toml)" +eval "$(oh-my-posh init bash --config $HOME/.config/ohmyposh/EDM115-newline.omp.json)" + +# ----------------------------------------------------- +# Pywal +# ----------------------------------------------------- +cat ~/.cache/wal/sequences diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/30-autostart b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/30-autostart new file mode 100644 index 0000000..cf5909d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/bashrc/30-autostart @@ -0,0 +1,18 @@ +# ----------------------------------------------------- +# AUTOSTART +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Fastfetch +# ----------------------------------------------------- +if [[ $(tty) == *"pts"* ]]; then + fastfetch --config examples/13 +else + echo + if [ -f /bin/qtile ]; then + echo "Start Qtile X11 with command Qtile" + fi + if [ -f /bin/hyprctl ]; then + echo "Start Hyprland with command Hyprland" + fi +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/dunst/dunstrc b/configs/dotfiles/hyprland/gulfport_default/.config/dunst/dunstrc new file mode 100644 index 0000000..ed3be7e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/dunst/dunstrc @@ -0,0 +1,469 @@ +# _ _ +# __| |_ _ _ __ ___| |_ +# / _` | | | | '_ \/ __| __| +# | (_| | |_| | | | \__ \ |_ +# \__,_|\__,_|_| |_|___/\__| +# +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = (0,300) + + # Position the notification in the top right corner + origin = top-center + + # Offset from the origin + offset = 30x30 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 10 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 30 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 1 + + # Defines color of the frame around the notification window. + frame_color = "#ffffff" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 0 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = "Fira Sans Semibold" 9 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 1 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = "Papirus-Dark,Adwaita" + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only neccesary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 10 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#000000CC" + foreground = "#888888" + timeout = 6 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#000000CC" + foreground = "#ffffff" + timeout = 6 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#900000CC" + foreground = "#ffffff" + frame_color = "#ffffff" + timeout = 6 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/fastfetch/config.jsonc b/configs/dotfiles/hyprland/gulfport_default/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..658682c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/fastfetch/config.jsonc @@ -0,0 +1,104 @@ +// Thanks to Bina +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 2 + } + }, + "display": { + "separator": " ➜ " + }, + "modules": [ + "break", + "break", + "break", + { + "type": "os", + "key": "OS ", + "keyColor": "31", // = color1 + }, + { + "type": "kernel", + "key": " ├  ", + "keyColor": "31", + }, + { + "type": "shell", + "key": " └  ", + "keyColor": "31", + }, + "break", + { + "type": "wm", + "key": "WM ", + "keyColor": "32", + }, + { + "type": "wmtheme", + "key": " ├ 󰉼 ", + "keyColor": "32", + }, + { + "type": "icons", + "key": " ├ 󰀻 ", + "keyColor": "32", + }, + { + "type": "cursor", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminal", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminalfont", + "key": " └  ", + "keyColor": "32", + }, + "break", + { + "type": "host", + "format": "{5} {1} Type {2}", + "key": "PC ", + "keyColor": "33", + }, + { + "type": "cpu", + "format": "{1} ({3}) @ {7} GHz", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "gpu", + "format": "{1} {2} @ {12} GHz", + "key": " ├ 󰢮 ", + "keyColor": "33", + }, + { + "type": "memory", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "swap", + "key": " ├ 󰓡 ", + "keyColor": "33", + }, + { + "type": "disk", + "key": " ├ 󰋊 ", + "keyColor": "33", + }, + { + "type": "monitor", + "key": " └  ", + "keyColor": "33", + }, + "break", + "break", + ] +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/gtk-3.0/bookmarks b/configs/dotfiles/hyprland/gulfport_default/.config/gtk-3.0/bookmarks new file mode 100644 index 0000000..3ecb1cf --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/gtk-3.0/bookmarks @@ -0,0 +1,5 @@ +file:///home/gib/Documents +file:///home/gib/Music +file:///home/gib/Pictures +file:///home/gib/Videos +file:///home/gib/Downloads diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/gtk-3.0/settings.ini b/configs/dotfiles/hyprland/gulfport_default/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..1a5a2b7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/gtk-3.0/settings.ini @@ -0,0 +1,17 @@ +[Settings] +gtk-theme-name=Adwaita +gtk-icon-theme-name=Papirus +gtk-font-name=Cantarell 11 +gtk-cursor-theme-name=Bibata-Modern-Ice +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb +gtk-application-prefer-dark-theme=0 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/gtk-4.0/settings.ini b/configs/dotfiles/hyprland/gulfport_default/.config/gtk-4.0/settings.ini new file mode 100644 index 0000000..7c6461a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/gtk-4.0/settings.ini @@ -0,0 +1,2 @@ +[Settings] +gtk-application-prefer-dark-theme=0 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animation.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animation.conf new file mode 100644 index 0000000..a210389 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animation.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/animations/default.conf diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-classic.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-classic.conf new file mode 100644 index 0000000..11ce3c9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-classic.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# Animations +# name "Classic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-dynamic.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-dynamic.conf new file mode 100644 index 0000000..3e88cd9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-dynamic.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name "Dynamic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-fast.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-fast.conf new file mode 100644 index 0000000..a74f411 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-fast.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# Animations +# name "Fast" +# ----------------------------------------------------- +animations { + enabled = true + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = fluent_decel, 0.1, 1, 0, 1 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + animation = windows, 1, 3, md3_decel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 2.5, md3_decel + animation = workspaces, 1, 3.5, easeOutExpo, slide + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-high.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-high.conf new file mode 100644 index 0000000..2fc765f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-high.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name: "High" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-moving.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-moving.conf new file mode 100644 index 0000000..7c43e04 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/animations-moving.conf @@ -0,0 +1,18 @@ +# ----------------------------------------------------- +# Animations +# name "Moving" +# ----------------------------------------------------- +animations { + enabled = true + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + animation = windows, 1, 5, overshot, slide + animation = windowsOut, 1, 3, smoothOut + animation = windowsIn, 1, 3, smoothOut + animation = windowsMove, 1, 4, smoothIn, slide + animation = border, 1, 5, default + animation = fade, 1, 5, smoothIn + animation = fadeDim, 1, 5, smoothIn + animation = workspaces, 1, 6, default +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/default.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/default.conf new file mode 100644 index 0000000..978b436 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/default.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name "Dynamic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/disabled.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/disabled.conf new file mode 100644 index 0000000..c9e31c4 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/disabled.conf @@ -0,0 +1,7 @@ +# ----------------------------------------------------- +# Animations +# name "Default" +# ----------------------------------------------------- +animations { + enabled = false +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/standard.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/standard.conf new file mode 100644 index 0000000..ba78c65 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/animations/standard.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# Animations +# name "Default" +# ----------------------------------------------------- +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/autostart.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/autostart.conf new file mode 100644 index 0000000..91614c1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/autostart.conf @@ -0,0 +1,41 @@ +# ___ __ __ __ +# / _ |__ __/ /____ ___ / /____ _____/ /_ +# / __ / // / __/ _ \(_-v0.41, now configured on variable cursor section +env = WLR_RENDERER_ALLOW_SOFTWARE,1 + +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = EGL_PLATFORM,wayland + +cursor { + no_hardware_cursors = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybinding.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybinding.conf new file mode 100644 index 0000000..b3b4d58 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybinding.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/keybindings/default.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybindings/default.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybindings/default.conf new file mode 100644 index 0000000..a573a61 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybindings/default.conf @@ -0,0 +1,122 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod SHIFT, Q, exec, hyprctl activewindow | grep pid | tr -d 'pid:'| xargs kill +bind = $mainMod, F, fullscreen, 0 # Set active window to fullscreen +bind = $mainMod, M, fullscreen, 1 +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, exec, $HYPRSCRIPTS/toggleallfloat.sh # Toggle all windows into floating mode +bind = $mainMod, J, togglesplit # Toggle split +bind = $mainMod, left, movefocus, l # Move focus left +bind = $mainMod, right, movefocus, r # Move focus right +bind = $mainMod, up, movefocus, u # Move focus up +bind = $mainMod, down, movefocus, d # Move focus down +bindm = $mainMod, mouse:272, movewindow # Move window with the mouse +bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse +bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard +bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard +bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard +bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard +bind = $mainMod, G, togglegroup # Toggle window group +bind = $mainMod, K, swapsplit # Swapsplit + +# Actions +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod, Z, exec, missioncenter # Open Mission Center + +# Workspaces +bind = $mainMod, 1, workspace, 1 # Open workspace 1 +bind = $mainMod, 2, workspace, 2 # Open workspace 2 +bind = $mainMod, 3, workspace, 3 # Open workspace 3 +bind = $mainMod, 4, workspace, 4 # Open workspace 4 +bind = $mainMod, 5, workspace, 5 # Open workspace 5 +bind = $mainMod, 6, workspace, 6 # Open workspace 6 +bind = $mainMod, 7, workspace, 7 # Open workspace 7 +bind = $mainMod, 8, workspace, 8 # Open workspace 8 +bind = $mainMod, 9, workspace, 9 # Open workspace 9 +bind = $mainMod, 0, workspace, 10 # Open workspace 10 + +bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move active window to workspace 10 + +bind = $mainMod, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, 1, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, 2, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, 3, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, 4, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, 5, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, 6, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, 7, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, 8, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, 9, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, 0, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows to workspace 10 + +bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace +bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace +bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace + +# Passthrough SUPER KEY to Virtual Machine +# bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine +# submap = passthru +# bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine +# submap = reset + +# Fn keys +bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% +bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% +bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute +bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause +bind = , XF86AudioPause, exec, playerctl pause # Audio pause +bind = , XF86AudioNext, exec, playerctl next # Audio next +bind = , XF86AudioPrev, exec, playerctl previous # Audio previous +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone +bind = , XF86Calculator, exec, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, $(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybindings/fr.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybindings/fr.conf new file mode 100644 index 0000000..9e1937e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keybindings/fr.conf @@ -0,0 +1,120 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod, F, fullscreen # Set active window to fullscreen +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, exec, $HYPRSCRIPTS/toggleallfloat.sh # Toggle all windows into floating mode +bind = $mainMod, J, togglesplit # Toggle split +bind = $mainMod, left, movefocus, l # Move focus left +bind = $mainMod, right, movefocus, r # Move focus right +bind = $mainMod, up, movefocus, u # Move focus up +bind = $mainMod, down, movefocus, d # Move focus down +bindm = $mainMod, mouse:272, movewindow # Move window with the mouse +bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse +bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard +bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard +bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard +bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard +bind = $mainMod, G, togglegroup # Toggle window group +bind = $mainMod, K, swapsplit # Swapsplit + +# Actions +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod, Z, exec, missioncenter # Open Mission Center + +# Workspaces +bind = $mainMod, ampersand, workspace, 1 # Open workspace 1 +bind = $mainMod, eacute, workspace, 2 # Open workspace 2 +bind = $mainMod, quotedbl, workspace, 3 # Open workspace 3 +bind = $mainMod, apostrophe, workspace, 4 # Open workspace 4 +bind = $mainMod, parenleft, workspace, 5 # Open workspace 5 +bind = $mainMod, minus, workspace, 6 # Open workspace 6 +bind = $mainMod, egrave, workspace, 7 # Open workspace 7 +bind = $mainMod, underscore, workspace, 8 # Open workspace 8 +bind = $mainMod, ccedilla, workspace, 9 # Open workspace 9 +bind = $mainMod, agrave, workspace, 10 # Open workspace 10 + +bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, eacute, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, minus, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, egrave, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, underscore, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, agrave, movetoworkspace, 10 # Move active window to workspace 10 + +bind = $mainMod, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, ampersand, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, eacute, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, quotedbl, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, apostrophe, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, parenleft, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, minus, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, egrave, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, underscore, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, ccedilla, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, agrave, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows to workspace 10 + +bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace +bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace +bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace + +# Passthrough SUPER KEY to Virtual Machine +# bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine +# submap = passthru +# bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine +# submap = reset + +# Fn keys +bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% +bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% +bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute +bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause +bind = , XF86AudioPause, exec, playerctl pause # Audio pause +bind = , XF86AudioNext, exec, playerctl next # Audio next +bind = , XF86AudioPrev, exec, playerctl previous # Audio previous +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone +bind = , XF86Calculator, exec, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keyboard.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keyboard.conf new file mode 100644 index 0000000..1b57d6f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/keyboard.conf @@ -0,0 +1,35 @@ +# ----------------------------------------------------- +# Keyboard Layout +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + numlock_by_default = true + mouse_refocus = false + + # For United States + # kb_layout = us + # kb_variant = intl + # kb_model = pc105 + # kb_options = + + follow_mouse = 1 + touchpad { + # for desktop + natural_scroll = false + + # for laptop + # natural_scroll = yes + # middle_button_emulation = true + # clickfinger_behavior = false + scroll_factor = 1.0 # Touchpad scroll factor + } + sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. +} + +gestures { + workspace_swipe = true +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layout.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layout.conf new file mode 100644 index 0000000..e009ed3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layout.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/layouts/default.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layouts/default.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layouts/default.conf new file mode 100644 index 0000000..3c3c155 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layouts/default.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +gestures { + workspace_swipe = false +} + +binds { + workspace_back_and_forth = true + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layouts/laptop.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layouts/laptop.conf new file mode 100644 index 0000000..cb863a2 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/layouts/laptop.conf @@ -0,0 +1,30 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 3 + workspace_swipe_distance = 500 + workspace_swipe_invert = true + workspace_swipe_min_speed_to_force = 30 + workspace_swipe_cancel_ratio = 0.5 + workspace_swipe_create_new = true + workspace_swipe_forever = true +} + +binds { + workspace_back_and_forth = true + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/misc.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/misc.conf new file mode 100644 index 0000000..982954c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/misc.conf @@ -0,0 +1,9 @@ +# ----------------------------------------------------- +# Misc settings +# ----------------------------------------------------- + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + initial_workspace_tracking = 1 +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/ml4w.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/ml4w.conf new file mode 100644 index 0000000..582cb02 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/ml4w.conf @@ -0,0 +1,124 @@ +# __ _____ _____ __ _____ ___ +# / |/ / / / / / | /| / / / ___/__ ___ / _/ +# / /|_/ / /_/_ _/ |/ |/ / / /__/ _ \/ _ \/ _/ +# /_/ /_/____//_/ |__/|__/ \___/\___/_//_/_/ +# + +# Pavucontrol floating +windowrulev2 = float,class:(.*org.pulseaudio.pavucontrol.*) +windowrulev2 = size 700 600,class:(.*org.pulseaudio.pavucontrol.*) +windowrulev2 = center,class:(.*org.pulseaudio.pavucontrol.*) +windowrulev2 = pin,class:(.*org.pulseaudio.pavucontrol.*) + +# OpenAI ChatGPT floating +windowrulev2 = float,title:(ChatGPT.*) +windowrulev2 = float,title:(.*chat.openai.com.*) +windowrulev2 = size 500 50%,title:(.*chat.openai.com.*) +windowrulev2 = move 20 70,title:(.*chat.openai.com.*) + +# ML4W Welcome App floating +windowrulev2 = float,class:(.*waypaper.*) +windowrulev2 = size 900 700,class:(.*waypaper.*) +windowrulev2 = center,class:(.*waypaper.*) +windowrulev2 = pin,class:(.*waypaper.*) + +# ML4W Welcome App floating +windowrulev2 = float,class:(com.ml4w.welcome) +windowrulev2 = size 700 600,class:(com.ml4w.welcome) +windowrulev2 = center,class:(com.ml4w.welcome) +windowrulev2 = pin,class:(com.ml4w.welcome) + +windowrulev2 = float,class:(ml4w-welcome.py) +windowrulev2 = size 400 500,class:(ml4w-welcome.py) +windowrulev2 = center,class:(ml4w-welcome.py) +windowrulev2 = pin,class:(ml4w-welcome.py) + +# ML4W Settings App floating +windowrulev2 = float,class:(com.ml4w.dotfilessettings) +windowrulev2 = size 700 600,class:(com.ml4w.dotfilessettings) +windowrulev2 = move 10% 20%,class:(com.ml4w.dotfilessettings) +windowrulev2 = pin,class:(com.ml4w.dotfilessettings) + +windowrulev2 = float,class:(ml4w-dotfiles-settings.py) +windowrulev2 = size 400 500,class:(ml4w-dotfiles-settings.py) +windowrulev2 = move 10% 20%,class:(ml4w-dotfiles-settings.py) +windowrulev2 = pin,class:(ml4w-dotfiles-settings.py) + +# ML4W Hyprland App floating +windowrulev2 = float,class:(com.ml4w.hyprland.settings) +windowrulev2 = size 700 600,class:(com.ml4w.hyprland.settings) +windowrulev2 = center,class:(com.ml4w.hyprland.settings) +windowrulev2 = pin,class:(com.ml4w.hyprland.settings) + +windowrulev2 = float,class:(ml4w-hyprland-settings.py) +windowrulev2 = size 700 600,class:(ml4w-hyprland-settings.py) +windowrulev2 = center,class:(ml4w-hyprland-settings.py) +windowrulev2 = pin,class:(ml4w-hyprland-settings.py) + +# System Mission Center +windowrulev2 = float, class:(io.missioncenter.MissionCenter) +windowrulev2 = pin, class:(io.missioncenter.MissionCenter) +windowrulev2 = center, class:(io.missioncenter.MissionCenter) +windowrulev2 = size 900 600, class:(io.missioncenter.MissionCenter) + +# System Mission Center Preference Window +windowrulev2 = float, class:(missioncenter), title:^(Preferences)$ +windowrulev2 = pin, class:(missioncenter), title:^(Preferences)$ +windowrulev2 = center, class:(missioncenter), title:^(Preferences)$ + +# Gnome Calculator +windowrulev2 = float,class:(org.gnome.Calculator) +windowrulev2 = size 700 600,class:(org.gnome.Calculator) +windowrulev2 = center,class:(org.gnome.Calculator) + +# Emoji Picker Smile +windowrulev2 = float,class:(it.mijorus.smile) +windowrulev2 = pin, class:(it.mijorus.smile) +windowrulev2 = move 100%-w-40 90,class:(it.mijorus.smile) + +# Hyprland Share Picker +windowrulev2 = float, class:(hyprland-share-picker) +windowrulev2 = pin, class:(hyprland-share-picker) +windowrulev2 = center, title:class:(hyprland-share-picker) +windowrulev2 = size 600 400,class:(hyprland-share-picker) + +# General floating +windowrulev2 = float,class:(dotfiles-floating) +windowrulev2 = size 1000 700,class:(dotfiles-floating) +windowrulev2 = center,class:(dotfiles-floating) +windowrulev2 = pin, class:(dotfiles-floating) + +# XDG Desktop Portal +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + +# QT +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 + +# GDK +env = GDK_SCALE,1 + +# Toolkit Backend +env = GDK_BACKEND,wayland,x11,* +env = CLUTTER_BACKEND,wayland + +# Mozilla +env = MOZ_ENABLE_WAYLAND,1 + +# Set the cursor size for xcursor +env = XCURSOR_SIZE,24 + +# Disable appimage launcher by default +env = APPIMAGELAUNCHER_DISABLE,1 + +# Ozone +env = OZONE_PLATFORM,wayland +env = ELECTRON_OZONE_PLATFORM_HINT,wayland + +# Python +# env = PYTHONPATH,/usr/lib/python3.12/site-packages:/usr/lib/python3.13/site-packages:$PYTHONPATH diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitor.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitor.conf new file mode 100644 index 0000000..5b3f3c8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitor.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/monitors/default.conf diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1366x768.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1366x768.conf new file mode 100644 index 0000000..0b6a7ca --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1366x768.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1366x768" +# ----------------------------------------------------- + +monitor=,1366x768,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1440x1080.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1440x1080.conf new file mode 100644 index 0000000..032c75b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1440x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1440x1080" +# ----------------------------------------------------- + +monitor=,1440x1080,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1600x900.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1600x900.conf new file mode 100644 index 0000000..d3d9713 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1600x900.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1600x900" +# ----------------------------------------------------- + +monitor=,1600x900,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1920x1080.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1920x1080.conf new file mode 100644 index 0000000..0f654be --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1920x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1080" +# ----------------------------------------------------- + +monitor=,1920x1080,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1920x1200.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1920x1200.conf new file mode 100644 index 0000000..aac5f4d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/1920x1200.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1200" +# ----------------------------------------------------- + +monitor=,1920x1200,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440.conf new file mode 100644 index 0000000..cbb7710 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440" +# ----------------------------------------------------- + +monitor=,2560x1440,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440@120.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440@120.conf new file mode 100644 index 0000000..f777ec1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440@120.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440@120x125.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440@120x125.conf new file mode 100644 index 0000000..b7b3e3a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/2560x1440@120x125.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120x125" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1.25 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/3440x1440.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/3440x1440.conf new file mode 100644 index 0000000..3e0ee1b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/3440x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "3440x1440" +# ----------------------------------------------------- + +monitor=,3440x1440,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/default.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/default.conf new file mode 100644 index 0000000..1eced60 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/default.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Default" +# ----------------------------------------------------- + +monitor=,preferred,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/highres.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/highres.conf new file mode 100644 index 0000000..8cb32bd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/monitors/highres.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Highres" +# ----------------------------------------------------- + +monitor=,highres,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/restorevariations.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/restorevariations.sh new file mode 100644 index 0000000..a9c6e6d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/restorevariations.sh @@ -0,0 +1,43 @@ +#!/bin/bash +clear +cat <<"EOF" + ___ __ + / _ \___ ___ / /____ _______ + / , _/ -_|_- ~/.config/hypr/conf/keybinding.conf + echo "Hyprland keybinding.conf restored!" + + echo "source = ~/.config/hypr/conf/environments/default.conf" > ~/.config/hypr/conf/environment.conf + echo "Hyprland environment.conf restored!" + + echo "source = ~.config/hypr/conf/windowrules/default.conf" > ~/.config/hypr/conf/windowrule.conf + echo "Hyprland windowrule.conf restored!" + + echo "source = ~/.config/hypr/conf/animations/default.conf" > ~/.config/hypr/conf/animation.conf + echo "Hyprland animation.conf restored!" + + echo "source = ~/.config/hypr/conf/decorations/default.conf" > ~/.config/hypr/conf/decoration.conf + echo "Hyprland decoration.conf restored!" + + echo "source = ~/.config/hypr/conf/windows/default.conf" > ~/.config/hypr/conf/window.conf + echo "Hyprland window.conf restored!" + + echo "source = ~/.config/hypr/conf/monitors/default.conf" > ~/.config/hypr/conf/monitor.conf + echo "Hyprland monitor.conf restored!" + + echo + echo ":: Restore done!" +else + echo ":: Restore canceled!" + exit +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/window.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/window.conf new file mode 100644 index 0000000..8269a9e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/window.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windows/default.conf diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windowrule.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windowrule.conf new file mode 100644 index 0000000..5f41c07 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windowrule.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windowrules/default.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windowrules/default.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windowrules/default.conf new file mode 100644 index 0000000..b9bae08 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windowrules/default.conf @@ -0,0 +1,16 @@ +# ----------------------------------------------------- +# Window rules +# ----------------------------------------------------- + +windowrule = tile,^(Microsoft-edge)$ +windowrule = tile,^(Brave-browser)$ +windowrule = tile,^(Chromium)$ +windowrule = float,^(pavucontrol)$ +windowrule = float,^(blueman-manager)$ +windowrule = float,^(nm-connection-editor)$ +windowrule = float,^(qalculate-gtk)$ + +# Browser Picture in Picture +windowrulev2 = float, title:^(Picture-in-Picture)$ +windowrulev2 = pin, title:^(Picture-in-Picture)$ +windowrulev2 = move 69.5% 4%, title:^(Picture-in-Picture)$ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-1-reverse.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-1-reverse.conf new file mode 100644 index 0000000..fb233e7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-1-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 1 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-1.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-1.conf new file mode 100644 index 0000000..9f3283b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-1.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 1 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-2-reverse.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-2-reverse.conf new file mode 100644 index 0000000..da6dcf5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-2-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 2 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-2.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-2.conf new file mode 100644 index 0000000..a37cde1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-2.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 2 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-3-reverse.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-3-reverse.conf new file mode 100644 index 0000000..157ae7b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-3-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-3.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-3.conf new file mode 100644 index 0000000..1b52af4 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-3.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-4-reverse.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-4-reverse.conf new file mode 100644 index 0000000..05c51fe --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-4-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 4 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-4.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-4.conf new file mode 100644 index 0000000..f437e98 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/border-4.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 4 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/default.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/default.conf new file mode 100644 index 0000000..1b52af4 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/default.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/no-border-more-gaps.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/no-border-more-gaps.conf new file mode 100644 index 0000000..383aa72 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/no-border-more-gaps.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "No Border More Gaps" +# ----------------------------------------------------- + +general { + gaps_in = 20 + gaps_out = 40 + border_size = 0 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/no-border.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/no-border.conf new file mode 100644 index 0000000..71ff4e5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/conf/windows/no-border.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "No Border" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 0 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite new file mode 100644 index 0000000..0f985b3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-blur b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-blur new file mode 100644 index 0000000..85a5a51 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-blur @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness40 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness40 new file mode 100644 index 0000000..97cafb6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness60 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness60 new file mode 100644 index 0000000..3dc7788 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness80 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness80 new file mode 100644 index 0000000..67bb0ce --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blackwhite-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1 new file mode 100644 index 0000000..f401e1a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness40 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness40 new file mode 100644 index 0000000..d79704a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness60 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness60 new file mode 100644 index 0000000..73028f6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness80 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness80 new file mode 100644 index 0000000..c1984aa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur1-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur2 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur2 new file mode 100644 index 0000000..cb13630 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate new file mode 100644 index 0000000..971c7aa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness40 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness40 new file mode 100644 index 0000000..f6b8bd8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness60 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness60 new file mode 100644 index 0000000..bf45cd6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness80 b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness80 new file mode 100644 index 0000000..2d342c1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hypridle.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hypridle.conf new file mode 100644 index 0000000..d02b4ea --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hypridle.conf @@ -0,0 +1,47 @@ +# _ _ _ _ +# | |__ _ _ _ __ _ __(_) __| | | ___ +# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \ +# | | | | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# +# Version 2.8.3 +# DO NOT REMOVE THE REPLACEMENT COMMENTS +# REQUIRED BY THE ML4W SETTINGS APP +# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/ + +# general { +# ignore_dbus_inhibit = false +# } + +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +# Screenlock +listener { + # HYPRLOCK TIMEOUT + timeout = 600 + # HYPRLOCK ONTIMEOUT + on-timeout = loginctl lock-session +} + +# dpms +listener { + # DPMS TIMEOUT + timeout = 660 + # DPMS ONTIMEOUT + on-timeout = hyprctl dispatch dpms off + # DPMS ONRESUME + on-resume = hyprctl dispatch dpms on +} + +# Suspend +listener { + # SUSPEND TIMEOUT + timeout = 1800 + #SUSPEND ONTIMEOUT + on-timeout = systemctl suspend +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprland.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprland.conf new file mode 100644 index 0000000..31767a7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprland.conf @@ -0,0 +1,71 @@ +# _ _ _ _ +# | | | |_ _ _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| +# +# ----------------------------------------------------- +# IMPORTANT: Don't overwrite ML4W configuration. +# Create your own custom configuration variation instead. +# https://github.com/mylinuxforwork/dotfiles/wiki/Configuration-Variations + +# ----------------------------------------------------- +# Monitor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/monitor.conf + +# ----------------------------------------------------- +# Cursor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/cursor.conf + +# ----------------------------------------------------- +# Environment +# ----------------------------------------------------- +source = ~/.config/hypr/conf/environment.conf + +# ----------------------------------------------------- +# Keyboard +# ----------------------------------------------------- +source = ~/.config/hypr/conf/keyboard.conf + +# ----------------------------------------------------- +# Load pywal color file +# ----------------------------------------------------- +source = ~/.cache/wal/colors-hyprland.conf + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/window.conf +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf +source = ~/.config/hypr/conf/windowrule.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprlock.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..d7e0fda --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprlock.conf @@ -0,0 +1,88 @@ +# _ _ _ +# | |__ _ _ _ __ _ __| | ___ ___| | __ +# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ / +# | | | | |_| | |_) | | | | (_) | (__| < +# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\ +# |___/|_| +# + +general { + ignore_empty_input = true +} + +background { + monitor = + path = $HOME/.config/ml4w/cache/blurred_wallpaper.png # only png supported for now +} + +input-field { + monitor = + size = 200, 50 + outline_thickness = 3 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + outer_color = rgb(151515) + inner_color = rgb(FFFFFF) + font_color = rgb(10, 10, 10) + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = -1 # -1 means complete rounding (circle/oval) + check_color = rgb(204, 136, 34) + fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + fail_transition = 300 # transition time in ms between normal outer_color and fail_color + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + position = 0, -20 + halign = center + valign = center +} + +label { + monitor = + #clock + text = cmd[update:1000] echo "$TIME" + color = rgba(200, 200, 200, 1.0) + font_size = 55 + font_family = Fira Semibold + position = -100, 70 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +label { + monitor = + text = $USER + color = rgba(200, 200, 200, 1.0) + font_size = 20 + font_family = Fira Semibold + position = -100, 160 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +image { + monitor = + path = $HOME/.config/ml4w/cache/square_wallpaper.png + size = 280 # lesser side if not 1:1 ratio + rounding = -1 # negative values mean circle + border_size = 4 + border_color = rgb(221, 221, 221) + rotate = 0 # degrees, counter-clockwise + reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 +# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F + position = 0, 200 + halign = center + valign = center +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..7456413 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/hyprpaper.conf @@ -0,0 +1,3 @@ +preload = $HOME/.config/ml4w/assets/blank.png +wallpaper = ,$HOME/.config/ml4w/assets/blank.png +splash = false \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/cleanup.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/cleanup.sh new file mode 100644 index 0000000..af4196d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ____ _ +# / ___| | ___ __ _ _ __ _ _ _ __ +# | | | |/ _ \/ _` | '_ \| | | | '_ \ +# | |___| | __/ (_| | | | | |_| | |_) | +# \____|_|\___|\__,_|_| |_|\__,_| .__/ +# |_| +# + +# Remove gamemode flag +if [ -f ~/.cache/gamemode ] ;then + rm ~/.cache/gamemode + echo ":: ~/.cache/gamemode removed" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/disabledm.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/disabledm.sh new file mode 100644 index 0000000..ee5e612 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/disabledm.sh @@ -0,0 +1,24 @@ +#!/bin/bash +clear +figlet -f smslant "Disable DM" +echo "Hyprland recommends the start with the tty login." +echo "You can deactivate the current display manager (if exists)." +echo "" +echo "-> Do you really want to deactivate the display manager?" +while true; do + read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn + case $yn in + [Yy]* ) + if [ -f /etc/systemd/system/display-manager.service ]; then + sudo rm /etc/systemd/system/display-manager.service + echo "Current display manager removed." + else + echo "No active display manager found." + fi + break;; + [Nn]* ) + exit + break;; + * ) echo "Please answer yes or no.";; + esac +done \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/gamemode.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/gamemode.sh new file mode 100644 index 0000000..09708fa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/gamemode.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ____ _ +# / ___| __ _ _ __ ___ ___ _ __ ___ ___ __| | ___ +# | | _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \ +# | |_| | (_| | | | | | | __/ | | | | | (_) | (_| | __/ +# \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___| +# +# + +if [ -f ~/.cache/gamemode ] ;then + hyprctl reload + rm ~/.cache/gamemode + notify-send "Gamemode deactivated" "Animations and blur enabled" +else + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + touch ~/.cache/gamemode + notify-send "Gamemode activated" "Animations and blur disabled" +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/gtk.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/gtk.sh new file mode 100644 index 0000000..1b080de --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/gtk.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# ____ _____ _ __ +# / ___|_ _| |/ / +# | | _ | | | ' / +# | |_| | | | | . \ +# \____| |_| |_|\_\ +# +# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + +config="$HOME/.config/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +terminal=$(cat $HOME/.config/ml4w/settings/terminal.sh) + +echo $gtk_theme +echo $icon_theme +echo $cursor_theme +echo $cursor_size +echo $font_name +echo $terminal + +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name" +gsettings set "$gnome_schema" color-scheme "prefer-dark" + +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "$terminal" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal use-generic-terminal-name "true" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings "t" + +if [ -f ~/.config/hypr/conf/cursor.conf ] ;then + echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/.config/hypr/conf/cursor.conf + hyprctl setcursor $cursor_theme $cursor_size +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/hypridle.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/hypridle.sh new file mode 100644 index 0000000..6296fa0 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/hypridle.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# _ _ _ _ _ +# | | | |_ _ _ __ _ __(_) __| | | ___ +# | |_| | | | | '_ \| '__| |/ _` | |/ _ \ +# | _ | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# + +SERVICE="hypridle" +if [[ "$1" == "status" ]]; then + sleep 1 + if pgrep -x "$SERVICE" >/dev/null ;then + echo '{"text": "RUNNING", "class": "active", "tooltip": "Screen locking active\nLeft: Deactivate\nRight: Lock Screen"}' + else + echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated\nLeft: Activate\nRight: Lock Screen"}' + fi +fi +if [[ "$1" == "toggle" ]]; then + if pgrep -x "$SERVICE" >/dev/null ;then + killall hypridle + else + hypridle + fi +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/hyprshade.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/hyprshade.sh new file mode 100644 index 0000000..037441c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/hyprshade.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___ +# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \ +# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/ +# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___| +# |___/|_| +# + +if [[ "$1" == "rofi" ]]; then + + # Open rofi to select the Hyprshade filter for toggle + options="$(hyprshade ls)\noff" + + # Open rofi + choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade") + if [ ! -z $choice ] ;then + echo "hyprshade_filter=\"$choice\"" > ~/.config/ml4w/settings/hyprshade.sh + if [ "$choice" == "off" ] ;then + hyprshade off + notify-send "Hyprshade deactivated" + echo ":: hyprshade turned off" + else + notify-send "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter-50" + + # Check if hyprshade.sh settings file exists and load + if [ -f ~/.config/ml4w/settings/hyprshade.sh ] ;then + source ~/.config/ml4w/settings/hyprshade.sh + fi + + # Toggle Hyprshade + if [ "$hyprshade_filter" != "off" ] ;then + if [ -z $(hyprshade current) ] ;then + echo ":: hyprshade is not running" + hyprshade on $hyprshade_filter + notify-send "Hyprshade activated" "with $(hyprshade current)" + echo ":: hyprshade started with $(hyprshade current)" + else + notify-send "Hyprshade deactivated" + echo ":: Current hyprshade $(hyprshade current)" + echo ":: Switching hyprshade off" + hyprshade off + fi + else + hyprshade off + echo ":: hyprshade turned off" + fi + +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/init-wallpaper-engine.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/init-wallpaper-engine.sh new file mode 100644 index 0000000..6751156 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/init-wallpaper-engine.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# __ ______ _____ _ +# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___ +# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \ +# \ V V / | __/ | |___| | | | (_| | | | | | __/ +# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___| +# |___/ +# + +wallpaper_engine=$(cat $HOME/.config/ml4w/settings/wallpaper-engine.sh) +if [ "$wallpaper_engine" == "swww" ] ;then + # swww + echo ":: Using swww" + swww init + swww-daemon --format xrgb + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +elif [ "$wallpaper_engine" == "hyprpaper" ] ;then + # hyprpaper + echo ":: Using hyprpaper" + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +else + echo ":: Wallpaper Engine disabled" + ~/.config/hypr/scripts/wallpaper.sh init +fi + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/keybindings.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/keybindings.sh new file mode 100644 index 0000000..d0b9150 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/keybindings.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# _ _ _ _ _ +# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___ +# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __| +# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \ +# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/ +# |___/ |___/ +# +# ----------------------------------------------------- +# Get keybindings location based on variation +# ----------------------------------------------------- +config_file=$(cat ~/.config/hypr/conf/keybinding.conf) +config_file=${config_file/source = ~/} +config_file=${config_file/source=~/} + +# ----------------------------------------------------- +# Path to keybindings config file +# ----------------------------------------------------- +config_file="/home/$USER$config_file" +echo "Reading from: $config_file" + +keybinds="" + +# Detect Start String +while read -r line +do + if [[ "$line" == "bind"* ]]; then + + line="$(echo "$line" | sed 's/$mainMod/SUPER/g')" + line="$(echo "$line" | sed 's/bind = //g')" + line="$(echo "$line" | sed 's/bindm = //g')" + + IFS='#' + read -a strarr <<<"$line" + kb_str=${strarr[0]} + cm_str=${strarr[1]} + + IFS=',' + read -a kbarr <<<"$kb_str" + + item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}" + keybinds=$keybinds$item$'\n' + fi +done < "$config_file" + +sleep 0.2 +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/loadconfig.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/loadconfig.sh new file mode 100644 index 0000000..a51ce6d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl reload \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/moveTo.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/moveTo.sh new file mode 100644 index 0000000..de2492b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/moveTo.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# __ __ _ +# | \/ | _____ _____ | |_ ___ +# | |\/| |/ _ \ \ / / _ \ | __/ _ \ +# | | | | (_) \ V / __/ | || (_) | +# |_| |_|\___/ \_/ \___| \__\___/ +# + +# Function to log messages (useful for debugging) +log_message() { + # echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> ~/moveto_log.txt + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +# Get the target workspace from the argument +target_workspace=$1 + +# Check if a target workspace was provided +if [ -z "$target_workspace" ]; then + log_message "Error: No target workspace provided" + exit 1 +fi + +# Get the current active workspace +current_workspace=$(hyprctl activewindow -j | jq '.workspace.id') + +if [ -z "$current_workspace" ]; then + log_message "Error: Couldn't determine current workspace" + exit 1 +fi + +log_message "Moving from workspace $current_workspace to $target_workspace" + +# Get all window addresses in the current workspace +window_addresses=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $current_workspace) | .address") + +# Move each window to the target workspace +for address in $window_addresses; do + log_message "Moving window $address to workspace $target_workspace" + hyprctl dispatch movetoworkspacesilent "$target_workspace,address:$address" +done + +log_message "Finished moving windows" + +# Switch to the target workspace +hyprctl dispatch workspace "$target_workspace" + +log_message "Switched to workspace $target_workspace" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/power.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/power.sh new file mode 100644 index 0000000..8037fbd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/power.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# ____ +# | _ \ _____ _____ _ __ +# | |_) / _ \ \ /\ / / _ \ '__| +# | __/ (_) \ V V / __/ | +# |_| \___/ \_/\_/ \___|_| +# + +# Check if eww is open +FILE="$HOME/.cache/ml4w_sidebar" + +if [[ "$1" == "exit" ]]; then + echo ":: Exit" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + killall -9 Hyprland + sleep 2 +fi + +if [[ "$1" == "lock" ]]; then + echo ":: Lock" + sleep 0.5 + hyprlock +fi + +if [[ "$1" == "reboot" ]]; then + echo ":: Reboot" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl reboot +fi + +if [[ "$1" == "shutdown" ]]; then + echo ":: Shutdown" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl poweroff +fi + +if [[ "$1" == "suspend" ]]; then + echo ":: Suspend" + sleep 0.5 + systemctl suspend +fi + +if [[ "$1" == "hibernate" ]]; then + echo ":: Hibernate" + sleep 1; + systemctl hibernate +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/restart-hypridle.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/restart-hypridle.sh new file mode 100644 index 0000000..fe29461 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/restart-hypridle.sh @@ -0,0 +1,5 @@ +#!/bin/bash +killall hypridle +sleep 1 +hypridle & +notify-send "hypridle has been restarted." \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/screenshot.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/screenshot.sh new file mode 100644 index 0000000..d08557a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/screenshot.sh @@ -0,0 +1,224 @@ +#!/bin/bash +# ____ _ _ +# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_ +# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __| +# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_ +# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__| +# +# Based on https://github.com/hyprwm/contrib/blob/main/grimblast/screenshot.sh +# ----------------------------------------------------- + +# Screenshots will be stored in $HOME by default. +# The screenshot will be moved into the screenshot directory + +# Add this to ~/.config/user-dirs.dirs to save screenshots in a custom folder: +# XDG_SCREENSHOTS_DIR="$HOME/Screenshots" + +prompt='Screenshot' +mesg="DIR: ~/Screenshots" + +# Screenshot Filename +source ~/.config/ml4w/settings/screenshot-filename.sh + +# Screenshot Folder +source ~/.config/ml4w/settings/screenshot-folder.sh + +# Screenshot Editor +export GRIMBLAST_EDITOR="$(cat ~/.config/ml4w/settings/screenshot-editor.sh)" + +# Example for keybindings +# bind = SUPER, p, exec, grimblast save active +# bind = SUPER SHIFT, p, exec, grimblast save area +# bind = SUPER ALT, p, exec, grimblast save output +# bind = SUPER CTRL, p, exec, grimblast save screen + +# Options +option_1="Immediate" +option_2="Delayed" + +option_capture_1="Capture Everything" +option_capture_2="Capture Active Display" +option_capture_3="Capture Selection" + +option_time_1="5s" +option_time_2="10s" +option_time_3="20s" +option_time_4="30s" +option_time_5="60s" +#option_time_4="Custom (in seconds)" # Roadmap or someone contribute :) + +list_col='1' +list_row='2' + +copy='Copy' +save='Save' +copy_save='Copy & Save' +edit='Edit' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take screenshot" +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2" | rofi_cmd +} + +#### +# Choose Timer +# CMD +timer_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 5 -width 30 -p "Choose timer" +} + +# Ask for confirmation +timer_exit() { + echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | timer_cmd +} + +# Confirm and execute +timer_run() { + selected_timer="$(timer_exit)" + if [[ "$selected_timer" == "$option_time_1" ]]; then + countdown=5 + ${1} + elif [[ "$selected_timer" == "$option_time_2" ]]; then + countdown=10 + ${1} + elif [[ "$selected_timer" == "$option_time_3" ]]; then + countdown=20 + ${1} + elif [[ "$selected_timer" == "$option_time_4" ]]; then + countdown=30 + ${1} + elif [[ "$selected_timer" == "$option_time_5" ]]; then + countdown=60 + ${1} + else + exit + fi +} +### + +#### +# Chose Screenshot Type +# CMD +type_screenshot_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Type of screenshot" +} + +# Ask for confirmation +type_screenshot_exit() { + echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | type_screenshot_cmd +} + +# Confirm and execute +type_screenshot_run() { + selected_type_screenshot="$(type_screenshot_exit)" + if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then + option_type_screenshot=screen + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then + option_type_screenshot=output + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then + option_type_screenshot=area + ${1} + else + exit + fi +} +### + +#### +# Choose to save or copy photo +# CMD +copy_save_editor_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "How to save" +} + +# Ask for confirmation +copy_save_editor_exit() { + echo -e "$copy\n$save\n$copy_save\n$edit" | copy_save_editor_cmd +} + +# Confirm and execute +copy_save_editor_run() { + selected_chosen="$(copy_save_editor_exit)" + if [[ "$selected_chosen" == "$copy" ]]; then + option_chosen=copy + ${1} + elif [[ "$selected_chosen" == "$save" ]]; then + option_chosen=save + ${1} + elif [[ "$selected_chosen" == "$copy_save" ]]; then + option_chosen=copysave + ${1} + elif [[ "$selected_chosen" == "$edit" ]]; then + option_chosen=edit + ${1} + else + exit + fi +} +### + +timer() { + if [[ $countdown -gt 10 ]]; then + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown_less_10=$((countdown - 10)) + sleep $countdown_less_10 + countdown=10 + fi + while [[ $countdown -ne 0 ]]; do + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown=$((countdown - 1)) + sleep 1 + done +} + +# take shots +takescreenshot() { + sleep 1 + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +takescreenshot_timer() { + sleep 1 + timer + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + type_screenshot_run + copy_save_editor_run "takescreenshot" + elif [[ "$1" == '--opt2' ]]; then + timer_run + type_screenshot_run + copy_save_editor_run "takescreenshot_timer" + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in +$option_1) + run_cmd --opt1 + ;; +$option_2) + run_cmd --opt2 + ;; +esac diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/toggle-animations.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/toggle-animations.sh new file mode 100644 index 0000000..7eedb1d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/toggle-animations.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cache_file="$HOME/.cache/toggle_animation" +if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then + echo ":: Toggle blocked by disabled.conf variation." +else + if [ -f $cache_file ] ;then + hyprctl keyword animations:enabled true + rm $cache_file + else + hyprctl keyword animations:enabled false + touch $cache_file + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/toggleallfloat.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/toggleallfloat.sh new file mode 100644 index 0000000..3fc12e2 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-automation.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-automation.sh new file mode 100644 index 0000000..e3d1f1e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-automation.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh) +_setWallpaperRandomly() { + waypaper --random + echo ":: Next wallpaper in 60 seconds..." + sleep $sec + _setWallpaperRandomly +} + +if [ ! -f ~/.config/ml4w/cache/wallpaper-automation ] ;then + touch ~/.config/ml4w/cache/wallpaper-automation + echo ":: Start wallpaper automation script" + notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds." + _setWallpaperRandomly +else + rm ~/.config/ml4w/cache/wallpaper-automation + notify-send "Wallpaper automation process stopped." + echo ":: Wallpaper automation script process $wp stopped" + wp=$(pgrep -f wallpaper-automation.sh) + kill -KILL $wp +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-cache.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-cache.sh new file mode 100644 index 0000000..899a06a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-cache.sh @@ -0,0 +1,5 @@ +#!/bin/bash +generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated" +rm $generated_versions/* +echo ":: Wallpaper cache cleared" +notify-send "Wallpaper cache cleared" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-effects.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-effects.sh new file mode 100644 index 0000000..83dbca8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-effects.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +# Get current wallpaper +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" + +# Open rofi to select the Hyprshade filter for toggle +options="$(ls ~/.config/hypr/effects/wallpaper/)\noff" + +# Open rofi +choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade") +if [ ! -z $choice ] ;then + echo "$choice" > ~/.config/ml4w/settings/wallpaper-effect.sh + notify-send "Changing Wallpaper Effect to " "$choice" + waypaper --wallpaper $(cat $cache_file) +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-restore.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-restore.sh new file mode 100644 index 0000000..2eb7d7c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper-restore.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Restore last wallpaper +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +defaultwallpaper="$HOME/wallpaper/default.jpg" +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" + +# ----------------------------------------------------- +# Get current wallpaper +# ----------------------------------------------------- + +if [ -f "$cachefile" ]; then + sed -i "s|~|$HOME|g" "$cachefile" + wallpaper=$(cat $cachefile) + if [ -f $wallpaper ]; then + echo ":: Wallpaper $wallpaper exists" + else + echo ":: Wallpaper $wallpaper does not exist. Using default." + wallpaper=$defaultwallpaper + fi +else + echo ":: $cachefile does not exist. Using default wallpaper." + wallpaper=$defaultwallpaper +fi + +# ----------------------------------------------------- +# Set wallpaper +# ----------------------------------------------------- + +echo ":: Setting wallpaper with source image $wallpaper" +waypaper --wallpaper "$wallpaper" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper.sh new file mode 100644 index 0000000..49fbaac --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/wallpaper.sh @@ -0,0 +1,172 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Check to use wallpaper cache +# ----------------------------------------------------- + +if [ -f ~/.config/ml4w/settings/wallpaper_cache ]; then + use_cache=1 + echo ":: Using Wallpaper Cache" +else + use_cache=0 + echo ":: Wallpaper Cache disabled" +fi + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +force_generate=0 +generatedversions="$HOME/.config/ml4w/cache/wallpaper-generated" +waypaperrunning=$HOME/.config/ml4w/cache/waypaper-running +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" +blurredwallpaper="$HOME/.config/ml4w/cache/blurred_wallpaper.png" +squarewallpaper="$HOME/.config/ml4w/cache/square_wallpaper.png" +rasifile="$HOME/.config/ml4w/cache/current_wallpaper.rasi" +blurfile="$HOME/.config/ml4w/settings/blur.sh" +defaultwallpaper="$HOME/wallpaper/default.jpg" +wallpapereffect="$HOME/.config/ml4w/settings/wallpaper-effect.sh" +blur="50x30" +blur=$(cat $blurfile) + +# Ensures that the script only run once if wallpaper effect enabled +if [ -f $waypaperrunning ]; then + rm $waypaperrunning + exit +fi + +# Create folder with generated versions of wallpaper if not exists +if [ ! -d $generatedversions ]; then + mkdir $generatedversions +fi + +# ----------------------------------------------------- +# Get selected wallpaper +# ----------------------------------------------------- + +if [ -z $1 ]; then + if [ -f $cachefile ]; then + wallpaper=$(cat $cachefile) + else + wallpaper=$defaultwallpaper + fi +else + wallpaper=$1 +fi +used_wallpaper=$wallpaper +echo ":: Setting wallpaper with source image $wallpaper" +tmpwallpaper=$wallpaper + +# ----------------------------------------------------- +# Copy path of current wallpaper to cache file +# ----------------------------------------------------- + +if [ ! -f $cachefile ]; then + touch $cachefile +fi +echo "$wallpaper" > $cachefile +echo ":: Path of current wallpaper copied to $cachefile" + +# ----------------------------------------------------- +# Get wallpaper filename +# ----------------------------------------------------- +wallpaperfilename=$(basename $wallpaper) +echo ":: Wallpaper Filename: $wallpaperfilename" + +# ----------------------------------------------------- +# Wallpaper Effects +# ----------------------------------------------------- + +if [ -f $wallpapereffect ]; then + effect=$(cat $wallpapereffect) + if [ ! "$effect" == "off" ]; then + used_wallpaper=$generatedversions/$effect-$wallpaperfilename + if [ -f $generatedversions/$effect-$wallpaperfilename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper $effect-$wallpaperfilename" + else + echo ":: Generate new cached wallpaper $effect-$wallpaperfilename with effect $effect" + notify-send --replace-id=1 "Using wallpaper effect $effect..." "with image $wallpaperfilename" -h int:value:33 + source $HOME/.config/hypr/effects/wallpaper/$effect + fi + echo ":: Loading wallpaper $generatedversions/$effect-$wallpaperfilename with effect $effect" + echo ":: Setting wallpaper with $used_wallpaper" + touch $waypaperrunning + waypaper --wallpaper $used_wallpaper + else + echo ":: Wallpaper effect is set to off" + fi +else + effect="off" +fi + +# ----------------------------------------------------- +# Execute pywal +# ----------------------------------------------------- + +echo ":: Execute pywal with $used_wallpaper" +wal -q -i "$used_wallpaper" +source "$HOME/.cache/wal/colors.sh" + +# ----------------------------------------------------- +# Reload Waybar +# ----------------------------------------------------- + +killall -SIGUSR2 waybar + +# ----------------------------------------------------- +# Pywalfox +# ----------------------------------------------------- + +if type pywalfox > /dev/null 2>&1; then + pywalfox update +fi + +# ----------------------------------------------------- +# Created blurred wallpaper +# ----------------------------------------------------- + +if [ -f $generatedversions/blur-$blur-$effect-$wallpaperfilename.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper blur-$blur-$effect-$wallpaperfilename" +else + echo ":: Generate new cached wallpaper blur-$blur-$effect-$wallpaperfilename with blur $blur" + # notify-send --replace-id=1 "Generate new blurred version" "with blur $blur" -h int:value:66 + magick $used_wallpaper -resize 75% $blurredwallpaper + echo ":: Resized to 75%" + if [ ! "$blur" == "0x0" ]; then + magick $blurredwallpaper -blur $blur $blurredwallpaper + cp $blurredwallpaper $generatedversions/blur-$blur-$effect-$wallpaperfilename.png + echo ":: Blurred" + fi +fi +cp $generatedversions/blur-$blur-$effect-$wallpaperfilename.png $blurredwallpaper + +# ----------------------------------------------------- +# Create rasi file +# ----------------------------------------------------- + +if [ ! -f $rasifile ]; then + touch $rasifile +fi +echo "* { current-image: url(\"$blurredwallpaper\", height); }" > "$rasifile" + +# ----------------------------------------------------- +# Created square wallpaper +# ----------------------------------------------------- + +echo ":: Generate new cached wallpaper square-$wallpaperfilename" +magick $tmpwallpaper -gravity Center -extent 1:1 $squarewallpaper +cp $squarewallpaper $generatedversions/square-$wallpaperfilename.png + +# ----------------------------------------------------- +# Reload AGS +# ----------------------------------------------------- + +ags quit & +sleep 0.2 +ags run & diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/xdg.sh b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/xdg.sh new file mode 100644 index 0000000..f7d0fec --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/scripts/xdg.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# __ ______ ____ +# \ \/ / _ \ / ___| +# \ /| | | | | _ +# / \| |_| | |_| | +# /_/\_\____/ \____| +# + +# Setup Timers +_sleep1="0.1" +_sleep2="0.5" +_sleep3="2" + +# Kill all possible running xdg-desktop-portals +killall -e xdg-desktop-portal-hyprland +killall -e xdg-desktop-portal-gnome +killall -e xdg-desktop-portal-kde +killall -e xdg-desktop-portal-lxqt +killall -e xdg-desktop-portal-wlr +killall -e xdg-desktop-portal-gtk +killall -e xdg-desktop-portal + +# Set required environment variables +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland + +# Stop all services +systemctl --user stop pipewire +systemctl --user stop wireplumber +systemctl --user stop xdg-desktop-portal +systemctl --user stop xdg-desktop-portal-gnome +systemctl --user stop xdg-desktop-portal-kde +systemctl --user stop xdg-desktop-portal-wlr +systemctl --user stop xdg-desktop-portal-hyprland +sleep $_sleep1 + +# Start xdg-desktop-portal-hyprland +/usr/lib/xdg-desktop-portal-hyprland & +sleep $_sleep1 + +# Start xdg-desktop-portal-gtk +if [ -f /usr/lib/xdg-desktop-portal-gtk ] ;then + /usr/lib/xdg-desktop-portal-gtk & + sleep $_sleep1 +fi + +# Start xdg-desktop-portal +/usr/lib/xdg-desktop-portal & +sleep $_sleep2 + +# Start required services +systemctl --user start pipewire +systemctl --user start wireplumber +systemctl --user start xdg-desktop-portal +systemctl --user start xdg-desktop-portal-hyprland + +# Run waybar +sleep $_sleep3 +~/.config/waybar/launch.sh diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-25.glsl b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-25.glsl new file mode 100644 index 0000000..149b143 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-25.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.25; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-50.glsl b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-50.glsl new file mode 100644 index 0000000..ac5ea21 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-50.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.5; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-75.glsl b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-75.glsl new file mode 100644 index 0000000..c8c1b23 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/blue-light-filter-75.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.75; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/invert-colors.glsl b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/invert-colors.glsl new file mode 100644 index 0000000..a504901 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/hypr/shaders/invert-colors.glsl @@ -0,0 +1,8 @@ +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + gl_FragColor = vec4(1.0 - pixColor.r, 1.0 - pixColor.g, 1.0 - pixColor.b, pixColor.a); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/assets/blank.png b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/assets/blank.png new file mode 100644 index 0000000..f7aa3f8 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/assets/blank.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/cache/current_wallpaper b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/cache/current_wallpaper new file mode 100644 index 0000000..86d5756 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/cache/current_wallpaper @@ -0,0 +1 @@ +/home/gib/wallpaper/default.jpg diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/cache/current_wallpaper.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/cache/current_wallpaper.rasi new file mode 100644 index 0000000..1c8f319 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/cache/current_wallpaper.rasi @@ -0,0 +1 @@ +* { current-image: url("/home/gib/wallpaper/default.jpg", height); } diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/login/issue b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/login/issue new file mode 100644 index 0000000..d3f99f3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/login/issue @@ -0,0 +1,11 @@ + _ _ + | | ___ __ _(_)_ __ + | | / _ \\ / _' | | '_ \\ + | |__| (_) | (_| | | | | | + |_____\\___/ \\__, |_|_| |_| + |___/ + +Today is \d \t @ \n +-------------------------------------------------------------- +\r (\l) + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/ags.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/ags.sh new file mode 100644 index 0000000..8c1ba75 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/ags.sh @@ -0,0 +1 @@ +ags run \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/cleanup.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/cleanup.sh new file mode 100644 index 0000000..3e509c9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/cleanup.sh @@ -0,0 +1,6 @@ +#!/bin/bash +clear +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" +figlet -f smslant "Cleanup" +echo +$aur_helper -Scc diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/installprinters.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/installprinters.sh new file mode 100644 index 0000000..67812c8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/installprinters.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _____ __ +# | __ \ (_) | | / ____| / _| +# | |__) | __ _ _ __ | |_ ___ _ __ | | ___ _ __ | |_ +# | ___/ '__| | '_ \| __/ _ \ '__| | | / _ \| '_ \| _| +# | | | | | | | | | || __/ | | |___| (_) | | | | | +# |_| |_| |_|_| |_|\__\___|_| \_____\___/|_| |_|_| +# +# By @krystalsavage + +sleep 1 +clear +figlet -f smslant "Printers" + +# ------------------------------------------------------ +# Confirm Start +# ------------------------------------------------------ + +if gum confirm "DO YOU WANT TO START TO INSTALL PRINTER SYSTEM NOW?" ;then + echo + echo ":: Install started." +elif [ $? -eq 130 ]; then + exit 130 +else + echo + echo ":: Install canceled." + exit; +fi + +if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then + if gum confirm "DO YOU WANT TO CREATE A SNAPSHOT?" ;then + echo + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + sudo grub-mkconfig -o /boot/grub/grub.cfg + echo ":: DONE. Snapshot $c created!" + echo + elif [ $? -eq 130 ]; then + echo ":: Snapshot canceled." + exit 130 + else + echo ":: Snapshot canceled." + fi + echo +fi + +yay -S cups cups-pdf cups-filters nss-mdns system-config-printer foomatic-db footmatic-db-engine foomatic-db-nonfree doomatic-db-nonfree-ppds foomatic-db-ppds cups-browsed libusb ipp-usb xdg-utils colord logrotate + +notify-send "Installing printer system complete" +echo +echo ":: Installing printer system complete" +sleep 2 + +if [ -f ~/.config/ml4w/settings/printer-drivers.sh ] ;then + if gum confirm "DO YOU WANT TO INSTALL PRINTER DRIVERS NOW?" ;then + echo + echo ":: Install started." + elif [ $? -eq 130 ]; then + exit 130 + else + echo + echo ":: Install cancelled." + exit; + fi +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/installtimeshift.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/installtimeshift.sh new file mode 100644 index 0000000..06265ad --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/installtimeshift.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _____ _ _ _ __ _ +# |_ _(_)_ __ ___ ___ ___| |__ (_)/ _| |_ +# | | | | '_ ` _ \ / _ \/ __| '_ \| | |_| __| +# | | | | | | | | | __/\__ \ | | | | _| |_ +# |_| |_|_| |_| |_|\___||___/_| |_|_|_| \__| +# + +sleep 1 +clear +figlet -f smslant "Timeshift" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + echo ":: Timeshift is already installed" +else + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + fi +fi +if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "0" ]] ;then + echo ":: grub-btrfs is already installed" +else + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + fi +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/lid-improvements.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/lid-improvements.sh new file mode 100644 index 0000000..2ffad61 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/lid-improvements.sh @@ -0,0 +1,12 @@ +#!/bin/bash +while IFS= read -r line; do + # If the line starts with # and the next line is not the lines to be added + if [[ $line == \#HandleLidSwitchDocked=ignore ]]; then + # Add the new lines + echo "HandleLidSwitchDocked=ignore" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi + if [[ $line == \#HoldoffTimeoutSec=5s ]]; then + # Add the new lines + echo "HoldoffTimeoutSec=5s" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi +done < /etc/systemd/logind.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/pacman.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/pacman.sh new file mode 100644 index 0000000..d6a2903 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/pacman.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# ____ +# | _ \ __ _ ___ _ __ ___ __ _ _ __ +# | |_) / _` |/ __| '_ ` _ \ / _` | '_ \ +# | __/ (_| | (__| | | | | | (_| | | | | +# |_| \__,_|\___|_| |_| |_|\__,_|_| |_| +# + +sleep 1 +clear +figlet -f smslant "pacman.conf" +echo +echo ":: This script will activate or deactivate additions for your pacman.conf." +echo +if grep -Fq "#ParallelDownloads" /etc/pacman.conf +then + if gum confirm "Do you want to activate parallel downloads?" ;then + sudo sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf + else + echo ":: Activation of parallel downloads skipped." + fi +else + echo ":: Parallel downloads are already activated." +fi + +if grep -Fxq "#Color" /etc/pacman.conf +then + if gum confirm "Do you want to activate colors?" ;then + sudo sed -i 's/^#Color/Color/' /etc/pacman.conf + else + echo ":: Activation of Color skipped." + fi +else + echo ":: Color is already activated." +fi + +if grep -Fxq "#VerbosePkgLists" /etc/pacman.conf +then + if gum confirm "Do you want to activate VerbosePkgLists?" ;then + sudo sed -i 's/^#VerbosePkgLists/VerbosePkgLists/' /etc/pacman.conf + else + echo ":: Activation of VerbosePkgLists skipped." + fi +else + echo ":: VerbosePkgLists is already activated." +fi + +if grep -Fxq "ILoveCandy" /etc/pacman.conf +then + echo ":: ILoveCandy is already activated." +else + if gum confirm "Do you want to activate ILoveCandy?" ;then + sudo sed -i '/^ParallelDownloads = .*/a ILoveCandy' /etc/pacman.conf + else + echo ":: Activation of ILoveCandy skipped." + fi +fi +echo +echo "Press [ENTER] to close." +read \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/snapshot.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/snapshot.sh new file mode 100644 index 0000000..7ce1acc --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/snapshot.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# ____ _ _ +# / ___| _ __ __ _ _ __ ___| |__ ___ | |_ +# \___ \| '_ \ / _` | '_ \/ __| '_ \ / _ \| __| +# ___) | | | | (_| | |_) \__ \ | | | (_) | |_ +# |____/|_| |_|\__,_| .__/|___/_| |_|\___/ \__| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +sleep 1 +clear +figlet -f smslant "Snapshot" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + if [[ -d /boot/grub ]] ;then + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + sudo grub-mkconfig -o /boot/grub/grub.cfg + fi + echo "DONE. Snapshot $c created!" +else + echo "ERROR: Timeshift is not installed." + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + echo + echo ":: Timeshift has been installed. Please restart this script." + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/unlock-pacman.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/unlock-pacman.sh new file mode 100644 index 0000000..33b7de0 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/arch/unlock-pacman.sh @@ -0,0 +1,9 @@ +#!/bin/bash +sleep 1 +if [ -f /var/lib/pacman/db.lck ]; then + sudo rm /var/lib/pacman/db.lck + echo ":: Unlock complete" +else + echo ":: Pacman database is not locked" +fi +sleep 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/cliphist.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/cliphist.sh new file mode 100644 index 0000000..b9a2acc --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/cliphist.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# ____ _ _ _ _ _ +# / ___| (_)_ __ | |__ (_)___| |_ +# | | | | | '_ \| '_ \| / __| __| +# | |___| | | |_) | | | | \__ \ |_ +# \____|_|_| .__/|_| |_|_|___/\__| +# |_| +# + +case $1 in + d) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist delete + ;; + + w) if [ `echo -e "Clear\nCancel" | rofi -dmenu -config ~/.config/rofi/config-short.rasi` == "Clear" ] ; then + cliphist wipe + fi + ;; + + *) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist decode | wl-copy + ;; +esac diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/figlet.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/figlet.sh new file mode 100644 index 0000000..7a5ff4e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/figlet.sh @@ -0,0 +1,24 @@ +#!/bin/bash +figlet -f smslant "Figlet" +echo +# ------------------------------------------------ +# Script to create ascii font based header on user input +# and copy the result to the clipboard +# ----------------------------------------------------- + +read -p "Enter the text for ascii encoding: " mytext + +if [ -f ~/figlet.txt ]; then + touch ~/figlet.txt +fi + +echo "cat <<\"EOF\"" > ~/figlet.txt +figlet -f smslant "$mytext" >> ~/figlet.txt +echo "" >> ~/figlet.txt +echo "EOF" >> ~/figlet.txt + +lines=$( cat ~/figlet.txt ) +wl-copy "$lines" +xclip -sel clip ~/figlet.txt + +echo "Text copied to clipboard!" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/installupdates.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/installupdates.sh new file mode 100644 index 0000000..b4605b5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/installupdates.sh @@ -0,0 +1,101 @@ +#!/bin/bash +# ____ __ ____ __ __ +# / _/__ ___ / /____ _/ / / __ _____ ___/ /__ _/ /____ ___ +# _/ // _ \(_- /dev/null + then + echo "Running" + killall nm-applet + else + echo "Stopped" + nm-applet --indicator & + fi +else + nm-applet --indicator & +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/sddm-wallpaper.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/sddm-wallpaper.sh new file mode 100644 index 0000000..eccad59 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/sddm-wallpaper.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# _ _ _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ __| | __| |_ __ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \ / __|/ _` |/ _` | '_ ` _ \ +# | |_| | |_) | (_| | (_| | || __/ \__ \ (_| | (_| | | | | | | +# \___/| .__/ \__,_|\__,_|\__\___| |___/\__,_|\__,_|_| |_| |_| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- +sleep 1 +clear +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" +current_wallpaper=$(cat "$cache_file") +extension="${current_wallpaper##*.}" + +echo -e "${GREEN}" +figlet -f smslant "SDDM Wallpaper" +echo -e "${NONE}" + +sddm_theme_name="sequoia" +sddm_asset_folder="/usr/share/sddm/themes/$sddm_theme_name/backgrounds" + +sddm_theme_tpl="/usr/share/ml4w-hyprland/sddm/theme.conf" +if [ -f $HOME/.config/ml4w/settings/sddm/theme.conf ]; then + sddm_theme_tpl="$HOME/.config/ml4w/settings/sddm/theme.conf" + echo ":: Using custum theme.conf" +fi + + +if [ ! -f $current_wallpaper ]; then + gum spin --spinner dot --title "File $current_wallpaper does not exist" -- sleep 3 + exit +fi + +echo ":: Set the current wallpaper $current_wallpaper as SDDM wallpaper." +echo + +if [ ! -d /etc/sddm.conf.d/ ]; then + sudo mkdir /etc/sddm.conf.d + echo ":: Folder /etc/sddm.conf.d created." +fi + +sudo cp /usr/share/ml4w-hyprland/sddm/sddm.conf /etc/sddm.conf.d/ +echo ":: File /etc/sddm.conf.d/sddm.conf updated." + +sudo cp $current_wallpaper $sddm_asset_folder/current_wallpaper.$extension +echo ":: Current wallpaper copied into $sddm_asset_folder" + +sudo cp $sddm_theme_tpl /usr/share/sddm/themes/$sddm_theme_name/ +sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.$extension"'/' /usr/share/sddm/themes/$sddm_theme_name/theme.conf +echo ":: File theme.conf updated in /usr/share/sddm/themes/$sddm_theme_name/" +echo + +echo ":: You can preview your updated SDDM Login screen. (Close it with SUPER+Q)" +echo +if gum confirm "Do you want to preview the result?"; then + sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sequoia +fi + +echo +gum spin --spinner dot --title "Please logout to see the result." -- sleep 3 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/shell.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/shell.sh new file mode 100644 index 0000000..9cb6a94 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/shell.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# ____ _ _ _ +# / ___|| |__ ___| | | +# \___ \| '_ \ / _ \ | | +# ___) | | | | __/ | | +# |____/|_| |_|\___|_|_| +# + +sleep 1 + +_isInstalledYay() { + package="$1"; + check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +clear +figlet -f smslant "Shell" + +echo ":: Please select your preferred shell" +echo +shell=$(gum choose "bash" "zsh" "Cancel") +# ----------------------------------------------------- +# Activate bash +# ----------------------------------------------------- +if [[ $shell == "bash" ]] ;then + + # Change shell to bash + while ! chsh -s $(which bash); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now bash." + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Activate zsh +# ----------------------------------------------------- +elif [[ $shell == "zsh" ]] ;then + + # Change shell to shh + while ! chsh -s $(which zsh); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now zsh." + + # Installing oh-my-posh + yay -S oh-my-posh-bin + + # Installing oh-my-zsh + if [ ! -d "$HOME/.oh-my-zsh" ]; then + echo ":: Installing oh-my-zsh" + sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended + cp ~/.config/ml4w/tpl/.zshrc ~/ + else + echo ":: oh-my-zsh already installed" + fi + + # Installing zsh-autosuggestions + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then + echo ":: Installing zsh-autosuggestions" + git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + else + echo ":: zsh-autosuggestions already installed" + fi + + # Installing zsh-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then + echo ":: Installing zsh-syntax-highlighting" + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting + else + echo ":: zsh-syntax-highlighting already installed" + fi + + # Installing fast-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/fast-syntax-highlighting" ]; then + echo ":: Installing fast-syntax-highlighting" + git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting + else + echo ":: fast-syntax-highlighting already installed" + fi + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Cencel +# ----------------------------------------------------- +else + echo ":: Changing shell canceled" + exit +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/thunarterminal.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/thunarterminal.sh new file mode 100644 index 0000000..777be5f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/thunarterminal.sh @@ -0,0 +1,19 @@ +#!/bin/bash +clear +if [ -f ~/.config/ml4w/settings/terminal.sh ]; then + terminal="$(cat ~/.config/ml4w/settings/terminal.sh)" + echo ":: Installing $terminal" + if [ -d ~/.config/xfce4 ]; then + if [ ! -f ~/.config/xfce4/helpers.rc ]; then + touch ~/.config/xfce4/helpers.rc + fi + echo "TerminalEmulator=$terminal" > ~/.config/xfce4/helpers.rc + echo ":: $terminal defined as Thunar Terminal Emulator." + else + echo "ERROR: ~/.config/xfce4 not found. Please open Thunar once to create it." + echo "Then start this script again." + fi +else + echo "ERROR: ~/.config/ml4w/settings/terminal.sh not found" +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/updates.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/updates.sh new file mode 100644 index 0000000..505d126 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/updates.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \/ __| +# | |_| | |_) | (_| | (_| | || __/\__ \ +# \___/| .__/ \__,_|\__,_|\__\___||___/ +# |_| +# + +# ----------------------------------------------------- +# Define threshholds for color indicators +# ----------------------------------------------------- + +threshhold_green=0 +threshhold_yellow=25 +threshhold_red=100 +install_platform="$(cat ~/.config/ml4w/settings/platform.sh)" + +# Check if platform is supported +case $install_platform in + arch) + aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + + # ----------------------------------------------------- + # Calculate available updates + # ----------------------------------------------------- + + # flatpak remote-ls --updates + + updates=$(checkupdates-with-aur | wc -l) + ;; + fedora) + updates=$(dnf check-update -q|grep -c ^[a-z0-9]) + ;; + *) + updates=0 + ;; +esac + +# ----------------------------------------------------- +# Output in JSON format for Waybar Module custom-updates +# ----------------------------------------------------- + +css_class="green" + +if [ "$updates" -gt $threshhold_yellow ]; then + css_class="yellow" +fi + +if [ "$updates" -gt $threshhold_red ]; then + css_class="red" +fi + +if [ "$updates" -gt $threshhold_green ]; then + printf '{"text": "%s", "alt": "%s", "tooltip": "Click to update your system", "class": "%s"}' "$updates" "$updates" "$css_class" +else + printf '{"text": "0", "alt": "0", "tooltip": "No updates available", "class": "green"}' +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/wlogout.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/wlogout.sh new file mode 100644 index 0000000..2b540eb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/scripts/wlogout.sh @@ -0,0 +1,5 @@ +res_w=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width') +res_h=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .height') +h_scale=$(hyprctl -j monitors | jq '.[] | select (.focused == true) | .scale' | sed 's/\.//') +w_margin=$(( res_h * 27 / h_scale )) +wlogout -b 5 -T $w_margin -B $w_margin \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/ai.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/ai.sh new file mode 100644 index 0000000..74e2499 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/ai.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/browser.sh) --new-window https://chat.openai.com \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/aur.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/aur.sh new file mode 100644 index 0000000..fc0e7cb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/aur.sh @@ -0,0 +1 @@ +yay \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/blur.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/blur.sh new file mode 100644 index 0000000..4ffc966 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/blur.sh @@ -0,0 +1 @@ +50x30 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/browser.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/browser.sh new file mode 100644 index 0000000..dbfb8f9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/browser.sh @@ -0,0 +1 @@ +firefox diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/calculator.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/calculator.sh new file mode 100644 index 0000000..7321b2e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/calculator.sh @@ -0,0 +1 @@ +gnome-calculator \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/dotfiles-folder.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/dotfiles-folder.sh new file mode 100644 index 0000000..1540f96 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/dotfiles-folder.sh @@ -0,0 +1 @@ +Documents/Configs/hyprland/gulfport_default diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/dunst_position.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/dunst_position.sh new file mode 100644 index 0000000..181d3ca --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/dunst_position.sh @@ -0,0 +1 @@ +top-center \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/editor.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/editor.sh new file mode 100644 index 0000000..4bb243e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/editor.sh @@ -0,0 +1 @@ +gnome-text-editor \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/emojipicker.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/emojipicker.sh new file mode 100644 index 0000000..36d697f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/emojipicker.sh @@ -0,0 +1 @@ +smile \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/eww-monitor.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/eww-monitor.sh new file mode 100644 index 0000000..4d18c3e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/eww-monitor.sh @@ -0,0 +1 @@ +auto \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/filemanager.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/filemanager.sh new file mode 100644 index 0000000..9f0175d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/filemanager.sh @@ -0,0 +1 @@ +nautilus \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_dpms_timeout.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_dpms_timeout.sh new file mode 100644 index 0000000..9ecf271 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_dpms_timeout.sh @@ -0,0 +1 @@ +660 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_hyprlock_timeout.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_hyprlock_timeout.sh new file mode 100644 index 0000000..73623d1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_hyprlock_timeout.sh @@ -0,0 +1 @@ +600 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_suspend_timeout.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_suspend_timeout.sh new file mode 100644 index 0000000..2974009 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hypridle_suspend_timeout.sh @@ -0,0 +1 @@ +1800 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hyprpaper.tpl b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hyprpaper.tpl new file mode 100644 index 0000000..3033ff3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hyprpaper.tpl @@ -0,0 +1,8 @@ +# Preload Wallpapers +preload = WALLPAPER + +# Set Wallpapers +wallpaper = ,WALLPAPER + +# Disable Splash +splash = false \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hyprshade.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hyprshade.sh new file mode 100644 index 0000000..1865560 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/hyprshade.sh @@ -0,0 +1 @@ +hyprshade_filter="blue-light-filter-50" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/ml4w-sidebar.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/ml4w-sidebar.sh new file mode 100644 index 0000000..b1ab0ad --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/ml4w-sidebar.sh @@ -0,0 +1 @@ +ags toggle sidebar \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/networkmanager.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/networkmanager.sh new file mode 100644 index 0000000..b2a0141 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/networkmanager.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e nmtui \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/notification.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/notification.sh new file mode 100644 index 0000000..936c7eb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/notification.sh @@ -0,0 +1 @@ +dunst \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/platform.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/platform.sh new file mode 100644 index 0000000..35a143b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/platform.sh @@ -0,0 +1 @@ +fedora diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/printer-drivers.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/printer-drivers.sh new file mode 100644 index 0000000..444839f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/printer-drivers.sh @@ -0,0 +1,4 @@ +# Installation of Printer Drivers +# Please add your drivers to the package list +# Example: +# yay -S brother-hll2360dw-lpr-bin brother-hll2360dw-cups-bin brother-mfc-l3770cdw brscan-skey brscan4 skanpage \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-border-radius.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-border-radius.rasi new file mode 100644 index 0000000..7cbaeeb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-border-radius.rasi @@ -0,0 +1 @@ +* { border-radius: 2em; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-border.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-border.rasi new file mode 100644 index 0000000..e533468 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-border.rasi @@ -0,0 +1 @@ +* { border-width: 3px; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-font.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-font.rasi new file mode 100644 index 0000000..a2497c3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi-font.rasi @@ -0,0 +1 @@ +configuration { font: "Fira Sans 11"; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi_bordersize.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi_bordersize.sh new file mode 100644 index 0000000..e440e5c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/rofi_bordersize.sh @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-editor.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-editor.sh new file mode 100644 index 0000000..5f0900f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-editor.sh @@ -0,0 +1 @@ +pinta \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-filename.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-filename.sh new file mode 100644 index 0000000..f81ad3c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-filename.sh @@ -0,0 +1 @@ +NAME="screenshot_$(date +%d%m%Y_%H%M%S).jpg" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-folder.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-folder.sh new file mode 100644 index 0000000..a1bf821 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/screenshot-folder.sh @@ -0,0 +1 @@ +screenshot_folder="$HOME/Pictures" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/sddm/theme.tpl b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/sddm/theme.tpl new file mode 100644 index 0000000..f4ae01f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/sddm/theme.tpl @@ -0,0 +1,132 @@ +[General] + +# Set to your screen resolution for better results +width=1680 +height=1050 + +backgroundColour="black" + +wallpaper="backgrounds/CURRENTWALLPAPER" + +# Whether to scale the image to fit on the screen, might leave some blank spaces +# will scale and crop the wallpaper if left false +fitWallpaper=false + +# Main font +fontFamily="Noto Sans" + +# Set to a patched NerdFont if some icons don't display properly +# or leave empty to use the main font family +iconFont="" + +# Set this if fonts are the wrong size for your resolution +fontSize=14 + +# Whether to show icons inside menus +iconsInMenus=true + + +# [Colour_Palette] + +# The main colour for text and icons +primaryColour="white" + +# The background colour of popup panels +popupsBackgroundColour="white" + +# Used for the text and icons inside popup panels +popupsForegroundColour="black" + +# Colour used for selected and focused items +accentColour="#a7d9ea" + + +# [Greeting_Screen] + +# Set true to be taken directly to the login screen +skipToLogin=false + +# Supports Markdown formatting, leave empty to not display any text +greeting="Welcome back!" + +# Adjusts the font size for the greeting message, clock and date +fontSizeMultiplier=2 + +# For help with date and time formatting see https://doc.qt.io/qt-5/qml-qtqml-date.html#format-strings +clockFormat="HH:mm" +dateFormat="dddd, dd MMMM" + +# Set this in case the date isn't in your system locale or you wish to use a different one +locale="" + +# Styles the clock font +# Set to 'outline' for alternate style +clockStyle=fill + +# Anchor the clock to a side or corner of the screen, horizontal position is susceptible to layout mirroring +# Syntax: vertical | horizontal +# possible vertical values: top - center - bottom +# and horizontal: left - center - right +dateTimePosition="bottom right" + +# Defines how far away the date and time are from the edges of the screen +dateTimePadding=55 + +# Defines the behaviour of the sliding transition from greeting to login form +# Set to +/- x or y +transitionDirection="x" + +# [Login_Screen] + +# The maximum radius allowed is 16 per loop +blurRadius=10 +blurRecursiveLoops=5 + +# Used to dim the background +darkenWallpaper=0.3 + +# Purely cosmetic, has no effect on login credentials +capitaliseUsername=false + +# 'mask' - hides your password by replacing the characters with something else +# 'off' - also hides the length of your password by disabling echoing +passwordEchoStyle=mask + +allowEmptyPassword=false + +# Set false to hide the selected session's name next to the menu icon +displaySession=true + + +# [Translations] +# SDDM may not have translations for every element, or you might want to change some text to something else +# setting these will override the text constants + +virtualKeyboard="" +poweroff="" +reboot="" +suspend="" +hibernate="" +password="" +username="" +loginFailed="" + + +# [Accessibility] + +# Set false to set all transition durations to 0 +enableAnimations=true + +# 'auto' - activates mirroring based on the system locale +# 'false' - never mirror layout +# 'true' - always mirrors +mirrorLayout=auto + +# Whether the on-screen keyboard should be activated by default +# It can always be de/activated through the  accessibility panel +virtualKeyboardStartActive=false + +# Normally the on-screen keyboard only shows up when text fields are focused +# Set this true to have the keyboard always be visible once activated +# This will render the hide button on the keyboard non-functional +forceKeyboardVisible=false diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/software.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/software.sh new file mode 100644 index 0000000..d10bc37 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/software.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e pacseek \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/system-monitor.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/system-monitor.sh new file mode 100644 index 0000000..a7b1e4f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/system-monitor.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e htop diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/terminal.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/terminal.sh new file mode 100644 index 0000000..659fb6b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/terminal.sh @@ -0,0 +1 @@ +kitty \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-automation.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-automation.sh new file mode 100644 index 0000000..2b82dfe --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-automation.sh @@ -0,0 +1 @@ +60 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-effect.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-effect.sh new file mode 100644 index 0000000..cfb931e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-effect.sh @@ -0,0 +1 @@ +off diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-engine.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-engine.sh new file mode 100644 index 0000000..b6923b6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-engine.sh @@ -0,0 +1 @@ +hyprpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-folder.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-folder.sh new file mode 100644 index 0000000..8d138d1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wallpaper-folder.sh @@ -0,0 +1,2 @@ +# Enter the path to the folder that includes your wallpapers +wallpaper_folder=$HOME/wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar-quicklinks.json b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar-quicklinks.json new file mode 100644 index 0000000..7d61906 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar-quicklinks.json @@ -0,0 +1,45 @@ +{ + "custom/quicklink1": { + "format": "", + "on-click": "chromium", + "tooltip-format": "Open Chromium" + }, + "custom/quicklink2": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip-format": "Open Firefox" + }, + "custom/quicklink3": { + "format": "", + "on-click": "~/.config/ml4w/settings/filemanager.sh", + "tooltip-format": "Open filemanager" + }, + "custom/quicklink4": { + "format": "", + "on-click": "betterbird", + "tooltip-format": "Open Betterbird" + }, + "custom/quicklink5": { + "format": "", + "on-click": "~/.config/ml4w/settings/calculator.sh", + "tooltip-format": "Open calculator" + }, + "custom/quicklink6": { + "format": "", + "on-click": "~/.config/ml4w/settings/emojipicker.sh", + "tooltip-format": "Open emoji picker" + }, + "custom/quicklinkempty": { + }, + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/quicklink2", + "custom/quicklink3", + /* + "custom/quicklink4", + */ + "custom/quicklinkempty" + ] + } +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar-theme.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar-theme.sh new file mode 100644 index 0000000..60b2b59 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar-theme.sh @@ -0,0 +1 @@ +/ml4w-modern;/ml4w-modern/light diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_appmenu.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_appmenu.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_appmenu.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_backlight.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_backlight.sh new file mode 100644 index 0000000..c1f22fb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_backlight.sh @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_chatgpt.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_chatgpt.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_chatgpt.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_custom_timedateformat.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_custom_timedateformat.sh new file mode 100644 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_dateformat.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_dateformat.sh new file mode 100644 index 0000000..05696fa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_dateformat.sh @@ -0,0 +1 @@ +%a \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_network.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_network.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_network.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_quicklinks.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_quicklinks.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_quicklinks.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_screenlock.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_screenlock.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_screenlock.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_settings.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_settings.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_settings.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_systray.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_systray.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_systray.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_taskbar.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_taskbar.sh new file mode 100644 index 0000000..c1f22fb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_taskbar.sh @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_timeformat.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_timeformat.sh new file mode 100644 index 0000000..3d87f12 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_timeformat.sh @@ -0,0 +1 @@ +%H:%M \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_timezone.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_timezone.sh new file mode 100644 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_toggle.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_toggle.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_toggle.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_window.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_window.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_window.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_workspaces.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_workspaces.sh new file mode 100644 index 0000000..7813681 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/waybar_workspaces.sh @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wlogout-parameters.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wlogout-parameters.sh new file mode 100644 index 0000000..50e2452 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/settings/wlogout-parameters.sh @@ -0,0 +1 @@ +-b 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/tpl/.zshrc b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/tpl/.zshrc new file mode 100644 index 0000000..9968f7e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/tpl/.zshrc @@ -0,0 +1,23 @@ +# _ +# _______| |__ _ __ ___ +# |_ / __| '_ \| '__/ __| +# _ / /\__ \ | | | | | (__ +# (_)___|___/_| |_|_| \___| +# +# ----------------------------------------------------- +# ML4W zshrc loader +# ----------------------------------------------------- + +# DON'T CHANGE THIS FILE + +# You can define your custom configuration by adding +# files in ~/.config/zshrc +# or by creating a folder ~/.config/zshrc/custom +# with you own zshrc configuration +# ----------------------------------------------------- + +if [ -d ~/.config/zshrc/custom ] ;then + for f in ~/.config/zshrc/custom/*; do source $f; done +else + for f in ~/.config/zshrc/*; do source $f; done +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/compare.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/compare.sh new file mode 100644 index 0000000..1b18b98 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/compare.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ------------------------------------------------------ +# Compare installed version with used version +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +if [ -f /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name ] ;then + installed_version=$(cat /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name) + used_version=$(cat ~/.config/ml4w/version/name) + if [[ $(testvercomp $used_version $installed_version "<") == "0" ]] ;then + notify-send "Please run ml4w-hyprland-setup" "Installed version is newer then the version you're currently using." + fi +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/library.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/library.sh new file mode 100644 index 0000000..94e5fbe --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/library.sh @@ -0,0 +1,42 @@ +vercomp () { + if [[ $1 == $2 ]] + then + return 0 + fi + local IFS=. + local i ver1=($1) ver2=($2) + # fill empty fields in ver1 with zeros + for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) + do + ver1[i]=0 + done + for ((i=0; i<${#ver1[@]}; i++)) + do + if ((10#${ver1[i]:=0} > 10#${ver2[i]:=0})) + then + return 1 + fi + if ((10#${ver1[i]} < 10#${ver2[i]})) + then + return 2 + fi + done + return 0 +} + +testvercomp () { + vercomp $1 $2 + case $? in + 0) op='=';; + 1) op='>';; + 2) op='<';; + esac + if [[ $op != $3 ]] + then + # No update available + echo "1" + else + # Update available + echo "0" + fi +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/name b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/name new file mode 100644 index 0000000..92db042 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/name @@ -0,0 +1 @@ +2.9.7.4 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/update.sh b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/update.sh new file mode 100644 index 0000000..efe9403 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ml4w/version/update.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ------------------------------------------------------ +# Check for updates +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +# Get latest tag from GitHub +get_latest_release() { + v_online=$(curl --silent "https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=ml4w-hyprland") + v_full_online=$(grep -m 1 'pkgver' <<< $v_online | sed 's/^$/pkgver/') + echo ${v_full_online/pkgver=/} +} + +# Check for internet connection +if ping -q -c 1 -W 1 google.com >/dev/null; then + + version=$(cat ~/.config/ml4w/version/name) + online=$(get_latest_release "mylinuxforwork/hyprland-dotfiles") + echo $version "<" $online + testvercomp $version $online "<" +else + # Network is down + echo "1" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/nwg-dock-hyprland/launch.sh b/configs/dotfiles/hyprland/gulfport_default/.config/nwg-dock-hyprland/launch.sh new file mode 100644 index 0000000..af98c1b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/nwg-dock-hyprland/launch.sh @@ -0,0 +1,9 @@ +# ___ __ +# / _ \___ ____/ /__ +# / // / _ \/ __/ '_/ +# /____/\___/\__/_/\_\ +# + +if [ -f $HOME/.config/ml4w/settings/nwg-dock-hyprland.sh ] ;then + nwg-dock-hyprland -i 32 -w 5 -mb 10 -ml 10 -mr 10 -x -c "rofi -show drun" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/nwg-dock-hyprland/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/nwg-dock-hyprland/style.css new file mode 100644 index 0000000..20a6067 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/nwg-dock-hyprland/style.css @@ -0,0 +1,43 @@ +window { + background: rgba(0, 0, 0, 0.8); + border-radius: 10px; + border-style: solid; + border-width: 3px; + border-color: #ffffff; + opacity:0.8; +} + +#box { + /* Define attributes of the box surrounding icons here */ + padding: 10px +} + +#active { + /* This is to underline the button representing the currently active window */ + border-bottom: solid 0px; + border-color: #FFFFFF +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #999 +} + +button { + padding: 4px; + margin-left: 4px; + margin-right: 4px; + color: #eee; + font-size: 12px +} + +button:hover { + background-color: rgba(255, 255, 255, 0.15); + border-radius: 10px; +} + +button:focus { + box-shadow: none +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ohmyposh/EDM115-newline.omp.json b/configs/dotfiles/hyprland/gulfport_default/.config/ohmyposh/EDM115-newline.omp.json new file mode 100644 index 0000000..ce4f834 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ohmyposh/EDM115-newline.omp.json @@ -0,0 +1,192 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "transient_prompt": { + "template": " ❯❯ {{ .AbsolutePWD }} : ", + "foreground": "#f8f8f2", + "background": "transparent", + "newline": true + }, + "blocks": [ + { + "type": "prompt", + "alignment": "left", + "segments": [ + { + "properties": { + "cache_duration": "none" + }, + "template": "\n\u256d\u2500", + "foreground": "#f8f8f2", + "type": "text", + "style": "plain" + }, + { + "properties": { + "cache_duration": "none" + }, + "leading_diamond": "\ue0b6", + "template": "{{ .UserName }}", + "foreground": "#f8f8f2", + "background": "#282a36", + "type": "session", + "style": "diamond" + }, + { + "properties": { + "cache_duration": "none" + }, + "template": "\udb85\udc0b", + "foreground": "#ff5555", + "powerline_symbol": "\ue0b0", + "background": "#282a36", + "type": "root", + "style": "powerline" + }, + { + "properties": { + "cache_duration": "none" + }, + "template": "{{ .Icon }} ", + "foreground": "#f8f8f2", + "powerline_symbol": "\ue0b0", + "background": "#282a36", + "type": "os", + "style": "powerline" + }, + { + "properties": { + "cache_duration": "none", + "style": "full" + }, + "trailing_diamond": "\ue0b4", + "template": " \udb80\ude56 {{ path .Path .Location }}", + "foreground": "#282a36", + "background": "#cccccc", + "type": "path", + "style": "diamond" + } + ] + }, + { + "type": "prompt", + "alignment": "right", + "segments": [ + { + "properties": { + "branch_icon": "", + "cache_duration": "none", + "display_changing_color": true, + "fetch_status": true, + "fetch_upstream_icon": true, + "full_branch_path": true + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue725 ({{ url .UpstreamIcon .UpstreamURL }} {{ url .HEAD .UpstreamURL }}){{ if gt .Ahead 0 }}<#50fa7b> +{{ .Ahead }}{{ end }}{{ if gt .Behind 0 }}<#ff5555> -{{ .Behind }}{{ end }}{{ if .Working.Changed }}<#f8f8f2> \uf044 {{ .Working.String }}{{ end }}{{ if .Staging.Changed }}<#f8f8f2> \uf046 {{ .Staging.String }}{{ end }}", + "foreground": "#282a36", + "background": "#ffb86c", + "type": "git", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue718 {{ .Full }}", + "foreground": "#282a36", + "background": "#50fa7b", + "type": "node", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files", + "extensions": [ + "package-lock.json" + ] + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue71e {{ .Full }}", + "foreground": "#282a36", + "background": "#ff5555", + "type": "npm", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files", + "extensions": [ + "pnpm-lock.yaml" + ] + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\udb80\udec1 {{ .Full }}", + "foreground": "#282a36", + "background": "#ffb86c", + "type": "pnpm", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files" + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue73c {{ .Full }}", + "foreground": "#282a36", + "background": "#50fa7b", + "type": "python", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue738 {{ .Full }}", + "foreground": "#282a36", + "background": "#ff79c6", + "type": "java", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\uf308 {{ .Context }}", + "foreground": "#282a36", + "background": "#8be9fd", + "type": "docker", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue73d {{ .Full }}", + "foreground": "#f8f8f2", + "background": "#6272a4", + "type": "php", + "style": "diamond" + } + ] + }, + { + "type": "prompt", + "alignment": "left", + "segments": [ + { + "properties": { + "always_enabled": true, + "cache_duration": "none" + }, + "template": "\u2570\u2500 ❯❯", + "foreground": "#f8f8f2", + "type": "text", + "style": "diamond" + } + ], + "newline": true + } + ], + "version": 3, + "patch_pwsh_bleed": true, + "final_space": true +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/ohmyposh/zen.toml b/configs/dotfiles/hyprland/gulfport_default/.config/ohmyposh/zen.toml new file mode 100644 index 0000000..832848d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/ohmyposh/zen.toml @@ -0,0 +1,74 @@ +#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json + +version = 2 +final_space = true +console_title_template = '{{ .Shell }} in {{ .Folder }}' + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'path' + style = 'plain' + background = 'transparent' + foreground = 'blue' + template = '{{ .Path }}' + + [blocks.segments.properties] + style = 'full' + + [[blocks.segments]] + type = 'git' + style = 'plain' + foreground = 'p:grey' + background = 'transparent' + template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} {{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}' + + [blocks.segments.properties] + branch_icon = '' + commit_icon = '@' + fetch_status = true + +[[blocks]] + type = 'rprompt' + overflow = 'hidden' + + [[blocks.segments]] + type = 'executiontime' + style = 'plain' + foreground = 'yellow' + background = 'transparent' + template = '{{ .FormattedMs }}' + + [blocks.segments.properties] + threshold = 5000 + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'text' + style = 'plain' + foreground_templates = [ + "{{if gt .Code 0}}red{{end}}", + "{{if eq .Code 0}}magenta{{end}}", + ] + background = 'transparent' + template = '❯' + +[transient_prompt] + foreground_templates = [ + "{{if gt .Code 0}}red{{end}}", + "{{if eq .Code 0}}magenta{{end}}", + ] + background = 'transparent' + template = '❯ ' + +[secondary_prompt] + foreground = 'magenta' + background = 'transparent' + template = '❯❯ ' \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/qt6ct/qt6ct.conf b/configs/dotfiles/hyprland/gulfport_default/.config/qt6ct/qt6ct.conf new file mode 100644 index 0000000..e5ace90 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/qt6ct/qt6ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/darker.conf +custom_palette=true +icon_theme=breeze-dark +standard_dialogs=default +style=Breeze + +[Fonts] +fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" +general="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x2\x97\0\0\0\0\0\0\0\0\xff\xff\xff\xfe\xff\xff\xff\xfe\0\0\0\0\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x2\x97) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-cliphist.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-cliphist.rasi new file mode 100644 index 0000000..a2cbd7a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-cliphist.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-compact.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-compact.rasi new file mode 100644 index 0000000..4e59ac5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-compact.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-hyprshade.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-hyprshade.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-hyprshade.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-old.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-old.rasi new file mode 100644 index 0000000..06fb55f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-old.rasi @@ -0,0 +1,266 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@import "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +/* ---- Window ---- */ +window { + width: 900px; + x-offset: 0px; + y-offset: 0px; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: #FFFFFF; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + 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: false; + dynamic: false; + 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/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-screenshot.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-screenshot.rasi new file mode 100644 index 0000000..d4e70ed --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-screenshot.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 0em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-short.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-short.rasi new file mode 100644 index 0000000..dcb8cd8 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-short.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 20em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-themes.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-themes.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config-themes.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config.rasi new file mode 100644 index 0000000..50b759b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/rofi/config.rasi @@ -0,0 +1,241 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: " "; + display-run: " "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + height: 35em; + width: 56em; + transparency: "real"; + fullscreen: false; + enabled: true; + cursor: "default"; + spacing: 0em; + padding: 0em; + border: @border-width; + border-color: @color11; + border-radius: @border-radius; + background-color: @background; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: vertical; + children: [ "inputbar" , "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 5em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 0em 0em 1em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: horizontal; + children: [ "listview" , "mode-switcher" ]; + background-color: @background; +} + +listview { + padding: 1.5em; + spacing: 0.5em; + enabled: true; + columns: 2; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color11; + text-color: @foreground; +} + + +// Elements // +element { + enabled: true; + spacing: 0em; + padding: 0.5em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 3em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.1; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +// Error message // +error-message { + text-color: @foreground; + background-color: @background; + text-transform: capitalize; + children: [ "textbox" ]; +} + +textbox { + text-color: inherit; + background-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/vim/.vimrc b/configs/dotfiles/hyprland/gulfport_default/.config/vim/.vimrc new file mode 100644 index 0000000..44f1ead --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/vim/.vimrc @@ -0,0 +1,72 @@ +" _ _ _ +" | \ | | ___ _____ _(_)_ __ ___ +" | \| |/ _ \/ _ \ \ / / | '_ ` _ \ +" | |\ | __/ (_) \ V /| | | | | | | +" |_| \_|\___|\___/ \_/ |_|_| |_| |_| +" +" by Stephan Raabe (2023) +" ----------------------------------------------------- + +" Add line numbers +set number + +" Disable compatibility with vi which can cause unexpected issues. +set nocompatible + +" Enable type file detection. Vim will be able to try to detect the type of file in use. +filetype on + +" Enable plugins and load plugin for the detected file type. +filetype plugin on + +" Load an indent file for the detected file type. +filetype indent on + +" Turn syntax highlighting on. +syntax on + +" Set shift width to 4 spaces. +set shiftwidth=4 + +" Set tab width to 4 columns. +set tabstop=4 + +" Use space characters instead of tabs. +set expandtab + +" Do not save backup files. +set nobackup + +" Do not let cursor scroll below or above N number of lines when scrolling. +set scrolloff=10 + +" Set Mouse support +set mouse=a + +" Do not wrap lines. Allow long lines to extend as far as the line goes. +" set nowrap + +" While searching though a file incrementally highlight matching characters as you type. +set incsearch + +" Ignore capital letters during search. +set ignorecase + +" Override the ignorecase option if searching for capital letters. +" This will allow you to search specifically for capital letters. +set smartcase + +" Show partial command you type in the last line of the screen. +set showcmd + +" Show the mode you are on the last line. +set showmode + +" Show matching words during a search. +set showmatch + +" Use highlighting when doing a search. +set hlsearch + +" Set the commands to save in history default number is 20. +set history=1000 diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-hyprland.conf b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-hyprland.conf new file mode 100644 index 0000000..84e2394 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-hyprland.conf @@ -0,0 +1,18 @@ +$background = rgb({background.strip}) +$foreground = rgb({foreground.strip}) +$color0 = rgb({color0.strip}) +$color1 = rgb({color1.strip}) +$color2 = rgb({color2.strip}) +$color3 = rgb({color3.strip}) +$color4 = rgb({color4.strip}) +$color5 = rgb({color5.strip}) +$color6 = rgb({color6.strip}) +$color7 = rgb({color7.strip}) +$color8 = rgb({color8.strip}) +$color9 = rgb({color9.strip}) +$color10 = rgb({color10.strip}) +$color11 = rgb({color11.strip}) +$color12 = rgb({color12.strip}) +$color13 = rgb({color13.strip}) +$color14 = rgb({color14.strip}) +$color15 = rgb({color15.strip}) \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-rofi-pywal.rasi b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-rofi-pywal.rasi new file mode 100644 index 0000000..f0b1665 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-rofi-pywal.rasi @@ -0,0 +1,20 @@ +* {{ + background: rgba(0,0,1,0.5); + foreground: #FFFFFF; + 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/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-waybar.css b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-waybar.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-waybar.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-wlogout.css b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-wlogout.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/wal/templates/colors-wlogout.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/launch.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/launch.sh new file mode 100644 index 0000000..90eadfb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/launch.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# __ +# _ _____ ___ __/ / ___ _____ +# | |/|/ / _ `/ // / _ \/ _ `/ __/ +# |__,__/\_,_/\_, /_.__/\_,_/_/ +# /___/ +# +# ----------------------------------------------------- +# Quit all running waybar instances +# ----------------------------------------------------- +killall waybar +pkill waybar +sleep 0.5 + +# ----------------------------------------------------- +# Default theme: /THEMEFOLDER;/VARIATION +# ----------------------------------------------------- +themestyle="/ml4w-modern;/ml4w-modern/light" + +# ----------------------------------------------------- +# Get current theme information from ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ -f ~/.config/ml4w/settings/waybar-theme.sh ]; then + themestyle=$(cat ~/.config/ml4w/settings/waybar-theme.sh) +else + touch ~/.config/ml4w/settings/waybar-theme.sh + echo "$themestyle" > ~/.config/ml4w/settings/waybar-theme.sh +fi + +IFS=';' read -ra arrThemes <<< "$themestyle" +echo ":: Theme: ${arrThemes[0]}" + +if [ ! -f ~/.config/waybar/themes${arrThemes[1]}/style.css ]; then + themestyle="/ml4w;/ml4w/light" +fi + +# ----------------------------------------------------- +# Loading the configuration +# ----------------------------------------------------- +config_file="config" +style_file="style.css" + +# Standard files can be overwritten with an existing config-custom or style-custom.css +if [ -f ~/.config/waybar/themes${arrThemes[0]}/config-custom ] ;then + config_file="config-custom" +fi +if [ -f ~/.config/waybar/themes${arrThemes[1]}/style-custom.css ] ;then + style_file="style-custom.css" +fi + +# Check if waybar-disabled file exists +if [ ! -f $HOME/.cache/waybar-disabled ] ;then + waybar -c ~/.config/waybar/themes${arrThemes[0]}/$config_file -s ~/.config/waybar/themes${arrThemes[1]}/$style_file & +fi + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/modules.json b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/modules.json new file mode 100644 index 0000000..28fb988 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/modules.json @@ -0,0 +1,387 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +{ + // Workspaces + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty", "kitty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip-format": "Open Sidebar" + }, + + // Empty + "custom/empty": { + "format": "" + }, + + // Tools + "custom/tools": { + "format": "", + "tooltip-format": "Tools" + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip-format": "Left: Open clipboard Manager\nRight: Delete an entry\nMiddle: Clear list" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "interval": 1800, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "bash -c waypaper &", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip-format": "Left: Select a wallpaper\nRight: Select wallpaper effect" + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip-format": "Select a waybar theme" + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "sleep 0.1 && com.ml4w.dotfilessettings", + "tooltip-format": "ML4W Dotfiles Settings" + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": " ", + "on-click": "~/.config/ml4w/settings/ai.sh", + "tooltip-format": "AI Support" + }, + + // Calculator + "custom/calculator": { + "format": "", + "on-click": "qalculate-gtk", + "tooltip-format": "Open calculator" + }, + + // Windows VM + "custom/windowsvm": { + "format": "", + "on-click": "~/.config/ml4w/scripts/launchvm.sh", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + // START APPS LABEL + "format": "Apps", + // END APPS LABEL + "on-click": "sleep 0.2;pkill rofi || rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Rofi Application Launcher + "custom/appmenuicon": { + "format": "", + "on-click": "sleep 0.2;rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "~/.config/ml4w/scripts/wlogout.sh", + "on-click-right": "hyprlock", + "tooltip-format": "Left: Power menu\nRight: Lock screen" + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "tooltip-format": "Toggle Screen Shader", + "on-click": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh rofi" + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle" + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags toggle calendar", + "timezone": "", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": ["custom/system", "disk", "cpu", "memory", "hyprland/language"] + }, + + // Group Tools + "group/tools": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/tools", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade" + ] + }, + + // Group Links + "group/links": { + "orientation": "horizontal", + "modules": [ + "custom/chatgpt", + "custom/empty" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": true + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {essid} ({signalStrength}%)", + "format-ethernet": " {ifname}", + "format-disconnected": "Disconnected ⚠", + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}", + "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "~/.config/ml4w/settings/networkmanager.sh", + "on-click-right": "~/.config/ml4w/scripts/nm-applet.sh toggle", + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format": " {status}", + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false + }, + + // backlight: + "backlight": { + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "scroll-step": 1 + } +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ai-icon-20.png b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ai-icon-20.png new file mode 100644 index 0000000..a070dd4 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ai-icon-20.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ai-icon.png b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ai-icon.png new file mode 100644 index 0000000..398379b Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ai-icon.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/hyprland-icon-20.png b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/hyprland-icon-20.png new file mode 100644 index 0000000..0d36ec2 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/hyprland-icon-20.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/hyprland-icon.png b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/hyprland-icon.png new file mode 100644 index 0000000..c87b767 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/hyprland-icon.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-20.png b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-20.png new file mode 100644 index 0000000..df25ccb Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-20.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-black.svg b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-black.svg new file mode 100644 index 0000000..011b817 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-black.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-dark.png b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-dark.png new file mode 100644 index 0000000..73ec085 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-dark.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-white.svg b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-white.svg new file mode 100644 index 0000000..c19407d --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon.png b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon.png new file mode 100644 index 0000000..92a54e0 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon.svg b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon.svg new file mode 100644 index 0000000..fa8e063 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/ml4w-icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai-black.svg b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai-black.svg new file mode 100644 index 0000000..3b4eff9 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai-black.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai-white.svg b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai-white.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai-white.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai.svg b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/assets/openai.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/config new file mode 100644 index 0000000..b02f10e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/config @@ -0,0 +1,161 @@ +{ + // "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": ["hyprland/workspaces","custom/waybarthemes"], + "modules-center": ["hyprland/window"], + "modules-right": ["custom/ml4w-welcome","mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip": false + }, + // Waybar Themes + "custom/waybarthemes": { + "format": "Themes", + "on-click": "~/.config/ml4w/waybar/themeswitcher.sh", + "tooltip": false + }, + "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 ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/config.sh new file mode 100644 index 0000000..71a3429 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Default Theme" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/style.css new file mode 100644 index 0000000..cafc802 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/default/style.css @@ -0,0 +1,289 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + 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; +} + +#custom-ml4w-welcome { + margin-right: 15px; + background-image: url("../assets/ml4w-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 20px; + margin-right: 0px; +} + +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; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/black/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/black/config.sh new file mode 100644 index 0000000..cea609a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/black/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/black/style.css new file mode 100644 index 0000000..129c909 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/black/style.css @@ -0,0 +1,29 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh new file mode 100644 index 0000000..7f55337 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/colored/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/colored/style.css new file mode 100644 index 0000000..de0b369 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/config new file mode 100644 index 0000000..ea2b0cb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh new file mode 100644 index 0000000..df6f8c2 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/dark/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/dark/style.css new file mode 100644 index 0000000..54e8317 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/light/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/light/config.sh new file mode 100644 index 0000000..da067d2 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Light" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/light/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/light/style.css new file mode 100644 index 0000000..5caa16a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh new file mode 100644 index 0000000..dea299a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css new file mode 100644 index 0000000..fe8dbb3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/white/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/white/config.sh new file mode 100644 index 0000000..1592654 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/white/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/white/style.css new file mode 100644 index 0000000..a0ba4a7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur-bottom/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/black/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/black/config.sh new file mode 100644 index 0000000..5c6fb05 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/black/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/black/style.css new file mode 100644 index 0000000..b8a549a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/black/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/colored/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/colored/config.sh new file mode 100644 index 0000000..7338fef --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/colored/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/config new file mode 100644 index 0000000..fcd29ce --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/dark/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/dark/config.sh new file mode 100644 index 0000000..a3b9e88 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/dark/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/dark/style.css new file mode 100644 index 0000000..8470788 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/light/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/light/config.sh new file mode 100644 index 0000000..ca5fe11 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Light" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/light/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/mixed/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/mixed/config.sh new file mode 100644 index 0000000..eb698ad --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/mixed/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/style.css new file mode 100644 index 0000000..12734d3 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/style.css @@ -0,0 +1,478 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left:14px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 8px 15px 8px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 14px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 20px; +} + +#custom-settings { + margin-right:12px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; + opacity: 0.8; +} + +#custom-chatgpt { + margin-right: 12px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 16px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 17px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 8px 16px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; + color: @textcolor3; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/white/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/white/config.sh new file mode 100644 index 0000000..e458b19 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/white/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/white/style.css new file mode 100644 index 0000000..f50cb7e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-blur/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/black/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/black/config.sh new file mode 100644 index 0000000..5837eb6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/black/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/black/style.css new file mode 100644 index 0000000..6bae0cd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/colored/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/colored/config.sh new file mode 100644 index 0000000..0a31bac --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/colored/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/colored/style.css new file mode 100644 index 0000000..53bf65c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/config new file mode 100644 index 0000000..8e55c1b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 14, + "layer": "top", + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/dark/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/dark/config.sh new file mode 100644 index 0000000..a6fe8ff --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/dark/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/dark/style.css new file mode 100644 index 0000000..2179f76 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/light/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/light/config.sh new file mode 100644 index 0000000..e016502 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/light/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/light/style.css new file mode 100644 index 0000000..833b8c4 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/mixed/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/mixed/config.sh new file mode 100644 index 0000000..e5bc67e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/mixed/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/mixed/style.css new file mode 100644 index 0000000..f3ee832 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/white/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/white/config.sh new file mode 100644 index 0000000..71dd9f5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/white/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/white/style.css new file mode 100644 index 0000000..704bfbd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-bottom/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/config new file mode 100644 index 0000000..4614d63 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/config @@ -0,0 +1,88 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": [" ", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Modules Left + "modules-left": [ +"custom/appmenuicon", + "hyprland/workspaces", + "group/links", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", + "custom/exit", + "clock", +"tray", + "custom/ml4w-welcome" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/config.sh new file mode 100644 index 0000000..eac2047 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Minimal" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/style.css new file mode 100644 index 0000000..be884b6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-minimal/style.css @@ -0,0 +1,431 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.4); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left: 10px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + + #workspaces { + margin: 3px 7px 3px 3px; + border: 0px; + font-size: 14px; + color: @textcolor1; +} + +#workspaces button { + border: 0px; + margin:4px 5px 4px 0px; + padding:0px 4px 0px 4px; + color: @textcolor3; + transition: all 0.5s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 0px 15px 0px 0px; + border-radius: 12px; + color:@textcolor; + font-size:14px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 14px; + font-weight: bold; + color: @iconcolor; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-settings { + margin-right: 15px; +} + +#custom-browser { + margin-right: 12px; +} + +#custom-wallpaper { + margin-right: 14px; +} + +#custom-chatgpt { + margin-right: 10px; + background-image: url("../assets/ai-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 23px; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-ml4w-hyprland-settings { + margin-right: 12px; + background-image: url("../assets/hyprland-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 16px; +} + + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 16px; + font-weight: bold; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 14px; + font-weight: bold; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenuicon { + font-size: 20px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:16px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#custom-updates.green { +} + +#custom-updates.yellow { + color: #ff9a3c; +} + +#custom-updates.red { + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Youtube + * ----------------------------------------------------- */ + +#custom-youtube { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:14px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + font-size: 15px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; + background-color: transparent; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + + #pulseaudio { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#pulseaudio.muted { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#network.ethernet { + color: @textcolor; +} + +#network.wifi { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/black/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/black/config.sh new file mode 100644 index 0000000..63c42a1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/black/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/colored/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/colored/config.sh new file mode 100644 index 0000000..61e80a5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/colored/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/config new file mode 100644 index 0000000..f570e02 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 14, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "hyprland/workspaces", + "group/links", +//"wlr/taskbar", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/dark/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/dark/config.sh new file mode 100644 index 0000000..e6f8d5b --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/dark/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/light/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/light/config.sh new file mode 100644 index 0000000..0c6cdb1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Light" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/light/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/mixed/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/mixed/config.sh new file mode 100644 index 0000000..46f3eb5 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/mixed/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/style.css new file mode 100644 index 0000000..12943e1 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/style.css @@ -0,0 +1,470 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + + * { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 18px 3px 1px; + padding: 0px 2px; + border-radius: 5px 5px 5px 5px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 6px; + margin: 3px 2px; + border-radius: 3px 3px 3px 3px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.1s linear; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 3px 3px 3px 3px; + min-width: 30px; + transition: all 0.1s linear; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 5px 5px 5px 5px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 3px 15px 3px 0px; + padding: 2px 10px 0px 10px; + border-radius: 5px 5px 5px 5px; + color:white; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 5px 5px 5px 5px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 5px 5px 5px 5px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 5px 5px 5px 5px; + padding: 0px 10px 0px 10px; + margin: 2px 17px 2px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 3px 5px 3px 5px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 15px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/white/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/white/config.sh new file mode 100644 index 0000000..efe0528 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/white/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w-modern/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/black/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/black/config.sh new file mode 100644 index 0000000..39e19cb --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/black/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/colored/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/colored/config.sh new file mode 100644 index 0000000..25dbee7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/colored/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/config new file mode 100644 index 0000000..12ba709 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/config @@ -0,0 +1,56 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 14, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/dark/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/dark/config.sh new file mode 100644 index 0000000..6c2cf9f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/dark/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/light/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/light/config.sh new file mode 100644 index 0000000..55e4ffd --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/light/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/mixed/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/mixed/config.sh new file mode 100644 index 0000000..c00e231 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/mixed/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/style.css new file mode 100644 index 0000000..68a179c --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/style.css @@ -0,0 +1,471 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 1px 3px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 5px 15px 5px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 3px 17px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/white/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/white/config.sh new file mode 100644 index 0000000..685088f --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/white/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/ml4w/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/config b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/config new file mode 100644 index 0000000..6084f60 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/config @@ -0,0 +1,66 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + + // Position TOP + "layer": "top", + "margin-bottom": 0, + + // Position BOTTOM + // "position": "bottom", + // "margin-top": 0, + // "margin-bottom": 14, + + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/themes/starter/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "custom/settings", + //"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/starter" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/config.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/config.sh new file mode 100644 index 0000000..a9399f6 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Starter" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/modules.json b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/modules.json new file mode 100644 index 0000000..51e0add --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/modules.json @@ -0,0 +1,351 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // Workspaces + "hyprland/workspaces" : { + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip": false + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "on-click": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh rofi", + "tooltip": false + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle", + "on-click-right": "hyprlock" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "tooltip-format": "{}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "alacritty -e ~/.config/ml4w/scripts/installupdates.sh", + "tooltip": false + }, + + // Theme Starter Label + "custom/starter": { + "format": "THEME STARTER", + "tooltip": false + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "waypaper", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip": false + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip": false + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage", + "tooltip": false + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Filemanager Launcher + "custom/filemanager": { + "format": "", + "on-click": "nautilus", + "tooltip": false + }, + + // Browser Launcher + "custom/browser": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip": false + }, + + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip-format": "Open Sidebar" + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": "", + "on-click": "chromium --app=https://chat.openai.com", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + "format": "Apps", + "on-click": "rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "wlogout", + "tooltip": false + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags -t calendar", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "alacritty -e htop" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "alacritty -e htop" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "alacritty -e htop" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/system", + "disk", + "cpu", + "memory", + "hyprland/language" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Group Quicklinks + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/filemanager", + "custom/browser" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {signalStrength}%", + "format-ethernet": " {ipaddr}", + "format-disconnected": "Not connected", //An empty format will hide the module. + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {essid} ({signalStrength}%)", + "tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "alacritty -e nmtui" + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false, + }, + + // Idle Inhibator + "idle_inhibitor": { + "format": "{icon}", + "tooltip": true, + "format-icons":{ + "activated": "", + "deactivated": "" + }, + "on-click-right": "hyprlock" + } +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/style.css new file mode 100644 index 0000000..21fdcfa --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themes/starter/style.css @@ -0,0 +1,457 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor3; + transition: all 0.3s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 10px 15px 10px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 23px; + font-size: 20px; + font-weight: bold; + color: @iconcolor; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 24px; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 10px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +/* ----------------------------------------------------- + * Other + * ----------------------------------------------------- */ + +label:focus { + background-color: #000000; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themeswitcher.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themeswitcher.sh new file mode 100644 index 0000000..f3e4734 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/themeswitcher.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _ _ +# |_ _| |__ ___ _ __ ___ ___ _____ _(_) |_ ___| |__ ___ _ __ +# | | | '_ \ / _ \ '_ ` _ \ / _ \/ __\ \ /\ / / | __/ __| '_ \ / _ \ '__| +# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ | +# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Default theme folder +# ----------------------------------------------------- +themes_path="$HOME/.config/waybar/themes" + +# ----------------------------------------------------- +# Initialize arrays +# ----------------------------------------------------- +listThemes="" +listNames="" +listNames2="" + +# ----------------------------------------------------- +# Read theme folder +# ----------------------------------------------------- +sleep 0.2 +options=$(find $themes_path -maxdepth 2 -type d) +for value in $options +do + if [ ! $value == "$HOME/.config/waybar/themes/assets" ]; then + if [ ! $value == "$themes_path" ]; then + if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then + result=$(echo $value | sed "s#$HOME/.config/waybar/themes/#/#g") + IFS='/' read -ra arrThemes <<< "$result" + listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result" + if [ -f $themes_path$result/config.sh ]; then + source $themes_path$result/config.sh + listNames+="$theme_name\n" + listNames2+="$theme_name~" + else + listNames+="/${arrThemes[1]};$result\n" + listNames2+="/${arrThemes[1]};$result~" + fi + fi + fi + fi +done + +# ----------------------------------------------------- +# Show rofi dialog +# ----------------------------------------------------- +listNames=${listNames::-2} +choice=$(echo -e "$listNames" | rofi -dmenu -replace -i -config ~/.config/rofi/config-themes.rasi -no-show-icons -width 30 -p "Themes" -format i) +IFS="~" +input=$listNames2 +read -ra array <<< "$input" + +# ----------------------------------------------------- +# Set new theme by writing the theme information to ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ "$choice" ]; then + echo "Loading waybar theme..." + echo "${listThemes[$choice+1]}" > ~/.config/ml4w/settings/waybar-theme.sh + ~/.config/waybar/launch.sh + notify-send "Waybar Theme changed" "to ${array[$choice]}" +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/waybar/toggle.sh b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/toggle.sh new file mode 100644 index 0000000..0d49a4e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/waybar/toggle.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# _____ _ __ __ _ +# |_ _|__ __ _ __ _| | ___ \ \ / /_ _ _ _| |__ __ _ _ __ +# | |/ _ \ / _` |/ _` | |/ _ \ \ \ /\ / / _` | | | | '_ \ / _` | '__| +# | | (_) | (_| | (_| | | __/ \ V V / (_| | |_| | |_) | (_| | | +# |_|\___/ \__, |\__, |_|\___| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ |___/ |___/ +# + +if [ -f ~/.cache/waybar-disabled ] ;then + rm ~/.cache/waybar-disabled +else + touch ~/.cache/waybar-disabled +fi +~/.config/waybar/launch.sh & diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/README.txt b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/README.txt new file mode 100644 index 0000000..4ceecd7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/README.txt @@ -0,0 +1,8 @@ +Select Logout Command depending on your setup: + +Use for Display Manager e.g., sddm (DEFAULT) +sleep 1; hyprctl dispatch exit + +Use for Arch Linux text based login +sleep 1; loginctl terminate-user $USER + diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/hibernate.png b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/hibernate.png new file mode 100644 index 0000000..bf2b001 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/hibernate.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/lock.png b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/lock.png new file mode 100644 index 0000000..da59b10 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/lock.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/logout.png b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/logout.png new file mode 100644 index 0000000..8a25922 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/logout.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/reboot.png b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000..e5fd221 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/reboot.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/shutdown.png b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000..663ca03 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/shutdown.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/suspend.png b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/suspend.png new file mode 100644 index 0000000..af099b9 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/icons/suspend.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/layout b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/layout new file mode 100644 index 0000000..0dfb38a --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/layout @@ -0,0 +1,30 @@ +{ + "label" : "lock", + "action" : "~/.config/hypr/scripts/power.sh lock", + "text" : "Lock", + "keybind" : "l" +} +{ + "label" : "logout", + "action" : "~/.config/hypr/scripts/power.sh exit", + "text" : "Log Out", + "keybind" : "e" +} +{ + "label" : "suspend", + "action" : "~/.config/hypr/scripts/power.sh suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "~/.config/hypr/scripts/power.sh reboot", + "text" : "Restart", + "keybind" : "r" +} +{ + "label" : "shutdown", + "action" : "~/.config/hypr/scripts/power.sh shutdown", + "text" : "Power Off", + "keybind" : "s" +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/noise.png b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/noise.png new file mode 100644 index 0000000..028b188 Binary files /dev/null and b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/noise.png differ diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/style.css b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/style.css new file mode 100644 index 0000000..f533d11 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/wlogout/style.css @@ -0,0 +1,107 @@ +/* + _ _ +__ _| | ___ __ _ ___ _ _| |_ +\ \ /\ / / |/ _ \ / _` |/ _ \| | | | __| + \ V V /| | (_) | (_| | (_) | |_| | |_ + \_/\_/ |_|\___/ \__, |\___/ \__,_|\__| + |___/ + +by Stephan Raabe (2023) +----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../.cache/wal/colors-wlogout.css'; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + background-image: none; + transition: 20ms; + box-shadow: none; +} + +window { + background: url("../ml4w/cache/blurred_wallpaper.png"); + background-size: cover; + font-size: 16pt; + color: #cdd6f4; +} + +button { + background-repeat: no-repeat; + background-position: center; + background-size: 20%; + background-color: rgba(200, 220, 255, 0); + animation: gradient_f 20s ease-in infinite; + border-radius: 80px; /* Increased border radius for a more rounded look */ + border:0px; + transition: all 0.3s cubic-bezier(.55, 0.0, .28, 1.682), box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; +} + +button:focus { + background-size: 22%; + border: 0px; +} + +button:hover { + background-color: @color11; + opacity: 0.8; + color: #cdd6f4; + background-size: 30%; + margin: 30px; + border-radius: 80px; + box-shadow: 0 0 50px @color7; +} + +/* Adjust the size of the icon or content inside the button */ +button span { + font-size: 1.2em; /* Increase the font size */ +} + +/* +----------------------------------------------------- +Buttons +----------------------------------------------------- +*/ + +#lock { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/lock.png")); +} + +#logout { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/logout.png")); +} + +#suspend { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/reboot.png")); +} diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/xsettingsd/xsettingsd.conf b/configs/dotfiles/hyprland/gulfport_default/.config/xsettingsd/xsettingsd.conf new file mode 100644 index 0000000..5065b09 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,9 @@ +Net/ThemeName "Adwaita" +Net/IconThemeName "Papirus-Dark" +Gtk/CursorThemeName "Bibata-Modern-Ice" +Net/EnableEventSounds 1 +EnableInputFeedbackSounds 0 +Xft/Antialias 1 +Xft/Hinting 1 +Xft/HintStyle "hintslight" +Xft/RGBA "rgb" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/00-init b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/00-init new file mode 100644 index 0000000..21833ae --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/00-init @@ -0,0 +1,10 @@ +# ----------------------------------------------------- +# INIT +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Exports +# ----------------------------------------------------- +export EDITOR=nvim +export PATH="/usr/lib/ccache/bin/:$PATH" +export ZSH="$HOME/.oh-my-zsh" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/20-customization b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/20-customization new file mode 100644 index 0000000..be4a139 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/20-customization @@ -0,0 +1,48 @@ +# ----------------------------------------------------- +# CUSTOMIZATION +# ----------------------------------------------------- +POSH=agnoster + +# ----------------------------------------------------- +# oh-myzsh themes: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +# ----------------------------------------------------- +# ZSH_THEME=robbyrussell + +# ----------------------------------------------------- +# oh-myzsh plugins +# ----------------------------------------------------- +plugins=( + git + sudo + web-search + archlinux + zsh-autosuggestions + zsh-syntax-highlighting + fast-syntax-highlighting + copyfile + copybuffer + dirhistory +) + +# Set-up oh-my-zsh +source $ZSH/oh-my-zsh.sh + +# ----------------------------------------------------- +# Set-up FZF key bindings (CTRL R for fuzzy history finder) +# ----------------------------------------------------- +source <(fzf --zsh) + +# zsh history +HISTFILE=~/.zsh_history +HISTSIZE=10000 +SAVEHIST=10000 +setopt appendhistory + +# ----------------------------------------------------- +# Prompt +# ----------------------------------------------------- +# eval "$(oh-my-posh init zsh --config $HOME/.config/ohmyposh/zen.toml)" +eval "$(oh-my-posh init zsh --config $HOME/.config/ohmyposh/EDM115-newline.omp.json)" + +# Shipped Theme +# eval "$(oh-my-posh init zsh --config /usr/share/oh-my-posh/themes/agnoster.omp.json)" diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/25-aliases b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/25-aliases new file mode 100644 index 0000000..358301e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/25-aliases @@ -0,0 +1,57 @@ +# ----------------------------------------------------- +# ALIASES +# ----------------------------------------------------- + +# ----------------------------------------------------- +# General +# ----------------------------------------------------- +alias c='clear' +alias nf='fastfetch' +alias pf='fastfetch' +alias ff='fastfetch' +alias ls='eza -a --icons=always' +alias ll='eza -al --icons=always' +alias lt='eza -a --tree --level=1 --icons=always' +alias shutdown='systemctl poweroff' +alias v='$EDITOR' +alias vim='$EDITOR' +alias ts='~/.config/ml4w/scripts/snapshot.sh' +alias wifi='nmtui' +alias cleanup='~/.config/ml4w/scripts/cleanup.sh' + +# ----------------------------------------------------- +# ML4W Apps +# ----------------------------------------------------- +alias ml4w='com.ml4w.welcome' +alias ml4w-settings='com.ml4w.dotfilessettings' +alias ml4w-hyprland='com.ml4w.hyprland.settings' +alias ml4w-options='ml4w-hyprland-setup -m options' +alias ml4w-sidebar='ags toggle sidebar' +alias ml4w-diagnosis='~/.config/hypr/scripts/diagnosis.sh' +alias ml4w-hyprland-diagnosis='~/.config/hypr/scripts/diagnosis.sh' +alias ml4w-qtile-diagnosis='~/.config/ml4w/qtile/scripts/diagnosis.sh' +alias ml4w-update='~/.config/ml4w/update.sh' + +# ----------------------------------------------------- +# Window Managers +# ----------------------------------------------------- + +alias Qtile='startx' +# Hyprland with Hyprland + +# ----------------------------------------------------- +# Scripts +# ----------------------------------------------------- +alias ascii='~/.config/ml4w/scripts/figlet.sh' + +# ----------------------------------------------------- +# System +# ----------------------------------------------------- +alias update-grub='sudo grub-mkconfig -o /boot/grub/grub.cfg' + +# ----------------------------------------------------- +# Qtile +# ----------------------------------------------------- +alias res1='xrandr --output DisplayPort-0 --mode 2560x1440 --rate 120' +alias res2='xrandr --output DisplayPort-0 --mode 1920x1080 --rate 120' +alias setkb='setxkbmap de;echo "Keyboard set back to de."' diff --git a/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/30-autostart b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/30-autostart new file mode 100644 index 0000000..fd84883 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.config/zshrc/30-autostart @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# AUTOSTART +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Pywal +# ----------------------------------------------------- +cat ~/.cache/wal/sequences + +# ----------------------------------------------------- +# Fastfetch +# ----------------------------------------------------- +if [[ $(tty) == *"pts"* ]]; then + fastfetch --config examples/13 +else + echo + if [ -f /bin/qtile ]; then + echo "Start Qtile X11 with command Qtile" + fi + if [ -f /bin/hyprctl ]; then + echo "Start Hyprland with command Hyprland" + fi +fi diff --git a/configs/dotfiles/hyprland/gulfport_default/.gtkrc-2.0 b/configs/dotfiles/hyprland/gulfport_default/.gtkrc-2.0 new file mode 100644 index 0000000..3c6e20e --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.gtkrc-2.0 @@ -0,0 +1,19 @@ +# DO NOT EDIT! This file will be overwritten by nwg-look. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. + +include "/home/raabe/.gtkrc-2.0.mine" +gtk-theme-name="Adwaita" +gtk-icon-theme-name="Papirus" +gtk-font-name="Cantarell 11" +gtk-cursor-theme-name="Bibata-Modern-Ice" +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="rgb" diff --git a/configs/dotfiles/hyprland/gulfport_default/.zshrc b/configs/dotfiles/hyprland/gulfport_default/.zshrc new file mode 100644 index 0000000..68c72a7 --- /dev/null +++ b/configs/dotfiles/hyprland/gulfport_default/.zshrc @@ -0,0 +1,36 @@ +# _ +# _______| |__ _ __ ___ +# |_ / __| '_ \| '__/ __| +# _ / /\__ \ | | | | | (__ +# (_)___|___/_| |_|_| \___| +# +# ----------------------------------------------------- +# ML4W zshrc loader +# ----------------------------------------------------- + +# DON'T CHANGE THIS FILE + +# You can define your custom configuration by adding +# files in ~/.config/zshrc +# or by creating a folder ~/.config/zshrc/custom +# with copies of files from ~/.config/zshrc +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Load modular configarion +# ----------------------------------------------------- + +for f in ~/.config/zshrc/*; do + if [ ! -d $f ] ;then + c=`echo $f | sed -e "s=.config/zshrc=.config/zshrc/custom="` + [[ -f $c ]] && source $c || source $f + fi +done + +# ----------------------------------------------------- +# Load single customization file (if exists) +# ----------------------------------------------------- + +if [ -f ~/.zshrc_custom ] ;then + source ~/.zshrc_custom +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/Xresources b/configs/dotfiles/hyprland/laptop/.config/Xresources new file mode 100755 index 0000000..6a1c856 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/Xresources @@ -0,0 +1 @@ +Xcursor.theme: Bibata-Modern-Ice diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/app.ts b/configs/dotfiles/hyprland/laptop/.config/ags/app.ts new file mode 100755 index 0000000..26c6a1d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/app.ts @@ -0,0 +1,11 @@ +import { App, Widget } from "astal/gtk3" +import Calendar from "./widget/Calendar" +import Sidebar from "./widget/Sidebar" + +App.start({ + css: "./style.css", + main() { + Sidebar(); + Calendar(); + } +}) diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/application-exit-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/application-exit-symbolic.svg new file mode 100755 index 0000000..66e44f1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/application-exit-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg new file mode 100755 index 0000000..b1ce05f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/fileview-preview-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/fileview-preview-symbolic.svg new file mode 100755 index 0000000..167090d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/fileview-preview-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/image-loading-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/image-loading-symbolic.svg new file mode 100755 index 0000000..b445ad1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/image-loading-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/media-playback-paused-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/media-playback-paused-symbolic.svg new file mode 100755 index 0000000..16d5de7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/media-playback-paused-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/padlock2-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/padlock2-symbolic.svg new file mode 100755 index 0000000..0d51118 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/padlock2-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg new file mode 100755 index 0000000..541721c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/turn-off-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/turn-off-symbolic.svg new file mode 100755 index 0000000..db109c8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/turn-off-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg new file mode 100755 index 0000000..4536935 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-dotfiles-settings.png b/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-dotfiles-settings.png new file mode 100755 index 0000000..938b6f7 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-dotfiles-settings.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-hyprland-settings.png b/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-hyprland-settings.png new file mode 100755 index 0000000..c7e8e29 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-hyprland-settings.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-welcome.png b/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-welcome.png new file mode 100755 index 0000000..7d4efe7 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ags/assets/ml4w-welcome.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/env.d.ts b/configs/dotfiles/hyprland/laptop/.config/ags/env.d.ts new file mode 100755 index 0000000..4e7e508 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/env.d.ts @@ -0,0 +1,21 @@ +const SRC: string + +declare module "inline:*" { + const content: string + export default content +} + +declare module "*.scss" { + const content: string + export default content +} + +declare module "*.blp" { + const content: string + export default content +} + +declare module "*.css" { + const content: string + export default content +} diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/scripts/run_themeswitcher.sh b/configs/dotfiles/hyprland/laptop/.config/ags/scripts/run_themeswitcher.sh new file mode 100755 index 0000000..7c20589 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/scripts/run_themeswitcher.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/waybar/themeswitcher.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/scripts/run_wallpapereffects.sh b/configs/dotfiles/hyprland/laptop/.config/ags/scripts/run_wallpapereffects.sh new file mode 100755 index 0000000..78dcaaf --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/scripts/run_wallpapereffects.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/hypr/scripts/wallpaper-effects.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/style.css b/configs/dotfiles/hyprland/laptop/.config/ags/style.css new file mode 100755 index 0000000..6cf06e8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/style.css @@ -0,0 +1,211 @@ +@import url('../../.cache/wal/colors-waybar.css'); + +* { + all:unset; + font-size: 14px; + font-family: "Fira Sans", sans-serif; + font-weight: normal; +} + +.calendar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; + min-width:320px; +} + +calendar:selected { + background-color:@color11; + padding:0px; +} + +.sidebar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; +} + +.group { + padding:16px; + background-color: rgba(116, 116, 116, 0.1); + border-radius: 20px; +} + +.ml4wwelcomeicon { + background:url("assets/ml4w-welcome.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4wsettingsicon { + background:url("assets/ml4w-dotfiles-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4whyprlandicon { + background:url("assets/ml4w-hyprland-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.btnbar { + border: 1px solid #222222; + padding:5px; + min-height:24px; + border-radius: 24px; + min-width: 24px; + margin:0px 2px 0px 2px; +} + +.btnbar.statusbar { + background:url("assets/icons/image-loading-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpaper { + background:url("assets/icons/fileview-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpapereffects { + background:url("assets/icons/xapp-prefs-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.lock { + background:url("assets/icons/padlock2-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.logout { + background:url("assets/icons/application-exit-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.restart { + background:url("assets/icons/arrow-circular-top-right-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.suspend { + background:url("assets/icons/media-playback-paused-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.exit { + background:url("assets/icons/turn-off-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.midbtn { + background-color: @color11; + font-size: 12px; + padding:10px; + border-radius: 20px; +} + +.AudioSlider { + background-color:@color11; + border-radius:12px; + margin-bottom:10px; +} + +.AudioSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider value { + min-height: 20px; + background-color: #222222; +} + +.AudioSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.AudioSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider { + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider value { + min-height: 20px; + background-color: #222222; +} + +.MicrophoneSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.MicrophoneSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/tsconfig.json b/configs/dotfiles/hyprland/laptop/.config/ags/tsconfig.json new file mode 100755 index 0000000..b239e15 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/tsconfig.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "experimentalDecorators": true, + "strict": true, + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "Bundler", + // "checkJs": true, + // "allowJs": true, + "jsx": "react-jsx", + "jsxImportSource": "/usr/share/astal/gjs/gtk3", + "paths": { + "astal": [ + "/usr/share/astal/gjs" + ], + "astal/*": [ + "/usr/share/astal/gjs/*" + ] + }, + } +} diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/widget/Bar.tsx b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Bar.tsx new file mode 100755 index 0000000..ed1d845 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Bar.tsx @@ -0,0 +1,29 @@ +import { App, Astal, Gtk, Gdk } from "astal/gtk3" +import { Variable } from "astal" + +const time = Variable("").poll(1000, "date") + +export default function Bar(gdkmonitor: Gdk.Monitor) { + return + + + + + + +} diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/widget/Brightness.tsx b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Brightness.tsx new file mode 100755 index 0000000..86214f9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Brightness.tsx @@ -0,0 +1,72 @@ +// Thanks to https://gitlab.com/filippoaceto/ +import GObject, { register, property } from "astal/gobject" +import { monitorFile, readFileAsync } from "astal/file" +import { exec, execAsync } from "astal/process" + +const get = (args: string) => Number(exec(`brightnessctl ${args}`)) +const screen = exec(`bash -c "ls -w1 /sys/class/backlight | head -1"`) +const kbd = exec(`bash -c "ls -w1 /sys/class/leds | head -1"`) + +@register({ GTypeName: "Brightness" }) +export default class Brightness extends GObject.Object { + static instance: Brightness + static get_default() { + if (!this.instance) + this.instance = new Brightness() + + return this.instance + } + + #kbdMax = get(`--device ${kbd} max`) + #kbd = get(`--device ${kbd} get`) + #screenMax = get("max") + #screen = get("get") / (get("max") || 1) + + @property(Number) + get kbd() { return this.#kbd } + + set kbd(value) { + if (value < 0 || value > this.#kbdMax) + return + execAsync(`brightnessctl -d ${kbd} s ${value} -q`).then(() => { + this.#kbd = value + this.notify("kbd") + }) + } + + @property(Number) + get screen() { return this.#screen } + + set screen(percent) { + if (percent < 0) + percent = 0 + + if (percent > 1) + percent = 1 + + if (Math.floor(percent * 100) > 1) + execAsync(`brightnessctl set ${Math.floor(percent * 100)}% -q`).then(() => { + this.#screen = percent + this.notify("screen") + }) + } + + constructor() { + super() + + const screenPath = `/sys/class/backlight/${screen}/brightness` + const kbdPath = `/sys/class/leds/${kbd}/brightness` + + monitorFile(screenPath, async f => { + const v = await readFileAsync(f) + this.#screen = Number(v) / this.#screenMax + this.notify("screen") + }) + + monitorFile(kbdPath, async f => { + const v = await readFileAsync(f) + this.#kbd = Number(v) / this.#kbdMax + this.notify("kbd") + }) + } +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/widget/Calendar.tsx b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Calendar.tsx new file mode 100755 index 0000000..263a77e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Calendar.tsx @@ -0,0 +1,42 @@ +import { GObject } from "astal"; +import { astalify, ConstructProps, App, Astal, Gdk, Gtk } from "astal/gtk3" + +class CalendarGtk extends astalify(Gtk.Calendar) { + static { + GObject.registerClass(this); + } + + constructor( + props: ConstructProps, + ) { + super(props as any); + } +} + +export default function Calendar() { + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + {new CalendarGtk({ + hexpand: true, + vexpand: true, + showDayNames: true, + showDetails: false, + showHeading: true, + showWeekNumbers: true + })} + +} diff --git a/configs/dotfiles/hyprland/laptop/.config/ags/widget/Sidebar.tsx b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Sidebar.tsx new file mode 100755 index 0000000..d2672ba --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ags/widget/Sidebar.tsx @@ -0,0 +1,167 @@ +import { App } from "astal/gtk3" +import Apps from "gi://AstalApps" +import Wp from "gi://AstalWp" +import { Variable, GLib, bind } from "astal" +import { subprocess, exec, execAsync } from "astal/process" +import { Astal, Gtk, Gdk } from "astal/gtk3" +import Brightness from "./Brightness" + +function BrightnessSlider() { + const brightness = Brightness.get_default() + + return + brightness.screen = value} + /> + +} + +function AudioSlider() { + const speaker = Wp.get_default()?.audio.defaultSpeaker! + + return + speaker.volume = value} + value={bind(speaker, "volume")} + /> + +} + +function MicrophoneSlider() { + const microphone = Wp.get_default()?.audio.defaultMicrophone! + + return + microphone.volume = value} + value={bind(microphone, "volume")} + /> + +} + +function openwelcomeapp() { + execAsync("com.ml4w.welcome") + App.get_window("sidebar")!.hide() +} + +function opensettingsapp() { + execAsync("com.ml4w.dotfilessettings") + App.get_window("sidebar")!.hide() +} + +function openhyprlandapp() { + execAsync("com.ml4w.hyprland.settings") + App.get_window("sidebar")!.hide() +} + +function openwallpaper() { + const proc = subprocess(["bash", "-c", "waypaper"]) + App.get_window("sidebar")!.hide() +} + +function openwallpapereffects() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/wallpaper-effects.sh"]) + App.get_window("sidebar")!.hide() +} + +function openwaybarthemes() { + const proc = subprocess(["bash", "-c", "$HOME/.config/waybar/themeswitcher.sh"]) + App.get_window("sidebar")!.hide() +} + +function powerlock() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh lock"]) + App.get_window("sidebar")!.hide() +} + +function powerlogout() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh exit"]) + App.get_window("sidebar")!.hide() +} + +function powersuspend() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh suspend"]) + App.get_window("sidebar")!.hide() +} + +function powerrestart() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh reboot"]) + App.get_window("sidebar")!.hide() +} + +function powerexit() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh shutdown"]) + App.get_window("sidebar")!.hide() +} + +export default function Sidebar() { + + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/dunst/dunstrc b/configs/dotfiles/hyprland/laptop/.config/dunst/dunstrc new file mode 100755 index 0000000..ed3be7e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/dunst/dunstrc @@ -0,0 +1,469 @@ +# _ _ +# __| |_ _ _ __ ___| |_ +# / _` | | | | '_ \/ __| __| +# | (_| | |_| | | | \__ \ |_ +# \__,_|\__,_|_| |_|___/\__| +# +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = (0,300) + + # Position the notification in the top right corner + origin = top-center + + # Offset from the origin + offset = 30x30 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 10 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 30 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 1 + + # Defines color of the frame around the notification window. + frame_color = "#ffffff" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 0 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = "Fira Sans Semibold" 9 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 1 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = "Papirus-Dark,Adwaita" + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only neccesary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 10 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#000000CC" + foreground = "#888888" + timeout = 6 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#000000CC" + foreground = "#ffffff" + timeout = 6 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#900000CC" + foreground = "#ffffff" + frame_color = "#ffffff" + timeout = 6 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/configs/dotfiles/hyprland/laptop/.config/fastfetch/config.jsonc b/configs/dotfiles/hyprland/laptop/.config/fastfetch/config.jsonc new file mode 100755 index 0000000..658682c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/fastfetch/config.jsonc @@ -0,0 +1,104 @@ +// Thanks to Bina +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 2 + } + }, + "display": { + "separator": " ➜ " + }, + "modules": [ + "break", + "break", + "break", + { + "type": "os", + "key": "OS ", + "keyColor": "31", // = color1 + }, + { + "type": "kernel", + "key": " ├  ", + "keyColor": "31", + }, + { + "type": "shell", + "key": " └  ", + "keyColor": "31", + }, + "break", + { + "type": "wm", + "key": "WM ", + "keyColor": "32", + }, + { + "type": "wmtheme", + "key": " ├ 󰉼 ", + "keyColor": "32", + }, + { + "type": "icons", + "key": " ├ 󰀻 ", + "keyColor": "32", + }, + { + "type": "cursor", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminal", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminalfont", + "key": " └  ", + "keyColor": "32", + }, + "break", + { + "type": "host", + "format": "{5} {1} Type {2}", + "key": "PC ", + "keyColor": "33", + }, + { + "type": "cpu", + "format": "{1} ({3}) @ {7} GHz", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "gpu", + "format": "{1} {2} @ {12} GHz", + "key": " ├ 󰢮 ", + "keyColor": "33", + }, + { + "type": "memory", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "swap", + "key": " ├ 󰓡 ", + "keyColor": "33", + }, + { + "type": "disk", + "key": " ├ 󰋊 ", + "keyColor": "33", + }, + { + "type": "monitor", + "key": " └  ", + "keyColor": "33", + }, + "break", + "break", + ] +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/conf/animation.conf b/configs/dotfiles/hyprland/laptop/.config/hypr/conf/animation.conf new file mode 100755 index 0000000..5909926 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/conf/animation.conf @@ -0,0 +1,125 @@ +# ----------------------------------------------------- +# "Dynamic" (default) +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} +# ----------------------------------------------------- +# "Disabled" +# ----------------------------------------------------- +#animations { + #enabled = false +#} +# ----------------------------------------------------- +# "Standard" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + #animation = windows, 1, 7, myBezier + #animation = windowsOut, 1, 7, default, popin 80% + #animation = border, 1, 10, default + #animation = borderangle, 1, 8, default + #animation = fade, 1, 7, default + #animation = workspaces, 1, 6, default +#} +# ----------------------------------------------------- +# "Dynamic" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = wind, 0.05, 0.9, 0.1, 1.05 + #bezier = winIn, 0.1, 1.1, 0.1, 1.1 + #bezier = winOut, 0.3, -0.3, 0, 1 + #bezier = liner, 1, 1, 1, 1 + #animation = windows, 1, 6, wind, slide + #animation = windowsIn, 1, 6, winIn, slide + #animation = windowsOut, 1, 5, winOut, slide + #animation = windowsMove, 1, 5, wind, slide + #animation = border, 1, 1, liner + #animation = borderangle, 1, 30, liner, loop + #animation = fade, 1, 10, default + #animation = workspaces, 1, 5, wind +#} +# ----------------------------------------------------- +# "Classic" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + #animation = windows, 1, 7, myBezier + #animation = windowsOut, 1, 7, default, popin 80% + #animation = border, 1, 10, default + #animation = borderangle, 1, 8, default + #animation = fade, 1, 7, default + #animation = workspaces, 1, 6, default +#} +# ----------------------------------------------------- +# "Fast" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = linear, 0, 0, 1, 1 + #bezier = md3_standard, 0.2, 0, 0, 1 + #bezier = md3_decel, 0.05, 0.7, 0.1, 1 + #bezier = md3_accel, 0.3, 0, 0.8, 0.15 + #bezier = overshot, 0.05, 0.9, 0.1, 1.1 + #bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + #bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + #bezier = fluent_decel, 0.1, 1, 0, 1 + #bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + #bezier = easeOutCirc, 0, 0.55, 0.45, 1 + #bezier = easeOutExpo, 0.16, 1, 0.3, 1 + #animation = windows, 1, 3, md3_decel, popin 60% + #animation = border, 1, 10, default + #animation = fade, 1, 2.5, md3_decel + #animation = workspaces, 1, 3.5, easeOutExpo, slide + #animation = specialWorkspace, 1, 3, md3_decel, slidevert +#} +# ----------------------------------------------------- +# "High" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = wind, 0.05, 0.9, 0.1, 1.05 + #bezier = winIn, 0.1, 1.1, 0.1, 1.1 + #bezier = winOut, 0.3, -0.3, 0, 1 + #bezier = liner, 1, 1, 1, 1 + #animation = windows, 1, 6, wind, slide + #animation = windowsIn, 1, 6, winIn, slide + #animation = windowsOut, 1, 5, winOut, slide + #animation = windowsMove, 1, 5, wind, slide + #animation = border, 1, 1, liner + #animation = borderangle, 1, 30, liner, loop + #animation = fade, 1, 10, default + #animation = workspaces, 1, 5, wind +#} +# ----------------------------------------------------- +# "Moving" +# ----------------------------------------------------- +#animations { + #enabled = true + #bezier = overshot, 0.05, 0.9, 0.1, 1.05 + #bezier = smoothOut, 0.5, 0, 0.99, 0.99 + #bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + #animation = windows, 1, 5, overshot, slide + #animation = windowsOut, 1, 3, smoothOut + #animation = windowsIn, 1, 3, smoothOut + #animation = windowsMove, 1, 4, smoothIn, slide + #animation = border, 1, 5, default + #animation = fade, 1, 5, smoothIn + #animation = fadeDim, 1, 5, smoothIn + #animation = workspaces, 1, 6, default +#} diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/conf/autostart.conf b/configs/dotfiles/hyprland/laptop/.config/hypr/conf/autostart.conf new file mode 100755 index 0000000..3c8f764 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/conf/autostart.conf @@ -0,0 +1,49 @@ +# ___ __ __ __ +# / _ |__ __/ /____ ___ / /____ _____/ /_ +# / __ / // / __/ _ \(_-v0.41, now configured on variable cursor section +env = WLR_RENDERER_ALLOW_SOFTWARE,1 +env = NVD_BACKEND,direct +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = EGL_PLATFORM,wayland +env = ELECTRON_OZONE_PLATFORM_HINT,auto +cursor { + no_hardware_cursors = true +} diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/conf/window.conf b/configs/dotfiles/hyprland/laptop/.config/hypr/conf/window.conf new file mode 100755 index 0000000..9f998bd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/conf/window.conf @@ -0,0 +1,49 @@ +# ----------------------------------------------------- +# Default +# ----------------------------------------------------- +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} +# ----------------------------------------------------- +# No Border +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 0 + #col.active_border = $color11 + #col.inactive_border = rgba(ffffffff) + #layout = dwindle + #resize_on_border = true +#} +# ----------------------------------------------------- +# Border 1 +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 1 + #col.active_border = $color11 + #col.inactive_border = rgba(ffffffff) + #layout = dwindle + #resize_on_border = true +#} +# ----------------------------------------------------- +# Border 1 Reverse +# ----------------------------------------------------- +#general { + #gaps_in = 10 + #gaps_out = 14 + #border_size = 1 + #col.active_border = rgba(ffffffff) + #col.inactive_border = $color11 + #layout = dwindle + #resize_on_border = true +#} + diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite new file mode 100755 index 0000000..0f985b3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-blur b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-blur new file mode 100755 index 0000000..85a5a51 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-blur @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness40 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness40 new file mode 100755 index 0000000..97cafb6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness60 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness60 new file mode 100755 index 0000000..3dc7788 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness80 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness80 new file mode 100755 index 0000000..67bb0ce --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blackwhite-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1 new file mode 100755 index 0000000..f401e1a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness40 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness40 new file mode 100755 index 0000000..d79704a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness60 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness60 new file mode 100755 index 0000000..73028f6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness80 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness80 new file mode 100755 index 0000000..c1984aa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur1-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur2 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur2 new file mode 100755 index 0000000..cb13630 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate new file mode 100755 index 0000000..971c7aa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness40 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness40 new file mode 100755 index 0000000..f6b8bd8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness60 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness60 new file mode 100755 index 0000000..bf45cd6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness80 b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness80 new file mode 100755 index 0000000..2d342c1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/hypridle.conf b/configs/dotfiles/hyprland/laptop/.config/hypr/hypridle.conf new file mode 100755 index 0000000..d02b4ea --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/hypridle.conf @@ -0,0 +1,47 @@ +# _ _ _ _ +# | |__ _ _ _ __ _ __(_) __| | | ___ +# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \ +# | | | | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# +# Version 2.8.3 +# DO NOT REMOVE THE REPLACEMENT COMMENTS +# REQUIRED BY THE ML4W SETTINGS APP +# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/ + +# general { +# ignore_dbus_inhibit = false +# } + +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +# Screenlock +listener { + # HYPRLOCK TIMEOUT + timeout = 600 + # HYPRLOCK ONTIMEOUT + on-timeout = loginctl lock-session +} + +# dpms +listener { + # DPMS TIMEOUT + timeout = 660 + # DPMS ONTIMEOUT + on-timeout = hyprctl dispatch dpms off + # DPMS ONRESUME + on-resume = hyprctl dispatch dpms on +} + +# Suspend +listener { + # SUSPEND TIMEOUT + timeout = 1800 + #SUSPEND ONTIMEOUT + on-timeout = systemctl suspend +} diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/hyprland.conf b/configs/dotfiles/hyprland/laptop/.config/hypr/hyprland.conf new file mode 100755 index 0000000..f59854c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/hyprland.conf @@ -0,0 +1,124 @@ +# ----------------------------------------------------- +# | | | |Gib's _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| Config +# ----------------------------------------------------- +# MONITORS +# See https://wiki.hyprland.org/Configuring/Monitors/ +# ----------------------------------------------------- +monitor=eDP-2,1920x1200@120,0x0,0.9,vrr,1 + +# ----------------------------------------------------- +# WORKSPACE RULES +# https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# ----------------------------------------------------- +#workspace = 1, monitor:eDP-2, default:true +#workspace = 2, monitor:, default:true +#workspace = 3, monitor:eDP-2 +#workspace = 4, monitor: +#workspace = 5, monitor:eDP-2 +#workspace = 6, monitor: + +# ----------------------------------------------------- +# WINDOW RULES +# https://wiki.hyprland.org/Configuring/Window-Rules/ +# ----------------------------------------------------- +windowrule = tile,^(gnome-connections)$ +windowrule = tile,^(jumpclient.exe)$ +windowrule = tile,^(Microsoft-edge)$ +windowrule = tile,^(kitty)$ +windowrule = tile,^(firefox)$ +windowrule = tile,^(Chromium)$ +windowrule = float,^(Bitwarden)$ +windowrule = float,^(Cider)$ +windowrule = float,^(pavucontrol)$ +windowrule = float,^(blueman-manager)$ +windowrule = float,^(nm-connection-editor)$ +windowrule = float,^(qalculate-gtk)$ +# Browser Picture in Picture +windowrulev2 = float, title:^(Picture-in-Picture)$ +windowrulev2 = pin, title:^(Picture-in-Picture)$ +windowrulev2 = move 69.5% 4%, title:^(Picture-in-Picture)$ + +# ----------------------------------------------------- +# CURSOR +# ----------------------------------------------------- +exec-once = hyprctl setcursor Bibata-Modern-Ice 24 +cursor { + min_refresh_rate = 30 + default_monitor = eDP-2 +} + +# ----------------------------------------------------- +# NVIDIA +# https://wiki.hyprland.org/Nvidia/ +# ----------------------------------------------------- +source = ~/.config/hypr/conf/nvidia.conf + +# ----------------------------------------------------- +# KEYBOARD +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = caps:escape + numlock_by_default = true + mouse_refocus = false + follow_mouse = 1 + touchpad { + # FOR DESKTOP/MOUSE + #natural_scroll = false + # FOR LAPTOP/TOUCHPAD + natural_scroll = yes + middle_button_emulation = true + clickfinger_behavior = false + scroll_factor = 1.0 # Touchpad scroll factor + } + sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. +} +gestures { + workspace_swipe = true +} + +# ----------------------------------------------------- +# Load pywal color file +# ----------------------------------------------------- +source = ~/.cache/wal/colors-hyprland.conf + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/window.conf +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/hyprlock.conf b/configs/dotfiles/hyprland/laptop/.config/hypr/hyprlock.conf new file mode 100755 index 0000000..d7e0fda --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/hyprlock.conf @@ -0,0 +1,88 @@ +# _ _ _ +# | |__ _ _ _ __ _ __| | ___ ___| | __ +# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ / +# | | | | |_| | |_) | | | | (_) | (__| < +# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\ +# |___/|_| +# + +general { + ignore_empty_input = true +} + +background { + monitor = + path = $HOME/.config/ml4w/cache/blurred_wallpaper.png # only png supported for now +} + +input-field { + monitor = + size = 200, 50 + outline_thickness = 3 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + outer_color = rgb(151515) + inner_color = rgb(FFFFFF) + font_color = rgb(10, 10, 10) + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = -1 # -1 means complete rounding (circle/oval) + check_color = rgb(204, 136, 34) + fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + fail_transition = 300 # transition time in ms between normal outer_color and fail_color + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + position = 0, -20 + halign = center + valign = center +} + +label { + monitor = + #clock + text = cmd[update:1000] echo "$TIME" + color = rgba(200, 200, 200, 1.0) + font_size = 55 + font_family = Fira Semibold + position = -100, 70 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +label { + monitor = + text = $USER + color = rgba(200, 200, 200, 1.0) + font_size = 20 + font_family = Fira Semibold + position = -100, 160 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +image { + monitor = + path = $HOME/.config/ml4w/cache/square_wallpaper.png + size = 280 # lesser side if not 1:1 ratio + rounding = -1 # negative values mean circle + border_size = 4 + border_color = rgb(221, 221, 221) + rotate = 0 # degrees, counter-clockwise + reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 +# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F + position = 0, 200 + halign = center + valign = center +} diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/laptop/.config/hypr/hyprpaper.conf new file mode 100755 index 0000000..87bc849 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/hyprpaper.conf @@ -0,0 +1,3 @@ +preload = /home/gib/Pictures/Wallpapers/faroe_islands.jpg +wallpaper = eDP-2,/home/gib/Pictures/Wallpapers/faroe_islands.jpg +splash = false diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/cleanup.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/cleanup.sh new file mode 100755 index 0000000..af4196d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ____ _ +# / ___| | ___ __ _ _ __ _ _ _ __ +# | | | |/ _ \/ _` | '_ \| | | | '_ \ +# | |___| | __/ (_| | | | | |_| | |_) | +# \____|_|\___|\__,_|_| |_|\__,_| .__/ +# |_| +# + +# Remove gamemode flag +if [ -f ~/.cache/gamemode ] ;then + rm ~/.cache/gamemode + echo ":: ~/.cache/gamemode removed" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/disabledm.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/disabledm.sh new file mode 100755 index 0000000..ee5e612 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/disabledm.sh @@ -0,0 +1,24 @@ +#!/bin/bash +clear +figlet -f smslant "Disable DM" +echo "Hyprland recommends the start with the tty login." +echo "You can deactivate the current display manager (if exists)." +echo "" +echo "-> Do you really want to deactivate the display manager?" +while true; do + read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn + case $yn in + [Yy]* ) + if [ -f /etc/systemd/system/display-manager.service ]; then + sudo rm /etc/systemd/system/display-manager.service + echo "Current display manager removed." + else + echo "No active display manager found." + fi + break;; + [Nn]* ) + exit + break;; + * ) echo "Please answer yes or no.";; + esac +done \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/gamemode.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/gamemode.sh new file mode 100755 index 0000000..09708fa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/gamemode.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ____ _ +# / ___| __ _ _ __ ___ ___ _ __ ___ ___ __| | ___ +# | | _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \ +# | |_| | (_| | | | | | | __/ | | | | | (_) | (_| | __/ +# \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___| +# +# + +if [ -f ~/.cache/gamemode ] ;then + hyprctl reload + rm ~/.cache/gamemode + notify-send "Gamemode deactivated" "Animations and blur enabled" +else + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + touch ~/.cache/gamemode + notify-send "Gamemode activated" "Animations and blur disabled" +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/gtk.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/gtk.sh new file mode 100755 index 0000000..1b080de --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/gtk.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# ____ _____ _ __ +# / ___|_ _| |/ / +# | | _ | | | ' / +# | |_| | | | | . \ +# \____| |_| |_|\_\ +# +# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + +config="$HOME/.config/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +terminal=$(cat $HOME/.config/ml4w/settings/terminal.sh) + +echo $gtk_theme +echo $icon_theme +echo $cursor_theme +echo $cursor_size +echo $font_name +echo $terminal + +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name" +gsettings set "$gnome_schema" color-scheme "prefer-dark" + +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "$terminal" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal use-generic-terminal-name "true" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings "t" + +if [ -f ~/.config/hypr/conf/cursor.conf ] ;then + echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/.config/hypr/conf/cursor.conf + hyprctl setcursor $cursor_theme $cursor_size +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/hypridle.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/hypridle.sh new file mode 100755 index 0000000..6296fa0 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/hypridle.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# _ _ _ _ _ +# | | | |_ _ _ __ _ __(_) __| | | ___ +# | |_| | | | | '_ \| '__| |/ _` | |/ _ \ +# | _ | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# + +SERVICE="hypridle" +if [[ "$1" == "status" ]]; then + sleep 1 + if pgrep -x "$SERVICE" >/dev/null ;then + echo '{"text": "RUNNING", "class": "active", "tooltip": "Screen locking active\nLeft: Deactivate\nRight: Lock Screen"}' + else + echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated\nLeft: Activate\nRight: Lock Screen"}' + fi +fi +if [[ "$1" == "toggle" ]]; then + if pgrep -x "$SERVICE" >/dev/null ;then + killall hypridle + else + hypridle + fi +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/hyprshade.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/hyprshade.sh new file mode 100755 index 0000000..037441c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/hyprshade.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___ +# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \ +# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/ +# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___| +# |___/|_| +# + +if [[ "$1" == "rofi" ]]; then + + # Open rofi to select the Hyprshade filter for toggle + options="$(hyprshade ls)\noff" + + # Open rofi + choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade") + if [ ! -z $choice ] ;then + echo "hyprshade_filter=\"$choice\"" > ~/.config/ml4w/settings/hyprshade.sh + if [ "$choice" == "off" ] ;then + hyprshade off + notify-send "Hyprshade deactivated" + echo ":: hyprshade turned off" + else + notify-send "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter-50" + + # Check if hyprshade.sh settings file exists and load + if [ -f ~/.config/ml4w/settings/hyprshade.sh ] ;then + source ~/.config/ml4w/settings/hyprshade.sh + fi + + # Toggle Hyprshade + if [ "$hyprshade_filter" != "off" ] ;then + if [ -z $(hyprshade current) ] ;then + echo ":: hyprshade is not running" + hyprshade on $hyprshade_filter + notify-send "Hyprshade activated" "with $(hyprshade current)" + echo ":: hyprshade started with $(hyprshade current)" + else + notify-send "Hyprshade deactivated" + echo ":: Current hyprshade $(hyprshade current)" + echo ":: Switching hyprshade off" + hyprshade off + fi + else + hyprshade off + echo ":: hyprshade turned off" + fi + +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/init-wallpaper-engine.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/init-wallpaper-engine.sh new file mode 100755 index 0000000..6751156 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/init-wallpaper-engine.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# __ ______ _____ _ +# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___ +# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \ +# \ V V / | __/ | |___| | | | (_| | | | | | __/ +# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___| +# |___/ +# + +wallpaper_engine=$(cat $HOME/.config/ml4w/settings/wallpaper-engine.sh) +if [ "$wallpaper_engine" == "swww" ] ;then + # swww + echo ":: Using swww" + swww init + swww-daemon --format xrgb + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +elif [ "$wallpaper_engine" == "hyprpaper" ] ;then + # hyprpaper + echo ":: Using hyprpaper" + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +else + echo ":: Wallpaper Engine disabled" + ~/.config/hypr/scripts/wallpaper.sh init +fi + diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/keybindings.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/keybindings.sh new file mode 100755 index 0000000..d0b9150 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/keybindings.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# _ _ _ _ _ +# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___ +# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __| +# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \ +# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/ +# |___/ |___/ +# +# ----------------------------------------------------- +# Get keybindings location based on variation +# ----------------------------------------------------- +config_file=$(cat ~/.config/hypr/conf/keybinding.conf) +config_file=${config_file/source = ~/} +config_file=${config_file/source=~/} + +# ----------------------------------------------------- +# Path to keybindings config file +# ----------------------------------------------------- +config_file="/home/$USER$config_file" +echo "Reading from: $config_file" + +keybinds="" + +# Detect Start String +while read -r line +do + if [[ "$line" == "bind"* ]]; then + + line="$(echo "$line" | sed 's/$mainMod/SUPER/g')" + line="$(echo "$line" | sed 's/bind = //g')" + line="$(echo "$line" | sed 's/bindm = //g')" + + IFS='#' + read -a strarr <<<"$line" + kb_str=${strarr[0]} + cm_str=${strarr[1]} + + IFS=',' + read -a kbarr <<<"$kb_str" + + item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}" + keybinds=$keybinds$item$'\n' + fi +done < "$config_file" + +sleep 0.2 +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/loadconfig.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/loadconfig.sh new file mode 100755 index 0000000..a51ce6d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl reload \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/moveTo.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/moveTo.sh new file mode 100755 index 0000000..de2492b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/moveTo.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# __ __ _ +# | \/ | _____ _____ | |_ ___ +# | |\/| |/ _ \ \ / / _ \ | __/ _ \ +# | | | | (_) \ V / __/ | || (_) | +# |_| |_|\___/ \_/ \___| \__\___/ +# + +# Function to log messages (useful for debugging) +log_message() { + # echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> ~/moveto_log.txt + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +# Get the target workspace from the argument +target_workspace=$1 + +# Check if a target workspace was provided +if [ -z "$target_workspace" ]; then + log_message "Error: No target workspace provided" + exit 1 +fi + +# Get the current active workspace +current_workspace=$(hyprctl activewindow -j | jq '.workspace.id') + +if [ -z "$current_workspace" ]; then + log_message "Error: Couldn't determine current workspace" + exit 1 +fi + +log_message "Moving from workspace $current_workspace to $target_workspace" + +# Get all window addresses in the current workspace +window_addresses=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $current_workspace) | .address") + +# Move each window to the target workspace +for address in $window_addresses; do + log_message "Moving window $address to workspace $target_workspace" + hyprctl dispatch movetoworkspacesilent "$target_workspace,address:$address" +done + +log_message "Finished moving windows" + +# Switch to the target workspace +hyprctl dispatch workspace "$target_workspace" + +log_message "Switched to workspace $target_workspace" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/power.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/power.sh new file mode 100755 index 0000000..8037fbd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/power.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# ____ +# | _ \ _____ _____ _ __ +# | |_) / _ \ \ /\ / / _ \ '__| +# | __/ (_) \ V V / __/ | +# |_| \___/ \_/\_/ \___|_| +# + +# Check if eww is open +FILE="$HOME/.cache/ml4w_sidebar" + +if [[ "$1" == "exit" ]]; then + echo ":: Exit" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + killall -9 Hyprland + sleep 2 +fi + +if [[ "$1" == "lock" ]]; then + echo ":: Lock" + sleep 0.5 + hyprlock +fi + +if [[ "$1" == "reboot" ]]; then + echo ":: Reboot" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl reboot +fi + +if [[ "$1" == "shutdown" ]]; then + echo ":: Shutdown" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl poweroff +fi + +if [[ "$1" == "suspend" ]]; then + echo ":: Suspend" + sleep 0.5 + systemctl suspend +fi + +if [[ "$1" == "hibernate" ]]; then + echo ":: Hibernate" + sleep 1; + systemctl hibernate +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/restart-hypridle.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/restart-hypridle.sh new file mode 100755 index 0000000..fe29461 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/restart-hypridle.sh @@ -0,0 +1,5 @@ +#!/bin/bash +killall hypridle +sleep 1 +hypridle & +notify-send "hypridle has been restarted." \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/screenshot.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/screenshot.sh new file mode 100755 index 0000000..d08557a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/screenshot.sh @@ -0,0 +1,224 @@ +#!/bin/bash +# ____ _ _ +# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_ +# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __| +# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_ +# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__| +# +# Based on https://github.com/hyprwm/contrib/blob/main/grimblast/screenshot.sh +# ----------------------------------------------------- + +# Screenshots will be stored in $HOME by default. +# The screenshot will be moved into the screenshot directory + +# Add this to ~/.config/user-dirs.dirs to save screenshots in a custom folder: +# XDG_SCREENSHOTS_DIR="$HOME/Screenshots" + +prompt='Screenshot' +mesg="DIR: ~/Screenshots" + +# Screenshot Filename +source ~/.config/ml4w/settings/screenshot-filename.sh + +# Screenshot Folder +source ~/.config/ml4w/settings/screenshot-folder.sh + +# Screenshot Editor +export GRIMBLAST_EDITOR="$(cat ~/.config/ml4w/settings/screenshot-editor.sh)" + +# Example for keybindings +# bind = SUPER, p, exec, grimblast save active +# bind = SUPER SHIFT, p, exec, grimblast save area +# bind = SUPER ALT, p, exec, grimblast save output +# bind = SUPER CTRL, p, exec, grimblast save screen + +# Options +option_1="Immediate" +option_2="Delayed" + +option_capture_1="Capture Everything" +option_capture_2="Capture Active Display" +option_capture_3="Capture Selection" + +option_time_1="5s" +option_time_2="10s" +option_time_3="20s" +option_time_4="30s" +option_time_5="60s" +#option_time_4="Custom (in seconds)" # Roadmap or someone contribute :) + +list_col='1' +list_row='2' + +copy='Copy' +save='Save' +copy_save='Copy & Save' +edit='Edit' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take screenshot" +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2" | rofi_cmd +} + +#### +# Choose Timer +# CMD +timer_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 5 -width 30 -p "Choose timer" +} + +# Ask for confirmation +timer_exit() { + echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | timer_cmd +} + +# Confirm and execute +timer_run() { + selected_timer="$(timer_exit)" + if [[ "$selected_timer" == "$option_time_1" ]]; then + countdown=5 + ${1} + elif [[ "$selected_timer" == "$option_time_2" ]]; then + countdown=10 + ${1} + elif [[ "$selected_timer" == "$option_time_3" ]]; then + countdown=20 + ${1} + elif [[ "$selected_timer" == "$option_time_4" ]]; then + countdown=30 + ${1} + elif [[ "$selected_timer" == "$option_time_5" ]]; then + countdown=60 + ${1} + else + exit + fi +} +### + +#### +# Chose Screenshot Type +# CMD +type_screenshot_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Type of screenshot" +} + +# Ask for confirmation +type_screenshot_exit() { + echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | type_screenshot_cmd +} + +# Confirm and execute +type_screenshot_run() { + selected_type_screenshot="$(type_screenshot_exit)" + if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then + option_type_screenshot=screen + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then + option_type_screenshot=output + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then + option_type_screenshot=area + ${1} + else + exit + fi +} +### + +#### +# Choose to save or copy photo +# CMD +copy_save_editor_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "How to save" +} + +# Ask for confirmation +copy_save_editor_exit() { + echo -e "$copy\n$save\n$copy_save\n$edit" | copy_save_editor_cmd +} + +# Confirm and execute +copy_save_editor_run() { + selected_chosen="$(copy_save_editor_exit)" + if [[ "$selected_chosen" == "$copy" ]]; then + option_chosen=copy + ${1} + elif [[ "$selected_chosen" == "$save" ]]; then + option_chosen=save + ${1} + elif [[ "$selected_chosen" == "$copy_save" ]]; then + option_chosen=copysave + ${1} + elif [[ "$selected_chosen" == "$edit" ]]; then + option_chosen=edit + ${1} + else + exit + fi +} +### + +timer() { + if [[ $countdown -gt 10 ]]; then + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown_less_10=$((countdown - 10)) + sleep $countdown_less_10 + countdown=10 + fi + while [[ $countdown -ne 0 ]]; do + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown=$((countdown - 1)) + sleep 1 + done +} + +# take shots +takescreenshot() { + sleep 1 + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +takescreenshot_timer() { + sleep 1 + timer + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + type_screenshot_run + copy_save_editor_run "takescreenshot" + elif [[ "$1" == '--opt2' ]]; then + timer_run + type_screenshot_run + copy_save_editor_run "takescreenshot_timer" + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in +$option_1) + run_cmd --opt1 + ;; +$option_2) + run_cmd --opt2 + ;; +esac diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/toggle-animations.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/toggle-animations.sh new file mode 100755 index 0000000..7eedb1d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/toggle-animations.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cache_file="$HOME/.cache/toggle_animation" +if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then + echo ":: Toggle blocked by disabled.conf variation." +else + if [ -f $cache_file ] ;then + hyprctl keyword animations:enabled true + rm $cache_file + else + hyprctl keyword animations:enabled false + touch $cache_file + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/toggleallfloat.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/toggleallfloat.sh new file mode 100755 index 0000000..3fc12e2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-automation.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-automation.sh new file mode 100755 index 0000000..e3d1f1e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-automation.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh) +_setWallpaperRandomly() { + waypaper --random + echo ":: Next wallpaper in 60 seconds..." + sleep $sec + _setWallpaperRandomly +} + +if [ ! -f ~/.config/ml4w/cache/wallpaper-automation ] ;then + touch ~/.config/ml4w/cache/wallpaper-automation + echo ":: Start wallpaper automation script" + notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds." + _setWallpaperRandomly +else + rm ~/.config/ml4w/cache/wallpaper-automation + notify-send "Wallpaper automation process stopped." + echo ":: Wallpaper automation script process $wp stopped" + wp=$(pgrep -f wallpaper-automation.sh) + kill -KILL $wp +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-cache.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-cache.sh new file mode 100755 index 0000000..899a06a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-cache.sh @@ -0,0 +1,5 @@ +#!/bin/bash +generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated" +rm $generated_versions/* +echo ":: Wallpaper cache cleared" +notify-send "Wallpaper cache cleared" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-effects.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-effects.sh new file mode 100755 index 0000000..83dbca8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-effects.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +# Get current wallpaper +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" + +# Open rofi to select the Hyprshade filter for toggle +options="$(ls ~/.config/hypr/effects/wallpaper/)\noff" + +# Open rofi +choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade") +if [ ! -z $choice ] ;then + echo "$choice" > ~/.config/ml4w/settings/wallpaper-effect.sh + notify-send "Changing Wallpaper Effect to " "$choice" + waypaper --wallpaper $(cat $cache_file) +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-restore.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-restore.sh new file mode 100755 index 0000000..b875400 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper-restore.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Restore last wallpaper +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +defaultwallpaper="$HOME/Pictures/Wallpapers/faroe_islands.jpg" +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" + +# ----------------------------------------------------- +# Get current wallpaper +# ----------------------------------------------------- + +if [ -f "$cachefile" ]; then + sed -i "s|~|$HOME|g" "$cachefile" + wallpaper=$(cat $cachefile) + if [ -f $wallpaper ]; then + echo ":: Wallpaper $wallpaper exists" + else + echo ":: Wallpaper $wallpaper does not exist. Using default." + wallpaper=$defaultwallpaper + fi +else + echo ":: $cachefile does not exist. Using default wallpaper." + wallpaper=$defaultwallpaper +fi + +# ----------------------------------------------------- +# Set wallpaper +# ----------------------------------------------------- + +echo ":: Setting wallpaper with source image $wallpaper" +waypaper --wallpaper "$wallpaper" diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper.sh new file mode 100755 index 0000000..1045429 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/wallpaper.sh @@ -0,0 +1,172 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Check to use wallpaper cache +# ----------------------------------------------------- + +if [ -f ~/.config/ml4w/settings/wallpaper_cache ]; then + use_cache=1 + echo ":: Using Wallpaper Cache" +else + use_cache=0 + echo ":: Wallpaper Cache disabled" +fi + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +force_generate=0 +generatedversions="$HOME/.config/ml4w/cache/wallpaper-generated" +waypaperrunning=$HOME/.config/ml4w/cache/waypaper-running +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" +blurredwallpaper="$HOME/.config/ml4w/cache/blurred_wallpaper.png" +squarewallpaper="$HOME/.config/ml4w/cache/square_wallpaper.png" +rasifile="$HOME/.config/ml4w/cache/current_wallpaper.rasi" +blurfile="$HOME/.config/ml4w/settings/blur.sh" +defaultwallpaper="$HOME/Pictures/Wallpapers/faroe_islands.jpg" +wallpapereffect="$HOME/.config/ml4w/settings/wallpaper-effect.sh" +blur="50x30" +blur=$(cat $blurfile) + +# Ensures that the script only run once if wallpaper effect enabled +if [ -f $waypaperrunning ]; then + rm $waypaperrunning + exit +fi + +# Create folder with generated versions of wallpaper if not exists +if [ ! -d $generatedversions ]; then + mkdir $generatedversions +fi + +# ----------------------------------------------------- +# Get selected wallpaper +# ----------------------------------------------------- + +if [ -z $1 ]; then + if [ -f $cachefile ]; then + wallpaper=$(cat $cachefile) + else + wallpaper=$defaultwallpaper + fi +else + wallpaper=$1 +fi +used_wallpaper=$wallpaper +echo ":: Setting wallpaper with source image $wallpaper" +tmpwallpaper=$wallpaper + +# ----------------------------------------------------- +# Copy path of current wallpaper to cache file +# ----------------------------------------------------- + +if [ ! -f $cachefile ]; then + touch $cachefile +fi +echo "$wallpaper" > $cachefile +echo ":: Path of current wallpaper copied to $cachefile" + +# ----------------------------------------------------- +# Get wallpaper filename +# ----------------------------------------------------- +wallpaperfilename=$(basename $wallpaper) +echo ":: Wallpaper Filename: $wallpaperfilename" + +# ----------------------------------------------------- +# Wallpaper Effects +# ----------------------------------------------------- + +if [ -f $wallpapereffect ]; then + effect=$(cat $wallpapereffect) + if [ ! "$effect" == "off" ]; then + used_wallpaper=$generatedversions/$effect-$wallpaperfilename + if [ -f $generatedversions/$effect-$wallpaperfilename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper $effect-$wallpaperfilename" + else + echo ":: Generate new cached wallpaper $effect-$wallpaperfilename with effect $effect" + notify-send --replace-id=1 "Using wallpaper effect $effect..." "with image $wallpaperfilename" -h int:value:33 + source $HOME/.config/hypr/effects/wallpaper/$effect + fi + echo ":: Loading wallpaper $generatedversions/$effect-$wallpaperfilename with effect $effect" + echo ":: Setting wallpaper with $used_wallpaper" + touch $waypaperrunning + waypaper --wallpaper $used_wallpaper + else + echo ":: Wallpaper effect is set to off" + fi +else + effect="off" +fi + +# ----------------------------------------------------- +# Execute pywal +# ----------------------------------------------------- + +echo ":: Execute pywal with $used_wallpaper" +wal -q -i "$used_wallpaper" +source "$HOME/.cache/wal/colors.sh" + +# ----------------------------------------------------- +# Reload Waybar +# ----------------------------------------------------- + +killall -SIGUSR2 waybar + +# ----------------------------------------------------- +# Pywalfox +# ----------------------------------------------------- + +if type pywalfox > /dev/null 2>&1; then + pywalfox update +fi + +# ----------------------------------------------------- +# Created blurred wallpaper +# ----------------------------------------------------- + +if [ -f $generatedversions/blur-$blur-$effect-$wallpaperfilename.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper blur-$blur-$effect-$wallpaperfilename" +else + echo ":: Generate new cached wallpaper blur-$blur-$effect-$wallpaperfilename with blur $blur" + # notify-send --replace-id=1 "Generate new blurred version" "with blur $blur" -h int:value:66 + magick $used_wallpaper -resize 75% $blurredwallpaper + echo ":: Resized to 75%" + if [ ! "$blur" == "0x0" ]; then + magick $blurredwallpaper -blur $blur $blurredwallpaper + cp $blurredwallpaper $generatedversions/blur-$blur-$effect-$wallpaperfilename.png + echo ":: Blurred" + fi +fi +cp $generatedversions/blur-$blur-$effect-$wallpaperfilename.png $blurredwallpaper + +# ----------------------------------------------------- +# Create rasi file +# ----------------------------------------------------- + +if [ ! -f $rasifile ]; then + touch $rasifile +fi +echo "* { current-image: url(\"$blurredwallpaper\", height); }" > "$rasifile" + +# ----------------------------------------------------- +# Created square wallpaper +# ----------------------------------------------------- + +echo ":: Generate new cached wallpaper square-$wallpaperfilename" +magick $tmpwallpaper -gravity Center -extent 1:1 $squarewallpaper +cp $squarewallpaper $generatedversions/square-$wallpaperfilename.png + +# ----------------------------------------------------- +# Reload AGS +# ----------------------------------------------------- + +ags quit & +sleep 0.2 +ags run & diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/xdg.sh b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/xdg.sh new file mode 100755 index 0000000..f7d0fec --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/scripts/xdg.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# __ ______ ____ +# \ \/ / _ \ / ___| +# \ /| | | | | _ +# / \| |_| | |_| | +# /_/\_\____/ \____| +# + +# Setup Timers +_sleep1="0.1" +_sleep2="0.5" +_sleep3="2" + +# Kill all possible running xdg-desktop-portals +killall -e xdg-desktop-portal-hyprland +killall -e xdg-desktop-portal-gnome +killall -e xdg-desktop-portal-kde +killall -e xdg-desktop-portal-lxqt +killall -e xdg-desktop-portal-wlr +killall -e xdg-desktop-portal-gtk +killall -e xdg-desktop-portal + +# Set required environment variables +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland + +# Stop all services +systemctl --user stop pipewire +systemctl --user stop wireplumber +systemctl --user stop xdg-desktop-portal +systemctl --user stop xdg-desktop-portal-gnome +systemctl --user stop xdg-desktop-portal-kde +systemctl --user stop xdg-desktop-portal-wlr +systemctl --user stop xdg-desktop-portal-hyprland +sleep $_sleep1 + +# Start xdg-desktop-portal-hyprland +/usr/lib/xdg-desktop-portal-hyprland & +sleep $_sleep1 + +# Start xdg-desktop-portal-gtk +if [ -f /usr/lib/xdg-desktop-portal-gtk ] ;then + /usr/lib/xdg-desktop-portal-gtk & + sleep $_sleep1 +fi + +# Start xdg-desktop-portal +/usr/lib/xdg-desktop-portal & +sleep $_sleep2 + +# Start required services +systemctl --user start pipewire +systemctl --user start wireplumber +systemctl --user start xdg-desktop-portal +systemctl --user start xdg-desktop-portal-hyprland + +# Run waybar +sleep $_sleep3 +~/.config/waybar/launch.sh diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-25.glsl b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-25.glsl new file mode 100755 index 0000000..149b143 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-25.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.25; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-50.glsl b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-50.glsl new file mode 100755 index 0000000..ac5ea21 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-50.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.5; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-75.glsl b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-75.glsl new file mode 100755 index 0000000..c8c1b23 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/blue-light-filter-75.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.75; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/invert-colors.glsl b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/invert-colors.glsl new file mode 100755 index 0000000..a504901 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/hypr/shaders/invert-colors.glsl @@ -0,0 +1,8 @@ +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + gl_FragColor = vec4(1.0 - pixColor.r, 1.0 - pixColor.g, 1.0 - pixColor.b, pixColor.a); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w-hyprland-settings/hyprctl.json b/configs/dotfiles/hyprland/laptop/.config/ml4w-hyprland-settings/hyprctl.json new file mode 100755 index 0000000..3b0d272 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w-hyprland-settings/hyprctl.json @@ -0,0 +1,14 @@ +[ + { + "key": "general:col.active_border", + "value": "rgb(82aaff)" + }, + { + "key": "general:border_size", + "value": 4 + }, + { + "key": "general:gaps_out", + "value": 12 + } +] \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w-hyprland-settings/hyprctl.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w-hyprland-settings/hyprctl.sh new file mode 100755 index 0000000..9fffc49 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w-hyprland-settings/hyprctl.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# _ _ _ +# | |__ _ _ _ __ _ __ ___| |_| | +# | '_ \| | | | '_ \| '__/ __| __| | +# | | | | |_| | |_) | | | (__| |_| | +# |_| |_|\__, | .__/|_| \___|\__|_| +# |___/|_| +# +# Execute this file in the hyprland.conf with exec-always +sleep 3 +script=$(readlink -f $0) +path=$(dirname $script) +if [ ! -f $path/hyprctl.json ] ;then + echo ":: ERROR: hyprctl.json not found" + exit 1 +fi + +jq -c '.[]' $path/hyprctl.json | while read i; do + _val() { + echo $1 | jq -r '.value' + } + _key() { + echo $1 | jq -r '.key' + } + key=$(_key $i) + val=$(_val $i) + echo ":: Execute: hyprctl keyword $key $val" + hyprctl keyword $key $val +done diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/assets/blank.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/assets/blank.png new file mode 100755 index 0000000..f7aa3f8 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/assets/blank.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/blurred_wallpaper.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/blurred_wallpaper.png new file mode 100755 index 0000000..cabe371 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/blurred_wallpaper.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/current_wallpaper b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/current_wallpaper new file mode 100755 index 0000000..cc79059 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/current_wallpaper @@ -0,0 +1 @@ +/home/gib/Pictures/Wallpapers/pink_sky.png diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/current_wallpaper.rasi b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/current_wallpaper.rasi new file mode 100755 index 0000000..d0e0201 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/current_wallpaper.rasi @@ -0,0 +1 @@ +* { current-image: url("/home/gib/.config/ml4w/cache/blurred_wallpaper.png", height); } diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/square_wallpaper.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/square_wallpaper.png new file mode 100755 index 0000000..407d688 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/square_wallpaper.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png new file mode 100755 index 0000000..be2ade3 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png new file mode 100755 index 0000000..efbc525 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-Patagonia.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png new file mode 100755 index 0000000..f0fdbf4 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-beautiful_mountain.jpg.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png new file mode 100755 index 0000000..8fb1ab2 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-faroe_islands.jpg.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-pink_sky.png.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-pink_sky.png.png new file mode 100755 index 0000000..cabe371 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-pink_sky.png.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-snow-mountain-peaks.jpg.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-snow-mountain-peaks.jpg.png new file mode 100755 index 0000000..25f7be8 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/blur-50x30-off-snow-mountain-peaks.jpg.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-.png new file mode 100755 index 0000000..f9dad8e Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png new file mode 100755 index 0000000..f9dad8e Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-Patagonia.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png new file mode 100755 index 0000000..d0b6841 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-beautiful_mountain.jpg.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png new file mode 100755 index 0000000..e91c760 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-faroe_islands.jpg.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-pink_sky.png.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-pink_sky.png.png new file mode 100755 index 0000000..407d688 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-pink_sky.png.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-snow-mountain-peaks.jpg.png b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-snow-mountain-peaks.jpg.png new file mode 100755 index 0000000..f9dad8e Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/ml4w/cache/wallpaper-generated/square-snow-mountain-peaks.jpg.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/login/issue b/configs/dotfiles/hyprland/laptop/.config/ml4w/login/issue new file mode 100755 index 0000000..d3f99f3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/login/issue @@ -0,0 +1,11 @@ + _ _ + | | ___ __ _(_)_ __ + | | / _ \\ / _' | | '_ \\ + | |__| (_) | (_| | | | | | + |_____\\___/ \\__, |_|_| |_| + |___/ + +Today is \d \t @ \n +-------------------------------------------------------------- +\r (\l) + diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/ags.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/ags.sh new file mode 100755 index 0000000..8c1ba75 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/ags.sh @@ -0,0 +1 @@ +ags run \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/cleanup.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/cleanup.sh new file mode 100755 index 0000000..3e509c9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/cleanup.sh @@ -0,0 +1,6 @@ +#!/bin/bash +clear +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" +figlet -f smslant "Cleanup" +echo +$aur_helper -Scc diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/installprinters.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/installprinters.sh new file mode 100755 index 0000000..67812c8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/installprinters.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _____ __ +# | __ \ (_) | | / ____| / _| +# | |__) | __ _ _ __ | |_ ___ _ __ | | ___ _ __ | |_ +# | ___/ '__| | '_ \| __/ _ \ '__| | | / _ \| '_ \| _| +# | | | | | | | | | || __/ | | |___| (_) | | | | | +# |_| |_| |_|_| |_|\__\___|_| \_____\___/|_| |_|_| +# +# By @krystalsavage + +sleep 1 +clear +figlet -f smslant "Printers" + +# ------------------------------------------------------ +# Confirm Start +# ------------------------------------------------------ + +if gum confirm "DO YOU WANT TO START TO INSTALL PRINTER SYSTEM NOW?" ;then + echo + echo ":: Install started." +elif [ $? -eq 130 ]; then + exit 130 +else + echo + echo ":: Install canceled." + exit; +fi + +if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then + if gum confirm "DO YOU WANT TO CREATE A SNAPSHOT?" ;then + echo + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + sudo grub-mkconfig -o /boot/grub/grub.cfg + echo ":: DONE. Snapshot $c created!" + echo + elif [ $? -eq 130 ]; then + echo ":: Snapshot canceled." + exit 130 + else + echo ":: Snapshot canceled." + fi + echo +fi + +yay -S cups cups-pdf cups-filters nss-mdns system-config-printer foomatic-db footmatic-db-engine foomatic-db-nonfree doomatic-db-nonfree-ppds foomatic-db-ppds cups-browsed libusb ipp-usb xdg-utils colord logrotate + +notify-send "Installing printer system complete" +echo +echo ":: Installing printer system complete" +sleep 2 + +if [ -f ~/.config/ml4w/settings/printer-drivers.sh ] ;then + if gum confirm "DO YOU WANT TO INSTALL PRINTER DRIVERS NOW?" ;then + echo + echo ":: Install started." + elif [ $? -eq 130 ]; then + exit 130 + else + echo + echo ":: Install cancelled." + exit; + fi +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/installtimeshift.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/installtimeshift.sh new file mode 100755 index 0000000..06265ad --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/installtimeshift.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _____ _ _ _ __ _ +# |_ _(_)_ __ ___ ___ ___| |__ (_)/ _| |_ +# | | | | '_ ` _ \ / _ \/ __| '_ \| | |_| __| +# | | | | | | | | | __/\__ \ | | | | _| |_ +# |_| |_|_| |_| |_|\___||___/_| |_|_|_| \__| +# + +sleep 1 +clear +figlet -f smslant "Timeshift" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + echo ":: Timeshift is already installed" +else + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + fi +fi +if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "0" ]] ;then + echo ":: grub-btrfs is already installed" +else + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + fi +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/lid-improvements.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/lid-improvements.sh new file mode 100755 index 0000000..2ffad61 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/lid-improvements.sh @@ -0,0 +1,12 @@ +#!/bin/bash +while IFS= read -r line; do + # If the line starts with # and the next line is not the lines to be added + if [[ $line == \#HandleLidSwitchDocked=ignore ]]; then + # Add the new lines + echo "HandleLidSwitchDocked=ignore" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi + if [[ $line == \#HoldoffTimeoutSec=5s ]]; then + # Add the new lines + echo "HoldoffTimeoutSec=5s" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi +done < /etc/systemd/logind.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/pacman.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/pacman.sh new file mode 100755 index 0000000..d6a2903 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/pacman.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# ____ +# | _ \ __ _ ___ _ __ ___ __ _ _ __ +# | |_) / _` |/ __| '_ ` _ \ / _` | '_ \ +# | __/ (_| | (__| | | | | | (_| | | | | +# |_| \__,_|\___|_| |_| |_|\__,_|_| |_| +# + +sleep 1 +clear +figlet -f smslant "pacman.conf" +echo +echo ":: This script will activate or deactivate additions for your pacman.conf." +echo +if grep -Fq "#ParallelDownloads" /etc/pacman.conf +then + if gum confirm "Do you want to activate parallel downloads?" ;then + sudo sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf + else + echo ":: Activation of parallel downloads skipped." + fi +else + echo ":: Parallel downloads are already activated." +fi + +if grep -Fxq "#Color" /etc/pacman.conf +then + if gum confirm "Do you want to activate colors?" ;then + sudo sed -i 's/^#Color/Color/' /etc/pacman.conf + else + echo ":: Activation of Color skipped." + fi +else + echo ":: Color is already activated." +fi + +if grep -Fxq "#VerbosePkgLists" /etc/pacman.conf +then + if gum confirm "Do you want to activate VerbosePkgLists?" ;then + sudo sed -i 's/^#VerbosePkgLists/VerbosePkgLists/' /etc/pacman.conf + else + echo ":: Activation of VerbosePkgLists skipped." + fi +else + echo ":: VerbosePkgLists is already activated." +fi + +if grep -Fxq "ILoveCandy" /etc/pacman.conf +then + echo ":: ILoveCandy is already activated." +else + if gum confirm "Do you want to activate ILoveCandy?" ;then + sudo sed -i '/^ParallelDownloads = .*/a ILoveCandy' /etc/pacman.conf + else + echo ":: Activation of ILoveCandy skipped." + fi +fi +echo +echo "Press [ENTER] to close." +read \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/snapshot.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/snapshot.sh new file mode 100755 index 0000000..7ce1acc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/snapshot.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# ____ _ _ +# / ___| _ __ __ _ _ __ ___| |__ ___ | |_ +# \___ \| '_ \ / _` | '_ \/ __| '_ \ / _ \| __| +# ___) | | | | (_| | |_) \__ \ | | | (_) | |_ +# |____/|_| |_|\__,_| .__/|___/_| |_|\___/ \__| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +sleep 1 +clear +figlet -f smslant "Snapshot" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + if [[ -d /boot/grub ]] ;then + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + sudo grub-mkconfig -o /boot/grub/grub.cfg + fi + echo "DONE. Snapshot $c created!" +else + echo "ERROR: Timeshift is not installed." + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + echo + echo ":: Timeshift has been installed. Please restart this script." + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/unlock-pacman.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/unlock-pacman.sh new file mode 100755 index 0000000..33b7de0 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/arch/unlock-pacman.sh @@ -0,0 +1,9 @@ +#!/bin/bash +sleep 1 +if [ -f /var/lib/pacman/db.lck ]; then + sudo rm /var/lib/pacman/db.lck + echo ":: Unlock complete" +else + echo ":: Pacman database is not locked" +fi +sleep 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/cliphist.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/cliphist.sh new file mode 100755 index 0000000..b9a2acc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/cliphist.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# ____ _ _ _ _ _ +# / ___| (_)_ __ | |__ (_)___| |_ +# | | | | | '_ \| '_ \| / __| __| +# | |___| | | |_) | | | | \__ \ |_ +# \____|_|_| .__/|_| |_|_|___/\__| +# |_| +# + +case $1 in + d) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist delete + ;; + + w) if [ `echo -e "Clear\nCancel" | rofi -dmenu -config ~/.config/rofi/config-short.rasi` == "Clear" ] ; then + cliphist wipe + fi + ;; + + *) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist decode | wl-copy + ;; +esac diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/figlet.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/figlet.sh new file mode 100755 index 0000000..7a5ff4e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/figlet.sh @@ -0,0 +1,24 @@ +#!/bin/bash +figlet -f smslant "Figlet" +echo +# ------------------------------------------------ +# Script to create ascii font based header on user input +# and copy the result to the clipboard +# ----------------------------------------------------- + +read -p "Enter the text for ascii encoding: " mytext + +if [ -f ~/figlet.txt ]; then + touch ~/figlet.txt +fi + +echo "cat <<\"EOF\"" > ~/figlet.txt +figlet -f smslant "$mytext" >> ~/figlet.txt +echo "" >> ~/figlet.txt +echo "EOF" >> ~/figlet.txt + +lines=$( cat ~/figlet.txt ) +wl-copy "$lines" +xclip -sel clip ~/figlet.txt + +echo "Text copied to clipboard!" diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/installupdates.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/installupdates.sh new file mode 100755 index 0000000..b4605b5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/installupdates.sh @@ -0,0 +1,101 @@ +#!/bin/bash +# ____ __ ____ __ __ +# / _/__ ___ / /____ _/ / / __ _____ ___/ /__ _/ /____ ___ +# _/ // _ \(_- /dev/null + then + echo "Running" + killall nm-applet + else + echo "Stopped" + nm-applet --indicator & + fi +else + nm-applet --indicator & +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/sddm-wallpaper.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/sddm-wallpaper.sh new file mode 100755 index 0000000..eccad59 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/sddm-wallpaper.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# _ _ _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ __| | __| |_ __ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \ / __|/ _` |/ _` | '_ ` _ \ +# | |_| | |_) | (_| | (_| | || __/ \__ \ (_| | (_| | | | | | | +# \___/| .__/ \__,_|\__,_|\__\___| |___/\__,_|\__,_|_| |_| |_| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- +sleep 1 +clear +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" +current_wallpaper=$(cat "$cache_file") +extension="${current_wallpaper##*.}" + +echo -e "${GREEN}" +figlet -f smslant "SDDM Wallpaper" +echo -e "${NONE}" + +sddm_theme_name="sequoia" +sddm_asset_folder="/usr/share/sddm/themes/$sddm_theme_name/backgrounds" + +sddm_theme_tpl="/usr/share/ml4w-hyprland/sddm/theme.conf" +if [ -f $HOME/.config/ml4w/settings/sddm/theme.conf ]; then + sddm_theme_tpl="$HOME/.config/ml4w/settings/sddm/theme.conf" + echo ":: Using custum theme.conf" +fi + + +if [ ! -f $current_wallpaper ]; then + gum spin --spinner dot --title "File $current_wallpaper does not exist" -- sleep 3 + exit +fi + +echo ":: Set the current wallpaper $current_wallpaper as SDDM wallpaper." +echo + +if [ ! -d /etc/sddm.conf.d/ ]; then + sudo mkdir /etc/sddm.conf.d + echo ":: Folder /etc/sddm.conf.d created." +fi + +sudo cp /usr/share/ml4w-hyprland/sddm/sddm.conf /etc/sddm.conf.d/ +echo ":: File /etc/sddm.conf.d/sddm.conf updated." + +sudo cp $current_wallpaper $sddm_asset_folder/current_wallpaper.$extension +echo ":: Current wallpaper copied into $sddm_asset_folder" + +sudo cp $sddm_theme_tpl /usr/share/sddm/themes/$sddm_theme_name/ +sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.$extension"'/' /usr/share/sddm/themes/$sddm_theme_name/theme.conf +echo ":: File theme.conf updated in /usr/share/sddm/themes/$sddm_theme_name/" +echo + +echo ":: You can preview your updated SDDM Login screen. (Close it with SUPER+Q)" +echo +if gum confirm "Do you want to preview the result?"; then + sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sequoia +fi + +echo +gum spin --spinner dot --title "Please logout to see the result." -- sleep 3 diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/shell.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/shell.sh new file mode 100755 index 0000000..9cb6a94 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/shell.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# ____ _ _ _ +# / ___|| |__ ___| | | +# \___ \| '_ \ / _ \ | | +# ___) | | | | __/ | | +# |____/|_| |_|\___|_|_| +# + +sleep 1 + +_isInstalledYay() { + package="$1"; + check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +clear +figlet -f smslant "Shell" + +echo ":: Please select your preferred shell" +echo +shell=$(gum choose "bash" "zsh" "Cancel") +# ----------------------------------------------------- +# Activate bash +# ----------------------------------------------------- +if [[ $shell == "bash" ]] ;then + + # Change shell to bash + while ! chsh -s $(which bash); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now bash." + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Activate zsh +# ----------------------------------------------------- +elif [[ $shell == "zsh" ]] ;then + + # Change shell to shh + while ! chsh -s $(which zsh); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now zsh." + + # Installing oh-my-posh + yay -S oh-my-posh-bin + + # Installing oh-my-zsh + if [ ! -d "$HOME/.oh-my-zsh" ]; then + echo ":: Installing oh-my-zsh" + sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended + cp ~/.config/ml4w/tpl/.zshrc ~/ + else + echo ":: oh-my-zsh already installed" + fi + + # Installing zsh-autosuggestions + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then + echo ":: Installing zsh-autosuggestions" + git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + else + echo ":: zsh-autosuggestions already installed" + fi + + # Installing zsh-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then + echo ":: Installing zsh-syntax-highlighting" + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting + else + echo ":: zsh-syntax-highlighting already installed" + fi + + # Installing fast-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/fast-syntax-highlighting" ]; then + echo ":: Installing fast-syntax-highlighting" + git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting + else + echo ":: fast-syntax-highlighting already installed" + fi + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Cencel +# ----------------------------------------------------- +else + echo ":: Changing shell canceled" + exit +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/thunarterminal.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/thunarterminal.sh new file mode 100755 index 0000000..777be5f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/thunarterminal.sh @@ -0,0 +1,19 @@ +#!/bin/bash +clear +if [ -f ~/.config/ml4w/settings/terminal.sh ]; then + terminal="$(cat ~/.config/ml4w/settings/terminal.sh)" + echo ":: Installing $terminal" + if [ -d ~/.config/xfce4 ]; then + if [ ! -f ~/.config/xfce4/helpers.rc ]; then + touch ~/.config/xfce4/helpers.rc + fi + echo "TerminalEmulator=$terminal" > ~/.config/xfce4/helpers.rc + echo ":: $terminal defined as Thunar Terminal Emulator." + else + echo "ERROR: ~/.config/xfce4 not found. Please open Thunar once to create it." + echo "Then start this script again." + fi +else + echo "ERROR: ~/.config/ml4w/settings/terminal.sh not found" +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/updates.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/updates.sh new file mode 100755 index 0000000..505d126 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/updates.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \/ __| +# | |_| | |_) | (_| | (_| | || __/\__ \ +# \___/| .__/ \__,_|\__,_|\__\___||___/ +# |_| +# + +# ----------------------------------------------------- +# Define threshholds for color indicators +# ----------------------------------------------------- + +threshhold_green=0 +threshhold_yellow=25 +threshhold_red=100 +install_platform="$(cat ~/.config/ml4w/settings/platform.sh)" + +# Check if platform is supported +case $install_platform in + arch) + aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + + # ----------------------------------------------------- + # Calculate available updates + # ----------------------------------------------------- + + # flatpak remote-ls --updates + + updates=$(checkupdates-with-aur | wc -l) + ;; + fedora) + updates=$(dnf check-update -q|grep -c ^[a-z0-9]) + ;; + *) + updates=0 + ;; +esac + +# ----------------------------------------------------- +# Output in JSON format for Waybar Module custom-updates +# ----------------------------------------------------- + +css_class="green" + +if [ "$updates" -gt $threshhold_yellow ]; then + css_class="yellow" +fi + +if [ "$updates" -gt $threshhold_red ]; then + css_class="red" +fi + +if [ "$updates" -gt $threshhold_green ]; then + printf '{"text": "%s", "alt": "%s", "tooltip": "Click to update your system", "class": "%s"}' "$updates" "$updates" "$css_class" +else + printf '{"text": "0", "alt": "0", "tooltip": "No updates available", "class": "green"}' +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/wlogout.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/wlogout.sh new file mode 100755 index 0000000..2b540eb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/scripts/wlogout.sh @@ -0,0 +1,5 @@ +res_w=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width') +res_h=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .height') +h_scale=$(hyprctl -j monitors | jq '.[] | select (.focused == true) | .scale' | sed 's/\.//') +w_margin=$(( res_h * 27 / h_scale )) +wlogout -b 5 -T $w_margin -B $w_margin \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/ai.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/ai.sh new file mode 100755 index 0000000..36937a2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/ai.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/browser.sh) --new-window https://chat.gibbyb.com diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/blur.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/blur.sh new file mode 100755 index 0000000..4ffc966 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/blur.sh @@ -0,0 +1 @@ +50x30 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/browser.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/browser.sh new file mode 100755 index 0000000..dbfb8f9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/browser.sh @@ -0,0 +1 @@ +firefox diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/calculator.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/calculator.sh new file mode 100755 index 0000000..7321b2e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/calculator.sh @@ -0,0 +1 @@ +gnome-calculator \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/dotfiles-folder.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/dotfiles-folder.sh new file mode 100755 index 0000000..b1b1c85 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/dotfiles-folder.sh @@ -0,0 +1 @@ +Documents/Configs/hyprland/desktop diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/dunst_position.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/dunst_position.sh new file mode 100755 index 0000000..181d3ca --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/dunst_position.sh @@ -0,0 +1 @@ +top-center \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/editor.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/editor.sh new file mode 100755 index 0000000..732ff53 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/editor.sh @@ -0,0 +1 @@ +nvim diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/emojipicker.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/emojipicker.sh new file mode 100755 index 0000000..36d697f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/emojipicker.sh @@ -0,0 +1 @@ +smile \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/eww-monitor.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/eww-monitor.sh new file mode 100755 index 0000000..4d18c3e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/eww-monitor.sh @@ -0,0 +1 @@ +auto \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/filemanager.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/filemanager.sh new file mode 100755 index 0000000..9f0175d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/filemanager.sh @@ -0,0 +1 @@ +nautilus \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_dpms_timeout.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_dpms_timeout.sh new file mode 100755 index 0000000..9ecf271 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_dpms_timeout.sh @@ -0,0 +1 @@ +660 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_hyprlock_timeout.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_hyprlock_timeout.sh new file mode 100755 index 0000000..73623d1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_hyprlock_timeout.sh @@ -0,0 +1 @@ +600 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_suspend_timeout.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_suspend_timeout.sh new file mode 100755 index 0000000..2974009 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hypridle_suspend_timeout.sh @@ -0,0 +1 @@ +1800 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hyprpaper.tpl b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hyprpaper.tpl new file mode 100755 index 0000000..3033ff3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hyprpaper.tpl @@ -0,0 +1,8 @@ +# Preload Wallpapers +preload = WALLPAPER + +# Set Wallpapers +wallpaper = ,WALLPAPER + +# Disable Splash +splash = false \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hyprshade.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hyprshade.sh new file mode 100755 index 0000000..1865560 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/hyprshade.sh @@ -0,0 +1 @@ +hyprshade_filter="blue-light-filter-50" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/ml4w-sidebar.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/ml4w-sidebar.sh new file mode 100755 index 0000000..b1ab0ad --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/ml4w-sidebar.sh @@ -0,0 +1 @@ +ags toggle sidebar \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/networkmanager.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/networkmanager.sh new file mode 100755 index 0000000..b2a0141 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/networkmanager.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e nmtui \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/notification.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/notification.sh new file mode 100755 index 0000000..936c7eb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/notification.sh @@ -0,0 +1 @@ +dunst \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/platform.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/platform.sh new file mode 100755 index 0000000..35a143b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/platform.sh @@ -0,0 +1 @@ +fedora diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/printer-drivers.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/printer-drivers.sh new file mode 100755 index 0000000..444839f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/printer-drivers.sh @@ -0,0 +1,4 @@ +# Installation of Printer Drivers +# Please add your drivers to the package list +# Example: +# yay -S brother-hll2360dw-lpr-bin brother-hll2360dw-cups-bin brother-mfc-l3770cdw brscan-skey brscan4 skanpage \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-border-radius.rasi b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-border-radius.rasi new file mode 100755 index 0000000..7cbaeeb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-border-radius.rasi @@ -0,0 +1 @@ +* { border-radius: 2em; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-border.rasi b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-border.rasi new file mode 100755 index 0000000..e533468 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-border.rasi @@ -0,0 +1 @@ +* { border-width: 3px; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-font.rasi b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-font.rasi new file mode 100755 index 0000000..a2497c3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi-font.rasi @@ -0,0 +1 @@ +configuration { font: "Fira Sans 11"; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi_bordersize.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi_bordersize.sh new file mode 100755 index 0000000..e440e5c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/rofi_bordersize.sh @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-editor.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-editor.sh new file mode 100755 index 0000000..5f0900f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-editor.sh @@ -0,0 +1 @@ +pinta \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-filename.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-filename.sh new file mode 100755 index 0000000..f81ad3c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-filename.sh @@ -0,0 +1 @@ +NAME="screenshot_$(date +%d%m%Y_%H%M%S).jpg" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-folder.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-folder.sh new file mode 100755 index 0000000..a1bf821 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/screenshot-folder.sh @@ -0,0 +1 @@ +screenshot_folder="$HOME/Pictures" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/sddm/theme.tpl b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/sddm/theme.tpl new file mode 100755 index 0000000..f4ae01f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/sddm/theme.tpl @@ -0,0 +1,132 @@ +[General] + +# Set to your screen resolution for better results +width=1680 +height=1050 + +backgroundColour="black" + +wallpaper="backgrounds/CURRENTWALLPAPER" + +# Whether to scale the image to fit on the screen, might leave some blank spaces +# will scale and crop the wallpaper if left false +fitWallpaper=false + +# Main font +fontFamily="Noto Sans" + +# Set to a patched NerdFont if some icons don't display properly +# or leave empty to use the main font family +iconFont="" + +# Set this if fonts are the wrong size for your resolution +fontSize=14 + +# Whether to show icons inside menus +iconsInMenus=true + + +# [Colour_Palette] + +# The main colour for text and icons +primaryColour="white" + +# The background colour of popup panels +popupsBackgroundColour="white" + +# Used for the text and icons inside popup panels +popupsForegroundColour="black" + +# Colour used for selected and focused items +accentColour="#a7d9ea" + + +# [Greeting_Screen] + +# Set true to be taken directly to the login screen +skipToLogin=false + +# Supports Markdown formatting, leave empty to not display any text +greeting="Welcome back!" + +# Adjusts the font size for the greeting message, clock and date +fontSizeMultiplier=2 + +# For help with date and time formatting see https://doc.qt.io/qt-5/qml-qtqml-date.html#format-strings +clockFormat="HH:mm" +dateFormat="dddd, dd MMMM" + +# Set this in case the date isn't in your system locale or you wish to use a different one +locale="" + +# Styles the clock font +# Set to 'outline' for alternate style +clockStyle=fill + +# Anchor the clock to a side or corner of the screen, horizontal position is susceptible to layout mirroring +# Syntax: vertical | horizontal +# possible vertical values: top - center - bottom +# and horizontal: left - center - right +dateTimePosition="bottom right" + +# Defines how far away the date and time are from the edges of the screen +dateTimePadding=55 + +# Defines the behaviour of the sliding transition from greeting to login form +# Set to +/- x or y +transitionDirection="x" + +# [Login_Screen] + +# The maximum radius allowed is 16 per loop +blurRadius=10 +blurRecursiveLoops=5 + +# Used to dim the background +darkenWallpaper=0.3 + +# Purely cosmetic, has no effect on login credentials +capitaliseUsername=false + +# 'mask' - hides your password by replacing the characters with something else +# 'off' - also hides the length of your password by disabling echoing +passwordEchoStyle=mask + +allowEmptyPassword=false + +# Set false to hide the selected session's name next to the menu icon +displaySession=true + + +# [Translations] +# SDDM may not have translations for every element, or you might want to change some text to something else +# setting these will override the text constants + +virtualKeyboard="" +poweroff="" +reboot="" +suspend="" +hibernate="" +password="" +username="" +loginFailed="" + + +# [Accessibility] + +# Set false to set all transition durations to 0 +enableAnimations=true + +# 'auto' - activates mirroring based on the system locale +# 'false' - never mirror layout +# 'true' - always mirrors +mirrorLayout=auto + +# Whether the on-screen keyboard should be activated by default +# It can always be de/activated through the  accessibility panel +virtualKeyboardStartActive=false + +# Normally the on-screen keyboard only shows up when text fields are focused +# Set this true to have the keyboard always be visible once activated +# This will render the hide button on the keyboard non-functional +forceKeyboardVisible=false diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/software.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/software.sh new file mode 100755 index 0000000..d10bc37 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/software.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e pacseek \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/system-monitor.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/system-monitor.sh new file mode 100755 index 0000000..a7b1e4f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/system-monitor.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e htop diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/terminal.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/terminal.sh new file mode 100755 index 0000000..659fb6b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/terminal.sh @@ -0,0 +1 @@ +kitty \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-automation.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-automation.sh new file mode 100755 index 0000000..2b82dfe --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-automation.sh @@ -0,0 +1 @@ +60 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-effect.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-effect.sh new file mode 100755 index 0000000..cfb931e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-effect.sh @@ -0,0 +1 @@ +off diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-engine.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-engine.sh new file mode 100755 index 0000000..b6923b6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-engine.sh @@ -0,0 +1 @@ +hyprpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-folder.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-folder.sh new file mode 100755 index 0000000..8d138d1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wallpaper-folder.sh @@ -0,0 +1,2 @@ +# Enter the path to the folder that includes your wallpapers +wallpaper_folder=$HOME/wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar-quicklinks.json b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar-quicklinks.json new file mode 100755 index 0000000..7d61906 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar-quicklinks.json @@ -0,0 +1,45 @@ +{ + "custom/quicklink1": { + "format": "", + "on-click": "chromium", + "tooltip-format": "Open Chromium" + }, + "custom/quicklink2": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip-format": "Open Firefox" + }, + "custom/quicklink3": { + "format": "", + "on-click": "~/.config/ml4w/settings/filemanager.sh", + "tooltip-format": "Open filemanager" + }, + "custom/quicklink4": { + "format": "", + "on-click": "betterbird", + "tooltip-format": "Open Betterbird" + }, + "custom/quicklink5": { + "format": "", + "on-click": "~/.config/ml4w/settings/calculator.sh", + "tooltip-format": "Open calculator" + }, + "custom/quicklink6": { + "format": "", + "on-click": "~/.config/ml4w/settings/emojipicker.sh", + "tooltip-format": "Open emoji picker" + }, + "custom/quicklinkempty": { + }, + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/quicklink2", + "custom/quicklink3", + /* + "custom/quicklink4", + */ + "custom/quicklinkempty" + ] + } +} diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar-theme.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar-theme.sh new file mode 100755 index 0000000..736057a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar-theme.sh @@ -0,0 +1 @@ +/ml4w;/ml4w/white diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_appmenu.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_appmenu.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_appmenu.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_backlight.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_backlight.sh new file mode 100755 index 0000000..c1f22fb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_backlight.sh @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_chatgpt.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_chatgpt.sh new file mode 100755 index 0000000..0ca9514 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_chatgpt.sh @@ -0,0 +1 @@ +True diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_custom_timedateformat.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_custom_timedateformat.sh new file mode 100755 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_dateformat.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_dateformat.sh new file mode 100755 index 0000000..05696fa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_dateformat.sh @@ -0,0 +1 @@ +%a \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_network.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_network.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_network.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_quicklinks.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_quicklinks.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_quicklinks.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_screenlock.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_screenlock.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_screenlock.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_settings.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_settings.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_settings.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_systray.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_systray.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_systray.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_taskbar.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_taskbar.sh new file mode 100755 index 0000000..bc59c12 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_taskbar.sh @@ -0,0 +1 @@ +False diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_timeformat.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_timeformat.sh new file mode 100755 index 0000000..3d87f12 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_timeformat.sh @@ -0,0 +1 @@ +%H:%M \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_timezone.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_timezone.sh new file mode 100755 index 0000000..c7aac92 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_timezone.sh @@ -0,0 +1 @@ +America/Chicago diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_toggle.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_toggle.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_toggle.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_window.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_window.sh new file mode 100755 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_window.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_workspaces.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_workspaces.sh new file mode 100755 index 0000000..1e8b314 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/waybar_workspaces.sh @@ -0,0 +1 @@ +6 diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wlogout-parameters.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wlogout-parameters.sh new file mode 100755 index 0000000..50e2452 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/settings/wlogout-parameters.sh @@ -0,0 +1 @@ +-b 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/tpl/.zshrc b/configs/dotfiles/hyprland/laptop/.config/ml4w/tpl/.zshrc new file mode 100755 index 0000000..9968f7e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/tpl/.zshrc @@ -0,0 +1,23 @@ +# _ +# _______| |__ _ __ ___ +# |_ / __| '_ \| '__/ __| +# _ / /\__ \ | | | | | (__ +# (_)___|___/_| |_|_| \___| +# +# ----------------------------------------------------- +# ML4W zshrc loader +# ----------------------------------------------------- + +# DON'T CHANGE THIS FILE + +# You can define your custom configuration by adding +# files in ~/.config/zshrc +# or by creating a folder ~/.config/zshrc/custom +# with you own zshrc configuration +# ----------------------------------------------------- + +if [ -d ~/.config/zshrc/custom ] ;then + for f in ~/.config/zshrc/custom/*; do source $f; done +else + for f in ~/.config/zshrc/*; do source $f; done +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/version/compare.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/compare.sh new file mode 100755 index 0000000..1b18b98 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/compare.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ------------------------------------------------------ +# Compare installed version with used version +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +if [ -f /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name ] ;then + installed_version=$(cat /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name) + used_version=$(cat ~/.config/ml4w/version/name) + if [[ $(testvercomp $used_version $installed_version "<") == "0" ]] ;then + notify-send "Please run ml4w-hyprland-setup" "Installed version is newer then the version you're currently using." + fi +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/version/library.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/library.sh new file mode 100755 index 0000000..94e5fbe --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/library.sh @@ -0,0 +1,42 @@ +vercomp () { + if [[ $1 == $2 ]] + then + return 0 + fi + local IFS=. + local i ver1=($1) ver2=($2) + # fill empty fields in ver1 with zeros + for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) + do + ver1[i]=0 + done + for ((i=0; i<${#ver1[@]}; i++)) + do + if ((10#${ver1[i]:=0} > 10#${ver2[i]:=0})) + then + return 1 + fi + if ((10#${ver1[i]} < 10#${ver2[i]})) + then + return 2 + fi + done + return 0 +} + +testvercomp () { + vercomp $1 $2 + case $? in + 0) op='=';; + 1) op='>';; + 2) op='<';; + esac + if [[ $op != $3 ]] + then + # No update available + echo "1" + else + # Update available + echo "0" + fi +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/version/name b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/name new file mode 100755 index 0000000..92db042 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/name @@ -0,0 +1 @@ +2.9.7.4 diff --git a/configs/dotfiles/hyprland/laptop/.config/ml4w/version/update.sh b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/update.sh new file mode 100755 index 0000000..efe9403 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/ml4w/version/update.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ------------------------------------------------------ +# Check for updates +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +# Get latest tag from GitHub +get_latest_release() { + v_online=$(curl --silent "https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=ml4w-hyprland") + v_full_online=$(grep -m 1 'pkgver' <<< $v_online | sed 's/^$/pkgver/') + echo ${v_full_online/pkgver=/} +} + +# Check for internet connection +if ping -q -c 1 -W 1 google.com >/dev/null; then + + version=$(cat ~/.config/ml4w/version/name) + online=$(get_latest_release "mylinuxforwork/hyprland-dotfiles") + echo $version "<" $online + testvercomp $version $online "<" +else + # Network is down + echo "1" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/nwg-dock-hyprland/launch.sh b/configs/dotfiles/hyprland/laptop/.config/nwg-dock-hyprland/launch.sh new file mode 100755 index 0000000..345b06e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/nwg-dock-hyprland/launch.sh @@ -0,0 +1,6 @@ +# ___ __ +# / _ \___ ____/ /__ +# / // / _ \/ __/ '_/ +# /____/\___/\__/_/\_\ +# +nwg-dock-hyprland -r -i 28 -w 6 -mb 6 -ml 10 -mr 10 -x -lp "start" -c "rofi -show drun" diff --git a/configs/dotfiles/hyprland/laptop/.config/nwg-dock-hyprland/style.css b/configs/dotfiles/hyprland/laptop/.config/nwg-dock-hyprland/style.css new file mode 100755 index 0000000..22fbd06 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/nwg-dock-hyprland/style.css @@ -0,0 +1,43 @@ +window { + background: rgba(46,47,61,0.96); + border-radius: 10px; + border-style: solid; + border-width: 3px; + border-color: #82aaff; + opacity:0.8; +} + +#box { + /* Define attributes of the box surrounding icons here */ + padding: 8px +} + +#active { + /* This is to underline the button representing the currently active window */ + border-bottom: solid 0px; + border-color: #FFFFFF +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #999 +} + +button { + padding: 4px; + margin-left: 3px; + margin-right: 3px; + color: #eee; + font-size: 12px +} + +button:hover { + background-color: rgba(255, 255, 255, 0.15); + border-radius: 10px; +} + +button:focus { + box-shadow: none +} diff --git a/configs/dotfiles/hyprland/laptop/.config/qt6ct/qt6ct.conf b/configs/dotfiles/hyprland/laptop/.config/qt6ct/qt6ct.conf new file mode 100755 index 0000000..e5ace90 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/qt6ct/qt6ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/darker.conf +custom_palette=true +icon_theme=breeze-dark +standard_dialogs=default +style=Breeze + +[Fonts] +fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" +general="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x2\x97\0\0\0\0\0\0\0\0\xff\xff\xff\xfe\xff\xff\xff\xfe\0\0\0\0\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x2\x97) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/configs/dotfiles/hyprland/laptop/.config/rofi/config-cliphist.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config-cliphist.rasi new file mode 100755 index 0000000..a2cbd7a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config-cliphist.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/rofi/config-compact.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config-compact.rasi new file mode 100755 index 0000000..4e59ac5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config-compact.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/rofi/config-hyprshade.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config-hyprshade.rasi new file mode 100755 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config-hyprshade.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/rofi/config-old.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config-old.rasi new file mode 100755 index 0000000..06fb55f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config-old.rasi @@ -0,0 +1,266 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@import "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +/* ---- Window ---- */ +window { + width: 900px; + x-offset: 0px; + y-offset: 0px; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: #FFFFFF; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + 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: false; + dynamic: false; + 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/configs/dotfiles/hyprland/laptop/.config/rofi/config-screenshot.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config-screenshot.rasi new file mode 100755 index 0000000..d4e70ed --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config-screenshot.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 0em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/rofi/config-short.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config-short.rasi new file mode 100755 index 0000000..dcb8cd8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config-short.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 20em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/rofi/config-themes.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config-themes.rasi new file mode 100755 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config-themes.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/rofi/config.rasi b/configs/dotfiles/hyprland/laptop/.config/rofi/config.rasi new file mode 100755 index 0000000..f45262e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/rofi/config.rasi @@ -0,0 +1,241 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + height: 20em; + width: 35em; + transparency: "real"; + fullscreen: false; + enabled: true; + cursor: "default"; + spacing: 0em; + padding: 0em; + border: @border-width; + border-color: @color11; + border-radius: @border-radius; + background-color: @background; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: vertical; + children: [ "inputbar" , "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 2em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 0em 0em 1em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: horizontal; + children: [ "listview" , "mode-switcher" ]; + background-color: @background; +} + +listview { + padding: 1.5em; + spacing: 0.5em; + enabled: true; + columns: 2; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color11; + text-color: @foreground; +} + + +// Elements // +element { + enabled: true; + spacing: 0em; + padding: 0.5em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 1em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.1; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +// Error message // +error-message { + text-color: @foreground; + background-color: @background; + text-transform: capitalize; + children: [ "textbox" ]; +} + +textbox { + text-color: inherit; + background-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-hyprland.conf b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-hyprland.conf new file mode 100755 index 0000000..84e2394 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-hyprland.conf @@ -0,0 +1,18 @@ +$background = rgb({background.strip}) +$foreground = rgb({foreground.strip}) +$color0 = rgb({color0.strip}) +$color1 = rgb({color1.strip}) +$color2 = rgb({color2.strip}) +$color3 = rgb({color3.strip}) +$color4 = rgb({color4.strip}) +$color5 = rgb({color5.strip}) +$color6 = rgb({color6.strip}) +$color7 = rgb({color7.strip}) +$color8 = rgb({color8.strip}) +$color9 = rgb({color9.strip}) +$color10 = rgb({color10.strip}) +$color11 = rgb({color11.strip}) +$color12 = rgb({color12.strip}) +$color13 = rgb({color13.strip}) +$color14 = rgb({color14.strip}) +$color15 = rgb({color15.strip}) \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-rofi-pywal.rasi b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-rofi-pywal.rasi new file mode 100755 index 0000000..f0b1665 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-rofi-pywal.rasi @@ -0,0 +1,20 @@ +* {{ + background: rgba(0,0,1,0.5); + foreground: #FFFFFF; + 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/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-waybar.css b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-waybar.css new file mode 100755 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-waybar.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-wlogout.css b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-wlogout.css new file mode 100755 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/wal/templates/colors-wlogout.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/launch.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/launch.sh new file mode 100755 index 0000000..8ae9e4d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/launch.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# ____ _ _ __ __ _ +# / ___|| |_ __ _ _ __| |_ \ \ / /_ _ _ _| |__ __ _ _ __ +# \___ \| __/ _` | '__| __| \ \ /\ / / _` | | | | '_ \ / _` | '__| +# ___) | || (_| | | | |_ \ V V / (_| | |_| | |_) | (_| | | +# |____/ \__\__,_|_| \__| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Quit all running waybar instances +# ----------------------------------------------------- +killall waybar +pkill waybar +sleep 0.5 + +# ----------------------------------------------------- +# Default theme: /THEMEFOLDER;/VARIATION +# ----------------------------------------------------- +themestyle="/ml4w;/ml4w/light" + +# ----------------------------------------------------- +# Get current theme information from ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ -f ~/.config/ml4w/settings/waybar-theme.sh ]; then + themestyle=$(cat ~/.config/ml4w/settings/waybar-theme.sh) +else + touch ~/.config/ml4w/settings/waybar-theme.sh + echo "$themestyle" > ~/.config/ml4w/settings/waybar-theme.sh +fi + +IFS=';' read -ra arrThemes <<< "$themestyle" +echo ":: Theme: ${arrThemes[0]}" + +if [ ! -f ~/.config/waybar/themes${arrThemes[1]}/style.css ]; then + themestyle="/ml4w;/ml4w/light" +fi + +# ----------------------------------------------------- +# Loading the configuration +# ----------------------------------------------------- +config_file="config" +style_file="style.css" + +# Standard files can be overwritten with an existing config-custom or style-custom.css +if [ -f ~/.config/waybar/themes${arrThemes[0]}/config-custom ] ;then + config_file="config-custom" +fi +if [ -f ~/.config/waybar/themes${arrThemes[1]}/style-custom.css ] ;then + style_file="style-custom.css" +fi + +# Check if waybar-disabled file exists +if [ ! -f $HOME/.cache/waybar-disabled ] ;then + waybar -c ~/.config/waybar/themes${arrThemes[0]}/$config_file -s ~/.config/waybar/themes${arrThemes[1]}/$style_file & +fi + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/modules.json b/configs/dotfiles/hyprland/laptop/.config/waybar/modules.json new file mode 100755 index 0000000..04caaa9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/modules.json @@ -0,0 +1,379 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +{ + // Workspaces + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty", "kitty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Empty + "custom/empty": { + "format": "" + }, + + // Tools + "custom/tools": { + "format": "", + "tooltip-format": "Tools" + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip-format": "Left: Open clipboard Manager\nRight: Delete an entry\nMiddle: Clear list" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "interval": 1800, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "bash -c waypaper &", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip-format": "Left: Select a wallpaper\nRight: Select wallpaper effect" + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip-format": "Select a waybar theme" + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "sleep 0.1 && com.ml4w.dotfilessettings", + "tooltip-format": "ML4W Dotfiles Settings" + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": " ", + "on-click": "~/.config/ml4w/settings/ai.sh", + "tooltip-format": "AI Support" + }, + + // Calculator + "custom/calculator": { + "format": "", + "on-click": "qalculate-gtk", + "tooltip-format": "Open calculator" + }, + + // Windows VM + "custom/windowsvm": { + "format": "", + "on-click": "~/.config/ml4w/scripts/launchvm.sh", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + // START APPS LABEL + "format": "Apps", + // END APPS LABEL + "on-click": "sleep 0.2;pkill rofi || rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Rofi Application Launcher + "custom/appmenuicon": { + "format": "", + "on-click": "sleep 0.2;rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "~/.config/ml4w/scripts/wlogout.sh", + "on-click-right": "hyprlock", + "tooltip-format": "Left: Power menu\nRight: Lock screen" + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "tooltip-format": "Toggle Screen Shader", + "on-click": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh rofi" + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle" + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "gnome-calendar", + "timezone": "America/Chicago", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "CPU: {usage}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Memory + "memory": { + "format": "| RAM: {}% | ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "Disk: {percentage_used}%", + "path": "/", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": ["custom/system", "cpu", "memory", "disk"] + }, + + // Group Tools + "group/tools": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/tools", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade" + ] + }, + + // Group Links + "group/links": { + "orientation": "horizontal", + "modules": [ + "custom/chatgpt", + "custom/empty" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": true + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {signalStrength}%", + "format-ethernet": " {ifname}", + "format-disconnected": "Disconnected ⚠", + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}", + "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "~/.config/ml4w/settings/networkmanager.sh", + "on-click-right": "~/.config/ml4w/scripts/nm-applet.sh toggle", + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format": "", + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false + }, + + // backlight: + "backlight": { + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "scroll-step": 1 + } +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ai-icon-20.png b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ai-icon-20.png new file mode 100755 index 0000000..a070dd4 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ai-icon-20.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ai-icon.png b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ai-icon.png new file mode 100755 index 0000000..398379b Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ai-icon.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/hyprland-icon-20.png b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/hyprland-icon-20.png new file mode 100755 index 0000000..0d36ec2 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/hyprland-icon-20.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/hyprland-icon.png b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/hyprland-icon.png new file mode 100755 index 0000000..c87b767 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/hyprland-icon.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-20.png b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-20.png new file mode 100755 index 0000000..df25ccb Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-20.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-black.svg b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-black.svg new file mode 100755 index 0000000..011b817 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-black.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-dark.png b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-dark.png new file mode 100755 index 0000000..73ec085 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-dark.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-white.svg b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-white.svg new file mode 100755 index 0000000..c19407d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon.png b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon.png new file mode 100755 index 0000000..92a54e0 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon.svg b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon.svg new file mode 100755 index 0000000..fa8e063 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/ml4w-icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai-black.svg b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai-black.svg new file mode 100755 index 0000000..3b4eff9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai-black.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai-white.svg b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai-white.svg new file mode 100755 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai-white.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai.svg b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai.svg new file mode 100755 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/assets/openai.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/config new file mode 100755 index 0000000..b02f10e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/config @@ -0,0 +1,161 @@ +{ + // "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": ["hyprland/workspaces","custom/waybarthemes"], + "modules-center": ["hyprland/window"], + "modules-right": ["custom/ml4w-welcome","mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip": false + }, + // Waybar Themes + "custom/waybarthemes": { + "format": "Themes", + "on-click": "~/.config/ml4w/waybar/themeswitcher.sh", + "tooltip": false + }, + "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 ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/config.sh new file mode 100755 index 0000000..71a3429 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Default Theme" diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/style.css new file mode 100755 index 0000000..cafc802 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/default/style.css @@ -0,0 +1,289 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + 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; +} + +#custom-ml4w-welcome { + margin-right: 15px; + background-image: url("../assets/ml4w-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 20px; + margin-right: 0px; +} + +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; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/black/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/black/config.sh new file mode 100755 index 0000000..cea609a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/black/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/black/style.css new file mode 100755 index 0000000..129c909 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/black/style.css @@ -0,0 +1,29 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh new file mode 100755 index 0000000..7f55337 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/colored/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/colored/style.css new file mode 100755 index 0000000..de0b369 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/config new file mode 100755 index 0000000..ea2b0cb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh new file mode 100755 index 0000000..df6f8c2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/dark/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/dark/style.css new file mode 100755 index 0000000..54e8317 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/light/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/light/config.sh new file mode 100755 index 0000000..da067d2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Light" diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/light/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/light/style.css new file mode 100755 index 0000000..5caa16a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh new file mode 100755 index 0000000..dea299a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css new file mode 100755 index 0000000..fe8dbb3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/white/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/white/config.sh new file mode 100755 index 0000000..1592654 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/white/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/white/style.css new file mode 100755 index 0000000..a0ba4a7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur-bottom/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/black/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/black/config.sh new file mode 100755 index 0000000..5c6fb05 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/black/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/black/style.css new file mode 100755 index 0000000..b8a549a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/black/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/colored/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/colored/config.sh new file mode 100755 index 0000000..7338fef --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/colored/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/colored/style.css new file mode 100755 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/config new file mode 100755 index 0000000..fcd29ce --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/dark/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/dark/config.sh new file mode 100755 index 0000000..a3b9e88 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/dark/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/dark/style.css new file mode 100755 index 0000000..8470788 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/light/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/light/config.sh new file mode 100755 index 0000000..ca5fe11 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Light" diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/light/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/light/style.css new file mode 100755 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/mixed/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/mixed/config.sh new file mode 100755 index 0000000..eb698ad --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/mixed/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/mixed/style.css new file mode 100755 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/style.css new file mode 100755 index 0000000..12734d3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/style.css @@ -0,0 +1,478 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left:14px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 8px 15px 8px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 14px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 20px; +} + +#custom-settings { + margin-right:12px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; + opacity: 0.8; +} + +#custom-chatgpt { + margin-right: 12px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 16px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 17px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 8px 16px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; + color: @textcolor3; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/white/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/white/config.sh new file mode 100755 index 0000000..e458b19 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/white/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/white/style.css new file mode 100755 index 0000000..f50cb7e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-blur/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/black/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/black/config.sh new file mode 100755 index 0000000..5837eb6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/black/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/black/style.css new file mode 100755 index 0000000..6bae0cd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/colored/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/colored/config.sh new file mode 100755 index 0000000..0a31bac --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/colored/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/colored/style.css new file mode 100755 index 0000000..53bf65c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/config new file mode 100755 index 0000000..8e55c1b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 14, + "layer": "top", + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/dark/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/dark/config.sh new file mode 100755 index 0000000..a6fe8ff --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/dark/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/dark/style.css new file mode 100755 index 0000000..2179f76 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/light/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/light/config.sh new file mode 100755 index 0000000..e016502 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/light/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/light/style.css new file mode 100755 index 0000000..833b8c4 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/mixed/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/mixed/config.sh new file mode 100755 index 0000000..e5bc67e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/mixed/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/mixed/style.css new file mode 100755 index 0000000..f3ee832 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/white/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/white/config.sh new file mode 100755 index 0000000..71dd9f5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/white/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/white/style.css new file mode 100755 index 0000000..704bfbd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-bottom/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/config new file mode 100755 index 0000000..4614d63 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/config @@ -0,0 +1,88 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": [" ", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Modules Left + "modules-left": [ +"custom/appmenuicon", + "hyprland/workspaces", + "group/links", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", + "custom/exit", + "clock", +"tray", + "custom/ml4w-welcome" + ] +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/config.sh new file mode 100755 index 0000000..eac2047 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Minimal" diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/style.css new file mode 100755 index 0000000..be884b6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-minimal/style.css @@ -0,0 +1,431 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.4); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left: 10px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + + #workspaces { + margin: 3px 7px 3px 3px; + border: 0px; + font-size: 14px; + color: @textcolor1; +} + +#workspaces button { + border: 0px; + margin:4px 5px 4px 0px; + padding:0px 4px 0px 4px; + color: @textcolor3; + transition: all 0.5s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 0px 15px 0px 0px; + border-radius: 12px; + color:@textcolor; + font-size:14px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 14px; + font-weight: bold; + color: @iconcolor; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-settings { + margin-right: 15px; +} + +#custom-browser { + margin-right: 12px; +} + +#custom-wallpaper { + margin-right: 14px; +} + +#custom-chatgpt { + margin-right: 10px; + background-image: url("../assets/ai-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 23px; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-ml4w-hyprland-settings { + margin-right: 12px; + background-image: url("../assets/hyprland-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 16px; +} + + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 16px; + font-weight: bold; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 14px; + font-weight: bold; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenuicon { + font-size: 20px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:16px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#custom-updates.green { +} + +#custom-updates.yellow { + color: #ff9a3c; +} + +#custom-updates.red { + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Youtube + * ----------------------------------------------------- */ + +#custom-youtube { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:14px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + font-size: 15px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; + background-color: transparent; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + + #pulseaudio { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#pulseaudio.muted { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#network.ethernet { + color: @textcolor; +} + +#network.wifi { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/black/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/black/config.sh new file mode 100755 index 0000000..63c42a1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/black/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/black/style.css new file mode 100755 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/colored/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/colored/config.sh new file mode 100755 index 0000000..61e80a5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/colored/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/colored/style.css new file mode 100755 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/config new file mode 100755 index 0000000..f570e02 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 14, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "hyprland/workspaces", + "group/links", +//"wlr/taskbar", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/dark/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/dark/config.sh new file mode 100755 index 0000000..e6f8d5b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/dark/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/dark/style.css new file mode 100755 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/light/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/light/config.sh new file mode 100755 index 0000000..0c6cdb1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Light" diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/light/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/light/style.css new file mode 100755 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/mixed/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/mixed/config.sh new file mode 100755 index 0000000..46f3eb5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/mixed/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/mixed/style.css new file mode 100755 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/style.css new file mode 100755 index 0000000..12943e1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/style.css @@ -0,0 +1,470 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + + * { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 18px 3px 1px; + padding: 0px 2px; + border-radius: 5px 5px 5px 5px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 6px; + margin: 3px 2px; + border-radius: 3px 3px 3px 3px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.1s linear; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 3px 3px 3px 3px; + min-width: 30px; + transition: all 0.1s linear; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 5px 5px 5px 5px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 3px 15px 3px 0px; + padding: 2px 10px 0px 10px; + border-radius: 5px 5px 5px 5px; + color:white; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 5px 5px 5px 5px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 5px 5px 5px 5px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 5px 5px 5px 5px; + padding: 0px 10px 0px 10px; + margin: 2px 17px 2px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 3px 5px 3px 5px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 15px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/white/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/white/config.sh new file mode 100755 index 0000000..efe0528 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/white/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/white/style.css new file mode 100755 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w-modern/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/black/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/black/config.sh new file mode 100755 index 0000000..39e19cb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/black/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/black/style.css new file mode 100755 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/colored/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/colored/config.sh new file mode 100755 index 0000000..25dbee7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/colored/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/colored/style.css new file mode 100755 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/config new file mode 100755 index 0000000..df11393 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/config @@ -0,0 +1,55 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 2, + "margin-bottom": 0, + "margin-left": 10, + "margin-right": 10, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ + "hyprland/workspaces", + //"custom/appmenu", + //"group/links", + //"wlr/taskbar", + //"group/quicklinks", + "hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "clock" + ], + + // Modules Right + "modules-right": [ + //"custom/updates", + //"backlight", + "network", + "bluetooth", + "pulseaudio", + "battery", + "group/hardware", + "group/tools", + "tray", + "custom/exit", + ] +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/dark/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/dark/config.sh new file mode 100755 index 0000000..6c2cf9f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/dark/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/dark/style.css new file mode 100755 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/light/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/light/config.sh new file mode 100755 index 0000000..55e4ffd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light" diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/light/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/light/style.css new file mode 100755 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/mixed/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/mixed/config.sh new file mode 100755 index 0000000..c00e231 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/mixed/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/mixed/style.css new file mode 100755 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/style.css new file mode 100755 index 0000000..6bb3b9a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/style.css @@ -0,0 +1,469 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 1px 1px 1px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 14px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 2px; + margin: 2px 1px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 30px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 14px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 5px 15px 5px 5px; + padding: 2px 10px 2px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:14px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 2px 10px 2px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 14px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 14px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 14px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 3px 17px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 8px 0px 8px; + margin: 5px 5px 5px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:14px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 14px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 3px 10px 3px 10px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 8px 0px 8px; + margin: 5px 5px 5px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 8px 0px 8px; + margin: 5px 5px 5px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 8px 0px 8px; + margin: 5px 5px 5px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 8px 0px 8px; + margin: 5px 5px 5px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 8px 0px 8px; + margin: 5px 5px 5px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/white/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/white/config.sh new file mode 100755 index 0000000..685088f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/white/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/white/style.css new file mode 100755 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/ml4w/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/config b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/config new file mode 100755 index 0000000..6084f60 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/config @@ -0,0 +1,66 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + + // Position TOP + "layer": "top", + "margin-bottom": 0, + + // Position BOTTOM + // "position": "bottom", + // "margin-top": 0, + // "margin-bottom": 14, + + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/themes/starter/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "custom/settings", + //"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/starter" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/config.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/config.sh new file mode 100755 index 0000000..a9399f6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Starter" diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/modules.json b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/modules.json new file mode 100755 index 0000000..51e0add --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/modules.json @@ -0,0 +1,351 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // Workspaces + "hyprland/workspaces" : { + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip": false + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "on-click": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh rofi", + "tooltip": false + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle", + "on-click-right": "hyprlock" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "tooltip-format": "{}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "alacritty -e ~/.config/ml4w/scripts/installupdates.sh", + "tooltip": false + }, + + // Theme Starter Label + "custom/starter": { + "format": "THEME STARTER", + "tooltip": false + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "waypaper", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip": false + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip": false + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage", + "tooltip": false + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Filemanager Launcher + "custom/filemanager": { + "format": "", + "on-click": "nautilus", + "tooltip": false + }, + + // Browser Launcher + "custom/browser": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip": false + }, + + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip-format": "Open Sidebar" + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": "", + "on-click": "chromium --app=https://chat.openai.com", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + "format": "Apps", + "on-click": "rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "wlogout", + "tooltip": false + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags -t calendar", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "alacritty -e htop" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "alacritty -e htop" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "alacritty -e htop" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/system", + "disk", + "cpu", + "memory", + "hyprland/language" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Group Quicklinks + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/filemanager", + "custom/browser" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {signalStrength}%", + "format-ethernet": " {ipaddr}", + "format-disconnected": "Not connected", //An empty format will hide the module. + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {essid} ({signalStrength}%)", + "tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "alacritty -e nmtui" + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false, + }, + + // Idle Inhibator + "idle_inhibitor": { + "format": "{icon}", + "tooltip": true, + "format-icons":{ + "activated": "", + "deactivated": "" + }, + "on-click-right": "hyprlock" + } +} diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/style.css b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/style.css new file mode 100755 index 0000000..21fdcfa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themes/starter/style.css @@ -0,0 +1,457 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor3; + transition: all 0.3s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 10px 15px 10px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 23px; + font-size: 20px; + font-weight: bold; + color: @iconcolor; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 24px; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 10px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +/* ----------------------------------------------------- + * Other + * ----------------------------------------------------- */ + +label:focus { + background-color: #000000; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/themeswitcher.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/themeswitcher.sh new file mode 100755 index 0000000..f3e4734 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/themeswitcher.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _ _ +# |_ _| |__ ___ _ __ ___ ___ _____ _(_) |_ ___| |__ ___ _ __ +# | | | '_ \ / _ \ '_ ` _ \ / _ \/ __\ \ /\ / / | __/ __| '_ \ / _ \ '__| +# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ | +# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Default theme folder +# ----------------------------------------------------- +themes_path="$HOME/.config/waybar/themes" + +# ----------------------------------------------------- +# Initialize arrays +# ----------------------------------------------------- +listThemes="" +listNames="" +listNames2="" + +# ----------------------------------------------------- +# Read theme folder +# ----------------------------------------------------- +sleep 0.2 +options=$(find $themes_path -maxdepth 2 -type d) +for value in $options +do + if [ ! $value == "$HOME/.config/waybar/themes/assets" ]; then + if [ ! $value == "$themes_path" ]; then + if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then + result=$(echo $value | sed "s#$HOME/.config/waybar/themes/#/#g") + IFS='/' read -ra arrThemes <<< "$result" + listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result" + if [ -f $themes_path$result/config.sh ]; then + source $themes_path$result/config.sh + listNames+="$theme_name\n" + listNames2+="$theme_name~" + else + listNames+="/${arrThemes[1]};$result\n" + listNames2+="/${arrThemes[1]};$result~" + fi + fi + fi + fi +done + +# ----------------------------------------------------- +# Show rofi dialog +# ----------------------------------------------------- +listNames=${listNames::-2} +choice=$(echo -e "$listNames" | rofi -dmenu -replace -i -config ~/.config/rofi/config-themes.rasi -no-show-icons -width 30 -p "Themes" -format i) +IFS="~" +input=$listNames2 +read -ra array <<< "$input" + +# ----------------------------------------------------- +# Set new theme by writing the theme information to ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ "$choice" ]; then + echo "Loading waybar theme..." + echo "${listThemes[$choice+1]}" > ~/.config/ml4w/settings/waybar-theme.sh + ~/.config/waybar/launch.sh + notify-send "Waybar Theme changed" "to ${array[$choice]}" +fi diff --git a/configs/dotfiles/hyprland/laptop/.config/waybar/toggle.sh b/configs/dotfiles/hyprland/laptop/.config/waybar/toggle.sh new file mode 100755 index 0000000..0d49a4e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/waybar/toggle.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# _____ _ __ __ _ +# |_ _|__ __ _ __ _| | ___ \ \ / /_ _ _ _| |__ __ _ _ __ +# | |/ _ \ / _` |/ _` | |/ _ \ \ \ /\ / / _` | | | | '_ \ / _` | '__| +# | | (_) | (_| | (_| | | __/ \ V V / (_| | |_| | |_) | (_| | | +# |_|\___/ \__, |\__, |_|\___| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ |___/ |___/ +# + +if [ -f ~/.cache/waybar-disabled ] ;then + rm ~/.cache/waybar-disabled +else + touch ~/.cache/waybar-disabled +fi +~/.config/waybar/launch.sh & diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/README.txt b/configs/dotfiles/hyprland/laptop/.config/wlogout/README.txt new file mode 100755 index 0000000..4ceecd7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/wlogout/README.txt @@ -0,0 +1,8 @@ +Select Logout Command depending on your setup: + +Use for Display Manager e.g., sddm (DEFAULT) +sleep 1; hyprctl dispatch exit + +Use for Arch Linux text based login +sleep 1; loginctl terminate-user $USER + diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/hibernate.png b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/hibernate.png new file mode 100755 index 0000000..bf2b001 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/hibernate.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/lock.png b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/lock.png new file mode 100755 index 0000000..da59b10 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/lock.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/logout.png b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/logout.png new file mode 100755 index 0000000..8a25922 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/logout.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/reboot.png b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/reboot.png new file mode 100755 index 0000000..e5fd221 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/reboot.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/shutdown.png b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/shutdown.png new file mode 100755 index 0000000..663ca03 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/shutdown.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/suspend.png b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/suspend.png new file mode 100755 index 0000000..af099b9 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/wlogout/icons/suspend.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/layout b/configs/dotfiles/hyprland/laptop/.config/wlogout/layout new file mode 100755 index 0000000..0dfb38a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/wlogout/layout @@ -0,0 +1,30 @@ +{ + "label" : "lock", + "action" : "~/.config/hypr/scripts/power.sh lock", + "text" : "Lock", + "keybind" : "l" +} +{ + "label" : "logout", + "action" : "~/.config/hypr/scripts/power.sh exit", + "text" : "Log Out", + "keybind" : "e" +} +{ + "label" : "suspend", + "action" : "~/.config/hypr/scripts/power.sh suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "~/.config/hypr/scripts/power.sh reboot", + "text" : "Restart", + "keybind" : "r" +} +{ + "label" : "shutdown", + "action" : "~/.config/hypr/scripts/power.sh shutdown", + "text" : "Power Off", + "keybind" : "s" +} diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/noise.png b/configs/dotfiles/hyprland/laptop/.config/wlogout/noise.png new file mode 100755 index 0000000..028b188 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop/.config/wlogout/noise.png differ diff --git a/configs/dotfiles/hyprland/laptop/.config/wlogout/style.css b/configs/dotfiles/hyprland/laptop/.config/wlogout/style.css new file mode 100755 index 0000000..f533d11 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/wlogout/style.css @@ -0,0 +1,107 @@ +/* + _ _ +__ _| | ___ __ _ ___ _ _| |_ +\ \ /\ / / |/ _ \ / _` |/ _ \| | | | __| + \ V V /| | (_) | (_| | (_) | |_| | |_ + \_/\_/ |_|\___/ \__, |\___/ \__,_|\__| + |___/ + +by Stephan Raabe (2023) +----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../.cache/wal/colors-wlogout.css'; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + background-image: none; + transition: 20ms; + box-shadow: none; +} + +window { + background: url("../ml4w/cache/blurred_wallpaper.png"); + background-size: cover; + font-size: 16pt; + color: #cdd6f4; +} + +button { + background-repeat: no-repeat; + background-position: center; + background-size: 20%; + background-color: rgba(200, 220, 255, 0); + animation: gradient_f 20s ease-in infinite; + border-radius: 80px; /* Increased border radius for a more rounded look */ + border:0px; + transition: all 0.3s cubic-bezier(.55, 0.0, .28, 1.682), box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; +} + +button:focus { + background-size: 22%; + border: 0px; +} + +button:hover { + background-color: @color11; + opacity: 0.8; + color: #cdd6f4; + background-size: 30%; + margin: 30px; + border-radius: 80px; + box-shadow: 0 0 50px @color7; +} + +/* Adjust the size of the icon or content inside the button */ +button span { + font-size: 1.2em; /* Increase the font size */ +} + +/* +----------------------------------------------------- +Buttons +----------------------------------------------------- +*/ + +#lock { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/lock.png")); +} + +#logout { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/logout.png")); +} + +#suspend { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/reboot.png")); +} diff --git a/configs/dotfiles/hyprland/laptop/.config/xsettingsd/xsettingsd.conf b/configs/dotfiles/hyprland/laptop/.config/xsettingsd/xsettingsd.conf new file mode 100755 index 0000000..5065b09 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,9 @@ +Net/ThemeName "Adwaita" +Net/IconThemeName "Papirus-Dark" +Gtk/CursorThemeName "Bibata-Modern-Ice" +Net/EnableEventSounds 1 +EnableInputFeedbackSounds 0 +Xft/Antialias 1 +Xft/Hinting 1 +Xft/HintStyle "hintslight" +Xft/RGBA "rgb" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/Xresources b/configs/dotfiles/hyprland/laptop_default/.config/Xresources new file mode 100644 index 0000000..6a1c856 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/Xresources @@ -0,0 +1 @@ +Xcursor.theme: Bibata-Modern-Ice diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/app.ts b/configs/dotfiles/hyprland/laptop_default/.config/ags/app.ts new file mode 100644 index 0000000..26c6a1d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/app.ts @@ -0,0 +1,11 @@ +import { App, Widget } from "astal/gtk3" +import Calendar from "./widget/Calendar" +import Sidebar from "./widget/Sidebar" + +App.start({ + css: "./style.css", + main() { + Sidebar(); + Calendar(); + } +}) diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/application-exit-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/application-exit-symbolic.svg new file mode 100644 index 0000000..66e44f1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/application-exit-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg new file mode 100644 index 0000000..b1ce05f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/arrow-circular-top-right-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/fileview-preview-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/fileview-preview-symbolic.svg new file mode 100644 index 0000000..167090d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/fileview-preview-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/image-loading-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/image-loading-symbolic.svg new file mode 100644 index 0000000..b445ad1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/image-loading-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/media-playback-paused-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/media-playback-paused-symbolic.svg new file mode 100644 index 0000000..16d5de7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/media-playback-paused-symbolic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/padlock2-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/padlock2-symbolic.svg new file mode 100644 index 0000000..0d51118 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/padlock2-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg new file mode 100644 index 0000000..541721c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/preferences-desktop-wallpaper-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/turn-off-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/turn-off-symbolic.svg new file mode 100644 index 0000000..db109c8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/turn-off-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg new file mode 100644 index 0000000..4536935 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/icons/xapp-prefs-preview-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-dotfiles-settings.png b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-dotfiles-settings.png new file mode 100644 index 0000000..938b6f7 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-dotfiles-settings.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-hyprland-settings.png b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-hyprland-settings.png new file mode 100644 index 0000000..c7e8e29 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-hyprland-settings.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-welcome.png b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-welcome.png new file mode 100644 index 0000000..7d4efe7 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/ags/assets/ml4w-welcome.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/env.d.ts b/configs/dotfiles/hyprland/laptop_default/.config/ags/env.d.ts new file mode 100644 index 0000000..4e7e508 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/env.d.ts @@ -0,0 +1,21 @@ +const SRC: string + +declare module "inline:*" { + const content: string + export default content +} + +declare module "*.scss" { + const content: string + export default content +} + +declare module "*.blp" { + const content: string + export default content +} + +declare module "*.css" { + const content: string + export default content +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/scripts/run_themeswitcher.sh b/configs/dotfiles/hyprland/laptop_default/.config/ags/scripts/run_themeswitcher.sh new file mode 100755 index 0000000..7c20589 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/scripts/run_themeswitcher.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/waybar/themeswitcher.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/scripts/run_wallpapereffects.sh b/configs/dotfiles/hyprland/laptop_default/.config/ags/scripts/run_wallpapereffects.sh new file mode 100755 index 0000000..78dcaaf --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/scripts/run_wallpapereffects.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$HOME/.config/hypr/scripts/wallpaper-effects.sh \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/style.css b/configs/dotfiles/hyprland/laptop_default/.config/ags/style.css new file mode 100644 index 0000000..6cf06e8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/style.css @@ -0,0 +1,211 @@ +@import url('../../.cache/wal/colors-waybar.css'); + +* { + all:unset; + font-size: 14px; + font-family: "Fira Sans", sans-serif; + font-weight: normal; +} + +.calendar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; + min-width:320px; +} + +calendar:selected { + background-color:@color11; + padding:0px; +} + +.sidebar { + background: #222222; + padding: 12px; + margin:14px; + border-radius: 12px; + font-weight: bold; + border: 3px solid @color11; + box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.8); + padding:20px; +} + +.group { + padding:16px; + background-color: rgba(116, 116, 116, 0.1); + border-radius: 20px; +} + +.ml4wwelcomeicon { + background:url("assets/ml4w-welcome.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4wsettingsicon { + background:url("assets/ml4w-dotfiles-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.ml4whyprlandicon { + background:url("assets/ml4w-hyprland-settings.png"); + background-size:50px; + background-repeat: no-repeat; + background-position: top; + padding: 40px 50px 20px 50px; +} + +.btnbar { + border: 1px solid #222222; + padding:5px; + min-height:24px; + border-radius: 24px; + min-width: 24px; + margin:0px 2px 0px 2px; +} + +.btnbar.statusbar { + background:url("assets/icons/image-loading-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpaper { + background:url("assets/icons/fileview-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; + background-size:20px; +} + +.btnbar.wallpapereffects { + background:url("assets/icons/xapp-prefs-preview-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.lock { + background:url("assets/icons/padlock2-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.logout { + background:url("assets/icons/application-exit-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.restart { + background:url("assets/icons/arrow-circular-top-right-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.suspend { + background:url("assets/icons/media-playback-paused-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.btnbar.exit { + background:url("assets/icons/turn-off-symbolic.svg"); + background-repeat:no-repeat; + background-position:center; + background-color: @color11; +} + +.midbtn { + background-color: @color11; + font-size: 12px; + padding:10px; + border-radius: 20px; +} + +.AudioSlider { + background-color:@color11; + border-radius:12px; + margin-bottom:10px; +} + +.AudioSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider value { + min-height: 20px; + background-color: #222222; +} + +.AudioSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.AudioSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.AudioSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider { + background-color:@color11; + border-radius:12px; +} + +.MicrophoneSlider contents { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider value { + min-height: 20px; + background-color: #222222; +} + +.MicrophoneSlider slider { + min-height: 20px; + background-color:@color15; + border-radius:12px; +} + +.MicrophoneSlider highlight { + min-height:20px; + background-color:@color11; + border-radius:12px; + outline-width:3px; +} + +.MicrophoneSlider fill { + min-height:20px; + background-color:@color11; + border-radius:12px; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/tsconfig.json b/configs/dotfiles/hyprland/laptop_default/.config/ags/tsconfig.json new file mode 100644 index 0000000..b239e15 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/tsconfig.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "experimentalDecorators": true, + "strict": true, + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "Bundler", + // "checkJs": true, + // "allowJs": true, + "jsx": "react-jsx", + "jsxImportSource": "/usr/share/astal/gjs/gtk3", + "paths": { + "astal": [ + "/usr/share/astal/gjs" + ], + "astal/*": [ + "/usr/share/astal/gjs/*" + ] + }, + } +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Bar.tsx b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Bar.tsx new file mode 100644 index 0000000..ed1d845 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Bar.tsx @@ -0,0 +1,29 @@ +import { App, Astal, Gtk, Gdk } from "astal/gtk3" +import { Variable } from "astal" + +const time = Variable("").poll(1000, "date") + +export default function Bar(gdkmonitor: Gdk.Monitor) { + return + + + + + + +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Brightness.tsx b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Brightness.tsx new file mode 100644 index 0000000..86214f9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Brightness.tsx @@ -0,0 +1,72 @@ +// Thanks to https://gitlab.com/filippoaceto/ +import GObject, { register, property } from "astal/gobject" +import { monitorFile, readFileAsync } from "astal/file" +import { exec, execAsync } from "astal/process" + +const get = (args: string) => Number(exec(`brightnessctl ${args}`)) +const screen = exec(`bash -c "ls -w1 /sys/class/backlight | head -1"`) +const kbd = exec(`bash -c "ls -w1 /sys/class/leds | head -1"`) + +@register({ GTypeName: "Brightness" }) +export default class Brightness extends GObject.Object { + static instance: Brightness + static get_default() { + if (!this.instance) + this.instance = new Brightness() + + return this.instance + } + + #kbdMax = get(`--device ${kbd} max`) + #kbd = get(`--device ${kbd} get`) + #screenMax = get("max") + #screen = get("get") / (get("max") || 1) + + @property(Number) + get kbd() { return this.#kbd } + + set kbd(value) { + if (value < 0 || value > this.#kbdMax) + return + execAsync(`brightnessctl -d ${kbd} s ${value} -q`).then(() => { + this.#kbd = value + this.notify("kbd") + }) + } + + @property(Number) + get screen() { return this.#screen } + + set screen(percent) { + if (percent < 0) + percent = 0 + + if (percent > 1) + percent = 1 + + if (Math.floor(percent * 100) > 1) + execAsync(`brightnessctl set ${Math.floor(percent * 100)}% -q`).then(() => { + this.#screen = percent + this.notify("screen") + }) + } + + constructor() { + super() + + const screenPath = `/sys/class/backlight/${screen}/brightness` + const kbdPath = `/sys/class/leds/${kbd}/brightness` + + monitorFile(screenPath, async f => { + const v = await readFileAsync(f) + this.#screen = Number(v) / this.#screenMax + this.notify("screen") + }) + + monitorFile(kbdPath, async f => { + const v = await readFileAsync(f) + this.#kbd = Number(v) / this.#kbdMax + this.notify("kbd") + }) + } +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Calendar.tsx b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Calendar.tsx new file mode 100644 index 0000000..263a77e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Calendar.tsx @@ -0,0 +1,42 @@ +import { GObject } from "astal"; +import { astalify, ConstructProps, App, Astal, Gdk, Gtk } from "astal/gtk3" + +class CalendarGtk extends astalify(Gtk.Calendar) { + static { + GObject.registerClass(this); + } + + constructor( + props: ConstructProps, + ) { + super(props as any); + } +} + +export default function Calendar() { + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + {new CalendarGtk({ + hexpand: true, + vexpand: true, + showDayNames: true, + showDetails: false, + showHeading: true, + showWeekNumbers: true + })} + +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Sidebar.tsx b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Sidebar.tsx new file mode 100644 index 0000000..d2672ba --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ags/widget/Sidebar.tsx @@ -0,0 +1,167 @@ +import { App } from "astal/gtk3" +import Apps from "gi://AstalApps" +import Wp from "gi://AstalWp" +import { Variable, GLib, bind } from "astal" +import { subprocess, exec, execAsync } from "astal/process" +import { Astal, Gtk, Gdk } from "astal/gtk3" +import Brightness from "./Brightness" + +function BrightnessSlider() { + const brightness = Brightness.get_default() + + return + brightness.screen = value} + /> + +} + +function AudioSlider() { + const speaker = Wp.get_default()?.audio.defaultSpeaker! + + return + speaker.volume = value} + value={bind(speaker, "volume")} + /> + +} + +function MicrophoneSlider() { + const microphone = Wp.get_default()?.audio.defaultMicrophone! + + return + microphone.volume = value} + value={bind(microphone, "volume")} + /> + +} + +function openwelcomeapp() { + execAsync("com.ml4w.welcome") + App.get_window("sidebar")!.hide() +} + +function opensettingsapp() { + execAsync("com.ml4w.dotfilessettings") + App.get_window("sidebar")!.hide() +} + +function openhyprlandapp() { + execAsync("com.ml4w.hyprland.settings") + App.get_window("sidebar")!.hide() +} + +function openwallpaper() { + const proc = subprocess(["bash", "-c", "waypaper"]) + App.get_window("sidebar")!.hide() +} + +function openwallpapereffects() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/wallpaper-effects.sh"]) + App.get_window("sidebar")!.hide() +} + +function openwaybarthemes() { + const proc = subprocess(["bash", "-c", "$HOME/.config/waybar/themeswitcher.sh"]) + App.get_window("sidebar")!.hide() +} + +function powerlock() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh lock"]) + App.get_window("sidebar")!.hide() +} + +function powerlogout() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh exit"]) + App.get_window("sidebar")!.hide() +} + +function powersuspend() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh suspend"]) + App.get_window("sidebar")!.hide() +} + +function powerrestart() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh reboot"]) + App.get_window("sidebar")!.hide() +} + +function powerexit() { + const proc = subprocess(["bash", "-c", "$HOME/.config/hypr/scripts/power.sh shutdown"]) + App.get_window("sidebar")!.hide() +} + +export default function Sidebar() { + + const anchor = Astal.WindowAnchor.TOP + | Astal.WindowAnchor.RIGHT + + return + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/dunst/dunstrc b/configs/dotfiles/hyprland/laptop_default/.config/dunst/dunstrc new file mode 100644 index 0000000..ed3be7e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/dunst/dunstrc @@ -0,0 +1,469 @@ +# _ _ +# __| |_ _ _ __ ___| |_ +# / _` | | | | '_ \/ __| __| +# | (_| | |_| | | | \__ \ |_ +# \__,_|\__,_|_| |_|___/\__| +# +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = (0,300) + + # Position the notification in the top right corner + origin = top-center + + # Offset from the origin + offset = 30x30 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 10 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 30 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 1 + + # Defines color of the frame around the notification window. + frame_color = "#ffffff" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 0 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = "Fira Sans Semibold" 9 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 1 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = "Papirus-Dark,Adwaita" + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only neccesary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 10 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#000000CC" + foreground = "#888888" + timeout = 6 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#000000CC" + foreground = "#ffffff" + timeout = 6 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#900000CC" + foreground = "#ffffff" + frame_color = "#ffffff" + timeout = 6 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/configs/dotfiles/hyprland/laptop_default/.config/fastfetch/config.jsonc b/configs/dotfiles/hyprland/laptop_default/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..658682c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/fastfetch/config.jsonc @@ -0,0 +1,104 @@ +// Thanks to Bina +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "padding": { + "top": 2 + } + }, + "display": { + "separator": " ➜ " + }, + "modules": [ + "break", + "break", + "break", + { + "type": "os", + "key": "OS ", + "keyColor": "31", // = color1 + }, + { + "type": "kernel", + "key": " ├  ", + "keyColor": "31", + }, + { + "type": "shell", + "key": " └  ", + "keyColor": "31", + }, + "break", + { + "type": "wm", + "key": "WM ", + "keyColor": "32", + }, + { + "type": "wmtheme", + "key": " ├ 󰉼 ", + "keyColor": "32", + }, + { + "type": "icons", + "key": " ├ 󰀻 ", + "keyColor": "32", + }, + { + "type": "cursor", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminal", + "key": " ├  ", + "keyColor": "32", + }, + { + "type": "terminalfont", + "key": " └  ", + "keyColor": "32", + }, + "break", + { + "type": "host", + "format": "{5} {1} Type {2}", + "key": "PC ", + "keyColor": "33", + }, + { + "type": "cpu", + "format": "{1} ({3}) @ {7} GHz", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "gpu", + "format": "{1} {2} @ {12} GHz", + "key": " ├ 󰢮 ", + "keyColor": "33", + }, + { + "type": "memory", + "key": " ├  ", + "keyColor": "33", + }, + { + "type": "swap", + "key": " ├ 󰓡 ", + "keyColor": "33", + }, + { + "type": "disk", + "key": " ├ 󰋊 ", + "keyColor": "33", + }, + { + "type": "monitor", + "key": " └  ", + "keyColor": "33", + }, + "break", + "break", + ] +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animation.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animation.conf new file mode 100644 index 0000000..a210389 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animation.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/animations/default.conf diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-classic.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-classic.conf new file mode 100644 index 0000000..11ce3c9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-classic.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# Animations +# name "Classic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-dynamic.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-dynamic.conf new file mode 100644 index 0000000..3e88cd9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-dynamic.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name "Dynamic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-fast.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-fast.conf new file mode 100644 index 0000000..a74f411 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-fast.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# Animations +# name "Fast" +# ----------------------------------------------------- +animations { + enabled = true + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = fluent_decel, 0.1, 1, 0, 1 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + animation = windows, 1, 3, md3_decel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 2.5, md3_decel + animation = workspaces, 1, 3.5, easeOutExpo, slide + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-high.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-high.conf new file mode 100644 index 0000000..2fc765f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-high.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name: "High" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-moving.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-moving.conf new file mode 100644 index 0000000..7c43e04 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/animations-moving.conf @@ -0,0 +1,18 @@ +# ----------------------------------------------------- +# Animations +# name "Moving" +# ----------------------------------------------------- +animations { + enabled = true + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + animation = windows, 1, 5, overshot, slide + animation = windowsOut, 1, 3, smoothOut + animation = windowsIn, 1, 3, smoothOut + animation = windowsMove, 1, 4, smoothIn, slide + animation = border, 1, 5, default + animation = fade, 1, 5, smoothIn + animation = fadeDim, 1, 5, smoothIn + animation = workspaces, 1, 6, default +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/default.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/default.conf new file mode 100644 index 0000000..978b436 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/default.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name "Dynamic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, once + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/disabled.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/disabled.conf new file mode 100644 index 0000000..c9e31c4 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/disabled.conf @@ -0,0 +1,7 @@ +# ----------------------------------------------------- +# Animations +# name "Default" +# ----------------------------------------------------- +animations { + enabled = false +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/standard.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/standard.conf new file mode 100644 index 0000000..ba78c65 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/animations/standard.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# Animations +# name "Default" +# ----------------------------------------------------- +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/autostart.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/autostart.conf new file mode 100644 index 0000000..91614c1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/autostart.conf @@ -0,0 +1,41 @@ +# ___ __ __ __ +# / _ |__ __/ /____ ___ / /____ _____/ /_ +# / __ / // / __/ _ \(_-v0.41, now configured on variable cursor section +env = WLR_RENDERER_ALLOW_SOFTWARE,1 + +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = EGL_PLATFORM,wayland + +cursor { + no_hardware_cursors = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybinding.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybinding.conf new file mode 100644 index 0000000..b3b4d58 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybinding.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/keybindings/default.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybindings/default.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybindings/default.conf new file mode 100644 index 0000000..a573a61 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybindings/default.conf @@ -0,0 +1,122 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod SHIFT, Q, exec, hyprctl activewindow | grep pid | tr -d 'pid:'| xargs kill +bind = $mainMod, F, fullscreen, 0 # Set active window to fullscreen +bind = $mainMod, M, fullscreen, 1 +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, exec, $HYPRSCRIPTS/toggleallfloat.sh # Toggle all windows into floating mode +bind = $mainMod, J, togglesplit # Toggle split +bind = $mainMod, left, movefocus, l # Move focus left +bind = $mainMod, right, movefocus, r # Move focus right +bind = $mainMod, up, movefocus, u # Move focus up +bind = $mainMod, down, movefocus, d # Move focus down +bindm = $mainMod, mouse:272, movewindow # Move window with the mouse +bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse +bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard +bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard +bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard +bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard +bind = $mainMod, G, togglegroup # Toggle window group +bind = $mainMod, K, swapsplit # Swapsplit + +# Actions +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod, Z, exec, missioncenter # Open Mission Center + +# Workspaces +bind = $mainMod, 1, workspace, 1 # Open workspace 1 +bind = $mainMod, 2, workspace, 2 # Open workspace 2 +bind = $mainMod, 3, workspace, 3 # Open workspace 3 +bind = $mainMod, 4, workspace, 4 # Open workspace 4 +bind = $mainMod, 5, workspace, 5 # Open workspace 5 +bind = $mainMod, 6, workspace, 6 # Open workspace 6 +bind = $mainMod, 7, workspace, 7 # Open workspace 7 +bind = $mainMod, 8, workspace, 8 # Open workspace 8 +bind = $mainMod, 9, workspace, 9 # Open workspace 9 +bind = $mainMod, 0, workspace, 10 # Open workspace 10 + +bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move active window to workspace 10 + +bind = $mainMod, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, 1, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, 2, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, 3, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, 4, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, 5, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, 6, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, 7, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, 8, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, 9, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, 0, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows to workspace 10 + +bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace +bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace +bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace + +# Passthrough SUPER KEY to Virtual Machine +# bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine +# submap = passthru +# bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine +# submap = reset + +# Fn keys +bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% +bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% +bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute +bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause +bind = , XF86AudioPause, exec, playerctl pause # Audio pause +bind = , XF86AudioNext, exec, playerctl next # Audio next +bind = , XF86AudioPrev, exec, playerctl previous # Audio previous +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone +bind = , XF86Calculator, exec, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, $(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybindings/fr.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybindings/fr.conf new file mode 100644 index 0000000..9e1937e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keybindings/fr.conf @@ -0,0 +1,120 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod, F, fullscreen # Set active window to fullscreen +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, exec, $HYPRSCRIPTS/toggleallfloat.sh # Toggle all windows into floating mode +bind = $mainMod, J, togglesplit # Toggle split +bind = $mainMod, left, movefocus, l # Move focus left +bind = $mainMod, right, movefocus, r # Move focus right +bind = $mainMod, up, movefocus, u # Move focus up +bind = $mainMod, down, movefocus, d # Move focus down +bindm = $mainMod, mouse:272, movewindow # Move window with the mouse +bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse +bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard +bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard +bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard +bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard +bind = $mainMod, G, togglegroup # Toggle window group +bind = $mainMod, K, swapsplit # Swapsplit + +# Actions +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod, Z, exec, missioncenter # Open Mission Center + +# Workspaces +bind = $mainMod, ampersand, workspace, 1 # Open workspace 1 +bind = $mainMod, eacute, workspace, 2 # Open workspace 2 +bind = $mainMod, quotedbl, workspace, 3 # Open workspace 3 +bind = $mainMod, apostrophe, workspace, 4 # Open workspace 4 +bind = $mainMod, parenleft, workspace, 5 # Open workspace 5 +bind = $mainMod, minus, workspace, 6 # Open workspace 6 +bind = $mainMod, egrave, workspace, 7 # Open workspace 7 +bind = $mainMod, underscore, workspace, 8 # Open workspace 8 +bind = $mainMod, ccedilla, workspace, 9 # Open workspace 9 +bind = $mainMod, agrave, workspace, 10 # Open workspace 10 + +bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, eacute, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, minus, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, egrave, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, underscore, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, agrave, movetoworkspace, 10 # Move active window to workspace 10 + +bind = $mainMod, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, ampersand, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, eacute, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, quotedbl, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, apostrophe, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, parenleft, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, minus, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, egrave, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, underscore, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, ccedilla, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, agrave, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows to workspace 10 + +bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace +bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace +bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace + +# Passthrough SUPER KEY to Virtual Machine +# bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine +# submap = passthru +# bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine +# submap = reset + +# Fn keys +bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% +bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% +bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute +bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause +bind = , XF86AudioPause, exec, playerctl pause # Audio pause +bind = , XF86AudioNext, exec, playerctl next # Audio next +bind = , XF86AudioPrev, exec, playerctl previous # Audio previous +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone +bind = , XF86Calculator, exec, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keyboard.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keyboard.conf new file mode 100644 index 0000000..1b57d6f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/keyboard.conf @@ -0,0 +1,35 @@ +# ----------------------------------------------------- +# Keyboard Layout +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + numlock_by_default = true + mouse_refocus = false + + # For United States + # kb_layout = us + # kb_variant = intl + # kb_model = pc105 + # kb_options = + + follow_mouse = 1 + touchpad { + # for desktop + natural_scroll = false + + # for laptop + # natural_scroll = yes + # middle_button_emulation = true + # clickfinger_behavior = false + scroll_factor = 1.0 # Touchpad scroll factor + } + sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. +} + +gestures { + workspace_swipe = true +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layout.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layout.conf new file mode 100644 index 0000000..e009ed3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layout.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/layouts/default.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layouts/default.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layouts/default.conf new file mode 100644 index 0000000..3c3c155 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layouts/default.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +gestures { + workspace_swipe = false +} + +binds { + workspace_back_and_forth = true + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layouts/laptop.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layouts/laptop.conf new file mode 100644 index 0000000..cb863a2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/layouts/laptop.conf @@ -0,0 +1,30 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 3 + workspace_swipe_distance = 500 + workspace_swipe_invert = true + workspace_swipe_min_speed_to_force = 30 + workspace_swipe_cancel_ratio = 0.5 + workspace_swipe_create_new = true + workspace_swipe_forever = true +} + +binds { + workspace_back_and_forth = true + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/misc.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/misc.conf new file mode 100644 index 0000000..982954c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/misc.conf @@ -0,0 +1,9 @@ +# ----------------------------------------------------- +# Misc settings +# ----------------------------------------------------- + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + initial_workspace_tracking = 1 +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/ml4w.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/ml4w.conf new file mode 100644 index 0000000..582cb02 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/ml4w.conf @@ -0,0 +1,124 @@ +# __ _____ _____ __ _____ ___ +# / |/ / / / / / | /| / / / ___/__ ___ / _/ +# / /|_/ / /_/_ _/ |/ |/ / / /__/ _ \/ _ \/ _/ +# /_/ /_/____//_/ |__/|__/ \___/\___/_//_/_/ +# + +# Pavucontrol floating +windowrulev2 = float,class:(.*org.pulseaudio.pavucontrol.*) +windowrulev2 = size 700 600,class:(.*org.pulseaudio.pavucontrol.*) +windowrulev2 = center,class:(.*org.pulseaudio.pavucontrol.*) +windowrulev2 = pin,class:(.*org.pulseaudio.pavucontrol.*) + +# OpenAI ChatGPT floating +windowrulev2 = float,title:(ChatGPT.*) +windowrulev2 = float,title:(.*chat.openai.com.*) +windowrulev2 = size 500 50%,title:(.*chat.openai.com.*) +windowrulev2 = move 20 70,title:(.*chat.openai.com.*) + +# ML4W Welcome App floating +windowrulev2 = float,class:(.*waypaper.*) +windowrulev2 = size 900 700,class:(.*waypaper.*) +windowrulev2 = center,class:(.*waypaper.*) +windowrulev2 = pin,class:(.*waypaper.*) + +# ML4W Welcome App floating +windowrulev2 = float,class:(com.ml4w.welcome) +windowrulev2 = size 700 600,class:(com.ml4w.welcome) +windowrulev2 = center,class:(com.ml4w.welcome) +windowrulev2 = pin,class:(com.ml4w.welcome) + +windowrulev2 = float,class:(ml4w-welcome.py) +windowrulev2 = size 400 500,class:(ml4w-welcome.py) +windowrulev2 = center,class:(ml4w-welcome.py) +windowrulev2 = pin,class:(ml4w-welcome.py) + +# ML4W Settings App floating +windowrulev2 = float,class:(com.ml4w.dotfilessettings) +windowrulev2 = size 700 600,class:(com.ml4w.dotfilessettings) +windowrulev2 = move 10% 20%,class:(com.ml4w.dotfilessettings) +windowrulev2 = pin,class:(com.ml4w.dotfilessettings) + +windowrulev2 = float,class:(ml4w-dotfiles-settings.py) +windowrulev2 = size 400 500,class:(ml4w-dotfiles-settings.py) +windowrulev2 = move 10% 20%,class:(ml4w-dotfiles-settings.py) +windowrulev2 = pin,class:(ml4w-dotfiles-settings.py) + +# ML4W Hyprland App floating +windowrulev2 = float,class:(com.ml4w.hyprland.settings) +windowrulev2 = size 700 600,class:(com.ml4w.hyprland.settings) +windowrulev2 = center,class:(com.ml4w.hyprland.settings) +windowrulev2 = pin,class:(com.ml4w.hyprland.settings) + +windowrulev2 = float,class:(ml4w-hyprland-settings.py) +windowrulev2 = size 700 600,class:(ml4w-hyprland-settings.py) +windowrulev2 = center,class:(ml4w-hyprland-settings.py) +windowrulev2 = pin,class:(ml4w-hyprland-settings.py) + +# System Mission Center +windowrulev2 = float, class:(io.missioncenter.MissionCenter) +windowrulev2 = pin, class:(io.missioncenter.MissionCenter) +windowrulev2 = center, class:(io.missioncenter.MissionCenter) +windowrulev2 = size 900 600, class:(io.missioncenter.MissionCenter) + +# System Mission Center Preference Window +windowrulev2 = float, class:(missioncenter), title:^(Preferences)$ +windowrulev2 = pin, class:(missioncenter), title:^(Preferences)$ +windowrulev2 = center, class:(missioncenter), title:^(Preferences)$ + +# Gnome Calculator +windowrulev2 = float,class:(org.gnome.Calculator) +windowrulev2 = size 700 600,class:(org.gnome.Calculator) +windowrulev2 = center,class:(org.gnome.Calculator) + +# Emoji Picker Smile +windowrulev2 = float,class:(it.mijorus.smile) +windowrulev2 = pin, class:(it.mijorus.smile) +windowrulev2 = move 100%-w-40 90,class:(it.mijorus.smile) + +# Hyprland Share Picker +windowrulev2 = float, class:(hyprland-share-picker) +windowrulev2 = pin, class:(hyprland-share-picker) +windowrulev2 = center, title:class:(hyprland-share-picker) +windowrulev2 = size 600 400,class:(hyprland-share-picker) + +# General floating +windowrulev2 = float,class:(dotfiles-floating) +windowrulev2 = size 1000 700,class:(dotfiles-floating) +windowrulev2 = center,class:(dotfiles-floating) +windowrulev2 = pin, class:(dotfiles-floating) + +# XDG Desktop Portal +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + +# QT +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 + +# GDK +env = GDK_SCALE,1 + +# Toolkit Backend +env = GDK_BACKEND,wayland,x11,* +env = CLUTTER_BACKEND,wayland + +# Mozilla +env = MOZ_ENABLE_WAYLAND,1 + +# Set the cursor size for xcursor +env = XCURSOR_SIZE,24 + +# Disable appimage launcher by default +env = APPIMAGELAUNCHER_DISABLE,1 + +# Ozone +env = OZONE_PLATFORM,wayland +env = ELECTRON_OZONE_PLATFORM_HINT,wayland + +# Python +# env = PYTHONPATH,/usr/lib/python3.12/site-packages:/usr/lib/python3.13/site-packages:$PYTHONPATH diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitor.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitor.conf new file mode 100644 index 0000000..5b3f3c8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitor.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/monitors/default.conf diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1366x768.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1366x768.conf new file mode 100644 index 0000000..0b6a7ca --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1366x768.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1366x768" +# ----------------------------------------------------- + +monitor=,1366x768,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1440x1080.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1440x1080.conf new file mode 100644 index 0000000..032c75b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1440x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1440x1080" +# ----------------------------------------------------- + +monitor=,1440x1080,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1600x900.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1600x900.conf new file mode 100644 index 0000000..d3d9713 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1600x900.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1600x900" +# ----------------------------------------------------- + +monitor=,1600x900,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1920x1080.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1920x1080.conf new file mode 100644 index 0000000..0f654be --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1920x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1080" +# ----------------------------------------------------- + +monitor=,1920x1080,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1920x1200.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1920x1200.conf new file mode 100644 index 0000000..aac5f4d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/1920x1200.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1200" +# ----------------------------------------------------- + +monitor=,1920x1200,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440.conf new file mode 100644 index 0000000..cbb7710 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440" +# ----------------------------------------------------- + +monitor=,2560x1440,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440@120.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440@120.conf new file mode 100644 index 0000000..f777ec1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440@120.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440@120x125.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440@120x125.conf new file mode 100644 index 0000000..b7b3e3a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/2560x1440@120x125.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120x125" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1.25 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/3440x1440.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/3440x1440.conf new file mode 100644 index 0000000..3e0ee1b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/3440x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "3440x1440" +# ----------------------------------------------------- + +monitor=,3440x1440,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/default.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/default.conf new file mode 100644 index 0000000..1eced60 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/default.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Default" +# ----------------------------------------------------- + +monitor=,preferred,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/highres.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/highres.conf new file mode 100644 index 0000000..8cb32bd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/monitors/highres.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Highres" +# ----------------------------------------------------- + +monitor=,highres,auto,1 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/restorevariations.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/restorevariations.sh new file mode 100755 index 0000000..a9c6e6d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/restorevariations.sh @@ -0,0 +1,43 @@ +#!/bin/bash +clear +cat <<"EOF" + ___ __ + / _ \___ ___ / /____ _______ + / , _/ -_|_- ~/.config/hypr/conf/keybinding.conf + echo "Hyprland keybinding.conf restored!" + + echo "source = ~/.config/hypr/conf/environments/default.conf" > ~/.config/hypr/conf/environment.conf + echo "Hyprland environment.conf restored!" + + echo "source = ~.config/hypr/conf/windowrules/default.conf" > ~/.config/hypr/conf/windowrule.conf + echo "Hyprland windowrule.conf restored!" + + echo "source = ~/.config/hypr/conf/animations/default.conf" > ~/.config/hypr/conf/animation.conf + echo "Hyprland animation.conf restored!" + + echo "source = ~/.config/hypr/conf/decorations/default.conf" > ~/.config/hypr/conf/decoration.conf + echo "Hyprland decoration.conf restored!" + + echo "source = ~/.config/hypr/conf/windows/default.conf" > ~/.config/hypr/conf/window.conf + echo "Hyprland window.conf restored!" + + echo "source = ~/.config/hypr/conf/monitors/default.conf" > ~/.config/hypr/conf/monitor.conf + echo "Hyprland monitor.conf restored!" + + echo + echo ":: Restore done!" +else + echo ":: Restore canceled!" + exit +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/window.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/window.conf new file mode 100644 index 0000000..8269a9e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/window.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windows/default.conf diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windowrule.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windowrule.conf new file mode 100644 index 0000000..5f41c07 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windowrule.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windowrules/default.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windowrules/default.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windowrules/default.conf new file mode 100644 index 0000000..b9bae08 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windowrules/default.conf @@ -0,0 +1,16 @@ +# ----------------------------------------------------- +# Window rules +# ----------------------------------------------------- + +windowrule = tile,^(Microsoft-edge)$ +windowrule = tile,^(Brave-browser)$ +windowrule = tile,^(Chromium)$ +windowrule = float,^(pavucontrol)$ +windowrule = float,^(blueman-manager)$ +windowrule = float,^(nm-connection-editor)$ +windowrule = float,^(qalculate-gtk)$ + +# Browser Picture in Picture +windowrulev2 = float, title:^(Picture-in-Picture)$ +windowrulev2 = pin, title:^(Picture-in-Picture)$ +windowrulev2 = move 69.5% 4%, title:^(Picture-in-Picture)$ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-1-reverse.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-1-reverse.conf new file mode 100644 index 0000000..fb233e7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-1-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 1 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-1.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-1.conf new file mode 100644 index 0000000..9f3283b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-1.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 1 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-2-reverse.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-2-reverse.conf new file mode 100644 index 0000000..da6dcf5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-2-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 2 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-2.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-2.conf new file mode 100644 index 0000000..a37cde1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-2.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 2 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-3-reverse.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-3-reverse.conf new file mode 100644 index 0000000..157ae7b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-3-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-3.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-3.conf new file mode 100644 index 0000000..1b52af4 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-3.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-4-reverse.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-4-reverse.conf new file mode 100644 index 0000000..05c51fe --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-4-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 4 + col.active_border = rgba(ffffffff) + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-4.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-4.conf new file mode 100644 index 0000000..f437e98 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/border-4.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 4 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/default.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/default.conf new file mode 100644 index 0000000..1b52af4 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/default.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/no-border-more-gaps.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/no-border-more-gaps.conf new file mode 100644 index 0000000..383aa72 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/no-border-more-gaps.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "No Border More Gaps" +# ----------------------------------------------------- + +general { + gaps_in = 20 + gaps_out = 40 + border_size = 0 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/no-border.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/no-border.conf new file mode 100644 index 0000000..71ff4e5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/conf/windows/no-border.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "No Border" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 0 + col.active_border = $color11 + col.inactive_border = rgba(ffffffff) + layout = dwindle + resize_on_border = true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite new file mode 100644 index 0000000..0f985b3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-blur b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-blur new file mode 100644 index 0000000..85a5a51 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-blur @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness40 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness40 new file mode 100644 index 0000000..97cafb6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness60 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness60 new file mode 100644 index 0000000..3dc7788 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness80 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness80 new file mode 100644 index 0000000..67bb0ce --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blackwhite-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1 new file mode 100644 index 0000000..f401e1a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness40 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness40 new file mode 100644 index 0000000..d79704a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness60 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness60 new file mode 100644 index 0000000..73028f6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness80 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness80 new file mode 100644 index 0000000..c1984aa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur1-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur2 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur2 new file mode 100644 index 0000000..cb13630 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate new file mode 100644 index 0000000..971c7aa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness40 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness40 new file mode 100644 index 0000000..f6b8bd8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness60 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness60 new file mode 100644 index 0000000..bf45cd6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness80 b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness80 new file mode 100644 index 0000000..2d342c1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/hypridle.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hypridle.conf new file mode 100644 index 0000000..d02b4ea --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hypridle.conf @@ -0,0 +1,47 @@ +# _ _ _ _ +# | |__ _ _ _ __ _ __(_) __| | | ___ +# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \ +# | | | | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# +# Version 2.8.3 +# DO NOT REMOVE THE REPLACEMENT COMMENTS +# REQUIRED BY THE ML4W SETTINGS APP +# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/ + +# general { +# ignore_dbus_inhibit = false +# } + +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +# Screenlock +listener { + # HYPRLOCK TIMEOUT + timeout = 600 + # HYPRLOCK ONTIMEOUT + on-timeout = loginctl lock-session +} + +# dpms +listener { + # DPMS TIMEOUT + timeout = 660 + # DPMS ONTIMEOUT + on-timeout = hyprctl dispatch dpms off + # DPMS ONRESUME + on-resume = hyprctl dispatch dpms on +} + +# Suspend +listener { + # SUSPEND TIMEOUT + timeout = 1800 + #SUSPEND ONTIMEOUT + on-timeout = systemctl suspend +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprland.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprland.conf new file mode 100644 index 0000000..69b80f9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprland.conf @@ -0,0 +1,71 @@ +# _ _ _ _ +# | | | |_ _ _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| +# +# ----------------------------------------------------- +# IMPORTANT: Don't overwrite ML4W configuration. +# Create your own custom configuration variation instead. +# https://github.com/mylinuxforwork/dotfiles/wiki/Configuration-Variations + +# ----------------------------------------------------- +# Monitor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/monitor.conf + +# ----------------------------------------------------- +# Cursor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/cursor.conf + +# ----------------------------------------------------- +# Environment +# ----------------------------------------------------- +source = ~/.config/hypr/conf/environment.conf + +# ----------------------------------------------------- +# Keyboard +# ----------------------------------------------------- +source = ~/.config/hypr/conf/keyboard.conf + +# ----------------------------------------------------- +# Load pywal color file +# ----------------------------------------------------- +source = ~/.cache/wal/colors-hyprland.conf + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/window.conf +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf +source = ~/.config/hypr/conf/windowrule.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprlock.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..d7e0fda --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprlock.conf @@ -0,0 +1,88 @@ +# _ _ _ +# | |__ _ _ _ __ _ __| | ___ ___| | __ +# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ / +# | | | | |_| | |_) | | | | (_) | (__| < +# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\ +# |___/|_| +# + +general { + ignore_empty_input = true +} + +background { + monitor = + path = $HOME/.config/ml4w/cache/blurred_wallpaper.png # only png supported for now +} + +input-field { + monitor = + size = 200, 50 + outline_thickness = 3 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + outer_color = rgb(151515) + inner_color = rgb(FFFFFF) + font_color = rgb(10, 10, 10) + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = -1 # -1 means complete rounding (circle/oval) + check_color = rgb(204, 136, 34) + fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + fail_transition = 300 # transition time in ms between normal outer_color and fail_color + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + position = 0, -20 + halign = center + valign = center +} + +label { + monitor = + #clock + text = cmd[update:1000] echo "$TIME" + color = rgba(200, 200, 200, 1.0) + font_size = 55 + font_family = Fira Semibold + position = -100, 70 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +label { + monitor = + text = $USER + color = rgba(200, 200, 200, 1.0) + font_size = 20 + font_family = Fira Semibold + position = -100, 160 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +image { + monitor = + path = $HOME/.config/ml4w/cache/square_wallpaper.png + size = 280 # lesser side if not 1:1 ratio + rounding = -1 # negative values mean circle + border_size = 4 + border_color = rgb(221, 221, 221) + rotate = 0 # degrees, counter-clockwise + reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 +# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F + position = 0, 200 + halign = center + valign = center +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprpaper.conf b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..7456413 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/hyprpaper.conf @@ -0,0 +1,3 @@ +preload = $HOME/.config/ml4w/assets/blank.png +wallpaper = ,$HOME/.config/ml4w/assets/blank.png +splash = false \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/cleanup.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/cleanup.sh new file mode 100755 index 0000000..af4196d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ____ _ +# / ___| | ___ __ _ _ __ _ _ _ __ +# | | | |/ _ \/ _` | '_ \| | | | '_ \ +# | |___| | __/ (_| | | | | |_| | |_) | +# \____|_|\___|\__,_|_| |_|\__,_| .__/ +# |_| +# + +# Remove gamemode flag +if [ -f ~/.cache/gamemode ] ;then + rm ~/.cache/gamemode + echo ":: ~/.cache/gamemode removed" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/disabledm.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/disabledm.sh new file mode 100755 index 0000000..ee5e612 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/disabledm.sh @@ -0,0 +1,24 @@ +#!/bin/bash +clear +figlet -f smslant "Disable DM" +echo "Hyprland recommends the start with the tty login." +echo "You can deactivate the current display manager (if exists)." +echo "" +echo "-> Do you really want to deactivate the display manager?" +while true; do + read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn + case $yn in + [Yy]* ) + if [ -f /etc/systemd/system/display-manager.service ]; then + sudo rm /etc/systemd/system/display-manager.service + echo "Current display manager removed." + else + echo "No active display manager found." + fi + break;; + [Nn]* ) + exit + break;; + * ) echo "Please answer yes or no.";; + esac +done \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/gamemode.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/gamemode.sh new file mode 100755 index 0000000..09708fa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/gamemode.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ____ _ +# / ___| __ _ _ __ ___ ___ _ __ ___ ___ __| | ___ +# | | _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \ +# | |_| | (_| | | | | | | __/ | | | | | (_) | (_| | __/ +# \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___| +# +# + +if [ -f ~/.cache/gamemode ] ;then + hyprctl reload + rm ~/.cache/gamemode + notify-send "Gamemode deactivated" "Animations and blur enabled" +else + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + touch ~/.cache/gamemode + notify-send "Gamemode activated" "Animations and blur disabled" +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/gtk.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/gtk.sh new file mode 100755 index 0000000..1b080de --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/gtk.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# ____ _____ _ __ +# / ___|_ _| |/ / +# | | _ | | | ' / +# | |_| | | | | . \ +# \____| |_| |_|\_\ +# +# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + +config="$HOME/.config/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +terminal=$(cat $HOME/.config/ml4w/settings/terminal.sh) + +echo $gtk_theme +echo $icon_theme +echo $cursor_theme +echo $cursor_size +echo $font_name +echo $terminal + +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name" +gsettings set "$gnome_schema" color-scheme "prefer-dark" + +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "$terminal" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal use-generic-terminal-name "true" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings "t" + +if [ -f ~/.config/hypr/conf/cursor.conf ] ;then + echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/.config/hypr/conf/cursor.conf + hyprctl setcursor $cursor_theme $cursor_size +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/hypridle.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/hypridle.sh new file mode 100755 index 0000000..6296fa0 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/hypridle.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# _ _ _ _ _ +# | | | |_ _ _ __ _ __(_) __| | | ___ +# | |_| | | | | '_ \| '__| |/ _` | |/ _ \ +# | _ | |_| | |_) | | | | (_| | | __/ +# |_| |_|\__, | .__/|_| |_|\__,_|_|\___| +# |___/|_| +# + +SERVICE="hypridle" +if [[ "$1" == "status" ]]; then + sleep 1 + if pgrep -x "$SERVICE" >/dev/null ;then + echo '{"text": "RUNNING", "class": "active", "tooltip": "Screen locking active\nLeft: Deactivate\nRight: Lock Screen"}' + else + echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated\nLeft: Activate\nRight: Lock Screen"}' + fi +fi +if [[ "$1" == "toggle" ]]; then + if pgrep -x "$SERVICE" >/dev/null ;then + killall hypridle + else + hypridle + fi +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/hyprshade.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/hyprshade.sh new file mode 100755 index 0000000..037441c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/hyprshade.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___ +# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \ +# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/ +# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___| +# |___/|_| +# + +if [[ "$1" == "rofi" ]]; then + + # Open rofi to select the Hyprshade filter for toggle + options="$(hyprshade ls)\noff" + + # Open rofi + choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade") + if [ ! -z $choice ] ;then + echo "hyprshade_filter=\"$choice\"" > ~/.config/ml4w/settings/hyprshade.sh + if [ "$choice" == "off" ] ;then + hyprshade off + notify-send "Hyprshade deactivated" + echo ":: hyprshade turned off" + else + notify-send "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter-50" + + # Check if hyprshade.sh settings file exists and load + if [ -f ~/.config/ml4w/settings/hyprshade.sh ] ;then + source ~/.config/ml4w/settings/hyprshade.sh + fi + + # Toggle Hyprshade + if [ "$hyprshade_filter" != "off" ] ;then + if [ -z $(hyprshade current) ] ;then + echo ":: hyprshade is not running" + hyprshade on $hyprshade_filter + notify-send "Hyprshade activated" "with $(hyprshade current)" + echo ":: hyprshade started with $(hyprshade current)" + else + notify-send "Hyprshade deactivated" + echo ":: Current hyprshade $(hyprshade current)" + echo ":: Switching hyprshade off" + hyprshade off + fi + else + hyprshade off + echo ":: hyprshade turned off" + fi + +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/init-wallpaper-engine.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/init-wallpaper-engine.sh new file mode 100755 index 0000000..6751156 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/init-wallpaper-engine.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# __ ______ _____ _ +# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___ +# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \ +# \ V V / | __/ | |___| | | | (_| | | | | | __/ +# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___| +# |___/ +# + +wallpaper_engine=$(cat $HOME/.config/ml4w/settings/wallpaper-engine.sh) +if [ "$wallpaper_engine" == "swww" ] ;then + # swww + echo ":: Using swww" + swww init + swww-daemon --format xrgb + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +elif [ "$wallpaper_engine" == "hyprpaper" ] ;then + # hyprpaper + echo ":: Using hyprpaper" + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +else + echo ":: Wallpaper Engine disabled" + ~/.config/hypr/scripts/wallpaper.sh init +fi + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/keybindings.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/keybindings.sh new file mode 100755 index 0000000..d0b9150 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/keybindings.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# _ _ _ _ _ +# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___ +# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __| +# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \ +# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/ +# |___/ |___/ +# +# ----------------------------------------------------- +# Get keybindings location based on variation +# ----------------------------------------------------- +config_file=$(cat ~/.config/hypr/conf/keybinding.conf) +config_file=${config_file/source = ~/} +config_file=${config_file/source=~/} + +# ----------------------------------------------------- +# Path to keybindings config file +# ----------------------------------------------------- +config_file="/home/$USER$config_file" +echo "Reading from: $config_file" + +keybinds="" + +# Detect Start String +while read -r line +do + if [[ "$line" == "bind"* ]]; then + + line="$(echo "$line" | sed 's/$mainMod/SUPER/g')" + line="$(echo "$line" | sed 's/bind = //g')" + line="$(echo "$line" | sed 's/bindm = //g')" + + IFS='#' + read -a strarr <<<"$line" + kb_str=${strarr[0]} + cm_str=${strarr[1]} + + IFS=',' + read -a kbarr <<<"$kb_str" + + item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}" + keybinds=$keybinds$item$'\n' + fi +done < "$config_file" + +sleep 0.2 +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/loadconfig.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/loadconfig.sh new file mode 100755 index 0000000..a51ce6d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl reload \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/moveTo.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/moveTo.sh new file mode 100755 index 0000000..de2492b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/moveTo.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# __ __ _ +# | \/ | _____ _____ | |_ ___ +# | |\/| |/ _ \ \ / / _ \ | __/ _ \ +# | | | | (_) \ V / __/ | || (_) | +# |_| |_|\___/ \_/ \___| \__\___/ +# + +# Function to log messages (useful for debugging) +log_message() { + # echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> ~/moveto_log.txt + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +# Get the target workspace from the argument +target_workspace=$1 + +# Check if a target workspace was provided +if [ -z "$target_workspace" ]; then + log_message "Error: No target workspace provided" + exit 1 +fi + +# Get the current active workspace +current_workspace=$(hyprctl activewindow -j | jq '.workspace.id') + +if [ -z "$current_workspace" ]; then + log_message "Error: Couldn't determine current workspace" + exit 1 +fi + +log_message "Moving from workspace $current_workspace to $target_workspace" + +# Get all window addresses in the current workspace +window_addresses=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $current_workspace) | .address") + +# Move each window to the target workspace +for address in $window_addresses; do + log_message "Moving window $address to workspace $target_workspace" + hyprctl dispatch movetoworkspacesilent "$target_workspace,address:$address" +done + +log_message "Finished moving windows" + +# Switch to the target workspace +hyprctl dispatch workspace "$target_workspace" + +log_message "Switched to workspace $target_workspace" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/power.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/power.sh new file mode 100755 index 0000000..8037fbd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/power.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# ____ +# | _ \ _____ _____ _ __ +# | |_) / _ \ \ /\ / / _ \ '__| +# | __/ (_) \ V V / __/ | +# |_| \___/ \_/\_/ \___|_| +# + +# Check if eww is open +FILE="$HOME/.cache/ml4w_sidebar" + +if [[ "$1" == "exit" ]]; then + echo ":: Exit" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + killall -9 Hyprland + sleep 2 +fi + +if [[ "$1" == "lock" ]]; then + echo ":: Lock" + sleep 0.5 + hyprlock +fi + +if [[ "$1" == "reboot" ]]; then + echo ":: Reboot" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl reboot +fi + +if [[ "$1" == "shutdown" ]]; then + echo ":: Shutdown" + if [[ -f "$FILE" ]]; then + rm $FILE + fi + sleep 0.5 + systemctl poweroff +fi + +if [[ "$1" == "suspend" ]]; then + echo ":: Suspend" + sleep 0.5 + systemctl suspend +fi + +if [[ "$1" == "hibernate" ]]; then + echo ":: Hibernate" + sleep 1; + systemctl hibernate +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/restart-hypridle.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/restart-hypridle.sh new file mode 100755 index 0000000..fe29461 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/restart-hypridle.sh @@ -0,0 +1,5 @@ +#!/bin/bash +killall hypridle +sleep 1 +hypridle & +notify-send "hypridle has been restarted." \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/screenshot.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/screenshot.sh new file mode 100755 index 0000000..d08557a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/screenshot.sh @@ -0,0 +1,224 @@ +#!/bin/bash +# ____ _ _ +# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_ +# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __| +# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_ +# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__| +# +# Based on https://github.com/hyprwm/contrib/blob/main/grimblast/screenshot.sh +# ----------------------------------------------------- + +# Screenshots will be stored in $HOME by default. +# The screenshot will be moved into the screenshot directory + +# Add this to ~/.config/user-dirs.dirs to save screenshots in a custom folder: +# XDG_SCREENSHOTS_DIR="$HOME/Screenshots" + +prompt='Screenshot' +mesg="DIR: ~/Screenshots" + +# Screenshot Filename +source ~/.config/ml4w/settings/screenshot-filename.sh + +# Screenshot Folder +source ~/.config/ml4w/settings/screenshot-folder.sh + +# Screenshot Editor +export GRIMBLAST_EDITOR="$(cat ~/.config/ml4w/settings/screenshot-editor.sh)" + +# Example for keybindings +# bind = SUPER, p, exec, grimblast save active +# bind = SUPER SHIFT, p, exec, grimblast save area +# bind = SUPER ALT, p, exec, grimblast save output +# bind = SUPER CTRL, p, exec, grimblast save screen + +# Options +option_1="Immediate" +option_2="Delayed" + +option_capture_1="Capture Everything" +option_capture_2="Capture Active Display" +option_capture_3="Capture Selection" + +option_time_1="5s" +option_time_2="10s" +option_time_3="20s" +option_time_4="30s" +option_time_5="60s" +#option_time_4="Custom (in seconds)" # Roadmap or someone contribute :) + +list_col='1' +list_row='2' + +copy='Copy' +save='Save' +copy_save='Copy & Save' +edit='Edit' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take screenshot" +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2" | rofi_cmd +} + +#### +# Choose Timer +# CMD +timer_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 5 -width 30 -p "Choose timer" +} + +# Ask for confirmation +timer_exit() { + echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | timer_cmd +} + +# Confirm and execute +timer_run() { + selected_timer="$(timer_exit)" + if [[ "$selected_timer" == "$option_time_1" ]]; then + countdown=5 + ${1} + elif [[ "$selected_timer" == "$option_time_2" ]]; then + countdown=10 + ${1} + elif [[ "$selected_timer" == "$option_time_3" ]]; then + countdown=20 + ${1} + elif [[ "$selected_timer" == "$option_time_4" ]]; then + countdown=30 + ${1} + elif [[ "$selected_timer" == "$option_time_5" ]]; then + countdown=60 + ${1} + else + exit + fi +} +### + +#### +# Chose Screenshot Type +# CMD +type_screenshot_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Type of screenshot" +} + +# Ask for confirmation +type_screenshot_exit() { + echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | type_screenshot_cmd +} + +# Confirm and execute +type_screenshot_run() { + selected_type_screenshot="$(type_screenshot_exit)" + if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then + option_type_screenshot=screen + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then + option_type_screenshot=output + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then + option_type_screenshot=area + ${1} + else + exit + fi +} +### + +#### +# Choose to save or copy photo +# CMD +copy_save_editor_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "How to save" +} + +# Ask for confirmation +copy_save_editor_exit() { + echo -e "$copy\n$save\n$copy_save\n$edit" | copy_save_editor_cmd +} + +# Confirm and execute +copy_save_editor_run() { + selected_chosen="$(copy_save_editor_exit)" + if [[ "$selected_chosen" == "$copy" ]]; then + option_chosen=copy + ${1} + elif [[ "$selected_chosen" == "$save" ]]; then + option_chosen=save + ${1} + elif [[ "$selected_chosen" == "$copy_save" ]]; then + option_chosen=copysave + ${1} + elif [[ "$selected_chosen" == "$edit" ]]; then + option_chosen=edit + ${1} + else + exit + fi +} +### + +timer() { + if [[ $countdown -gt 10 ]]; then + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown_less_10=$((countdown - 10)) + sleep $countdown_less_10 + countdown=10 + fi + while [[ $countdown -ne 0 ]]; do + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown=$((countdown - 1)) + sleep 1 + done +} + +# take shots +takescreenshot() { + sleep 1 + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +takescreenshot_timer() { + sleep 1 + timer + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ] ;then + if [ -d $screenshot_folder ] ;then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + type_screenshot_run + copy_save_editor_run "takescreenshot" + elif [[ "$1" == '--opt2' ]]; then + timer_run + type_screenshot_run + copy_save_editor_run "takescreenshot_timer" + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in +$option_1) + run_cmd --opt1 + ;; +$option_2) + run_cmd --opt2 + ;; +esac diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/toggle-animations.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/toggle-animations.sh new file mode 100755 index 0000000..7eedb1d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/toggle-animations.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cache_file="$HOME/.cache/toggle_animation" +if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then + echo ":: Toggle blocked by disabled.conf variation." +else + if [ -f $cache_file ] ;then + hyprctl keyword animations:enabled true + rm $cache_file + else + hyprctl keyword animations:enabled false + touch $cache_file + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/toggleallfloat.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/toggleallfloat.sh new file mode 100755 index 0000000..3fc12e2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-automation.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-automation.sh new file mode 100755 index 0000000..e3d1f1e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-automation.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh) +_setWallpaperRandomly() { + waypaper --random + echo ":: Next wallpaper in 60 seconds..." + sleep $sec + _setWallpaperRandomly +} + +if [ ! -f ~/.config/ml4w/cache/wallpaper-automation ] ;then + touch ~/.config/ml4w/cache/wallpaper-automation + echo ":: Start wallpaper automation script" + notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds." + _setWallpaperRandomly +else + rm ~/.config/ml4w/cache/wallpaper-automation + notify-send "Wallpaper automation process stopped." + echo ":: Wallpaper automation script process $wp stopped" + wp=$(pgrep -f wallpaper-automation.sh) + kill -KILL $wp +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-cache.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-cache.sh new file mode 100755 index 0000000..899a06a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-cache.sh @@ -0,0 +1,5 @@ +#!/bin/bash +generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated" +rm $generated_versions/* +echo ":: Wallpaper cache cleared" +notify-send "Wallpaper cache cleared" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-effects.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-effects.sh new file mode 100755 index 0000000..83dbca8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-effects.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +# Get current wallpaper +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" + +# Open rofi to select the Hyprshade filter for toggle +options="$(ls ~/.config/hypr/effects/wallpaper/)\noff" + +# Open rofi +choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade") +if [ ! -z $choice ] ;then + echo "$choice" > ~/.config/ml4w/settings/wallpaper-effect.sh + notify-send "Changing Wallpaper Effect to " "$choice" + waypaper --wallpaper $(cat $cache_file) +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-restore.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-restore.sh new file mode 100755 index 0000000..2eb7d7c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper-restore.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Restore last wallpaper +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +defaultwallpaper="$HOME/wallpaper/default.jpg" +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" + +# ----------------------------------------------------- +# Get current wallpaper +# ----------------------------------------------------- + +if [ -f "$cachefile" ]; then + sed -i "s|~|$HOME|g" "$cachefile" + wallpaper=$(cat $cachefile) + if [ -f $wallpaper ]; then + echo ":: Wallpaper $wallpaper exists" + else + echo ":: Wallpaper $wallpaper does not exist. Using default." + wallpaper=$defaultwallpaper + fi +else + echo ":: $cachefile does not exist. Using default wallpaper." + wallpaper=$defaultwallpaper +fi + +# ----------------------------------------------------- +# Set wallpaper +# ----------------------------------------------------- + +echo ":: Setting wallpaper with source image $wallpaper" +waypaper --wallpaper "$wallpaper" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper.sh new file mode 100755 index 0000000..49fbaac --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/wallpaper.sh @@ -0,0 +1,172 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Check to use wallpaper cache +# ----------------------------------------------------- + +if [ -f ~/.config/ml4w/settings/wallpaper_cache ]; then + use_cache=1 + echo ":: Using Wallpaper Cache" +else + use_cache=0 + echo ":: Wallpaper Cache disabled" +fi + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +force_generate=0 +generatedversions="$HOME/.config/ml4w/cache/wallpaper-generated" +waypaperrunning=$HOME/.config/ml4w/cache/waypaper-running +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" +blurredwallpaper="$HOME/.config/ml4w/cache/blurred_wallpaper.png" +squarewallpaper="$HOME/.config/ml4w/cache/square_wallpaper.png" +rasifile="$HOME/.config/ml4w/cache/current_wallpaper.rasi" +blurfile="$HOME/.config/ml4w/settings/blur.sh" +defaultwallpaper="$HOME/wallpaper/default.jpg" +wallpapereffect="$HOME/.config/ml4w/settings/wallpaper-effect.sh" +blur="50x30" +blur=$(cat $blurfile) + +# Ensures that the script only run once if wallpaper effect enabled +if [ -f $waypaperrunning ]; then + rm $waypaperrunning + exit +fi + +# Create folder with generated versions of wallpaper if not exists +if [ ! -d $generatedversions ]; then + mkdir $generatedversions +fi + +# ----------------------------------------------------- +# Get selected wallpaper +# ----------------------------------------------------- + +if [ -z $1 ]; then + if [ -f $cachefile ]; then + wallpaper=$(cat $cachefile) + else + wallpaper=$defaultwallpaper + fi +else + wallpaper=$1 +fi +used_wallpaper=$wallpaper +echo ":: Setting wallpaper with source image $wallpaper" +tmpwallpaper=$wallpaper + +# ----------------------------------------------------- +# Copy path of current wallpaper to cache file +# ----------------------------------------------------- + +if [ ! -f $cachefile ]; then + touch $cachefile +fi +echo "$wallpaper" > $cachefile +echo ":: Path of current wallpaper copied to $cachefile" + +# ----------------------------------------------------- +# Get wallpaper filename +# ----------------------------------------------------- +wallpaperfilename=$(basename $wallpaper) +echo ":: Wallpaper Filename: $wallpaperfilename" + +# ----------------------------------------------------- +# Wallpaper Effects +# ----------------------------------------------------- + +if [ -f $wallpapereffect ]; then + effect=$(cat $wallpapereffect) + if [ ! "$effect" == "off" ]; then + used_wallpaper=$generatedversions/$effect-$wallpaperfilename + if [ -f $generatedversions/$effect-$wallpaperfilename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper $effect-$wallpaperfilename" + else + echo ":: Generate new cached wallpaper $effect-$wallpaperfilename with effect $effect" + notify-send --replace-id=1 "Using wallpaper effect $effect..." "with image $wallpaperfilename" -h int:value:33 + source $HOME/.config/hypr/effects/wallpaper/$effect + fi + echo ":: Loading wallpaper $generatedversions/$effect-$wallpaperfilename with effect $effect" + echo ":: Setting wallpaper with $used_wallpaper" + touch $waypaperrunning + waypaper --wallpaper $used_wallpaper + else + echo ":: Wallpaper effect is set to off" + fi +else + effect="off" +fi + +# ----------------------------------------------------- +# Execute pywal +# ----------------------------------------------------- + +echo ":: Execute pywal with $used_wallpaper" +wal -q -i "$used_wallpaper" +source "$HOME/.cache/wal/colors.sh" + +# ----------------------------------------------------- +# Reload Waybar +# ----------------------------------------------------- + +killall -SIGUSR2 waybar + +# ----------------------------------------------------- +# Pywalfox +# ----------------------------------------------------- + +if type pywalfox > /dev/null 2>&1; then + pywalfox update +fi + +# ----------------------------------------------------- +# Created blurred wallpaper +# ----------------------------------------------------- + +if [ -f $generatedversions/blur-$blur-$effect-$wallpaperfilename.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper blur-$blur-$effect-$wallpaperfilename" +else + echo ":: Generate new cached wallpaper blur-$blur-$effect-$wallpaperfilename with blur $blur" + # notify-send --replace-id=1 "Generate new blurred version" "with blur $blur" -h int:value:66 + magick $used_wallpaper -resize 75% $blurredwallpaper + echo ":: Resized to 75%" + if [ ! "$blur" == "0x0" ]; then + magick $blurredwallpaper -blur $blur $blurredwallpaper + cp $blurredwallpaper $generatedversions/blur-$blur-$effect-$wallpaperfilename.png + echo ":: Blurred" + fi +fi +cp $generatedversions/blur-$blur-$effect-$wallpaperfilename.png $blurredwallpaper + +# ----------------------------------------------------- +# Create rasi file +# ----------------------------------------------------- + +if [ ! -f $rasifile ]; then + touch $rasifile +fi +echo "* { current-image: url(\"$blurredwallpaper\", height); }" > "$rasifile" + +# ----------------------------------------------------- +# Created square wallpaper +# ----------------------------------------------------- + +echo ":: Generate new cached wallpaper square-$wallpaperfilename" +magick $tmpwallpaper -gravity Center -extent 1:1 $squarewallpaper +cp $squarewallpaper $generatedversions/square-$wallpaperfilename.png + +# ----------------------------------------------------- +# Reload AGS +# ----------------------------------------------------- + +ags quit & +sleep 0.2 +ags run & diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/xdg.sh b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/xdg.sh new file mode 100755 index 0000000..f7d0fec --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/scripts/xdg.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# __ ______ ____ +# \ \/ / _ \ / ___| +# \ /| | | | | _ +# / \| |_| | |_| | +# /_/\_\____/ \____| +# + +# Setup Timers +_sleep1="0.1" +_sleep2="0.5" +_sleep3="2" + +# Kill all possible running xdg-desktop-portals +killall -e xdg-desktop-portal-hyprland +killall -e xdg-desktop-portal-gnome +killall -e xdg-desktop-portal-kde +killall -e xdg-desktop-portal-lxqt +killall -e xdg-desktop-portal-wlr +killall -e xdg-desktop-portal-gtk +killall -e xdg-desktop-portal + +# Set required environment variables +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland + +# Stop all services +systemctl --user stop pipewire +systemctl --user stop wireplumber +systemctl --user stop xdg-desktop-portal +systemctl --user stop xdg-desktop-portal-gnome +systemctl --user stop xdg-desktop-portal-kde +systemctl --user stop xdg-desktop-portal-wlr +systemctl --user stop xdg-desktop-portal-hyprland +sleep $_sleep1 + +# Start xdg-desktop-portal-hyprland +/usr/lib/xdg-desktop-portal-hyprland & +sleep $_sleep1 + +# Start xdg-desktop-portal-gtk +if [ -f /usr/lib/xdg-desktop-portal-gtk ] ;then + /usr/lib/xdg-desktop-portal-gtk & + sleep $_sleep1 +fi + +# Start xdg-desktop-portal +/usr/lib/xdg-desktop-portal & +sleep $_sleep2 + +# Start required services +systemctl --user start pipewire +systemctl --user start wireplumber +systemctl --user start xdg-desktop-portal +systemctl --user start xdg-desktop-portal-hyprland + +# Run waybar +sleep $_sleep3 +~/.config/waybar/launch.sh diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-25.glsl b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-25.glsl new file mode 100644 index 0000000..149b143 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-25.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.25; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-50.glsl b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-50.glsl new file mode 100644 index 0000000..ac5ea21 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-50.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.5; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-75.glsl b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-75.glsl new file mode 100644 index 0000000..c8c1b23 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/blue-light-filter-75.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.75; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/invert-colors.glsl b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/invert-colors.glsl new file mode 100644 index 0000000..a504901 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/hypr/shaders/invert-colors.glsl @@ -0,0 +1,8 @@ +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + gl_FragColor = vec4(1.0 - pixColor.r, 1.0 - pixColor.g, 1.0 - pixColor.b, pixColor.a); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/assets/blank.png b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/assets/blank.png new file mode 100644 index 0000000..f7aa3f8 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/assets/blank.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/cache/current_wallpaper b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/cache/current_wallpaper new file mode 100644 index 0000000..86d5756 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/cache/current_wallpaper @@ -0,0 +1 @@ +/home/gib/wallpaper/default.jpg diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/cache/current_wallpaper.rasi b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/cache/current_wallpaper.rasi new file mode 100644 index 0000000..1c8f319 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/cache/current_wallpaper.rasi @@ -0,0 +1 @@ +* { current-image: url("/home/gib/wallpaper/default.jpg", height); } diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/login/issue b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/login/issue new file mode 100644 index 0000000..d3f99f3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/login/issue @@ -0,0 +1,11 @@ + _ _ + | | ___ __ _(_)_ __ + | | / _ \\ / _' | | '_ \\ + | |__| (_) | (_| | | | | | + |_____\\___/ \\__, |_|_| |_| + |___/ + +Today is \d \t @ \n +-------------------------------------------------------------- +\r (\l) + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/ags.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/ags.sh new file mode 100755 index 0000000..8c1ba75 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/ags.sh @@ -0,0 +1 @@ +ags run \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/cleanup.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/cleanup.sh new file mode 100755 index 0000000..3e509c9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/cleanup.sh @@ -0,0 +1,6 @@ +#!/bin/bash +clear +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" +figlet -f smslant "Cleanup" +echo +$aur_helper -Scc diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/installprinters.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/installprinters.sh new file mode 100755 index 0000000..67812c8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/installprinters.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _____ __ +# | __ \ (_) | | / ____| / _| +# | |__) | __ _ _ __ | |_ ___ _ __ | | ___ _ __ | |_ +# | ___/ '__| | '_ \| __/ _ \ '__| | | / _ \| '_ \| _| +# | | | | | | | | | || __/ | | |___| (_) | | | | | +# |_| |_| |_|_| |_|\__\___|_| \_____\___/|_| |_|_| +# +# By @krystalsavage + +sleep 1 +clear +figlet -f smslant "Printers" + +# ------------------------------------------------------ +# Confirm Start +# ------------------------------------------------------ + +if gum confirm "DO YOU WANT TO START TO INSTALL PRINTER SYSTEM NOW?" ;then + echo + echo ":: Install started." +elif [ $? -eq 130 ]; then + exit 130 +else + echo + echo ":: Install canceled." + exit; +fi + +if [[ $(_isInstalledYay "timeshift") == "0" ]] ;then + if gum confirm "DO YOU WANT TO CREATE A SNAPSHOT?" ;then + echo + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + sudo grub-mkconfig -o /boot/grub/grub.cfg + echo ":: DONE. Snapshot $c created!" + echo + elif [ $? -eq 130 ]; then + echo ":: Snapshot canceled." + exit 130 + else + echo ":: Snapshot canceled." + fi + echo +fi + +yay -S cups cups-pdf cups-filters nss-mdns system-config-printer foomatic-db footmatic-db-engine foomatic-db-nonfree doomatic-db-nonfree-ppds foomatic-db-ppds cups-browsed libusb ipp-usb xdg-utils colord logrotate + +notify-send "Installing printer system complete" +echo +echo ":: Installing printer system complete" +sleep 2 + +if [ -f ~/.config/ml4w/settings/printer-drivers.sh ] ;then + if gum confirm "DO YOU WANT TO INSTALL PRINTER DRIVERS NOW?" ;then + echo + echo ":: Install started." + elif [ $? -eq 130 ]; then + exit 130 + else + echo + echo ":: Install cancelled." + exit; + fi +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/installtimeshift.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/installtimeshift.sh new file mode 100755 index 0000000..06265ad --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/installtimeshift.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _____ _ _ _ __ _ +# |_ _(_)_ __ ___ ___ ___| |__ (_)/ _| |_ +# | | | | '_ ` _ \ / _ \/ __| '_ \| | |_| __| +# | | | | | | | | | __/\__ \ | | | | _| |_ +# |_| |_|_| |_| |_|\___||___/_| |_|_|_| \__| +# + +sleep 1 +clear +figlet -f smslant "Timeshift" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + echo ":: Timeshift is already installed" +else + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + fi +fi +if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "0" ]] ;then + echo ":: grub-btrfs is already installed" +else + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + fi +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/lid-improvements.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/lid-improvements.sh new file mode 100755 index 0000000..2ffad61 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/lid-improvements.sh @@ -0,0 +1,12 @@ +#!/bin/bash +while IFS= read -r line; do + # If the line starts with # and the next line is not the lines to be added + if [[ $line == \#HandleLidSwitchDocked=ignore ]]; then + # Add the new lines + echo "HandleLidSwitchDocked=ignore" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi + if [[ $line == \#HoldoffTimeoutSec=5s ]]; then + # Add the new lines + echo "HoldoffTimeoutSec=5s" | sudo tee -a /etc/systemd/logind.conf > /dev/null + fi +done < /etc/systemd/logind.conf \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/pacman.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/pacman.sh new file mode 100755 index 0000000..d6a2903 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/pacman.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# ____ +# | _ \ __ _ ___ _ __ ___ __ _ _ __ +# | |_) / _` |/ __| '_ ` _ \ / _` | '_ \ +# | __/ (_| | (__| | | | | | (_| | | | | +# |_| \__,_|\___|_| |_| |_|\__,_|_| |_| +# + +sleep 1 +clear +figlet -f smslant "pacman.conf" +echo +echo ":: This script will activate or deactivate additions for your pacman.conf." +echo +if grep -Fq "#ParallelDownloads" /etc/pacman.conf +then + if gum confirm "Do you want to activate parallel downloads?" ;then + sudo sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf + else + echo ":: Activation of parallel downloads skipped." + fi +else + echo ":: Parallel downloads are already activated." +fi + +if grep -Fxq "#Color" /etc/pacman.conf +then + if gum confirm "Do you want to activate colors?" ;then + sudo sed -i 's/^#Color/Color/' /etc/pacman.conf + else + echo ":: Activation of Color skipped." + fi +else + echo ":: Color is already activated." +fi + +if grep -Fxq "#VerbosePkgLists" /etc/pacman.conf +then + if gum confirm "Do you want to activate VerbosePkgLists?" ;then + sudo sed -i 's/^#VerbosePkgLists/VerbosePkgLists/' /etc/pacman.conf + else + echo ":: Activation of VerbosePkgLists skipped." + fi +else + echo ":: VerbosePkgLists is already activated." +fi + +if grep -Fxq "ILoveCandy" /etc/pacman.conf +then + echo ":: ILoveCandy is already activated." +else + if gum confirm "Do you want to activate ILoveCandy?" ;then + sudo sed -i '/^ParallelDownloads = .*/a ILoveCandy' /etc/pacman.conf + else + echo ":: Activation of ILoveCandy skipped." + fi +fi +echo +echo "Press [ENTER] to close." +read \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/snapshot.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/snapshot.sh new file mode 100755 index 0000000..7ce1acc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/snapshot.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# ____ _ _ +# / ___| _ __ __ _ _ __ ___| |__ ___ | |_ +# \___ \| '_ \ / _` | '_ \/ __| '_ \ / _ \| __| +# ___) | | | | (_| | |_) \__ \ | | | (_) | |_ +# |____/|_| |_|\__,_| .__/|___/_| |_|\___/ \__| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +sleep 1 +clear +figlet -f smslant "Snapshot" +aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + +_isInstalledAUR() { + package="$1"; + check="$($aur_helper -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +timeshift_installed=$(_isInstalledAUR "timeshift") +grubbtrfs_installed=$(_isInstalledAUR "grub-btrfs") + +if [[ $timeshift_installed == "0" ]] ;then + c=$(gum input --placeholder "Enter a comment for the snapshot...") + sudo timeshift --create --comments "$c" + sudo timeshift --list + if [[ -d /boot/grub ]] ;then + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + sudo grub-mkconfig -o /boot/grub/grub.cfg + fi + echo "DONE. Snapshot $c created!" +else + echo "ERROR: Timeshift is not installed." + if gum confirm "DO YOU WANT TO INSTALL Timeshift now?" ;then + $aur_helper -S timeshift + echo + echo ":: Timeshift has been installed. Please restart this script." + if [[ -d /boot/grub ]] && [[ $grubbtrfs_installed == "1" ]] ;then + echo ":: grub-btrfs is required to select a snapshot on grub bootloader." + if gum confirm "DO YOU WANT TO INSTALL grub-btrfs now?" ;then + $aur_helper -S grub-btrfs + else + exit + fi + fi + fi +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/unlock-pacman.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/unlock-pacman.sh new file mode 100755 index 0000000..33b7de0 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/arch/unlock-pacman.sh @@ -0,0 +1,9 @@ +#!/bin/bash +sleep 1 +if [ -f /var/lib/pacman/db.lck ]; then + sudo rm /var/lib/pacman/db.lck + echo ":: Unlock complete" +else + echo ":: Pacman database is not locked" +fi +sleep 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/cliphist.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/cliphist.sh new file mode 100755 index 0000000..b9a2acc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/cliphist.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# ____ _ _ _ _ _ +# / ___| (_)_ __ | |__ (_)___| |_ +# | | | | | '_ \| '_ \| / __| __| +# | |___| | | |_) | | | | \__ \ |_ +# \____|_|_| .__/|_| |_|_|___/\__| +# |_| +# + +case $1 in + d) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist delete + ;; + + w) if [ `echo -e "Clear\nCancel" | rofi -dmenu -config ~/.config/rofi/config-short.rasi` == "Clear" ] ; then + cliphist wipe + fi + ;; + + *) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist decode | wl-copy + ;; +esac diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/figlet.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/figlet.sh new file mode 100755 index 0000000..7a5ff4e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/figlet.sh @@ -0,0 +1,24 @@ +#!/bin/bash +figlet -f smslant "Figlet" +echo +# ------------------------------------------------ +# Script to create ascii font based header on user input +# and copy the result to the clipboard +# ----------------------------------------------------- + +read -p "Enter the text for ascii encoding: " mytext + +if [ -f ~/figlet.txt ]; then + touch ~/figlet.txt +fi + +echo "cat <<\"EOF\"" > ~/figlet.txt +figlet -f smslant "$mytext" >> ~/figlet.txt +echo "" >> ~/figlet.txt +echo "EOF" >> ~/figlet.txt + +lines=$( cat ~/figlet.txt ) +wl-copy "$lines" +xclip -sel clip ~/figlet.txt + +echo "Text copied to clipboard!" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/installupdates.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/installupdates.sh new file mode 100755 index 0000000..b4605b5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/installupdates.sh @@ -0,0 +1,101 @@ +#!/bin/bash +# ____ __ ____ __ __ +# / _/__ ___ / /____ _/ / / __ _____ ___/ /__ _/ /____ ___ +# _/ // _ \(_- /dev/null + then + echo "Running" + killall nm-applet + else + echo "Stopped" + nm-applet --indicator & + fi +else + nm-applet --indicator & +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/sddm-wallpaper.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/sddm-wallpaper.sh new file mode 100755 index 0000000..eccad59 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/sddm-wallpaper.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# _ _ _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ __| | __| |_ __ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \ / __|/ _` |/ _` | '_ ` _ \ +# | |_| | |_) | (_| | (_| | || __/ \__ \ (_| | (_| | | | | | | +# \___/| .__/ \__,_|\__,_|\__\___| |___/\__,_|\__,_|_| |_| |_| +# |_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- +sleep 1 +clear +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" +current_wallpaper=$(cat "$cache_file") +extension="${current_wallpaper##*.}" + +echo -e "${GREEN}" +figlet -f smslant "SDDM Wallpaper" +echo -e "${NONE}" + +sddm_theme_name="sequoia" +sddm_asset_folder="/usr/share/sddm/themes/$sddm_theme_name/backgrounds" + +sddm_theme_tpl="/usr/share/ml4w-hyprland/sddm/theme.conf" +if [ -f $HOME/.config/ml4w/settings/sddm/theme.conf ]; then + sddm_theme_tpl="$HOME/.config/ml4w/settings/sddm/theme.conf" + echo ":: Using custum theme.conf" +fi + + +if [ ! -f $current_wallpaper ]; then + gum spin --spinner dot --title "File $current_wallpaper does not exist" -- sleep 3 + exit +fi + +echo ":: Set the current wallpaper $current_wallpaper as SDDM wallpaper." +echo + +if [ ! -d /etc/sddm.conf.d/ ]; then + sudo mkdir /etc/sddm.conf.d + echo ":: Folder /etc/sddm.conf.d created." +fi + +sudo cp /usr/share/ml4w-hyprland/sddm/sddm.conf /etc/sddm.conf.d/ +echo ":: File /etc/sddm.conf.d/sddm.conf updated." + +sudo cp $current_wallpaper $sddm_asset_folder/current_wallpaper.$extension +echo ":: Current wallpaper copied into $sddm_asset_folder" + +sudo cp $sddm_theme_tpl /usr/share/sddm/themes/$sddm_theme_name/ +sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.$extension"'/' /usr/share/sddm/themes/$sddm_theme_name/theme.conf +echo ":: File theme.conf updated in /usr/share/sddm/themes/$sddm_theme_name/" +echo + +echo ":: You can preview your updated SDDM Login screen. (Close it with SUPER+Q)" +echo +if gum confirm "Do you want to preview the result?"; then + sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sequoia +fi + +echo +gum spin --spinner dot --title "Please logout to see the result." -- sleep 3 diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/shell.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/shell.sh new file mode 100755 index 0000000..9cb6a94 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/shell.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# ____ _ _ _ +# / ___|| |__ ___| | | +# \___ \| '_ \ / _ \ | | +# ___) | | | | __/ | | +# |____/|_| |_|\___|_|_| +# + +sleep 1 + +_isInstalledYay() { + package="$1"; + check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +clear +figlet -f smslant "Shell" + +echo ":: Please select your preferred shell" +echo +shell=$(gum choose "bash" "zsh" "Cancel") +# ----------------------------------------------------- +# Activate bash +# ----------------------------------------------------- +if [[ $shell == "bash" ]] ;then + + # Change shell to bash + while ! chsh -s $(which bash); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now bash." + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Activate zsh +# ----------------------------------------------------- +elif [[ $shell == "zsh" ]] ;then + + # Change shell to shh + while ! chsh -s $(which zsh); do + echo "ERROR: Authentication failed. Please enter the correct password." + sleep 1 + done + echo ":: Shell is now zsh." + + # Installing oh-my-posh + yay -S oh-my-posh-bin + + # Installing oh-my-zsh + if [ ! -d "$HOME/.oh-my-zsh" ]; then + echo ":: Installing oh-my-zsh" + sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended + cp ~/.config/ml4w/tpl/.zshrc ~/ + else + echo ":: oh-my-zsh already installed" + fi + + # Installing zsh-autosuggestions + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then + echo ":: Installing zsh-autosuggestions" + git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + else + echo ":: zsh-autosuggestions already installed" + fi + + # Installing zsh-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then + echo ":: Installing zsh-syntax-highlighting" + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting + else + echo ":: zsh-syntax-highlighting already installed" + fi + + # Installing fast-syntax-highlighting + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/fast-syntax-highlighting" ]; then + echo ":: Installing fast-syntax-highlighting" + git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting + else + echo ":: fast-syntax-highlighting already installed" + fi + + gum spin --spinner dot --title "Please reboot your system." -- sleep 3 + +# ----------------------------------------------------- +# Cencel +# ----------------------------------------------------- +else + echo ":: Changing shell canceled" + exit +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/thunarterminal.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/thunarterminal.sh new file mode 100755 index 0000000..777be5f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/thunarterminal.sh @@ -0,0 +1,19 @@ +#!/bin/bash +clear +if [ -f ~/.config/ml4w/settings/terminal.sh ]; then + terminal="$(cat ~/.config/ml4w/settings/terminal.sh)" + echo ":: Installing $terminal" + if [ -d ~/.config/xfce4 ]; then + if [ ! -f ~/.config/xfce4/helpers.rc ]; then + touch ~/.config/xfce4/helpers.rc + fi + echo "TerminalEmulator=$terminal" > ~/.config/xfce4/helpers.rc + echo ":: $terminal defined as Thunar Terminal Emulator." + else + echo "ERROR: ~/.config/xfce4 not found. Please open Thunar once to create it." + echo "Then start this script again." + fi +else + echo "ERROR: ~/.config/ml4w/settings/terminal.sh not found" +fi +sleep 3 diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/updates.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/updates.sh new file mode 100755 index 0000000..505d126 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/updates.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ __ __| | __ _| |_ ___ ___ +# | | | | '_ \ / _` |/ _` | __/ _ \/ __| +# | |_| | |_) | (_| | (_| | || __/\__ \ +# \___/| .__/ \__,_|\__,_|\__\___||___/ +# |_| +# + +# ----------------------------------------------------- +# Define threshholds for color indicators +# ----------------------------------------------------- + +threshhold_green=0 +threshhold_yellow=25 +threshhold_red=100 +install_platform="$(cat ~/.config/ml4w/settings/platform.sh)" + +# Check if platform is supported +case $install_platform in + arch) + aur_helper="$(cat ~/.config/ml4w/settings/aur.sh)" + + # ----------------------------------------------------- + # Calculate available updates + # ----------------------------------------------------- + + # flatpak remote-ls --updates + + updates=$(checkupdates-with-aur | wc -l) + ;; + fedora) + updates=$(dnf check-update -q|grep -c ^[a-z0-9]) + ;; + *) + updates=0 + ;; +esac + +# ----------------------------------------------------- +# Output in JSON format for Waybar Module custom-updates +# ----------------------------------------------------- + +css_class="green" + +if [ "$updates" -gt $threshhold_yellow ]; then + css_class="yellow" +fi + +if [ "$updates" -gt $threshhold_red ]; then + css_class="red" +fi + +if [ "$updates" -gt $threshhold_green ]; then + printf '{"text": "%s", "alt": "%s", "tooltip": "Click to update your system", "class": "%s"}' "$updates" "$updates" "$css_class" +else + printf '{"text": "0", "alt": "0", "tooltip": "No updates available", "class": "green"}' +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/wlogout.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/wlogout.sh new file mode 100755 index 0000000..2b540eb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/scripts/wlogout.sh @@ -0,0 +1,5 @@ +res_w=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width') +res_h=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .height') +h_scale=$(hyprctl -j monitors | jq '.[] | select (.focused == true) | .scale' | sed 's/\.//') +w_margin=$(( res_h * 27 / h_scale )) +wlogout -b 5 -T $w_margin -B $w_margin \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/ai.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/ai.sh new file mode 100755 index 0000000..74e2499 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/ai.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/browser.sh) --new-window https://chat.openai.com \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/aur.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/aur.sh new file mode 100644 index 0000000..fc0e7cb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/aur.sh @@ -0,0 +1 @@ +yay \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/blur.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/blur.sh new file mode 100644 index 0000000..4ffc966 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/blur.sh @@ -0,0 +1 @@ +50x30 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/browser.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/browser.sh new file mode 100755 index 0000000..dbfb8f9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/browser.sh @@ -0,0 +1 @@ +firefox diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/calculator.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/calculator.sh new file mode 100755 index 0000000..7321b2e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/calculator.sh @@ -0,0 +1 @@ +gnome-calculator \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/dotfiles-folder.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/dotfiles-folder.sh new file mode 100644 index 0000000..e9d50f8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/dotfiles-folder.sh @@ -0,0 +1 @@ +Documents/Configs/hyprland/laptop diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/dunst_position.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/dunst_position.sh new file mode 100644 index 0000000..181d3ca --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/dunst_position.sh @@ -0,0 +1 @@ +top-center \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/editor.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/editor.sh new file mode 100755 index 0000000..4bb243e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/editor.sh @@ -0,0 +1 @@ +gnome-text-editor \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/emojipicker.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/emojipicker.sh new file mode 100755 index 0000000..36d697f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/emojipicker.sh @@ -0,0 +1 @@ +smile \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/eww-monitor.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/eww-monitor.sh new file mode 100755 index 0000000..4d18c3e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/eww-monitor.sh @@ -0,0 +1 @@ +auto \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/filemanager.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/filemanager.sh new file mode 100755 index 0000000..9f0175d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/filemanager.sh @@ -0,0 +1 @@ +nautilus \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_dpms_timeout.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_dpms_timeout.sh new file mode 100644 index 0000000..9ecf271 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_dpms_timeout.sh @@ -0,0 +1 @@ +660 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_hyprlock_timeout.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_hyprlock_timeout.sh new file mode 100644 index 0000000..73623d1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_hyprlock_timeout.sh @@ -0,0 +1 @@ +600 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_suspend_timeout.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_suspend_timeout.sh new file mode 100644 index 0000000..2974009 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hypridle_suspend_timeout.sh @@ -0,0 +1 @@ +1800 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hyprpaper.tpl b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hyprpaper.tpl new file mode 100644 index 0000000..3033ff3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hyprpaper.tpl @@ -0,0 +1,8 @@ +# Preload Wallpapers +preload = WALLPAPER + +# Set Wallpapers +wallpaper = ,WALLPAPER + +# Disable Splash +splash = false \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hyprshade.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hyprshade.sh new file mode 100644 index 0000000..1865560 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/hyprshade.sh @@ -0,0 +1 @@ +hyprshade_filter="blue-light-filter-50" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/ml4w-sidebar.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/ml4w-sidebar.sh new file mode 100755 index 0000000..b1ab0ad --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/ml4w-sidebar.sh @@ -0,0 +1 @@ +ags toggle sidebar \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/networkmanager.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/networkmanager.sh new file mode 100755 index 0000000..b2a0141 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/networkmanager.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e nmtui \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/notification.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/notification.sh new file mode 100755 index 0000000..936c7eb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/notification.sh @@ -0,0 +1 @@ +dunst \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/platform.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/platform.sh new file mode 100644 index 0000000..35a143b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/platform.sh @@ -0,0 +1 @@ +fedora diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/printer-drivers.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/printer-drivers.sh new file mode 100644 index 0000000..444839f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/printer-drivers.sh @@ -0,0 +1,4 @@ +# Installation of Printer Drivers +# Please add your drivers to the package list +# Example: +# yay -S brother-hll2360dw-lpr-bin brother-hll2360dw-cups-bin brother-mfc-l3770cdw brscan-skey brscan4 skanpage \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-border-radius.rasi b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-border-radius.rasi new file mode 100644 index 0000000..7cbaeeb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-border-radius.rasi @@ -0,0 +1 @@ +* { border-radius: 2em; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-border.rasi b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-border.rasi new file mode 100644 index 0000000..e533468 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-border.rasi @@ -0,0 +1 @@ +* { border-width: 3px; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-font.rasi b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-font.rasi new file mode 100644 index 0000000..a2497c3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi-font.rasi @@ -0,0 +1 @@ +configuration { font: "Fira Sans 11"; } \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi_bordersize.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi_bordersize.sh new file mode 100644 index 0000000..e440e5c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/rofi_bordersize.sh @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-editor.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-editor.sh new file mode 100644 index 0000000..5f0900f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-editor.sh @@ -0,0 +1 @@ +pinta \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-filename.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-filename.sh new file mode 100644 index 0000000..f81ad3c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-filename.sh @@ -0,0 +1 @@ +NAME="screenshot_$(date +%d%m%Y_%H%M%S).jpg" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-folder.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-folder.sh new file mode 100644 index 0000000..a1bf821 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/screenshot-folder.sh @@ -0,0 +1 @@ +screenshot_folder="$HOME/Pictures" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/sddm/theme.tpl b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/sddm/theme.tpl new file mode 100644 index 0000000..f4ae01f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/sddm/theme.tpl @@ -0,0 +1,132 @@ +[General] + +# Set to your screen resolution for better results +width=1680 +height=1050 + +backgroundColour="black" + +wallpaper="backgrounds/CURRENTWALLPAPER" + +# Whether to scale the image to fit on the screen, might leave some blank spaces +# will scale and crop the wallpaper if left false +fitWallpaper=false + +# Main font +fontFamily="Noto Sans" + +# Set to a patched NerdFont if some icons don't display properly +# or leave empty to use the main font family +iconFont="" + +# Set this if fonts are the wrong size for your resolution +fontSize=14 + +# Whether to show icons inside menus +iconsInMenus=true + + +# [Colour_Palette] + +# The main colour for text and icons +primaryColour="white" + +# The background colour of popup panels +popupsBackgroundColour="white" + +# Used for the text and icons inside popup panels +popupsForegroundColour="black" + +# Colour used for selected and focused items +accentColour="#a7d9ea" + + +# [Greeting_Screen] + +# Set true to be taken directly to the login screen +skipToLogin=false + +# Supports Markdown formatting, leave empty to not display any text +greeting="Welcome back!" + +# Adjusts the font size for the greeting message, clock and date +fontSizeMultiplier=2 + +# For help with date and time formatting see https://doc.qt.io/qt-5/qml-qtqml-date.html#format-strings +clockFormat="HH:mm" +dateFormat="dddd, dd MMMM" + +# Set this in case the date isn't in your system locale or you wish to use a different one +locale="" + +# Styles the clock font +# Set to 'outline' for alternate style +clockStyle=fill + +# Anchor the clock to a side or corner of the screen, horizontal position is susceptible to layout mirroring +# Syntax: vertical | horizontal +# possible vertical values: top - center - bottom +# and horizontal: left - center - right +dateTimePosition="bottom right" + +# Defines how far away the date and time are from the edges of the screen +dateTimePadding=55 + +# Defines the behaviour of the sliding transition from greeting to login form +# Set to +/- x or y +transitionDirection="x" + +# [Login_Screen] + +# The maximum radius allowed is 16 per loop +blurRadius=10 +blurRecursiveLoops=5 + +# Used to dim the background +darkenWallpaper=0.3 + +# Purely cosmetic, has no effect on login credentials +capitaliseUsername=false + +# 'mask' - hides your password by replacing the characters with something else +# 'off' - also hides the length of your password by disabling echoing +passwordEchoStyle=mask + +allowEmptyPassword=false + +# Set false to hide the selected session's name next to the menu icon +displaySession=true + + +# [Translations] +# SDDM may not have translations for every element, or you might want to change some text to something else +# setting these will override the text constants + +virtualKeyboard="" +poweroff="" +reboot="" +suspend="" +hibernate="" +password="" +username="" +loginFailed="" + + +# [Accessibility] + +# Set false to set all transition durations to 0 +enableAnimations=true + +# 'auto' - activates mirroring based on the system locale +# 'false' - never mirror layout +# 'true' - always mirrors +mirrorLayout=auto + +# Whether the on-screen keyboard should be activated by default +# It can always be de/activated through the  accessibility panel +virtualKeyboardStartActive=false + +# Normally the on-screen keyboard only shows up when text fields are focused +# Set this true to have the keyboard always be visible once activated +# This will render the hide button on the keyboard non-functional +forceKeyboardVisible=false diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/software.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/software.sh new file mode 100755 index 0000000..d10bc37 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/software.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e pacseek \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/system-monitor.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/system-monitor.sh new file mode 100755 index 0000000..a7b1e4f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/system-monitor.sh @@ -0,0 +1 @@ +$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e htop diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/terminal.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/terminal.sh new file mode 100755 index 0000000..659fb6b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/terminal.sh @@ -0,0 +1 @@ +kitty \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-automation.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-automation.sh new file mode 100644 index 0000000..2b82dfe --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-automation.sh @@ -0,0 +1 @@ +60 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-effect.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-effect.sh new file mode 100644 index 0000000..cfb931e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-effect.sh @@ -0,0 +1 @@ +off diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-engine.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-engine.sh new file mode 100644 index 0000000..b6923b6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-engine.sh @@ -0,0 +1 @@ +hyprpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-folder.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-folder.sh new file mode 100644 index 0000000..8d138d1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wallpaper-folder.sh @@ -0,0 +1,2 @@ +# Enter the path to the folder that includes your wallpapers +wallpaper_folder=$HOME/wallpaper \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar-quicklinks.json b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar-quicklinks.json new file mode 100644 index 0000000..7d61906 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar-quicklinks.json @@ -0,0 +1,45 @@ +{ + "custom/quicklink1": { + "format": "", + "on-click": "chromium", + "tooltip-format": "Open Chromium" + }, + "custom/quicklink2": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip-format": "Open Firefox" + }, + "custom/quicklink3": { + "format": "", + "on-click": "~/.config/ml4w/settings/filemanager.sh", + "tooltip-format": "Open filemanager" + }, + "custom/quicklink4": { + "format": "", + "on-click": "betterbird", + "tooltip-format": "Open Betterbird" + }, + "custom/quicklink5": { + "format": "", + "on-click": "~/.config/ml4w/settings/calculator.sh", + "tooltip-format": "Open calculator" + }, + "custom/quicklink6": { + "format": "", + "on-click": "~/.config/ml4w/settings/emojipicker.sh", + "tooltip-format": "Open emoji picker" + }, + "custom/quicklinkempty": { + }, + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/quicklink2", + "custom/quicklink3", + /* + "custom/quicklink4", + */ + "custom/quicklinkempty" + ] + } +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_appmenu.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_appmenu.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_appmenu.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_backlight.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_backlight.sh new file mode 100644 index 0000000..c1f22fb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_backlight.sh @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_chatgpt.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_chatgpt.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_chatgpt.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_custom_timedateformat.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_custom_timedateformat.sh new file mode 100644 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_dateformat.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_dateformat.sh new file mode 100644 index 0000000..05696fa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_dateformat.sh @@ -0,0 +1 @@ +%a \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_network.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_network.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_network.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_quicklinks.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_quicklinks.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_quicklinks.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_screenlock.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_screenlock.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_screenlock.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_settings.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_settings.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_settings.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_systray.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_systray.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_systray.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_taskbar.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_taskbar.sh new file mode 100644 index 0000000..c1f22fb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_taskbar.sh @@ -0,0 +1 @@ +False \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_timeformat.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_timeformat.sh new file mode 100644 index 0000000..3d87f12 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_timeformat.sh @@ -0,0 +1 @@ +%H:%M \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_timezone.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_timezone.sh new file mode 100644 index 0000000..e69de29 diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_toggle.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_toggle.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_toggle.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_window.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_window.sh new file mode 100644 index 0000000..4791ed5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_window.sh @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_workspaces.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_workspaces.sh new file mode 100644 index 0000000..7813681 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/waybar_workspaces.sh @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wlogout-parameters.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wlogout-parameters.sh new file mode 100644 index 0000000..50e2452 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/settings/wlogout-parameters.sh @@ -0,0 +1 @@ +-b 3 \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/tpl/.zshrc b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/tpl/.zshrc new file mode 100644 index 0000000..9968f7e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/tpl/.zshrc @@ -0,0 +1,23 @@ +# _ +# _______| |__ _ __ ___ +# |_ / __| '_ \| '__/ __| +# _ / /\__ \ | | | | | (__ +# (_)___|___/_| |_|_| \___| +# +# ----------------------------------------------------- +# ML4W zshrc loader +# ----------------------------------------------------- + +# DON'T CHANGE THIS FILE + +# You can define your custom configuration by adding +# files in ~/.config/zshrc +# or by creating a folder ~/.config/zshrc/custom +# with you own zshrc configuration +# ----------------------------------------------------- + +if [ -d ~/.config/zshrc/custom ] ;then + for f in ~/.config/zshrc/custom/*; do source $f; done +else + for f in ~/.config/zshrc/*; do source $f; done +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/compare.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/compare.sh new file mode 100755 index 0000000..1b18b98 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/compare.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ------------------------------------------------------ +# Compare installed version with used version +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +if [ -f /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name ] ;then + installed_version=$(cat /usr/share/ml4w-hyprland/dotfiles/.config/ml4w/version/name) + used_version=$(cat ~/.config/ml4w/version/name) + if [[ $(testvercomp $used_version $installed_version "<") == "0" ]] ;then + notify-send "Please run ml4w-hyprland-setup" "Installed version is newer then the version you're currently using." + fi +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/library.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/library.sh new file mode 100644 index 0000000..94e5fbe --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/library.sh @@ -0,0 +1,42 @@ +vercomp () { + if [[ $1 == $2 ]] + then + return 0 + fi + local IFS=. + local i ver1=($1) ver2=($2) + # fill empty fields in ver1 with zeros + for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) + do + ver1[i]=0 + done + for ((i=0; i<${#ver1[@]}; i++)) + do + if ((10#${ver1[i]:=0} > 10#${ver2[i]:=0})) + then + return 1 + fi + if ((10#${ver1[i]} < 10#${ver2[i]})) + then + return 2 + fi + done + return 0 +} + +testvercomp () { + vercomp $1 $2 + case $? in + 0) op='=';; + 1) op='>';; + 2) op='<';; + esac + if [[ $op != $3 ]] + then + # No update available + echo "1" + else + # Update available + echo "0" + fi +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/name b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/name new file mode 100644 index 0000000..92db042 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/name @@ -0,0 +1 @@ +2.9.7.4 diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/update.sh b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/update.sh new file mode 100755 index 0000000..efe9403 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ml4w/version/update.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ------------------------------------------------------ +# Check for updates +# ------------------------------------------------------ + +source ~/.config/ml4w/version/library.sh + +# Get latest tag from GitHub +get_latest_release() { + v_online=$(curl --silent "https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=ml4w-hyprland") + v_full_online=$(grep -m 1 'pkgver' <<< $v_online | sed 's/^$/pkgver/') + echo ${v_full_online/pkgver=/} +} + +# Check for internet connection +if ping -q -c 1 -W 1 google.com >/dev/null; then + + version=$(cat ~/.config/ml4w/version/name) + online=$(get_latest_release "mylinuxforwork/hyprland-dotfiles") + echo $version "<" $online + testvercomp $version $online "<" +else + # Network is down + echo "1" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/nwg-dock-hyprland/launch.sh b/configs/dotfiles/hyprland/laptop_default/.config/nwg-dock-hyprland/launch.sh new file mode 100755 index 0000000..af98c1b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/nwg-dock-hyprland/launch.sh @@ -0,0 +1,9 @@ +# ___ __ +# / _ \___ ____/ /__ +# / // / _ \/ __/ '_/ +# /____/\___/\__/_/\_\ +# + +if [ -f $HOME/.config/ml4w/settings/nwg-dock-hyprland.sh ] ;then + nwg-dock-hyprland -i 32 -w 5 -mb 10 -ml 10 -mr 10 -x -c "rofi -show drun" +fi \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/nwg-dock-hyprland/style.css b/configs/dotfiles/hyprland/laptop_default/.config/nwg-dock-hyprland/style.css new file mode 100644 index 0000000..20a6067 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/nwg-dock-hyprland/style.css @@ -0,0 +1,43 @@ +window { + background: rgba(0, 0, 0, 0.8); + border-radius: 10px; + border-style: solid; + border-width: 3px; + border-color: #ffffff; + opacity:0.8; +} + +#box { + /* Define attributes of the box surrounding icons here */ + padding: 10px +} + +#active { + /* This is to underline the button representing the currently active window */ + border-bottom: solid 0px; + border-color: #FFFFFF +} + +button, image { + background: none; + border-style: none; + box-shadow: none; + color: #999 +} + +button { + padding: 4px; + margin-left: 4px; + margin-right: 4px; + color: #eee; + font-size: 12px +} + +button:hover { + background-color: rgba(255, 255, 255, 0.15); + border-radius: 10px; +} + +button:focus { + box-shadow: none +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ohmyposh/EDM115-newline.omp.json b/configs/dotfiles/hyprland/laptop_default/.config/ohmyposh/EDM115-newline.omp.json new file mode 100644 index 0000000..ce4f834 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ohmyposh/EDM115-newline.omp.json @@ -0,0 +1,192 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "transient_prompt": { + "template": " ❯❯ {{ .AbsolutePWD }} : ", + "foreground": "#f8f8f2", + "background": "transparent", + "newline": true + }, + "blocks": [ + { + "type": "prompt", + "alignment": "left", + "segments": [ + { + "properties": { + "cache_duration": "none" + }, + "template": "\n\u256d\u2500", + "foreground": "#f8f8f2", + "type": "text", + "style": "plain" + }, + { + "properties": { + "cache_duration": "none" + }, + "leading_diamond": "\ue0b6", + "template": "{{ .UserName }}", + "foreground": "#f8f8f2", + "background": "#282a36", + "type": "session", + "style": "diamond" + }, + { + "properties": { + "cache_duration": "none" + }, + "template": "\udb85\udc0b", + "foreground": "#ff5555", + "powerline_symbol": "\ue0b0", + "background": "#282a36", + "type": "root", + "style": "powerline" + }, + { + "properties": { + "cache_duration": "none" + }, + "template": "{{ .Icon }} ", + "foreground": "#f8f8f2", + "powerline_symbol": "\ue0b0", + "background": "#282a36", + "type": "os", + "style": "powerline" + }, + { + "properties": { + "cache_duration": "none", + "style": "full" + }, + "trailing_diamond": "\ue0b4", + "template": " \udb80\ude56 {{ path .Path .Location }}", + "foreground": "#282a36", + "background": "#cccccc", + "type": "path", + "style": "diamond" + } + ] + }, + { + "type": "prompt", + "alignment": "right", + "segments": [ + { + "properties": { + "branch_icon": "", + "cache_duration": "none", + "display_changing_color": true, + "fetch_status": true, + "fetch_upstream_icon": true, + "full_branch_path": true + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue725 ({{ url .UpstreamIcon .UpstreamURL }} {{ url .HEAD .UpstreamURL }}){{ if gt .Ahead 0 }}<#50fa7b> +{{ .Ahead }}{{ end }}{{ if gt .Behind 0 }}<#ff5555> -{{ .Behind }}{{ end }}{{ if .Working.Changed }}<#f8f8f2> \uf044 {{ .Working.String }}{{ end }}{{ if .Staging.Changed }}<#f8f8f2> \uf046 {{ .Staging.String }}{{ end }}", + "foreground": "#282a36", + "background": "#ffb86c", + "type": "git", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue718 {{ .Full }}", + "foreground": "#282a36", + "background": "#50fa7b", + "type": "node", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files", + "extensions": [ + "package-lock.json" + ] + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue71e {{ .Full }}", + "foreground": "#282a36", + "background": "#ff5555", + "type": "npm", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files", + "extensions": [ + "pnpm-lock.yaml" + ] + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\udb80\udec1 {{ .Full }}", + "foreground": "#282a36", + "background": "#ffb86c", + "type": "pnpm", + "style": "diamond" + }, + { + "properties": { + "display_mode": "files" + }, + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue73c {{ .Full }}", + "foreground": "#282a36", + "background": "#50fa7b", + "type": "python", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue738 {{ .Full }}", + "foreground": "#282a36", + "background": "#ff79c6", + "type": "java", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\uf308 {{ .Context }}", + "foreground": "#282a36", + "background": "#8be9fd", + "type": "docker", + "style": "diamond" + }, + { + "leading_diamond": "\ue0b6", + "trailing_diamond": "\ue0b4", + "template": "\ue73d {{ .Full }}", + "foreground": "#f8f8f2", + "background": "#6272a4", + "type": "php", + "style": "diamond" + } + ] + }, + { + "type": "prompt", + "alignment": "left", + "segments": [ + { + "properties": { + "always_enabled": true, + "cache_duration": "none" + }, + "template": "\u2570\u2500 ❯❯", + "foreground": "#f8f8f2", + "type": "text", + "style": "diamond" + } + ], + "newline": true + } + ], + "version": 3, + "patch_pwsh_bleed": true, + "final_space": true +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/ohmyposh/zen.toml b/configs/dotfiles/hyprland/laptop_default/.config/ohmyposh/zen.toml new file mode 100644 index 0000000..832848d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/ohmyposh/zen.toml @@ -0,0 +1,74 @@ +#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json + +version = 2 +final_space = true +console_title_template = '{{ .Shell }} in {{ .Folder }}' + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'path' + style = 'plain' + background = 'transparent' + foreground = 'blue' + template = '{{ .Path }}' + + [blocks.segments.properties] + style = 'full' + + [[blocks.segments]] + type = 'git' + style = 'plain' + foreground = 'p:grey' + background = 'transparent' + template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} {{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}' + + [blocks.segments.properties] + branch_icon = '' + commit_icon = '@' + fetch_status = true + +[[blocks]] + type = 'rprompt' + overflow = 'hidden' + + [[blocks.segments]] + type = 'executiontime' + style = 'plain' + foreground = 'yellow' + background = 'transparent' + template = '{{ .FormattedMs }}' + + [blocks.segments.properties] + threshold = 5000 + +[[blocks]] + type = 'prompt' + alignment = 'left' + newline = true + + [[blocks.segments]] + type = 'text' + style = 'plain' + foreground_templates = [ + "{{if gt .Code 0}}red{{end}}", + "{{if eq .Code 0}}magenta{{end}}", + ] + background = 'transparent' + template = '❯' + +[transient_prompt] + foreground_templates = [ + "{{if gt .Code 0}}red{{end}}", + "{{if eq .Code 0}}magenta{{end}}", + ] + background = 'transparent' + template = '❯ ' + +[secondary_prompt] + foreground = 'magenta' + background = 'transparent' + template = '❯❯ ' \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/qt6ct/qt6ct.conf b/configs/dotfiles/hyprland/laptop_default/.config/qt6ct/qt6ct.conf new file mode 100644 index 0000000..e5ace90 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/qt6ct/qt6ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/darker.conf +custom_palette=true +icon_theme=breeze-dark +standard_dialogs=default +style=Breeze + +[Fonts] +fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" +general="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x2\x97\0\0\0\0\0\0\0\0\xff\xff\xff\xfe\xff\xff\xff\xfe\0\0\0\0\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xe1\0\0\x2\x97) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-cliphist.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-cliphist.rasi new file mode 100644 index 0000000..a2cbd7a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-cliphist.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-compact.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-compact.rasi new file mode 100644 index 0000000..4e59ac5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-compact.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 30em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-hyprshade.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-hyprshade.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-hyprshade.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-old.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-old.rasi new file mode 100644 index 0000000..06fb55f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-old.rasi @@ -0,0 +1,266 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@import "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +/* ---- Window ---- */ +window { + width: 900px; + x-offset: 0px; + y-offset: 0px; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: #FFFFFF; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + 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: false; + dynamic: false; + 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/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-screenshot.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-screenshot.rasi new file mode 100644 index 0000000..d4e70ed --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-screenshot.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 0em; + spacing: 0em; + padding: 0em; + margin: 0em; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-short.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-short.rasi new file mode 100644 index 0000000..dcb8cd8 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-short.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 20em; + x-offset: -2em; + y-offset: 2em; + spacing: 0px; + padding: 0px; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: northeast; + anchor: northeast; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/blurred_wallpaper.png", width); +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + +// Elements // +element { + enabled: true; + padding: 1em; + margin: 0em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 0em; + cursor: inherit; + background-color: transparent; + text-color: inherit; + content: ""; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-themes.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-themes.rasi new file mode 100644 index 0000000..da2c3fc --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config-themes.rasi @@ -0,0 +1,267 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "Tela-circle-dracula"; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + width: 25em; + x-offset: 0em; + y-offset: 2em; + spacing: 0em; + padding: 0em; + margin: 0px; + color: #FFFFFF; + border: @border-width; + border-color: @color11; + cursor: "default"; + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + enabled: true; + border-radius: @border-radius; + background-color: transparent; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: horizontal; + children: [ "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + +/* ---- Imagebox ---- */ +imagebox { + padding: 1em; + background-color: transparent; + orientation: horizontal; + children: [ "inputbar" ]; +} + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 1em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 1em 0em 0em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: vertical; + children: [ "inputbar", "listview" , "message" ]; + background-color: @background; +} + +listview { + padding: 1em; + spacing: 0em; + margin: 0em; + enabled: true; + columns: 1; + lines: 8; + cycle: false; + dynamic: false; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color5; + text-color: @background; +} + + +// Elements // +element { + enabled: true; + padding: 0.8em; + margin: 0.6em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; + border-radius: 1.1em; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 7.2em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; + border: 0em; + margin: 2.2em 0em 0em 0em; + padding: 0em; + spacing: 0em; + border-radius: 1.1em; +} + +textbox { + padding: 2em; + margin: 0em; + border-radius: 0em; + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +error-message { + padding: 2em; + border-radius: 2.1em; + background-color: @background; + text-color: @foreground; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/rofi/config.rasi b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config.rasi new file mode 100644 index 0000000..50b759b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/rofi/config.rasi @@ -0,0 +1,241 @@ +/* +# ____ __ _ +# | _ \ ___ / _(_) +# | |_) / _ \| |_| | +# | _ < (_) | _| | +# |_| \_\___/|_| |_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- +*/ + +/* ---- Configuration ---- */ +configuration { + modi: "drun,filebrowser,window,run"; + font: "Fira Sans 11"; + show-icons: true; + icon-theme: "kora"; + display-drun: " "; + display-run: " "; + display-filebrowser: "  "; + display-window: "  "; + drun-display-format: "{name}"; + hover-select: false; + scroll-method: 1; + me-select-entry: ""; + me-accept-entry: "MousePrimary"; + window-format: "{w} · {c} · {t}"; + +} + +/* ---- Load font ---- */ +@import "~/.config/ml4w/settings/rofi-font.rasi" + +/* ---- Load pywal colors (custom wal template) ---- */ +@theme "~/.cache/wal/colors-rofi-pywal" + +/* ---- Load wallpaper ---- */ +@import "~/.config/ml4w/cache/current_wallpaper.rasi" + +/* ---- Load border width ---- */ +@import "~/.config/ml4w/settings/rofi-border.rasi" + +/* ---- Load border radius ---- */ +@import "~/.config/ml4w/settings/rofi-border-radius.rasi" + +// Main // +window { + height: 35em; + width: 56em; + transparency: "real"; + fullscreen: false; + enabled: true; + cursor: "default"; + spacing: 0em; + padding: 0em; + border: @border-width; + border-color: @color11; + border-radius: @border-radius; + background-color: @background; +} + +mainbox { + enabled: true; + spacing: 0em; + padding: 0em; + orientation: vertical; + children: [ "inputbar" , "listbox" ]; + background-color: transparent; + background-image: @current-image; +} + + +// Inputs // +inputbar { + enabled: true; + spacing: 0em; + padding: 5em; + children: [ "textbox-prompt-colon", "entry" ]; + background-color: transparent; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " "; + padding: 1em 0em 0em 1em; + text-color: @foreground; + border-radius: 2em 0em 0em 2em; + background-color: @background; + background-image: url("~/.config/ml4w/cache/current_wallpaper", width); +} + +entry { + enabled: true; + border-radius: 0em 2em 2em 0em; + spacing: 1em; + padding: 1em; + background-color: @background; + text-color: @foreground; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +// Lists // +listbox { + padding: 0em; + spacing: 0em; + orientation: horizontal; + children: [ "listview" , "mode-switcher" ]; + background-color: @background; +} + +listview { + padding: 1.5em; + spacing: 0.5em; + enabled: true; + columns: 2; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + cursor: "default"; + background-color: transparent; + text-color: @foreground; +} + + +// Modes // +mode-switcher { + orientation: vertical; + width: 6.6em; + enabled: true; + padding: 1.5em; + spacing: 1.5em; + background-color: transparent; +} + +button { + cursor: pointer; + border-radius: 2em; + background-color: @background; + text-color: @foreground; +} + +button selected { + background-color: @color11; + text-color: @foreground; +} + + +// Elements // +element { + enabled: true; + spacing: 0em; + padding: 0.5em; + cursor: pointer; + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: @color11; + text-color: @foreground; + border-radius: 1.5em; +} + +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.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 { + size: 3em; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +element-text { + vertical-align: 0.5; + horizontal-align: 0.1; + cursor: inherit; + background-color: transparent; + text-color: inherit; +} + +// Error message // +error-message { + text-color: @foreground; + background-color: @background; + text-transform: capitalize; + children: [ "textbox" ]; +} + +textbox { + text-color: inherit; + background-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-hyprland.conf b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-hyprland.conf new file mode 100644 index 0000000..84e2394 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-hyprland.conf @@ -0,0 +1,18 @@ +$background = rgb({background.strip}) +$foreground = rgb({foreground.strip}) +$color0 = rgb({color0.strip}) +$color1 = rgb({color1.strip}) +$color2 = rgb({color2.strip}) +$color3 = rgb({color3.strip}) +$color4 = rgb({color4.strip}) +$color5 = rgb({color5.strip}) +$color6 = rgb({color6.strip}) +$color7 = rgb({color7.strip}) +$color8 = rgb({color8.strip}) +$color9 = rgb({color9.strip}) +$color10 = rgb({color10.strip}) +$color11 = rgb({color11.strip}) +$color12 = rgb({color12.strip}) +$color13 = rgb({color13.strip}) +$color14 = rgb({color14.strip}) +$color15 = rgb({color15.strip}) \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-rofi-pywal.rasi b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-rofi-pywal.rasi new file mode 100644 index 0000000..f0b1665 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-rofi-pywal.rasi @@ -0,0 +1,20 @@ +* {{ + background: rgba(0,0,1,0.5); + foreground: #FFFFFF; + 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/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-waybar.css b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-waybar.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-waybar.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-wlogout.css b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-wlogout.css new file mode 100644 index 0000000..c9cced6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/wal/templates/colors-wlogout.css @@ -0,0 +1,20 @@ +@define-color foreground {foreground}; +@define-color background {background}; +@define-color cursor {cursor}; + +@define-color color0 {color0}; +@define-color color1 {color1}; +@define-color color2 {color2}; +@define-color color3 {color3}; +@define-color color4 {color4}; +@define-color color5 {color5}; +@define-color color6 {color6}; +@define-color color7 {color7}; +@define-color color8 {color8}; +@define-color color9 {color9}; +@define-color color10 {color10}; +@define-color color11 {color11}; +@define-color color12 {color12}; +@define-color color13 {color13}; +@define-color color14 {color14}; +@define-color color15 {color15}; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/launch.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/launch.sh new file mode 100755 index 0000000..8ae9e4d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/launch.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# ____ _ _ __ __ _ +# / ___|| |_ __ _ _ __| |_ \ \ / /_ _ _ _| |__ __ _ _ __ +# \___ \| __/ _` | '__| __| \ \ /\ / / _` | | | | '_ \ / _` | '__| +# ___) | || (_| | | | |_ \ V V / (_| | |_| | |_) | (_| | | +# |____/ \__\__,_|_| \__| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Quit all running waybar instances +# ----------------------------------------------------- +killall waybar +pkill waybar +sleep 0.5 + +# ----------------------------------------------------- +# Default theme: /THEMEFOLDER;/VARIATION +# ----------------------------------------------------- +themestyle="/ml4w;/ml4w/light" + +# ----------------------------------------------------- +# Get current theme information from ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ -f ~/.config/ml4w/settings/waybar-theme.sh ]; then + themestyle=$(cat ~/.config/ml4w/settings/waybar-theme.sh) +else + touch ~/.config/ml4w/settings/waybar-theme.sh + echo "$themestyle" > ~/.config/ml4w/settings/waybar-theme.sh +fi + +IFS=';' read -ra arrThemes <<< "$themestyle" +echo ":: Theme: ${arrThemes[0]}" + +if [ ! -f ~/.config/waybar/themes${arrThemes[1]}/style.css ]; then + themestyle="/ml4w;/ml4w/light" +fi + +# ----------------------------------------------------- +# Loading the configuration +# ----------------------------------------------------- +config_file="config" +style_file="style.css" + +# Standard files can be overwritten with an existing config-custom or style-custom.css +if [ -f ~/.config/waybar/themes${arrThemes[0]}/config-custom ] ;then + config_file="config-custom" +fi +if [ -f ~/.config/waybar/themes${arrThemes[1]}/style-custom.css ] ;then + style_file="style-custom.css" +fi + +# Check if waybar-disabled file exists +if [ ! -f $HOME/.cache/waybar-disabled ] ;then + waybar -c ~/.config/waybar/themes${arrThemes[0]}/$config_file -s ~/.config/waybar/themes${arrThemes[1]}/$style_file & +fi + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/modules.json b/configs/dotfiles/hyprland/laptop_default/.config/waybar/modules.json new file mode 100644 index 0000000..28fb988 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/modules.json @@ -0,0 +1,387 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +{ + // Workspaces + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty", "kitty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip-format": "Open Sidebar" + }, + + // Empty + "custom/empty": { + "format": "" + }, + + // Tools + "custom/tools": { + "format": "", + "tooltip-format": "Tools" + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip-format": "Left: Open clipboard Manager\nRight: Delete an entry\nMiddle: Clear list" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "interval": 1800, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "bash -c waypaper &", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip-format": "Left: Select a wallpaper\nRight: Select wallpaper effect" + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip-format": "Select a waybar theme" + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "sleep 0.1 && com.ml4w.dotfilessettings", + "tooltip-format": "ML4W Dotfiles Settings" + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": " ", + "on-click": "~/.config/ml4w/settings/ai.sh", + "tooltip-format": "AI Support" + }, + + // Calculator + "custom/calculator": { + "format": "", + "on-click": "qalculate-gtk", + "tooltip-format": "Open calculator" + }, + + // Windows VM + "custom/windowsvm": { + "format": "", + "on-click": "~/.config/ml4w/scripts/launchvm.sh", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + // START APPS LABEL + "format": "Apps", + // END APPS LABEL + "on-click": "sleep 0.2;pkill rofi || rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Rofi Application Launcher + "custom/appmenuicon": { + "format": "", + "on-click": "sleep 0.2;rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "~/.config/ml4w/scripts/wlogout.sh", + "on-click-right": "hyprlock", + "tooltip-format": "Left: Power menu\nRight: Lock screen" + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "tooltip-format": "Toggle Screen Shader", + "on-click": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.5; ~/.config/hypr/scripts/hyprshade.sh rofi" + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle" + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags toggle calendar", + "timezone": "", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "~/.config/ml4w/settings/system-monitor.sh" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": ["custom/system", "disk", "cpu", "memory", "hyprland/language"] + }, + + // Group Tools + "group/tools": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/tools", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade" + ] + }, + + // Group Links + "group/links": { + "orientation": "horizontal", + "modules": [ + "custom/chatgpt", + "custom/empty" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": true + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {essid} ({signalStrength}%)", + "format-ethernet": " {ifname}", + "format-disconnected": "Disconnected ⚠", + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}", + "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "~/.config/ml4w/settings/networkmanager.sh", + "on-click-right": "~/.config/ml4w/scripts/nm-applet.sh toggle", + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format": " {status}", + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false + }, + + // backlight: + "backlight": { + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "scroll-step": 1 + } +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ai-icon-20.png b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ai-icon-20.png new file mode 100644 index 0000000..a070dd4 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ai-icon-20.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ai-icon.png b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ai-icon.png new file mode 100644 index 0000000..398379b Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ai-icon.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/hyprland-icon-20.png b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/hyprland-icon-20.png new file mode 100644 index 0000000..0d36ec2 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/hyprland-icon-20.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/hyprland-icon.png b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/hyprland-icon.png new file mode 100644 index 0000000..c87b767 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/hyprland-icon.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-20.png b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-20.png new file mode 100644 index 0000000..df25ccb Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-20.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-black.svg b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-black.svg new file mode 100644 index 0000000..011b817 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-black.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-dark.png b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-dark.png new file mode 100644 index 0000000..73ec085 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-dark.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-white.svg b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-white.svg new file mode 100644 index 0000000..c19407d --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon.png b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon.png new file mode 100644 index 0000000..92a54e0 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon.svg b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon.svg new file mode 100644 index 0000000..fa8e063 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/ml4w-icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai-black.svg b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai-black.svg new file mode 100644 index 0000000..3b4eff9 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai-black.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai-white.svg b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai-white.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai-white.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai.svg b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai.svg new file mode 100644 index 0000000..24e0cf7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/assets/openai.svg @@ -0,0 +1,2 @@ + +OpenAI icon \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/config new file mode 100644 index 0000000..b02f10e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/config @@ -0,0 +1,161 @@ +{ + // "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": ["hyprland/workspaces","custom/waybarthemes"], + "modules-center": ["hyprland/window"], + "modules-right": ["custom/ml4w-welcome","mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip": false + }, + // Waybar Themes + "custom/waybarthemes": { + "format": "Themes", + "on-click": "~/.config/ml4w/waybar/themeswitcher.sh", + "tooltip": false + }, + "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 ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/config.sh new file mode 100644 index 0000000..71a3429 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Default Theme" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/style.css new file mode 100644 index 0000000..cafc802 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/default/style.css @@ -0,0 +1,289 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + 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; +} + +#custom-ml4w-welcome { + margin-right: 15px; + background-image: url("../assets/ml4w-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 20px; + margin-right: 0px; +} + +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; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/black/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/black/config.sh new file mode 100644 index 0000000..cea609a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/black/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/black/style.css new file mode 100644 index 0000000..129c909 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/black/style.css @@ -0,0 +1,29 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh new file mode 100644 index 0000000..7f55337 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/colored/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/colored/style.css new file mode 100644 index 0000000..de0b369 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/config new file mode 100644 index 0000000..ea2b0cb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh new file mode 100644 index 0000000..df6f8c2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/dark/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/dark/style.css new file mode 100644 index 0000000..54e8317 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/light/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/light/config.sh new file mode 100644 index 0000000..da067d2 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Light" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/light/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/light/style.css new file mode 100644 index 0000000..5caa16a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh new file mode 100644 index 0000000..dea299a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css new file mode 100644 index 0000000..fe8dbb3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/white/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/white/config.sh new file mode 100644 index 0000000..1592654 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Bottom White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/white/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/white/style.css new file mode 100644 index 0000000..a0ba4a7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur-bottom/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w-blur/style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/black/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/black/config.sh new file mode 100644 index 0000000..5c6fb05 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/black/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/black/style.css new file mode 100644 index 0000000..b8a549a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/black/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/colored/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/colored/config.sh new file mode 100644 index 0000000..7338fef --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/colored/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/config new file mode 100644 index 0000000..fcd29ce --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 0, + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/dark/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/dark/config.sh new file mode 100644 index 0000000..a3b9e88 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/dark/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/dark/style.css new file mode 100644 index 0000000..8470788 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/dark/style.css @@ -0,0 +1,20 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/light/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/light/config.sh new file mode 100644 index 0000000..ca5fe11 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Light" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/light/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/mixed/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/mixed/config.sh new file mode 100644 index 0000000..eb698ad --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/mixed/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/style.css new file mode 100644 index 0000000..12734d3 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/style.css @@ -0,0 +1,478 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left:14px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 8px 15px 8px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 14px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 20px; +} + +#custom-settings { + margin-right:12px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; + opacity: 0.8; +} + +#custom-chatgpt { + margin-right: 12px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 16px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 17px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 8px 16px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 8px 15px 8px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; + color: @textcolor3; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/white/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/white/config.sh new file mode 100644 index 0000000..e458b19 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Blur White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/white/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/white/style.css new file mode 100644 index 0000000..f50cb7e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-blur/white/style.css @@ -0,0 +1,28 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +window#waybar { + background-color: rgba(255,255,255,0.1); +} + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/black/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/black/config.sh new file mode 100644 index 0000000..5837eb6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/black/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/black/style.css new file mode 100644 index 0000000..6bae0cd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #000000; +@define-color backgrounddark #000000; +@define-color workspacesbackground1 #000000; +@define-color workspacesbackground2 #222222; +@define-color bordercolor #000000; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #000000; +@define-color iconcolor #000000; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/colored/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/colored/config.sh new file mode 100644 index 0000000..0a31bac --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/colored/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/colored/style.css new file mode 100644 index 0000000..53bf65c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/config new file mode 100644 index 0000000..8e55c1b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "position": "bottom", + "margin-top": 0, + "margin-bottom": 14, + "layer": "top", + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/dark/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/dark/config.sh new file mode 100644 index 0000000..a6fe8ff --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/dark/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/dark/style.css new file mode 100644 index 0000000..2179f76 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/light/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/light/config.sh new file mode 100644 index 0000000..e016502 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/light/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/light/style.css new file mode 100644 index 0000000..833b8c4 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/mixed/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/mixed/config.sh new file mode 100644 index 0000000..e5bc67e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/mixed/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/mixed/style.css new file mode 100644 index 0000000..f3ee832 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/white/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/white/config.sh new file mode 100644 index 0000000..71dd9f5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White Bottom" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/white/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/white/style.css new file mode 100644 index 0000000..704bfbd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-bottom/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../../ml4w/style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/config new file mode 100644 index 0000000..4614d63 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/config @@ -0,0 +1,88 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-bottom": 0, + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Updates Count + "custom/updates": { + "format": " {}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "$(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/scripts/installupdates.sh", + "on-click-right": "~/.config/ml4w/settings/software.sh" + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": [" ", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Modules Left + "modules-left": [ +"custom/appmenuicon", + "hyprland/workspaces", + "group/links", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", + "custom/exit", + "clock", +"tray", + "custom/ml4w-welcome" + ] +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/config.sh new file mode 100644 index 0000000..eac2047 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Minimal" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/style.css new file mode 100644 index 0000000..be884b6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-minimal/style.css @@ -0,0 +1,431 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.4); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +.modules-left { + padding-left: 10px; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + + #workspaces { + margin: 3px 7px 3px 3px; + border: 0px; + font-size: 14px; + color: @textcolor1; +} + +#workspaces button { + border: 0px; + margin:4px 5px 4px 0px; + padding:0px 4px 0px 4px; + color: @textcolor3; + transition: all 0.5s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 0px 15px 0px 0px; + border-radius: 12px; + color:@textcolor; + font-size:14px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 14px; + font-weight: bold; + color: @iconcolor; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-settings { + margin-right: 15px; +} + +#custom-browser { + margin-right: 12px; +} + +#custom-wallpaper { + margin-right: 14px; +} + +#custom-chatgpt { + margin-right: 10px; + background-image: url("../assets/ai-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 23px; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-ml4w-hyprland-settings { + margin-right: 12px; + background-image: url("../assets/hyprland-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 16px; +} + + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 16px; + font-weight: bold; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 14px; + font-weight: bold; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenuicon { + font-size: 20px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:16px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#custom-updates.green { +} + +#custom-updates.yellow { + color: #ff9a3c; +} + +#custom-updates.red { + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Youtube + * ----------------------------------------------------- */ + +#custom-youtube { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:14px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + font-size: 15px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; + background-color: transparent; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + + #pulseaudio { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#pulseaudio.muted { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#network.ethernet { + color: @textcolor; +} + +#network.wifi { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/black/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/black/config.sh new file mode 100644 index 0000000..63c42a1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/black/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/colored/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/colored/config.sh new file mode 100644 index 0000000..61e80a5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/colored/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/config new file mode 100644 index 0000000..f570e02 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/config @@ -0,0 +1,57 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 14, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "hyprland/workspaces", + "group/links", +//"wlr/taskbar", + "group/quicklinks", + "custom/empty" + ], + + // Modules Center + "modules-center": [ +"hyprland/window", + "custom/empty" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/dark/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/dark/config.sh new file mode 100644 index 0000000..e6f8d5b --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/dark/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/light/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/light/config.sh new file mode 100644 index 0000000..0c6cdb1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Light" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/light/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/mixed/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/mixed/config.sh new file mode 100644 index 0000000..46f3eb5 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/mixed/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/style.css new file mode 100644 index 0000000..12943e1 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/style.css @@ -0,0 +1,470 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + + * { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 18px 3px 1px; + padding: 0px 2px; + border-radius: 5px 5px 5px 5px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 6px; + margin: 3px 2px; + border-radius: 3px 3px 3px 3px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.1s linear; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 3px 3px 3px 3px; + min-width: 30px; + transition: all 0.1s linear; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 5px 5px 5px 5px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 3px 15px 3px 0px; + padding: 2px 10px 0px 10px; + border-radius: 5px 5px 5px 5px; + color:white; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 5px 5px 5px 5px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 5px 5px 5px 5px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 5px 5px 5px 5px; + padding: 0px 10px 0px 10px; + margin: 2px 17px 2px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 3px 5px 3px 5px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 5px 5px 5px 5px; + padding: 2px 15px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/white/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/white/config.sh new file mode 100644 index 0000000..efe0528 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Modern White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/white/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w-modern/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/black/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/black/config.sh new file mode 100644 index 0000000..39e19cb --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/black/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Black" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/black/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/black/style.css new file mode 100644 index 0000000..00b3413 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/black/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ + @import '../../../../../.cache/wal/colors-waybar.css'; + + @define-color backgroundlight #000000; + @define-color backgrounddark #000000; + @define-color workspacesbackground1 #000000; + @define-color workspacesbackground2 #222222; + @define-color bordercolor #000000; + @define-color textcolor1 #FFFFFF; + @define-color textcolor2 #FFFFFF; + @define-color textcolor3 #000000; + @define-color iconcolor #000000; + + @import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-black.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-black.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/colored/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/colored/config.sh new file mode 100644 index 0000000..25dbee7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/colored/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Colored" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/colored/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/colored/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color5; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 @color5; +@define-color workspacesbackground2 @color11; +@define-color bordercolor @color11; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/config new file mode 100644 index 0000000..12ba709 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/config @@ -0,0 +1,56 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + "layer": "top", + "margin-top": 14, + "margin-bottom": 0, + "margin-left": 14, + "margin-right": 14, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "group/links", +//"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/empty" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "group/tools", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/dark/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/dark/config.sh new file mode 100644 index 0000000..6c2cf9f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/dark/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Dark" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/dark/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/dark/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor @color8; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/light/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/light/config.sh new file mode 100644 index 0000000..55e4ffd --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/light/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/light/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark @color11; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 @color11; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #FFFFFF; +@define-color textcolor2 @color11; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/mixed/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/mixed/config.sh new file mode 100644 index 0000000..c00e231 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/mixed/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Mixed" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/mixed/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/mixed/style.css @@ -0,0 +1,16 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight @color8; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 @color8; +@define-color workspacesbackground2 #FFFFFF; +@define-color bordercolor @color8; +@define-color textcolor1 @color8; +@define-color textcolor2 #FFFFFF; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/style.css new file mode 100644 index 0000000..68a179c --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/style.css @@ -0,0 +1,471 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @workspacesbackground1; + margin: 2px 1px 3px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 5px 15px 5px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +#taskbar.empty { + background:transparent; + border:0; + padding:0; + margin:0; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10 { + margin-right: 24px; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-chatgpt { + margin-right: 16px; + background-image: url("../assets/openai.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + padding-right: 18px; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + +#idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 3px 17px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 13px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; + opacity: 0.8; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 3px 0px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + +#backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + padding: 0px 15px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/white/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/white/config.sh new file mode 100644 index 0000000..685088f --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/white/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W White" \ No newline at end of file diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/white/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/white/style.css new file mode 100644 index 0000000..a113c46 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/ml4w/white/style.css @@ -0,0 +1,24 @@ +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../../../../.cache/wal/colors-waybar.css'; + +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #000000; +@define-color iconcolor #FFFFFF; + +@import '../style.css'; + +#custom-ml4w-welcome { + background-image: url("../../assets/ml4w-icon-white.svg"); +} + +#custom-chatgpt { + background-image: url("../../assets/openai-white.svg"); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/config b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/config new file mode 100644 index 0000000..6084f60 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/config @@ -0,0 +1,66 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + + // Position TOP + "layer": "top", + "margin-bottom": 0, + + // Position BOTTOM + // "position": "bottom", + // "margin-top": 0, + // "margin-bottom": 14, + + "layer": "top", + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": [ + "~/.config/ml4w/settings/waybar-quicklinks.json", + "~/.config/waybar/themes/starter/modules.json" + ], + + // Modules Left + "modules-left": [ +"custom/appmenu", + "custom/settings", + //"wlr/taskbar", + "group/quicklinks", +"hyprland/window", + "custom/starter" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", +//"backlight", + "bluetooth", + "battery", +"network", + "group/hardware", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade", +"tray", + "custom/exit", + "custom/ml4w-welcome", + "clock" + ] +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/config.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/config.sh new file mode 100644 index 0000000..a9399f6 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Waybar Starter" diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/modules.json b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/modules.json new file mode 100644 index 0000000..51e0add --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/modules.json @@ -0,0 +1,351 @@ +// __ __ _ _ +// | \/ | ___ __| |_ _| | ___ ___ +// | |\/| |/ _ \ / _` | | | | |/ _ \/ __| +// | | | | (_) | (_| | |_| | | __/\__ \ +// |_| |_|\___/ \__,_|\__,_|_|\___||___/ +// +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // Workspaces + "hyprland/workspaces" : { + "on-click": "activate", + "active-only": false, + "all-outputs": true, + "format": "{}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 5 + } + }, + + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + + // Cliphist + "custom/cliphist": { + "format": "", + "on-click": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh", + "on-click-right": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh d", + "on-click-middle": "sleep 0.1 && ~/.config/ml4w/scripts/cliphist.sh w", + "tooltip": false + }, + + // Hyprshade + "custom/hyprshade": { + "format": "", + "on-click": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh", + "on-click-right": "sleep 0.1; ~/.config/hypr/scripts/hyprshade.sh rofi", + "tooltip": false + }, + + // Hypridle inhibitor + "custom/hypridle": { + "format": "", + "return-type": "json", + "escape": true, + "exec-on-event": true, + "interval": 60, + "exec": "~/.config/hypr/scripts/hypridle.sh status", + "on-click": "~/.config/hypr/scripts/hypridle.sh toggle", + "on-click-right": "hyprlock" + }, + + // Updates Count + "custom/updates": { + "format": " {}", + "tooltip-format": "{}", + "escape": true, + "return-type": "json", + "exec": "~/.config/ml4w/scripts/updates.sh", + "restart-interval": 60, + "on-click": "alacritty -e ~/.config/ml4w/scripts/installupdates.sh", + "tooltip": false + }, + + // Theme Starter Label + "custom/starter": { + "format": "THEME STARTER", + "tooltip": false + }, + + // Wallpaper + "custom/wallpaper": { + "format": "", + "on-click": "waypaper", + "on-click-right": "~/.config/hypr/scripts/wallpaper-effects.sh", + "tooltip": false + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/.config/waybar/themeswitcher.sh", + "tooltip": false + }, + + // Settings + "custom/settings": { + "format": "", + "on-click": "~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage", + "tooltip": false + }, + + // Keybindings + "custom/keybindings": { + "format": "", + "on-click": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Filemanager Launcher + "custom/filemanager": { + "format": "", + "on-click": "nautilus", + "tooltip": false + }, + + // Browser Launcher + "custom/browser": { + "format": "", + "on-click": "~/.config/ml4w/settings/browser.sh", + "tooltip": false + }, + + // ML4W Welcome App + "custom/ml4w-welcome": { + "on-click": "sleep 0.1 && ~/.config/ml4w/settings/ml4w-sidebar.sh", + "on-click-right": "sleep 0.1 && com.ml4w.welcome", + "format": " ", + "tooltip-format": "Open Sidebar" + }, + + // ChatGPT Launcher + "custom/chatgpt": { + "format": "", + "on-click": "chromium --app=https://chat.openai.com", + "tooltip": false + }, + + // Rofi Application Launcher + "custom/appmenu": { + "format": "Apps", + "on-click": "rofi -show drun -replace", + "on-click-right": "~/.config/hypr/scripts/keybindings.sh", + "tooltip": false + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "wlogout", + "tooltip": false + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + "on-click": "ags -t calendar", + "tooltip": false + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "alacritty -e htop" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "alacritty -e htop" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "alacritty -e htop" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/system", + "disk", + "cpu", + "memory", + "hyprland/language" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Group Quicklinks + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/filemanager", + "custom/browser" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {signalStrength}%", + "format-ethernet": " {ipaddr}", + "format-disconnected": "Not connected", //An empty format will hide the module. + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {essid} ({signalStrength}%)", + "tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "alacritty -e nmtui" + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", " ", " "] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false, + }, + + // Idle Inhibator + "idle_inhibitor": { + "format": "{icon}", + "tooltip": true, + "format-icons":{ + "activated": "", + "deactivated": "" + }, + "on-click-right": "hyprlock" + } +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/style.css b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/style.css new file mode 100644 index 0000000..21fdcfa --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themes/starter/style.css @@ -0,0 +1,457 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.2); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + margin: 5px 1px 6px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor3; + transition: all 0.3s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 16px; + background-color: @backgroundlight; + opacity:0.9; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 10px 15px 10px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + background: @backgroundlight; + margin: 6px 15px 6px 0px; + padding:0px; + border-radius: 15px; + font-weight: normal; + font-style: normal; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 23px; + font-size: 20px; + font-weight: bold; + color: @iconcolor; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 24px; +} + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 22px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 10px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +/* ----------------------------------------------------- + * Other + * ----------------------------------------------------- */ + +label:focus { + background-color: #000000; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/themeswitcher.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themeswitcher.sh new file mode 100755 index 0000000..f3e4734 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/themeswitcher.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# _____ _ _ _ _ +# |_ _| |__ ___ _ __ ___ ___ _____ _(_) |_ ___| |__ ___ _ __ +# | | | '_ \ / _ \ '_ ` _ \ / _ \/ __\ \ /\ / / | __/ __| '_ \ / _ \ '__| +# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ | +# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_| +# +# by Stephan Raabe (2024) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Default theme folder +# ----------------------------------------------------- +themes_path="$HOME/.config/waybar/themes" + +# ----------------------------------------------------- +# Initialize arrays +# ----------------------------------------------------- +listThemes="" +listNames="" +listNames2="" + +# ----------------------------------------------------- +# Read theme folder +# ----------------------------------------------------- +sleep 0.2 +options=$(find $themes_path -maxdepth 2 -type d) +for value in $options +do + if [ ! $value == "$HOME/.config/waybar/themes/assets" ]; then + if [ ! $value == "$themes_path" ]; then + if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then + result=$(echo $value | sed "s#$HOME/.config/waybar/themes/#/#g") + IFS='/' read -ra arrThemes <<< "$result" + listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result" + if [ -f $themes_path$result/config.sh ]; then + source $themes_path$result/config.sh + listNames+="$theme_name\n" + listNames2+="$theme_name~" + else + listNames+="/${arrThemes[1]};$result\n" + listNames2+="/${arrThemes[1]};$result~" + fi + fi + fi + fi +done + +# ----------------------------------------------------- +# Show rofi dialog +# ----------------------------------------------------- +listNames=${listNames::-2} +choice=$(echo -e "$listNames" | rofi -dmenu -replace -i -config ~/.config/rofi/config-themes.rasi -no-show-icons -width 30 -p "Themes" -format i) +IFS="~" +input=$listNames2 +read -ra array <<< "$input" + +# ----------------------------------------------------- +# Set new theme by writing the theme information to ~/.config/ml4w/settings/waybar-theme.sh +# ----------------------------------------------------- +if [ "$choice" ]; then + echo "Loading waybar theme..." + echo "${listThemes[$choice+1]}" > ~/.config/ml4w/settings/waybar-theme.sh + ~/.config/waybar/launch.sh + notify-send "Waybar Theme changed" "to ${array[$choice]}" +fi diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waybar/toggle.sh b/configs/dotfiles/hyprland/laptop_default/.config/waybar/toggle.sh new file mode 100755 index 0000000..0d49a4e --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waybar/toggle.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# _____ _ __ __ _ +# |_ _|__ __ _ __ _| | ___ \ \ / /_ _ _ _| |__ __ _ _ __ +# | |/ _ \ / _` |/ _` | |/ _ \ \ \ /\ / / _` | | | | '_ \ / _` | '__| +# | | (_) | (_| | (_| | | __/ \ V V / (_| | |_| | |_) | (_| | | +# |_|\___/ \__, |\__, |_|\___| \_/\_/ \__,_|\__, |_.__/ \__,_|_| +# |___/ |___/ |___/ +# + +if [ -f ~/.cache/waybar-disabled ] ;then + rm ~/.cache/waybar-disabled +else + touch ~/.cache/waybar-disabled +fi +~/.config/waybar/launch.sh & diff --git a/configs/dotfiles/hyprland/laptop_default/.config/waypaper/config.ini b/configs/dotfiles/hyprland/laptop_default/.config/waypaper/config.ini new file mode 100644 index 0000000..98ebe47 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/waypaper/config.ini @@ -0,0 +1,21 @@ +[Settings] +language = en +folder = ~/wallpaper +wallpaper = ~/wallpaper/default.jpg +backend = hyprpaper +monitors = All +fill = fill +sort = name +color = #ffffff +subfolders = False +show_hidden = False +show_gifs_only = False +post_command = ~/.config/hypr/scripts/wallpaper.sh "$wallpaper" +number_of_columns = 3 +swww_transition_type = any +swww_transition_step = 90 +swww_transition_angle = 0 +swww_transition_duration = 2 +swww_transition_fps = 60 +use_xdg_state = False + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/README.txt b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/README.txt new file mode 100644 index 0000000..4ceecd7 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/README.txt @@ -0,0 +1,8 @@ +Select Logout Command depending on your setup: + +Use for Display Manager e.g., sddm (DEFAULT) +sleep 1; hyprctl dispatch exit + +Use for Arch Linux text based login +sleep 1; loginctl terminate-user $USER + diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/hibernate.png b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/hibernate.png new file mode 100644 index 0000000..bf2b001 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/hibernate.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/lock.png b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/lock.png new file mode 100644 index 0000000..da59b10 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/lock.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/logout.png b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/logout.png new file mode 100644 index 0000000..8a25922 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/logout.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/reboot.png b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000..e5fd221 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/reboot.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/shutdown.png b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000..663ca03 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/shutdown.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/suspend.png b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/suspend.png new file mode 100644 index 0000000..af099b9 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/icons/suspend.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/layout b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/layout new file mode 100644 index 0000000..0dfb38a --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/layout @@ -0,0 +1,30 @@ +{ + "label" : "lock", + "action" : "~/.config/hypr/scripts/power.sh lock", + "text" : "Lock", + "keybind" : "l" +} +{ + "label" : "logout", + "action" : "~/.config/hypr/scripts/power.sh exit", + "text" : "Log Out", + "keybind" : "e" +} +{ + "label" : "suspend", + "action" : "~/.config/hypr/scripts/power.sh suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "~/.config/hypr/scripts/power.sh reboot", + "text" : "Restart", + "keybind" : "r" +} +{ + "label" : "shutdown", + "action" : "~/.config/hypr/scripts/power.sh shutdown", + "text" : "Power Off", + "keybind" : "s" +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/noise.png b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/noise.png new file mode 100644 index 0000000..028b188 Binary files /dev/null and b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/noise.png differ diff --git a/configs/dotfiles/hyprland/laptop_default/.config/wlogout/style.css b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/style.css new file mode 100644 index 0000000..f533d11 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/wlogout/style.css @@ -0,0 +1,107 @@ +/* + _ _ +__ _| | ___ __ _ ___ _ _| |_ +\ \ /\ / / |/ _ \ / _` |/ _ \| | | | __| + \ V V /| | (_) | (_| | (_) | |_| | |_ + \_/\_/ |_|\___/ \__, |\___/ \__,_|\__| + |___/ + +by Stephan Raabe (2023) +----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +@import '../../.cache/wal/colors-wlogout.css'; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + background-image: none; + transition: 20ms; + box-shadow: none; +} + +window { + background: url("../ml4w/cache/blurred_wallpaper.png"); + background-size: cover; + font-size: 16pt; + color: #cdd6f4; +} + +button { + background-repeat: no-repeat; + background-position: center; + background-size: 20%; + background-color: rgba(200, 220, 255, 0); + animation: gradient_f 20s ease-in infinite; + border-radius: 80px; /* Increased border radius for a more rounded look */ + border:0px; + transition: all 0.3s cubic-bezier(.55, 0.0, .28, 1.682), box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; +} + +button:focus { + background-size: 22%; + border: 0px; +} + +button:hover { + background-color: @color11; + opacity: 0.8; + color: #cdd6f4; + background-size: 30%; + margin: 30px; + border-radius: 80px; + box-shadow: 0 0 50px @color7; +} + +/* Adjust the size of the icon or content inside the button */ +button span { + font-size: 1.2em; /* Increase the font size */ +} + +/* +----------------------------------------------------- +Buttons +----------------------------------------------------- +*/ + +#lock { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/lock.png")); +} + +#logout { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/logout.png")); +} + +#suspend { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/reboot.png")); +} diff --git a/configs/dotfiles/hyprland/laptop_default/.config/xsettingsd/xsettingsd.conf b/configs/dotfiles/hyprland/laptop_default/.config/xsettingsd/xsettingsd.conf new file mode 100644 index 0000000..5065b09 --- /dev/null +++ b/configs/dotfiles/hyprland/laptop_default/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,9 @@ +Net/ThemeName "Adwaita" +Net/IconThemeName "Papirus-Dark" +Gtk/CursorThemeName "Bibata-Modern-Ice" +Net/EnableEventSounds 1 +EnableInputFeedbackSounds 0 +Xft/Antialias 1 +Xft/Hinting 1 +Xft/HintStyle "hintslight" +Xft/RGBA "rgb" diff --git a/configs/dotfiles/kitty/kitty.conf b/configs/dotfiles/kitty/kitty.conf index 35bced2..df7c134 100644 --- a/configs/dotfiles/kitty/kitty.conf +++ b/configs/dotfiles/kitty/kitty.conf @@ -753,7 +753,7 @@ inactive_border_color #2f334d #: Fade the text in inactive windows by the specified amount (a number #: between zero and one, with zero being fully faded). -# hide_window_decorations no +hide_window_decorations yes #: Hide the window decorations (title-bar and window borders) with #: yes. On macOS, titlebar-only can be used to only hide the titlebar. @@ -988,7 +988,7 @@ background #222436 #: The foreground and background colors. -background_opacity 0.90 +background_opacity 0.95 #: The opacity of the background. A number between zero and one, where #: one is opaque and zero is fully transparent. This will only work if @@ -1009,7 +1009,7 @@ background_opacity 0.90 #: this option when reloading the config will only work if #: dynamic_background_opacity was enabled in the original config. -background_image ~/Pictures/Wallpapers/Best_of_the_best/ogbackground.png +#background_image ~/Pictures/Wallpapers/ogbackground.png #: Path to a background image. Must be in PNG format. @@ -1023,7 +1023,7 @@ background_image_layout scaled #: When background image is scaled, whether linear interpolation #: should be used. -# dynamic_background_opacity yes + #dynamic_background_opacity yes #: Allow changing of the background_opacity dynamically, using either #: keyboard shortcuts (increase_background_opacity and @@ -1504,7 +1504,7 @@ wayland_titlebar_color #2e2f3d #: configuration will change this value only for newly created OS #: windows. -linux_display_server X11 +#linux_display_server x11 #: Choose between Wayland and X11 backends. By default, an appropriate #: backend based on the system state is chosen automatically. Set it diff --git a/configs/dotfiles/nvim/lazy-lock.json b/configs/dotfiles/nvim/lazy-lock.json index 534d9a2..e31d334 100644 --- a/configs/dotfiles/nvim/lazy-lock.json +++ b/configs/dotfiles/nvim/lazy-lock.json @@ -1,40 +1,48 @@ { - "LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" }, + "LuaSnip": { "branch": "master", "commit": "c1851d5c519611dfc451b6582961b2602e0af89b" }, + "avante.nvim": { "branch": "main", "commit": "d4672b7e1ee8bf94df5e1d3482e81418187f42aa" }, "barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" }, "cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, - "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, - "image.nvim": { "branch": "master", "commit": "b991fc7f845bc6ab40c6ec00b39750dcd5190010" }, - "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" }, + "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "fzf-lua": { "branch": "main", "commit": "5af306b30f699513669efdf51cf50a6deab53968" }, + "gitsigns.nvim": { "branch": "main", "commit": "e399f9748d7cfd8859747c8d6c4e9c8b4d50a1bd" }, + "golf": { "branch": "main", "commit": "abf1bc0c1c4a5482b4a4b36b950b49aaa0f39e69" }, + "image.nvim": { "branch": "master", "commit": "4c51d6202628b3b51e368152c053c3fb5c5f76f2" }, + "img-clip.nvim": { "branch": "main", "commit": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "leetcode.nvim": { "branch": "master", "commit": "db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951" }, - "lsp-zero.nvim": { "branch": "v3.x", "commit": "ab2a3413646fedd77aa0eab4214a6473e62f6a64" }, - "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" }, - "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" }, - "nerdcommenter": { "branch": "master", "commit": "66c07e4083ab02ed2540ac289cc602c70b858c13" }, - "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, - "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, - "nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" }, - "nvim-lspconfig": { "branch": "master", "commit": "ff2b85abaa810f6611233dbe6d31c07510ebf43d" }, - "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, - "nvim-treesitter": { "branch": "master", "commit": "17678b00fa5c2712890a0ec2e269d0a4de1207df" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0" }, - "nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" }, - "nvim-web-devicons": { "branch": "master", "commit": "63f552a7f59badc6e6b6d22e603150f0d5abebb7" }, - "nvim-window-picker": { "branch": "main", "commit": "41cfaa428577c53552200a404ae9b3a0b5719706" }, + "lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" }, + "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, + "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" }, + "mason.nvim": { "branch": "main", "commit": "888d6ee499d8089a3a4be4309d239d6be1c1e6c0" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" }, + "nerdcommenter": { "branch": "master", "commit": "02a3b6455fa07b61b9440a78732f1e9b7876c991" }, + "nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" }, + "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, + "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" }, + "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" }, + "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, + "nvim-treesitter-context": { "branch": "master", "commit": "5c48b8ba1b0b7b25feb6e34e7eb293ea893aedc4" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, + "nvim-web-devicons": { "branch": "master", "commit": "d360317f8f509b99229bb31d42269987696df6ff" }, + "nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, - "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, - "refactoring.nvim": { "branch": "master", "commit": "2db6d378e873de31d18ade549c2edba64ff1c2e3" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "refactoring.nvim": { "branch": "master", "commit": "2be7ea3f10b7e59658f5abf6dffc50b5d61964d6" }, + "render-markdown.nvim": { "branch": "main", "commit": "a1b0988f5ab26698afb56b9c2f0525a4de1195c1" }, + "rest.nvim": { "branch": "main", "commit": "2ded89dbda1fd3c1430685ffadf2df8beb28336d" }, "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" }, "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, - "tokyonight.nvim": { "branch": "main", "commit": "45d22cf0e1b93476d3b6d362d720412b3d34465c" }, - "trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" }, - "undotree": { "branch": "master", "commit": "78b5241191852ffa9bb5da5ff2ee033160798c3b" }, - "vim-fugitive": { "branch": "master", "commit": "fcb4db52e7f65b95705aa58f0f2df1312c1f2df2" } + "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, + "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, + "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, + "vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" } } diff --git a/configs/dotfiles/nvim/lua/gib_nvim/avante.lua b/configs/dotfiles/nvim/lua/gib_nvim/avante.lua new file mode 100644 index 0000000..8e64359 --- /dev/null +++ b/configs/dotfiles/nvim/lua/gib_nvim/avante.lua @@ -0,0 +1,126 @@ +require('avante').setup({ + --provider = "openai", + --openai = { + --endpoint = "https://api.openai.com/v1", + --model = "gpt-4o", -- your desired model (or use gpt-4o, etc.) + --timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models + --temperature = 0, + --max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models) + ----reasoning_effort = "medium", -- low|medium|high, only used for reasoning models + --}, + provider = "claude", + mode = "agentic", + auto_suggestions_provider = "claude", + claude = { + endpoint = "https://api.anthropic.com", + model = "claude-3-7-sonnet-latest", + temperature = 0, + max_tokens = 4096, + }, + dual_boost = { + enabled = false, + --first_provider = "openai", + --second_provider = "claude", + --prompt = "Based on the two reference outputs below, generate a response that incorporates elements from both but reflects your own judgment and unique perspective. Do not provide any explanation, just give the response directly. Reference Output 1: [{{provider1_output}}], Reference Output 2: [{{provider2_output}}]", + --timeout = 60000, -- in milliseconds + }, + behaviour = { + --auto_suggestions = false, + --auto_set_highlight_group = true, + --auto_set_keymaps = true, + --auto_apply_diff_after_generation = false, + --support_paste_from_clipboard = false, + --minimize_diff = true, -- Whether to remove unchanged lines when applying a code block + --enable_token_counting = true, -- Whether to enable token counting. Default to true. + }, + mappings = { + --- @class AvanteConflictMappings + diff = { + ours = "co", + theirs = "ct", + all_theirs = "ca", + both = "cb", + cursor = "cc", + next = "]x", + prev = "[x", + }, + suggestion = { + accept = "", + next = "", + prev = "", + dismiss = "", + }, + jump = { + next = "]]", + prev = "[[", + }, + submit = { + normal = "", + insert = "", + }, + cancel = { + normal = { "", "", "q" }, + insert = { "" }, + }, + sidebar = { + apply_all = "A", + apply_cursor = "a", + retry_user_request = "r", + edit_user_request = "e", + switch_windows = "", + reverse_switch_windows = "", + remove_file = "d", + add_file = "@", + close = { "", "q" }, + close_from_input = nil, -- e.g., { normal = "", insert = "" } + }, + }, + hints = { enabled = true }, + windows = { + ---@type "right" | "left" | "top" | "bottom" + position = "right", -- the position of the sidebar + wrap = true, -- similar to vim.o.wrap + width = 30, -- default % based on available width + sidebar_header = { + enabled = true, -- true, false to enable/disable the header + align = "center", -- left, center, right for title + rounded = true, + }, + input = { + prefix = "> ", + height = 8, -- Height of the input window in vertical layout + }, + edit = { + border = "rounded", + start_insert = true, -- Start insert mode when opening the edit window + }, + ask = { + floating = false, -- Open the 'AvanteAsk' prompt in a floating window + start_insert = true, -- Start insert mode when opening the ask window + border = "rounded", + ---@type "ours" | "theirs" + focus_on_apply = "ours", -- which diff to focus after applying + }, + }, + highlights = { + ---@type AvanteConflictHighlights + diff = { + current = "DiffText", + incoming = "DiffAdd", + }, + }, + --- @class AvanteConflictUserConfig + diff = { + autojump = true, + ---@type string | fun(): any + list_opener = "copen", + --- Override the 'timeoutlen' setting while hovering over a diff (see :help timeoutlen). + --- Helps to avoid entering operator-pending mode with diff mappings starting with `c`. + --- Disable by setting to -1. + override_timeoutlen = 500, + }, + suggestion = { + debounce = 600, + throttle = 600, + }, +}) diff --git a/configs/dotfiles/nvim/lua/gib_nvim/image.lua b/configs/dotfiles/nvim/lua/gib_nvim/image.lua new file mode 100644 index 0000000..692d7d6 --- /dev/null +++ b/configs/dotfiles/nvim/lua/gib_nvim/image.lua @@ -0,0 +1,24 @@ +require('image').setup({ + backend = "kitty", + integrations = { + markdown = { + enabled = true, + clear_in_insert_mode = false, + download_remote_images = true, + only_render_image_at_cursor = false, + filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here + }, + neorg = { + enabled = true, + clear_in_insert_mode = false, + download_remote_images = true, + only_render_image_at_cursor = false, + filetypes = { "norg" }, + }, + }, + max_width = nil, + max_height = nil, + max_width_window_percentage = nil, + max_height_window_percentage = 50, + kitty_method = "normal", +}) diff --git a/configs/dotfiles/nvim/lua/gib_nvim/init.lua b/configs/dotfiles/nvim/lua/gib_nvim/init.lua index 07f19d7..cbdc02f 100644 --- a/configs/dotfiles/nvim/lua/gib_nvim/init.lua +++ b/configs/dotfiles/nvim/lua/gib_nvim/init.lua @@ -11,6 +11,7 @@ require("gib_nvim.nerdcomments") require("gib_nvim.refactoring") require("gib_nvim.telescope") require("gib_nvim.treesitter") -require("gib_nvim.trouble") require("gib_nvim.undotree") require("gib_nvim.barbar") +require("gib_nvim.avante") +require("gib_nvim.image") diff --git a/configs/dotfiles/nvim/lua/gib_nvim/lazy.lua b/configs/dotfiles/nvim/lua/gib_nvim/lazy.lua index bd3f2fc..88a79b2 100644 --- a/configs/dotfiles/nvim/lua/gib_nvim/lazy.lua +++ b/configs/dotfiles/nvim/lua/gib_nvim/lazy.lua @@ -21,8 +21,44 @@ require("lazy").setup({ priority = 1000, }, { - 'folke/trouble.nvim', dependencies = - { 'nvim-tree/nvim-web-devicons' } + "folke/trouble.nvim", + dependencies = { + "nvim-tree/nvim-web-devicons", + }, + opts = {}, -- for default options, refer to the configuration section for custom setup. + cmd = "Trouble", + keys = { + { + "xx", + "Trouble diagnostics toggle", + desc = "Diagnostics (Trouble)", + }, + { + "xX", + "Trouble diagnostics toggle filter.buf=0", + desc = "Buffer Diagnostics (Trouble)", + }, + { + "cs", + "Trouble symbols toggle focus=false", + desc = "Symbols (Trouble)", + }, + { + "cl", + "Trouble lsp toggle focus=false win.position=right", + desc = "LSP Definitions / references / ... (Trouble)", + }, + { + "xL", + "Trouble loclist toggle", + desc = "Location List (Trouble)", + }, + { + "xQ", + "Trouble qflist toggle", + desc = "Quickfix List (Trouble)", + }, + }, }, { 'nvim-treesitter/nvim-treesitter', @@ -58,6 +94,7 @@ require("lazy").setup({ {'hrsh7th/cmp-path'}, {'hrsh7th/cmp-buffer'}, {'hrsh7th/cmp-nvim-lua'}, + {'onsails/lspkind.nvim'}, {'L3MON4D3/LuaSnip'}, {'saadparwaiz1/cmp_luasnip'}, {'rafamadriz/friendly-snippets'}, @@ -70,7 +107,7 @@ require("lazy").setup({ clear_suggestion = '', accept_word = '', }, - disable_inline_completion = false, -- for cmp + disable_inline_completion = true, -- for cmp }) end, }, @@ -112,23 +149,6 @@ require("lazy").setup({ end, }, }, - config = function() - require('neo-tree').setup({ - close_if_last_window = true, - popup_border_style = "rounded", - enable_git_status = true, - enable_diagnostics = true, - default_component_configs = { - container = { - enable_character_fade = true - }, - indent = { - indent_size = 2, - padding = 1, - } - } - }) - end, }, { 'romgrk/barbar.nvim', dependencies = { @@ -177,29 +197,56 @@ require("lazy").setup({ dependencies = { "nvim-treesitter/nvim-treesitter", }, - opts = { - backend = "kitty", - integrations = { - markdown = { - enabled = true, - clear_in_insert_mode = false, - download_remote_images = true, - only_render_image_at_cursor = false, - filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here - }, - neorg = { - enabled = true, - clear_in_insert_mode = false, - download_remote_images = true, - only_render_image_at_cursor = false, - filetypes = { "norg" }, + }, + { + "rest-nvim/rest.nvim", + dependencies = { + "nvim-treesitter/nvim-treesitter", + opts = function (_, opts) + opts.ensure_installed = opts.ensure_installed or {} + table.insert(opts.ensure_installed, "http") + end, + } + }, + { + "yetone/avante.nvim", + event = "VeryLazy", + version = false, -- Never set this value to "*"! Never! + build = "make", -- or `make BUILD_FROM_SOURCE=true` + -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows + dependencies = { + "nvim-treesitter/nvim-treesitter", + "stevearc/dressing.nvim", + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + --- The below dependencies are optional, + "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions + "ibhagwan/fzf-lua", -- for file_selector provider fzf + "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons + { + -- support for image pasting + "HakonHarnes/img-clip.nvim", + event = "VeryLazy", + opts = { + -- recommended settings + default = { + embed_image_as_base64 = false, + prompt_for_file_name = false, + drag_and_drop = { + insert_mode = true, + }, + }, }, }, - max_width = nil, - max_height = nil, - max_width_window_percentage = nil, - max_height_window_percentage = 50, - kitty_method = "normal", + { + -- Make sure to set this up properly if you have lazy=true + 'MeanderingProgrammer/render-markdown.nvim', + opts = { + file_types = { "markdown", "Avante" }, + }, + ft = { "markdown", "Avante" }, + }, }, }, + { 'vuciv/golf' }, }) diff --git a/configs/dotfiles/nvim/lua/gib_nvim/lsp.lua b/configs/dotfiles/nvim/lua/gib_nvim/lsp.lua index 4cc125b..9f115bd 100644 --- a/configs/dotfiles/nvim/lua/gib_nvim/lsp.lua +++ b/configs/dotfiles/nvim/lua/gib_nvim/lsp.lua @@ -1,4 +1,5 @@ local lsp = require('lsp-zero') +local lspkind = require('lspkind') lsp.preset('recommended') @@ -29,8 +30,6 @@ require('mason').setup({ require('mason-lspconfig').setup({ ensure_installed = { 'bashls', - 'cssls', - 'cssmodules_ls', 'docker_compose_language_service', 'dockerls', 'eslint', @@ -40,7 +39,6 @@ require('mason-lspconfig').setup({ 'pyright', 'rust_analyzer', 'sqlls', - 'svelte', 'tailwindcss', 'yamlls', }, @@ -63,20 +61,63 @@ cmp.setup({ end, }, sources = { - --{name = 'supermaven'}, + {name = 'supermaven'}, {name = 'path'}, {name = 'nvim_lsp'}, {name = 'nvim_lua'}, {name = 'luasnip', keyword_length = 2}, {name = 'buffer', keyword_length = 3}, }, - formatting = lsp.cmp_format(), + formatting = { + format = lspkind.cmp_format({ + mode = 'symbol', + maxwidth = { + menu = 50, + abbr = 50, + }, + symbol_map = { + Supermaven = "", + }, + ellipsis_char = '...', + show_labelDetails = true, + before = function (entry, vim_item) + -- ... + return vim_item + end + }) + }, mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.select_prev_item(cmp_select), - [''] = cmp.mapping.select_next_item(cmp_select), + -- Tab to select the next item + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + if cmp.get_selected_entry() then + cmp.confirm({select = false}) + else + cmp.select_next_item() + end + else + fallback() + end + end, { 'i', 's' }), + [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.scroll_docs(-4), }), + preselect = cmp.PreselectMode.Item, + completion = { + completeopt = 'menu,menuone,noinsert', + } + --mapping = cmp.mapping.preset.insert({ + --[''] = cmp.mapping.select_prev_item(cmp_select), + --[''] = cmp.mapping.select_next_item(cmp_select), + --[''] = cmp.mapping.confirm({ select = true }), + --[''] = cmp.mapping.complete(), + --}), }) lsp.setup() diff --git a/configs/dotfiles/nvim/lua/gib_nvim/neotree.lua b/configs/dotfiles/nvim/lua/gib_nvim/neotree.lua index 387bce3..5308d9b 100644 --- a/configs/dotfiles/nvim/lua/gib_nvim/neotree.lua +++ b/configs/dotfiles/nvim/lua/gib_nvim/neotree.lua @@ -196,6 +196,30 @@ require("neo-tree").setup({ -- window like netrw would, regardless of window.position -- "disabled", -- netrw left alone, neo-tree does not handle opening dirs use_libuv_file_watcher = false, -- This will use the OS level file watchers to detect changes + + commands = { + avante_add_files = function(state) + local node = state.tree:get_node() + local filepath = node:get_id() + local relative_path = require('avante.utils').relative_path(filepath) + + local sidebar = require('avante').get() + + local open = sidebar:is_open() + -- ensure avante sidebar is open + if not open then + require('avante.api').ask() + sidebar = require('avante').get() + end + + sidebar.file_selector:add_selected_file(relative_path) + + -- remove neo tree buffer + if not open then + sidebar.file_selector:remove_selected_file('neo-tree filesystem [1]') + end + end, + }, -- instead of relying on nvim autocmd events. window = { mappings = { @@ -211,6 +235,7 @@ require("neo-tree").setup({ ["[g"] = "prev_git_modified", ["]g"] = "next_git_modified", ["o"] = { "show_help", nowait=false, config = { title = "Order by", prefix_key = "o" }}, + ['oa'] = 'avante_add_files', ["oc"] = { "order_by_created", nowait = false }, ["od"] = { "order_by_diagnostics", nowait = false }, ["og"] = { "order_by_git_status", nowait = false }, @@ -227,7 +252,6 @@ require("neo-tree").setup({ }, }, - commands = {} -- Add a custom command or override a global one using the same function name }, buffers = { follow_current_file = { diff --git a/configs/dotfiles/nvim/lua/gib_nvim/set.lua b/configs/dotfiles/nvim/lua/gib_nvim/set.lua index 0d8a3f0..d0f92ba 100644 --- a/configs/dotfiles/nvim/lua/gib_nvim/set.lua +++ b/configs/dotfiles/nvim/lua/gib_nvim/set.lua @@ -25,6 +25,8 @@ vim.opt.signcolumn = "yes" vim.opt.isfname:append("@-@") vim.opt.updatetime = 50 +vim.cmd([[set list]]) +vim.cmd([[set listchars=trail:⋅]]) vim.opt.colorcolumn = "120" vim.o.background = "dark" -- or "light" for light mode diff --git a/configs/dotfiles/nvim/lua/gib_nvim/treesitter.lua b/configs/dotfiles/nvim/lua/gib_nvim/treesitter.lua index 088cbda..dfc3205 100644 --- a/configs/dotfiles/nvim/lua/gib_nvim/treesitter.lua +++ b/configs/dotfiles/nvim/lua/gib_nvim/treesitter.lua @@ -1,6 +1,38 @@ require'nvim-treesitter.configs'.setup { -- A list of parser names, or "all" - ensure_installed = { "bash", "c", "c_sharp", "cmake", "cpp", "css", "dockerfile", "git_config", "git_rebase", "gitattributes", "gitcommit", "gitignore", "haskell", "html", "java", "javascript", "jq", "json", "kotlin", "lua", "make", "matlab", "php", "python", "rust", "scala", "sql", "svelte", "swift", "typescript", "vimdoc", "yaml", "zig" }, + ensure_installed = { + "bash", + "c", + "cmake", + "cpp", + "css", + "dockerfile", + "git_config", + "git_rebase", + "gitattributes", + "gitcommit", + "gitignore", + "haskell", + "html", + "java", + "javascript", + "json", + "kotlin", + "lua", + "make", + "php", + "python", + "rust", + "scala", + "sql", + "svelte", + "swift", + "tsx", + "typescript", + "vimdoc", + "yaml", + "zig" + }, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, @@ -9,14 +41,24 @@ require'nvim-treesitter.configs'.setup { -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally auto_install = true, - highlight = { - -- `false` will disable the whole extension - enable = true, + + highlight = { + enable = true, + disable = function(lang, buf) + local max_filesize = 80 * 1024 -- 80 KB + if lang == "tsx" then + local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + if ok and stats and stats.size > max_filesize then + return true + end + end + end, -- Setting this to true will run `:h syntax` and tree-sitter at the same time. -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). -- Using this option may slow down your editor, and you may see some duplicate highlights. -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, + --additional_vim_regex_highlighting = true, + additional_vim_regex_highlighting = {"tsx"}, }, } diff --git a/configs/dotfiles/powerline/colors.json b/configs/dotfiles/powerline/colors.json deleted file mode 100644 index 8c655e0..0000000 --- a/configs/dotfiles/powerline/colors.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "colors": { - "black": 16, - "black2": 18, - "white": 231, - - "green": 2, - "darkestgreen": 22, - "darkgreen": 28, - "mediumgreen": 70, - "brightgreen": 148, - - "darkestcyan": 23, - "darkcyan": 75, - "mediumcyan": 117, - "brightcyan": 159, - - "goodblue": 12, - "darkestblue": 24, - "darkblue": 31, - - "red": 1, - "darkestred": 52, - "darkred": 88, - "mediumred": 124, - "brightred": 160, - "brightestred": 196, - - "darkestpurple": 55, - "mediumpurple": 98, - "brightpurple": 189, - - "darkorange": 67, - "mediumorange": 67, - "brightorange": 67, - "brightestorange": 67, - "darkornge": 94, - "mediumornge": 166, - "brightornge": 208, - "brightestornge": 214, - - - "yellow": 11, - "brightyellow": 189, - - "goodgray": 8, - "gray0": 233, - "gray1": 235, - "gray2": 236, - "gray3": 238, - "gray4": 240, - "gray5": 241, - "gray6": 244, - "gray7": 245, - "gray8": 247, - "gray9": 250, - "gray10": 252, - - "gray11": 234, - "gray90": 254, - - "gray70": [249, "b3b3b3"], - - "lightyellowgreen": 106, - "gold3": 178, - "orangered": 202, - - "steelblue": 67, - "darkorange3": 166, - "skyblue1": 117, - "khaki1": 228, - - "solarized:base03": [8, "002b36"], - "solarized:base02": [0, "073642"], - "solarized:base01": [10, "586e75"], - "solarized:base00": [11, "657b83"], - "solarized:base0": [12, "839496"], - "solarized:base1": [14, "93a1a1"], - "solarized:base2": [7, "eee8d5"], - "solarized:base3": [15, "fdf6e3"], - "solarized:yellow": [3, "b58900"], - "solarized:orange": [9, "cb4b16"], - "solarized:red": [1, "dc322f"], - "solarized:magenta": [5, "d33682"], - "solarized:violet": [13, "6c71c4"], - "solarized:blue": [4, "268bd2"], - "solarized:cyan": [6, "2aa198"], - "solarized:green": [2, "859900"] - }, - "gradients": { - "dark_GREEN_Orange_red": [ - [22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 94, 94, 94, 94, 94, 94, 94, 88, 52], - ["006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "036000", "076000", "0a6000", "0d6000", "106000", "126000", "146000", "166000", "186000", "1a6000", "1b6000", "1d6000", "1e6000", "206000", "216000", "236000", "246000", "256000", "266000", "286000", "296000", "2a6000", "2b6000", "2c6100", "2d6100", "2f6100", "306100", "316100", "326100", "336100", "346100", "356100", "366100", "376100", "386100", "386100", "396100", "3a6100", "3b6100", "3c6100", "3d6100", "3e6100", "3f6100", "406100", "406100", "416100", "426000", "436000", "446000", "456000", "456000", "466000", "476000", "486000", "496000", "496000", "4a6000", "4b6000", "4c6000", "4d6000", "4d6000", "4e6000", "4f6000", "506000", "506000", "516000", "526000", "536000", "536000", "546000", "556000", "566000", "566000", "576000", "586000", "596000", "596000", "5a6000", "5d6000", "616000", "646000", "686000", "6b6000", "6f6000", "726000", "766000", "796000", "7d6000", "806000", "7e5500", "6f3105", "5d0001"] - ], - "GREEN_Orange_red": [ - [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1], - ["005f00", "015f00", "025f00", "035f00", "045f00", "055f00", "065f00", "075f00", "085f00", "095f00", "0b5f00", "0c5f00", "0d5f00", "0e5f00", "0f5f00", "105f00", "115f00", "125f00", "135f00", "145f00", "165f00", "175f00", "185f00", "195f00", "1a5f00", "1b5f00", "1c5f00", "1d5f00", "1e5f00", "1f5f00", "215f00", "225f00", "235f00", "245f00", "255f00", "265f00", "275f00", "285f00", "295f00", "2a5f00", "2c5f00", "2d5f00", "2e5f00", "2f5f00", "305f00", "315f00", "325f00", "335f00", "345f00", "355f00", "375f00", "385f00", "395f00", "3a5f00", "3b5f00", "3c5f00", "3d5f00", "3e5f00", "3f5f00", "415f00", "425f00", "435f00", "445f00", "455f00", "465f00", "475f00", "485f00", "495f00", "4a5f00", "4c5f00", "4d5f00", "4e5f00", "4f5f00", "505f00", "515f00", "525f00", "535f00", "545f00", "555f00", "575f00", "585f00", "595f00", "5a5f00", "5b5f00", "5c5f00", "5d5f00", "5e5f00", "615f00", "655f00", "685f00", "6c5f00", "6f5f00", "735f00", "765f00", "7a5f00", "7d5f00", "815f00", "845f00", "815200", "702900"] - ], - "green_yellow_red": [ - [190, 184, 178, 172, 166, 160], - ["8ae71c", "8ce71c", "8fe71c", "92e71c", "95e71d", "98e71d", "9ae71d", "9de71d", "a0e71e", "a3e71e", "a6e71e", "a8e71e", "abe71f", "aee71f", "b1e71f", "b4e71f", "b6e720", "b9e720", "bce720", "bfe720", "c2e821", "c3e721", "c5e621", "c7e521", "c9e522", "cbe422", "cde322", "cfe222", "d1e223", "d3e123", "d5e023", "d7df23", "d9df24", "dbde24", "dddd24", "dfdc24", "e1dc25", "e3db25", "e5da25", "e7d925", "e9d926", "e9d626", "e9d426", "e9d126", "e9cf27", "e9cc27", "e9ca27", "e9c727", "e9c528", "e9c228", "e9c028", "e9bd28", "e9bb29", "e9b829", "e9b629", "e9b329", "e9b12a", "e9ae2a", "e9ac2a", "e9a92a", "eaa72b", "eaa42b", "eaa22b", "ea9f2b", "ea9d2c", "ea9b2c", "ea982c", "ea962c", "ea942d", "ea912d", "ea8f2d", "ea8d2d", "ea8a2e", "ea882e", "ea862e", "ea832e", "ea812f", "ea7f2f", "ea7c2f", "ea7a2f", "eb7830", "eb7530", "eb7330", "eb7130", "eb6f31", "eb6c31", "eb6a31", "eb6831", "eb6632", "eb6332", "eb6132", "eb5f32", "eb5d33", "eb5a33", "eb5833", "eb5633", "eb5434", "eb5134", "eb4f34", "eb4d34", "ec4b35"] - ], - "green_yellow_orange_red": [ - [2, 3, 9, 1], - ["719e07", "739d06", "759c06", "779c06", "799b06", "7b9a05", "7d9a05", "7f9905", "819805", "839805", "859704", "879704", "899604", "8b9504", "8d9504", "8f9403", "919303", "949303", "969203", "989102", "9a9102", "9c9002", "9e9002", "a08f02", "a28e01", "a48e01", "a68d01", "a88c01", "aa8c01", "ac8b00", "ae8a00", "b08a00", "b28900", "b58900", "b58700", "b68501", "b78302", "b78102", "b87f03", "b97d04", "b97b04", "ba7905", "bb7806", "bb7606", "bc7407", "bd7208", "bd7008", "be6e09", "bf6c0a", "bf6a0a", "c0690b", "c1670c", "c1650c", "c2630d", "c3610e", "c35f0e", "c45d0f", "c55b10", "c55a10", "c65811", "c75612", "c75412", "c85213", "c95014", "c94e14", "ca4c15", "cb4b16", "cb4a16", "cc4917", "cc4818", "cd4719", "cd4719", "ce461a", "ce451b", "cf441c", "cf441c", "d0431d", "d0421e", "d1411f", "d1411f", "d24020", "d23f21", "d33e22", "d33e22", "d43d23", "d43c24", "d53b25", "d53b25", "d63a26", "d63927", "d73828", "d73828", "d83729", "d8362a", "d9352b", "d9352b", "da342c", "da332d", "db322e", "dc322f"] - ], - "yellow_red": [ - [220, 178, 172, 166, 160], - ["ffd700", "fdd500", "fbd300", "fad200", "f8d000", "f7cf00", "f5cd00", "f3cb00", "f2ca00", "f0c800", "efc700", "edc500", "ebc300", "eac200", "e8c000", "e7bf00", "e5bd00", "e3bb00", "e2ba00", "e0b800", "dfb700", "ddb500", "dbb300", "dab200", "d8b000", "d7af00", "d7ad00", "d7ab00", "d7aa00", "d7a800", "d7a700", "d7a500", "d7a300", "d7a200", "d7a000", "d79f00", "d79d00", "d79b00", "d79a00", "d79800", "d79700", "d79500", "d79300", "d79200", "d79000", "d78f00", "d78d00", "d78b00", "d78a00", "d78800", "d78700", "d78500", "d78300", "d78200", "d78000", "d77f00", "d77d00", "d77b00", "d77a00", "d77800", "d77700", "d77500", "d77300", "d77200", "d77000", "d76f00", "d76d00", "d76b00", "d76a00", "d76800", "d76700", "d76500", "d76300", "d76200", "d76000", "d75f00", "d75b00", "d75700", "d75300", "d74f00", "d74c00", "d74800", "d74400", "d74000", "d73c00", "d73900", "d73500", "d73100", "d72d00", "d72900", "d72600", "d72200", "d71e00", "d71a00", "d71600", "d71300", "d70f00", "d70b00", "d70700"] - ], - "yellow_orange_red": [ - [3, 9, 1], - ["b58900", "b58700", "b58600", "b68501", "b68401", "b78202", "b78102", "b88003", "b87f03", "b87d03", "b97c04", "b97b04", "ba7a05", "ba7805", "bb7706", "bb7606", "bc7507", "bc7307", "bc7207", "bd7108", "bd7008", "be6e09", "be6d09", "bf6c0a", "bf6b0a", "c06a0b", "c0680b", "c0670b", "c1660c", "c1650c", "c2630d", "c2620d", "c3610e", "c3600e", "c35e0e", "c45d0f", "c45c0f", "c55b10", "c55910", "c65811", "c65711", "c75612", "c75412", "c75312", "c85213", "c85113", "c94f14", "c94e14", "ca4d15", "ca4c15", "cb4b16", "cb4a16", "cb4a17", "cc4917", "cc4918", "cc4818", "cd4819", "cd4719", "cd471a", "ce461a", "ce461b", "ce451b", "cf451c", "cf441c", "cf441d", "d0431d", "d0431e", "d0421e", "d1421f", "d1411f", "d14120", "d24020", "d24021", "d23f21", "d33f22", "d33e22", "d33e23", "d43d23", "d43d24", "d43c24", "d53c25", "d53b25", "d53b26", "d63a26", "d63a27", "d63927", "d73928", "d73828", "d73829", "d83729", "d8372a", "d8362a", "d9362b", "d9352b", "d9352c", "da342c", "da342d", "da332d", "db332e"] - ], - "blue_red": [ - [39, 74, 68, 67, 103, 97, 96, 132, 131, 167, 203, 197], - ["19b4fe", "1bb2fc", "1db1fa", "1faff8", "22aef6", "24adf4", "26abf2", "29aaf0", "2ba9ee", "2da7ec", "30a6ea", "32a5e8", "34a3e6", "36a2e4", "39a0e2", "3b9fe1", "3d9edf", "409cdd", "429bdb", "449ad9", "4798d7", "4997d5", "4b96d3", "4d94d1", "5093cf", "5292cd", "5490cb", "578fc9", "598dc7", "5b8cc6", "5e8bc4", "6089c2", "6288c0", "6487be", "6785bc", "6984ba", "6b83b8", "6e81b6", "7080b4", "727eb2", "757db0", "777cae", "797aac", "7b79ab", "7e78a9", "8076a7", "8275a5", "8574a3", "8772a1", "89719f", "8c709d", "8e6e9b", "906d99", "926b97", "956a95", "976993", "996791", "9c668f", "9e658e", "a0638c", "a3628a", "a56188", "a75f86", "a95e84", "ac5c82", "ae5b80", "b05a7e", "b3587c", "b5577a", "b75678", "ba5476", "bc5374", "be5273", "c05071", "c34f6f", "c54e6d", "c74c6b", "ca4b69", "cc4967", "ce4865", "d14763", "d34561", "d5445f", "d7435d", "da415b", "dc4059", "de3f58", "e13d56", "e33c54", "e53a52", "e83950", "ea384e", "ec364c", "ee354a", "f13448", "f33246", "f53144", "f83042", "fa2e40"] - ], - "white_red": [ - [231, 255, 223, 216, 209, 202, 196], - ["ffffff", "fefefe", "fdfdfd", "fdfdfd", "fcfcfc", "fbfbfb", "fafafa", "fafafa", "f9f9f9", "f8f8f8", "f7f7f7", "f7f7f7", "f6f6f6", "f5f5f5", "f4f4f4", "f4f3f4", "f3f3f3", "f2f2f2", "f1f1f1", "f0f0f0", "f0f0f0", "efefef", "eeeeee", "efecea", "f1eae4", "f2e8de", "f3e6d8", "f5e4d3", "f6e2cd", "f7e0c7", "f8dec2", "f9dcbc", "fadab6", "fad8b1", "fbd5ac", "fbd2a9", "fbcea5", "fbcaa1", "fbc79e", "fbc39a", "fbc097", "fbbc93", "fbb88f", "fbb58c", "fab188", "faad85", "faaa81", "fba67e", "fba37a", "fb9f76", "fb9c73", "fb986f", "fb946c", "fb9168", "fa8d65", "fa8961", "fa865c", "fa8256", "fb7f4f", "fb7b48", "fb7841", "fb743a", "fb7133", "fb6d2c", "fa6a23", "fa661a", "fa620e", "fa5f03", "fa5d03", "fa5b03", "fa5a03", "fa5803", "fa5703", "fa5503", "fa5303", "fa5103", "fa4f03", "fa4e03", "fa4c03", "fa4a04", "fa4804", "fa4604", "fa4404", "fa4204", "fa3f04", "fa3d04", "fa3b04", "fa3805", "fa3605", "fa3305", "fb3105", "fb2e05", "fb2a05", "fb2705", "fb2306", "fb1f06", "fb1b06", "fb1506", "fb0e06", "fa0506", "fa0007"] - ], - "dark_green_gray": [ - [70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247], - ["51b000", "52b000", "54b000", "55b002", "56b007", "57b00d", "58b011", "59af15", "5aaf18", "5caf1b", "5daf1e", "5eaf21", "5faf23", "60ae25", "61ae27", "62ae2a", "63ae2c", "64ae2e", "65ae30", "66ae31", "67ad33", "68ad35", "69ad37", "69ad38", "6aad3a", "6bad3c", "6cac3d", "6dac3f", "6eac40", "6fac42", "70ac44", "70ac45", "71ab47", "72ab48", "73ab49", "74ab4b", "75ab4c", "75ab4e", "76aa4f", "77aa51", "78aa52", "79aa53", "79aa55", "7aaa56", "7ba957", "7ca959", "7ca95a", "7da95b", "7ea95d", "7fa95e", "7fa85f", "80a861", "81a862", "81a863", "82a865", "83a766", "83a767", "84a768", "85a76a", "85a76b", "86a66c", "87a66d", "87a66f", "88a670", "89a671", "89a672", "8aa574", "8ba575", "8ba576", "8ca577", "8da579", "8da47a", "8ea47b", "8ea47c", "8fa47d", "90a47f", "90a380", "91a381", "91a382", "92a384", "93a385", "93a286", "94a287", "94a288", "95a28a", "95a18b", "96a18c", "97a18d", "97a18e", "98a190", "98a091", "99a092", "99a093", "9aa094", "9aa096", "9b9f97", "9b9f98", "9c9f99", "9c9f9a", "9d9e9c", "9d9e9d"] - ], - "light_green_gray": [ - [148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250], - ["a3d900", "a4d800", "a4d800", "a5d805", "a5d80d", "a6d714", "a6d719", "a6d71d", "a7d621", "a7d625", "a8d628", "a8d62b", "a8d52e", "a9d531", "a9d533", "aad536", "aad438", "aad43a", "abd43d", "abd33f", "abd341", "acd343", "acd345", "acd247", "add249", "add24b", "add14d", "aed14f", "aed151", "aed152", "afd054", "afd056", "afd058", "b0d059", "b0cf5b", "b0cf5d", "b1cf5e", "b1ce60", "b1ce62", "b1ce63", "b2ce65", "b2cd67", "b2cd68", "b3cd6a", "b3cc6b", "b3cc6d", "b3cc6e", "b4cc70", "b4cb71", "b4cb73", "b4cb75", "b5ca76", "b5ca78", "b5ca79", "b5ca7a", "b6c97c", "b6c97d", "b6c97f", "b6c880", "b6c882", "b7c883", "b7c885", "b7c786", "b7c788", "b7c789", "b8c68a", "b8c68c", "b8c68d", "b8c68f", "b8c590", "b9c591", "b9c593", "b9c494", "b9c496", "b9c497", "b9c498", "bac39a", "bac39b", "bac39d", "bac29e", "bac29f", "bac2a1", "bac2a2", "bac1a4", "bbc1a5", "bbc1a6", "bbc0a8", "bbc0a9", "bbc0aa", "bbc0ac", "bbbfad", "bbbfae", "bbbfb0", "bbbeb1", "bcbeb3", "bcbeb4", "bcbdb5", "bcbdb7", "bcbdb8", "bcbdb9", "bcbcbb"] - ] - } -} diff --git a/configs/dotfiles/powerline/colorschemes/default.json b/configs/dotfiles/powerline/colorschemes/default.json deleted file mode 100644 index 3db0ffa..0000000 --- a/configs/dotfiles/powerline/colorschemes/default.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "Default", - "groups": { - "information:additional": { "fg": "goodblue", "bg": "goodgray", "attrs": [] }, - "information:regular": { "fg": "goodblue", "bg": "goodgray", "attrs": ["bold"] }, - "information:highlighted": { "fg": "white", "bg": "gray4", "attrs": [] }, - "information:priority": { "fg": "brightpurple", "bg": "steelblue", "attrs": [] }, - "warning:regular": { "fg": "white", "bg": "brightred", "attrs": ["bold"] }, - "critical:failure": { "fg": "white", "bg": "darkestred", "attrs": [] }, - "critical:success": { "fg": "white", "bg": "darkestgreen", "attrs": [] }, - "background": { "fg": "white", "bg": "gray0", "attrs": [] }, - "background:divider": { "fg": "gray5", "bg": "gray0", "attrs": [] }, - "session": { "fg": "black", "bg": "gray10", "attrs": ["bold"] }, - "date": { "fg": "gray8", "bg": "gray2", "attrs": [] }, - "time": { "fg": "gray10", "bg": "gray2", "attrs": ["bold"] }, - "time:divider": { "fg": "gray5", "bg": "gray2", "attrs": [] }, - "email_alert": "warning:regular", - "email_alert_gradient": { "fg": "white", "bg": "yellow_orange_red", "attrs": ["bold"] }, - "hostname": { "fg": "black", "bg": "gray10", "attrs": ["bold"] }, - "weather": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "weather_temp_gradient": { "fg": "blue_red", "bg": "gray0", "attrs": [] }, - "weather_condition_hot": { "fg": "khaki1", "bg": "gray0", "attrs": [] }, - "weather_condition_snowy": { "fg": "skyblue1", "bg": "gray0", "attrs": [] }, - "weather_condition_rainy": { "fg": "skyblue1", "bg": "gray0", "attrs": [] }, - "uptime": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "external_ip": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "internal_ip": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "network_load": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "network_load_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] }, - "network_load_sent_gradient": "network_load_gradient", - "network_load_recv_gradient": "network_load_gradient", - "network_load:divider": "background:divider", - "system_load": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "system_load_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] }, - "environment": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "cpu_load_percent": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "cpu_load_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] }, - "battery": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "battery_gradient": { "fg": "white_red", "bg": "gray0", "attrs": [] }, - "battery_full": { "fg": "red", "bg": "gray0", "attrs": [] }, - "battery_empty": { "fg": "white", "bg": "gray0", "attrs": [] }, - "player": { "fg": "gray10", "bg": "black", "attrs": [] }, - "user": { "fg": "gray1", "bg": "goodblue", "attrs": ["bold"] }, - "branch": { "fg": "gray9", "bg": "gray2", "attrs": [] }, - "branch_dirty": { "fg": "brightyellow", "bg": "gray2", "attrs": [] }, - "branch_clean": { "fg": "gray9", "bg": "gray2", "attrs": [] }, - "branch:divider": { "fg": "gray7", "bg": "gray2", "attrs": [] }, - "stash": "branch_dirty", - "stash:divider": "branch:divider", - "cwd": "information:additional", - "cwd:current_folder": "information:regular", - "cwd:divider": { "fg": "goodblue", "bg": "goodgray", "attrs": [] }, - "virtualenv": { "fg": "white", "bg": "darkcyan", "attrs": [] }, - "attached_clients": { "fg": "gray8", "bg": "gray0", "attrs": [] }, - "workspace": "information:regular" - } -} diff --git a/configs/dotfiles/powerline/colorschemes/ipython/__main__.json b/configs/dotfiles/powerline/colorschemes/ipython/__main__.json deleted file mode 100644 index 982ea35..0000000 --- a/configs/dotfiles/powerline/colorschemes/ipython/__main__.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "groups": { - "prompt": "information:additional", - "prompt_count": "information:highlighted" - } -} diff --git a/configs/dotfiles/powerline/colorschemes/pdb/__main__.json b/configs/dotfiles/powerline/colorschemes/pdb/__main__.json deleted file mode 100644 index 01a51fe..0000000 --- a/configs/dotfiles/powerline/colorschemes/pdb/__main__.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "groups": { - "current_code_name": "information:additional", - "current_context": "current_code_name", - "current_line": "information:regular", - "current_file": "information:regular" - } -} diff --git a/configs/dotfiles/powerline/colorschemes/pdb/default.json b/configs/dotfiles/powerline/colorschemes/pdb/default.json deleted file mode 100644 index b97acf7..0000000 --- a/configs/dotfiles/powerline/colorschemes/pdb/default.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "groups": { - "stack_depth": { "fg": "gray1", "bg": "gray10", "attrs": ["bold"] } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/pdb/solarized.json b/configs/dotfiles/powerline/colorschemes/pdb/solarized.json deleted file mode 100644 index 2e1c787..0000000 --- a/configs/dotfiles/powerline/colorschemes/pdb/solarized.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "groups": { - "stack_depth": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/shell/__main__.json b/configs/dotfiles/powerline/colorschemes/shell/__main__.json deleted file mode 100644 index 6e3856f..0000000 --- a/configs/dotfiles/powerline/colorschemes/shell/__main__.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "groups": { - "continuation": "cwd", - "continuation:current": "cwd:current_folder", - "exit_fail": "critical:failure", - "exit_success": "critical:success", - "jobnum": "information:priority", - "superuser": "warning:regular" - } -} diff --git a/configs/dotfiles/powerline/colorschemes/shell/default.json b/configs/dotfiles/powerline/colorschemes/shell/default.json deleted file mode 100644 index 1126feb..0000000 --- a/configs/dotfiles/powerline/colorschemes/shell/default.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Default color scheme for shell prompts", - "groups": { - "hostname": { "fg": "brightyellow", "bg": "mediumorange", "attrs": [] }, - "environment": { "fg": "white", "bg": "darkestgreen", "attrs": [] }, - "mode": { "fg": "darkestgreen", "bg": "brightgreen", "attrs": ["bold"] }, - "attached_clients": { "fg": "white", "bg": "darkestgreen", "attrs": [] } - }, - "mode_translations": { - "vicmd": { - "groups": { - "mode": {"fg": "darkestcyan", "bg": "white", "attrs": ["bold"]} - } - } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/shell/solarized.json b/configs/dotfiles/powerline/colorschemes/shell/solarized.json deleted file mode 100644 index 69dcab1..0000000 --- a/configs/dotfiles/powerline/colorschemes/shell/solarized.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "Solarized dark for shell", - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] } - }, - "mode_translations": { - "vicmd": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] } - } - } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/solarized.json b/configs/dotfiles/powerline/colorschemes/solarized.json deleted file mode 100644 index 7951f0b..0000000 --- a/configs/dotfiles/powerline/colorschemes/solarized.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "Solarized dark", - "groups": { - "information:additional": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, - "information:regular": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, - "information:highlighted": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"]}, - "information:priority": { "fg": "solarized:base3", "bg": "solarized:yellow", "attrs": [] }, - "warning:regular": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": [] }, - "critical:failure": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": [] }, - "critical:success": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, - "background": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] }, - "background:divider": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, - "user": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }, - "virtualenv": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, - "branch": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] }, - "branch_clean": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "stash": "branch_dirty", - "email_alert_gradient": { "fg": "solarized:base3", "bg": "yellow_orange_red", "attrs": [] }, - "email_alert": "warning:regular", - "cwd": "information:additional", - "cwd:current_folder": "information:regular", - "cwd:divider": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] }, - "network_load": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, - "network_load:divider": "network_load", - "network_load_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base03", "attrs": [] }, - "network_load_sent_gradient": "network_load_gradient", - "network_load_recv_gradient": "network_load_gradient", - "hostname": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "environment": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, - "attached_clients": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, - "date": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "time": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": ["bold"] }, - "time:divider": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "system_load": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, - "weather_temp_gradient": { "fg": "blue_red", "bg": "solarized:base03", "attrs": [] }, - "weather": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, - "uptime": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/tmux/default.json b/configs/dotfiles/powerline/colorschemes/tmux/default.json deleted file mode 100644 index 8525fb0..0000000 --- a/configs/dotfiles/powerline/colorschemes/tmux/default.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "groups": { - "active_window_status": {"fg": "darkblue", "bg": "gray0", "attrs": []}, - "window_status": {"fg": "gray70", "bg": "gray0", "attrs": []}, - "activity_status": {"fg": "yellow", "bg": "gray0", "attrs": []}, - "bell_status": {"fg": "red", "bg": "gray0", "attrs": []}, - "window": {"fg": "gray6", "bg": "gray0", "attrs": []}, - "window:divider": {"fg": "gray4", "bg": "gray0", "attrs": []}, - "window:current": {"fg": "mediumcyan", "bg": "darkblue", "attrs": []}, - "window_name": {"fg": "white", "bg": "darkblue", "attrs": ["bold"]}, - "session": {"fg": "black", "bg": "gray90", "attrs": ["bold"]}, - "session:prefix": {"fg": "gray90", "bg": "darkblue", "attrs": ["bold"]} - } -} diff --git a/configs/dotfiles/powerline/colorschemes/tmux/solarized.json b/configs/dotfiles/powerline/colorschemes/tmux/solarized.json deleted file mode 100644 index 20c42d3..0000000 --- a/configs/dotfiles/powerline/colorschemes/tmux/solarized.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "groups": { - "active_window_status": { "fg": "solarized:blue", "bg": "solarized:base02", "attrs": [] }, - "window_status": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "activity_status": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] }, - "bell_status": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] }, - "window": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "window:divider": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] }, - "window:current": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "window_name": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, - "session": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "session:prefix": { "fg": "solarized:base01", "bg": "solarized:base3", "attrs": [] } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/vim/__main__.json b/configs/dotfiles/powerline/colorschemes/vim/__main__.json deleted file mode 100644 index 4f2a817..0000000 --- a/configs/dotfiles/powerline/colorschemes/vim/__main__.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "groups": { - "branch_clean": "branch", - "environment": "information:unimportant", - "file_size": "information:unimportant", - "file_format": "information:unimportant", - "file_encoding": "file_format", - "file_bom": "file_format", - "file_type": "file_format", - "branch": "information:additional", - "file_scheme": "file_name", - "file_directory": "information:additional", - "file_name_empty": "file_directory", - "line_percent": "information:additional", - "line_count": "line_current", - "position": "information:additional", - "single_tab": "line_current", - "many_tabs": "line_current", - "bufnr": "file_directory", - "winnr": "information:unimportant", - "tabnr": "file_directory", - "capslock_indicator": "paste_indicator", - - "csv:column_number": "line_current", - "csv:column_name": "line_current_symbol", - - "tab:background": "background", - "tab:divider": "background:divider", - - "tab_nc:modified_indicator": "modified_indicator", - "tab_nc:file_directory": "information:unimportant", - "tab_nc:file_name": "tab_nc:file_directory", - "tab_nc:tabnr": "tab_nc:file_directory", - - "buf_nc:file_directory": "tab_nc:file_directory", - "buf_nc:file_name": "buf_nc:file_directory", - "buf_nc:bufnr": "buf_nc:file_directory", - "buf_nc:modified_indicator": "tab_nc:modified_indicator", - - "buf_nc_mod:file_directory": "tab_nc:file_directory", - "buf_nc_mod:file_name": "buf_nc_mod:file_directory", - "buf_nc_mod:bufnr": "buf_nc_mod:file_directory", - "buf_nc_mod:modified_indicator": "tab_nc:modified_indicator", - - - "commandt:label": "file_name", - "commandt:background": "background", - "commandt:finder": "file_name", - "commandt:path": "file_directory" - } -} diff --git a/configs/dotfiles/powerline/colorschemes/vim/default.json b/configs/dotfiles/powerline/colorschemes/vim/default.json deleted file mode 100644 index e02a160..0000000 --- a/configs/dotfiles/powerline/colorschemes/vim/default.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "name": "Default color scheme", - "groups": { - "information:unimportant": { "fg": "gray8", "bg": "gray2", "attrs": [] }, - "information:additional": { "fg": "gray9", "bg": "gray4", "attrs": [] }, - "background": { "fg": "white", "bg": "gray2", "attrs": [] }, - "background:divider": { "fg": "gray6", "bg": "gray2", "attrs": [] }, - "mode": { "fg": "darkestgreen", "bg": "brightgreen", "attrs": ["bold"] }, - "visual_range": { "fg": "brightestorange", "bg": "darkorange", "attrs": ["bold"] }, - "modified_indicator": { "fg": "brightyellow", "bg": "gray4", "attrs": ["bold"] }, - "paste_indicator": { "fg": "white", "bg": "mediumorange", "attrs": ["bold"] }, - "readonly_indicator": { "fg": "brightestred", "bg": "gray4", "attrs": [] }, - "branch_dirty": { "fg": "brightyellow", "bg": "gray4", "attrs": [] }, - "branch:divider": { "fg": "gray7", "bg": "gray4", "attrs": [] }, - "file_name": { "fg": "white", "bg": "gray4", "attrs": ["bold"] }, - "window_title": { "fg": "white", "bg": "gray4", "attrs": [] }, - "file_name_no_file": { "fg": "gray9", "bg": "gray4", "attrs": ["bold"] }, - "file_vcs_status": { "fg": "brightestred", "bg": "gray4", "attrs": [] }, - "file_vcs_status_M": { "fg": "brightyellow", "bg": "gray4", "attrs": [] }, - "file_vcs_status_A": { "fg": "brightgreen", "bg": "gray4", "attrs": [] }, - "line_percent": { "fg": "gray9", "bg": "gray4", "attrs": [] }, - "line_percent_gradient": { "fg": "dark_green_gray", "bg": "gray4", "attrs": [] }, - "position": { "fg": "gray9", "bg": "gray4", "attrs": [] }, - "position_gradient": { "fg": "green_yellow_red", "bg": "gray4", "attrs": [] }, - "line_current": { "fg": "gray1", "bg": "gray10", "attrs": ["bold"] }, - "line_current_symbol": { "fg": "gray1", "bg": "gray10", "attrs": [] }, - "virtcol_current_gradient": { "fg": "dark_GREEN_Orange_red", "bg": "gray10", "attrs": [] }, - "col_current": { "fg": "gray6", "bg": "gray10", "attrs": [] }, - "modified_buffers": { "fg": "brightyellow", "bg": "gray2", "attrs": [] }, - "attached_clients": { "fg": "gray8", "bg": "gray2", "attrs": [] }, - "error": { "fg": "brightestred", "bg": "darkred", "attrs": ["bold"] }, - "warning": { "fg": "brightyellow", "bg": "darkorange", "attrs": ["bold"] }, - "current_tag": { "fg": "gray9", "bg": "gray2", "attrs": [] }, - - "tab_nc:modified_indicator": { "fg": "brightyellow", "bg": "gray2", "attrs": ["bold"] } - }, - "mode_translations": { - "nc": { - "colors": { - "brightyellow": "darkorange", - "brightestred": "darkred", - "gray0": "gray0", - "gray1": "gray0", - "gray2": "gray0", - "gray3": "gray1", - "gray4": "gray1", - "gray5": "gray1", - "gray6": "gray1", - "gray7": "gray4", - "gray8": "gray4", - "gray9": "gray4", - "gray10": "gray5", - "white": "gray6", - "dark_green_gray": "gray5" - } - }, - "i": { - "colors": { - "gray0": "darkestblue", - "gray1": "darkestblue", - "gray2": "darkestblue", - "gray3": "darkblue", - "gray4": "darkblue", - "gray5": "darkestcyan", - "gray6": "darkestcyan", - "gray7": "darkestcyan", - "gray8": "mediumcyan", - "gray9": "mediumcyan", - "gray10": "mediumcyan", - "green_yellow_red": "gray5", - "dark_green_gray": "light_green_gray" - }, - "groups": { - "mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] }, - "background:divider": { "fg": "darkcyan", "bg": "darkestblue", "attrs": [] }, - "branch:divider": { "fg": "darkcyan", "bg": "darkblue", "attrs": [] } - } - }, - "ic": { - "colors": { - "gray0": "darkestblue", - "gray1": "darkestblue", - "gray2": "darkestblue", - "gray3": "darkblue", - "gray4": "darkblue", - "gray5": "darkestcyan", - "gray6": "darkestcyan", - "gray7": "darkestcyan", - "gray8": "mediumcyan", - "gray9": "mediumcyan", - "gray10": "mediumcyan", - "green_yellow_red": "gray5", - "dark_green_gray": "light_green_gray" - }, - "groups": { - "mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] }, - "background:divider": { "fg": "darkcyan", "bg": "darkestblue", "attrs": [] }, - "branch:divider": { "fg": "darkcyan", "bg": "darkblue", "attrs": [] } - } - }, - "ix": { - "colors": { - "gray0": "darkestblue", - "gray1": "darkestblue", - "gray2": "darkestblue", - "gray3": "darkblue", - "gray4": "darkblue", - "gray5": "darkestcyan", - "gray6": "darkestcyan", - "gray7": "darkestcyan", - "gray8": "mediumcyan", - "gray9": "mediumcyan", - "gray10": "mediumcyan", - "green_yellow_red": "gray5", - "dark_green_gray": "light_green_gray" - }, - "groups": { - "mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] }, - "background:divider": { "fg": "darkcyan", "bg": "darkestblue", "attrs": [] }, - "branch:divider": { "fg": "darkcyan", "bg": "darkblue", "attrs": [] } - } - }, - "v": { - "groups": { - "mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] } - } - }, - "V": { - "groups": { - "mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] } - } - }, - "^V": { - "groups": { - "mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] } - } - }, - "R": { - "groups": { - "mode": { "fg": "white", "bg": "brightred", "attrs": ["bold"] } - } - }, - "Rc": { - "groups": { - "mode": { "fg": "white", "bg": "brightred", "attrs": ["bold"] } - } - }, - "Rx": { - "groups": { - "mode": { "fg": "white", "bg": "brightred", "attrs": ["bold"] } - } - } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/vim/solarized.json b/configs/dotfiles/powerline/colorschemes/vim/solarized.json deleted file mode 100644 index 55cfaa7..0000000 --- a/configs/dotfiles/powerline/colorschemes/vim/solarized.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "name": "Solarized dark for vim", - "groups": { - "information:additional": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, - "information:unimportant": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "background": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] }, - "background:divider": { "fg": "solarized:base00", "bg": "solarized:base02", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] }, - "visual_range": { "fg": "solarized:green", "bg": "solarized:base3", "attrs": ["bold"] }, - "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": ["bold"] }, - "paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, - "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base01", "attrs": [] }, - "branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": [] }, - "branch:divider": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] }, - "stash:divider": "branch:divider", - "file_name": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, - "window_title": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "file_name_no_file": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, - "file_format": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base01", "attrs": [] }, - "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": [] }, - "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base01", "attrs": [] }, - "line_percent": { "fg": "solarized:base3", "bg": "solarized:base00", "attrs": [] }, - "line_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base00", "attrs": [] }, - "position": { "fg": "solarized:base3", "bg": "solarized:base00", "attrs": [] }, - "position_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base00", "attrs": [] }, - "line_current": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, - "line_current_symbol": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "virtcol_current_gradient": { "fg": "GREEN_Orange_red", "bg": "solarized:base2", "attrs": [] }, - "col_current": { "fg": "solarized:base0", "bg": "solarized:base2", "attrs": [] }, - "environment": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "attached_clients": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, - "error": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }, - "warning": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, - "current_tag": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": ["bold"] } - }, - "mode_translations": { - "nc": { - "colors": { - "solarized:base01": "solarized:base02", - "solarized:base00": "solarized:base02", - "solarized:base0": "solarized:base01", - "solarized:base1": "solarized:base00", - "solarized:base2": "solarized:base0", - "solarized:base3": "solarized:base1" - } - }, - "i": { - "groups": { - "background": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "background:divider": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }, - "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": ["bold"] }, - "paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, - "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, - "branch": { "fg": "solarized:base01", "bg": "solarized:base2", "attrs": [] }, - "branch:divider": { "fg": "solarized:base00", "bg": "solarized:base2", "attrs": [] }, - "file_directory": { "fg": "solarized:base01", "bg": "solarized:base2", "attrs": [] }, - "file_name": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": ["bold"] }, - "file_size": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, - "file_name_no_file": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": ["bold"] }, - "file_name_empty": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, - "file_format": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, - "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, - "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] }, - "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base2", "attrs": [] }, - "line_percent": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, - "line_percent_gradient": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, - "position": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, - "position_gradient": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, - "line_current": { "fg": "solarized:base03", "bg": "solarized:base3", "attrs": ["bold"] }, - "line_current_symbol": { "fg": "solarized:base03", "bg": "solarized:base3", "attrs": [] }, - "col_current": { "fg": "solarized:base0", "bg": "solarized:base3", "attrs": [] } - } - }, - "ic": { - "groups": { - "background": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "background:divider": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] } - } - }, - "ix": { - "groups": { - "background": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, - "background:divider": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] } - } - }, - "v": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } - } - }, - "V": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } - } - }, - "^V": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } - } - }, - "R": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } - } - }, - "Rc": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } - } - }, - "Rx": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } - } - } - } -} diff --git a/configs/dotfiles/powerline/colorschemes/vim/solarizedlight.json b/configs/dotfiles/powerline/colorschemes/vim/solarizedlight.json deleted file mode 100644 index f862d39..0000000 --- a/configs/dotfiles/powerline/colorschemes/vim/solarizedlight.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "name": "Solarized light for vim", - "groups": { - "information:additional": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, - "information:unimportant": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] }, - "background": { "fg": "solarized:base03", "bg": "solarized:base01", "attrs": [] }, - "background:divider": { "fg": "solarized:base0", "bg": "solarized:base01", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] }, - "visual_range": { "fg": "solarized:green", "bg": "solarized:base3", "attrs": ["bold"] }, - "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": ["bold"] }, - "paste_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": ["bold"] }, - "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, - "branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] }, - "branch:divider": { "fg": "solarized:base1", "bg": "solarized:base2", "attrs": [] }, - "stash": "branch_dirty", - "stash:divider": "branch:divider", - "file_name": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, - "window_title": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "file_size": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "file_name_no_file": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, - "file_name_empty": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, - "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] }, - "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base2", "attrs": [] }, - "line_percent": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "line_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base2", "attrs": [] }, - "position": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "position_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base2", "attrs": [] }, - "line_current": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": ["bold"] }, - "line_current_symbol": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] }, - "virtcol_current_gradient": { "fg": "yellow_orange_red", "bg": "solarized:base02", "attrs": [] }, - "col_current": { "fg": "solarized:base00", "bg": "solarized:base02", "attrs": [] }, - "error": { "fg": "solarized:base03", "bg": "solarized:red", "attrs": ["bold"] }, - "warning": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, - "current_tag": { "fg": "solarized:base03", "bg": "solarized:base01", "attrs": ["bold"] } - }, - "mode_translations": { - "nc": { - "colors": { - "solarized:base2": "solarized:base01", - "solarized:base0": "solarized:base01", - "solarized:base00": "solarized:base2", - "solarized:base1": "solarized:base0", - "solarized:base02": "solarized:base00", - "solarized:base03": "solarized:base1" - } - }, - "i": { - "groups": { - "background": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "background:divider": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }, - "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": ["bold"] }, - "paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, - "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] }, - "branch": { "fg": "solarized:base2", "bg": "solarized:base02", "attrs": [] }, - "branch:divider": { "fg": "solarized:base0", "bg": "solarized:base02", "attrs": [] }, - "file_directory": { "fg": "solarized:base2", "bg": "solarized:base02", "attrs": [] }, - "file_name": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": ["bold"] }, - "file_size": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] }, - "file_name_no_file": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": ["bold"] }, - "file_name_empty": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] }, - "file_format": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, - "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] }, - "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] }, - "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base02", "attrs": [] }, - "line_percent": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, - "line_percent_gradient": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, - "position": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, - "position_gradient": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, - "line_current": { "fg": "solarized:base3", "bg": "solarized:base03", "attrs": ["bold"] }, - "line_current_symbol": { "fg": "solarized:base3", "bg": "solarized:base03", "attrs": [] }, - "virtcol_current_gradient": { "fg": "yellow_orange_red", "bg": "solarized:base03", "attrs": [] }, - "col_current": { "fg": "solarized:base00", "bg": "solarized:base03", "attrs": [] } - } - }, - "ic": { - "groups": { - "background": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "background:divider": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] } - } - }, - "ix": { - "groups": { - "background": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, - "background:divider": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, - "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] } - } - }, - "v": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } - } - }, - "V": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } - } - }, - "^V": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } - } - }, - "R": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } - } - }, - "Rc": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } - } - }, - "Rx": { - "groups": { - "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } - } - } - } -} diff --git a/configs/dotfiles/powerline/config.json b/configs/dotfiles/powerline/config.json deleted file mode 100644 index 4491885..0000000 --- a/configs/dotfiles/powerline/config.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "common": { - "term_truecolor": false - }, - "ext": { - "ipython": { - "colorscheme": "default", - "theme": "in", - "local_themes": { - "rewrite": "rewrite", - "out": "out", - "in2": "in2" - } - }, - "pdb": { - "colorscheme": "default", - "theme": "default" - }, - "shell": { - "colorscheme": "default", - "theme": "default", - "local_themes": { - "continuation": "continuation", - "select": "select" - } - }, - "tmux": { - "colorscheme": "default", - "theme": "default" - }, - "vim": { - "colorscheme": "default", - "theme": "default", - "local_themes": { - "__tabline__": "tabline", - - "cmdwin": "cmdwin", - "help": "help", - "quickfix": "quickfix", - - "powerline.matchers.vim.plugin.nerdtree.nerdtree": "plugin_nerdtree", - "powerline.matchers.vim.plugin.commandt.commandt": "plugin_commandt", - "powerline.matchers.vim.plugin.gundo.gundo": "plugin_gundo", - "powerline.matchers.vim.plugin.gundo.gundo_preview": "plugin_gundo-preview" - } - }, - "wm": { - "colorscheme": "default", - "theme": "default", - "update_interval": 2 - } - } -} diff --git a/configs/dotfiles/powerline/themes/ascii.json b/configs/dotfiles/powerline/themes/ascii.json deleted file mode 100644 index 0ea05e7..0000000 --- a/configs/dotfiles/powerline/themes/ascii.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "use_non_breaking_spaces": false, - "dividers": { - "left": { - "hard": " ", - "soft": "| " - }, - "right": { - "hard": " ", - "soft": " |" - } - }, - "spaces": 1, - "segment_data": { - "branch": { - "before": "BR " - }, - "stash": { - "before": "ST " - }, - "cwd": { - "args": { - "ellipsis": "..." - } - }, - "player": { - "args": { - "state_symbols": { - "fallback": "", - "play": ">", - "pause": "~", - "stop": "X" - } - } - }, - - "line_current_symbol": { - "contents": "LN " - }, - - "time": { - "before": "" - }, - - "powerline.segments.common.net.network_load": { - "args": { - "recv_format": "DL {value:>8}", - "sent_format": "UL {value:>8}" - } - }, - "powerline.segments.common.net.hostname": { - "before": "H " - }, - "powerline.segments.common.bat.battery": { - "args": { - "full_heart": "O", - "empty_heart": "O", - "online": "C", - "offline": " " - } - }, - "powerline.segments.common.sys.uptime": { - "before": "UP " - }, - "powerline.segments.common.mail.email_imap_alert": { - "before": "MAIL " - }, - "powerline.segments.common.env.virtualenv": { - "before": "(e) " - }, - "powerline.segments.common.wthr.weather": { - "args": { - "icons": { - "day": "DAY", - "blustery": "WIND", - "rainy": "RAIN", - "cloudy": "CLOUDS", - "snowy": "SNOW", - "stormy": "STORM", - "foggy": "FOG", - "sunny": "SUN", - "night": "NIGHT", - "windy": "WINDY", - "not_available": "NA", - "unknown": "UKN" - }, - "temp_format": "{temp:.0f} C" - } - }, - "powerline.segments.common.time.fuzzy_time": { - "args": { - "unicode_text": false - } - }, - - "powerline.segments.vim.mode": { - "args": { - "override": { - "n": "NORMAL", - "no": "N-OPER", - "v": "VISUAL", - "V": "V-LINE", - "^V": "V-BLCK", - "s": "SELECT", - "S": "S-LINE", - "^S": "S-BLCK", - "i": "INSERT", - "ic": "I-COMP", - "ix": "I-C_X ", - "R": "RPLACE", - "Rv": "V-RPLC", - "Rc": "R-COMP", - "Rx": "R-C_X ", - "c": "COMMND", - "cv": "VIM-EX", - "ce": "NRM-EX", - "r": "PROMPT", - "rm": "-MORE-", - "r?": "CNFIRM", - "!": "!SHELL", - "t": "TERM " - } - } - }, - "powerline.segments.vim.visual_range": { - "args": { - "CTRL_V_text": "{rows} x {vcols}", - "v_text_oneline": "C:{vcols}", - "v_text_multiline": "L:{rows}", - "V_text": "L:{rows}" - } - }, - "powerline.segments.vim.readonly_indicator": { - "args": { - "text": "RO" - } - }, - "powerline.segments.vim.modified_indicator": { - "args": { - "text": "+" - } - }, - - "powerline.segments.i3wm.scratchpad": { - "args": { - "icons": { - "fresh": "O", - "changed": "X" - } - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/ipython/in.json b/configs/dotfiles/powerline/themes/ipython/in.json deleted file mode 100644 index edd4d29..0000000 --- a/configs/dotfiles/powerline/themes/ipython/in.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "segments": { - "left": [ - { - "function": "powerline.segments.common.env.virtualenv", - "priority": 10 - }, - { - "type": "string", - "contents": "In [", - "draw_soft_divider": false, - "highlight_groups": ["prompt"] - }, - { - "function": "powerline.segments.ipython.prompt_count", - "draw_soft_divider": false - }, - { - "type": "string", - "contents": "]", - "highlight_groups": ["prompt"] - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/ipython/in2.json b/configs/dotfiles/powerline/themes/ipython/in2.json deleted file mode 100644 index 422c44b..0000000 --- a/configs/dotfiles/powerline/themes/ipython/in2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "segments": { - "left": [ - { - "type": "string", - "contents": "", - "width": "auto", - "highlight_groups": ["prompt"] - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/ipython/out.json b/configs/dotfiles/powerline/themes/ipython/out.json deleted file mode 100644 index 2425d0b..0000000 --- a/configs/dotfiles/powerline/themes/ipython/out.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "default_module": "powerline.segments.ipython", - "segments": { - "left": [ - { - "type": "string", - "contents": "Out[", - "draw_soft_divider": false, - "width": "auto", - "align": "r", - "highlight_groups": ["prompt"] - }, - { - "function": "prompt_count", - "draw_soft_divider": false - }, - { - "type": "string", - "contents": "]", - "highlight_groups": ["prompt"] - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/ipython/rewrite.json b/configs/dotfiles/powerline/themes/ipython/rewrite.json deleted file mode 100644 index 8192fe4..0000000 --- a/configs/dotfiles/powerline/themes/ipython/rewrite.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "default_module": "powerline.segments.ipython", - "segments": { - "left": [ - { - "type": "string", - "contents": "", - "draw_soft_divider": false, - "width": "auto", - "highlight_groups": ["prompt"] - }, - { - "function": "prompt_count", - "draw_soft_divider": false - }, - { - "type": "string", - "contents": ">", - "highlight_groups": ["prompt"] - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/pdb/default.json b/configs/dotfiles/powerline/themes/pdb/default.json deleted file mode 100644 index dcae108..0000000 --- a/configs/dotfiles/powerline/themes/pdb/default.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "default_module": "powerline.segments.pdb", - "segments": { - "left": [ - { - "function": "stack_depth" - }, - { - "type": "segment_list", - "function": "powerline.listers.pdb.frame_lister", - "segments": [ - { - "function": "current_file", - "after": ":" - }, - { - "function": "current_line", - "after": " " - }, - { - "function": "current_code_name" - } - ] - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/powerline.json b/configs/dotfiles/powerline/themes/powerline.json deleted file mode 100644 index 366a7ea..0000000 --- a/configs/dotfiles/powerline/themes/powerline.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "dividers": { - "left": { - "hard": " ", - "soft": " " - }, - "right": { - "hard": " ", - "soft": " " - } - }, - "spaces": 1, - "segment_data": { - "branch": { - "before": " " - }, - "stash": { - "before": "⌆ " - }, - "cwd": { - "args": { - "ellipsis": "⋯" - } - }, - - "line_current_symbol": { - "contents": " " - }, - "player": { - "args": { - "state_symbols": { - "fallback": "♫", - "play": "▶", - "pause": "▮▮", - "stop": "■" - } - } - }, - - "time": { - "before": "⌚ " - }, - - "powerline.segments.common.net.network_load": { - "args": { - "recv_format": "⬇ {value:>8}", - "sent_format": "⬆ {value:>8}" - } - }, - "powerline.segments.common.net.hostname": { - "before": " " - }, - "powerline.segments.common.bat.battery": { - "args": { - "full_heart": "♥", - "empty_heart": "♥", - "online": "⚡︎", - "offline": " " - } - }, - "powerline.segments.common.sys.uptime": { - "before": "⇑ " - }, - "powerline.segments.common.mail.email_imap_alert": { - "before": "✉ " - }, - "powerline.segments.common.env.virtualenv": { - "before": "ⓔ " - }, - "powerline.segments.common.wthr.weather": { - "args": { - "icons": { - "day": "〇", - "blustery": "⚑", - "rainy": "☔", - "cloudy": "☁", - "snowy": "❅", - "stormy": "☈", - "foggy": "≡", - "sunny": "☼", - "night": "☾", - "windy": "☴", - "not_available": "�", - "unknown": "⚠" - } - } - }, - "powerline.segments.common.time.fuzzy_time": { - "args": { - "unicode_text": true - } - }, - - "powerline.segments.vim.mode": { - "args": { - "override": { - "n": "NORMAL", - "no": "N·OPER", - "v": "VISUAL", - "V": "V·LINE", - "^V": "V·BLCK", - "s": "SELECT", - "S": "S·LINE", - "^S": "S·BLCK", - "i": "INSERT", - "ic": "I·COMP", - "ix": "I·C-X ", - "R": "RPLACE", - "Rv": "V·RPLC", - "Rc": "R·COMP", - "Rx": "R·C-X ", - "c": "COMMND", - "cv": "VIM·EX", - "ce": "NRM·EX", - "r": "PROMPT", - "rm": "-MORE-", - "r?": "CNFIRM", - "!": "!SHELL", - "t": "TERM " - } - } - }, - "powerline.segments.vim.visual_range": { - "args": { - "CTRL_V_text": "↕{rows} ↔{vcols}", - "v_text_oneline": "↔{vcols}", - "v_text_multiline": "↕{rows}", - "V_text": "⇕{rows}" - } - }, - "powerline.segments.vim.readonly_indicator": { - "args": { - "text": "" - } - }, - "powerline.segments.vim.modified_indicator": { - "args": { - "text": "+" - } - }, - - "powerline.segments.i3wm.scratchpad": { - "args": { - "icons": { - "fresh": "●", - "changed": "○" - } - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/powerline_terminus.json b/configs/dotfiles/powerline/themes/powerline_terminus.json deleted file mode 100644 index e5fb1c8..0000000 --- a/configs/dotfiles/powerline/themes/powerline_terminus.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "dividers": { - "left": { - "hard": " ", - "soft": " " - }, - "right": { - "hard": " ", - "soft": " " - } - }, - "spaces": 1, - "segment_data": { - "branch": { - "before": " " - }, - "stash": { - "before": "ST " - }, - "cwd": { - "args": { - "ellipsis": "…" - } - }, - - "line_current_symbol": { - "contents": " " - }, - "player": { - "args": { - "state_symbols": { - "fallback": "♫", - "play": "▶", - "pause": "▮▮", - "stop": "■" - } - } - }, - - "time": { - "before": "" - }, - - "powerline.segments.common.net.network_load": { - "args": { - "recv_format": "⇓ {value:>8}", - "sent_format": "⇑ {value:>8}" - } - }, - "powerline.segments.common.net.hostname": { - "before": " " - }, - "powerline.segments.common.bat.battery": { - "args": { - "full_heart": "♥", - "empty_heart": "♥", - "online": "⚡︎", - "offline": " " - } - }, - "powerline.segments.common.sys.uptime": { - "before": "↑ " - }, - "powerline.segments.common.mail.email_imap_alert": { - "before": "MAIL " - }, - "powerline.segments.common.env.virtualenv": { - "before": "(e) " - }, - "powerline.segments.common.wthr.weather": { - "args": { - "icons": { - "day": "DAY", - "blustery": "WIND", - "rainy": "RAIN", - "cloudy": "CLOUDS", - "snowy": "SNOW", - "stormy": "STORM", - "foggy": "FOG", - "sunny": "SUN", - "night": "NIGHT", - "windy": "WINDY", - "not_available": "NA", - "unknown": "UKN" - } - } - }, - "powerline.segments.common.time.fuzzy_time": { - "args": { - "unicode_text": true - } - }, - - "powerline.segments.vim.mode": { - "args": { - "override": { - "n": "NORMAL", - "no": "N·OPER", - "v": "VISUAL", - "V": "V·LINE", - "^V": "V·BLCK", - "s": "SELECT", - "S": "S·LINE", - "^S": "S·BLCK", - "i": "INSERT", - "ic": "I·COMP", - "ix": "I·C-X ", - "R": "RPLACE", - "Rv": "V·RPLC", - "Rc": "R·COMP", - "Rx": "R·C-X ", - "c": "COMMND", - "cv": "VIM·EX", - "ce": "NRM·EX", - "r": "PROMPT", - "rm": "-MORE-", - "r?": "CNFIRM", - "!": "!SHELL", - "t": "TERM " - } - } - }, - "powerline.segments.vim.visual_range": { - "args": { - "CTRL_V_text": "↕{rows} ↔{vcols}", - "v_text_oneline": "↔{vcols}", - "v_text_multiline": "↕{rows}", - "V_text": "⇕{rows}" - } - }, - "powerline.segments.vim.readonly_indicator": { - "args": { - "text": "" - } - }, - "powerline.segments.vim.modified_indicator": { - "args": { - "text": "+" - } - }, - - "powerline.segments.i3wm.scratchpad": { - "args": { - "icons": { - "fresh": "●", - "changed": "○" - } - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/powerline_unicode7.json b/configs/dotfiles/powerline/themes/powerline_unicode7.json deleted file mode 100644 index bd62826..0000000 --- a/configs/dotfiles/powerline/themes/powerline_unicode7.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "dividers": { - "left": { - "hard": " ", - "soft": " " - }, - "right": { - "hard": " ", - "soft": " " - } - }, - "spaces": 1, - "segment_data": { - "branch": { - "before": "🔀 " - }, - "stash": { - "before": "📝" - }, - "cwd": { - "args": { - "ellipsis": "⋯" - } - }, - - "line_current_symbol": { - "contents": " " - }, - "player": { - "args": { - "state_symbols": { - "fallback": "♫", - "play": "⏵", - "pause": "⏸", - "stop": "⏹" - } - } - }, - - "time": { - "before": "🕐 " - }, - - "powerline.segments.common.net.network_load": { - "args": { - "recv_format": "⬇ {value:>8}", - "sent_format": "⬆ {value:>8}" - } - }, - "powerline.segments.common.net.hostname": { - "before": "🏠 " - }, - "powerline.segments.common.bat.battery": { - "args": { - "full_heart": "💙", - "empty_heart": "💛", - "online": "⚡️", - "offline": " " - } - }, - "powerline.segments.common.sys.uptime": { - "before": "⇑ " - }, - "powerline.segments.common.mail.email_imap_alert": { - "before": "✉ " - }, - "powerline.segments.common.env.virtualenv": { - "before": "🐍 " - }, - "powerline.segments.common.wthr.weather": { - "args": { - "icons": { - "tornado": "🌪", - "hurricane": "🌀", - "showers": "☔", - "scattered_showers": "☔", - "thunderstorms": "🌩", - "isolated_thunderstorms": "🌩", - "scattered_thunderstorms": "🌩", - "dust": "🌫", - "fog": "🌫", - "cold": "❄", - "partly_cloudy_day": "🌤", - "mostly_cloudy_day": "🌥", - "sun": "🌣", - "hot": "♨", - "day": "☀", - "blustery": "⚑", - "rainy": "☂", - "cloudy": "☁", - "snowy": "☃", - "stormy": "☈", - "foggy": "🌁", - "sunny": "🌣", - "night": "☾", - "windy": "☴", - "not_available": "�", - "unknown": "⚠" - } - } - }, - "powerline.segments.common.time.fuzzy_time": { - "args": { - "unicode_text": true - } - }, - - "powerline.segments.vim.mode": { - "args": { - "override": { - "n": "NORMAL", - "no": "N·OPER", - "v": "VISUAL", - "V": "V·LINE", - "^V": "V·BLCK", - "s": "SELECT", - "S": "S·LINE", - "^S": "S·BLCK", - "i": "INSERT", - "ic": "I·COMP", - "ix": "I·C-X ", - "R": "RPLACE", - "Rv": "V·RPLC", - "Rc": "R·COMP", - "Rx": "R·C-X ", - "c": "COMMND", - "cv": "VIM·EX", - "ce": "NRM·EX", - "r": "PROMPT", - "rm": "-MORE-", - "r?": "CNFIRM", - "!": "!SHELL", - "t": "TERM " - } - } - }, - "powerline.segments.vim.visual_range": { - "args": { - "CTRL_V_text": "↕{rows} ↔{vcols}", - "v_text_oneline": "↔{vcols}", - "v_text_multiline": "↕{rows}", - "V_text": "⇕{rows}" - } - }, - "powerline.segments.vim.readonly_indicator": { - "args": { - "text": "🔏" - } - }, - "powerline.segments.vim.modified_indicator": { - "args": { - "text": "🖫⃥" - } - }, - - "powerline.segments.i3wm.scratchpad": { - "args": { - "icons": { - "fresh": "●", - "changed": "○" - } - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/shell/__main__.json b/configs/dotfiles/powerline/themes/shell/__main__.json deleted file mode 100644 index 13ae942..0000000 --- a/configs/dotfiles/powerline/themes/shell/__main__.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "segment_data": { - "hostname": { - "args": { - "only_if_ssh": true - } - }, - "cwd": { - "args": { - "dir_limit_depth": 3 - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/shell/continuation.json b/configs/dotfiles/powerline/themes/shell/continuation.json deleted file mode 100644 index 9307fc0..0000000 --- a/configs/dotfiles/powerline/themes/shell/continuation.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "default_module": "powerline.segments.shell", - "segments": { - "left": [ - { - "function": "continuation" - } - ], - "right": [ - ] - } -} diff --git a/configs/dotfiles/powerline/themes/shell/default.json b/configs/dotfiles/powerline/themes/shell/default.json deleted file mode 100644 index 38039d8..0000000 --- a/configs/dotfiles/powerline/themes/shell/default.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "segments": { - "left": [ - { - "function": "powerline.segments.shell.mode" - }, - { - "function": "powerline.segments.common.net.hostname", - "priority": 10 - }, - { - "function": "powerline.segments.common.env.user", - "priority": 30 - }, - { - "function": "powerline.segments.common.env.virtualenv", - "priority": 50 - }, - { - "function": "powerline.segments.shell.cwd", - "priority": 10 - }, - { - "function": "powerline.segments.shell.jobnum", - "priority": 20 - } - ], - "right": [ - { - "function": "powerline.segments.shell.last_pipe_status", - "priority": 10 - }, - { - "function": "powerline.segments.common.vcs.stash", - "priority": 50 - }, - { - "function": "powerline.segments.common.vcs.branch", - "priority": 40 - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/shell/default_leftonly.json b/configs/dotfiles/powerline/themes/shell/default_leftonly.json deleted file mode 100644 index b576273..0000000 --- a/configs/dotfiles/powerline/themes/shell/default_leftonly.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "segments": { - "left": [ - { - "function": "powerline.segments.common.net.hostname", - "priority": 10 - }, - { - "function": "powerline.segments.common.env.user", - "priority": 30 - }, - { - "function": "powerline.segments.common.env.virtualenv", - "priority": 50 - }, - { - "function": "powerline.segments.common.vcs.branch", - "priority": 40 - }, - { - "function": "powerline.segments.shell.cwd", - "priority": 10 - }, - { - "function": "powerline.segments.shell.jobnum", - "priority": 20 - }, - { - "function": "powerline.segments.shell.last_pipe_status", - "priority": 10 - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/shell/select.json b/configs/dotfiles/powerline/themes/shell/select.json deleted file mode 100644 index 3d81408..0000000 --- a/configs/dotfiles/powerline/themes/shell/select.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "segments": { - "left": [ - { - "type": "string", - "contents": "Select variant", - "width": "auto", - "align": "r", - "highlight_groups": ["continuation:current"] - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/tmux/default.json b/configs/dotfiles/powerline/themes/tmux/default.json deleted file mode 100644 index 4532ced..0000000 --- a/configs/dotfiles/powerline/themes/tmux/default.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "segments": { - "right": [ - { - "function": "powerline.segments.common.sys.uptime", - "priority": 50 - }, - { - "function": "powerline.segments.common.sys.system_load", - "priority": 50 - }, - { - "function": "powerline.segments.common.time.date" - }, - { - "function": "powerline.segments.common.time.date", - "name": "time", - "args": { - "format": "%H:%M", - "istime": true - } - }, - { - "function": "powerline.segments.common.net.hostname" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/unicode.json b/configs/dotfiles/powerline/themes/unicode.json deleted file mode 100644 index 0802852..0000000 --- a/configs/dotfiles/powerline/themes/unicode.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "dividers": { - "left": { - "hard": "▌ ", - "soft": "│ " - }, - "right": { - "hard": " ▐", - "soft": " │" - } - }, - "spaces": 1, - "segment_data": { - "branch": { - "before": "⎇ " - }, - "stash": { - "before": "⌆" - }, - "cwd": { - "args": { - "ellipsis": "⋯" - } - }, - "player": { - "args": { - "state_symbols": { - "fallback": "♫", - "play": "▶", - "pause": "▮▮", - "stop": "■" - } - } - }, - - "line_current_symbol": { - "contents": "␤ " - }, - - "time": { - "before": "⌚ " - }, - - "powerline.segments.common.net.network_load": { - "args": { - "recv_format": "⬇ {value:>8}", - "sent_format": "⬆ {value:>8}" - } - }, - "powerline.segments.common.net.hostname": { - "before": "⌂ " - }, - "powerline.segments.common.bat.battery": { - "args": { - "full_heart": "♥", - "empty_heart": "♥", - "online": "⚡︎", - "offline": " " - } - }, - "powerline.segments.common.sys.uptime": { - "before": "⇑ " - }, - "powerline.segments.common.mail.email_imap_alert": { - "before": "✉ " - }, - "powerline.segments.common.env.virtualenv": { - "before": "ⓔ " - }, - "powerline.segments.common.wthr.weather": { - "args": { - "icons": { - "day": "〇", - "blustery": "⚑", - "rainy": "☔", - "cloudy": "☁", - "snowy": "❅", - "stormy": "☈", - "foggy": "≡", - "sunny": "☼", - "night": "☾", - "windy": "☴", - "not_available": "�", - "unknown": "⚠" - } - } - }, - "powerline.segments.common.time.fuzzy_time": { - "args": { - "unicode_text": true - } - }, - - "powerline.segments.vim.mode": { - "args": { - "override": { - "n": "NORMAL", - "no": "N·OPER", - "v": "VISUAL", - "V": "V·LINE", - "^V": "V·BLCK", - "s": "SELECT", - "S": "S·LINE", - "^S": "S·BLCK", - "i": "INSERT", - "ic": "I·COMP", - "ix": "I·C-X ", - "R": "RPLACE", - "Rv": "V·RPLC", - "Rc": "R·COMP", - "Rx": "R·C-X ", - "c": "COMMND", - "cv": "VIM·EX", - "ce": "NRM·EX", - "r": "PROMPT", - "rm": "-MORE-", - "r?": "CNFIRM", - "!": "!SHELL", - "t": "TERM " - } - } - }, - "powerline.segments.vim.visual_range": { - "args": { - "CTRL_V_text": "↕{rows} ↔{vcols}", - "v_text_oneline": "↔{vcols}", - "v_text_multiline": "↕{rows}", - "V_text": "⇕{rows}" - } - }, - "powerline.segments.vim.readonly_indicator": { - "args": { - "text": "⊗" - } - }, - "powerline.segments.vim.modified_indicator": { - "args": { - "text": "+" - } - }, - - "powerline.segments.i3wm.scratchpad": { - "args": { - "icons": { - "fresh": "●", - "changed": "○" - } - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/unicode_terminus.json b/configs/dotfiles/powerline/themes/unicode_terminus.json deleted file mode 100644 index 9c76985..0000000 --- a/configs/dotfiles/powerline/themes/unicode_terminus.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "dividers": { - "left": { - "hard": "▌ ", - "soft": "│ " - }, - "right": { - "hard": " ▐", - "soft": " │" - } - }, - "spaces": 1, - "segment_data": { - "branch": { - "before": "BR " - }, - "stash": { - "before": "ST " - }, - "cwd": { - "args": { - "ellipsis": "…" - } - }, - - "line_current_symbol": { - "contents": "␤ " - }, - "player": { - "args": { - "state_symbols": { - "fallback": "♫", - "play": "▶", - "pause": "▮▮", - "stop": "■" - } - } - }, - - "time": { - "before": "" - }, - - "powerline.segments.common.net.network_load": { - "args": { - "recv_format": "⇓ {value:>8}", - "sent_format": "⇑ {value:>8}" - } - }, - "powerline.segments.common.net.hostname": { - "before": "⌂ " - }, - "powerline.segments.common.bat.battery": { - "args": { - "full_heart": "♥", - "empty_heart": "♥", - "online": "⚡︎", - "offline": " " - } - }, - "powerline.segments.common.sys.uptime": { - "before": "↑ " - }, - "powerline.segments.common.mail.email_imap_alert": { - "before": "MAIL " - }, - "powerline.segments.common.env.virtualenv": { - "before": "(e) " - }, - "powerline.segments.common.wthr.weather": { - "args": { - "icons": { - "day": "DAY", - "blustery": "WIND", - "rainy": "RAIN", - "cloudy": "CLOUDS", - "snowy": "SNOW", - "stormy": "STORM", - "foggy": "FOG", - "sunny": "SUN", - "night": "NIGHT", - "windy": "WINDY", - "not_available": "NA", - "unknown": "UKN" - } - } - }, - "powerline.segments.common.time.fuzzy_time": { - "args": { - "unicode_text": true - } - }, - - "powerline.segments.vim.mode": { - "args": { - "override": { - "n": "NORMAL", - "no": "N·OPER", - "v": "VISUAL", - "V": "V·LINE", - "^V": "V·BLCK", - "s": "SELECT", - "S": "S·LINE", - "^S": "S·BLCK", - "i": "INSERT", - "ic": "I·COMP", - "ix": "I·C-X ", - "R": "RPLACE", - "Rv": "V·RPLC", - "Rc": "R·COMP", - "Rx": "R·C-X ", - "c": "COMMND", - "cv": "VIM·EX", - "ce": "NRM·EX", - "r": "PROMPT", - "rm": "-MORE-", - "r?": "CNFIRM", - "!": "!SHELL", - "t": "TERM " - } - } - }, - "powerline.segments.vim.visual_range": { - "args": { - "CTRL_V_text": "{rows} × {vcols}", - "v_text_oneline": "C:{vcols}", - "v_text_multiline": "L:{rows}", - "V_text": "L:{rows}" - } - }, - "powerline.segments.vim.readonly_indicator": { - "args": { - "text": "RO" - } - }, - "powerline.segments.vim.modified_indicator": { - "args": { - "text": "+" - } - }, - - "powerline.segments.i3wm.scratchpad": { - "args": { - "icons": { - "fresh": "●", - "changed": "○" - } - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/unicode_terminus_condensed.json b/configs/dotfiles/powerline/themes/unicode_terminus_condensed.json deleted file mode 100644 index 421f5c8..0000000 --- a/configs/dotfiles/powerline/themes/unicode_terminus_condensed.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "dividers": { - "left": { - "hard": "▌", - "soft": "│" - }, - "right": { - "hard": "▐", - "soft": "│" - } - }, - "spaces": 0, - "segment_data": { - "branch": { - "before": "B " - }, - "stash": { - "before": "S " - }, - "cwd": { - "args": { - "use_path_separator": true, - "ellipsis": "…" - } - }, - - "line_current_symbol": { - "contents": "␤" - }, - "player": { - "args": { - "state_symbols": { - "fallback": "♫", - "play": "▶", - "pause": "▮▮", - "stop": "■" - } - } - }, - - "time": { - "before": "" - }, - - "powerline.segments.common.net.network_load": { - "args": { - "recv_format": "⇓{value:>8}", - "sent_format": "⇑{value:>8}" - } - }, - "powerline.segments.common.net.hostname": { - "before": "⌂" - }, - "powerline.segments.common.bat.battery": { - "args": { - "full_heart": "♥", - "empty_heart": "♥", - "online": "⚡︎", - "offline": " " - } - }, - "powerline.segments.common.sys.uptime": { - "before": "↑" - }, - "powerline.segments.common.mail.email_imap_alert": { - "before": "M " - }, - "powerline.segments.common.env.virtualenv": { - "before": "E " - }, - "powerline.segments.common.wthr.weather": { - "args": { - "icons": { - "day": "D", - "blustery": "W", - "rainy": "R", - "cloudy": "c", - "snowy": "*", - "stormy": "S", - "foggy": "f", - "sunny": "s", - "night": "N", - "windy": "w", - "not_available": "-", - "unknown": "!" - } - } - }, - "powerline.segments.common.time.fuzzy_time": { - "args": { - "unicode_text": true - } - }, - - "powerline.segments.vim.mode": { - "args": { - "override": { - "n": "NML", - "no": "NOP", - "v": "VIS", - "V": "VLN", - "^V": "VBL", - "s": "SEL", - "S": "SLN", - "^S": "SBL", - "i": "INS", - "ic": "I-C", - "ix": "I^X", - "R": "REP", - "Rv": "VRP", - "Rc": "R-C", - "Rx": "R^X", - "c": "CMD", - "cv": "VEX", - "ce": " EX", - "r": "PRT", - "rm": "MOR", - "r?": "CON", - "!": " SH" - } - } - }, - "powerline.segments.vim.visual_range": { - "args": { - "CTRL_V_text": "{rows}×{vcols}", - "v_text_oneline": "↔{vcols}", - "v_text_multiline": "↕{rows}", - "V_text": "⇕{rows}" - } - }, - "powerline.segments.vim.readonly_indicator": { - "args": { - "text": "RO" - } - }, - "powerline.segments.vim.modified_indicator": { - "args": { - "text": "+" - } - }, - - "powerline.segments.i3wm.scratchpad": { - "args": { - "icons": { - "fresh": "●", - "changed": "○" - } - } - } - } -} diff --git a/configs/dotfiles/powerline/themes/vim/__main__.json b/configs/dotfiles/powerline/themes/vim/__main__.json deleted file mode 100644 index 7cd3305..0000000 --- a/configs/dotfiles/powerline/themes/vim/__main__.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "segment_data": { - "line_percent": { - "args": { - "gradient": true - }, - "after": "%" - } - } -} diff --git a/configs/dotfiles/powerline/themes/vim/cmdwin.json b/configs/dotfiles/powerline/themes/vim/cmdwin.json deleted file mode 100644 index e6a05b0..0000000 --- a/configs/dotfiles/powerline/themes/vim/cmdwin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "segments": { - "left": [ - { - "type": "string", - "contents": "Command Line", - "highlight_groups": ["file_name"] - }, - { - "type": "string", - "highlight_groups": ["background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/default.json b/configs/dotfiles/powerline/themes/vim/default.json deleted file mode 100644 index 9b0c744..0000000 --- a/configs/dotfiles/powerline/themes/vim/default.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "segments": { - "left": [ - { - "function": "mode", - "exclude_modes": ["nc"] - }, - { - "function": "visual_range", - "include_modes": ["v", "V", "^V", "s", "S", "^S"], - "priority": 10 - }, - { - "function": "paste_indicator", - "exclude_modes": ["nc"], - "priority": 10 - }, - { - "function": "powerline.segments.vim.plugin.capslock.capslock_indicator", - "include_modes": ["i", "R", "Rv"], - "priority": 10 - }, - { - "function": "branch", - "exclude_modes": ["nc"], - "priority": 30 - }, - { - "function": "readonly_indicator", - "draw_soft_divider": false, - "after": " " - }, - { - "function": "file_scheme", - "priority": 20 - }, - { - "function": "file_directory", - "priority": 40, - "draw_soft_divider": false - }, - { - "function": "file_name", - "draw_soft_divider": false - }, - { - "function": "file_vcs_status", - "before": " ", - "draw_soft_divider": false - }, - { - "function": "modified_indicator", - "before": " " - }, - { - "exclude_modes": ["i", "R", "Rv"], - "function": "trailing_whitespace", - "display": false, - "priority": 60 - }, - { - "exclude_modes": ["nc"], - "function": "powerline.segments.vim.plugin.syntastic.syntastic", - "priority": 50 - }, - { - "exclude_modes": ["nc"], - "function": "powerline.segments.vim.plugin.tagbar.current_tag", - "draw_soft_divider": false, - "priority": 50 - }, - { - "type": "string", - "highlight_groups": ["background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ], - "right": [ - { - "function": "file_format", - "draw_soft_divider": false, - "exclude_modes": ["nc"], - "priority": 60 - }, - { - "function": "file_encoding", - "exclude_modes": ["nc"], - "priority": 60 - }, - { - "function": "file_type", - "exclude_modes": ["nc"], - "priority": 60 - }, - { - "function": "line_percent", - "priority": 50, - "width": 4, - "align": "r" - }, - { - "function": "csv_col_current", - "priority": 30 - }, - { - "type": "string", - "name": "line_current_symbol", - "highlight_groups": ["line_current_symbol", "line_current"] - }, - { - "function": "line_current", - "draw_soft_divider": false, - "width": 3, - "align": "r" - }, - { - "function": "virtcol_current", - "draw_soft_divider": false, - "priority": 20, - "before": ":", - "width": 3, - "align": "l" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/help.json b/configs/dotfiles/powerline/themes/vim/help.json deleted file mode 100644 index 45c9458..0000000 --- a/configs/dotfiles/powerline/themes/vim/help.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "segments": { - "left": [ - { - "function": "file_name", - "draw_soft_divider": false - }, - { - "type": "string", - "highlight_groups": ["background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ], - "right": [ - { - "function": "line_percent", - "priority": 30, - "width": 4, - "align": "r" - }, - { - "type": "string", - "name": "line_current_symbol", - "highlight_groups": ["line_current_symbol", "line_current"] - }, - { - "function": "line_current", - "draw_soft_divider": false, - "width": 3, - "align": "r" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/plugin_commandt.json b/configs/dotfiles/powerline/themes/vim/plugin_commandt.json deleted file mode 100644 index dd6748f..0000000 --- a/configs/dotfiles/powerline/themes/vim/plugin_commandt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "segments": { - "left": [ - { - "type": "string", - "contents": "Command-T", - "highlight_groups": ["commandt:label"] - }, - { - "function": "powerline.segments.vim.plugin.commandt.finder" - }, - { - "function": "powerline.segments.vim.plugin.commandt.path" - }, - { - "type": "string", - "highlight_groups": ["commandt:background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ], - "right": [ - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/plugin_gundo-preview.json b/configs/dotfiles/powerline/themes/vim/plugin_gundo-preview.json deleted file mode 100644 index ad8432c..0000000 --- a/configs/dotfiles/powerline/themes/vim/plugin_gundo-preview.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "segments": { - "left": [ - { - "type": "string", - "highlight_groups": ["gundo:name", "file_name"], - "contents": "Undo diff" - }, - { - "type": "string", - "highlight_groups": ["gundo:background", "background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/plugin_gundo.json b/configs/dotfiles/powerline/themes/vim/plugin_gundo.json deleted file mode 100644 index a03b256..0000000 --- a/configs/dotfiles/powerline/themes/vim/plugin_gundo.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "segments": { - "left": [ - { - "type": "string", - "highlight_groups": ["gundo:name", "file_name"], - "contents": "Undo tree" - }, - { - "type": "string", - "highlight_groups": ["gundo:background", "background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/plugin_nerdtree.json b/configs/dotfiles/powerline/themes/vim/plugin_nerdtree.json deleted file mode 100644 index 896d393..0000000 --- a/configs/dotfiles/powerline/themes/vim/plugin_nerdtree.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "default_module": "powerline.segments.vim.plugin.nerdtree", - "segments": { - "left": [ - { - "function": "nerdtree" - }, - { - "type": "string", - "highlight_groups": ["background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/quickfix.json b/configs/dotfiles/powerline/themes/vim/quickfix.json deleted file mode 100644 index ae4d5a5..0000000 --- a/configs/dotfiles/powerline/themes/vim/quickfix.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "segment_data": { - "buffer_name": { - "contents": "Location List" - } - }, - "segments": { - "left": [ - { - "type": "string", - "name": "buffer_name", - "highlight_groups": ["file_name"] - }, - { - "function": "window_title", - "draw_soft_divider": false - }, - { - "type": "string", - "highlight_groups": ["background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ], - "right": [ - { - "type": "string", - "name": "line_current_symbol", - "highlight_groups": ["line_current_symbol", "line_current"] - }, - { - "function": "line_current", - "draw_soft_divider": false, - "width": 3, - "align": "r" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/vim/tabline.json b/configs/dotfiles/powerline/themes/vim/tabline.json deleted file mode 100644 index 1e3130e..0000000 --- a/configs/dotfiles/powerline/themes/vim/tabline.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "default_module": "powerline.segments.vim", - "segments": { - "left": [ - { - "type": "segment_list", - "function": "powerline.listers.vim.tablister", - "exclude_function": "single_tab", - "segments": [ - { - "function": "tab" - }, - { - "function": "tabnr", - "after": " ", - "priority": 5 - }, - { - "function": "file_directory", - "priority": 40 - }, - { - "function": "file_name", - "args": { - "display_no_file": true - }, - "priority": 10 - }, - { - "function": "tab_modified_indicator", - "priority": 5 - } - ] - }, - { - "function": "tab", - "args": { - "end": true - } - }, - { - "type": "segment_list", - "function": "powerline.listers.vim.bufferlister", - "include_function": "single_tab", - "segments": [ - { - "function": "bufnr", - "after": " ", - "priority": 5 - }, - { - "function": "file_directory", - "priority": 40 - }, - { - "function": "file_name", - "args": { - "display_no_file": true - }, - "priority": 10 - }, - { - "function": "modified_indicator", - "priority": 5 - } - ] - }, - { - "type": "string", - "highlight_groups": ["tab:background"], - "draw_soft_divider": false, - "draw_hard_divider": false, - "width": "auto" - } - ], - "right": [ - { - "type": "string", - "contents": "Bufs", - "name": "single_tab", - "highlight_groups": ["single_tab"], - "include_function": "single_tab" - }, - { - "type": "string", - "contents": "Tabs", - "name": "many_tabs", - "highlight_groups": ["many_tabs"], - "exclude_function": "single_tab" - } - ] - } -} diff --git a/configs/dotfiles/powerline/themes/wm/default.json b/configs/dotfiles/powerline/themes/wm/default.json deleted file mode 100644 index 3d468b4..0000000 --- a/configs/dotfiles/powerline/themes/wm/default.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "segments": { - "right": [ - { - "function": "powerline.segments.common.time.date" - }, - { - "function": "powerline.segments.common.time.date", - "name": "time", - "args": { - "format": "%H:%M", - "istime": true - } - } - ] - } -} diff --git a/configs/dotfiles/symlink_configs.sh b/configs/dotfiles/symlink_configs.sh old mode 100755 new mode 100644 index 65f1d25..29e49f2 --- a/configs/dotfiles/symlink_configs.sh +++ b/configs/dotfiles/symlink_configs.sh @@ -1,19 +1,22 @@ #!/bin/bash -#mv ~/.bashrc ./temp/.bashrc -#ln -s /home/gib/Documents/Configs/bashrc /home/gib/.bashrc -#mv ~/.config/espanso ./temp/espanso -#ln -s /home/gib/Documents/Configs/espanso /home/gib/.config/espanso +mv ~/.bashrc ./temp/.bashrc +ln -s /home/gib/Documents/Configs/bashrc /home/gib/.bashrc +mv ~/.config/espanso ./temp/espanso +ln -s /home/gib/Documents/Configs/espanso /home/gib/.config/espanso mv ~/.config/forge ./temp/forge ln -s /home/gib/Documents/Configs/forge /home/gib/.config/forge mv ~/.config/kitty ./temp/kitty ln -s /home/gib/Documents/Configs/kitty /home/gib/.config/kitty mv ~/.config/lobster ./temp/lobster ln -s /home/gib/Documents/Configs/lobster /home/gib/.config/lobster -#mv ~/.config/neomutt ./temp/neomutt -#ln -s /home/gib/Documents/Configs/neomutt /home/gib/.config/neomutt +mv ~/.config/neomutt ./temp/neomutt +ln -s /home/gib/Documents/Configs/neomutt /home/gib/.config/neomutt mv ~/.config/nvim ./temp/nvim ln -s /home/gib/Documents/Configs/nvim /home/gib/.config/nvim mv ~/.config/powerline ./temp/powerline ln -s /home/gib/Documents/Configs/powerline /home/gib/.config/powerline mv ~/.config/ranger ./temp/ranger ln -s /home/gib/Documents/Configs/ranger /home/gib/.config/ranger +mv ~/.config/hypr ./temp/hypr +mv ~/config/waybar ./temp/waybar +ln -s ~/Documetns/Configs/hyprland/