mirror of
https://github.imc.re/void-land/hyprland-void-dots
synced 2025-04-26 05:56:55 +02:00
feat: eww workspaces
This commit is contained in:
parent
2a1ec8967b
commit
dccad1e64e
12 changed files with 564 additions and 476 deletions
|
@ -12,7 +12,7 @@ declare -A PACKAGES=(
|
||||||
["BASE_PACKAGES"]="inetutils v4l2loopback bind-utils zellij bat dust aria2 fzf neofetch bat zsh fish-shell brightnessctl bluez cronie git stow eza dbus seatd elogind polkit NetworkManager gnome-keyring polkit-gnome pipewire wireplumber inotify-tools xorg gnome-keyring polkit-gnome mtpfs ffmpeg libnotify"
|
["BASE_PACKAGES"]="inetutils v4l2loopback bind-utils zellij bat dust aria2 fzf neofetch bat zsh fish-shell brightnessctl bluez cronie git stow eza dbus seatd elogind polkit NetworkManager gnome-keyring polkit-gnome pipewire wireplumber inotify-tools xorg gnome-keyring polkit-gnome mtpfs ffmpeg libnotify"
|
||||||
["DEVEL_PACKAGES"]="glib pango-devel gdk-pixbuf-devel libdbusmenu-gtk3-devel glib-devel gtk+3-devel gtk-layer-shell-devel base-devel startup-notification-devel cairo-devel xcb-util-devel xcb-util-cursor-devel xcb-util-xrm-devel xcb-util-wm-devel"
|
["DEVEL_PACKAGES"]="glib pango-devel gdk-pixbuf-devel libdbusmenu-gtk3-devel glib-devel gtk+3-devel gtk-layer-shell-devel base-devel startup-notification-devel cairo-devel xcb-util-devel xcb-util-cursor-devel xcb-util-xrm-devel xcb-util-wm-devel"
|
||||||
["AMD_DRIVERS"]="opencv Vulkan-Headers Vulkan-Tools Vulkan-ValidationLayers-32bit mesa-vulkan-radeon mesa-vulkan-radeon-32bit vulkan-loader vulkan-loader-32bit libspa-vulkan libspa-vulkan-32bit amdvlk mesa-dri mesa-vaapi"
|
["AMD_DRIVERS"]="opencv Vulkan-Headers Vulkan-Tools Vulkan-ValidationLayers-32bit mesa-vulkan-radeon mesa-vulkan-radeon-32bit vulkan-loader vulkan-loader-32bit libspa-vulkan libspa-vulkan-32bit amdvlk mesa-dri mesa-vaapi"
|
||||||
["HYPRLAND_PACKAGES"]="eww nerd-fonts-symbols-ttf Waybar avizo dunst swaybg mpvpaper grim jq slurp cliphist wl-clipboard swayidle pavucontrol nemo eog pavucontrol evince xorg-server-xwayland xdg-desktop-portal-gtk xdg-desktop-portal-wlr xdg-utils qt5-x11extras qt5-wayland qt6-wayland"
|
["HYPRLAND_PACKAGES"]="socat eww nerd-fonts-symbols-ttf Waybar avizo dunst swaybg mpvpaper grim jq slurp cliphist wl-clipboard swayidle pavucontrol nemo eog pavucontrol evince xorg-server-xwayland xdg-desktop-portal-gtk xdg-desktop-portal-wlr xdg-utils qt5-x11extras qt5-wayland qt6-wayland"
|
||||||
["SYSTEM_APPS"]="alacritty octoxbps blueman wifish wpa_gui glow"
|
["SYSTEM_APPS"]="alacritty octoxbps blueman wifish wpa_gui glow"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,68 +1,84 @@
|
||||||
|
.widget {
|
||||||
|
padding: 5px 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: $surface0;
|
||||||
|
margin: 5px 2px;
|
||||||
|
color: $white0;
|
||||||
|
// border-style: solid;
|
||||||
|
// border-color: $white0;
|
||||||
|
// border-width: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
.barwidget {
|
.barwidget {
|
||||||
background-color: $base;
|
background-color: $base;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
min-width: 1em;
|
min-width: 1em;
|
||||||
min-height: 1em;
|
min-height: 1em;
|
||||||
font-family: "Symbols Nerd Font";
|
font-family: "Symbols Nerd Font";
|
||||||
padding: 2px 0px;
|
padding: 2px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.revealtouch {
|
.revealtouch {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
margin: 5px 0px;
|
margin: 5px 0px;
|
||||||
color: $surface2;
|
color: $surface2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.workspaces {
|
.workspaces {
|
||||||
padding: 5px;
|
@extend .widget;
|
||||||
}
|
|
||||||
|
|
||||||
.workspaces label {
|
* {
|
||||||
font-size: 18;
|
transition: all cubic-bezier(0.165, 0.84, 0.44, 1) 500ms;
|
||||||
padding-right: 5px;
|
}
|
||||||
padding: 2px 5px 2px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget {
|
.workspace {
|
||||||
padding: 5px 5px;
|
margin: 6px;
|
||||||
border-radius: 5px;
|
border-radius: 4px;
|
||||||
background-color: $surface0;
|
}
|
||||||
margin: 5px 2px;
|
|
||||||
color: $white0;
|
.workspacething {
|
||||||
// border-style: solid;
|
background-color: $surface2;
|
||||||
// border-color: $white0;
|
}
|
||||||
// border-width: 2px;
|
|
||||||
|
.workspacethingactive {
|
||||||
|
background-color: $accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
// font-size: 18;
|
||||||
|
// padding-right: 5px;
|
||||||
|
// padding: 2px 5px 2px 0px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.clock label {
|
.clock label {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bat_scale trough{
|
.bat_scale trough {
|
||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
min-width: 18px;
|
min-width: 18px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
slider {
|
slider {
|
||||||
all: unset;
|
all: unset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bat_scale trough highlight{
|
.bat_scale trough highlight {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
background-color: $accent;
|
background-color: $accent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.charging trough highlight {
|
.charging trough highlight {
|
||||||
background-color: $green;
|
background-color: $green;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dying trough highlight {
|
.dying trough highlight {
|
||||||
background-color: $red;
|
background-color: $red;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .mpd label {
|
// .mpd label {
|
||||||
|
@ -74,87 +90,73 @@
|
||||||
// }
|
// }
|
||||||
|
|
||||||
.mpd_controls label {
|
.mpd_controls label {
|
||||||
font-family: "Symbols Nerd Font";
|
font-family: "Symbols Nerd Font";
|
||||||
min-width: 1em;
|
min-width: 1em;
|
||||||
min-height: 1em;
|
min-height: 1em;
|
||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.seektime {
|
.seektime {
|
||||||
trough {
|
trough {
|
||||||
min-height: 10px;
|
min-height: 10px;
|
||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
|
|
||||||
slider {
|
slider {
|
||||||
background-color: $white2;
|
background-color: $white2;
|
||||||
border-radius: 25px;
|
border-radius: 25px;
|
||||||
min-height: 20px;
|
min-height: 20px;
|
||||||
min-width: 20px;
|
min-width: 20px;
|
||||||
margin: -10px;
|
margin: -10px;
|
||||||
}
|
|
||||||
|
|
||||||
highlight {
|
|
||||||
background-color: $red;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
highlight {
|
||||||
|
background-color: $red;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidempdctl {
|
.sidempdctl {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
label {
|
label {
|
||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
min-height: 1em;
|
min-height: 1em;
|
||||||
min-width: 1em;
|
min-width: 1em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mpdvolumeseek {
|
.mpdvolumeseek {
|
||||||
@extend .seektime;
|
@extend .seektime;
|
||||||
trough {
|
trough {
|
||||||
min-height: 100px;
|
min-height: 100px;
|
||||||
min-width: 10px;
|
min-width: 10px;
|
||||||
highlight {
|
highlight {
|
||||||
background-color: $white0;
|
background-color: $white0;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.touch label {
|
.touch label {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mtitle {
|
.mtitle {
|
||||||
color: $white0;
|
color: $white0;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.launchicon {
|
.launchicon {
|
||||||
@extend .icon;
|
@extend .icon;
|
||||||
color: $accent;
|
color: $accent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.picon {
|
.picon {
|
||||||
@extend .icon;
|
@extend .icon;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lightning {
|
.lightning {
|
||||||
color: $surface0
|
color: $surface0;
|
||||||
}
|
|
||||||
|
|
||||||
.workspacething, .workspacethingactive {
|
|
||||||
transition: 500ms;
|
|
||||||
border-radius: 5;
|
|
||||||
margin: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspacething {
|
|
||||||
background-color: $surface2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspacethingactive {
|
|
||||||
background-color: $accent;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
(defwindow bar
|
(defwindow bar
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
:x "0%"
|
:x "0%"
|
||||||
:y "0%"
|
:y "0%"
|
||||||
|
@ -14,6 +14,7 @@
|
||||||
:wm-ignore false
|
:wm-ignore false
|
||||||
(barstruct))
|
(barstruct))
|
||||||
|
|
||||||
|
|
||||||
(defwidget barstruct []
|
(defwidget barstruct []
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
|
@ -32,7 +33,7 @@
|
||||||
(bottom)
|
(bottom)
|
||||||
)))
|
)))
|
||||||
|
|
||||||
(defwidget top []
|
(defwidget top []
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
|
@ -45,7 +46,7 @@
|
||||||
(hiddenctl)
|
(hiddenctl)
|
||||||
))
|
))
|
||||||
|
|
||||||
(defwidget middle []
|
(defwidget middle []
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
|
@ -66,25 +67,57 @@
|
||||||
:hexpand false
|
:hexpand false
|
||||||
(stray)
|
(stray)
|
||||||
(sliders)
|
(sliders)
|
||||||
(battery)
|
|
||||||
(clock)
|
(clock)
|
||||||
|
; (battery)
|
||||||
))
|
))
|
||||||
|
|
||||||
|
(defvar show_no_of_windows false)
|
||||||
|
|
||||||
|
(deflisten workspacesdata :initial "[]" "./scripts/workspaces get-all-workspaces")
|
||||||
|
|
||||||
|
(defpoll current_workspace :initial "0" :interval "50ms" "./scripts/workspaces get-active-workspace")
|
||||||
|
|
||||||
(defwidget workspaces []
|
(defwidget workspaces []
|
||||||
(eventbox
|
(eventbox
|
||||||
:cursor "pointer"
|
:cursor "pointer"
|
||||||
|
:onscroll "./scripts/workspaces change {} ${current_workspace}"
|
||||||
|
:onhover "eww update show_no_of_windows=true"
|
||||||
|
:onhoverlost "eww update show_no_of_windows=false"
|
||||||
(box
|
(box
|
||||||
:class "workspaces widget"
|
:class "workspaces"
|
||||||
:orientation "v"
|
:space-evenly false
|
||||||
:space-evenly false
|
:orientation "v"
|
||||||
(for workspace in {workspacejson}
|
(for workspace in {workspacesdata}
|
||||||
(button
|
(button
|
||||||
:onclick "swaymsg -t command workspace number ${workspace.name}"
|
:onclick "hyprctl dispatch workspace ${workspace.id}"
|
||||||
(box
|
(box
|
||||||
:hexpand false
|
:hexpand false
|
||||||
:width 10
|
:width 10
|
||||||
:height { workspace.focused ? 60 : !workspace.empty ? 40 : 30}
|
:height { workspace.id == current_workspace ? 60 : 35 }
|
||||||
:class { workspace.focused ? "workspacethingactive" : "workspacething"}))))))
|
:class "workspace ${workspace.id == current_workspace ? "workspacethingactive" : "workspacething"}"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
; (defwidget workspaces []
|
||||||
|
; (eventbox
|
||||||
|
; :cursor "pointer"
|
||||||
|
; (box
|
||||||
|
; :class "workspaces widget"
|
||||||
|
; :orientation "v"
|
||||||
|
; :space-evenly false
|
||||||
|
; (for workspace in {workspacejson}
|
||||||
|
; (button
|
||||||
|
; :onclick "swaymsg -t command workspace number ${workspace.name}"
|
||||||
|
; (box
|
||||||
|
; :hexpand false
|
||||||
|
; :width 10
|
||||||
|
; :height { workspace.focused ? 60 : !workspace.empty ? 40 : 30}
|
||||||
|
; :class { workspace.focused ? "workspacethingactive" : "workspacething"}))))))
|
||||||
|
|
||||||
|
|
||||||
(defwidget home []
|
(defwidget home []
|
||||||
(box
|
(box
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
@import "./themes/oxocarbon.scss"
|
@import "./themes/oxocarbon.scss";
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
(defwindow control_panel
|
(defwindow control_panel
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
:x 10
|
:x 10
|
||||||
:y 10
|
:y 10
|
||||||
:width 340
|
:width 340
|
||||||
:height 1000
|
:height 1000
|
||||||
:anchor "top left"
|
:anchor "top left"
|
||||||
)
|
)
|
||||||
:stacking "overlay"
|
:stacking "overlay"
|
||||||
:monitor 0
|
:monitor 0
|
||||||
(control_widget))
|
(control_widget))
|
||||||
|
|
||||||
(defwidget control_widget[?short]
|
(defwidget control_widget[?short]
|
||||||
(box
|
(box
|
||||||
:class "controlpanelwindow"
|
:class "controlpanelwindow"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
|
@ -21,80 +21,80 @@
|
||||||
(chooser)
|
(chooser)
|
||||||
;; (weather)
|
;; (weather)
|
||||||
(coolmpd :h 150 :permashow true)
|
(coolmpd :h 150 :permashow true)
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:height 160
|
:height 160
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
(timer)
|
(timer)
|
||||||
(bigslide))
|
(bigslide))
|
||||||
(box
|
(box
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:visible {!short}
|
:visible {!short}
|
||||||
(tricontrol)
|
(tricontrol)
|
||||||
(notiweathertoggle))
|
(notiweathertoggle))
|
||||||
))
|
))
|
||||||
|
|
||||||
(defwidget tricontrol[]
|
(defwidget tricontrol[]
|
||||||
(eventbox
|
(eventbox
|
||||||
:cursor "pointer"
|
:cursor "pointer"
|
||||||
(box
|
(box
|
||||||
:class "tricontrol unbarwidget"
|
:class "tricontrol unbarwidget"
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:height 60
|
:height 60
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
(button :onclick "./scripts/pop colourpick" (label :text ""))
|
(button :onclick "./scripts/pop colourpick" (label :text ""))
|
||||||
(button :onclick "./scripts/pop scrop" (label :text ""))
|
(button :onclick "./scripts/pop scrop" (label :text ""))
|
||||||
(button :onclick "~/.config/eww/themeswitch/scripts/pop" (label :text "")))))
|
(button :onclick "~/.config/eww/themeswitch/scripts/pop" (label :text "")))))
|
||||||
|
|
||||||
(defwidget chooser []
|
(defwidget chooser []
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
:height 60
|
:height 60
|
||||||
:class "unbarwidget"
|
:class "unbarwidget"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
|
|
||||||
(button
|
(button
|
||||||
:onclick "${EWW_CMD} update reveal4=${!reveal4} reveal5=false reveal6=false"
|
:onclick "${EWW_CMD} update reveal4=${!reveal4} reveal5=false reveal6=false"
|
||||||
:onrightclick "foot nvim ~/Documents/fuck.txt"
|
:onrightclick "foot nvim ~/Documents/fuck.txt"
|
||||||
(label :class {reveal4 ? "titlesel" : "title"} :text "Notes"))
|
(label :class {reveal4 ? "titlesel" : "title"} :text "Notes"))
|
||||||
(button
|
(button
|
||||||
:onclick "${EWW_CMD} update reveal5=${!reveal5} reveal4=false reveal6=false"
|
:onclick "${EWW_CMD} update reveal5=${!reveal5} reveal4=false reveal6=false"
|
||||||
(label :class {reveal5 ? "titlesel" : "title"} :text "System"))
|
(label :class {reveal5 ? "titlesel" : "title"} :text "System"))
|
||||||
(button
|
(button
|
||||||
:onclick "${EWW_CMD} update reveal6=${!reveal6} reveal5=false reveal4=false"
|
:onclick "${EWW_CMD} update reveal6=${!reveal6} reveal5=false reveal4=false"
|
||||||
(label :class {reveal6 ? "titlesel" : "title"} :text "Sway")))
|
(label :class {reveal6 ? "titlesel" : "title"} :text "Sway")))
|
||||||
|
|
||||||
(notes)
|
(notes)
|
||||||
(sysinfo)
|
(sysinfo)
|
||||||
(wmctrl)))
|
(wmctrl)))
|
||||||
|
|
||||||
|
|
||||||
(defwidget notes []
|
(defwidget notes []
|
||||||
(revealer
|
(revealer
|
||||||
:reveal reveal4
|
:reveal reveal4
|
||||||
:transition "slideup"
|
:transition "slideup"
|
||||||
(box
|
(box
|
||||||
:height 140
|
:height 140
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll true
|
:hscroll true
|
||||||
:vscroll true
|
:vscroll true
|
||||||
(label :text notesc))))))
|
(label :text notesc))))))
|
||||||
|
|
||||||
(defwidget wmctrl []
|
(defwidget wmctrl []
|
||||||
(revealer
|
(revealer
|
||||||
:reveal reveal6
|
:reveal reveal6
|
||||||
:transition "slideup"
|
:transition "slideup"
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll false
|
:hscroll false
|
||||||
:vscroll true
|
:vscroll true
|
||||||
:height 140
|
:height 140
|
||||||
(box
|
(box
|
||||||
|
@ -102,70 +102,70 @@
|
||||||
:valign "fill"
|
:valign "fill"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:spacing 5
|
:spacing 5
|
||||||
(wmslider
|
(wmslider
|
||||||
:name "gaps outer"
|
:name "gaps outer"
|
||||||
:val gapsouter
|
:val gapsouter
|
||||||
:onchange "swaymsg gaps outer all set {}"
|
:onchange "swaymsg gaps outer all set {}"
|
||||||
:max 300
|
:max 300
|
||||||
:reset "${EWW_CMD} update gapsouter=0 && swaymsg gaps outer all set 0")
|
:reset "${EWW_CMD} update gapsouter=0 && swaymsg gaps outer all set 0")
|
||||||
(wmslider
|
(wmslider
|
||||||
:name "gaps inner"
|
:name "gaps inner"
|
||||||
:val gapsinner
|
:val gapsinner
|
||||||
:onchange "swaymsg gaps inner all set {}"
|
:onchange "swaymsg gaps inner all set {}"
|
||||||
:max 150
|
:max 150
|
||||||
:reset "${EWW_CMD} update gapsinner=15 && swaymsg gaps inner all set 15")
|
:reset "${EWW_CMD} update gapsinner=15 && swaymsg gaps inner all set 15")
|
||||||
(wmslider
|
(wmslider
|
||||||
:name "border size"
|
:name "border size"
|
||||||
:val borderpixel
|
:val borderpixel
|
||||||
:onchange "swaymsg default_border pixel {} && swaymsg '[app_id=\".*\"] border pixel {}'"
|
:onchange "swaymsg default_border pixel {} && swaymsg '[app_id=\".*\"] border pixel {}'"
|
||||||
:max 50
|
:max 50
|
||||||
:reset "${EWW_CMD} update borderpixel=2 && swaymsg default_border pixel 2 && swaymsg '[app_id=\".*\"] border pixel 2'")
|
:reset "${EWW_CMD} update borderpixel=2 && swaymsg default_border pixel 2 && swaymsg '[app_id=\".*\"] border pixel 2'")
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(label :text "natural scrolling")
|
(label :text "natural scrolling")
|
||||||
(checkbox
|
(checkbox
|
||||||
:onchecked "swaymsg input \"type:touchpad\" natural_scroll enable"
|
:onchecked "swaymsg input \"type:touchpad\" natural_scroll enable"
|
||||||
:onunchecked "swaymsg input \"type:touchpad\" natural_scroll disable"))
|
:onunchecked "swaymsg input \"type:touchpad\" natural_scroll disable"))
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(label :text "disable when typing")
|
(label :text "disable when typing")
|
||||||
(checkbox
|
(checkbox
|
||||||
:onchecked "swaymsg input \"type:touchpad\" dwt enable"
|
:onchecked "swaymsg input \"type:touchpad\" dwt enable"
|
||||||
:onunchecked "swaymsg input \"type:touchpad\" dwt disable"
|
:onunchecked "swaymsg input \"type:touchpad\" dwt disable"
|
||||||
))
|
))
|
||||||
|
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(label :text "caffeine")
|
(label :text "caffeine")
|
||||||
(checkbox
|
(checkbox
|
||||||
:onchecked "swaymsg [app_id='.*'] inhibit_idle open && ${EWW_CMD} update caffeine=true"
|
:onchecked "swaymsg [app_id='.*'] inhibit_idle open && ${EWW_CMD} update caffeine=true"
|
||||||
:onunchecked "swaymsg [app_id='.*'] inhibit_idle none && ${EWW_CMD} update caffeine=false"
|
:onunchecked "swaymsg [app_id='.*'] inhibit_idle none && ${EWW_CMD} update caffeine=false"
|
||||||
))
|
))
|
||||||
))))
|
))))
|
||||||
|
|
||||||
(defwidget sysinfo []
|
(defwidget sysinfo []
|
||||||
(revealer
|
(revealer
|
||||||
:reveal reveal5
|
:reveal reveal5
|
||||||
:transition "slideup"
|
:transition "slideup"
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:height 140
|
:height 140
|
||||||
(systat :icon "" :val { EWW_CPU.avg })
|
(systat :icon "" :val { EWW_CPU.avg })
|
||||||
(systat :icon "" :val { EWW_RAM.used_mem_perc })
|
(systat :icon "" :val { EWW_RAM.used_mem_perc })
|
||||||
(systat :icon "" :val { EWW_BATTERY.BAT0.capacity })
|
(systat :icon "" :val { EWW_BATTERY.BAT0.capacity })
|
||||||
)))
|
)))
|
||||||
|
|
||||||
(defwidget wmslider [name val onchange max reset]
|
(defwidget wmslider [name val onchange max reset]
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "center"
|
:halign "center"
|
||||||
|
@ -173,29 +173,29 @@
|
||||||
:vexpand false
|
:vexpand false
|
||||||
:valign "center"
|
:valign "center"
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(label
|
(label
|
||||||
:text name)
|
:text name)
|
||||||
(scale
|
(scale
|
||||||
:min 0
|
:min 0
|
||||||
:max max
|
:max max
|
||||||
:class "wmctrlslide"
|
:class "wmctrlslide"
|
||||||
:tooltip val
|
:tooltip val
|
||||||
:value val
|
:value val
|
||||||
:onchange onchange)
|
:onchange onchange)
|
||||||
(button
|
(button
|
||||||
:onclick reset
|
:onclick reset
|
||||||
:style "padding: 0px 8px 0px 3px;"
|
:style "padding: 0px 8px 0px 3px;"
|
||||||
"")))
|
"")))
|
||||||
|
|
||||||
(defwidget systat [icon val]
|
(defwidget systat [icon val]
|
||||||
(overlay
|
(overlay
|
||||||
(circular-progress
|
(circular-progress
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:valign "center"
|
:valign "center"
|
||||||
:class "circsys"
|
:class "circsys"
|
||||||
:thickness 40
|
:thickness 40
|
||||||
:value val)
|
:value val)
|
||||||
|
|
||||||
(box
|
(box
|
||||||
:class "circiconcontain"
|
:class "circiconcontain"
|
||||||
:halign "center"
|
:halign "center"
|
||||||
|
@ -210,7 +210,7 @@
|
||||||
:transition "slideup"
|
:transition "slideup"
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:height 140
|
:height 140
|
||||||
:width 320
|
:width 320
|
||||||
:class "unbarwidget"
|
:class "unbarwidget"
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(image :style "margin: 10px;" :image-width 80 :image-height 80 :path "./image/fieshidle.gif")
|
(image :style "margin: 10px;" :image-width 80 :image-height 80 :path "./image/fieshidle.gif")
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll true
|
:hscroll true
|
||||||
:vscroll false
|
:vscroll false
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(box
|
(box
|
||||||
|
@ -232,37 +232,37 @@
|
||||||
(label :halign "start" :text uptime :style "font-size: 12px;"))))))
|
(label :halign "start" :text uptime :style "font-size: 12px;"))))))
|
||||||
|
|
||||||
(defwidget notiweathertoggle[]
|
(defwidget notiweathertoggle[]
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
:valign "fill"
|
:valign "fill"
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:class "unbarwidget"
|
:class "unbarwidget"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
(button
|
(button
|
||||||
:onclick "${EWW_CMD} update revealweather=false"
|
:onclick "${EWW_CMD} update revealweather=false"
|
||||||
(label :class {!revealweather ? "titlesel" : "title"} :text "Notifications"))
|
(label :class {!revealweather ? "titlesel" : "title"} :text "Notifications"))
|
||||||
(button
|
(button
|
||||||
:onclick "${EWW_CMD} update revealweather=true"
|
:onclick "${EWW_CMD} update revealweather=true"
|
||||||
(label :class {revealweather ? "titlesel" : "title"} :text "Weather")))
|
(label :class {revealweather ? "titlesel" : "title"} :text "Weather")))
|
||||||
|
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:hexpand true
|
:hexpand true
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(revealer
|
(revealer
|
||||||
:reveal {!revealweather}
|
:reveal {!revealweather}
|
||||||
:transition "slideright"
|
:transition "slideright"
|
||||||
(notificationlog))
|
(notificationlog))
|
||||||
(revealer
|
(revealer
|
||||||
:reveal revealweather
|
:reveal revealweather
|
||||||
:transition "slideleft"
|
:transition "slideleft"
|
||||||
(weather)))))
|
(weather)))))
|
||||||
|
|
||||||
(defwidget weather[]
|
(defwidget weather[]
|
||||||
(overlay
|
(overlay
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
|
@ -270,51 +270,51 @@
|
||||||
:valign "fill"
|
:valign "fill"
|
||||||
:width 320
|
:width 320
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(weathermain)
|
(weathermain)
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll false
|
:hscroll false
|
||||||
:vscroll true
|
:vscroll true
|
||||||
:vexpand true
|
:vexpand true
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:valign "start"
|
:valign "start"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(for hour in {weatherjson.hourly}
|
(for hour in {weatherjson.hourly}
|
||||||
(weatherhour :hour hour)))))
|
(weatherhour :hour hour)))))
|
||||||
(box
|
(box
|
||||||
:valign "end"
|
:valign "end"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
:vexpand false
|
:vexpand false
|
||||||
:height 80
|
:height 80
|
||||||
:class "fadeoutbox")
|
:class "fadeoutbox")
|
||||||
))
|
))
|
||||||
|
|
||||||
(defwidget weatherhour[hour]
|
(defwidget weatherhour[hour]
|
||||||
(box
|
(box
|
||||||
:class "smallentry"
|
:class "smallentry"
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:height 80
|
:height 80
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
:valign "center"
|
:valign "center"
|
||||||
:vexpand false
|
:vexpand false
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(label :style "font-size: 20px;" :text {hour.time})
|
(label :style "font-size: 20px;" :text {hour.time})
|
||||||
(image
|
(image
|
||||||
:image-width 50
|
:image-width 50
|
||||||
:image-height 50
|
:image-height 50
|
||||||
:path "./image/weather/${hour.icon}.svg")
|
:path "./image/weather/${hour.icon}.svg")
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:valign "center"
|
:valign "center"
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(label :halign "start" :text "${hour.FeelsLikeC}°C")
|
(label :halign "start" :text "${hour.FeelsLikeC}°C")
|
||||||
(label :halign "start" :text "rain: ${hour.chanceofrain}%"))))
|
(label :halign "start" :text "rain: ${hour.chanceofrain}%"))))
|
||||||
|
|
||||||
(defwidget weathermain[]
|
(defwidget weathermain[]
|
||||||
(box
|
(box
|
||||||
:class "mainentry"
|
:class "mainentry"
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
|
@ -322,12 +322,12 @@
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(image
|
(image
|
||||||
:image-width 100
|
:image-width 100
|
||||||
:image-height 100
|
:image-height 100
|
||||||
:style "margin: 10px;"
|
:style "margin: 10px;"
|
||||||
:path "./image/weather/${weatherjson.icon}.svg")
|
:path "./image/weather/${weatherjson.icon}.svg")
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll true
|
:hscroll true
|
||||||
:vscroll false
|
:vscroll false
|
||||||
:valign "fill"
|
:valign "fill"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
|
@ -338,7 +338,7 @@
|
||||||
(label :halign "start" :text "← ${weatherjson.windspeedKmph} km/h")
|
(label :halign "start" :text "← ${weatherjson.windspeedKmph} km/h")
|
||||||
;; (label :halign "start" :text "${weatherjson.visibility} km")
|
;; (label :halign "start" :text "${weatherjson.visibility} km")
|
||||||
;; (label :halign "start" :text "${weatherjson.precipMM} mm")
|
;; (label :halign "start" :text "${weatherjson.precipMM} mm")
|
||||||
))))
|
))))
|
||||||
|
|
||||||
(defwidget timer[]
|
(defwidget timer[]
|
||||||
(box
|
(box
|
||||||
|
@ -366,9 +366,9 @@
|
||||||
(bigvol)
|
(bigvol)
|
||||||
(bigbright)))
|
(bigbright)))
|
||||||
|
|
||||||
(defwidget bigvol []
|
(defwidget bigvol []
|
||||||
(overlay
|
(overlay
|
||||||
(scale
|
(scale
|
||||||
:width 50
|
:width 50
|
||||||
:class "bigslide"
|
:class "bigslide"
|
||||||
:value volume
|
:value volume
|
||||||
|
@ -377,15 +377,15 @@
|
||||||
:tooltip "${volume}%"
|
:tooltip "${volume}%"
|
||||||
:max 100
|
:max 100
|
||||||
:min 0
|
:min 0
|
||||||
:flipped true)
|
:flipped true)
|
||||||
(label
|
(label
|
||||||
:class "slideicon"
|
:class "slideicon"
|
||||||
:valign "end"
|
:valign "end"
|
||||||
:text {volumemute == 'false' ? "" : ""})))
|
:text {volumemute == 'false' ? "" : ""})))
|
||||||
|
|
||||||
(defwidget bigbright []
|
(defwidget bigbright []
|
||||||
(overlay
|
(overlay
|
||||||
(scale
|
(scale
|
||||||
:width 50
|
:width 50
|
||||||
:class "bigslide"
|
:class "bigslide"
|
||||||
:value brightness
|
:value brightness
|
||||||
|
@ -394,19 +394,19 @@
|
||||||
:tooltip "${brightness}%"
|
:tooltip "${brightness}%"
|
||||||
:max 100
|
:max 100
|
||||||
:min 0
|
:min 0
|
||||||
:flipped true)
|
:flipped true)
|
||||||
(label
|
(label
|
||||||
:class "slideicon"
|
:class "slideicon"
|
||||||
:valign "end"
|
:valign "end"
|
||||||
:text "")))
|
:text "")))
|
||||||
|
|
||||||
(defwidget notificationlog []
|
(defwidget notificationlog []
|
||||||
(box
|
(box
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
:valign "fill"
|
:valign "fill"
|
||||||
:width 320
|
:width 320
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
(overlay
|
(overlay
|
||||||
:vexpand true
|
:vexpand true
|
||||||
|
@ -416,48 +416,48 @@
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:valign "fill"
|
:valign "fill"
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:valign "start"
|
:valign "start"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(for noti in {notifications.notifications}
|
(for noti in {notifications.notifications}
|
||||||
(singlenotif :noti noti :initial false))))
|
(singlenotif :noti noti :initial false))))
|
||||||
|
|
||||||
(box
|
(box
|
||||||
:valign "end"
|
:valign "end"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
:vexpand false
|
:vexpand false
|
||||||
:height 80
|
:height 80
|
||||||
:class "fadeoutbox"))
|
:class "fadeoutbox"))
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
(button
|
(button
|
||||||
:onclick "./scripts/notifManage --clear"
|
:onclick "./scripts/notifManage --clear"
|
||||||
(label
|
(label
|
||||||
:class "title"
|
:class "title"
|
||||||
:text "Clear All"))
|
:text "Clear All"))
|
||||||
(button
|
(button
|
||||||
:onclick "./scripts/notifManage --toggle"
|
:onclick "./scripts/notifManage --toggle"
|
||||||
(label
|
(label
|
||||||
:class { notifications.dnd ? "titlesel" : "title"}
|
:class { notifications.dnd ? "titlesel" : "title"}
|
||||||
:text "Do Not Disturb")))))
|
:text "Do Not Disturb")))))
|
||||||
|
|
||||||
(defwidget quote []
|
(defwidget quote []
|
||||||
(box
|
(box
|
||||||
:class "quotewid unbarwidget"
|
:class "quotewid unbarwidget"
|
||||||
:halign "fill"
|
:halign "fill"
|
||||||
:valign "fill"
|
:valign "fill"
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
(scroll :vexpand true :hscroll true :vscroll true
|
(scroll :vexpand true :hscroll true :vscroll true
|
||||||
(label
|
(label
|
||||||
:class "quote"
|
:class "quote"
|
||||||
:text {quotejson.content}
|
:text {quotejson.content}
|
||||||
:wrap true
|
:wrap true
|
||||||
:width 300))
|
:width 300))
|
||||||
(label
|
(label
|
||||||
:class "quoteauthor"
|
:class "quoteauthor"
|
||||||
:text "- ${quotejson.author}")))
|
:text "- ${quotejson.author}")))
|
||||||
|
|
||||||
(defwidget coolmpd [h permashow]
|
(defwidget coolmpd [h permashow]
|
||||||
(overlay
|
(overlay
|
||||||
|
@ -467,17 +467,17 @@
|
||||||
:height h
|
:height h
|
||||||
:class { pcover != "" ? "mpdcover" : "unbarwidget"}
|
:class { pcover != "" ? "mpdcover" : "unbarwidget"}
|
||||||
:style "background-image: url('${pcover}')"
|
:style "background-image: url('${pcover}')"
|
||||||
:visible {permashow ? true : pcover != "" })
|
:visible {permashow ? true : pcover != "" })
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:valign "center"
|
:valign "center"
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(image :image-width 100 :image-height 100 :path { pcover == "" ? "./image/emptympd.png" : pcover })
|
(image :image-width 100 :image-height 100 :path { pcover == "" ? "./image/emptympd.png" : pcover })
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:width 200
|
:width 200
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:valign "center"
|
:valign "center"
|
||||||
|
@ -493,11 +493,11 @@
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:class "mpd_controls"
|
:class "mpd_controls"
|
||||||
(button :onclick "playerctl previous"
|
(button :onclick "playerctl previous"
|
||||||
(label :text ""))
|
(label :text ""))
|
||||||
(button :style "padding-right: 3px;" :onclick "playerctl play-pause"
|
(button :style "padding-right: 3px;" :onclick "playerctl play-pause"
|
||||||
(label :text { pstatus == "Playing" ? "" : ""} ))
|
(label :text { pstatus == "Playing" ? "" : ""} ))
|
||||||
(button :onclick "playerctl next"
|
(button :onclick "playerctl next"
|
||||||
(label :text "")))))))
|
(label :text "")))))))
|
||||||
|
|
||||||
(include "./control_panel/windowswitcher.yuck")
|
(include "./control_panel/windowswitcher.yuck")
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
|
|
||||||
;; Dashboard design is made by tsukki9696
|
;; Dashboard design is made by tsukki9696
|
||||||
(defwindow dashboard
|
(defwindow dashboard
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
:x 0
|
:x 0
|
||||||
:y 0
|
:y 0
|
||||||
:width 800
|
:width 800
|
||||||
:height 420
|
:height 420
|
||||||
:anchor "center")
|
:anchor "center")
|
||||||
:stacking "overlay"
|
:stacking "overlay"
|
||||||
:monitor 0
|
:monitor 0
|
||||||
(structure))
|
(structure))
|
||||||
|
|
||||||
(defwidget structure[]
|
(defwidget structure[]
|
||||||
(box
|
(box
|
||||||
:class "popup"
|
:class "popup"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
(duser :name "Failed" :tag "failed.sh" :pfp "./image/roundpfp.png")
|
(duser :name "Failed" :tag "failed.sh" :pfp "./image/roundpfp.png")
|
||||||
(box
|
(box
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:vexpand true
|
:vexpand true
|
||||||
|
@ -35,13 +35,13 @@
|
||||||
(dbutt)
|
(dbutt)
|
||||||
(theme))
|
(theme))
|
||||||
(dcal)
|
(dcal)
|
||||||
))
|
))
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(dnotes)
|
(dnotes)
|
||||||
(quote))
|
(quote))
|
||||||
)))
|
)))
|
||||||
|
|
||||||
(defwidget duser [name tag pfp]
|
(defwidget duser [name tag pfp]
|
||||||
(box
|
(box
|
||||||
|
@ -56,13 +56,13 @@
|
||||||
(label :text "|" :style "color: #262626; font-size: 30px;")
|
(label :text "|" :style "color: #262626; font-size: 30px;")
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:halign "start"
|
:halign "start"
|
||||||
(label :style "font-weight: bold; font-size: 18px;" :text "Hello, ${name}")
|
(label :style "font-weight: bold; font-size: 18px;" :text "Hello, ${name}")
|
||||||
(label :halign "start" :text tag))))
|
(label :halign "start" :text tag))))
|
||||||
|
|
||||||
(defwidget dnotes []
|
(defwidget dnotes []
|
||||||
(box
|
(box
|
||||||
:class "notes unbarwidget"
|
:class "notes unbarwidget"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
(box
|
(box
|
||||||
:class "mpdcover"
|
:class "mpdcover"
|
||||||
:style "background-image: url('${pcover}')"
|
:style "background-image: url('${pcover}')"
|
||||||
:height 150)
|
:height 150)
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
|
@ -91,70 +91,70 @@
|
||||||
:hscroll true
|
:hscroll true
|
||||||
:vscroll false
|
:vscroll false
|
||||||
(label :style "font-size: 18px;" :text psong))
|
(label :style "font-size: 18px;" :text psong))
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll true
|
:hscroll true
|
||||||
:vscroll false
|
:vscroll false
|
||||||
(label :text partist))
|
(label :text partist))
|
||||||
;; (scale
|
;; (scale
|
||||||
;; :hexpand false
|
;; :hexpand false
|
||||||
;; :width 60
|
;; :width 60
|
||||||
;; :class "seektime"
|
;; :class "seektime"
|
||||||
;; :value current
|
;; :value current
|
||||||
;; :orientation "h"
|
;; :orientation "h"
|
||||||
;; :min -5
|
;; :min -5
|
||||||
;; :max 100
|
;; :max 100
|
||||||
;; :onscroll "mpc -q seek +1"
|
;; :onscroll "mpc -q seek +1"
|
||||||
;; :tooltip "${ctime}/${ttime}")
|
;; :tooltip "${ctime}/${ttime}")
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:spacing 40
|
:spacing 40
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:class "dmpdcontrol"
|
:class "dmpdcontrol"
|
||||||
(button :onclick "./scripts/music_info --prev" (label :text ""))
|
(button :onclick "./scripts/music_info --prev" (label :text ""))
|
||||||
(button :onclick "./scripts/music_info --toggle" (label :text { pstatus == "Playing" ? "" : ""}))
|
(button :onclick "./scripts/music_info --toggle" (label :text { pstatus == "Playing" ? "" : ""}))
|
||||||
(button :onclick "./scripts/music_info --next" (label :text ""))))))
|
(button :onclick "./scripts/music_info --next" (label :text ""))))))
|
||||||
|
|
||||||
(defwidget dcal []
|
(defwidget dcal []
|
||||||
(box
|
(box
|
||||||
:class "unbarwidget mincal"
|
:class "unbarwidget mincal"
|
||||||
:height 190
|
:height 190
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(calendar
|
(calendar
|
||||||
:show-details false
|
:show-details false
|
||||||
:show-heading true
|
:show-heading true
|
||||||
:show-day-names false
|
:show-day-names false
|
||||||
:show-week-numbers false
|
:show-week-numbers false
|
||||||
:day calendar_day
|
:day calendar_day
|
||||||
:year calendar_year)))
|
:year calendar_year)))
|
||||||
|
|
||||||
(defwidget dbutt[]
|
(defwidget dbutt[]
|
||||||
(box
|
(box
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:height 130
|
:height 130
|
||||||
(box
|
(box
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
(button :class "dicons unbarwidget" :onclick "notify-send 'shutdown' 'but its impractical'" (label :text ""))
|
(button :class "dicons unbarwidget" :onclick "notify-send 'shutdown' 'but its impractical'" (label :text ""))
|
||||||
(button :class "dicons unbarwidget" :onclick "notify-send 'restart' 'but its impractical'" (label :text "")))
|
(button :class "dicons unbarwidget" :onclick "notify-send 'restart' 'but its impractical'" (label :text "")))
|
||||||
(box
|
(box
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
(button :class "dicons unbarwidget" :onclick "notify-send 'lock' 'but its impractical'" (label :text ""))
|
(button :class "dicons unbarwidget" :onclick "notify-send 'lock' 'but its impractical'" (label :text ""))
|
||||||
(button :class "dicons unbarwidget" :onclick "notify-send 'log out' 'but its impractical'" (label :text "")))))
|
(button :class "dicons unbarwidget" :onclick "notify-send 'log out' 'but its impractical'" (label :text "")))))
|
||||||
|
|
||||||
(defwidget theme []
|
(defwidget theme []
|
||||||
(button
|
(button
|
||||||
:class "unbarwidget"
|
:class "unbarwidget"
|
||||||
:vexpand true
|
:vexpand true
|
||||||
:onclick "./scripts/toggletheme toggle"
|
:onclick "./scripts/toggletheme toggle"
|
||||||
(label :style "font-size: 18px;" :text "")))
|
(label :style "font-size: 18px;" :text "")))
|
||||||
|
|
||||||
;; (defwidget dquote []
|
;; (defwidget dquote []
|
||||||
;; (box
|
;; (box
|
||||||
;; :class "unbarwidget"
|
;; :class "unbarwidget"
|
||||||
;; :height "120"
|
;; :height "120"
|
||||||
;; :valign "center"
|
;; :valign "center"
|
||||||
;; (literal
|
;; (literal
|
||||||
;; :content quoteliteral)))
|
;; :content quoteliteral)))
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
(defwindow desktopicons
|
(defwindow desktopicons
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
:x 20
|
:x 20
|
||||||
:y 20
|
:y 20
|
||||||
:width 100
|
:width 100
|
||||||
:height 600
|
:height 600
|
||||||
:anchor "top right")
|
:anchor "top right")
|
||||||
:stacking "bottom"
|
:stacking "bottom"
|
||||||
:monitor 0
|
:monitor 0
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly "false"
|
:space-evenly "false"
|
||||||
:spacing 10
|
:spacing 10
|
||||||
|
|
||||||
(eventbox
|
(eventbox
|
||||||
:dragtype "file"
|
:dragtype "file"
|
||||||
:class "desktopbox"
|
:class "desktopbox"
|
||||||
:onclick "thunar ${homedir}/.local/share/Trash/files"
|
:onclick "thunar ${homedir}/.local/share/Trash/files"
|
||||||
:ondropped "notify-send {}"
|
:ondropped "notify-send {}"
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:height 100
|
:height 100
|
||||||
:valign "end"
|
:valign "end"
|
||||||
(image :width 100 :height 100 :image-width 80 :image-height 80 :path trashcanpath)
|
(image :width 100 :height 100 :image-width 80 :image-height 80 :path trashcanpath)
|
||||||
(label :class "desktoptext" :text "Trash")))
|
(label :class "desktoptext" :text "Trash")))
|
||||||
|
|
||||||
(for i in '["amogus"]'
|
(for i in '["amogus"]'
|
||||||
(imagesicon :name i))))
|
(imagesicon :name i))))
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
(defwindow dock
|
(defwindow dock
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
:x 0
|
:x 0
|
||||||
:y 0
|
:y 0
|
||||||
:width 10
|
:width 10
|
||||||
:height 54
|
:height 54
|
||||||
:anchor "bottom center")
|
:anchor "bottom center")
|
||||||
:stacking "overlay"
|
|
||||||
:monitor 0
|
:monitor 0
|
||||||
(dockstruct))
|
(dockstruct))
|
||||||
|
|
||||||
(defwidget dockstruct []
|
(defwidget dockstruct []
|
||||||
(eventbox
|
(eventbox
|
||||||
:onhover "${EWW_CMD} update revealdock=true"
|
:onhover "${EWW_CMD} update revealdock=true"
|
||||||
:onhoverlost "${EWW_CMD} update revealdock=false"
|
:onhoverlost "${EWW_CMD} update revealdock=false"
|
||||||
|
@ -18,11 +17,11 @@
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:valign "end"
|
:valign "end"
|
||||||
(box
|
(box
|
||||||
:height 4)
|
:height 4)
|
||||||
(revealer
|
(revealer
|
||||||
:reveal revealdock
|
:reveal revealdock
|
||||||
:transition "slideup"
|
:transition "slideup"
|
||||||
(box
|
(box
|
||||||
:class "popup"
|
:class "popup"
|
||||||
:height 60
|
:height 60
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
|
@ -30,8 +29,8 @@
|
||||||
(tasklist :iconsize 50))))))
|
(tasklist :iconsize 50))))))
|
||||||
|
|
||||||
(defwidget tasklist [iconsize]
|
(defwidget tasklist [iconsize]
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
:spacing 10
|
:spacing 10
|
||||||
(for task in {tasksjson}
|
(for task in {tasksjson}
|
||||||
|
@ -41,24 +40,24 @@
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(image
|
(image
|
||||||
:image-width iconsize
|
:image-width iconsize
|
||||||
:image-height iconsize
|
:image-height iconsize
|
||||||
:path {task.path})
|
:path {task.path})
|
||||||
|
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll true
|
:hscroll true
|
||||||
:vscroll false
|
:vscroll false
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:halign "center"
|
:halign "center"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:spacing 3
|
:spacing 3
|
||||||
(for focus in {task.focused}
|
(for focus in {task.focused}
|
||||||
(box
|
(box
|
||||||
:class "dockindicate"
|
:class "dockindicate"
|
||||||
:hexpand false
|
:hexpand false
|
||||||
:width { focus ? 10 : 5 }
|
:width { focus ? 10 : 5 }
|
||||||
:height 3))))
|
:height 3))))
|
||||||
)))))
|
)))))
|
||||||
|
|
||||||
|
|
|
@ -1,139 +1,140 @@
|
||||||
@import './colors.scss';
|
@import "./colors.scss";
|
||||||
@import './bar/bar.scss';
|
@import "./bar/bar.scss";
|
||||||
// @import './bottom_bar/bar.scss';
|
// @import "./bottom_bar/bar.scss";
|
||||||
@import './control_panel/control_panel.scss';
|
@import "./control_panel/control_panel.scss";
|
||||||
@import './dashboard/dashboard.scss';
|
@import "./dashboard/dashboard.scss";
|
||||||
@import './dock/dock.scss';
|
@import "./dock/dock.scss";
|
||||||
@import './desktop/desktop.scss';
|
@import "./desktop/desktop.scss";
|
||||||
@import './notification/notification.scss';
|
@import "./notification/notification.scss";
|
||||||
|
|
||||||
* {
|
* {
|
||||||
all: unset;
|
all: unset;
|
||||||
color: $white0;
|
color: $white0;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-family: "Iosevka Nerd Font";
|
font-family: "Iosevka Nerd Font";
|
||||||
// font-weight: bold;
|
// font-weight: bold;
|
||||||
// font-smooth: never;
|
// font-smooth: never;
|
||||||
}
|
}
|
||||||
|
|
||||||
tooltip {
|
tooltip {
|
||||||
background-color: $surface0;
|
background-color: $surface0;
|
||||||
color: $white0;
|
color: $white0;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 2px;
|
border-width: 2px;
|
||||||
border-color: $surface2;
|
border-color: $surface2;
|
||||||
}
|
}
|
||||||
|
|
||||||
scale {
|
scale {
|
||||||
all: unset;
|
all: unset;
|
||||||
trough {
|
|
||||||
background-color: $surface2;
|
|
||||||
border-radius: 24px;
|
|
||||||
min-height: 80px;
|
|
||||||
min-width: 10px;
|
|
||||||
margin : 5px;
|
|
||||||
|
|
||||||
slider {
|
trough {
|
||||||
background-color: $white2;
|
background-color: $surface2;
|
||||||
border-radius: 25px;
|
border-radius: 24px;
|
||||||
min-height: 15px;
|
min-height: 80px;
|
||||||
min-width: 15px;
|
min-width: 10px;
|
||||||
margin: -10px;
|
margin: 5px;
|
||||||
}
|
|
||||||
|
|
||||||
highlight {
|
slider {
|
||||||
background-color: $white0;
|
background-color: $white2;
|
||||||
border-radius: 24px;
|
border-radius: 25px;
|
||||||
}
|
min-height: 15px;
|
||||||
|
min-width: 15px;
|
||||||
|
margin: -10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
highlight {
|
||||||
|
background-color: $white0;
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
transition-duration: 0.5s;
|
transition-duration: 0.5s;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
|
||||||
button:hover {
|
|
||||||
background-color: $surface2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: $surface2;
|
||||||
|
}
|
||||||
|
|
||||||
calendar {
|
calendar {
|
||||||
all: unset;
|
all: unset;
|
||||||
background-color: $surface0;
|
background-color: $surface0;
|
||||||
font-size: 20;
|
font-size: 20;
|
||||||
color: $white0;
|
color: $white0;
|
||||||
}
|
}
|
||||||
|
|
||||||
calendar:selected {
|
calendar:selected {
|
||||||
color: $base;
|
color: $base;
|
||||||
background-color: $accent;
|
background-color: $accent;
|
||||||
border-radius: 25px;
|
border-radius: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
calendar.header {
|
calendar.header {
|
||||||
color: $accent;
|
color: $accent;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
calendar:indeterminate {
|
calendar:indeterminate {
|
||||||
color: $surface2;
|
color: $surface2;
|
||||||
}
|
}
|
||||||
|
|
||||||
checkbutton {
|
checkbutton {
|
||||||
border-radius: 24px;
|
border-radius: 24px;
|
||||||
background-color: $surface1;
|
background-color: $surface1;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
check {
|
check {
|
||||||
min-height: 15px;
|
min-height: 15px;
|
||||||
min-width: 15px;
|
min-width: 15px;
|
||||||
color: $white0;
|
color: $white0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
checkbutton:checked {
|
checkbutton:checked {
|
||||||
check{
|
check {
|
||||||
border-radius: 24px;
|
border-radius: 24px;
|
||||||
background-color: $white0;
|
background-color: $white0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup {
|
.popup {
|
||||||
background-color: $base;
|
background-color: $base;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-color: $surface2;
|
border-color: $surface2;
|
||||||
border-width: 2px;
|
border-width: 2px;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
entry {
|
entry {
|
||||||
// image: url('./image/screenshot.png');
|
// image: url('./image/screenshot.png');
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-color: $surface2;
|
border-color: $surface2;
|
||||||
background-color: $surface1;
|
background-color: $surface1;
|
||||||
color: $white0;
|
color: $white0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainentry {
|
.mainentry {
|
||||||
background-color: $surface1;
|
background-color: $surface1;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainentry label {
|
.mainentry label {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: $white0;
|
color: $white0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.smallentry {
|
.smallentry {
|
||||||
@extend .mainentry;
|
@extend .mainentry;
|
||||||
label {
|
label {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,14 +77,13 @@ elif [ "$1" = "control" ]; then
|
||||||
elif [ "$1" = "dashboard" ]; then
|
elif [ "$1" = "dashboard" ]; then
|
||||||
dashboard
|
dashboard
|
||||||
elif [ "$1" = "colourpick" ]; then
|
elif [ "$1" = "colourpick" ]; then
|
||||||
COLOUR=$(grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- | awk -F ' ' 'NR==2 {print $3}')
|
hyprpicker -a
|
||||||
wl-copy "$COLOUR"
|
notify-send -a colourpicker -i ~/.config/eww/image/eyedropper.png -t 3000 "Colour copied to clipboard"
|
||||||
notify-send -a colourpicker -i ~/.config/eww/carbonmonoxide/image/eyedropper.png -t 3000 "$COLOUR" "Colour copied to clipboard"
|
|
||||||
elif [ "$1" = "scrop" ]; then
|
elif [ "$1" = "scrop" ]; then
|
||||||
# control
|
# control
|
||||||
# sleep 0.5
|
# sleep 0.5
|
||||||
grim -g "$(slurp)" - | wl-copy
|
grim -g "$(slurp)" - | wl-copy
|
||||||
notify-send -a screenshot -i ~/.config/eww/carbonmonoxide/image/screenshot.png -t 3000 "Screenshot Taken" "Image copied to clipboard"
|
notify-send -a screenshot -i ~/.config/eww/image/screenshot.png -t 3000 "Screenshot Taken" "Image copied to clipboard"
|
||||||
elif [ "$1" = "sscreen" ]; then
|
elif [ "$1" = "sscreen" ]; then
|
||||||
# control
|
# control
|
||||||
grim - | wl-copy
|
grim - | wl-copy
|
||||||
|
|
54
hypr-configs/hyprland/eww/scripts/workspaces
Executable file
54
hypr-configs/hyprland/eww/scripts/workspaces
Executable file
|
@ -0,0 +1,54 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SOCKET="/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
|
||||||
|
|
||||||
|
spaces() {
|
||||||
|
local workspace_windows=$(hyprctl workspaces -j | jq 'map({key: .id | tostring, value: .windows}) | from_entries')
|
||||||
|
seq 1 5 | jq --argjson windows "$workspace_windows" --slurp -Mc 'map(tostring) | map({id: ., windows: ($windows[.]//0)})'
|
||||||
|
}
|
||||||
|
|
||||||
|
clamp() {
|
||||||
|
python -c "print(max($1, min($3, $2)))"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_workspaces() {
|
||||||
|
spaces
|
||||||
|
socat -u UNIX-CONNECT:"$SOCKET" - | while read -r; do
|
||||||
|
spaces
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
get_active_workspace() {
|
||||||
|
hyprctl monitors -j | jq '.[] | select(.focused) | .activeWorkspace.id'
|
||||||
|
socat -u UNIX-CONNECT:"$SOCKET" - | stdbuf -o0 awk -F '>>|,' '/^workspace>>/ {print $2} /^focusedmon>>/ {print $3}'
|
||||||
|
}
|
||||||
|
|
||||||
|
change_workspace() {
|
||||||
|
local direction=$1 current=$2 target
|
||||||
|
|
||||||
|
if [[ "$direction" == "down" ]]; then
|
||||||
|
target=$(clamp 1 9 $((current + 1)))
|
||||||
|
elif [[ "$direction" == "up" ]]; then
|
||||||
|
target=$(clamp 1 9 $((current - 1)))
|
||||||
|
else
|
||||||
|
echo "Invalid direction" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Jumping to $target"
|
||||||
|
hyprctl dispatch workspace "$target"
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
case $1 in
|
||||||
|
get-all-workspaces) get_workspaces ;;
|
||||||
|
get-active-workspace) get_active_workspace ;;
|
||||||
|
change) change_workspace "$2" "$3" ;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {gw|ga|c <direction> <current>}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
|
@ -1,71 +1,71 @@
|
||||||
|
|
||||||
(defwindow wallpaperselect
|
(defwindow wallpaperselect
|
||||||
:geometry (geometry
|
:geometry (geometry
|
||||||
:x 0
|
:x 0
|
||||||
:y 0
|
:y 0
|
||||||
:width 415
|
:width 415
|
||||||
:height 600
|
:height 600
|
||||||
:anchor "center")
|
:anchor "center")
|
||||||
:stacking "overlay"
|
:stacking "overlay"
|
||||||
:monitor 0
|
:monitor 0
|
||||||
:focusable true
|
:focusable true
|
||||||
(box
|
(box
|
||||||
:class "popup"
|
:class "popup"
|
||||||
(wallpaperselectwidget)))
|
(wallpaperselectwidget)))
|
||||||
|
|
||||||
(defwidget wallpaperselectwidget []
|
(defwidget wallpaperselectwidget []
|
||||||
(eventbox
|
(eventbox
|
||||||
;; :onhoverlost "${EWW_CMD} close wallpaperselect"
|
;; :onhoverlost "${EWW_CMD} close wallpaperselect"
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:class "unbarwidget"
|
:class "unbarwidget"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(input
|
(input
|
||||||
:hexpand true
|
:hexpand true
|
||||||
:onaccept "./scripts/wallhaven.py search {}"
|
:onaccept "./scripts/wallhaven.py search {}"
|
||||||
:timeout "20000ms")
|
:timeout "20000ms")
|
||||||
(button
|
(button
|
||||||
:onclick "${EWW_CMD} update wallpapers=[] && ./scripts/wallhaven.py reset"
|
:onclick "${EWW_CMD} update wallpapers=[] && ./scripts/wallhaven.py reset"
|
||||||
;; :style "padding: 0px 8px 0px 3px;"
|
;; :style "padding: 0px 8px 0px 3px;"
|
||||||
(label
|
(label
|
||||||
:class "icon"
|
:class "icon"
|
||||||
:text "")))
|
:text "")))
|
||||||
|
|
||||||
(scroll
|
(scroll
|
||||||
:hscroll false
|
:hscroll false
|
||||||
:vscroll true
|
:vscroll true
|
||||||
:vexpand true
|
:vexpand true
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:valign "start"
|
:valign "start"
|
||||||
(image
|
(image
|
||||||
:style "margin: 50px 0px 5px 0px;"
|
:style "margin: 50px 0px 5px 0px;"
|
||||||
:hexpand false
|
:hexpand false
|
||||||
:vexpand false
|
:vexpand false
|
||||||
:path "./image/fieshidle.gif"
|
:path "./image/fieshidle.gif"
|
||||||
:visible {arraylength(wallpapers) == 0})
|
:visible {arraylength(wallpapers) == 0})
|
||||||
|
|
||||||
(label
|
(label
|
||||||
:visible {arraylength(wallpapers) == 0}
|
:visible {arraylength(wallpapers) == 0}
|
||||||
:text "No wallpapers yet")
|
:text "No wallpapers yet")
|
||||||
|
|
||||||
(for wall in wallpapers
|
(for wall in wallpapers
|
||||||
(box
|
(box
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:class "mainentry"
|
:class "mainentry"
|
||||||
:spacing 5
|
:spacing 5
|
||||||
(button
|
(button
|
||||||
:onclick "./scripts/wallhaven.py select ${wall.url}"
|
:onclick "./scripts/wallhaven.py select ${wall.url}"
|
||||||
(image :image-height 225 :image-width 400 :path {wall.path}))
|
(image :image-height 225 :image-width 400 :path {wall.path}))
|
||||||
(box
|
(box
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
:space-evenly true
|
:space-evenly true
|
||||||
(label :text "${wall.views} ")
|
(label :text "${wall.views} ")
|
||||||
(label :text "${wall.fav} ")
|
(label :text "${wall.fav} ")
|
||||||
))))
|
))))
|
||||||
))))
|
))))
|
||||||
|
|
Loading…
Add table
Reference in a new issue