summaryrefslogtreecommitdiffhomepage
path: root/init.org
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2022-02-02 03:53:54 +0000
committerjao <jao@gnu.org>2022-02-02 03:53:54 +0000
commit42cf90da66e9ff24939a98139016138905e1b201 (patch)
treedea95036ea579a0ebbbb78c5935bb506ea028f22 /init.org
parentdf1affa6dedfbbf9f60c278dd140372020e2c5de (diff)
downloadelibs-42cf90da66e9ff24939a98139016138905e1b201.tar.gz
elibs-42cf90da66e9ff24939a98139016138905e1b201.tar.bz2
sway improvements
Diffstat (limited to 'init.org')
-rw-r--r--init.org103
1 files changed, 55 insertions, 48 deletions
diff --git a/init.org b/init.org
index ec104fe..6d77719 100644
--- a/init.org
+++ b/init.org
@@ -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)