From 05d72eabc9e1f0daefe26be6f7c54f83f58d5f15 Mon Sep 17 00:00:00 2001 From: tmu Date: Wed, 2 Aug 2023 12:07:55 -0700 Subject: update. mostly emacs --- emacs/init.el | 183 ++++++++++++++++++++++++++---- emacs/project-stuff.el | 81 ++++++++++---- foot/foot.ini~ | 187 ------------------------------- sway/config | 129 ++++++++++----------- sway/config~ | 295 ------------------------------------------------- sway/otherwindow~ | 60 ---------- sway/switch.py | 101 +++++++++++++++++ sway/switch.sh~ | 10 -- sway/toEmacs.sh~ | 11 -- waybar/config~ | 163 --------------------------- waybar/style.css~ | 254 ------------------------------------------ 11 files changed, 386 insertions(+), 1088 deletions(-) delete mode 100644 foot/foot.ini~ delete mode 100644 sway/config~ delete mode 100755 sway/otherwindow~ create mode 100755 sway/switch.py delete mode 100755 sway/switch.sh~ delete mode 100755 sway/toEmacs.sh~ delete mode 100644 waybar/config~ delete mode 100644 waybar/style.css~ diff --git a/emacs/init.el b/emacs/init.el index c8955ab..5ded8b6 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -6,6 +6,90 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(comment-style 'extra-line) + '(connection-local-criteria-alist + '(((:application tramp :protocol "flatpak") + tramp-container-connection-local-default-flatpak-profile) + ((:application tramp) + tramp-connection-local-default-system-profile tramp-connection-local-default-shell-profile) + ((:application eshell) + eshell-connection-default-profile))) + '(connection-local-profile-alist + '((tramp-container-connection-local-default-flatpak-profile + (tramp-remote-path "/app/bin" tramp-default-remote-path "/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" "/opt/sbin" "/opt/local/bin")) + (tramp-connection-local-darwin-ps-profile + (tramp-process-attributes-ps-args "-acxww" "-o" "pid,uid,user,gid,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "state=abcde" "-o" "ppid,pgid,sess,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etime,pcpu,pmem,args") + (tramp-process-attributes-ps-format + (pid . number) + (euid . number) + (user . string) + (egid . number) + (comm . 52) + (state . 5) + (ppid . number) + (pgrp . number) + (sess . number) + (ttname . string) + (tpgid . number) + (minflt . number) + (majflt . number) + (time . tramp-ps-time) + (pri . number) + (nice . number) + (vsize . number) + (rss . number) + (etime . tramp-ps-time) + (pcpu . number) + (pmem . number) + (args))) + (tramp-connection-local-busybox-ps-profile + (tramp-process-attributes-ps-args "-o" "pid,user,group,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "stat=abcde" "-o" "ppid,pgid,tty,time,nice,etime,args") + (tramp-process-attributes-ps-format + (pid . number) + (user . string) + (group . string) + (comm . 52) + (state . 5) + (ppid . number) + (pgrp . number) + (ttname . string) + (time . tramp-ps-time) + (nice . number) + (etime . tramp-ps-time) + (args))) + (tramp-connection-local-bsd-ps-profile + (tramp-process-attributes-ps-args "-acxww" "-o" "pid,euid,user,egid,egroup,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "state,ppid,pgid,sid,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etimes,pcpu,pmem,args") + (tramp-process-attributes-ps-format + (pid . number) + (euid . number) + (user . string) + (egid . number) + (group . string) + (comm . 52) + (state . string) + (ppid . number) + (pgrp . number) + (sess . number) + (ttname . string) + (tpgid . number) + (minflt . number) + (majflt . number) + (time . tramp-ps-time) + (pri . number) + (nice . number) + (vsize . number) + (rss . number) + (etime . number) + (pcpu . number) + (pmem . number) + (args))) + (tramp-connection-local-default-shell-profile + (shell-file-name . "/bin/sh") + (shell-command-switch . "-c")) + (tramp-connection-local-default-system-profile + (path-separator . ":") + (null-device . "/dev/null")) + (eshell-connection-default-profile + (eshell-path-env-list)))) '(custom-enabled-themes '(tmu-custom)) '(custom-safe-themes '("6dafb31ade9ff07229faaf05c41c2ae475c44731362b792f65f3930b1a2c9cfd" "dc77e008092a5a4aa6b6ed8e4826bebf8f2fb930a8de073bf7f458efd884cca8" "d1ff3e66028f9c527298580d2a64f9e3280f07f9e94d4dada72b67ef15069441" "3d4e3644e237a95683daa73e397c4c0d1ae06bbaaf8040104232591a28bc1315" "12a07bc38295e4b06a8965db261f51ea7ea61fbf91b3ef41298bbb549d1d9403" default)) @@ -13,7 +97,7 @@ '("/home/tmu/Desktop/eway/sway" "/home/tmu/Desktop/eway/cage" "/home/tmu/Desktop/eway/wlroots" "/home/tmu/Desktop/eway/comp" "/home/tmu/Desktop/eway")) '(menu-bar-mode nil) '(package-selected-packages - '(evil-snipe evil-surround markdown-preview-mode 2048-game evil ibuffer-project persp-mode-projectile-bridge persp-mode fish-mode spell-fu pyim chinese-conv esup buffer-move vertico flymake-diagnostic-at-point emms-state emms-player-simple-mpv eshell-fringe-status esh-help eshell-vterm vterm rustic benchmark-init ivy-prescient eat ivy-hydra ivy emms eyebrowse highlight dumb-jump volume workgroups async bongo hydra free-keys gxref fold-this simple-httpd xelb oauth2 imenu-anywhere popwin folding gdscript-mode)) + '(evil-commentary frog-jump-buffer modus-themes which-key evil-collection hl-todo evil-easymotion sideline-flymake sideline-lsp zig-mode tree-sitter-langs tree-sitter company-go pyim-basedict evil-snipe evil-surround markdown-preview-mode 2048-game evil ibuffer-project persp-mode-projectile-bridge persp-mode fish-mode spell-fu pyim chinese-conv esup buffer-move vertico flymake-diagnostic-at-point emms-state emms-player-simple-mpv eshell-fringe-status esh-help eshell-vterm vterm rustic benchmark-init ivy-prescient eat ivy-hydra ivy emms eyebrowse highlight dumb-jump volume workgroups async bongo hydra free-keys gxref fold-this simple-httpd xelb oauth2 imenu-anywhere popwin folding gdscript-mode)) '(scroll-bar-mode nil) '(tool-bar-mode nil) '(transient-mark-mode nil) @@ -189,6 +273,11 @@ mark. Does the same of ARG number sexps if given" ;; (selectrum-highlight-candidates-function #'orderless-highlight-matches) ) +(use-package which-key + :ensure t + :init + (which-key-mode)) + ;; better in-buffer completion ;; (require 'company) ;; (add-hook 'prog-mode-hook (lambda () @@ -242,30 +331,20 @@ mark. Does the same of ARG number sexps if given" (autoload 'async-eval "~/.emacs.d/async-eval.el" "evaluate in another emacs process" t) -(load-file "~/.emacs.d/project-stuff.el") - -(load-file "~/.emacs.d/single-header.el") - -(put 'dired-find-alternate-file 'disabled nil) -(put 'upcase-region 'disabled nil) -(put 'list-timers 'disabled nil) -(put 'narrow-to-region 'disabled nil) - -;; no tabs -(setq-default indent-tabs-mode nil) - -;; input method stuff -(setq rime-translate-keybindings - '("C-f" "C-b" "C-n" "C-p" "C-g" "" "" "" "" "" "" "")) -(setq rime-share-data-dir "~/.local/share/fcitx5/rime") -(setq rime-show-candidate 'popup) - ;; evil mode stuff +(setq + evil-want-keybinding nil + evil-want-integration t) +;; evil-want-C-d-scroll nil +;; evil-want-C-w-delete nil +;; evil-disable-insert-state-bindings t +;; evil-respect-visual-line-mode t +(require 'evil) +(when (require 'evil-collection nil t) + (evil-collection-init)) (evil-mode 1) +(evilem-default-keybindings "SPC") (define-key evil-motion-state-map (kbd "TAB") 'indent-for-tab-command) -(setq evil-want-C-d-scroll nil - evil-want-C-w-delete nil - evil-disable-insert-state-bindings t) (use-package evil-surround :ensure t :config @@ -283,6 +362,66 @@ mark. Does the same of ARG number sexps if given" (define-key evil-insert-state-map (kbd "C-a") 'move-beginning-of-line) (define-key evil-normal-state-map (kbd "M-.") 'xref-find-definitions) +(add-hook 'prog-mode-hook (lambda () + (modify-syntax-entry ?_ "w") )) + +;;; sashka bindings +;; movement +(defun evil-window-split-and-switch () + "Split the window vertically and switch to the new buffer." + (interactive) + (evil-window-split) + (other-window 1)) + +(defun evil-window-vsplit-and-switch () + "Split the window horizontally and switch to the new buffer." + (interactive) + (evil-window-vsplit) + (other-window 1)) + +(evil-define-key 'normal global-map (kbd "SPC RET") 'vterm) +(evil-define-key 'normal global-map (kbd "SPC !") 'abort-recursive-edit) +(evil-define-key 'normal global-map (kbd "SPC f f") 'find-file) + +(evil-define-key 'normal global-map (kbd "SPC SPC SPC j") 'evil-window-split-and-switch) +(evil-define-key 'normal global-map (kbd "SPC SPC SPC k") 'evil-window-split-and-switch) +(evil-define-key 'normal global-map (kbd "SPC SPC SPC h") 'evil-window-vsplit-and-switch) +(evil-define-key 'normal global-map (kbd "SPC SPC SPC l") 'evil-window-vsplit-and-switch) +(evil-define-key 'normal global-map (kbd "SPC SPC h") 'evil-window-left) +(evil-define-key 'normal global-map (kbd "SPC SPC j") 'evil-window-down) +(evil-define-key 'normal global-map (kbd "SPC SPC k") 'evil-window-up) +(evil-define-key 'normal global-map (kbd "SPC SPC l") 'evil-window-right) +(evil-define-key 'normal global-map (kbd "SPC SPC w") 'delete-window) +(evil-define-key 'normal global-map (kbd "SPC SPC q") 'delete-window) +(evil-define-key 'normal global-map (kbd "SPC SPC b") 'balance-windows) +(evil-define-key 'normal global-map (kbd "SPC s s") 'save-buffer) +(evil-define-key 'normal global-map (kbd "SPC s f") 'counsel-find-file) +(evil-define-key 'normal global-map (kbd "SPC s r") 'counsel-rg) +(evil-define-key 'normal global-map (kbd "SPC ;") 'frog-jump-buffer) + +;; frog jump stuff +(add-hook 'frog-menu-after-init-hook (lambda () + (setq-local avy-background nil))) + +(load-file "~/.emacs.d/project-stuff.el") + +;; (load-file "~/.emacs.d/single-header.el") + +(put 'dired-find-alternate-file 'disabled nil) +(put 'upcase-region 'disabled nil) +(put 'list-timers 'disabled nil) +(put 'narrow-to-region 'disabled nil) + +;; no tabs +(setq-default indent-tabs-mode nil) + +;; input method stuff +(setq rime-translate-keybindings + '("C-f" "C-b" "C-n" "C-p" "C-g" "" "" "" "" "" "" "")) +(setq rime-share-data-dir "~/.local/share/fcitx5/rime") +(setq rime-show-candidate 'popup) + + (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/emacs/project-stuff.el b/emacs/project-stuff.el index 03142b2..29b515e 100644 --- a/emacs/project-stuff.el +++ b/emacs/project-stuff.el @@ -7,6 +7,10 @@ (add-hook 'xref-backend-functions 'gxref-xref-backend) +;; don't forget that eglot exists +;; (global-company-mode 1) +;; (setq company-idle-delay 0.1) + ;; (require 'semantic/sb) ;; (setq semantic-default-submodes ;; '(global-semantic-idle-scheduler-mode @@ -17,11 +21,9 @@ ;; global-semantic-mru-bookmark-mode ;; global-semantic-idle-local-symbol-highlight-mode) ;; semantic-idle-scheduler-work-idle-time 5) -;; (semantic-mode 1) +;; (semantic-mode 1 ;; (global-ede-mode t) -;; don't forget that eglot exists - ;; better commenting stuff (global-set-key (kbd "C-x C-;") 'comment-or-uncomment-region) (global-set-key (kbd "C-x ;") 'comment-line) @@ -29,6 +31,9 @@ (setq asm-comment-char ?#) +;; nice eglot binds +(global-set-key (kbd "C-c f") 'eglot-code-action-quickfix) +(global-set-key (kbd "C-c C-f") 'eglot-code-actions) ;; deal white whitespace better (setq whitespace-style @@ -38,6 +43,8 @@ (whitespace-mode 1) (display-fill-column-indicator-mode 1))) +(global-hl-todo-mode 1) + (require 'sr-speedbar "~/.emacs.d/sr-speedbar.el" nil) (defun speedbar-switch-and-setup () @@ -59,6 +66,8 @@ (global-unset-key (kbd "M-i")) (global-set-key (kbd "M-i") 'speedbar-switch-and-setup) +(global-set-key (kbd "M-Z") 'suspend-frame) + ;; indent code when pasting, from ;; https://trey-jackson.blogspot.com/2008/03/emacs-tip-15-indent-yanked-code.html @@ -93,6 +102,19 @@ BEG and END define the region." (let ((transient-mark-mode nil)) (yank-advised-indent-function (region-beginning) (region-end))))) +(defadvice evil-paste-before (after yank-indent activate) + "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)." + (if (and (not (ad-get-arg 0)) + (member major-mode yank-indent-modes)) + (let ((transient-mark-mode nil)) + (yank-advised-indent-function (region-beginning) (region-end))))) + +(defadvice evil-paste-after (after yank-indent activate) + "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)." + (if (and (not (ad-get-arg 0)) + (member major-mode yank-indent-modes)) + (let ((transient-mark-mode nil)) + (yank-advised-indent-function (region-beginning) (region-end))))) ;; make ibuffer play with projectile @@ -110,6 +132,12 @@ BEG and END define the region." ;; code folding +(add-to-list 'load-path "~/.emacs.d/") +;; (require 'ts-foldV) + +(autoload 'hide-lines "hide-lines" "Hide lines based on a regexp" t) +(global-set-key (kbd "C-c /") 'hide-lines) + ;; region folding (autoload 'fold-this "fold-this" "arbitrary folding" t) (autoload 'fold-this-unfold-at-point "fold-this" "arbitrary folding" t) @@ -168,13 +196,28 @@ BEG and END define the region." (hs-minor-mode 1) ;; (flymake-mode 1) (spell-fu-mode 0) + (superword-mode 1) (add-hook 'before-save-hook (lambda () (clean-prog-file (current-buffer)))))) -(use-package flymake-diagnostic-at-point - :after flymake - :config - (setq flymake-diagnostic-at-point-timer-delay 1) - (add-hook 'flymake-mode-hook #'flymake-diagnostic-at-point-mode)) +;; (use-package flymake-diagnostic-at-point +;; :after flymake +;; :config +;; (setq flymake-diagnostic-at-point-timer-delay 1) +;; (add-hook 'flymake-mode-hook #'flymake-diagnostic-at-point-mode)) + +(use-package sideline + :init + (setq sideline-backends-skip-current-line t ; don't display on current line + sideline-order-left 'down ; or 'up + sideline-order-right 'up ; or 'down + sideline-format-left "%s " ; format for left aligment + sideline-format-right " %s" ; format for right aligment + sideline-priority 100 ; overlays' priority + sideline-display-backend-name t) ; display the backend name + :hook ((flycheck-mode . sideline-mode) ; for `sideline-flycheck` + (flymake-mode . sideline-mode)) ; for `sideline-flymake` + :init + (setq sideline-backends-right '(sideline-flymake))) (setq rustic-lsp-setup-p nil) @@ -205,6 +248,7 @@ BEG and END define the region." (require 'evil) (evil-set-initial-state 'vterm-mode 'emacs) +(evil-define-key 'normal global-map (kbd "SPC i") 'imenu) (define-key eshell-mode-map (kbd "M-o") 'other-window) (define-key eshell-mode-map (kbd "M-W") 'switch-buffer) @@ -213,8 +257,6 @@ BEG and END define the region." (recenter-top-bottom 0))) ;; compilation stuff -(global-unset-key (kbd "M-m")) -(global-unset-key (kbd "M-M")) (global-set-key (kbd "M-m") (lambda () (interactive) (if flymake-mode @@ -224,20 +266,12 @@ BEG and END define the region." (setq compilation-always-kill t compilation-scroll-output t) -;; better finding things -(global-set-key (kbd "C-s") 'swiper) +;; better searching +(setq counsel-grep-base-command + "rg -i -M 120 --no-heading --line-number --color never '%s' %s") +(global-set-key (kbd "C-s") 'counsel-grep-or-swiper) (global-set-key (kbd "C-S-s") 'isearch-forward) -(global-set-key (kbd "C-r") 'counsel-ag) - -;; perspective and friends -;; (require 'perspective) -;; (customize-set-variable 'persp-mode-prefix-key (kbd "M-p")) -;; (global-set-key (kbd "C-x C-b") 'persp-ibuffer) -;; (persp-mode) -;; (global-set-key (kbd "C-x b") 'persp-switch-to-buffer*) -;; (global-set-key (kbd "M-W") 'persp-switch-to-buffer*) -;; (global-set-key (kbd "C-x k") 'persp-kill-buffer*) - +(define-key evil-normal-state-map (kbd "C-r") 'counsel-rg) (require 'persp-mode) (persp-mode 1) @@ -267,6 +301,7 @@ BEG and END define the region." persp-kill-foreign-buffer-behaviour 'dont-ask) (global-set-key (kbd "M-p") 'persp-key-map) (global-set-key (kbd "C-x b") #'persp-switch-to-buffer) + (global-set-key (kbd "C-x B") #'switch-to-buffer) (global-set-key (kbd "C-x C-b") (lambda () (interactive) (with-persp-buffer-list () (ibuffer)))) diff --git a/foot/foot.ini~ b/foot/foot.ini~ deleted file mode 100644 index 30e98f3..0000000 --- a/foot/foot.ini~ +++ /dev/null @@ -1,187 +0,0 @@ -# -*- conf -*- - -# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) -# term=foot (or xterm-256color if built with -Dterminfo=disabled) -# login-shell=no - -# app-id=foot -# title=foot -# locked-title=no - -font=Terminus:size=12 -# font-bold= -# font-italic= -# font-bold-italic= -# line-height= -# letter-spacing=0 -# horizontal-letter-offset=0 -# vertical-letter-offset=0 -# underline-offset= -# box-drawings-uses-font-glyphs=no -dpi-aware=no - -# initial-window-size-pixels=700x500 # Or, -# initial-window-size-chars= -# initial-window-mode=windowed -# pad=2x2 # optionally append 'center' -# resize-delay-ms=100 - -# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} - -# bold-text-in-bright=no -# word-delimiters=,│`|:"'()[]{}<> -# selection-target=primary -# workers= - -[bell] -# urgent=no -# notify=no -# command= -# command-focused=no - -[scrollback] -# lines=1000 -# multiplier=3.0 -# indicator-position=relative -# indicator-format= - -[url] -# launch=xdg-open ${url} -# label-letters=sadfjklewcmpgh -# osc8-underline=url-mode -# protocols=http, https, ftp, ftps, file, gemini, gopher -# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] - -[cursor] -# style=block -# color= -# blink=no -# beam-thickness=1.5 -# underline-thickness= - -[mouse] -# hide-when-typing=no -# alternate-scroll-mode=yes - - -[colors] -alpha=0.95 -foreground=dfdfdf -background=080808 - -## Normal/regular colors (color palette 0-7) -regular0=222222 # black -regular1=cc9393 # red -regular2=7f9f7f # green -regular3=d0bf8f # yellow -regular4=6ca0a3 # blue -regular5=dc8cc3 # magenta -regular6=93e0e3 # cyan -regular7=dcdccc # white - -## Bright colors (color palette 8-15) -bright0=666666 # bright black -bright1=dca3a3 # bright red -bright2=bfebbf # bright green -bright3=f0dfaf # bright yellow -bright4=8cd0d3 # bright blue -bright5=fcace3 # bright magenta -bright6=b3ffff # bright cyan -bright7=ffffff # bright white - -## dimmed colors (see foot.ini(5) man page) -# dim0= -# ... -# dim7= - -## The remaining 256-color palette -# 16 = <256-color palette #16> -# ... -# 255 = <256-color palette #255> - -## Misc colors -# selection-foreground= -# selection-background= -# jump-labels= -# urls= -# scrollback-indicator= - -[csd] -# preferred=server -# size=26 -# font= -# color= -# hide-when-typing=no -# border-width=0 -# border-color= -# button-width=26 -# button-color= -# button-minimize-color= -# button-maximize-color= -# button-close-color= - -[key-bindings] -# scrollback-up-page=Shift+Page_Up -# scrollback-up-half-page=none -# scrollback-up-line=none -# scrollback-down-page=Shift+Page_Down -# scrollback-down-half-page=none -# scrollback-down-line=none -# clipboard-copy=Control+Shift+c XF86Copy -# clipboard-paste=Control+Shift+v XF86Paste -# primary-paste=Shift+Insert -# search-start=Control+Shift+r -# font-increase=Control+plus Control+equal Control+KP_Add -# font-decrease=Control+minus Control+KP_Subtract -# font-reset=Control+0 Control+KP_0 -# spawn-terminal=Control+Shift+n -# minimize=none -# maximize=none -# fullscreen=none -# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none -# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none -# pipe-selected=[xargs -r firefox] none -# show-urls-launch=Control+Shift+u -# show-urls-copy=none -# show-urls-persistent=none -# noop=none - -[search-bindings] -# cancel=Control+g Control+c Escape -# commit=Return -# find-prev=Control+r -# find-next=Control+s -# cursor-left=Left Control+b -# cursor-left-word=Control+Left Mod1+b -# cursor-right=Right Control+f -# cursor-right-word=Control+Right Mod1+f -# cursor-home=Home Control+a -# cursor-end=End Control+e -# delete-prev=BackSpace -# delete-prev-word=Mod1+BackSpace Control+BackSpace -# delete-next=Delete -# delete-next-word=Mod1+d Control+Delete -# extend-to-word-boundary=Control+w -# extend-to-next-whitespace=Control+Shift+w -# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste -# primary-paste=Shift+Insert - -[url-bindings] -# cancel=Control+g Control+c Control+d Escape -# toggle-url-visible=t - -[text-bindings] -# \x03=Mod4+c # Map Super+c -> Ctrl+c - -[mouse-bindings] -# selection-override-modifiers=Shift -# primary-paste=BTN_MIDDLE -# select-begin=BTN_LEFT -# select-begin-block=Control+BTN_LEFT -# select-extend=BTN_RIGHT -# select-extend-character-wise=Control+BTN_RIGHT -# select-word=BTN_LEFT-2 -# select-word-whitespace=Control+BTN_LEFT-2 -# select-row=BTN_LEFT-3 - -# vim: ft=dosini diff --git a/sway/config b/sway/config index d3f2c0a..beec2af 100644 --- a/sway/config +++ b/sway/config @@ -15,8 +15,6 @@ set $term foot # on the original workspace that the command was run on. set $menu exec wofi -G --show run,drun -exec swayrd 1>/dev/null 2>/dev/null -#this think doesnt stop when sway dies #general preferences focus_follows_mouse no @@ -27,9 +25,13 @@ input type:keyboard { repeat_rate 35 # xkb_file ~/.xkb/symbols/tmucustom.xkb xkb_options compose:ralt + #,grp:rctrl_toggle + xkb_numlock enabled +# xkb_layout us,us +# xkb_variant ,dvorak } input type:touchpad { - dwt enabled + dwt disabled tap enabled drag disabled drag_lock disabled @@ -38,16 +40,21 @@ input type:touchpad { } #specfically the little red one -#input "1739:52619:SYNA8006:00_06CB:CD8B_Mouse" { +input "1739:52619:SYNA8006:00_06CB:CD8B_Mouse" { # pointer_accel -1 # accel_profile flat # scroll_factor 0.25 -#} + dwt disabled +} +for_window [app_id=mpv] floating enable #start language switcher exec fcitx5 -d +#notifs +exec mako + #handle monitors properly exec_always bash -c 'if $(swaymsg -t get_outputs | grep -q -F "HDMI"); then swaymsg output eDP-1 disable; swaymsg output HDMI-A-1 enable; swaymsg output DP-2 enable; else swaymsg output eDP-1 enable; swaymsg output HDMI-A-1 disable; swaymsg output DP-2 disable; fi' @@ -73,45 +80,48 @@ output DP-2 { mode 1920x1080@60Hz } + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + swaybar_command waybar +# position bottom +# height 20 + +# # When the status_command prints a new line to stdout, swaybar updates. +# # The default just shows the current date and time. +# # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done + +# # colors { +# # statusline #ffffff +# # background #323232 +# # inactive_workspace #32323200 #32323200 #d0d0d0 +# # } +} + #theming stuff #titlebar_border_thickness 2 #no extra padding -titlebar_padding 2 +# titlebar_padding 2 #hide_edge_borders both #smart_borders on -default_border none -font monospace 10 workspace_layout stacking -focus_wrapping no +focus_wrapping yes show_marks on - - -### I want to be able to open a bunch of stuff quickly on startup and have it go the right place -for_window [app_id="foot" title="terminal"] { - move container to workspace T - mark "t" - fullscreen -} - - - -exec foot -T "terminal" -#bindsym $mod+Shift+s exec vivaldi-stable; exec brave; exec foot -T "terminal" - - -# things I want to toggle -#bindsym $mod+m [title="Messages for web"] scratchpad show -#bindsym $mod+n [class="Spotify"] scratchpad show - - -### dedicated terminal -# I want a permanent terminal that is fullscreened -bindsym $mod+Shift+Return exec ~/.config/sway/switch.sh - -### marking -# using sway-marker -bindsym $mod+bracketright exec sway-marker mark -bindsym $mod+bracketleft exec sway-marker goto +# start in normal state +default_border none +titlebar_border_thickness 0 +titlebar_padding 2 +font monospace 10 +# bar mode dock +# two modes, with and without metadata +bindsym $mod+g default_border none, titlebar_border_thickness 0, titlebar_padding 2, font monospace 10, bar mode dock +bindsym $mod+Shift+g default_border pixel 0, titlebar_border_thickness 0, titlebar_padding 0, font monospace 0, bar mode hide +# more jumping stuff +bindsym --to-code $mod+m exec sway-marker mark +bindsym --to-code $mod+Shift+m exec sway-marker goto ### Key bindings # @@ -127,13 +137,13 @@ bindsym $mod+Shift+q kill bindsym $mod+d exec $menu # get me to emacs -bindsym $mod+p exec ~/.config/sway/toEmacs.sh +bindsym $mod+Shift+p exec ~/.config/sway/toEmacs.sh # make a new emacs frame here -bindsym $mod+Shift+p exec emacsclient -c +bindsym $mod+p exec emacsclient -c --alternate-editor=emacs -# start throwaway browser -bindsym $mod+e exec MOZ_ENABLE_WAYLAND=1 BDK_BACKEND=wayland firefox +# start browser +bindsym $mod+e exec firefox # start quick-open menu #bindsym $mod+o exec $term --title quicklauncher -e bash -c 'read line; eval $line | less -r' @@ -168,6 +178,9 @@ bindsym XF86MonBrightnessUp exec brightnessctl -e s +10% bindsym $mod+grave exec systemctl suspend bindsym $mod+Escape exec sh -c 'swaylock -i /home/tmu/Pictures/capture/installsource.png -l -e -t --indicator-radius 100 & systemctl suspend' +bindsym $mod+w exec sh -c '/home/tmu/.config/sway/switch.py' + + # # Moving around: # @@ -177,11 +190,21 @@ bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + # Move the focused window with the same, but add Shift bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right + +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right # # Workspaces: # @@ -227,8 +250,8 @@ bindsym $mod+v splitv # Switch the current container between different layout styles bindsym $mod+s layout stacking #not sure I need, I'll leave it -bindsym $mod+w exec swayr switch-window -#bindsym $mod+e layout toggle split +bindsym $mod+y layout tabbed +bindsym $mod+t layout toggle split # Make the current focus fullscreen bindsym $mod+f fullscreen @@ -272,24 +295,4 @@ mode "resize" { } bindsym $mod+r mode "resize" -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - swaybar_command waybar -# position bottom -# height 20 - -# # When the status_command prints a new line to stdout, swaybar updates. -# # The default just shows the current date and time. -# # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done - -# # colors { -# # statusline #ffffff -# # background #323232 -# # inactive_workspace #32323200 #32323200 #d0d0d0 -# # } -} - include /etc/sway/config.d/* diff --git a/sway/config~ b/sway/config~ deleted file mode 100644 index 80eeb46..0000000 --- a/sway/config~ +++ /dev/null @@ -1,295 +0,0 @@ -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. - -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 -# Your preferred terminal emulator -set $term foot -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu exec wofi -G --show run,drun - -exec swayrd 1>/dev/null 2>/dev/null -#this think doesnt stop when sway dies - -#general preferences -focus_follows_mouse no -seat * hide_cursor when-typing enable - -input type:keyboard { - repeat_delay 210 - repeat_rate 35 -# xkb_file ~/.xkb/symbols/tmucustom.xkb - xkb_options compose:ralt -} -input type:touchpad { - dwt enabled - tap enabled - drag disabled - drag_lock disabled - middle_emulation disabled - tap_button_map lrm -} - -#specfically the little red one -#input "1739:52619:SYNA8006:00_06CB:CD8B_Mouse" { -# pointer_accel -1 -# accel_profile flat -# scroll_factor 0.25 -#} - - -#start language switcher -exec fcitx5 -d - -#handle monitors properly -exec_always bash -c 'if $(swaymsg -t get_outputs | grep -q -F "HDMI"); then swaymsg output eDP-1 disable; swaymsg output HDMI-A-1 enable; swaymsg output DP-2 enable; else swaymsg output eDP-1 enable; swaymsg output HDMI-A-1 disable; swaymsg output DP-2 disable; fi' - -#get me a background -#exec_always bash -c 'sleep 0.5s ;systemctl --user start background.service' -exec_always bash -c 'setwallpaper ~/Pictures/capture/aesthetic/turquoiseCity.jpg' - -output HDMI-A-1 { -# background ~/Pictures/tree.jpg fill - pos 0 0 - mode 1920x1080@60Hz -} - -output eDP-1 { -# background ~/Pictures/tree.jpg fill - pos 0 0 - mode 1920x1080@60Hz -} - -output DP-2 { -# background ~/Pictures/tree.jpg fill - pos 1920 0 - mode 1920x1080@60Hz -} - -#theming stuff -#titlebar_border_thickness 2 -#no extra padding -titlebar_padding 2 -#hide_edge_borders both -#smart_borders on -default_border none -font monospace 10 -workspace_layout stacking -focus_wrapping no -show_marks on - - -### I want to be able to open a bunch of stuff quickly on startup and have it go the right place -for_window [app_id="foot" title="terminal"] { - move container to workspace T - mark "t" - fullscreen -} - - - -exec foot -T "terminal" -#bindsym $mod+Shift+s exec vivaldi-stable; exec brave; exec foot -T "terminal" - - -# things I want to toggle -#bindsym $mod+m [title="Messages for web"] scratchpad show -#bindsym $mod+n [class="Spotify"] scratchpad show - - -### dedicated terminal -# I want a permanent terminal that is fullscreened -bindsym $mod+Return exec ~/.config/sway/switch.sh - -### marking -# using sway-marker -bindsym $mod+bracketright exec sway-marker mark -bindsym $mod+bracketleft exec sway-marker goto - -### Key bindings -# -# Basics: -# -# Start a terminal -bindsym $mod+Shift+Return exec $term - -# Kill focused window -bindsym $mod+Shift+q kill - -# Start your launcher -bindsym $mod+d exec $menu - -# get me to emacs -bindsym $mod+p exec ~/.config/sway/toEmacs.sh - -# make a new emacs frame here -bindsym $mod+Shift+p exec emacsclient -c - -# start throwaway browser -bindsym $mod+e exec MOZ_ENABLE_WAYLAND=1 BDK_BACKEND=wayland firefox - -# start quick-open menu -#bindsym $mod+o exec $term --title quicklauncher -e bash -c 'read line; eval $line | less -r' -#for_window [title="quicklauncher"] floating enable, resize set 30 ppt 35 ppt, border pixel 2 - -#other window swap -bindsym $mod+o exec swaymsg [con_id=$(~/.config/sway/otherwindow f)] focus - -# Drag floating windows by holding down $mod and left mouse button. -# Resize them with right mouse button + $mod. -# Despite the name, also works for non-floating windows. -# Change normal to inverse to use left mouse button for resizing and right -# mouse button for dragging. -floating_modifier $mod normal - -# Reload the configuration file -bindsym $mod+Shift+c reload - -# Exit sway (logs you out of your Wayland session) -bindsym $mod+Shift+e exit - -# media keys -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status -bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status -bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status -bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status - -bindsym XF86MonBrightnessDown exec brightnessctl -e s 10%- -bindsym XF86MonBrightnessUp exec brightnessctl -e s +10% - -# other bindings -bindsym $mod+grave exec systemctl suspend -bindsym $mod+Escape exec sh -c 'swaylock -i /home/tmu/Pictures/capture/installsource.png -l -e -t --indicator-radius 100 & systemctl suspend' - -# -# Moving around: -# -# Or use $mod+[up|down|left|right] -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# Move the focused window with the same, but add Shift -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right -# -# Workspaces: -# -# Switch to workspace -bindsym $mod+1 workspace number 1 -bindsym $mod+2 workspace number 2 -bindsym $mod+3 workspace number 3 -bindsym $mod+4 workspace number 4 -bindsym $mod+5 workspace number 5 -bindsym $mod+6 workspace number 6 -bindsym $mod+7 workspace number 7 -bindsym $mod+8 workspace number 8 -bindsym $mod+9 workspace number 9 -bindsym $mod+0 workspace number 10 -# Move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number 1 -bindsym $mod+Shift+2 move container to workspace number 2 -bindsym $mod+Shift+3 move container to workspace number 3 -bindsym $mod+Shift+4 move container to workspace number 4 -bindsym $mod+Shift+5 move container to workspace number 5 -bindsym $mod+Shift+6 move container to workspace number 6 -bindsym $mod+Shift+7 move container to workspace number 7 -bindsym $mod+Shift+8 move container to workspace number 8 -bindsym $mod+Shift+9 move container to workspace number 9 -bindsym $mod+Shift+0 move container to workspace number 10 - -# move workspaces between monitors -bindsym $mod+Prior focus output left -bindsym $mod+Next focus output right -bindsym $mod+Shift+Prior move workspace output left -bindsym $mod+Shift+Next move workspace output right - -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-10 as the default. -# -# Layout stuff: -# -# You can "split" the current object of your focus with -# $mod+b or $mod+v, for horizontal and vertical splits -# respectively. -bindsym $mod+b splith -bindsym $mod+v splitv - -# Switch the current container between different layout styles -bindsym $mod+s layout stacking #not sure I need, I'll leave it -bindsym $mod+w exec swayr switch-window -#bindsym $mod+e layout toggle split - -# Make the current focus fullscreen -bindsym $mod+f fullscreen - -# Toggle the current focus between tiling and floating mode -bindsym $mod+Shift+space floating toggle - -# Swap focus between the tiling area and the floating area -bindsym $mod+space focus mode_toggle - -# Move focus to the parent container -bindsym $mod+a focus parent -# -# Scratchpad: -# -# Sway has a "scratchpad", which is a bag of holding for windows. -# You can send windows there and get them back later. - -# Move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - swaybar_command waybar -# position bottom -# height 20 - -# # When the status_command prints a new line to stdout, swaybar updates. -# # The default just shows the current date and time. -# # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done - -# # colors { -# # statusline #ffffff -# # background #323232 -# # inactive_workspace #32323200 #32323200 #d0d0d0 -# # } -} - -include /etc/sway/config.d/* diff --git a/sway/otherwindow~ b/sway/otherwindow~ deleted file mode 100755 index 0a82e72..0000000 --- a/sway/otherwindow~ +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python3 - -import sys -import json -import subprocess - -direction=bool(sys.argv[1] == 't' or sys.argv[1] == 'T') -swaymsg = subprocess.run(['swaymsg', '-t', 'get_tree'], stdout=subprocess.PIPE) -data = json.loads(swaymsg.stdout) -current = data["nodes"][1]["current_workspace"] - -for output in data["nodes"]: - if "current_workspace" in output: - for workspace in output["nodes"]: - if workspace["name"] == output["current_workspace"]: - #maybe gives all the visible ones in multi monitor mode? - roi = workspace - break - -#workspace = int(data["nodes"][1]["current_workspace"])-1 -#roi = data["nodes"][1]["nodes"][workspace] -#print(roi) -temp = roi -windows = list() - -def getNextWindow(): - if focus < len(windows) - 1: - return focus+1 - else: - return 0 - -def getPrevWindow(): - if focus > 0: - return focus-1 - else: - return len(windows)-1 - -def makelist(temp): - for nodes in "floating_nodes", "nodes": - for i in range(len(temp[nodes])): - # print(temp[nodes][i]["name"]) - # print() - if temp[nodes][i]["name"] is None: - makelist(temp[nodes][i]) - elif temp[nodes][i]["visible"]: - windows.append(temp[nodes][i]) - -def focused(temp_win): - for i in range(len(temp_win)): - if temp_win[i]["focused"] == True: - return i - -makelist(temp) -#print(windows) -# print(len(windows)) -focus = focused(windows) -if str(sys.argv[1]) == 't' or str(sys.argv[1]) == 'T': - print(windows[getNextWindow()]["id"]) -else: - print(windows[getPrevWindow()]["id"]) diff --git a/sway/switch.py b/sway/switch.py new file mode 100755 index 0000000..479cf74 --- /dev/null +++ b/sway/switch.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import subprocess +import json +import re +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk + +def parse_icon_name(app_name): + app_name = app_name.lower() + if app_name in icon_names: + return icon_names[app_name] + if app_name.endswith('telegram_desktop'): + return 'telegram' + if app_name.startswith('gimp'): + return 'gimp' + return app_name + +def get_icon(app_name): + icon_info = icon_theme.lookup_icon(parse_icon_name(app_name), 48, 0) + if icon_info == None: + print("Failed to get icon for: " + app_name) + # return icon_info.get_filename() if icon_info != None else default_icon_file + return default_icon_file + +def get_cons(tree): + if len(tree.get('nodes')) == 0 and len(tree.get('floating_nodes')) == 0 and (tree.get('type') == 'con' or tree.get('type') == 'floating_con'): + return [tree] + nodes = [] + for node in tree.get('floating_nodes'): + cons = get_cons(node) + nodes += cons + for node in tree.get('nodes'): + cons = get_cons(node) + nodes += cons + return nodes + +def show_wofi(windows): + # command = 'wofi -W 600 -L ' + str(len(windows)) + ' -I -d -i -b -k /dev/null -p "Window" 2>/dev/null' + command = 'wofi -G -L ' + str(len(windows)) + ' -I -d -i -b -p "Window" 2>/dev/null' + process = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE) + (result, _) = process.communicate(input='\n'.join(windows).encode()) + return result + + +def get_tree(): + sway_tree = subprocess.check_output(['swaymsg', '-rt', 'get_tree']) + return json.loads(sway_tree) + +def get_windows(): + cons = get_cons(get_tree()) + windows = [] + for con in cons: + name = con['name'] + if len(name) > 70: + name = name[:67]+"..." + app_id = con.get('app_id') + if app_id == None: + window_prop = con.get('window_properties') + if window_prop != None: + app_id = window_prop.get('instance') + + if app_id != None: + app_icon = get_icon(app_id) + else: + app_icon = default_icon_file + + # windows.append("img:id=" + str(con.get('id')) +":img:" + app_icon + ":text:" + name) + windows.append("img:id=" + str(con.get('id')) +":img:" + app_icon + ":text:" + app_id + ": " + name) + return windows + +def parse_selection(selection): + id_search = re.search('id=([0-9]*):', selection, re.IGNORECASE) + if id_search: + return id_search.group(1) + return None + +def switch_window(id): + command="swaymsg [con_id={}] focus".format(id) + process = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE) + process.communicate() + +if __name__ == "__main__": + icon_theme = Gtk.IconTheme.get_default() + default_icon = icon_theme.lookup_icon("preferences-system-windows", 48, 0) + default_icon_file = "" + if default_icon: + default_icon_file = default_icon.get_filename() + + icon_names = { + "code": "visual-studio-code", + "qt5ct": "preferences-desktop-theme" + } + + windows = get_windows() + selection = show_wofi(windows) + con_id = parse_selection(str(selection)) + if con_id: + switch_window(con_id) diff --git a/sway/switch.sh~ b/sway/switch.sh~ deleted file mode 100755 index ccd1bf7..0000000 --- a/sway/switch.sh~ +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -a="$(swaymsg -t get_tree | jq '.. | objects | select(.type == "con") | select(.focused == true) | .marks | index("t") != null')" - -#echo $a -if [ $a = "true" ]; then - swaymsg '[con_mark="l"] focus' -else - swaymsg 'mark --add "l"; [con_mark="t"] focus' -fi diff --git a/sway/toEmacs.sh~ b/sway/toEmacs.sh~ deleted file mode 100755 index 30d1dc3..0000000 --- a/sway/toEmacs.sh~ +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -#get be to emacs and back - -f=$(swaymsg -t get_tree | jq '.. | objects | select(.focused) | .app_id') - -if [ $f = "emacs" ]; then - swaymsg '[con_mark="E"] focus' -else - swaymsg 'mark --add "E", [app_id="emacs"] focus' -fi diff --git a/waybar/config~ b/waybar/config~ deleted file mode 100644 index f6b084c..0000000 --- a/waybar/config~ +++ /dev/null @@ -1,163 +0,0 @@ -{ - "layer": "top", // Waybar at top layer - "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 20, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - "spacing": 4, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": ["sway/workspaces", "sway/mode"], - "modules-center": ["sway/window"], - "modules-right": ["tray", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "battery","clock"], - // Modules configuration - // "sway/workspaces": { - // "disable-scroll": true, - // "all-outputs": true, - // "format": "{name}: {icon}", - // "format-icons": { - // "1": "", - // "2": "", - // "3": "", - // "4": "", - // "5": "", - // "urgent": "", - // "focused": "", - // "default": "" - // } - // }, - //"keyboard-state": { - // "numlock": true, - // "capslock": true, - // "format": "{name} {icon}", - // "format-icons": { - // "locked": "", - // "unlocked": "" - // } - //}, - "sway/mode": { - "format": "{}" - }, -// "mpd": { -// "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elap//sedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", -// "format-disconnected": "Disconnected ", -// "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", -// "unknown-tag": "N/A", -// "interval": 2, -// "consume-icons": { -// "on": " " -// }, -// "random-icons": { -// "off": " ", -// "on": " " -// }, -// "repeat-icons": { -// "on": " " -// }, -// "single-icons": { -// "on": "1 " -// }, -// "state-icons": { -// "paused": "", -// "playing": "" -// }, -// "tooltip-format": "MPD (connected)", -// "tooltip-format-disconnected": "MPD (disconnected)" -// }, - // "idle_inhibitor": { - // "format": "{icon}", - // "format-icons": { - // "activated": "", - // "deactivated": "" - // } - // }, - "tray": { - // "icon-size": 21, - "spacing": 10 - }, - "clock": { - // "timezone": "America/New_York", - //"tooltip-format": "{:%Y %B}\n{calendar}", - "format": "{:%Y-%m-%d\t%H:%M}", - "tooltop": false - }, - "cpu": { - "format": "CPU {usage}%", - "tooltip": false - }, - "memory": { - "format": "MEM {percentage}%" - }, - "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", - "format": "TEMP {temperatureC}°C", - //"format-icons": ["", "", ""] - "tooltip": false - }, - "backlight": { - // "device": "acpi_video1", - "format": "BR {percent}%", - //"format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - //"format-time": "{H}:{M}", - "format": "BAT {capacity}%", - "tooltip": false - //these aren't in the man pages? - //"format-charging": "CHR {capacity}%", - //"format-plugged": "PLUG {capacity}%", - //"format-alt": "{time}", - // "format-good": "", // An empty format will hide the module - //"format-full": "FULL {capacity}%", - //"format-icons": ["", "", "", "", ""] - }, - //"battery#bat2": { - // "bat": "BAT2" - //}, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%)", - "format-ethernet": "{ipaddr}/{cidr}", - "tooltip-format": "{ifname} via {gwaddr}", - "format-linked": "{ifname} (No IP)", - "format-disconnected": "Disconnected", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - // "scroll-step": 1, // %, can be a float - "format": "VOL {volume}%", - //"format-bluetooth": "{volume}% {icon} {format_source}", - //"format-bluetooth-muted": " {icon} {format_source}", - //"format-muted": " {format_source}", - //"format-source": "{volume}% ", - //"format-source-muted": "", - //"format-icons": { - // "headphone": "", - // "hands-free": "", - // "headset": "", - // "phone": "", - // "portable": "", - // "car": "", - // "default": ["", "", ""] - //}, - "on-click": "pavucontrol" - }, -// "custom/media": { -// "format": "{icon} {}", -// "return-type": "json", -// "max-length": 40, -// "format-icons": { -// "spotify": "", -// "default": "🎜" -// }, -// "escape": true, -// "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder - // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name -// } -} \ No newline at end of file diff --git a/waybar/style.css~ b/waybar/style.css~ deleted file mode 100644 index 563ee0d..0000000 --- a/waybar/style.css~ +++ /dev/null @@ -1,254 +0,0 @@ -* { - /* `otf-font-awesome` is required to be installed for icons */ - font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; - font-size: 13px; -} - -window#waybar { - background-color: rgba(43, 48, 59, 0.5); - border-bottom: 3px solid rgba(100, 114, 125, 0.5); - color: #ffffff; - transition-property: background-color; - transition-duration: .5s; -} - -window#waybar.hidden { - opacity: 0.2; -} - -/* -window#waybar.empty { - background-color: transparent; -} -window#waybar.solo { - background-color: #FFFFFF; -} -*/ - -window#waybar.termite { - background-color: #3F3F3F; -} - -window#waybar.chromium { - background-color: #000000; - border: none; -} - -#workspaces button { - padding: 0 5px; - background-color: transparent; - color: #ffffff; - /* Use box-shadow instead of border so the text isn't offset */ - box-shadow: inset 0 -3px transparent; - /* Avoid rounded borders under each workspace name */ - border: none; - border-radius: 0; -} - -/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ -#workspaces button:hover { - background: rgba(0, 0, 0, 0.2); - box-shadow: inset 0 -3px #ffffff; -} - -#workspaces button.focused { - background-color: #64727D; - box-shadow: inset 0 -3px #ffffff; -} - -#workspaces button.urgent { - background-color: #eb4d4b; -} - -#mode { - background-color: #64727D; - border-bottom: 3px solid #ffffff; -} - -#clock, -#battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#pulseaudio, -#custom-media, -#tray, -#mode, -#idle_inhibitor, -#mpd { - padding: 0 10px; - color: #ffffff; -} - -#window, -#workspaces { - margin: 0 4px; -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left > widget:first-child > #workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right > widget:last-child > #workspaces { - margin-right: 0; -} - -#clock { - background-color: #64727D; -} - -#battery { - background-color: #ffffff; - color: #000000; -} - -#battery.charging, #battery.plugged { - color: #ffffff; - background-color: #26A65B; -} - -@keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } -} - -#battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -label:focus { - background-color: #000000; -} - -#cpu { - background-color: #2ecc71; - color: #000000; -} - -#memory { - background-color: #9b59b6; -} - -#disk { - background-color: #964B00; -} - -#backlight { - background-color: #90b1b1; -} - -#network { - background-color: #2980b9; -} - -#network.disconnected { - background-color: #f53c3c; -} - -#pulseaudio { - background-color: #f1c40f; - color: #000000; -} - -#pulseaudio.muted { - background-color: #90b1b1; - color: #2a5c45; -} - -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; -} - -#custom-media.custom-spotify { - background-color: #66cc99; -} - -#custom-media.custom-vlc { - background-color: #ffa000; -} - -#temperature { - background-color: #f0932b; -} - -#temperature.critical { - background-color: #eb4d4b; -} - -#tray { - background-color: #2980b9; -} - -#tray > .passive { - -gtk-icon-effect: dim; -} - -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -#idle_inhibitor { - background-color: #2d3436; -} - -#idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - -#mpd { - background-color: #66cc99; - color: #2a5c45; -} - -#mpd.disconnected { - background-color: #f53c3c; -} - -#mpd.stopped { - background-color: #90b1b1; -} - -#mpd.paused { - background-color: #51a37a; -} - -#language { - background: #00b093; - color: #740864; - padding: 0 5px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state { - background: #97e1ad; - color: #000000; - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state > label { - padding: 0 5px; -} - -#keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); -} -- cgit v1.2.3