[emacs] assimilate shackle and add a few useful popup rules
authorAmin Bandali <amin@gnu.org>
Thu, 30 Aug 2018 02:15:54 +0000 (22:15 -0400)
committerAmin Bandali <amin@gnu.org>
Thu, 30 Aug 2018 02:22:13 +0000 (22:22 -0400)
.gitmodules
init.org
lib/shackle [new submodule]

index f9a2383..fa3abec 100644 (file)
 [submodule "s"]
        path = lib/s
        url = git@github.com:magnars/s.el.git
 [submodule "s"]
        path = lib/s
        url = git@github.com:magnars/s.el.git
+[submodule "shackle"]
+       path = lib/shackle
+       url = git@github.com:wasamasa/shackle.git
 [submodule "shrink-path"]
        path = lib/shrink-path
        url = git@gitlab.com:bennya/shrink-path.el.git
 [submodule "shrink-path"]
        path = lib/shrink-path
        url = git@gitlab.com:bennya/shrink-path.el.git
index 9c294be..febf8aa 100644 (file)
--- a/init.org
+++ b/init.org
@@ -1177,6 +1177,24 @@ Emacs package that displays available keybindings in popup
                    :after #'my-projectile-invalidate-cache))))
 #+end_src
 
                    :after #'my-projectile-invalidate-cache))))
 #+end_src
 
+** [[https://github.com/wasamasa/shackle][shackle]]
+
+#+begin_src emacs-lisp
+(use-package shackle
+  :demand t
+  :commands shackle-mode
+  :config
+  (shackle-mode 1)
+  (setq shackle-rules
+        '(("*Help*" :align right :select t :size 0.5)
+          ("\\`\\*helm.*?\\*\\'" :regexp t :align t)
+          ((compilation-mode "\\`\\*magit-diff: .*?\\'") :regexp t :noselect t)
+          ((inferior-scheme-mode "*shell*" "*eshell*") :popup t))
+        shackle-default-rule '(:select t)
+        shackle-default-size 0.4
+        shackle-inhibit-window-quit-on-same-windows t))
+#+end_src
+
 * Email
 ** [[https://notmuchmail.org][notmuch]]
 
 * Email
 ** [[https://notmuchmail.org][notmuch]]
 
diff --git a/lib/shackle b/lib/shackle
new file mode 160000 (submodule)
index 0000000..4189c1c
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 4189c1c773aab533969b587f7801ffbcd1d7d613