chore: migrate to unique git repo
This commit is contained in:
		
							
								
								
									
										42
									
								
								cfg.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								cfg.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| (local fun (require :lib.fun)) | ||||
|  | ||||
| (local awful (require :awful)) | ||||
| (require :awful.autofocus) | ||||
| (local naughty (require :naughty)) | ||||
| (local beautiful (require :beautiful)) | ||||
|  | ||||
| (beautiful.init (require :conf.theme)) | ||||
|  | ||||
| (require :module.decorate) | ||||
| (require :module.sidebar) | ||||
|  | ||||
| (require :conf.client) | ||||
| (require :conf.tags) | ||||
| (_G.root.keys (require :conf.keys)) | ||||
|  | ||||
| ;; TEMP Next release should support this through `beautiful'. | ||||
| (set naughty.config.defaults.border_width beautiful.notification_border_width) | ||||
| (set naughty.config.defaults.icon_size beautiful.notification_icon_size) | ||||
|  | ||||
| ;;; | ||||
| ;; Post-config -- wiring it all up | ||||
|  | ||||
| (->> {:manage (lambda [c] nil | ||||
|                 (when (and awesome.startup | ||||
|                            (not c.size_hints.user_position) | ||||
|                            (not c.size_hints.program_position)) | ||||
|                   ;; Prevent clients from being unreachable after screen count changes. | ||||
|                   (awful.placement.no_offscreen c))) | ||||
|       :mouse::enter (lambda [c] | ||||
|                       (when (and (~= (awful.layout.get c.screen) | ||||
|                                      awful.layout.suit.magnifier) | ||||
|                                  (awful.client.focus.filter c)) | ||||
|                         (set client.focus c))) | ||||
|       :focus (lambda [c] (set c.border_color beautiful.border_focus)) | ||||
|       :unfocus (lambda [c] (set c.border_color beautiful.border_normal))} | ||||
|      (fun.each (fn [event callback] (client.connect_signal event callback)))) | ||||
|  | ||||
| (awful.spawn.with_shell "~/.config/awesome/autostart") | ||||
|  | ||||
| ;; Empty return | ||||
| {} | ||||
							
								
								
									
										9
									
								
								conf/apps.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								conf/apps.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| ;;; conf/apps.fnl --- Common program parameters | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| {:terminal "xfce4-terminal" | ||||
|  :dropdown "xfce4-terminal --drop-down" | ||||
|  :editor "emacs" | ||||
|  :rofi "rofi -show drun"} | ||||
| ;;; conf/apps.fnl ends here | ||||
							
								
								
									
										1
									
								
								conf/client.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf/client.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| (require :conf.client.rules) | ||||
							
								
								
									
										17
									
								
								conf/client/buttons.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								conf/client/buttons.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| ;;; buttons.fnl --- Client buttons | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (var buttons {}) | ||||
|  | ||||
| (local awful (require :awful)) | ||||
| (local gears (require :gears)) | ||||
|  | ||||
| (local button (. (require :lib.keys) :button)) | ||||
|  | ||||
| (gears.table.join | ||||
|  (button [] 1 (lambda [c] (set client.focus c) (: c :raise))) | ||||
|  (button [:mod] 1 awful.mouse.client.move) | ||||
|  (button [:mod] 3 awful.mouse.client.resize)) | ||||
|  | ||||
| ;;; buttons.fnl ends here | ||||
							
								
								
									
										45
									
								
								conf/client/keys.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								conf/client/keys.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| ;;; conf/client/keys.fnl --- Client keys | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (var keys {}) | ||||
|  | ||||
| (local awful (require :awful)) | ||||
| (local beautiful (require :beautiful)) | ||||
| (local gears (require :gears)) | ||||
|  | ||||
| (local key (. (require :lib.keys) :key)) | ||||
|  | ||||
| ;;; | ||||
| ;; Functions | ||||
|  | ||||
| (fn register [field ...] | ||||
|   (tset keys field (gears.table.join ...))) | ||||
|  | ||||
| (fn cinv [k] | ||||
|   (fn [c] | ||||
|     (let [v (. c k)] | ||||
|       (tset c k (not v))))) | ||||
|  | ||||
| ;;; | ||||
| ;; Configuration | ||||
|  | ||||
| (register :client | ||||
|  (key [:mod] :q (lambda [c] (: c :kill))) | ||||
|  (key [:mod] :w (lambda [c] (set c.minimized true))) | ||||
|  | ||||
|  (key [:mod] :t (lambda [c] (awful.titlebar.toggle c beautiful.titlebar_position))) | ||||
|  (key [:mod :shift] :t (lambda [c] (awful.titlebar.toggle c :left))) | ||||
|  (key [:mod :ctrl] :t (lambda [c] (awful.titlebar.toggle c))) | ||||
|  | ||||
|  (key [:mod] :a (cinv :floating)) | ||||
|  (key [:mod] :f (cinv :fullscreen)) | ||||
|  (key [:mod] :m (cinv :maximized)) ;; FIXME behaves weird | ||||
|  (key [:mod] :s (cinv :sticky))) | ||||
|  | ||||
| (register :floating | ||||
|  (. keys :client) | ||||
|  (key [:alt :shift] :h (lambda [c] (: c :relative_move {:x -100})))) | ||||
|  | ||||
| keys | ||||
| ;;; conf/client/keys.fnl ends here | ||||
							
								
								
									
										51
									
								
								conf/client/rules.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								conf/client/rules.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| ;;; conf/client/rules.fnl --- Client placement rules | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (local awful (require :awful)) | ||||
| (local beautiful (require :beautiful)) | ||||
|  | ||||
| (local keys (require :conf.client.keys)) | ||||
| (local buttons (require :conf.client.buttons)) | ||||
|  | ||||
| ;;; | ||||
| ;; Functions | ||||
|  | ||||
| (local | ||||
|  rules | ||||
|  [{:rule {} | ||||
|    :properties {:border_width beautiful.border_width | ||||
|                 :border_color beautiful.border_normal | ||||
|                 :focus true | ||||
|                 :keys (. keys :client) | ||||
|                 :buttons buttons | ||||
|                 :placement (+ awful.placement.no_overlap | ||||
|                               awful.placement.no_offscreen)}} | ||||
|  | ||||
|   {:rule {:floating true} | ||||
|    :properties {:keys (. keys :floating)}} | ||||
|  | ||||
|   ;; Floating clients. | ||||
|   {:rule_any {:class ["Gpick"] | ||||
|               :name ["Event Tester"] ;; xev | ||||
|               :role ["pop-up" | ||||
|                      "xfce4-terminal-dropdown"]} | ||||
|    :properties {:floating true}} | ||||
|  | ||||
|   ;; Add titlebars to normal clients and dialogs. | ||||
|   {:rule_any {:type ["normal" "dialog"]} | ||||
|    :properties {:titlebars_enabled true}} | ||||
|  | ||||
|   ;; Awesome reserves space for tint2, but doesn't actually fucking place it. | ||||
|   {:rule {:class "Tint2"} | ||||
|    :properties {:x 0 :y 0}} | ||||
|  | ||||
|   ;; Set Firefox to always map on the tag named "2" on screen 1. | ||||
|   ;; {:rule {:class "Firefox"} | ||||
|   ;;  :properties {:screen 1 :tag "2"}} | ||||
|   ]) | ||||
|  | ||||
| (tset awful.rules :rules rules) | ||||
|  | ||||
| {} | ||||
| ;;; conf/client/rules.fnl ends here | ||||
							
								
								
									
										119
									
								
								conf/keys.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								conf/keys.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,119 @@ | ||||
| ;;; conf/keys.fnl --- Global keys | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (var keys {}) | ||||
|  | ||||
| (local gears (require :gears)) | ||||
| (local awful (require :awful)) | ||||
|  | ||||
| (local apps (require :conf.apps)) | ||||
| (local key (. (require :lib.keys) :key)) | ||||
|  | ||||
| ;;; | ||||
| ;; Functions | ||||
|  | ||||
| (fn register [...] | ||||
|   (set keys (gears.table.join keys ...))) | ||||
|  | ||||
| ;; Spawn lamda | ||||
| (fn run [prog] | ||||
|   (fn [] (awful.spawn prog))) | ||||
|  | ||||
| ;; Run silent | ||||
| (fn run! [prog] | ||||
|   (fn [] (awful.spawn prog false))) | ||||
|  | ||||
| (fn playerctl [a] | ||||
|   (run! (.. "playerctl " a))) | ||||
|  | ||||
| (fn mpc [a] | ||||
|   (run! (.. "mpc " a))) | ||||
|  | ||||
| (fn amixer [args] | ||||
|   (run! (.. "amixer sset Master " args))) | ||||
|  | ||||
| (fn light [a v] | ||||
|   (let [flag (. {:up "-A" :down "-U"} a)] | ||||
|     (run! (.. "light " flag " " (tostring v))))) | ||||
|  | ||||
| (fn with-tag [i fun] | ||||
|   (lambda [] (when client.focus | ||||
|           (let [tag (. client.focus.screen.tags i)] | ||||
|             (when tag | ||||
|               (fun tag)))))) | ||||
|  | ||||
| (fn apply-focus [i attr] | ||||
|   (with-tag i (lambda [t] (: client.focus attr t)))) | ||||
|  | ||||
| (fn current-tag [] | ||||
|   (. (awful.screen.focused) :selected_tag)) | ||||
|  | ||||
| (fn focused-tag-by-index [i] | ||||
|   (. (awful.screen.focused) :tags i)) | ||||
|  | ||||
| (fn with-focused-tag [i fun] | ||||
|   (lambda [] (let [tag (focused-tag-by-index i)] | ||||
|           (when tag | ||||
|             (fun tag))))) | ||||
|  | ||||
| (fn focus [c] | ||||
|   (when c | ||||
|     (set client.focus c) | ||||
|     (: c :raise))) | ||||
|  | ||||
| ;;; | ||||
| ;; Configuration | ||||
|  | ||||
| (register | ||||
|  (key [:mod :ctrl :shift] :q awesome.quit) | ||||
|  (key [:mod :ctrl] :r awesome.restart) | ||||
|  (key [:mod :ctrl] :q (run "oblogout")) | ||||
|  | ||||
|  (key [:mod] :equal (lambda [] | ||||
|                        (doto (current-tag) | ||||
|                          (tset :master_width_factor 0.5) | ||||
|                          (tset :master_count 1) | ||||
|                          (tset :column_count 1)))) | ||||
|  (key [:mod :ctrl] :l (lambda [] (awful.tag.incmwfact 0.05))) | ||||
|  (key [:mod :ctrl] :h (lambda [] (awful.tag.incmwfact -0.05))) | ||||
|  (key [:mod] :comma (lambda [] (awful.tag.incnmaster 1 nil true))) | ||||
|  (key [:mod] :period (lambda [] (awful.tag.incnmaster -1 nil true))) | ||||
|  (key [:mod :ctrl] :period (lambda [] (awful.tag.incncol 1 nil true))) | ||||
|  (key [:mod :ctrl] :comma (lambda [] (awful.tag.incncol -1 nil true))) | ||||
|  | ||||
|  (key [:mod] :Return (run apps.terminal)) | ||||
|  (key [:mod] :d (run apps.dropdown)) | ||||
|  | ||||
|  (key [:mod] :space (lambda [] (awful.layout.inc 1))) | ||||
|  (key [:mod] :r (run apps.rofi)) | ||||
|  (key [:mod] :p (run "xfce4-display-settings")) | ||||
|  | ||||
|  (key [:mod] :e (run apps.editor)) | ||||
|  | ||||
|  (key [:mod] :BackSpace (lambda [] (focus (awful.client.restore)))) | ||||
|  | ||||
|  (key [] :XF86AudioPlay         (playerctl :play-pause)) | ||||
|  (key [] :XF86AudioNext         (playerctl :next)) | ||||
|  (key [] :XF86AudioPrev         (playerctl :previous)) | ||||
|  (key [] :XF86AudioRaiseVolume  (amixer "5%+")) | ||||
|  (key [] :XF86AudioLowerVolume  (amixer "5%-")) | ||||
|  (key [] :XF86AudioMute         (amixer "toggle")) | ||||
|  (key [] :XF86MonBrightnessUp   (light :up 5)) | ||||
|  (key [] :XF86MonBrightnessDown (light :down 5))) | ||||
|  | ||||
| (each [_key dir (pairs {:h :left :j :down :k :up :l :right})] | ||||
|   (register | ||||
|    (key [:mod] _key (lambda [] (awful.client.focus.bydirection dir))) | ||||
|    (key [:mod :shift] _key (lambda [] (awful.client.swap.bydirection dir))))) | ||||
|  | ||||
| (for [i 1 9] | ||||
|   (let [ksym (.. "#" (+ i 9))] | ||||
|     (register | ||||
|      (key [:mod] ksym (with-focused-tag i (lambda [t] (: t :view_only)))) | ||||
|      (key [:mod :ctrl] ksym (with-focused-tag i (lambda [t] (awful.tag.viewtoggle t)))) | ||||
|      (key [:mod :shift] ksym (apply-focus i :move_to_tag)) | ||||
|      (key [:mod :ctrl :shift] ksym (apply-focus i :toggle_tag))))) | ||||
|  | ||||
| keys | ||||
| ;;; conf/keys.fnl ends here | ||||
							
								
								
									
										10
									
								
								conf/rules.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								conf/rules.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| ;;; rules.fnl --- Rule definitions | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (var rules {}) | ||||
|  | ||||
|  | ||||
|  | ||||
| rules | ||||
| ;;; rules.fnl ends here | ||||
							
								
								
									
										21
									
								
								conf/tags.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								conf/tags.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| ;;; conf/tags.fnl --- Tag configuration | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (local awful (require :awful)) | ||||
|  | ||||
| ;;; | ||||
| ;; Configuration | ||||
|  | ||||
| (local layouts [awful.layout.suit.tile | ||||
|                 awful.layout.suit.floating]) | ||||
|  | ||||
| (set awful.layout.layouts layouts) | ||||
|  | ||||
| (awful.screen.connect_for_each_screen | ||||
|  (lambda [s] | ||||
|    (awful.tag ["1", "2", "3", "4", "5", "6", "7", "8", "9"] | ||||
|               s (. layouts 1)))) | ||||
|  | ||||
| {} | ||||
| ;;; conf/tags.fnl ends here | ||||
							
								
								
									
										35
									
								
								conf/theme.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								conf/theme.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| ;; Have to use underscores for `beautiful' compat. | ||||
| ;; Non-beautiful variables are commented with an asterisk. | ||||
| { | ||||
|  :font "Sarasa Mono J" | ||||
|  :variable_font "Sarasa UI J" | ||||
|  | ||||
|  :sidebar_position :left     ;; * | ||||
|  :sidebar_width    36        ;; * | ||||
|  :sidebar_bg       "#1a1e24" ;; * | ||||
|  :sidebar_subbox   "#252b33" ;; * | ||||
|  | ||||
|  :bg_focus  "#252b33" | ||||
|  :bg_normal "#1a1e24" | ||||
|  :fg_focus  "#cfcfcf" | ||||
|  :fg_normal "#cfcfcf" | ||||
|  | ||||
|  :useless_gap   0 | ||||
|  :border_width  0 | ||||
|  :border_focus  "#5bb3b4" | ||||
|  :border_normal "#1a1e24" | ||||
|  :use_titlebars_for_borders nil ;; * | ||||
|  :titlebar_border_width 1       ;; * | ||||
|  | ||||
|  :titlebar_position  :left ;; * | ||||
|  :titlebar_size      15    ;; * | ||||
|  :titlebar_bg_focus  "#926b3e" | ||||
|  :titlebar_bg_normal "#252b33" | ||||
|  :titlebar_fg_focus  "#1a1e24" | ||||
|  :titlebar_fg_normal "#cfcfcf" | ||||
|  | ||||
|  :icon_theme "Vertex Maia" | ||||
|  :notification_icon_size 48 | ||||
|  :notification_border_width 0 | ||||
|  :notification_bg "#252b33" | ||||
|  } | ||||
							
								
								
									
										8
									
								
								lib/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								lib/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| ## lib | ||||
|  | ||||
| These would normally be installed by `luarocks`; however, given how central they are to the config, they are vendored in instead. | ||||
|  | ||||
| ### Versions | ||||
|  | ||||
| - `fennel`: 0.1.1-2 | ||||
| - `fun`: 0.1.3-1 | ||||
							
								
								
									
										1964
									
								
								lib/fennel.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1964
									
								
								lib/fennel.lua
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1056
									
								
								lib/fun.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1056
									
								
								lib/fun.lua
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										35
									
								
								lib/keys.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/keys.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| ;;; lib/keys.fnl --- Key configuration utilities | ||||
|  | ||||
| ;;; Commentary: | ||||
| ;; Comments | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (var keys {}) | ||||
|  | ||||
| (local awful (require :awful)) | ||||
| (local fun (require :lib.fun)) | ||||
|  | ||||
| (local modifiers | ||||
|        {:mod "Mod4" | ||||
|         :alt "Mod1" | ||||
|         :super "Mod4" | ||||
|         :shift "Shift" | ||||
|         :ctrl "Control"}) | ||||
|  | ||||
| ;;; | ||||
| ;; Functions | ||||
|  | ||||
| (fn map-mods [mods] | ||||
|   (->> mods | ||||
|      (fun.map (partial . modifiers)) | ||||
|      (fun.totable))) | ||||
|  | ||||
| (fn keys.key [mods kc fun] | ||||
|   (awful.key (map-mods mods) kc fun)) | ||||
|  | ||||
| (fn keys.button [mods bc fun] | ||||
|   (awful.button (map-mods mods) bc fun)) | ||||
|  | ||||
| keys | ||||
| ;;; lib/keys.fnl ends here | ||||
							
								
								
									
										17
									
								
								lib/std.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								lib/std.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| ;;; std.fnl --- A small standard library | ||||
|  | ||||
| ;;; Commentary: | ||||
| ;; Porting a few functions that I'm used to from other Lisps. | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (var std {}) | ||||
|  | ||||
| ;;; | ||||
| ;; Functions | ||||
|  | ||||
| (fn std.zero? [n] | ||||
|   (= 0 n)) | ||||
|  | ||||
| std | ||||
| ;;; std.fnl ends here | ||||
							
								
								
									
										74
									
								
								module/decorate.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								module/decorate.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| ;;; decorate.fnl --- Client decorations | ||||
|  | ||||
| ;;; Commentary: | ||||
| ;; Comments | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (local awful (require :awful)) | ||||
| (local beautiful (require :beautiful)) | ||||
| (local gears (require :gears)) | ||||
| (local wibox (require :wibox)) | ||||
|  | ||||
| (local std (require :lib.std)) | ||||
|  | ||||
| ;; TODO Properly abstract these into a library | ||||
|  | ||||
| (local fun (require :lib.fun)) | ||||
| (local modifiers | ||||
|        {:mod "Mod4" | ||||
|         :alt "Mod1" | ||||
|         :super "Mod4" | ||||
|         :shift "Shift" | ||||
|         :ctrl "Control"}) | ||||
|  | ||||
| (fn map-mods [mods] | ||||
|   (->> mods | ||||
|      (fun.map (partial . modifiers)) | ||||
|      (fun.totable))) | ||||
|  | ||||
| (fn button [mods bc fun] | ||||
|   (awful.button (map-mods mods) bc fun)) | ||||
|  | ||||
| ;;; | ||||
| ;; Functions | ||||
|  | ||||
| (fn mouse-button [c bc cmd] | ||||
|   (button [] bc (lambda [] | ||||
|                   (: c :emit_signal | ||||
|                      :request::activate :titlebar {:raise true}) | ||||
|                   ((. awful.mouse.client cmd) c)))) | ||||
|  | ||||
| (fn make-titlebar [c side -size] | ||||
|   (let [size (or -size beautiful.titlebar_size 10)] | ||||
|     (awful.titlebar c {:size size :position side}))) | ||||
|  | ||||
| (fn setup-empty-titlebar [bar buttons] | ||||
|   ;; Placeholder layouts | ||||
|   (: bar :setup | ||||
|      {1 {:layout wibox.layout.fixed.vertical} | ||||
|       2 {:buttons buttons | ||||
|          :layout wibox.layout.flex.vertical} | ||||
|       3 {:layout (wibox.layout.fixed.vertical)} | ||||
|       :layout wibox.layout.align.vertical})) | ||||
|  | ||||
| (fn titlebar-hook [c] | ||||
|   (let [buttons (gears.table.join | ||||
|                  (mouse-button c 1 :move) | ||||
|                  (mouse-button c 3 :resize)) | ||||
|         mainbar (make-titlebar c beautiful.titlebar_position)] | ||||
|     (setup-empty-titlebar mainbar buttons) | ||||
|  | ||||
|     (when (and (not (std.zero? beautiful.titlebar_border_width)) | ||||
|                beautiful.use_titlebars_for_borders) | ||||
|       (let [size beautiful.titlebar_border_width] | ||||
|         (each [_ side (ipairs [:top :right :bottom])] | ||||
|           (setup-empty-titlebar (make-titlebar c side size) buttons)))))) | ||||
|  | ||||
| ;;; | ||||
| ;; Processing | ||||
|  | ||||
| (_G.client.connect_signal :request::titlebars titlebar-hook) | ||||
|  | ||||
| {} | ||||
| ;;; decorate.fnl ends here | ||||
							
								
								
									
										74
									
								
								module/sidebar.fnl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								module/sidebar.fnl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| ;;; module/sidebar.fnl --- Informational sidebar | ||||
|  | ||||
| ;;; Code: | ||||
|  | ||||
| (local awful (require :awful)) | ||||
| (local beautiful (require :beautiful)) | ||||
| (local wibox (require :wibox)) | ||||
|  | ||||
| (local sb-clock (wibox.widget.textclock "%H\n%M")) | ||||
| (local sb-systray (doto (wibox.widget.systray) | ||||
|                     (: :set_base_size 24))) | ||||
| (local fill-width (doto (wibox.layout.fixed.horizontal) | ||||
|                     (: :fill_space true) | ||||
|                     (: :set_spacing 10))) | ||||
|  | ||||
| (local bounding (wibox.container.margin | ||||
|                  (wibox.container.place | ||||
|                   (wibox.container.margin | ||||
|                    nil | ||||
|                    10 10 10 10 beautiful.sidebar_subbox)) | ||||
|                  1 1 1 1 beautiful.sidebar_bg)) | ||||
|  | ||||
| ;;; | ||||
| ;; Functions | ||||
|  | ||||
| (fn draw-sidebar [s] | ||||
|   (set s.sb-tag (awful.widget.taglist | ||||
|                  {:screen s | ||||
|                   :filter awful.widget.taglist.filter.selected | ||||
|                   :style {:font (.. beautiful.font " Bold 10")} | ||||
|                   ;; :widget_template | ||||
|                   ;; {1 | ||||
|                   ;;  {:id "index_role" | ||||
|                   ;;     :widget wibox.widget.textbox} | ||||
|                   ;;  :widget wibox.container.margin | ||||
|                   ;;  :margins 5 | ||||
|                   ;;  :create_callback | ||||
|                   ;;  (lambda [self, c3, index, objects])} | ||||
|                   :layout wibox.layout.fixed.vertical | ||||
|                   } | ||||
|                  )) | ||||
|   (set s.sb-tasks (awful.widget.tasklist | ||||
|                    {:screen s | ||||
|                     :filter awful.widget.tasklist.filter.currenttags | ||||
|                     :style {:disable_task_name true} | ||||
|                     })) | ||||
|  | ||||
|   (set s.sb (awful.wibar {:position beautiful.sidebar_position | ||||
|                           :width beautiful.sidebar_width | ||||
|                           :screen s})) | ||||
|  | ||||
|   (: s.sb :setup | ||||
|      {:layout wibox.layout.align.vertical | ||||
|       1 {:layout wibox.layout.fixed.vertical | ||||
|          1 {1 s.sb-tag | ||||
|             :halign "center" | ||||
|             :layout (wibox.container.margin nil 10 10 10 10)} | ||||
|          2 s.sb-tasks} | ||||
|       2 {:layout wibox.layout.fixed.vertical} | ||||
|       3 {:layout wibox.layout.fixed.vertical | ||||
|          1 sb-systray | ||||
|          2 {1 sb-clock | ||||
|             :valign "center" | ||||
|             :halign "center" | ||||
|             :layout bounding}}})) | ||||
|  | ||||
| ;;; | ||||
| ;; Configuration | ||||
|  | ||||
| ;; (awful.screen.connect_for_each_screen | ||||
| ;;  draw-sidebar) | ||||
|  | ||||
| {} | ||||
| ;;; module/sidebar.fnl ends here | ||||
		Reference in New Issue
	
	Block a user