   :config
   (defhydra hydra-window-layout ()
     "layout"
-    ("a" ace-window "ace" :color blue)
+    ("a" (my/hydra-modes-pop 'ace-window) "ace" :color blue)
     ("P" my/windresize-up)
     ("p" windmove-up "up")
     ("F" my/windresize-right)

;; Use space instead of tabs.
(defun my/indent-setup-offset ()
  (setq indent-tabs-mode nil
        tab-width 2
        standard-indent tab-width
        c-basic-offset tab-width
        js-indent-level tab-width

        (my/vcs-gutter-mode -1)
      (my/vcs-gutter-mode t))))

(defvar my/hydra-modes-stack nil)

(defun my/hydra-modes-push (expr)
  (push `(lambda () ,expr) my/hydra-modes-stack))

(defun my/hydra-modes-pop (&optional fun)
  (interactive)
  (when fun
    (call-interactively fun))
  (let ((x (pop my/hydra-modes-stack)))
    (when x
      (funcall x))))

(use-package hydra
  :commands hydra-modes/body
  :bind (("C-c m" . hydra-modes/body))
  :config
  (defhydra hydra-modes (:color teal)
    "modes"
