diff options
Diffstat (limited to '.config')
| -rw-r--r-- | .config/eww/bar/main.yuck | 193 | ||||
| -rw-r--r-- | .config/eww/bar/style.scss | 16 | ||||
| -rw-r--r-- | .config/eww/dock/main.yuck | 94 | ||||
| -rw-r--r-- | .config/eww/dock/style.scss | 16 | ||||
| -rw-r--r-- | .config/eww/eww.scss | 21 | ||||
| -rw-r--r-- | .config/eww/eww.yuck | 26 | ||||
| -rw-r--r-- | .config/eww/panel/drives.yuck | 77 | ||||
| -rw-r--r-- | .config/eww/panel/main.yuck | 142 | ||||
| -rw-r--r-- | .config/eww/panel/style.scss | 69 | ||||
| -rw-r--r-- | .config/eww/status/main.yuck | 44 | ||||
| -rw-r--r-- | .config/eww/status/style.scss | 14 |
11 files changed, 712 insertions, 0 deletions
diff --git a/.config/eww/bar/main.yuck b/.config/eww/bar/main.yuck new file mode 100644 index 0000000..a379ace --- /dev/null +++ b/.config/eww/bar/main.yuck @@ -0,0 +1,193 @@ +(defwindow bar + :monitor 0 + :geometry (geometry :x -28 :y 0 :anchor "center right") +(bar)) + +(defwidget bar [] + (box + :class "bar" + :orientation "v" + :space-evenly false + (bar-group + (bar-item-center-window) + (bar-item-resize-ratio) + (bar-item-resize) + (bar-item-toggle-floaty) + (bar-item-close-window) + ) + (bar-group + (bar-item-balance) + (bar-item-rotate) + (bar-item-focus-parent) + ) + (bar-group + (bar-item-toggle-borders) + (bar-item-toggle-hidden) + (bar-item-toggle-monocle) + ) + (bar-group + (bar-item-empty-desktop) + (bar-item-cycle-desktops) + ) + (bar-group + ;(bar-item-clipboard) + (bar-item-screenshot) + (bar-item-power) + ) + ) +) + +(defwidget bar-group [] + (box + :class "bar-group" + :orientation "v" + (children) + ) +) + +(defwidget bar-item [icon ?color ?lclick ?rclick] + (box + :class "bar-item" + (eventbox + :onscroll "resize-window {}" + (button + :onclick lclick + :onrightclick rclick + ;:timeout 200 + (icon :name icon :color color) + ) + ) + ) +) + +(defwidget bar-item-balance [] + (bar-item + :icon "columns" + :color "yellow" + :lclick "bspc node @/ -B" + ) +) + +(defwidget bar-item-center-window [] + (bar-item + :icon "minimize" + :color "yellow" + :lclick "center-window" + ) +) + +(defwidget bar-item-clipboard [] + (bar-item + :icon "clipboard" + :color "yellow" + ) +) + +(defwidget bar-item-close-window [] + (bar-item + :icon "x-circle" + :color "red" + :lclick "close-window" + ) +) + +(defwidget bar-item-cycle-desktops [] + (bar-item + :icon "skip-forward" + :color "blue" + :lclick "show-desktop next" + :rclick "show-desktop prev" + ) +) + +(defwidget bar-item-empty-desktop [] + (bar-item + :icon "plus-circle" + :color "green" + :lclick "show-desktop empty" + ) +) + +(defwidget bar-item-focus-parent [] + (bar-item + :icon "arrow-up-circle" + :color "blue" + :lclick "bspc node -f @parent" + ) +) + +(defwidget bar-item-power [] + (bar-item + :icon "power" + :color "red" + :lclick "shut-down" + ) +) + +(defwidget bar-item-resize [] + (bar-item + :icon "maximize-2" + :color "blue" + :lclick "bspc node -z top_left -16 -9 \ + && bspc node -z bottom_right 16 9" + :rclick "bspc node -z top_left 16 9 \ + && bspc node -z bottom_right -16 -9" + ) +) + +(defwidget bar-item-resize-ratio [] + (bar-item + :icon "youtube" + :color "green" + :lclick "resize-ratio 16 9" + ) +) + +(defwidget bar-item-rotate [] + (bar-item + :icon "rotate-cw" + :color "green" + :lclick "bspc node -R 90" + ) +) + +(defwidget bar-item-screenshot [] + (bar-item + :icon "camera" + :color "purple" + :lclick "notify hello" + :rclick "scrot -s -l mode=edge,width=7,color=\"#FFFFFF\",opacity=20 -e 'mv $f ~/unsorted/screenshots'" + ) +) + +(defwidget bar-item-toggle-borders [] + (bar-item + :icon "maximize" + :icon {disableBorders ? "square" : "maximize"} + :color "purple" + :lclick "toggle-borders" + ) +) + +(defwidget bar-item-toggle-floaty [] + (bar-item + :icon {focusIsFloaty ? "corner-left-down" : "corner-right-up"} + :color "purple" + :lclick "toggle-floaty" + ) +) + +(defwidget bar-item-toggle-hidden [] + (bar-item + :icon "eye" + :color "red" + :lclick "toggle-hidden" + ) +) +(defwidget bar-item-toggle-monocle [] + (bar-item + :icon {monocleMode ? "zoom-out" : "zoom-in"} + :color "yellow" + :lclick "toggle-monocle" + ) +) diff --git a/.config/eww/bar/style.scss b/.config/eww/bar/style.scss new file mode 100644 index 0000000..121cd12 --- /dev/null +++ b/.config/eww/bar/style.scss @@ -0,0 +1,16 @@ +.bar { + background-color: $borderColor; + // border: $borderSize solid $borderColor; + padding: $borderSize 0 0 0; +} + +.bar-group { + background-color: $bgColor; + border-radius: $borderRadius; + margin: 0 $borderSize $borderSize $borderSize; + padding: 7; +} + +.bar-item { + padding: 7; +} diff --git a/.config/eww/dock/main.yuck b/.config/eww/dock/main.yuck new file mode 100644 index 0000000..a3ec73f --- /dev/null +++ b/.config/eww/dock/main.yuck @@ -0,0 +1,94 @@ +(defwindow dock + :monitor 0 + :geometry (geometry :x 0 :y -28 :anchor "bottom center") + (dock)) + +(defwidget dock [] + (box + :class "dock" + :space-evenly false + (dock-group + (dock-item + :icon "firefox" + :lclick "quick-app -c firefox -i Navigator&" + :rclick "firefox&" + ) + (dock-item + :icon "nautilus" + :lclick "quick-app -c Thunar -f thunar ~/unsorted" + ) + (dock-item + :icon "terminal" + :lclick "quick-app -c kitty -i quick -f kitty --name quick" + :rclick "cd ~ && kitty&" + ) + ) + (dock-group + (dock-item + :icon "email" + ) + (dock-item + :icon "telegram" + :lclick "quick-app -c TelegramDesktop -f telegram-desktop" + ) + (dock-item + :icon "weechat" + ) + (dock-item + :icon "discord-development" + :lclick "quick-app -c discord -f" + ) + ) + (dock-group + (dock-item + :icon "preferences-desktop-color" + ;:icon "openrgb" + ;:icon "gcolor3" + :lclick "quick-app -c Gcolor3 -f gcolor3" + ) + (dock-item + :icon "gnome-calculator" + :lclick "quick-app -c gnome-calculator -f" + ) + (dock-item + :icon "easyeffects" + :lclick "quick-app -c easyeffects -f" + ) + (dock-item + :icon "obs" + :lclick "quick-app -c obs -f" + ) + (dock-item + :icon "deepin-music-player" + ) + ) + (dock-group + (dock-item :icon "youtube" :lclick "quick-app -c mpv&") + (dock-item + :icon "steam" + :lclick "quick-app -c Steam steam&" + ) + (dock-item :icon "blender" :lclick "quick-app -c Blender blender&") + (dock-item :icon "godot" :lclick "quick-app -c Godot -f godot&") + (dock-item :icon "inkscape" :lclick "quick-app -c Inkscape inkscape&") + ) + ) +) + +(defwidget dock-group [] + (box + :class "dock-group" + (children) + ) +) + +(defwidget dock-item [icon ?lclick ?rclick] + (box + :class "dock-item" + (button + :onclick lclick + :onrightclick rclick + (image :path "${appIcons}${icon}.svg") + ) + ) +) diff --git a/.config/eww/dock/style.scss b/.config/eww/dock/style.scss new file mode 100644 index 0000000..4cc4515 --- /dev/null +++ b/.config/eww/dock/style.scss @@ -0,0 +1,16 @@ +.dock { + background-color: $borderColor; + // border: $borderSize solid $borderColor; + padding: 0 0 0 $borderSize; +} + +.dock-group { + background-color: $bgColor; + border-radius: $borderRadius; + margin: $borderSize $borderSize $borderSize 0; + padding: 5; +} + +.dock-item { + padding: 5; +} diff --git a/.config/eww/eww.scss b/.config/eww/eww.scss new file mode 100644 index 0000000..3c46de1 --- /dev/null +++ b/.config/eww/eww.scss @@ -0,0 +1,21 @@ +$borderColor: #24283b; +$borderRadius: 5px; +$borderSize: 5px; +$bgColor: #1a1b26; +$fgColor: #c0caf5; + +* { + all: unset; + color: $fgColor; +} + +// .window { +// background-color: $bgColor; +// border: $borderSize solid $borderColor; +// color: $fgColor; +// } + +@import "bar/style.scss"; +@import "dock/style.scss"; +@import "panel/style.scss"; +@import "status/style.scss"; diff --git a/.config/eww/eww.yuck b/.config/eww/eww.yuck new file mode 100644 index 0000000..fbd1bc3 --- /dev/null +++ b/.config/eww/eww.yuck @@ -0,0 +1,26 @@ +(defvar appIcons "/usr/share/icons/Papirus-Dark/48x48/apps/") +(defvar barIcons "/home/sxrdusr/.local/share/icons/feather-icons/") + +(defvar disableBorders false) +(defvar externalMonitor false) +(defvar focusIsFloaty false) +(defvar monocleMode false) +(defvar ultrawide true) +(defvar brightness 10) +(defvar nightlight 0) +(defvar volume 10) + +(defpoll date :interval "1m" "date '+%B %d'") +(defpoll time :interval "2s" "date '+%H:%M'") + +(defwidget icon [name ?color ?size] + (image + :image-width {size?:20} + :path "${barIcons}/${color?:'white'}/${name}.svg" + ) +) + +(include "bar/main.yuck") +(include "dock/main.yuck") +(include "panel/main.yuck") +(include "status/main.yuck") diff --git a/.config/eww/panel/drives.yuck b/.config/eww/panel/drives.yuck new file mode 100644 index 0000000..122f0d8 --- /dev/null +++ b/.config/eww/panel/drives.yuck @@ -0,0 +1,77 @@ +(defwidget dock-drives [] + (box + :orientation "v" + (disk + :label "System" + :mount "/" + :space "100" + ) + (disk + :label "SSD 1" + :mount "/mnt/ssd250" + :space "250" + ) + (disk + :label "SSD 2" + :mount "/mnt/games" + :space "250" + ) + (disk + :label "HDD" + :mount "/mnt/hdd500" + :space "500" + ) + (disk + :label "RAID" + :mount "/mnt/raid" + :space "3000" + ) + ) +) + +(defwidget disk [label mount space] + (eventbox + :class "disk-wrapper" + (button + :onclick "quick file ${mount}" + (box + :class "disk" + :space-evenly false + (box + :class "disk-icon" + :width 30 + (image :path "/home/edwin/workspace/icons/hard-drive.svg") + ) + (box + :class "disk-usage" + :orientation "v" + :spacing 3 + :space-evenly false + (box + :class "disk-usage-text" + :width 140 + (box + :halign "start" + :valign "start" + label + ) + (box + :halign "end" + :valign "end" + :hexpand true + :vexpand true + "${round(EWW_DISK[mount].free/1000000000, 0)} GB" + ) + ) + (scale + :class "disk-usage-bar" + :marks "false" + :max 100 + :min 0 + :value {EWW_DISK[mount].used_perc} + ) + ) + ) + ) + ) +) diff --git a/.config/eww/panel/main.yuck b/.config/eww/panel/main.yuck new file mode 100644 index 0000000..ac8b559 --- /dev/null +++ b/.config/eww/panel/main.yuck @@ -0,0 +1,142 @@ +(defwindow panel + :monitor 0 + :geometry (geometry :x 28 :y 0 :anchor "center left") + (panel)) + +(defwidget panel [] + (box + :class "panel" + :orientation "v" + :space-evenly false + (panel-audio) + (panel-video) + ) +) + +; Panel Items + +(defwidget panel-buttons [] + (box + :class "panel-buttons" + :space-evenly false + (children) + ) +) + +(defwidget panel-checkbox [?change text ?value] + (button + :onclick change + (box + :class "panel-checkbox" + :space-evenly false + (icon :name {value ? "check-square" : "square"}) + text + ) + ) +) + +(defwidget panel-slider [icon ?setter ?value] + (eventbox + ;:onscroll setter + (box + :space-evenly false + (icon :name icon) + (scale + :class "panel-slider" + :min 0 + :max 11 + :onchange setter + :value value + ) + ) + ) +) + +; Panel Sections + +(defwidget panel-section [color icon title] + (box + :class "panel-section" + :orientation "v" + :space-evenly false + (box + :class "panel-header" + :spacing 10 + :space-evenly false + (icon :name icon :color color) + title + ) + (box + :orientation "v" + :space-evenly false + :spacing 14 + (children) + ) + ) +) + +(defwidget panel-audio [] + (panel-section + :color "green" + :icon "sliders" + :title "Audio" + + ; audio device + (panel-buttons + (button :onclick "set-output -a pci-0000_00_1b" "Bar") + (button :onclick "set-output -a stereo-game" "Headset") + (button :onclick "set-output -a HD3" "Speakers") + ) + + ; volume slider + (panel-slider + :icon "volume-2" + :setter "set-volume {}" + :value volume + ) + ) +) + +(defwidget panel-video [] + (panel-section + :color "red" + :icon "monitor" + :title "Video" + + ; wallpaper setter + (eventbox + :ondropped "set-wallpaper {}" + (button + :onclick "quick-app -c Thunar -f \ + && thunar /home/edwin/.local/share/backgrounds" + (image + :class "panel-wallpaper" + :path "/home/edwin/.config/wallpaper" + :image-height 108 + :image-width 256 + ) + ) + ) + + ; brightness slider + (panel-slider + :icon "sun" + :setter "set-brightness {}" + :value brightness + ) + + ; external monitor + (panel-checkbox + :change "set-output -e ${!externalMonitor}" + :text "External Monitor" + :value externalMonitor + ) + + ; ultrawide resolution + (panel-checkbox + :change "set-output -u ${!ultrawide}" + :text "Ultrawide Resolution" + :value ultrawide + ) + ) +) diff --git a/.config/eww/panel/style.scss b/.config/eww/panel/style.scss new file mode 100644 index 0000000..0f39959 --- /dev/null +++ b/.config/eww/panel/style.scss @@ -0,0 +1,69 @@ +.panel { + background-color: $borderColor; + padding: $borderSize; + + .button { + background-color: $borderColor; + border-radius: $borderRadius; + margin-left: 10; + padding: 8; + + &:first-child { + margin-left: 0; + } + } +} + +.panel-buttons { + button { + background-color: $borderColor; + border-radius: $borderRadius; + margin-left: 14; + padding: 7 9; + + &:first-child { + margin-left: 0; + } + } +} + +.panel-checkbox { + image { + margin-right: 10; + } +} + +.panel-header { + margin-bottom: 14; +} + +.panel-section { + background-color: $bgColor; + border-radius: $borderRadius; + margin-top: $borderSize; + padding: 14; + + &:first-child { + margin-top: 0; + } +} + +.panel-slider { + margin-left: 10; + + trough { + background-color: $borderColor; + border-radius: 5; + min-height: 10px; + min-width: 232px; + + highlight { + border-radius: 5; + background-color: #414868; + } + } +} + +.panel-wallpaper { + border: 3px solid $borderColor; +} diff --git a/.config/eww/status/main.yuck b/.config/eww/status/main.yuck new file mode 100644 index 0000000..c6ebd3e --- /dev/null +++ b/.config/eww/status/main.yuck @@ -0,0 +1,44 @@ +; windows +(defwindow status + :monitor 0 + :geometry (geometry :x 0 :y 28 :anchor "top center") + (status)) + +(defwidget status [] + (box + :class "status" + :space-evenly false + :spacing 5 + (status-item :color "green" :icon "clock" :text time) + (status-item :color "yellow" :icon "calendar" :text date) + (status-item + :color "red" + :icon "thermometer" + :text "${EWW_TEMPS["CPU"]}°" + ) + (status-item + :color "blue" + :icon "cpu" + :text "${round(EWW_CPU["avg"],0)}%" + ) + (status-item + :color "purple" + :icon "database" + :text "${round(EWW_RAM["used_mem_perc"],0)}%" + ) + ) +) + +(defwidget status-item [icon ?color text] + (box + :class "status-item" + :space-evenly false + :spacing 7 + (icon :color color :name icon) + text + ) +) + +(defwidget status-seperator [] + (box :class "status-seperator") +) diff --git a/.config/eww/status/style.scss b/.config/eww/status/style.scss new file mode 100644 index 0000000..a31257e --- /dev/null +++ b/.config/eww/status/style.scss @@ -0,0 +1,14 @@ +.status { + background-color: $borderColor; + border: $borderSize solid $borderColor; +} + +.status-item { + background-color: $bgColor; + border-radius: $borderRadius; + font-family: "Inter"; + font-size: 13; + font-weight: 700; + min-width: 60px; + padding: 7; +} |
