diff options
| -rw-r--r-- | init.org | 103 | 
1 files changed, 55 insertions, 48 deletions
@@ -163,6 +163,9 @@      #+end_src  *** Brightness control      #+begin_src emacs-lisp +      (when (eq 'pgtk window-system) +        (defalias 'x-change-window-property #'ignore)) +        (jao-def-exec jao-bright-set-up "brightnessctl" "-q" "s" "5%+")        (jao-def-exec jao-bright-set-down "brightnessctl" "-q" "s" "5%-") @@ -289,42 +292,6 @@        (pinentry-start)      #+end_src  * Fonts and colour themes -*** Transparency -    #+begin_src emacs-lisp -      (defvar jao-frames-default-alpha (if (eq window-system 'pgtk) 100 90)) -      (defvar jao-transparent-frame (< jao-frames-default-alpha 100)) -      (defvar jao-transparent-only-bg nil) - -      (defun jao-transparent-p () jao-transparent-frame) - -      (defun jao-alpha-pair (&optional level) -        (let ((level (or level jao-frames-default-alpha))) -          (if (and (featurep 'gtk) jao-transparent-only-bg) -              (cons 'alpha-background level) -            (cons 'alpha (cons level level))))) - -      (defun jao-sway-set-transparency (level) -        (when jao-sway-enabled-p -          (let ((alpha (/ level 100.0))) -            (jao-swaymsg (format "[app_id=emacs] opacity %s" alpha))))) - -      (defun jao-set-transparency (level &optional all) -        (interactive "nOpacity (0-100): ") -        (let ((level (or level jao-frames-default-alpha))) -          (setq jao-transparent-p (< level 100)) -          (if jao-sway-enabled-p -              (jao-sway-set-transparency level) -            (let ((a (jao-alpha-pair level))) -              (if all -                  (modify-all-frames-parameters (list a)) -                (set-frame-parameter nil (car a) (cdr a))))))) - -      (defun jao-toggle-transparency (&optional all) -        (interactive "P") -        (let ((level (if jao-transparent-p 100 jao-frames-default-alpha))) -          (jao-set-transparency level all))) - -    #+end_src  *** Widgets      #+begin_src emacs-lisp        (setq widget-image-enable nil @@ -467,18 +434,56 @@        (use-package jao-recoll)      #+end_src  * Window manager helpers +*** transparency +    #+begin_src emacs-lisp +      (defvar jao-transparent-only-bg t) + +      (defvar jao-frames-default-alpha +        (cond ((eq window-system 'pgtk) 80) +              (jao-transparent-only-bg 85) +              (t 85))) + +      (defvar jao-transparent-frame (< jao-frames-default-alpha 100)) + +      (defun jao-transparent-p () jao-transparent-frame) + +      (defun jao-alpha-parameters (&optional level) +        (let ((level (or level jao-frames-default-alpha))) +          (if jao-transparent-only-bg +              `((alpha-background . ,level) (alpha)) +            `((alpha . ,(cons level level)) (alpha-background))))) + +      (defun jao-set-transparency (&optional level all) +        (interactive "nOpacity (0-100): ") +        (let ((level (or level jao-frames-default-alpha))) +          (setq jao-transparent-frame (< level 100)) +          (if all +                (modify-all-frames-parameters (jao-alpha-parameters level)) +              (modify-frame-parameters nil (jao-alpha-parameters level))))) + +      (defun jao-toggle-transparency (&optional all) +        (interactive "P") +        (let ((level (if jao-transparent-frame 100 jao-frames-default-alpha))) +          (jao-set-transparency level all))) + +      (add-hook 'after-init-hook #'jao-set-transparency) + +    #+end_src  *** exwm -    To start emacs in an exwm session we use the flag ~-f -    jao-exwm-enable~, which calls the function below enabling it.  This -    function, in turn, loads exwm's configuration from [[./exwm.org][exwm.org]]. +    To start emacs in an exwm session we use the flag +    ~-f jao-exwm-enable~, which calls the function below enabling it. +    This function, in turn, loads exwm's configuration from [[./exwm.org][exwm.org]].      #+begin_src emacs-lisp        (defvar jao-exwm-enabled nil)        (defun jao-exwm-enabled-p () jao-exwm-enabled) +        (defun jao-exwm-enable ()          (jao-load-org "exwm.org")          (setq jao-exwm-enabled t)          (display-time-mode -1)          (exwm-enable) +        (setq jao-transparent-only-bg nil jao-frames-default-alpha 88) +        (jao-set-transparency nil)          (x-change-window-property "_XMONAD_TRAYPAD" "" nil nil nil nil 0)          (jao-trisect t))      #+end_src @@ -496,7 +501,7 @@             (jao-swaymsg ,msg)))        (jao-def-swaymsg firefox "[app_id=firefox] focus") -      (defvar jao-sway-enabled-p nil) +      (defvar jao-sway-enabled (eq window-system 'pgtk))        (defun jao-sway-set-wallpaper (f)          (jao-swaymsg (format "output * bg %s fill" f)) @@ -509,14 +514,17 @@            (start-process-shell-command cmd nil cmd)))        (defun jao-sway-enable () -        (setq jao-sway-enabled-p t) +        ;; (setq jao-sway-enabled t)          (setq jao-browse-doc-use-emacs-p t) -        (setq jao-minibuffer-right-margin 1) -        (jao-toggle-inactive-mode-line t) +        (setq jao-minibuffer-right-margin "") +        (setq jao-wallpaper-random-wake nil)          (jao-trisect) -        (jao-set-transparency 92) +        (jao-set-transparency 85)          (jao-themes-setup)          (message "Welcome to sway")) + +      (when jao-sway-enabled (add-hook 'after-init-hook #'jao-sway-enable)) +      #+end_src  *** Wallpaper      #+begin_src emacs-lisp @@ -541,7 +549,7 @@                                              (file-symlink-p current)                                              t))))              (make-symbolic-link (expand-file-name f) current t) -            (if jao-sway-enabled-p +            (if jao-sway-enabled                  (jao-sway-set-wallpaper (expand-file-name f))                (shell-command (format "xwallpaper --zoom %s" f)))))) @@ -579,7 +587,7 @@        (defun jao-lock-screen ()          (interactive) -        (if jao-sway-enabled-p +        (if jao-sway-enabled              (shell-command "swaylock -i ~/.lockimage")            (jao-xlock-screen))) @@ -1175,7 +1183,6 @@           (vertical-scroll-bars . nil)           (scroll-bar-width . 11)           (menu-bar . nil) -         ,(jao-alpha-pair)           (font . ,jao-default-font)))      #+end_src  *** Frame layout, title, etc. @@ -1505,7 +1512,7 @@                (message "No URL at point")              (when (and (jao-exwm-enabled-p) (fboundp 'jao-exwm-firefox))                (jao-exwm-firefox)) -            (when (and jao-sway-enabled-p (fboundp 'jao-sway-firefox)) +            (when (and jao-sway-enabled (fboundp 'jao-sway-firefox))                (jao-sway-firefox))              (browse-url-generic url))))        (setq jao-browse-url-external-function 'jao-browse-with-external-browser)  | 
