awesome/module/sidebar.fnl

75 lines
1.8 KiB
Plaintext
Raw Normal View History

2019-01-15 11:20:10 +11:00
;;; module/sidebar.fnl --- Informational sidebar
;;; Code:
(local awful (require :awful))
(local beautiful (require :beautiful))
2019-01-15 16:33:58 +11:00
(local lain (require :lain))
2019-01-15 11:20:10 +11:00
(local wibox (require :wibox))
2019-01-15 16:33:58 +11:00
(local std (require :lib.std))
(local tag-list (require :widget.tag-list))
(local task-list (require :widget.task-list))
(local textclock (require :widget.textclock))
2019-01-15 11:20:10 +11:00
2019-01-15 16:33:58 +11:00
(local markup lain.util.markup)
2019-01-15 11:20:10 +11:00
;;;
;; Functions
(fn border [t margin]
(let [side (or margin 2)
end (+ side 1)]
{1 t
:bottom end
:left side
:right side
:top end
:widget wibox.container.margin} ))
2019-01-15 16:33:58 +11:00
(fn center [t]
{1 t
:align "center"
:widget wibox.container.place})
2019-01-15 17:24:06 +11:00
(local clock (textclock "%H\n%M"))
(local systray (doto (wibox.widget.systray)
(: :set_base_size 24)
(: :set_horizontal false)))
2019-01-15 17:01:14 +11:00
(local battery (require :widget.bat))
(local pulse (require :widget.pulse))
2019-01-15 11:20:10 +11:00
(fn draw-sidebar [s]
2019-01-15 11:20:10 +11:00
(set s.sb (awful.wibar {:position beautiful.sidebar_position
:width beautiful.sidebar_width
:screen s}))
(: s.sb :setup
{:layout wibox.layout.align.vertical
1 {1 (border (tag-list s))
;; 2 (task-list s)
:layout wibox.layout.fixed.vertical}
2019-01-15 16:33:58 +11:00
2 nil
2019-01-15 17:24:06 +11:00
3 {1 (center systray)
2 (center battery.widget)
2019-01-15 16:33:58 +11:00
3 {1 (border
2019-01-15 17:24:06 +11:00
{1 {1 (center clock)
:top 2
:bottom 2
:widget wibox.container.margin}
:widget wibox.container.background
:bg beautiful.sidebar_bg_info})
:layout wibox.layout.fixed.vertical}
:layout wibox.layout.fixed.vertical}}))
2019-01-15 11:20:10 +11:00
;;;
;; Configuration
(awful.screen.connect_for_each_screen
draw-sidebar)
2019-01-15 11:20:10 +11:00
{}
;;; module/sidebar.fnl ends here