summaryrefslogtreecommitdiffhomepage
path: root/custom/jao-custom-window-system.el
diff options
context:
space:
mode:
Diffstat (limited to 'custom/jao-custom-window-system.el')
-rw-r--r--custom/jao-custom-window-system.el198
1 files changed, 0 insertions, 198 deletions
diff --git a/custom/jao-custom-window-system.el b/custom/jao-custom-window-system.el
deleted file mode 100644
index 32b3578..0000000
--- a/custom/jao-custom-window-system.el
+++ /dev/null
@@ -1,198 +0,0 @@
-;; -*- lexical-binding: t -*-
-
-;;; x11 utils
-(defun jao-xdotool (arg-or-wait &rest args)
- (apply 'jao-shell-exec*
- (if (stringp arg-or-wait) "xdotool" arg-or-wait)
- (if (stringp arg-or-wait) arg-or-wait "xdotool")
- args))
-
-(defsubst jao-xdotool-string (&rest args)
- (apply 'jao-shell-string "xdotool" args))
-
-(defsubst jao-x11-focused-id () (jao-xdotool-string "getwindowfocus"))
-
-(defsubst jao-x11-window-name (&optional wid)
- (jao-xdotool-string "getwindowname" (or wid (jao-x11-focused-id))))
-
-(defsubst jao-x11-search-window (title)
- (jao-xdotool-string "search" "--name" title))
-
-(defsubst jao-x11-goto-ws (n) (jao-xdotool t "set_desktop" (format "%s" n)))
-
-;;; exwm
-(defvar jao-exwm-enabled nil)
-(defun jao-exwm-enabled-p () jao-exwm-enabled)
-
-(defun jao-exwm-enable ()
- (require 'jao-custom-exwm)
- (setq jao-exwm-enabled t)
- (display-time-mode -1)
- (jao-ednc-setup 95)
- (x-change-window-property "_XMONAD_TRAYPAD" "" nil nil nil nil 0)
- (jao-mode-line-add-to-minibuffer-left 90)
- (jao-xmobar-restart)
- (jao-trisect t))
-
-;;; xmonad
-(defvar jao-xmonad-enabled (string= "xmonad" (or (getenv "wm") "")))
-(defun jao-xmonad-enabled-p () jao-xmonad-enabled)
-
-(defun jao-xmonad-enable ()
- (setq jao-browse-doc-use-emacs-p (display-graphic-p))
- (setq jao-mode-line-in-minibuffer nil)
- (display-battery-mode -1)
- (jao-trisect)
- (message "Welcome to xmonad"))
-
-(when jao-xmonad-enabled
- (add-hook 'after-init-hook #'jao-xmonad-enable))
-
-;;; wayland
-
-(use-package jao-wayland :demand t)
-
-(defun jao-wayland-enable ()
- (interactive)
- (defalias 'x-change-window-property #'ignore)
- (jao-trisect)
- (message "Welcome to wayland"))
-
-(defun jao-river-enable ()
- (jao-wayland-enable)
- (when (jao-shell-running-p "i3bar-river")
- (jao-tracking-set-log ""))
- (message "Welcome to river"))
-
-(when jao-river-enabled
- (add-hook 'after-init-hook #'jao-river-enable t))
-
-(when jao-sway-enabled
- (add-hook 'after-init-hook #'jao-wayland-enable t))
-
-;;; wallpaper
-(defvar jao-wallpaper-dir "~/.wallpapers/")
-
-(defvar jao-wallpaper-random-candidates
- '("wallpaper.jpg" "wallpaper2.jpg"))
-
-(defvar jao-wallpaper-random-candidates-light
- '("wallpaper.jpg" "wallpaper2.jpg"))
-
-(defvar jao-wallpaper-random-wake t
- "Set to t for getting a new wallpaper on awaking from sleep")
-
-(defun jao-set-wallpaper (&optional path)
- (interactive)
- (let ((current (format "~/.wallpaper.%s" (jao-colors-scheme))))
- (when-let ((f (or (and path (expand-file-name path))
- (read-file-name "Image: "
- jao-wallpaper-dir
- (file-symlink-p current)
- t))))
- (make-symbolic-link f current t)
- (cond (jao-river-enabled (jao-river-set-wallpaper f))
- (jao-sway-enabled (jao-sway-set-wallpaper f))
- (t (shell-command-to-string (format "xwallpaper --zoom %s" f)))))))
-
-(defun jao-set-random-wallpaper ()
- (interactive)
- (when (or (called-interactively-p 'interactive)
- jao-wallpaper-random-wake)
- (let* ((ws (if (jao-colors-scheme-dark-p)
- jao-wallpaper-random-candidates
- jao-wallpaper-random-candidates-light))
- (f (seq-random-elt ws)))
- (jao-set-wallpaper (expand-file-name f jao-wallpaper-dir))
- (message "%s" f))))
-
-(add-to-list 'jao-sleep-awake-functions #'jao-set-random-wallpaper)
-
-;;; screensaver and lock
-(defun jao-screensaver-enabled ()
- (string= (jao-shell-string "xdg-screensaver status") "enabled"))
-
-(defvar jao-screensaver--wid nil)
-(defun jao-screensaver-toggle ()
- (interactive)
- (if (jao-screensaver-enabled)
- (let ((wid (jao-x11-focused-id)))
- (setq jao-screensaver--wid wid)
- (jao-shell-exec* t "xdg-screensaver" "suspend" wid))
- (jao-shell-exec* t "xdg-screensaver" "resume" jao-screensaver--wid)
- (setq jao-screensaver--wid nil))
- (jao-notify (format "Screensaver %s"
- (jao-shell-string "xdg-screensaver status"))))
-
-(jao-shell-def-exec jao-xlock-screen "xdg-screensaver" "activate")
-(jao-shell-def-exec jao-suspend "sudo" "systemctl" "suspend")
-(jao-shell-def-exec jao-poweroff "sudo" "systemctl" "poweroff")
-
-(defun jao-lock-screen ()
- (interactive)
- (if jao-wayland-enabled
- (shell-command "swaylock -i ~/.lockimage")
- (jao-xlock-screen)))
-
-(transient-define-prefix jao-transient-sleep ()
- ["Sleep"
- ("l" "lock screen" jao-lock-screen)
- ("z" "sleep" jao-suspend)
- ("u" (lambda ()
- (if (jao-screensaver-enabled) "suspend screensaver" "resume screensaver"))
- jao-screensaver-toggle)
- ("poof" "power-off" jao-poweroff)])
-
-;;; X clipboard
-(setq select-enable-clipboard t
- select-enable-primary t
- selection-timeout 100
- xterm-select-active-regions t)
-
-(use-package xclip
- :ensure t
- :init (setq xclip-method (if jao-wayland-enabled 'wl-copy 'xclip)))
-
-(unless (display-graphic-p) (xclip-mode 1))
-
-;;; pop-up frames
-(defun jao-open-in-x-frame (&optional width height)
- (interactive)
- (make-frame `((window-system . x)
- (name . "emacs popup")
- (width . ,(or width (window-width)))
- (height . ,(or height (window-height)))))
- (define-key (current-local-map) "q" #'delete-frame))
-
-;;; xmobar
-(defun jao-xmobar-kill ()
- (interactive)
- (shell-command "killall xmobar-single"))
-
-(defun jao-xmobar-restart ()
- (interactive)
- (jao-xmobar-kill)
- (start-process "" nil "xmobar-single" "-d"))
-
-(use-package tab-bar
- :init (setq tab-bar-close-button-show nil
- tab-bar-show (> emacs-major-version 28)
- tab-bar-format ()))
-
-(use-package xmobar
- :init (setq xmobar-tab-bar t
- xmobar-tab-split "*"
- xmobar-tab-bar-format
- (if window-system
- '(xmobar-left-string
- tab-bar-format-align-right
- xmobar-right-string)
- '(xmobar-left-string
- xmobar-elastic-space
- xmobar-right-string))
- xmobar-command
- (if window-system '("xmobar-emacs" "-TAnsi") "xmobar-emacs")))
-
-
-;;; - provide
-(provide 'jao-custom-window-system)