63 lines
1.6 KiB
Fennel
63 lines
1.6 KiB
Fennel
;;; module/sidebar.fnl --- Informational sidebar
|
|
|
|
;;; Code:
|
|
|
|
(local awful (require :awful))
|
|
(local beautiful (require :beautiful))
|
|
(local wibox (require :wibox))
|
|
|
|
(local tag-list (require :widget.tag-list))
|
|
(local task-list (require :widget.task-list))
|
|
(local textclock (require :widget.textclock))
|
|
|
|
;;;
|
|
;; 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} ))
|
|
|
|
(local sb-clock (textclock "%H\n%M"))
|
|
(local sb-systray (doto (wibox.widget.systray)
|
|
(: :set_base_size 24)))
|
|
|
|
(fn draw-sidebar [s]
|
|
(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}
|
|
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}
|
|
: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}}))
|
|
|
|
;;;
|
|
;; Configuration
|
|
|
|
(awful.screen.connect_for_each_screen
|
|
draw-sidebar)
|
|
|
|
{}
|
|
;;; module/sidebar.fnl ends here
|