Updates #2

Merged
wyj merged 96 commits from dev into main 2024-05-18 16:33:42 -04:00
72 changed files with 347 additions and 772 deletions
Showing only changes of commit 1ee73645e1 - Show all commits

View File

@ -16,4 +16,5 @@ packagesYay=(
"wlogout"
"nwg-look"
"emote"
"eww"
);

View File

@ -1 +1 @@
2.9BETA2
2.9BETA3

View File

@ -1,7 +1,7 @@
[Desktop Entry]
Type=Application
Name=ML4W Hyprland Settings App
Exec=HOME/dotfiles/apps/ML4W_Hyprland_Settings-x86_64.AppImage
Icon=HOME/dotfiles/apps/ml4w-icon.png
Name=ML4W Dotfiles Settings App
Exec=HOME/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage
Icon=HOME/dotfiles/apps/ml4w-dotfiles-settings.png
Terminal=false
Categories=Utility

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -1,7 +1,7 @@
[Desktop Entry]
Type=Application
Name=ML4W Dotfiles Settings App
Exec=HOME/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage
Icon=HOME/dotfiles/apps/ml4w-icon.png
Name=ML4W Hyprland Settings App
Exec=HOME/dotfiles/apps/ML4W_Hyprland_Settings-x86_64.AppImage
Icon=HOME/dotfiles/apps/ml4w-hyprland-settings.png
Terminal=false
Categories=Utility

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
apps/ml4w-welcome.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" id="Outline" viewBox="0 0 24 24" fill="#161616" width="512" height="512"><path d="M7,0H4A4,4,0,0,0,0,4V7a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V4A4,4,0,0,0,7,0ZM9,7A2,2,0,0,1,7,9H4A2,2,0,0,1,2,7V4A2,2,0,0,1,4,2H7A2,2,0,0,1,9,4Z"/><path d="M20,0H17a4,4,0,0,0-4,4V7a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V4A4,4,0,0,0,20,0Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V4a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z"/><path d="M7,13H4a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4H7a4,4,0,0,0,4-4V17A4,4,0,0,0,7,13Zm2,7a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2H7a2,2,0,0,1,2,2Z"/><path d="M20,13H17a4,4,0,0,0-4,4v3a4,4,0,0,0,4,4h3a4,4,0,0,0,4-4V17A4,4,0,0,0,20,13Zm2,7a2,2,0,0,1-2,2H17a2,2,0,0,1-2-2V17a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2Z"/></svg>

Binary file not shown.

Binary file not shown.

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 513.749 513.749" style="enable-background:new 0 0 513.749 513.749;" xml:space="preserve" fill="#161616" width="512" height="512">
<g>
<path d="M504.352,459.061l-99.435-99.477c74.402-99.427,54.115-240.344-45.312-314.746S119.261-9.277,44.859,90.15 S-9.256,330.494,90.171,404.896c79.868,59.766,189.565,59.766,269.434,0l99.477,99.477c12.501,12.501,32.769,12.501,45.269,0 c12.501-12.501,12.501-32.769,0-45.269L504.352,459.061z M225.717,385.696c-88.366,0-160-71.634-160-160s71.634-160,160-160 s160,71.634,160,160C385.623,314.022,314.044,385.602,225.717,385.696z"/>
</g>
</svg>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,79 +0,0 @@
/** Global *******************************************/
*{
all: unset;
font-family: "Fira Sans";
color: #151515;
}
/** Boxes ***********************************/
.winbox {
background-color: #F5EEE6;
border: 1px solid #161616;
border-radius: 12px;
}
/** Resources ***********************************/
.res_box {
background-color: #F0E9E1;
border: 1px solid #E6DFD7;
border-radius: 12px;
padding: 14px 18px 14px 18px;
}
.res_circle {
background-color: #E1DCD2;
border: 0px solid #161616;
border-radius: 100%;
padding: 0px;
}
.res_circle_small {
background-color: #F5EEE6;
border: 0px solid #161616;
border-radius: 100%;
padding: 40px;
}
.res_text {
background-color: #E6E1D7;
border: 2px solid #161616;
border-radius: 16px;
font-size : 18px;
padding: 0px 8px 0px 8px;
margin: 0px 0px 0px 0px;
font-weight : bold;
}
.res_cpu {
color: #FD6B85;
}
.res_mem {
color: #B1A6EE;
}
.res_disk {
color: #67D4F1;
}
/** Power Buttons ***********************************/
.powericons {
background-repeat: no-repeat;
background-size: 48px;
min-height: 48px;
min-width: 48px;
}
/** Quotes ***********************************/
.quote_box {
margin: 20px;
}
.quote_text {
font-size : 14px;
font-style: italic;
font-weight : bold;
}
/** EOF *************************************************/

View File

@ -1,140 +0,0 @@
;; Variables
;; System vars
(defpoll HOST :interval "5s" `hostname`)
(defpoll CPU_USAGE :interval "1s" `../scripts/sys_info --cpu`)
(defpoll MEM_USAGE :interval "1s" `../scripts/sys_info --mem`)
(defpoll DISK_USAGE :interval "1s" `../scripts/sys_info --disk`)
(defpoll BLIGHT :interval "1s" `../scripts/sys_info --blight`)
(defpoll BATTERY :interval "5s" `../scripts/sys_info --bat`)
(defpoll QUOTE :interval "5m" `../scripts/quotes`)
;; Widgets
;; resources
(defwidget resources []
(box :class "winbox"
(centerbox :orientation "h"
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_cpu" :value CPU_USAGE :thickness 15
(label :class "res_circle_small" :text "CPU")))
(label :class "res_text" :valign "end" :halign "center" :text "${CPU_USAGE}%"))
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_mem" :value MEM_USAGE :thickness 15
(label :class "res_circle_small" :text "MEMORY")))
(label :class "res_text" :valign "end" :halign "center" :text "${MEM_USAGE}%"))
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_disk" :value DISK_USAGE :thickness 15
(label :class "res_circle_small" :text "DISK")))
(label :class "res_text" :valign "end" :halign "center" :text "${DISK_USAGE}%")))))
;; powermenus
(defwidget logout []
(box :class "winbox"
(button :style "background-image: url('../images/icons/system/sys-exit.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --logout")))
(defwidget suspend []
(box :class "winbox"
(button :style "background-image: url('../images/icons/system/sys-sleep.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --suspend")))
(defwidget lock []
(box :class "winbox"
(button :style "background-image: url('../images/icons/system/sys-lock.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --suspend")))
(defwidget reboot []
(box :class "winbox"
(button :style "background-image: url('../images/icons/system/sys-reboot.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --reboot")))
(defwidget shutdown []
(box :class "winbox"
(button :style "background-image: url('../images/icons/system/poweroff.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --shutdown")))
;; quotes
(defwidget quotes []
(box :class "winbox"
(box :class "quote_box" :orientation "h" :valign "center" :halign "center" :spacing 10 :space-evenly "false"
(box :class "powericons" :style "background-image: url('../images/icons/quotes.png');")
(box :class "powericons" :style "background-image: url('../images/icons/quotes.png');")
(box :class "powericons" :style "background-image: url('../images/icons/quotes.png');")
(label :class "quote_text" :valign "center" :halign "center" :text QUOTE :wrap true :limit-width 90 ))))
;; ** Windows *************************************************************************
;; resources
(defwindow resources
:monitor 0
:geometry (geometry :x "15px"
:y "15px"
:width "480px"
:height "200px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(resources))
;; powermenu
(defwindow logout
:monitor 0
:geometry (geometry :x "1420px"
:y "320px"
:width "80px"
:height "80px"
:anchor "top left")
:stacking "fg"
:wm-ignore false
(logout))
(defwindow suspend
:monitor 0
:geometry (geometry :x "1520px"
:y "320px"
:width "80px"
:height "80px"
:anchor "top left")
:stacking "fg"
:wm-ignore false
(suspend))
(defwindow lock
:monitor 0
:geometry (geometry :x "1620px"
:y "320px"
:width "80px"
:height "80px"
:anchor "top left")
:stacking "fg"
:wm-ignore false
(lock))
(defwindow reboot
:monitor 0
:geometry (geometry :x "1720px"
:y "320px"
:width "80px"
:height "80px"
:anchor "top left")
:stacking "fg"
:wm-ignore false
(reboot))
(defwindow shutdown
:monitor 0
:geometry (geometry :x "1820px"
:y "320px"
:width "80px"
:height "80px"
:anchor "top left")
:stacking "fg"
:wm-ignore false
(shutdown))
;; quotes
(defwindow quotes
:monitor 0
:geometry (geometry :x "1420px"
:y "420px"
:width "480px"
:height "100px"
:anchor "top left")
:stacking "fg"
:wm-ignore false
(quotes))

View File

@ -1,33 +0,0 @@
#!/bin/bash
## Files and CMD
FILE="$HOME/.cache/eww_launch.sidebar"
CFG="$HOME/dotfiles/eww/ml4w-dashboard"
EWW=`which eww`
## Run eww daemon if not running already
if [[ ! `pidof eww` ]]; then
${EWW} daemon
sleep 1
fi
## Open widgets
run_eww() {
${EWW} --config "$CFG" open-many \
resources \
logout \
suspend \
lock \
reboot \
shutdown \
quotes
}
## Launch or close widgets accordingly
if [[ ! -f "$FILE" ]]; then
touch "$FILE"
run_eww
else
${EWW} --config "$CFG" close resources logout suspend lock reboot shutdown quotes
rm "$FILE"
fi

87
eww/ml4w-sidebar/eww.scss Normal file
View File

@ -0,0 +1,87 @@
*{
all: unset;
font-family: "Fira Sans";
color: #FFFFFF;
}
.winbox {
background-color: #242424;
opacity: 0.85;
border: 1px solid #FFFFFF;
border-radius: 12px;
}
.res_box {
background-color: #242424;
border-radius: 12px;
padding: 14px 18px 14px 18px;
}
.res_circle {
background-color: #FFFFFF;
border: 0px solid #161616;
color:#FFFFFF;
border-radius: 100%;
padding: 0px;
}
.ml4w_icon {
background-repeat: no-repeat;
background-size: 48px;
min-height: 48px;
min-width: 48px;
}
.res_circle_small {
background-color: #242424;
border: 0px solid #161616;
border-radius: 100%;
padding: 40px;
color:#FFFFFF;
}
.res_text {
border-radius: 16px;
color: #FFFFFF;
font-size : 16px;
padding: 0px 8px 0px 8px;
margin: 0px 0px 0px 0px;
font-weight : bold;
}
.res_cpu {
color: #19cddb;
}
.res_mem {
color: #a5deb7;
}
.res_disk {
color: #cfb3ff;
}
.powericons_logout {
font-size: 32px;
padding-left: 4px;
}
.powericons_shutdown {
font-size: 32px;
padding-right: 9px;
}
.powericons_reboot {
font-size: 32px;
padding-right: 7px;
}
.powericons_lock {
font-size: 32px;
padding-right: 5px;
}
.powericons_suspend {
font-size: 32px;
padding-left: 2px;
}

168
eww/ml4w-sidebar/eww.yuck Normal file
View File

@ -0,0 +1,168 @@
;; Variables
;; System vars
(defpoll HOST :interval "5s" `hostname`)
(defpoll CPU_USAGE :interval "1s" `../scripts/sys_info.sh --cpu`)
(defpoll MEM_USAGE :interval "1s" `../scripts/sys_info.sh --mem`)
(defpoll DISK_USAGE :interval "1s" `../scripts/sys_info.sh --disk`)
;; Widgets
;; resources
(defwidget ml4wlauncher []
(box :class "winbox"
(centerbox :orientation "h"
(box :class "ml4w-welcome" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(button :style "background-image: url('../../apps/ml4w-welcome.png');" :class "ml4w_icon" :orientation "v" :valign "center" :halign "center" :onclick "../scripts/launch_app.sh --welcome")
(label :class "res_text" :valign "end" :halign "center" :text "Welcome App")
)
(box :class "ml4w-dotfiles" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(button :style "background-image: url('../../apps/ml4w-dotfiles-settings.png');" :class "ml4w_icon" :orientation "v" :valign "center" :halign "center" :onclick "../scripts/launch_app.sh --dotfiles")
(label :class "res_text" :valign "end" :halign "center" :text "Dotfiles App")
)
(box :class "ml4w-hyprland" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(button :style "background-image: url('../../apps/ml4w-hyprland-settings.png');" :class "ml4w_icon" :orientation "v" :valign "center" :halign "center" :onclick "../scripts/launch_app.sh --hyprland")
(label :class "res_text" :valign "end" :halign "center" :text "Hyprland App")
)
)
)
)
(defwidget resources []
(box :class "winbox"
(centerbox :orientation "h"
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_cpu" :value CPU_USAGE :thickness 15
(label :class "res_circle_small" :text "CPU")
)
)
(label :class "res_text" :valign "end" :halign "center" :text "${CPU_USAGE}%")
)
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_mem" :value MEM_USAGE :thickness 15
(label :class "res_circle_small" :text "MEMORY")
)
)
(label :class "res_text" :valign "end" :halign "center" :text "${MEM_USAGE}%")
)
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_disk" :value DISK_USAGE :thickness 15
(label :class "res_circle_small" :text "DISK")
)
)
(label :class "res_text" :valign "end" :halign "center" :text "${DISK_USAGE}%")
)
)
)
)
;; powermenus
(defwidget logout []
(box :class "winbox"
(button :class "powericons_logout" :valign "center" :halign "center" :onclick "../scripts/system.sh logout &" "")
)
)
(defwidget suspend []
(box :class "winbox"
(button :class "powericons_suspend" :valign "center" :halign "center" :onclick "../scripts/system.sh suspend &" "")
)
)
(defwidget lock []
(box :class "winbox"
(button :class "powericons_lock" :valign "center" :halign "center" :onclick "../scripts/system.sh lock &" "")
)
)
(defwidget reboot []
(box :class "winbox"
(button :class "powericons_reboot" :valign "center" :halign "center" :onclick "../scripts/system.sh reboot &" "")
)
)
(defwidget shutdown []
(box :class "winbox"
(button :class "powericons_shutdown" :valign "center" :halign "center" :onclick "../scripts/system.sh shutdown &" "")
)
)
;; ** Windows *************************************************************************
(defwindow ml4wlauncher
:monitor 0
:geometry (geometry :x "15px"
:y "15px"
:width "480px"
:height "140px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(ml4wlauncher))
;; resources
(defwindow resources
:monitor 0
:geometry (geometry :x "15px"
:y "170px"
:width "480px"
:height "180px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(resources))
;; powermenu
(defwindow logout
:monitor 0
:geometry (geometry :x "15px"
:y "365px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(logout))
(defwindow suspend
:monitor 0
:geometry (geometry :x "114px"
:y "365px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(suspend))
(defwindow lock
:monitor 0
:geometry (geometry :x "214px"
:y "365px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(lock))
(defwindow reboot
:monitor 0
:geometry (geometry :x "315px"
:y "365px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(reboot))
(defwindow shutdown
:monitor 0
:geometry (geometry :x "415px"
:y "365px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(shutdown))

17
eww/ml4w-sidebar/launch.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
FILE="$HOME/.cache/ml4w_sidebar"
CFG="$HOME/dotfiles/eww/ml4w-sidebar"
EWW=`which eww`
if [[ ! `pidof eww` ]]; then
${EWW} daemon
sleep 0.5
fi
if [[ ! -f "$FILE" ]]; then
touch "$FILE"
${EWW} --config "$CFG" open-many ml4wlauncher resources logout suspend lock reboot shutdown
else
${EWW} --config "$CFG" close resources ml4wlauncher logout suspend lock reboot shutdown
rm "$FILE"
fi

View File

@ -1,29 +0,0 @@
#!/bin/bash
## Get battery info
BATTERY="$(acpi | awk -F ' ' 'END {print $4}' | tr -d \%,)"
CHARGE="$(acpi | awk -F ' ' 'END {print $3}' | tr -d \,)"
main() {
if [[ ($CHARGE = *"Charging"*) && ($BATTERY -lt "100") ]]; then
echo "images/icons/battery/charge.png"
elif [[ $CHARGE = *"Full"* ]]; then
echo "images/icons/battery/full.png"
else
if [[ ($BATTERY -lt 100) && (($BATTERY -gt 65) || ($BATTERY -eq 65)) ]]; then
echo "images/icons/battery/battery-3.png"
elif [[ ($BATTERY -lt 65) && (($BATTERY -gt 35) || ($BATTERY -eq 35)) ]]; then
echo "images/icons/battery/battery-2.png"
elif [[ ($BATTERY -lt 35) && (($BATTERY -gt 10) || ($BATTERY -eq 10)) ]]; then
echo "images/icons/battery/battery-1.png"
elif [[ ($BATTERY -lt 10) && (($BATTERY -gt 0) || ($BATTERY -eq 0)) ]]; then
echo "images/icons/battery/low.png"
fi
fi
}
if [[ $1 == '--icon' ]]; then
main
elif [[ $1 == '--perc' ]]; then
echo "${BATTERY}%"
fi

View File

@ -1,27 +0,0 @@
#!/bin/bash
count=0
ID="$(ip link | awk '/state UP/ {print $2}')"
SSID="$(iwgetid -r)"
net_stat () {
if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then
if [[ $ID == e* ]]; then
echo "Online"
echo "images/icons/system/wifi.png"
else
echo "$SSID"
echo "images/icons/system/wifi.png"
fi
else
echo "Offline"
echo "images/icons/system/no-wifi.png"
fi
}
if [[ $1 == '--stat' ]]; then
net_stat | head -n1
elif [[ $1 == '--icon' ]]; then
net_stat | tail -n1
fi

13
eww/scripts/launch_app.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
$HOME/dotfiles/eww/ml4w-sidebar/launch.sh
if [[ "$1" == "--welcome" ]]; then
$HOME/dotfiles/apps/ML4W_Welcome-x86_64.AppImage
elif [[ "$1" == "--dotfiles" ]]; then
$HOME/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage
elif [[ "$1" == "--hyprland" ]]; then
$HOME/dotfiles/apps/ML4W_Hyprland_Settings-x86_64.AppImage
else
echo "ERROR: $1 not found"
fi

View File

@ -1,7 +0,0 @@
#!/bin/python
import imaplib
obj = imaplib.IMAP4_SSL('imap.gmail.com',993)
obj.login('username@gmail.com','PASSWORD') # write your email and password
obj.select()
print(len(obj.search(None, 'UnSeen')[1][0].split()))

View File

@ -1,97 +0,0 @@
#!/bin/bash
## Get data
STATUS="$(mpc status)"
COVER="/tmp/.music_cover.jpg"
MUSIC_DIR="$HOME/Music"
## Get status
get_status() {
if [[ $STATUS == *"[playing]"* ]]; then
echo "images/icons/music/pause-button.png"
else
echo "images/icons/music/play-button.png"
fi
}
## Get song
get_song() {
song=`mpc -f %title% current`
if [[ -z "$song" ]]; then
echo "Offline"
else
echo "$song"
fi
}
## Get artist
get_artist() {
artist=`mpc -f %artist% current`
if [[ -z "$artist" ]]; then
echo "Offline"
else
echo "$artist"
fi
}
## Get time
get_time() {
time=`mpc status | grep "%)" | awk '{print $4}' | tr -d '(%)'`
if [[ -z "$time" ]]; then
echo "0"
else
echo "$time"
fi
}
get_ctime() {
ctime=`mpc status | grep "#" | awk '{print $3}' | sed 's|/.*||g'`
if [[ -z "$ctime" ]]; then
echo "0:00"
else
echo "$ctime"
fi
}
get_ttime() {
ttime=`mpc -f %time% current`
if [[ -z "$ttime" ]]; then
echo "0:00"
else
echo "$ttime"
fi
}
## Get cover
get_cover() {
ffmpeg -i "${MUSIC_DIR}/$(mpc current -f %file%)" "${COVER}" -y &> /dev/null
STATUS=$?
# Check if the file has a embbeded album art
if [ "$STATUS" -eq 0 ];then
echo "$COVER"
else
echo "images/music.png"
fi
}
## Execute accordingly
if [[ "$1" == "--song" ]]; then
get_song
elif [[ "$1" == "--artist" ]]; then
get_artist
elif [[ "$1" == "--status" ]]; then
get_status
elif [[ "$1" == "--time" ]]; then
get_time
elif [[ "$1" == "--ctime" ]]; then
get_ctime
elif [[ "$1" == "--ttime" ]]; then
get_ttime
elif [[ "$1" == "--cover" ]]; then
get_cover
elif [[ "$1" == "--toggle" ]]; then
mpc -q toggle
elif [[ "$1" == "--next" ]]; then
{ mpc -q next; get_cover; }
elif [[ "$1" == "--prev" ]]; then
{ mpc -q prev; get_cover; }
fi

View File

@ -1,4 +0,0 @@
#!/bin/bash
quote="`fortune -n 90 -s | head -n 1`"
echo "$quote"

View File

@ -1,39 +0,0 @@
#!/usr/bin/env bash
CFG="$HOME/.config/eww/arin/sidedar"
EWW=`which eww`
close_eww() {
${EWW} --config "$CFG" close resources logout suspend lock reboot shutdown quotes
}
## Options #############################################
if [[ $1 = "--lock" ]]; then
close_eww
betterlockscreen --lock
elif [[ $1 = "--logout" ]]; then
close_eww
#openbox --exit
berryc quit
elif [[ $1 = "--suspend" ]]; then
close_eww
amixer set Master mute
systemctl suspend
elif [[ $1 = "--reboot" ]]; then
close_eww
systemctl reboot
elif [[ $1 = "--shutdown" ]]; then
close_eww
systemctl poweroff
## Help Menu #############################################
else
echo "
Available options:
--lock --logout --suspend --reboot --shutdown
"
fi

16
eww/scripts/system.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
sleep 0.3
$HOME/dotfiles/eww/ml4w-sidebar/launch.sh
if [[ "$1" == "reboot" ]]; then
$HOME/dotfiles/hypr/scripts/reboot.sh
elif [[ "$1" == "shutdown" ]]; then
$HOME/dotfiles/hypr/scripts/shutdown.sh
elif [[ "$1" == "lock" ]]; then
$HOME/dotfiles/hypr/scripts/lock.sh
elif [[ "$1" == "suspend" ]]; then
$HOME/dotfiles/hypr/scripts/suspend.sh
elif [[ "$1" == "logout" ]]; then
$HOME/dotfiles/hypr/scripts/exit.sh
fi

View File

@ -1,70 +0,0 @@
#!/bin/bash
# Get Volume
get_volume() {
status=`amixer get Master | tail -n1 | grep -wo 'on'`
if [[ "$status" == "on" ]]; then
volume=`amixer get Master | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`
echo "$volume"
else
echo "Mute"
fi
}
# Get icons
get_icon() {
vol="$(get_volume)"
current="${vol%%%}"
status=`amixer get Master | tail -n1 | grep -wo 'on'`
if [[ "$status" == "on" ]]; then
if [[ "$current" -eq "0" ]]; then
echo "images/icons/volume/mute.png"
elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
echo "images/icons/volume/volume.png"
elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
echo "images/icons/volume/volume.png"
elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
echo "images/icons/volume/volume.png"
fi
else
echo "images/icons/volume/mute.png"
fi
}
# Increase Volume
inc_volume() {
amixer -Mq set Master,0 5%+ unmute
}
# Decrease Volume
dec_volume() {
amixer -Mq set Master,0 5%- unmute
}
# Toggle Mute
toggle_mute() {
status=`amixer get Master | tail -n1 | grep -wo 'on'`
if [[ "$status" == "on" ]]; then
amixer set Master toggle
else
amixer set Master toggle
fi
}
# Execute accordingly
if [[ "$1" == "--get" ]]; then
get_volume
elif [[ "$1" == "--icon" ]]; then
get_icon
elif [[ "$1" == "--inc" ]]; then
inc_volume
elif [[ "$1" == "--dec" ]]; then
dec_volume
elif [[ "$1" == "--toggle" ]]; then
toggle_mute
else
get_volume
fi

View File

@ -1,147 +0,0 @@
#!/bin/bash
## Collect data
cache_dir="$HOME/.cache/eww/weather"
cache_weather_stat=${cache_dir}/weather-stat
cache_weather_degree=${cache_dir}/weather-degree
cache_weather_quote=${cache_dir}/weather-quote
cache_weather_hex=${cache_dir}/weather-hex
cache_weather_icon=${cache_dir}/weather-icon
## Weather data
KEY="YOUR_KEY"
ID="CITY_ID"
UNIT="metric" # Available options : 'metric' or 'imperial'
## Make cache dir
if [[ ! -d "$cache_dir" ]]; then
mkdir -p ${cache_dir}
fi
## Get data
get_weather_data() {
weather=`curl -sf "http://api.openweathermap.org/data/2.5/weather?APPID="$KEY"&id="$ID"&units="$UNIT""`
echo ${weather}
if [ ! -z "$weather" ]; then
weather_temp=`echo "$weather" | jq ".main.temp" | cut -d "." -f 1`
weather_icon_code=`echo "$weather" | jq -r ".weather[].icon" | head -1`
weather_description=`echo "$weather" | jq -r ".weather[].description" | head -1 | sed -e "s/\b\(.\)/\u\1/g"`
#Big long if statement of doom
if [ "$weather_icon_code" == "50d" ]; then
weather_icon=" "
weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
weather_hex="#84afdb"
elif [ "$weather_icon_code" == "50n" ]; then
weather_icon=" "
weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
weather_hex="#84afdb"
elif [ "$weather_icon_code" == "01d" ]; then
weather_icon=" "
weather_quote="It's a sunny day, gonna be fun! \nDon't go wandering all by yourself though..."
weather_hex="#ffd86b"
elif [ "$weather_icon_code" == "01n" ]; then
weather_icon=" "
weather_quote="It's a clear night \nYou might want to take a evening stroll to relax..."
weather_hex="#fcdcf6"
elif [ "$weather_icon_code" == "02d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#adadff"
elif [ "$weather_icon_code" == "02n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#adadff"
elif [ "$weather_icon_code" == "03d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#adadff"
elif [ "$weather_icon_code" == "03n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#adadff"
elif [ "$weather_icon_code" == "04d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#adadff"
elif [ "$weather_icon_code" == "04n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#adadff"
elif [ "$weather_icon_code" == "09d" ]; then
weather_icon=" "
weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "09n" ]; then
weather_icon=" "
weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "10d" ]; then
weather_icon=" "
weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "10n" ]; then
weather_icon=" "
weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
weather_hex="#6b95ff"
elif [ "$weather_icon_code" == "11d" ]; then
weather_icon=""
weather_quote="There's storm for forecast today \nMake sure you don't get blown away..."
weather_hex="#ffeb57"
elif [ "$weather_icon_code" == "11n" ]; then
weather_icon=""
weather_quote="There's gonna be storms tonight \nMake sure you're warm in bed and the windows are shut..."
weather_hex="#ffeb57"
elif [ "$weather_icon_code" == "13d" ]; then
weather_icon=" "
weather_quote="It's gonna snow today \nYou'd better wear thick clothes and make a snowman as well!"
weather_hex="#e3e6fc"
elif [ "$weather_icon_code" == "13n" ]; then
weather_icon=" "
weather_quote="It's gonna snow tonight \nMake sure you get up early tomorrow to see the sights..."
weather_hex="#e3e6fc"
elif [ "$weather_icon_code" == "40d" ]; then
weather_icon=" "
weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
weather_hex="#84afdb"
elif [ "$weather_icon_code" == "40n" ]; then
weather_icon=" "
weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
weather_hex="#84afdb"
else
weather_icon=" "
weather_quote="Sort of odd, I don't know what to forecast \nMake sure you have a good time!"
weather_hex="#adadff"
fi
echo "$weather_icon" > ${cache_weather_icon}
echo "$weather_description" > ${cache_weather_stat}
echo "$weather_temp""°C" > ${cache_weather_degree}
echo -e "$weather_quote" > ${cache_weather_quote}
echo "$weather_hex" > ${cache_weather_hex}
else
echo "Weather Unavailable" > ${cache_weather_stat}
echo " " > ${cache_weather_icon}
echo -e "Ah well, no weather huh? \nEven if there's no weather, it's gonna be a great day!" > ${cache_weather_quote}
echo "-" > ${cache_weather_degree}
echo "#adadff" > ${tcache_weather_hex}
fi
}
## Execute
if [[ "$1" == "--getdata" ]]; then
get_weather_data
elif [[ "$1" == "--icon" ]]; then
cat ${cache_weather_icon}
elif [[ "$1" == "--temp" ]]; then
cat ${cache_weather_degree}
elif [[ "$1" == "--hex" ]]; then
cat ${cache_weather_hex}
elif [[ "$1" == "--stat" ]]; then
cat ${cache_weather_stat}
elif [[ "$1" == "--quote" ]]; then
cat ${cache_weather_quote} | head -n1
elif [[ "$1" == "--quote2" ]]; then
cat ${cache_weather_quote} | tail -n1
fi

View File

@ -1,33 +0,0 @@
#!/bin/bash
if [[ "$1" == "--tr" ]]; then
alacritty --working-directory ~ &
elif [[ "$1" == "--ff" ]]; then
firefox &
elif [[ "$1" == "--fm" ]]; then
thunar ~ &
elif [[ "$1" == "--ge" ]]; then
geany &
elif [[ "$1" == "--dc" ]]; then
discord &
elif [[ "$1" == "--tg" ]]; then
telegram-desktop &
elif [[ "$1" == "--rd" ]]; then
firefox --new-tab "https://reddit.com"
elif [[ "$1" == "--ml" ]]; then
firefox --new-tab "https://mail.google.com"
elif [[ "$1" == "--pow" ]]; then
xfce4-power-manager-settings &
elif [[ "$1" == "--nm" ]]; then
networkmanager_dmenu
fi

View File

@ -1,9 +0,0 @@
#!/bin/bash
if [[ "$1" == "--menu" ]]; then
rofi -show drun
elif [[ "$1" == "--search" ]]; then
firefox --new-tab "https://google.com"
fi

View File

@ -34,3 +34,4 @@ env = APPIMAGELAUNCHER_DISABLE,1
exec-once = ~/dotfiles/hypr/scripts/ml4w-welcome-autostart.sh
exec-once = ~/.config/ml4w-hyprland-settings/hyprctl.sh
exec-once = ~/dotfiles/hypr/scripts/eww.sh

4
hypr/scripts/eww.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
EWW=`which eww`
killall eww
${EWW} daemon

View File

@ -1,3 +1,3 @@
#!/bin/bash
sleep 1
sleep 0.5
killall -9 Hyprland sleep 2

3
hypr/scripts/lock.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
hyprlock

3
hypr/scripts/reboot.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
systemctl reboot

3
hypr/scripts/shutdown.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
systemctl suspend

3
hypr/scripts/suspend.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
systemctl suspend

View File

@ -58,8 +58,8 @@
// ML4W Welcome App
"custom/ml4w-welcome": {
"on-click": "~/dotfiles/apps/ML4W_Welcome-x86_64.AppImage",
"on-click-right": "~/dotfiles/hypr/scripts/ml4w-launcher.sh",
"on-click": "sleep 0.1 && ~/dotfiles/eww/ml4w-sidebar/launch.sh",
"on-click-right": "sleep 0.1 && ~/dotfiles/apps/ML4W_Welcome-x86_64.AppImage",
"format": " ",
"tooltip": false
},
@ -143,20 +143,6 @@
"tooltip": false
},
// Outlook Launcher
"custom/outlook": {
"format": "",
"on-click": "chromium --app=https://outlook.office.com/mail/",
"tooltip": false
},
// Teams Launcher
"custom/teams": {
"format": "",
"on-click": "chromium --app=https://teams.microsoft.com/go",
"tooltip": false
},
// Browser Launcher
"custom/browser": {
"format": "",
@ -291,7 +277,7 @@
// START CHATGPT TOOGLE
"custom/chatgpt",
// END CHATGPT TOOGLE
"custom/wallpaper"
"custom/empty"
]
},
@ -306,6 +292,7 @@
"modules": [
"custom/settings",
"custom/waybarthemes",
"custom/wallpaper",
"custom/ml4w-hyprland-settings"
]
},

View File

@ -200,7 +200,7 @@ window#waybar.empty #window {
}
#custom-chatgpt {
margin-right: 15px;
margin-right: 12px;
background-image: url("../assets/ai-icon-20.png");
background-repeat: no-repeat;
background-position: center;

View File

@ -142,12 +142,19 @@ window#waybar.empty #window {
}
#custom-settings {
margin-right: 15;
margin-right: 15px;
}
#custom-browser {
margin-right: 16px;
}
#custom-wallpaper {
margin-right: 14px;
}
#custom-chatgpt {
margin-right: 15px;
margin-right: 10px;
background-image: url("../assets/ai-icon-20.png");
background-repeat: no-repeat;
background-position: center;

View File

@ -185,7 +185,7 @@ window#waybar.empty #window {
}
#custom-chatgpt {
margin-right: 15px;
margin-right: 12px;
background-image: url("../assets/ai-icon.png");
background-repeat: no-repeat;
background-position: center;

View File

@ -1,6 +1,6 @@
{
"label" : "lock",
"action" : "sleep 1; hyprlock",
"action" : "$HOME/dotfiles/hypr/scripts/lock.sh",
"text" : "Lock",
"keybind" : "l"
}
@ -18,19 +18,19 @@
}
{
"label" : "shutdown",
"action" : "sleep 1; systemctl poweroff",
"action" : "$HOME/dotfiles/hypr/scripts/shutdown.sh",
"text" : "Shutdown",
"keybind" : "s"
}
{
"label" : "suspend",
"action" : "sleep 1; systemctl suspend",
"action" : "$HOME/dotfiles/hypr/scripts/suspend.sh",
"text" : "Suspend",
"keybind" : "u"
}
{
"label" : "reboot",
"action" : "sleep 1; systemctl reboot",
"action" : "$HOME/dotfiles/hypr/scripts/reboot.sh",
"text" : "Reboot",
"keybind" : "r"
}