mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-08-11 02:21:14 +10:00
Playing with eww
This commit is contained in:
@@ -0,0 +1,447 @@
|
|||||||
|
/** EWW.SCSS
|
||||||
|
Created by saimoom **/
|
||||||
|
*{
|
||||||
|
all: unset;
|
||||||
|
font-family: Ubuntu;
|
||||||
|
font-family: Ubuntu Mono;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** General **/
|
||||||
|
.bar_class {
|
||||||
|
background-color: #282c34;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
.module {
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
border-radius: 10px 16px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** tooltip!! **/
|
||||||
|
tooltip.background {
|
||||||
|
background-color: #282c34;
|
||||||
|
font-size: 18;
|
||||||
|
border-radius: 10px;
|
||||||
|
color: #bfc9db;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
margin: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** Widgets **/
|
||||||
|
|
||||||
|
.clock_time_sep {
|
||||||
|
font-size: 16;
|
||||||
|
color: #bfc9db;
|
||||||
|
margin: 0px 4px 1px 4px;
|
||||||
|
}
|
||||||
|
.clock_time_class, .clock_minute_class {
|
||||||
|
font-size: 23;
|
||||||
|
}
|
||||||
|
.clock_date_class {
|
||||||
|
font-size: 18;
|
||||||
|
margin: 0px 20px 0px -1px;
|
||||||
|
color: #d7beda;
|
||||||
|
}
|
||||||
|
.clock_minute_class {
|
||||||
|
margin: 0px 20px 0px 3px;
|
||||||
|
color: #bfc9db;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clock_time_class {
|
||||||
|
color: #bfc9db;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0px 5px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.membar {
|
||||||
|
color: #e0b089;
|
||||||
|
background-color: #38384d;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.batbar {
|
||||||
|
color: #afbea2;
|
||||||
|
background-color: #38384d;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.brightbar trough highlight {
|
||||||
|
background-image: linear-gradient(to right, #e4c9af 30%, #f2cdcd 50%, #e0b089 100% *50);
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.volbar trough highlight {
|
||||||
|
background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.volume_icon {
|
||||||
|
font-size: 22;
|
||||||
|
color: #a1bdce;
|
||||||
|
margin: 0px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.module_essid {
|
||||||
|
font-size: 18;
|
||||||
|
color: #a1bdce;
|
||||||
|
margin: 0px 10px 0px 0px;
|
||||||
|
}
|
||||||
|
.module-wif {
|
||||||
|
font-size: 22;
|
||||||
|
color: #a1bdce;
|
||||||
|
border-radius: 100%;
|
||||||
|
margin: 0px 10px 0px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconmem {
|
||||||
|
color: #e0b089;
|
||||||
|
}
|
||||||
|
.iconbat {
|
||||||
|
color: #afbea2;
|
||||||
|
}
|
||||||
|
.iconbat, .iconmem {
|
||||||
|
font-size: 15;
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
.bright_icon {
|
||||||
|
font-size: 22;
|
||||||
|
color: #e4c9af;
|
||||||
|
margin: 0px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.separ {
|
||||||
|
color: #3e424f;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 22px;
|
||||||
|
margin: 0px 8px 0px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mem_module {
|
||||||
|
background-color: #282c34;
|
||||||
|
border-radius: 16px;
|
||||||
|
margin: 0px 10px 0px 3px;
|
||||||
|
}
|
||||||
|
.bat_module {
|
||||||
|
background-color: #282c34;
|
||||||
|
border-radius: 16px;
|
||||||
|
margin: 0px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
scale trough {
|
||||||
|
all: unset;
|
||||||
|
background-color: #22242b;
|
||||||
|
box-shadow: 0 2px 3px 2px #06060b;
|
||||||
|
border-radius: 16px;
|
||||||
|
min-height: 10px;
|
||||||
|
min-width: 70px;
|
||||||
|
margin: 0px 10px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.works {
|
||||||
|
font-size: 27px;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 5px 0px 0px 20px;
|
||||||
|
background-color: #282c34;
|
||||||
|
}
|
||||||
|
|
||||||
|
.0 , .01, .02, .03, .04, .05, .06,
|
||||||
|
.011, .022, .033, .044, .055, .066{
|
||||||
|
margin: 0px 10px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Unoccupied */
|
||||||
|
.0 {
|
||||||
|
color: #3e424f;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Occupied */
|
||||||
|
.01, .02, .03, .04, .05, .06 {
|
||||||
|
color: #bfc9db;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Focused */
|
||||||
|
.011, .022, .033, .044, .055, .066 {
|
||||||
|
color: #a1bdce;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.song_cover_art {
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
min-height: 24px;
|
||||||
|
min-width: 24px;
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.song {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-size : 18px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin : 3px 5px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.song_btn_play {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-size : 28px;
|
||||||
|
margin : 3px 0px 0px 5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.song_btn_prev, .song_btn_next {
|
||||||
|
color: #bfc9db;
|
||||||
|
font-size : 24px;
|
||||||
|
margin : 3px 0px 0px 5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
// Calendar
|
||||||
|
.cal {
|
||||||
|
background-color: #282c34;
|
||||||
|
font-family: JetBrainsMono Nerd Font;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: normal;
|
||||||
|
|
||||||
|
.cal-in {
|
||||||
|
padding: 0px 10px 0px 10px;
|
||||||
|
color: #bfc9db;
|
||||||
|
|
||||||
|
.cal {
|
||||||
|
&.highlight {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
padding: 5px 5px 5px 5px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
calender {
|
||||||
|
color: #bfc9db;
|
||||||
|
}
|
||||||
|
calendar:selected {
|
||||||
|
color: #a1bdce;
|
||||||
|
}
|
||||||
|
|
||||||
|
calendar.header {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
calendar.button {
|
||||||
|
color: #afbea2;
|
||||||
|
}
|
||||||
|
|
||||||
|
calendar.highlight {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
calendar:indeterminate {
|
||||||
|
color: #bfc9db;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.sys_sep {
|
||||||
|
color: #38384d;
|
||||||
|
font-size: 18;
|
||||||
|
margin: 0px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
.sys_text_bat_sub, .sys_text_mem_sub {
|
||||||
|
font-size: 16;
|
||||||
|
color: #bbc5d7;
|
||||||
|
margin: 5px 0px 0px 25px;
|
||||||
|
}
|
||||||
|
.sys_text_bat, .sys_text_mem {
|
||||||
|
font-size: 21;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 14px 0px 0px 25px;
|
||||||
|
}
|
||||||
|
.sys_icon_bat, .sys_icon_mem {
|
||||||
|
font-size: 30;
|
||||||
|
margin: 30px;
|
||||||
|
}
|
||||||
|
.sys_win {
|
||||||
|
background-color: #282c34;
|
||||||
|
}
|
||||||
|
.sys_bat {
|
||||||
|
color: #afbea2;
|
||||||
|
background-color: #38384d;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.sys_mem {
|
||||||
|
color: #e4c9af;
|
||||||
|
background-color: #38384d;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.sys_icon_bat, .sys_text_bat {
|
||||||
|
color: #afbea2;
|
||||||
|
}
|
||||||
|
.sys_icon_mem, .sys_text_mem {
|
||||||
|
color: #e4c9af;
|
||||||
|
}
|
||||||
|
.sys_bat_box {
|
||||||
|
border-radius: 16px;
|
||||||
|
margin: 15px 10px 10px 20px;
|
||||||
|
}
|
||||||
|
.sys_mem_box {
|
||||||
|
border-radius: 16px;
|
||||||
|
margin: 10px 10px 15px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.music_pop {
|
||||||
|
background-color: #282c34;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
.music_cover_art {
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
min-height: 100px;
|
||||||
|
box-shadow: 5px 5px 5px 5px #06060b;
|
||||||
|
min-width: 170px;
|
||||||
|
margin: 20px;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.music {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-size : 20px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin : 20px 0px 0px -15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.music_artist {
|
||||||
|
color: #bbc5d7;
|
||||||
|
font-size : 16px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.music_btn_prev, .music_btn_play, .music_btn_next {
|
||||||
|
font-family: Iosevka Nerd Font;
|
||||||
|
}
|
||||||
|
.music_btn_prev {
|
||||||
|
color: #bbc5d7;
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
.music_btn_play {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-size : 48px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
.music_btn_next {
|
||||||
|
color: #bbc5d7;
|
||||||
|
font-size : 32px;
|
||||||
|
font-weight : normal;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.music_bar scale trough highlight {
|
||||||
|
all: unset;
|
||||||
|
background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
.music_bar scale trough {
|
||||||
|
all: unset;
|
||||||
|
background-color: #232232;
|
||||||
|
box-shadow: 0 6px 5px 2px #06060b;
|
||||||
|
border-radius: 24px;
|
||||||
|
min-height: 13px;
|
||||||
|
min-width: 190px;
|
||||||
|
margin : -10px 10px 20px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.audio-box {
|
||||||
|
background-color: #282c34;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
.speaker_icon {
|
||||||
|
background-size: cover;
|
||||||
|
background-image: url('images/speaker.png');
|
||||||
|
background-position: center;
|
||||||
|
min-height: 70px;
|
||||||
|
min-width: 75px;
|
||||||
|
margin: 10px 20px 5px 20px;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.speaker_text {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-size : 26px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin: 20px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.speaker_bar scale trough highlight {
|
||||||
|
all: unset;
|
||||||
|
background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
.speaker_bar scale trough {
|
||||||
|
all: unset;
|
||||||
|
background-color: #232232;
|
||||||
|
box-shadow: 0 6px 5px 2px #06060b;
|
||||||
|
border-radius: 24px;
|
||||||
|
min-height: 13px;
|
||||||
|
min-width: 120px;
|
||||||
|
margin : 0px 0px 5px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.mic_icon {
|
||||||
|
background-size: cover;
|
||||||
|
background-image: url('images/mic.png');
|
||||||
|
background-position: center;
|
||||||
|
min-height: 70px;
|
||||||
|
min-width: 75px;
|
||||||
|
margin: 5px 20px 20px 20px;
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mic_text {
|
||||||
|
color: #a1bdce;
|
||||||
|
font-size : 26px;
|
||||||
|
font-weight : bold;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mic_bar scale trough highlight {
|
||||||
|
all: unset;
|
||||||
|
background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
.mic_bar scale trough {
|
||||||
|
all: unset;
|
||||||
|
box-shadow: 0 6px 5px 2px #06060b;
|
||||||
|
background-color: #232232;
|
||||||
|
border-radius: 24px;
|
||||||
|
min-height: 13px;
|
||||||
|
min-width: 120px;
|
||||||
|
margin : 0px 0px 20px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.audio_sep {
|
||||||
|
color: #38384d;
|
||||||
|
font-size: 18;
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,350 @@
|
|||||||
|
;; Variables
|
||||||
|
(defpoll clock_time :interval "5m" "date +\%I")
|
||||||
|
(defpoll clock_minute :interval "5s" "date +\%M")
|
||||||
|
(defpoll clock_date :interval "10h" "date '+%d/%m'")
|
||||||
|
(defpoll volume_percent :interval "3s" "amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%'")
|
||||||
|
(defpoll mic_percent :interval "3s" "amixer -D pulse sget Capture | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%'")
|
||||||
|
(defpoll brightness_percent :interval "5s" "brightnessctl -m -d intel_backlight | awk -F, '{print substr($4, 0, length($4)-1)}' | tr -d '%'")
|
||||||
|
(defpoll battery :interval "15s" "./scripts/battery --bat")
|
||||||
|
(defpoll battery_status :interval "1m" "./scripts/battery --bat-st")
|
||||||
|
(defpoll memory :interval "15s" "scripts/memory")
|
||||||
|
(defpoll memory_used_mb :interval "2m" "scripts/mem-ad used")
|
||||||
|
(defpoll memory_total_mb :interval "2m" "scripts/mem-ad total")
|
||||||
|
(defpoll memory_free_mb :interval "2m" "scripts/mem-ad free")
|
||||||
|
(defvar vol_reveal false)
|
||||||
|
(defvar br_reveal false)
|
||||||
|
(defvar music_reveal false)
|
||||||
|
(defvar wifi_rev false)
|
||||||
|
(defvar time_rev false)
|
||||||
|
(deflisten workspace "scripts/workspace")
|
||||||
|
|
||||||
|
(defvar eww "$HOME/.local/bin/eww/eww -c $HOME/.config/eww/bar")
|
||||||
|
|
||||||
|
|
||||||
|
(defpoll COL_WLAN :interval "1m" "~/.config/eww/bar/scripts/wifi --COL")
|
||||||
|
(defpoll ESSID_WLAN :interval "1m" "~/.config/eww/bar/scripts/wifi --ESSID")
|
||||||
|
(defpoll WLAN_ICON :interval "1m" "~/.config/eww/bar/scripts/wifi --ICON")
|
||||||
|
|
||||||
|
|
||||||
|
(defpoll song :interval "2s" "~/.config/eww/bar/scripts/music_info --song")
|
||||||
|
(defpoll song_artist :interval "2s" "~/.config/eww/bar/scripts/music_info --artist")
|
||||||
|
(defpoll current_status :interval "1s" "~/.config/eww/bar/scripts/music_info --time")
|
||||||
|
(defpoll song_status :interval "2s" "~/.config/eww/bar/scripts/music_info --status")
|
||||||
|
(defpoll cover_art :interval "2s" "~/.config/eww/bar/scripts/music_info --cover")
|
||||||
|
|
||||||
|
(defpoll calendar_day :interval "20h" "date '+%d'")
|
||||||
|
(defpoll calendar_year :interval "20h" "date '+%Y'")
|
||||||
|
|
||||||
|
;; widgets
|
||||||
|
|
||||||
|
(defwidget wifi []
|
||||||
|
(eventbox :onhover "${eww} update wifi_rev=true"
|
||||||
|
:onhoverlost "${eww} update wifi_rev=false"
|
||||||
|
(box :vexpand "false" :hexpand "false" :space-evenly "false"
|
||||||
|
(button :class "module-wif" :onclick "networkmanager_dmenu" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" WLAN_ICON)
|
||||||
|
(revealer :transition "slideright"
|
||||||
|
:reveal wifi_rev
|
||||||
|
:duration "350ms"
|
||||||
|
(label :class "module_essid"
|
||||||
|
:text ESSID_WLAN
|
||||||
|
:orientation "h"
|
||||||
|
)))))
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget workspaces []
|
||||||
|
(literal :content workspace))
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget bat []
|
||||||
|
(box :class "bat_module" :vexpand "false" :hexpand "false"
|
||||||
|
(circular-progress :value battery
|
||||||
|
:class "batbar"
|
||||||
|
:thickness 4
|
||||||
|
(button
|
||||||
|
:class "iconbat"
|
||||||
|
:limit-width 2
|
||||||
|
:tooltip "battery on ${battery}%"
|
||||||
|
:show_truncated false
|
||||||
|
:onclick "$HOME/.config/eww/bar/scripts/pop system"
|
||||||
|
:wrap false
|
||||||
|
""))))
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget mem []
|
||||||
|
(box :class "mem_module" :vexpand "false" :hexpand "false"
|
||||||
|
(circular-progress :value memory
|
||||||
|
:class "membar"
|
||||||
|
:thickness 4
|
||||||
|
(button
|
||||||
|
:class "iconmem"
|
||||||
|
:limit-width 2
|
||||||
|
:tooltip "using ${memory}% ram"
|
||||||
|
:onclick "$HOME/.config/eww/bar/scripts/pop system"
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false
|
||||||
|
""))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget sep []
|
||||||
|
(box :class "module-2" :vexpand "false" :hexpand "false"
|
||||||
|
(label :class "separ" :text "|")))
|
||||||
|
|
||||||
|
(defwidget clock_module []
|
||||||
|
(eventbox :onhover "${eww} update time_rev=true"
|
||||||
|
:onhoverlost "${eww} update time_rev=false"
|
||||||
|
(box :class "module" :space-evenly "false" :orientation "h" :spacing "3"
|
||||||
|
(label :text clock_time :class "clock_time_class" )
|
||||||
|
(label :text "" :class "clock_time_sep" )
|
||||||
|
(label :text clock_minute :class "clock_minute_class")
|
||||||
|
(revealer :transition "slideleft"
|
||||||
|
:reveal time_rev
|
||||||
|
:duration "350ms"
|
||||||
|
(button :class "clock_date_class"
|
||||||
|
:onclick "$HOME/.config/eww/bar/scripts/pop calendar" clock_date
|
||||||
|
)
|
||||||
|
))))
|
||||||
|
|
||||||
|
(defwidget volume []
|
||||||
|
(eventbox :onhover "${eww} update vol_reveal=true"
|
||||||
|
:onhoverlost "${eww} update vol_reveal=false"
|
||||||
|
(box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3"
|
||||||
|
(button :onclick "scripts/pop audio" :class "volume_icon" "")
|
||||||
|
(revealer :transition "slideleft"
|
||||||
|
:reveal vol_reveal
|
||||||
|
:duration "350ms"
|
||||||
|
(scale :class "volbar"
|
||||||
|
:value volume_percent
|
||||||
|
:orientation "h"
|
||||||
|
:tooltip "${volume_percent}%"
|
||||||
|
:max 100
|
||||||
|
:min 0
|
||||||
|
:onchange "amixer -D pulse sset Master {}%" )))))
|
||||||
|
|
||||||
|
(defwidget bright []
|
||||||
|
(eventbox :onhover "${eww} update br_reveal=true" :onhoverlost "${eww} update br_reveal=false"
|
||||||
|
(box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3"
|
||||||
|
(label :text "" :class "bright_icon" :tooltip "brightness")
|
||||||
|
(revealer :transition "slideleft"
|
||||||
|
:reveal br_reveal
|
||||||
|
:duration "350ms"
|
||||||
|
(scale :class "brightbar"
|
||||||
|
:value brightness_percent
|
||||||
|
:orientation "h"
|
||||||
|
:tooltip "${brightness_percent}%"
|
||||||
|
:max 100
|
||||||
|
:min 0
|
||||||
|
:onchange "brightnessctl set {}%" )))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;; Music
|
||||||
|
(defwidget music []
|
||||||
|
(eventbox :onhover "${eww} update music_reveal=true"
|
||||||
|
:onhoverlost "${eww} update music_reveal=false"
|
||||||
|
(box :class "module-2" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
||||||
|
(box :class "song_cover_art" :vexpand "false" :hexpand "false" :style "background-image: url('${cover_art}');")
|
||||||
|
(button :class "song" :wrap "true" :onclick "~/.config/eww/bar/scripts/pop music" song)
|
||||||
|
(revealer :transition "slideright"
|
||||||
|
:reveal music_reveal
|
||||||
|
:duration "350ms"
|
||||||
|
(box :vexpand "false" :hexpand "false" :oreintation "h"
|
||||||
|
(button :class "song_btn_prev" :onclick "~/.config/eww/bar/scripts/music_info --prev" "")
|
||||||
|
(button :class "song_btn_play" :onclick "~/.config/eww/bar/scripts/music_info --toggle" song_status)
|
||||||
|
(button :class "song_btn_next" :onclick "~/.config/eww/bar/scripts/music_info --next" ""))))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget left []
|
||||||
|
(box :orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
:halign "end"
|
||||||
|
:class "left_modules"
|
||||||
|
(bright)
|
||||||
|
(volume)
|
||||||
|
(wifi)
|
||||||
|
(sep)
|
||||||
|
(bat)
|
||||||
|
(mem)
|
||||||
|
(sep)
|
||||||
|
(clock_module)))
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget right []
|
||||||
|
(box :orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
:halign "start"
|
||||||
|
:class "right_modules"
|
||||||
|
(workspaces)))
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget center []
|
||||||
|
(box :orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
:halign "center"
|
||||||
|
:class "center_modules"
|
||||||
|
(music)))
|
||||||
|
|
||||||
|
(defwidget bar_1 []
|
||||||
|
(box :class "bar_class"
|
||||||
|
:orientation "h"
|
||||||
|
(right)
|
||||||
|
(center)
|
||||||
|
(left)
|
||||||
|
))
|
||||||
|
|
||||||
|
(defwindow bar
|
||||||
|
:geometry (geometry :x "0%"
|
||||||
|
:y "9px"
|
||||||
|
:width "98%"
|
||||||
|
:height "30px"
|
||||||
|
:anchor "top center")
|
||||||
|
:stacking "fg"
|
||||||
|
:windowtype "dock"
|
||||||
|
(bar_1))
|
||||||
|
|
||||||
|
(defwidget system []
|
||||||
|
(box :class "sys_win" :orientation "v" :space-evenly "false" :hexpand "false" :vexpand "false" :spacing 0
|
||||||
|
(box :class "sys_bat_box" :orientation "h" :space-evenly "false"
|
||||||
|
(circular-progress :value battery
|
||||||
|
:class "sys_bat"
|
||||||
|
:thickness 9
|
||||||
|
(label :text ""
|
||||||
|
:class "sys_icon_bat"
|
||||||
|
:limit-width 2
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false))
|
||||||
|
(box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
|
||||||
|
(label :text "battery"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys_text_bat"
|
||||||
|
:limit-width 9
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false)
|
||||||
|
(label :text "${battery}%"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys_text_bat_sub"
|
||||||
|
:limit-width 22
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false)
|
||||||
|
(label :text "${battery_status}"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys_text_bat_sub"
|
||||||
|
:limit-width 22
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false)))
|
||||||
|
(label :text "" :class "sys_sep" :halign "center")
|
||||||
|
(box :class "sys_mem_box" :orientation "h" :space-evenly "false" :halign "start"
|
||||||
|
(circular-progress :value memory
|
||||||
|
:class "sys_mem"
|
||||||
|
:thickness 9
|
||||||
|
(label :text ""
|
||||||
|
:class "sys_icon_mem"
|
||||||
|
:limit-width 2
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false
|
||||||
|
:angle 0.0))
|
||||||
|
(box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
|
||||||
|
(label :text "memory"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys_text_mem"
|
||||||
|
:limit-width 9
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false)
|
||||||
|
(label :text "${memory_used_mb} | ${memory_total_mb}mb "
|
||||||
|
:halign "start"
|
||||||
|
:class "sys_text_mem_sub"
|
||||||
|
:limit-width 22
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false)
|
||||||
|
(label :text "${memory_free_mb}mb free"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys_text_mem_sub"
|
||||||
|
:limit-width 22
|
||||||
|
:show_truncated false
|
||||||
|
:wrap false)))))
|
||||||
|
|
||||||
|
(defwidget cal []
|
||||||
|
(box :class "cal" :orientation "v"
|
||||||
|
(box :class "cal-in"
|
||||||
|
(calendar :class "cal"
|
||||||
|
:day calendar_day
|
||||||
|
:year calendar_year))))
|
||||||
|
|
||||||
|
(defwindow calendar
|
||||||
|
:geometry (geometry :x "-20px"
|
||||||
|
:y "7%"
|
||||||
|
:anchor "top right"
|
||||||
|
:width "270px"
|
||||||
|
:height "60px")
|
||||||
|
(cal))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(defwidget audio []
|
||||||
|
(box :class "audio-box" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false"
|
||||||
|
(box :halign "v" :space-evenly "false" :hexpand "false" :vexpand "false"
|
||||||
|
(box :class "speaker_icon" :orientation "v")
|
||||||
|
(box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
|
||||||
|
(label :class "speaker_text" :text "speaker" :valign "center" :halign "left" )
|
||||||
|
(box :class "speaker_bar" :halign "center" :vexpand "false" :hexpand "false"
|
||||||
|
(scale :value volume_percent
|
||||||
|
:space-evenly "false"
|
||||||
|
:orientation "h"
|
||||||
|
:onchange "amixer -D pulse sset Master {}%"
|
||||||
|
:tooltip "volume on ${volume_percent}%"
|
||||||
|
:max 100
|
||||||
|
:min 0))))
|
||||||
|
(label :text "" :class "audio_sep" :halign "center")
|
||||||
|
(box :halign "v" :space-evenly "false" :hexpand "false" :vexpand "false"
|
||||||
|
(box :class "mic_icon" :orientation "v")
|
||||||
|
(box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
|
||||||
|
(label :class "mic_text" :text "mic" :valign "center" :halign "left" )
|
||||||
|
(box :class "mic_bar" :halign "center" :vexpand "false" :hexpand "false"
|
||||||
|
(scale :value mic_percent
|
||||||
|
:space-evenly "false"
|
||||||
|
:orientation "h"
|
||||||
|
:tooltip "mic on ${mic_percent}%"
|
||||||
|
:onchange "amixer -D pulse sset Capture {}%"
|
||||||
|
:max 100
|
||||||
|
:min 0))))))
|
||||||
|
|
||||||
|
(defwindow audio_ctl
|
||||||
|
:geometry (geometry :x "-20px"
|
||||||
|
:y "7%"
|
||||||
|
:anchor "top right"
|
||||||
|
:width "280px"
|
||||||
|
:height "60px")
|
||||||
|
(audio))
|
||||||
|
|
||||||
|
|
||||||
|
(defwindow system
|
||||||
|
:geometry (geometry :x "-20px"
|
||||||
|
:y "7%"
|
||||||
|
:anchor "top right"
|
||||||
|
:width "290px"
|
||||||
|
:height "120px")
|
||||||
|
(system))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;; Music
|
||||||
|
(defwidget music_pop []
|
||||||
|
(box :class "music_pop" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
||||||
|
(box :class "music_cover_art" :vexpand "false" :hexpand "false" :style "background-image: url('${cover_art}');")
|
||||||
|
(box :orientation "v" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
|
||||||
|
(label :halign "center" :class "music" :wrap "true" :limit-width 13 :text song)
|
||||||
|
(label :halign "center" :class "music_artist" :wrap "true" :limit-width 15 :text song_artist)
|
||||||
|
(box :orientation "h" :spacing 15 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "false"
|
||||||
|
(button :class "music_btn_prev" :onclick "~/.config/eww/bar/scripts/music_info --prev" "")
|
||||||
|
(button :class "music_btn_play" :onclick "~/.config/eww/bar/scripts/music_info --toggle" song_status)
|
||||||
|
(button :class "music_btn_next" :onclick "~/.config/eww/bar/scripts/music_info --next" ""))
|
||||||
|
(box :class "music_bar" :halign "center" :vexpand "false" :hexpand "false" :space-evenly "false"
|
||||||
|
(scale :onscroll "mpc -q seek {}" :min 0 :active "true" :max 100 :value current_status)))))
|
||||||
|
|
||||||
|
|
||||||
|
;; music
|
||||||
|
(defwindow music_win :stacking "fg" :focusable "false" :screen 1
|
||||||
|
:geometry (geometry :x "0" :y "7%" :width 428 :height 104 :anchor "top center")
|
||||||
|
(music_pop))
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 134 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Executable
+27
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
## Files and cmd
|
||||||
|
FILE="$HOME/.cache/eww_launch.xyz"
|
||||||
|
EWW="eww -c $HOME/.config/eww/bar"
|
||||||
|
|
||||||
|
## Run eww daemon if not running already
|
||||||
|
if [[ ! `pidof eww` ]]; then
|
||||||
|
${EWW} daemon
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Open widgets
|
||||||
|
run_eww() {
|
||||||
|
${EWW} open-many \
|
||||||
|
bar
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
## Launch or close widgets accordingly
|
||||||
|
if [[ ! -f "$FILE" ]]; then
|
||||||
|
touch "$FILE"
|
||||||
|
run_eww && bspc config -m LVDS-1 top_padding 49
|
||||||
|
else
|
||||||
|
${EWW} close-all && killall eww
|
||||||
|
rm "$FILE"
|
||||||
|
fi
|
||||||
Executable
+17
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
battery() {
|
||||||
|
BAT=`ls /sys/class/power_supply | grep BAT | head -n 1`
|
||||||
|
cat /sys/class/power_supply/${BAT}/capacity
|
||||||
|
}
|
||||||
|
battery_stat() {
|
||||||
|
BAT=`ls /sys/class/power_supply | grep BAT | head -n 1`
|
||||||
|
cat /sys/class/power_supply/${BAT}/status
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "$1" == "--bat" ]]; then
|
||||||
|
battery
|
||||||
|
elif [[ "$1" == "--bat-st" ]]; then
|
||||||
|
battery_stat
|
||||||
|
fi
|
||||||
|
|
||||||
Executable
+15
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
total="$(free -m | grep Mem: | awk '{ print $2 }')"
|
||||||
|
used="$(free -m | grep Mem: | awk '{ print $3 }')"
|
||||||
|
|
||||||
|
free=$(expr $total - $used)
|
||||||
|
|
||||||
|
if [ "$1" = "total" ]; then
|
||||||
|
echo $total
|
||||||
|
elif [ "$1" = "used" ]; then
|
||||||
|
echo $used
|
||||||
|
elif [ "$1" = "free" ]; then
|
||||||
|
echo $free
|
||||||
|
fi
|
||||||
Executable
+3
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}')
|
||||||
Executable
+98
@@ -0,0 +1,98 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# scripts by adi1090x
|
||||||
|
|
||||||
|
## Get data
|
||||||
|
STATUS="$(mpc status)"
|
||||||
|
COVER="/tmp/.music_cover.png"
|
||||||
|
MUSIC_DIR="$HOME/Music"
|
||||||
|
|
||||||
|
## Get status
|
||||||
|
get_status() {
|
||||||
|
if [[ $STATUS == *"[playing]"* ]]; then
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "奈"
|
||||||
|
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 ""
|
||||||
|
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
|
||||||
Executable
+92
@@ -0,0 +1,92 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
calendar() {
|
||||||
|
LOCK_FILE="$HOME/.cache/eww-calendar.lock"
|
||||||
|
EWW_BIN="$HOME/.local/bin/eww/eww"
|
||||||
|
|
||||||
|
run() {
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar open calendar
|
||||||
|
}
|
||||||
|
|
||||||
|
# Open widgets
|
||||||
|
if [[ ! -f "$LOCK_FILE" ]]; then
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close system music_win audio_ctl
|
||||||
|
touch "$LOCK_FILE"
|
||||||
|
run && echo "ok good!"
|
||||||
|
else
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close calendar
|
||||||
|
rm "$LOCK_FILE" && echo "closed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
system() {
|
||||||
|
LOCK_FILE_MEM="$HOME/.cache/eww-system.lock"
|
||||||
|
EWW_BIN="$HOME/.local/bin/eww/eww"
|
||||||
|
|
||||||
|
run() {
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar open system
|
||||||
|
}
|
||||||
|
|
||||||
|
# Open widgets
|
||||||
|
if [[ ! -f "$LOCK_FILE_MEM" ]]; then
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close calendar music_win audio_ctl
|
||||||
|
touch "$LOCK_FILE_MEM"
|
||||||
|
run && echo "ok good!"
|
||||||
|
else
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close system
|
||||||
|
rm "$LOCK_FILE_MEM" && echo "closed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
music() {
|
||||||
|
LOCK_FILE_SONG="$HOME/.cache/eww-song.lock"
|
||||||
|
EWW_BIN="$HOME/.local/bin/eww/eww"
|
||||||
|
|
||||||
|
run() {
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar open music_win
|
||||||
|
}
|
||||||
|
|
||||||
|
# Open widgets
|
||||||
|
if [[ ! -f "$LOCK_FILE_SONG" ]]; then
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close system calendar
|
||||||
|
touch "$LOCK_FILE_SONG"
|
||||||
|
run && echo "ok good!"
|
||||||
|
else
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close music_win
|
||||||
|
rm "$LOCK_FILE_SONG" && echo "closed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
audio() {
|
||||||
|
LOCK_FILE_AUDIO="$HOME/.cache/eww-audio.lock"
|
||||||
|
EWW_BIN="$HOME/.local/bin/eww/eww"
|
||||||
|
|
||||||
|
run() {
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar open audio_ctl
|
||||||
|
}
|
||||||
|
|
||||||
|
# Open widgets
|
||||||
|
if [[ ! -f "$LOCK_FILE_AUDIO" ]]; then
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close system calendar music
|
||||||
|
touch "$LOCK_FILE_AUDIO"
|
||||||
|
run && echo "ok good!"
|
||||||
|
else
|
||||||
|
${EWW_BIN} -c $HOME/.config/eww/bar close audio_ctl
|
||||||
|
rm "$LOCK_FILE_AUDIO" && echo "closed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$1" = "calendar" ]; then
|
||||||
|
calendar
|
||||||
|
elif [ "$1" = "system" ]; then
|
||||||
|
system
|
||||||
|
elif [ "$1" = "music" ]; then
|
||||||
|
music
|
||||||
|
elif [ "$1" = "audio" ]; then
|
||||||
|
audio
|
||||||
|
fi
|
||||||
Executable
+26
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
status=$(nmcli g | grep -oE "disconnected")
|
||||||
|
essid=$(nmcli c | grep wlp2s0 | awk '{print ($1)}')
|
||||||
|
|
||||||
|
if [ $status ] ; then
|
||||||
|
icon=""
|
||||||
|
text=""
|
||||||
|
col="#575268"
|
||||||
|
|
||||||
|
else
|
||||||
|
icon=""
|
||||||
|
text="${essid}"
|
||||||
|
col="#a1bdce"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$1" == "--COL" ]]; then
|
||||||
|
echo $col
|
||||||
|
elif [[ "$1" == "--ESSID" ]]; then
|
||||||
|
echo $text
|
||||||
|
elif [[ "$1" == "--ICON" ]]; then
|
||||||
|
echo $icon
|
||||||
|
fi
|
||||||
|
|
||||||
Executable
+75
@@ -0,0 +1,75 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
workspaces() {
|
||||||
|
|
||||||
|
ws1="0"
|
||||||
|
ws2="1"
|
||||||
|
ws3="2"
|
||||||
|
ws4="3"
|
||||||
|
ws5="4"
|
||||||
|
ws6="5"
|
||||||
|
ws7="6"
|
||||||
|
ws8="7"
|
||||||
|
ws9="8"
|
||||||
|
|
||||||
|
# Unoccupied
|
||||||
|
un="0"
|
||||||
|
|
||||||
|
# check if Occupied
|
||||||
|
o1=$(bspc query -D -d .occupied --names | grep "$ws1" )
|
||||||
|
o2=$(bspc query -D -d .occupied --names | grep "$ws2" )
|
||||||
|
o3=$(bspc query -D -d .occupied --names | grep "$ws3" )
|
||||||
|
o4=$(bspc query -D -d .occupied --names | grep "$ws4" )
|
||||||
|
o5=$(bspc query -D -d .occupied --names | grep "$ws5" )
|
||||||
|
o6=$(bspc query -D -d .occupied --names | grep "$ws6" )
|
||||||
|
o7=$(bspc query -D -d .occupied --names | grep "$ws7" )
|
||||||
|
o8=$(bspc query -D -d .occupied --names | grep "$ws8" )
|
||||||
|
o9=$(bspc query -D -d .occupied --names | grep "$ws9" )
|
||||||
|
|
||||||
|
# check if Focused
|
||||||
|
f1=$(bspc query -D -d focused --names | grep "$ws1" )
|
||||||
|
f2=$(bspc query -D -d focused --names | grep "$ws2" )
|
||||||
|
f3=$(bspc query -D -d focused --names | grep "$ws3" )
|
||||||
|
f4=$(bspc query -D -d focused --names | grep "$ws4" )
|
||||||
|
f5=$(bspc query -D -d focused --names | grep "$ws5" )
|
||||||
|
f6=$(bspc query -D -d focused --names | grep "$ws6" )
|
||||||
|
f7=$(bspc query -D -d focused --names | grep "$ws7" )
|
||||||
|
f8=$(bspc query -D -d focused --names | grep "$ws8" )
|
||||||
|
f9=$(bspc query -D -d focused --names | grep "$ws9" )
|
||||||
|
|
||||||
|
ic_1=""
|
||||||
|
ic_2=""
|
||||||
|
ic_3=""
|
||||||
|
ic_4=""
|
||||||
|
ic_5=""
|
||||||
|
ic_6=""
|
||||||
|
ic_7=""
|
||||||
|
ic_8=""
|
||||||
|
ic_9=""
|
||||||
|
|
||||||
|
if [ $f1 ]; then
|
||||||
|
ic_1=""
|
||||||
|
elif [ $f2 ]; then
|
||||||
|
ic_2=""
|
||||||
|
elif [ $f3 ]; then
|
||||||
|
ic_3=""
|
||||||
|
elif [ $f4 ]; then
|
||||||
|
ic_4=""
|
||||||
|
elif [ $f5 ]; then
|
||||||
|
ic_5=""
|
||||||
|
elif [ $f6 ]; then
|
||||||
|
ic_6=""
|
||||||
|
elif [ $f7 ]; then
|
||||||
|
ic_7=""
|
||||||
|
elif [ $f8 ]; then
|
||||||
|
ic_8=""
|
||||||
|
elif [ $f9 ]; then
|
||||||
|
ic_9=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "(box :class \"works\" :orientation \"h\" :spacing 5 :space-evenly \"false\" (button :onclick \"wmctrl -s 0\" :class \"$un$o1$f1\" \"$ic_1\") (button :onclick \"wmctrl -s 1\" :class \"$un$o2$f2\" \"$ic_2\") (button :onclick \"wmctrl -s 2\" :class \"$un$o3$f3\" \"$ic_3\") (button :onclick \"wmctrl -s 3\" :class \"$un$o4$f4\" \"$ic_4\") (button :onclick \"wmctrl -s 4\" :class \"$un$o5$f5\" \"$ic_5\") (button :onclick \"wmctrl -s 5\" :class \"$un$o6$f6\" \"$ic_6\") (button :onclick \"wmctrl -s 6\" :class \"$un$o7$f7\" \"$ic_7\") (button :onclick \"wmctrl -s 7\" :class \"$un$o8$f8\" \"$ic_8\") (button :onclick \"wmctrl -s 8\" :class \"$un$o9$f9\" \"$ic_9\"))"
|
||||||
|
|
||||||
|
}
|
||||||
|
workspaces
|
||||||
|
bspc subscribe desktop node_transfer | while read -r _ ; do
|
||||||
|
workspaces
|
||||||
|
done
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
[xin_0]
|
[xin_0]
|
||||||
file=/home/dt/wallpapers/0253.jpg
|
file=/home/dt/wallpapers/0063.jpg
|
||||||
mode=0
|
mode=0
|
||||||
bgcolor=#000000
|
bgcolor=#000000
|
||||||
|
|
||||||
[xin_1]
|
[xin_1]
|
||||||
file=/home/dt/wallpapers/0253.jpg
|
file=/home/dt/wallpapers/0063.jpg
|
||||||
mode=0
|
mode=0
|
||||||
bgcolor=#000000
|
bgcolor=#000000
|
||||||
|
|
||||||
[xin_2]
|
[xin_2]
|
||||||
file=/home/dt/wallpapers/0253.jpg
|
file=/home/dt/wallpapers/0063.jpg
|
||||||
mode=0
|
mode=0
|
||||||
bgcolor=#000000
|
bgcolor=#000000
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
[geometry]
|
[geometry]
|
||||||
posx=3850
|
posx=1920
|
||||||
posy=40
|
posy=0
|
||||||
sizex=1884
|
sizex=1920
|
||||||
sizey=1020
|
sizey=1080
|
||||||
|
|
||||||
[nitrogen]
|
[nitrogen]
|
||||||
view=icon
|
view=icon
|
||||||
|
|||||||
Reference in New Issue
Block a user