dotfiles/awesome/rules.fnl

100 lines
4.8 KiB
Fennel

(local awful (require "awful"))
(local beautiful (require "beautiful"))
(local keybindings (require "keybindings"))
;; (local modkey "Mod4")
;; (local keys (gears.table.join
;; ;; (awful.key [ modkey ] "f" (fn [c] (set c.fullscreen (not c.fullscreen)) (: c :raise))
;; ;; {:description "toggle fullscreen" :group "client"})
;; (awful.key [ modkey "Shift" ] "c" (fn [c] (: c :kill))
;; {:description "close" :group "client"})
;; ;; (awful.key [ modkey "Control" ] "space" awful.client.floating.toggle
;; ;; {:description "toggle floating" :group "client"})
;; ;; (awful.key [ modkey "Control" ] "Return" (fn [c] (: c :swap (awful.client.getmaster)))
;; ;; {:description "move to master" :group "client"})
;; ;; (awful.key [ modkey ] "o" (fn [c] (: c :move_to_screen))
;; ;; {:description "move to screen" :group "client"})
;; ;; (awful.key [ modkey ] "t"(fn [c] (set c.ontop (not c.ontop)))
;; ;; {:description "toggle keep on top" :group "client"})
;; ;; (awful.key [ modkey ] "n" (fn [c]
;; ;; ;; The client currently has the input focus, so it cannot be
;; ;; ;; minimized, since minimized clients can't have the focus.
;; ;; (set c.minimized true))
;; ;; {:description "minimize" :group "client"}),
;; ;; (awful.key [ modkey ] "m" (fn [c] (set c.maximized (not c.maximized)) (: c :raise))
;; ;; {:description "(un)maximize" :group "client"}),
;; ;; (awful.key [ modkey "Control" ] "m" (fn [c] (set c.maximized_vertical (not c.maximized_vertical)) (: c :raise))
;; ;; {:description "(un)maximize vertically" :group "client"}),
;; ;; (awful.key [modkey "Shift" ] "m" (fn [c] (set c.maximized_horizontal (not c.maximized_horizontal)) (: c :raise))
;; ;; {:description "(un)maximize horizontally" :group "client"})
;; )
;; )
;; (global clientbuttons
;; (gears.table.join
;; (awful.button [] 1 (fn [c] (: c :emit_signal "request::activate" "mouse_click" {:raise true})))
;; (awful.button [ modkey ] 1 (fn [c]
;; (: c :emit_signal "request::activate" "mouse_click" {:raise true})
;; (awful.mouse.client.move c)))
;; (awful.button [ modkey ] 3 (fn [c]
;; (: c :emit_signal "request::activate" "mouse_click" {:raise true})
;; (awful.mouse.client.resize c)))))
(local rules [
;; All clients match this rule
{
:rule { }
:propertites {
:border-width beautiful.border_width
:border_color beautiful.border_normal
:focus awful.client.focus.filter
:raise true
;; :keys keys
;; :buttons clientbuttons
:screen awful.screen.preferred
:placement (+ awful.placement.no_overlap awful.placement.no_offscreen)
}
}
;; floating and centered
{
:rule_any {
:class [
"mpv"
]
}
:properties {
:floating true
:raise true
:height 900
:screen 2
:placement (+ awful.placement.no_offscreen awful.placement.centered)
}
}
{
:rule_any {
:class [
"dolphin"
"feh"
"Arandr"
]
:name [
"Event Tester"
"remove images?"
]
:role [
"pop-up"
"GtkFileChooserDialog"
]}
:properties {
:floating true
:raise true
:placement (+ awful.placement.no_offscreen awful.placement.centered)
}
}
])
rules