From 04f619499d202e70fcf48891d0024edd2edcbdba Mon Sep 17 00:00:00 2001 From: xeals Date: Tue, 15 Jan 2019 16:33:58 +1100 Subject: [PATCH] feat(sidebar): add battery icon --- module/sidebar.fnl | 61 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/module/sidebar.fnl b/module/sidebar.fnl index 4c1ad66..6edd6d6 100644 --- a/module/sidebar.fnl +++ b/module/sidebar.fnl @@ -4,12 +4,17 @@ (local awful (require :awful)) (local beautiful (require :beautiful)) +(local lain (require :lain)) (local wibox (require :wibox)) +(local std (require :lib.std)) + (local tag-list (require :widget.tag-list)) (local task-list (require :widget.task-list)) (local textclock (require :widget.textclock)) +(local markup lain.util.markup) + ;;; ;; Functions @@ -23,9 +28,52 @@ :top end :widget wibox.container.margin} )) +(fn center [t] + {1 t + :align "center" + :widget wibox.container.place}) + (local sb-clock (textclock "%H\n%M")) (local sb-systray (doto (wibox.widget.systray) (: :set_base_size 24))) +;; (fn bat-markup [] +;; (let [[h m] (std.s-split _G.bat_now.time ":") +;; baticon "\u{f241}"] +;; (: _G.widget :set_markup +;; (.. baticon "\n" h "\n" m)))) + +(fn bat-icon [] + ;; FA + ;; (let [full "\u{f240}" + ;; x75 "\u{f241}" + ;; x50 "\u{f242}" + ;; x25 "\u{f243}" + ;; empty "\u{f244}" + (let [full "\u{e02b}" + x75 "\u{e02c}" + x50 "\u{e02d}" + x25 "\u{e02e}" + empty "\u{e136}" + charging "\u{e02a}" + status _G.bat_now.status + level _G.bat_now.perc + icon (if (= status "Full") full + (= status "Charging") charging + (> level 75) x75 + (> level 50) x50 + (> level 25) x25 + empty)] + (: _G.widget :set_markup (markup.font "Typicons 28" icon)))) + +;; TODO Plug/unplug notifications +(local battery + (lain.widget.bat + {:battery "BAT1" + :ac "ACAD" + :notify "on" + :n_perc [10 20] + :settings bat-icon})) +(local pulse (lain.widget.pulse)) (fn draw-sidebar [s] (set s.sb (awful.wibar {:position beautiful.sidebar_position @@ -37,13 +85,12 @@ 1 {1 (border (tag-list s)) ;; 2 (task-list s) :layout wibox.layout.fixed.vertical} - 2 {:layout wibox.layout.fixed.vertical} - 3 {1 sb-systray - 2 {1 (border - {1 {1 {1 sb-clock - :valign "center" - :halign "center" - :widget wibox.container.place} + 2 nil + 3 {1 (center battery.widget) + 2 pulse.widget + ;; 2 sb-systray + 3 {1 (border + {1 {1 (center sb-clock) :top 2 :bottom 2 :widget wibox.container.margin}