mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-18 18:57:32 -08:00
update after long time and move to fedora
This commit is contained in:
parent
dad57ba054
commit
79af410ccf
26
.Xresources
Normal file
26
.Xresources
Normal file
@ -0,0 +1,26 @@
|
||||
! doom-old-hope
|
||||
*bg: #1c1d20
|
||||
*bg-alt: #151619
|
||||
*base0: #1B2229
|
||||
*base1: #1c1f24
|
||||
*base2: #202328
|
||||
*base3: #23272e
|
||||
*base4: #3f444a
|
||||
*base5: #5B6268
|
||||
*base6: #686b78
|
||||
*base7: #9ca0a4
|
||||
*base8: #DFDFDF
|
||||
*fg: #cbccd1
|
||||
*fg-alt: #5B6268
|
||||
*grey: #3f444a
|
||||
*red: #ea3d54
|
||||
*orange: #ee7b29
|
||||
*green: #78bd65
|
||||
*teal: #78bd65
|
||||
*yellow: #fedd38
|
||||
*blue: #4fb3d8
|
||||
*dark-blue: #5689f0
|
||||
*magenta: #b978ab
|
||||
*violet: #b978ab
|
||||
*cyan: #4fb3d8
|
||||
*dark-cyan: #4fb3d8
|
19
.Xresources_dracula
Executable file
19
.Xresources_dracula
Executable file
@ -0,0 +1,19 @@
|
||||
! Dracula Xresources palette
|
||||
*.foreground: #F8F8F2
|
||||
*.background: #282A36
|
||||
*.color0: #000000
|
||||
*.color8: #4D4D4D
|
||||
*.color1: #FF5555
|
||||
*.color9: #FF6E67
|
||||
*.color2: #50FA7B
|
||||
*.color10: #5AF78E
|
||||
*.color3: #F1FA8C
|
||||
*.color11: #F4F99D
|
||||
*.color4: #BD93F9
|
||||
*.color12: #CAA9FA
|
||||
*.color5: #FF79C6
|
||||
*.color13: #FF92D0
|
||||
*.color6: #8BE9FD
|
||||
*.color14: #9AEDFE
|
||||
*.color7: #BFBFBF
|
||||
*.color15: #E6E6E6
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
wal -i ~/media/pictures/wallpapers/random_wallpapers/sierra_red_mountains.jpg
|
||||
lxsession &
|
||||
xsetroot -cursor_name left_ptr
|
||||
imwheel -b 45
|
||||
#wal -i ~/media/pictures/wallpapers/random_wallpapers/sierra_red_mountains.jpg
|
||||
#lxsession &
|
||||
#xsetroot -cursor_name left_ptr
|
||||
#imwheel -b 45
|
||||
|
@ -1,6 +1,6 @@
|
||||
from os.path import expanduser
|
||||
from yaml import load
|
||||
from yaml import safe_load
|
||||
|
||||
# Get color config from pywal
|
||||
wal_loc = expanduser("~/.config/qtile/themes/dracula.yml")
|
||||
wal = load(open(wal_loc))
|
||||
wal = safe_load(open(wal_loc))
|
||||
|
@ -1,4 +1,4 @@
|
||||
+TITLE: Scratch Emacs Config
|
||||
#+TITLE: Scratch Emacs Config
|
||||
#+PROPERTY: header-args:emacs-lisp
|
||||
|
||||
* Table of Contents
|
||||
@ -357,6 +357,314 @@ Default MODIFIER is 'meta."
|
||||
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/an-old-hope-theme.el" "no")
|
||||
|
||||
;; an-old-hope-theme.el -- a syntax theme from a galaxy far away... -*- lexical-binding: t -*-
|
||||
;; Author: MoHKale
|
||||
;; URL: https://github.com/MoHKale/an-old-hope-theme
|
||||
;; Version: 0.1.0
|
||||
;; Keywords: color, theme
|
||||
;; Package-Requires: ((emacs "24"))
|
||||
|
||||
;; This file is not part of GNU Emacs
|
||||
|
||||
;; This file is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation; either version 3, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; For a full copy of the GNU General Public License
|
||||
;; see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;; Commentary:
|
||||
;; see https://github.com/MoHKale/an-old-hope-theme/tree/master/emacs
|
||||
|
||||
(deftheme an-old-hope
|
||||
"emacs theme inspired by a galaxy far far away...
|
||||
this theme is largely just a shot for shot copy of `jesseleite/an-old-hope-syntax-atom'
|
||||
ported to emacs because I refuse to live with an IDE that doesn't look like it XD.
|
||||
This theme isn't compatible with emacs in the terminal yet, when I find an easy way
|
||||
to approximate true-color colors to non-true-color colors, then I'll add support for
|
||||
it.
|
||||
")
|
||||
|
||||
(with-eval-after-load 'ivy
|
||||
(defface ivy-actual-highlight-face '((t (:inherit highlight)))
|
||||
"face actually used by ivy to highlight some candidates.
|
||||
see an-old-hope-theme.el for why this is necessary."))
|
||||
|
||||
(custom-theme-set-faces 'an-old-hope
|
||||
;; defaults
|
||||
'(default ((t (:background "#1c1d20" :foreground "#cbccd1"))))
|
||||
'(italic ((t (:italic t :inherit default))))
|
||||
'(underline ((t (:inherit default))))
|
||||
'(shadow ((t (:foreground "#848794"))))
|
||||
'(hl-line ((t (:background "#313339"))))
|
||||
|
||||
'(font-lock-builtin-face ((t (:foreground "#4fb3d8"))))
|
||||
'(font-lock-comment-face ((t (:foreground "#686b78"))))
|
||||
'(font-lock-keyword-face ((t (:foreground "#78bd65"))))
|
||||
'(font-lock-constant-face ((t (:foreground "#ea3d54" :inherit bold))))
|
||||
'(font-lock-function-name-face ((t (:foreground "#fedd38"))))
|
||||
'(font-lock-negation-char-face ((t (:foreground "#ea3d54"))))
|
||||
'(font-lock-preprocessor-face ((t (:foreground "#86b270"))))
|
||||
'(font-lock-string-face ((t (:foreground "#4fb3d8"))))
|
||||
'(font-lock-doc-face ((t (:foreground "#4fb3d8")))) ; TODO optional bg
|
||||
'(font-lock-type-face ((t (:foreground "#ea3d54"))))
|
||||
'(font-lock-variable-name-face ((t (:foreground "#fedd38"))))
|
||||
'(font-lock-warning-face ((t (:background "#fedd38" :distant-foreground "#fedd38" :foreground "#1c1d20" :underline nil :inherit bold))))
|
||||
|
||||
'(error ((t (:background "#ea3d54" :distant-foreground "#ea3d54" :foreground "#1c1d20" :inherit bold))))
|
||||
'(success ((t (:background "#78bd65" :distant-foreground "#78bd65" :foreground "#1c1d20" :inherit bold))))
|
||||
'(warning ((t (:background "#e5cc51" :distant-foreground "#e5cc51" :foreground "#1c1d20" :inherit bold))))
|
||||
|
||||
'(cursor ((t (:background "#ea3d54"))))
|
||||
'(custom-button ((t (:background "#1c1d20" :foreground "#cbccd1" :box (:line-width 2 :style released-button)))))
|
||||
|
||||
'(fringe ((t (:background "#212125"))))
|
||||
'(header-line ((t (:background "#1c1d20" :foreground "#4fb3d8"))))
|
||||
'(line-number ((t (:background "#212125" :foreground "#cbccd1"))))
|
||||
'(line-number-current-line ((t (:foreground "#4fb3d8" :inherit line-number))))
|
||||
'(vertical-border ((t (:foreground "#cbccd1"))))
|
||||
'(internal-border ((t (:foreground "#ffffff" :background "#ffffff"))))
|
||||
'(minibuffer-prompt ((t (:foreground "#e5cc51" :weight bold))))
|
||||
|
||||
'(highlight ((t (:foreground "#1c1d20" :background "#4fb3d8" :distant-foreground "#4fb3d8" :inherit bold))))
|
||||
|
||||
'(region ((t (:background "#44464f" :weight bold))))
|
||||
'(secondary-selection ((t (:inherit region))))
|
||||
|
||||
;; face for current search match. exiting now takes you to it.
|
||||
'(isearch ((t (:background "#b978ab" :inherit bold))))
|
||||
'(isearch-fail ((t (:inherit compilation-mode-line-fail))))
|
||||
'(match ((t (:foreground "#86b270"))))
|
||||
;; face for matches other than the current match
|
||||
'(lazy-highlight ((t (:background "#5689f0" :foreground "#2d2d38"))))
|
||||
|
||||
;; delimeter colors just taken from https://github.com/gastrodia/rainbow-brackets
|
||||
;; colors 5-8 just recycle 1-4, maybe come up with more.
|
||||
'(rainbow-delimiters-depth-1-face ((t (:foreground "#E6B422"))))
|
||||
'(rainbow-delimiters-depth-2-face ((t (:foreground "#C70067"))))
|
||||
'(rainbow-delimiters-depth-3-face ((t (:foreground "#00A960"))))
|
||||
'(rainbow-delimiters-depth-4-face ((t (:foreground "#FC7482"))))
|
||||
'(rainbow-delimiters-depth-5-face ((t (:foreground "#E6B422"))))
|
||||
'(rainbow-delimiters-depth-6-face ((t (:foreground "#C70067"))))
|
||||
'(rainbow-delimiters-depth-7-face ((t (:foreground "#00A960"))))
|
||||
'(rainbow-delimiters-depth-8-face ((t (:foreground "#FC7482"))))
|
||||
|
||||
;; hyperlinks and path links
|
||||
'(link ((t (:foreground "#4fb3d8"))))
|
||||
'(link-visited ((t (:foreground "#67e4c4"))))
|
||||
|
||||
;;; modeline/spaceline
|
||||
'(mode-line ((t (:background "#cbccd1" :foreground "#1c1d20" :box (:line-width 1 :color "#cbccd1" :style none)))))
|
||||
|
||||
'(spaceline-evil-normal ((t (:inherit mode-line :foreground "#1c1d20" :background "DarkGoldenrod2"))))
|
||||
'(spaceline-evil-insert ((t (:inherit mode-line :foreground "#1c1d20" :background "#5ac85a"))))
|
||||
'(spaceline-evil-emacs ((t (:inherit mode-line :foreground "#1c1d20" :background "#4fb3d8"))))
|
||||
'(spaceline-evil-replace ((t (:inherit mode-line :foreground "#1c1d20" :background "#19e5b2"))))
|
||||
'(spaceline-evil-visual ((t (:inherit mode-line :foreground "#cbccd1" :background "#44464f"))))
|
||||
'(spaceline-evil-motion ((t (:inherit mode-line :foreground "#1c1d20" :background "#c170b0"))))
|
||||
'(spaceline-minibuffer ((t (:inherit mode-line :foreground "#1c1d20" :background "#4fb3d8"))))
|
||||
|
||||
'(spaceline-flycheck-error ((t (:inherit bold :foreground "#d45364"))))
|
||||
'(spaceline-flycheck-warning ((t (:inherit bold :foreground "#d68e5b"))))
|
||||
'(spaceline-flycheck-info ((t (:inherit bold :foreground "#86b270"))))
|
||||
|
||||
;; major mode indicator
|
||||
'(powerline-active1 ((t (:background "#212125" :foreground "#cbccd1" :inherit mode-line))))
|
||||
;; file-format + cursor-pos
|
||||
'(powerline-active2 ((t (:background "#212125" :foreground "#cbccd1" :inherit mode-line))))
|
||||
|
||||
;;; evil
|
||||
'(vimish-fold-overlay ((t (:background "#44464f" :foreground "#78bd65"))))
|
||||
|
||||
;;; flycheck
|
||||
'(flycheck-info ((t (:underline (:style wave :color "#78bd65")))))
|
||||
'(flycheck-warning ((t (:underline (:style wave :color "#e5cc51")))))
|
||||
'(flycheck-duplicate ((t (:underline (:style wave :color "#ee7b29")))))
|
||||
'(flycheck-incorrect ((t (:underline (:style wave :color "#ea3d54")))))
|
||||
|
||||
'(flycheck-fringe-info ((t (:foreground "#5ac85a" :inherit fringe))))
|
||||
'(flycheck-fringe-warning ((t (:foreground "#fedd38" :inherit fringe))))
|
||||
'(flycheck-fringe-error ((t (:foreground "#f43333" :inherit fringe))))
|
||||
|
||||
;;; flyspell
|
||||
'(flyspell-duplicate ((t (:foreground "#d68e5b" :underline t))))
|
||||
'(flyspell-incorrect ((t (:foreground "#d45364" :underline t))))
|
||||
|
||||
;;; avy
|
||||
'(avy-background-face ((t (:foreground "#686b78"))))
|
||||
'(avy-lead-face ((t (:background "#f43333" :foreground "#ffffff"))))
|
||||
'(avy-lead-face-0 ((t (:background "#5689f0" :foreground "#ffffff"))))
|
||||
'(avy-lead-face-1 ((t (:background "#cbccd1" :foreground "#1c1d20"))))
|
||||
'(avy-lead-face-2 ((t (:background "#c170b0" :foreground "#ffffff"))))
|
||||
|
||||
'(frog-menu-border ((t (:background "#ffffff" :foreground "#ffffff"))))
|
||||
'(frog-menu-posframe-background-face ((t (:background "#1c1d20"))))
|
||||
|
||||
;;; company - intellisense
|
||||
'(company-tooltip-mouse ((t (:foreground "#19e5b2"))))
|
||||
'(company-template-field ((t (:foreground "#19e5b2"))))
|
||||
|
||||
;; scrollbar
|
||||
'(company-scrollbar-bg ((t (:background "#cbccd1" :foreground "#cbccd1"))))
|
||||
'(company-scrollbar-fg ((t (:background "#44464f" :foreground "#44464f"))))
|
||||
|
||||
'(company-preview ((t (:foreground "#5689f0" :weight bold :inherit hl-line))))
|
||||
'(company-preview-common ((t (:inherit company-preview))))
|
||||
'(company-preview-search ((t (:foreground "#f29858" :weight normal :inherit company-preview))))
|
||||
|
||||
;; NOTE tooltip is the drop down menu which shows up when multiple results exist
|
||||
'(company-tooltip ((t (:inherit bold :background "#cbccd1" :foreground "#1c1d20"))))
|
||||
'(company-tooltip-selection ((t (:foreground "#cbccd1" :background "#5689f0"))))
|
||||
'(company-tooltip-common ((t (:foreground "#5689f0" :inherit company-tooltip))))
|
||||
'(company-tooltip-common-selection ((t (:foreground "#1c1d20" :background "#5689f0" :inherit company-tooltip-common))))
|
||||
'(company-tooltip-search ((t (:foreground "#ee7b29" :inherit company-tooltip))))
|
||||
'(company-tooltip-search-common ((t (:inherit company-tooltip-search))))
|
||||
'(company-tooltip-search-selection ((t (:background "#5689f0" :inherit company-tooltip-search))))
|
||||
|
||||
;; NOTE annotations are extra information in the tooltip
|
||||
'(company-tooltip-annotation ((t (:weight bold :foreground "#686b78"))))
|
||||
'(company-tooltip-annotation-selection ((t (:foreground "#19e5b2" :background "#5689f0" :inherit company-tooltip-annotation))))
|
||||
|
||||
;;;; custom mode variants
|
||||
;;; whitespace-mode
|
||||
;; `(whitespace-trailing ((,cls (:foreground "yellow" :background ,red))))
|
||||
'(whitespace-space ((t (:foreground "#44464f"))))
|
||||
'(trailing-whitespace ((t (:background "#44464f"))))
|
||||
|
||||
;;; auto-highlight-symbol mode
|
||||
;; Note: distant foreground is meaningless here because the faces are always given priority
|
||||
'(ahs-definition-face ((t (:background "#64a3c3" :distant-foreground "#64a3c3" :foreground "#44464f"))))
|
||||
'(ahs-edit-mode-face ((t (:background "#d45364" :distant-foreground "#d45364" :foreground "#cbccd1"))))
|
||||
'(ahs-face ((t (:background "#cbccd1" :foreground "#212125" :inherit bold))))
|
||||
'(ahs-plugin-whole-buffer-face ((t (:background "#4fb3d8" :distant-foreground "#78bd65" :foreground "#212125"))))
|
||||
'(ahs-plugin-bod-face ((t (:background "#5689f0" :distant-foreground "#5689f0" :foreground "#212125"))))
|
||||
'(ahs-plugin-defalt-face ((t (:background "#d68e5b" :distant-foreground "#d68e5b" :foreground "#212125"))))
|
||||
'(ahs-warning-face ((t (:foreground "#d45364"))))
|
||||
|
||||
;;; compilation mode
|
||||
'(compilation-line-number ((t (:foreground "#e5cc51"))))
|
||||
'(compilation-column-number ((t (:inherit font-lock-doc-face))))
|
||||
|
||||
;; NOTE also represents value count in mode line
|
||||
'(compilation-error ((t (:foreground "#f43333" :inherit bold))))
|
||||
'(compilation-info ((t (:foreground "#5ac85a" :inherit bold))))
|
||||
'(compilation-warning ((t (:foreground "#f29858" :inherit bold))))
|
||||
|
||||
;; NOTE these only represent the exit status indicator
|
||||
;; `(compilation-mode-line-exit ((,cls (:foreground very-dark-grey))))
|
||||
;; `(compilation-mode-line-fail ((,cls (:foreground ,very-dark-grey))))
|
||||
;; `(compilation-mode-line-run ((,cls (:foreground ,very-dark-grey))))
|
||||
|
||||
;;; markdown-mode
|
||||
'(markdown-code-face ((t (:inherit default))))
|
||||
|
||||
;;; anzu
|
||||
'(anzu-mode-line ((t (:foreground "#1c1d20" :inherit bold))))
|
||||
'(anzu-mode-line-no-match ((t (:foreground "#f43333" :inherit bold))))
|
||||
|
||||
;;; hydra-posframe
|
||||
;; for some reason... if hydra-posframe-face inherits default, internal border won't work
|
||||
'(hydra-posframe-face ((t (:background "#1c1d20" :foreground "#cbccd1"))))
|
||||
'(hydra-posframe-border-face ((t (:inherit internal-border))))
|
||||
|
||||
;;; ivy
|
||||
;; by default, it seems if ivy-highlight-face has its own spec, it'll interfere
|
||||
;; with the face of ivy-current-match. Which'll make it harder to tell which
|
||||
;; candidate is the current candidate.
|
||||
;;
|
||||
;; If ivy-highlight-face just inherits another face, then when both it and
|
||||
;; ivy-current-match are applied to a string, ivy-current-match will override
|
||||
;; ivy-highlight-face. Thus, this.
|
||||
'(ivy-actual-highlight-face ((t (:foreground "#1c1d20" :background "#67e4c4" :distant-foreground "#67e4c4" :inherit bold))))
|
||||
'(ivy-highlight-face ((t (:inherit ivy-actual-highlight-face))))
|
||||
|
||||
;;; org-mode
|
||||
'(org-link ((t (:foreground "#4fb3d8" :inherit bold))))
|
||||
'(org-footnote ((t (:foreground "#4fb3d8"))))
|
||||
|
||||
;; Overridden by hl-todo-keyword-faces
|
||||
'(org-todo ((t (:foreground "#c170b0" :inherit bold))))
|
||||
'(org-done ((t (:foreground "#5ac85a" :inherit bold))))
|
||||
|
||||
'(org-upcoming-deadline ((t (:foreground "#d45364"))))
|
||||
'(org-warning ((t (:foreground "#ee7b29" :inherit bold))))
|
||||
'(org-scheduled-today ((t (:foreground "#5ac85a"))))
|
||||
'(org-block-begin-line ((t (:background "royalblue4" :distant-foreground "royalblue4" :foreground "steelblue1" :extend t))))
|
||||
'(org-meta-line ((t (:inherit (font-lock-comment-face)))))
|
||||
|
||||
'(org-block ((t (:background "#17181b" :extend t))))
|
||||
'(org-document-title ((t (:foreground "#ffffff" :height 1.3 :inherit bold))))
|
||||
|
||||
;;; rust[ic]-mode
|
||||
'(rustic-compilation-warning ((t (:inherit compilation-warning))))
|
||||
'(rustic-compilation-info ((t (:inherit compilation-info))))
|
||||
'(rustic-compilation-error ((t (:inherit compilation-error))))
|
||||
'(rustic-compilation-column ((t (:inherit compilation-column-number))))
|
||||
'(rustic-compilation-line ((t (:inherit compilation-line-number))))
|
||||
|
||||
;;; dashboard
|
||||
'(dashboard-text-banner ((t (:foreground "#f29858"))))
|
||||
|
||||
;;; eshell-prompt-extras
|
||||
'(epe-remote-face ((t (:foreground "#67e4c4"))))
|
||||
'(epe-venv-face ((t (:foreground "#b978ab"))))
|
||||
|
||||
;;; magit
|
||||
'(magit-mode-line-process-error ((t (:foreground "#ea3d54" :background "#cbccd1" :inherit bold))))
|
||||
|
||||
;;; typescript
|
||||
'(typescript-primitive-face ((t (:inherit font-lock-type-face))))
|
||||
|
||||
;;; latex
|
||||
'(font-latex-sedate-face ((t (:inherit font-lock-keyword-face))))
|
||||
'(font-latex-sectioning-0-face ((t (:inherit font-lock-function-name-face))))
|
||||
'(font-latex-sectioning-1-face ((t (:inherit font-lock-function-name-face))))
|
||||
'(font-latex-sectioning-2-face ((t (:inherit font-lock-function-name-face))))
|
||||
'(font-latex-sectioning-3-face ((t (:inherit font-lock-function-name-face))))
|
||||
'(font-latex-sectioning-4-face ((t (:inherit font-lock-function-name-face))))
|
||||
'(font-latex-sectioning-5-face ((t (:inherit font-lock-function-name-face))))
|
||||
|
||||
;;; man/woman
|
||||
'(Man-underline ((t (:foreground "#5ac85a" :inherit bold))))
|
||||
'(woman-addition ((t (:foreground "#b978ab"))))
|
||||
'(woman-bold ((t (:foreground "#ea3d54" :inherit bold))))
|
||||
'(woman-unknown ((t (:inherit error))))
|
||||
'(woman-italic ((t (:foreground "#78bd65"))))
|
||||
)
|
||||
|
||||
(custom-theme-set-variables 'an-old-hope
|
||||
'(hl-todo-keyword-faces
|
||||
'(("TODO" . "#ea3d54")
|
||||
("NEXT" . "#ea3d54")
|
||||
("RANT" . "#ea3d54")
|
||||
("SEE" . "#ea3d54")
|
||||
("THEM" . "#b978ab")
|
||||
("PROG" . "#5689f0")
|
||||
("OKAY" . "#5689f0")
|
||||
("DONT" . "#5ac85a")
|
||||
("FAIL" . "#ea3d54")
|
||||
("DONE" . "#5ac85a")
|
||||
("NOTE" . "#fedd38")
|
||||
("KLUDGE" . "#fedd38")
|
||||
("HACK" . "#fedd38")
|
||||
("TEMP" . "#fedd38")
|
||||
("FIXME" . "#ee7b29")
|
||||
("WARN" . "#ee7b29")
|
||||
("XXX+" . "#ee7b29")
|
||||
("\\?\\?\\?+" . "#ee7b29"))))
|
||||
|
||||
(provide-theme 'an-old-hope)
|
||||
|
||||
#+end_src
|
||||
|
||||
* System Configuration
|
||||
** Lexical Binding
|
||||
|
||||
@ -677,7 +985,7 @@ Stolen from https://github.com/MatthewZMD
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(use-package doom-themes :defer t)
|
||||
(load-theme 'doom-gruvbox t)
|
||||
(load-theme 'doom-old-hope t)
|
||||
|
||||
#+end_src
|
||||
|
||||
@ -1069,22 +1377,33 @@ The [[https://github.com/myrjola/diminish.el][diminish]] package hides pesky min
|
||||
*** Capture
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
;; open org-capture
|
||||
(global-set-key (kbd "C-c c") 'org-capture)
|
||||
;; open org-capture
|
||||
(global-set-key (kbd "C-c c") 'org-capture)
|
||||
|
||||
;;; Set Org-Capture Options
|
||||
;; Capture templates for: TODO tasks, Notes, appointments, and meetings
|
||||
(setq org-capture-templates
|
||||
(quote (("t" "todo" entry (file "~/documents/org/capture/refile.org")
|
||||
"* TODO %?\n%U\n%a\n")
|
||||
("r" "respond" entry (file "~/documents/org/capture/refile.org")
|
||||
"* TODO Respond to %:from on %:subject\nSCHEDULED: %t\n%U\n%a\n")
|
||||
("n" "note" entry (file "~/documents/org/capture/refile.org")
|
||||
"* %? :NOTE:\n%U\n%a\n")
|
||||
("m" "Meeting" entry (file "~/documents/org/capture/refile.org")
|
||||
"* MEETING with %? :MEETING:\n%U")
|
||||
("h" "Habit" entry (file "~/documents/org/capture/refile.org")
|
||||
"* NEXT %?\n%U\n%a\nSCHEDULED: %(format-time-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n"))))
|
||||
(defvar ts-capture-prmt-history nil
|
||||
"History of prompt answers for org capture.")
|
||||
|
||||
(defun ts/prmt (prompt variable)
|
||||
"PROMPT for string, save it to VARIABLE and insert it."
|
||||
(make-local-variable variable)
|
||||
(set variable (read-string (concat prompt ": ") nil ts-capture-prmt-history)))
|
||||
|
||||
|
||||
;;; Set Org-Capture Options
|
||||
;; Capture templates for: TODO tasks, Notes, appointments, and meetings
|
||||
(setq org-capture-templates
|
||||
(quote (("t" "todo" entry (file "~/documents/org/capture/refile.org")
|
||||
"* TODO %?\n%U\n%a\n")
|
||||
("r" "respond" entry (file "~/documents/org/capture/refile.org")
|
||||
"* TODO Respond to %:from on %:subject\nSCHEDULED: %t\n%U\n%a\n")
|
||||
("w" "workout" entry (file+datetree "~/documents/org/tracking/workout.org")
|
||||
"* Test: %(ts/prmt \"Hey\" 'lel) - %(ts/prmt \"Hey1\" 'lel)")
|
||||
("n" "note" entry (file "~/documents/org/capture/refile.org")
|
||||
"* %? :NOTE:\n%U\n%a\n")
|
||||
("m" "Meeting" entry (file "~/documents/org/capture/refile.org")
|
||||
"* MEETING with %? :MEETING:\n%U")
|
||||
("h" "Habit" entry (file "~/documents/org/capture/refile.org")
|
||||
"* NEXT %?\n%U\n%a\nSCHEDULED: %(format-time-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n"))))
|
||||
|
||||
#+end_src
|
||||
*** Refile
|
||||
@ -2724,13 +3043,14 @@ Essentially a much simplified version of `next-line'."
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(defun beancount-fixme-replace ()
|
||||
"Search for next FIXME in ledger and insert account."
|
||||
(interactive)
|
||||
(if (search-forward "FIXME")
|
||||
(progn
|
||||
(replace-match "" nil nil)
|
||||
(call-interactively 'beancount-insert-account))))
|
||||
(defun beancount-fixme-replace ()
|
||||
"Search for next FIXME in ledger and insert account."
|
||||
(interactive)
|
||||
(while t
|
||||
(if (search-forward "FIXME")
|
||||
(progn
|
||||
(replace-match "" nil nil)
|
||||
(call-interactively 'beancount-insert-account)))))
|
||||
|
||||
#+end_src
|
||||
|
||||
@ -2826,6 +3146,15 @@ Sets the background of HTML color strings in buffers to be the color mentioned.
|
||||
#+end_src
|
||||
|
||||
* Project Specific
|
||||
** Recipes
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(use-package org-chef
|
||||
:ensure t)
|
||||
|
||||
#+end_src
|
||||
|
||||
* Applications
|
||||
* Keybinds
|
||||
** General
|
||||
@ -3261,7 +3590,7 @@ Implement information relating to the underlying linux system and EXWM. This is
|
||||
|
||||
*** EXWM Modeline
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
#+begin_src emacs-lisp :tangle "no"
|
||||
|
||||
(use-package exwm-modeline
|
||||
:straight (:host github :repo "SqrtMinusOne/exwm-modeline")
|
||||
@ -3273,7 +3602,7 @@ Implement information relating to the underlying linux system and EXWM. This is
|
||||
|
||||
*** EXWM Echo Area Bar
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
#+begin_src emacs-lisp :tangle "no"
|
||||
|
||||
(defun ts/gamemode-status (char)
|
||||
(interactive)
|
||||
|
File diff suppressed because one or more lines are too long
@ -2,9 +2,9 @@
|
||||
|
||||
status=$(gamemoded -s)
|
||||
if [ "$status" == "gamemode is inactive" ]; then
|
||||
color="#b8bb26"
|
||||
color="#B8BB26"
|
||||
else
|
||||
color="#fb4934"
|
||||
color="#FB4934"
|
||||
fi
|
||||
|
||||
echo "<fc=$color> </fc>"
|
||||
echo "<fc=$color> </fc>"
|
||||
|
@ -3,17 +3,17 @@
|
||||
status=$(cat /sys/class/power_supply/hidpp_battery_*/uevent | grep POWER_SUPPLY_VOLTAGE)
|
||||
voltage=$(echo $status | cut -c26-29)
|
||||
if [ "$voltage" -ge 3700 ]; then
|
||||
color="#b8bb26"
|
||||
color="#B8BB26"
|
||||
else
|
||||
color="#fb4934"
|
||||
color="#FB4934"
|
||||
fi
|
||||
|
||||
status1=$(cat /sys/class/power_supply/hidpp_battery_*/uevent | grep POWER_SUPPLY_STATUS | tail -n1)
|
||||
charge=$(echo $status1 | cut -c21-)
|
||||
if [ "$charge" = "Discharging" ]; then
|
||||
color1="#fb4934"
|
||||
color1="#FE8019"
|
||||
else
|
||||
color1="#b8bb26"
|
||||
color1="#B8BB26"
|
||||
fi
|
||||
|
||||
echo "<fc=$color1> </fc><fc=$color>${voltage}mV</fc>"
|
||||
|
@ -3,9 +3,9 @@
|
||||
volume=$(pactl list sinks | grep -A 7 'Name: alsa_output.usb-AudioQuest_inc._AudioQuest_DragonFly-00.analog-stereo' | tail -n 1 | sed 's/%.*//' | tail -c3)
|
||||
mute=$(pactl list sinks | grep -A 6 'Name: alsa_output.usb-AudioQuest_inc._AudioQuest_DragonFly-00.analog-stereo' | tail -n 1 -c4 | sed 's/ //g')
|
||||
if [ "$mute" == "yes" ]; then
|
||||
color="#fb4934"
|
||||
color="#FB4934"
|
||||
else
|
||||
color="#b8bb26"
|
||||
color="#B8BB26"
|
||||
fi
|
||||
|
||||
echo "<fc=$color> $volume%</fc>"
|
||||
|
@ -1,10 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
if ip address | grep -q "wg0"
|
||||
then
|
||||
color="#fb4934"
|
||||
else
|
||||
color="#b8bb26"
|
||||
fi
|
||||
|
||||
echo "<fc=$color> </fc>"
|
@ -1,13 +1,12 @@
|
||||
Config { font = "xft:Mononoki Nerd Font:pixelsize=12:antialias=true:hinting=true"
|
||||
, bgColor = "#282828"
|
||||
, fgColor = "#ebdbb2"
|
||||
, position = Static {xpos = 0, ypos = 0, width = 2560, height = 20}
|
||||
, fgColor = "#EBDBB2"
|
||||
, position = Static {xpos = 2560, ypos = 0, width = 2560, height = 20}
|
||||
, iconRoot = "X"
|
||||
, allDesktops = True
|
||||
, commands = [ Run Cpu ["-t", " <fc=#fb4934><total></fc>%","-H", "2"] 10
|
||||
, Run Memory ["-t", "<fc=#fb4934><usedratio></fc>%"] 10
|
||||
, Run Network "enp3s0" [ "-t", "<fc=#fb4934><tx></fc>kb/<fc=#fb4934><rx></fc>kb" ] 10
|
||||
, Run Com "/home/tstarr/.config/xmobar/wireguard" [] "wireguard" 10
|
||||
, commands = [ Run Cpu ["-t", " <fc=#FB4934><total></fc>%","-H", "2"] 10
|
||||
, Run Memory ["-t", "<fc=#FB4934><usedratio></fc>%"] 10
|
||||
, Run Network "enp3s0" [ "-t", "<fc=#FB4934><tx></fc>kb/<fc=#FB4934><rx></fc>kb" ] 10
|
||||
, Run Com "/home/tstarr/.config/xmobar/volume" [] "volume" 10
|
||||
, Run Com "/home/tstarr/.config/xmobar/gamemode" [] "gamemode" 10
|
||||
, Run Com "/home/tstarr/.config/xmobar/mouse" [] "mouse" 10
|
||||
@ -16,5 +15,5 @@ Config { font = "xft:Mononoki Nerd Font:pixelsize=12:antialias=true:hinting=true
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = " <fc=#fb4934>%StdinReader%</fc>}%date%{%enp3s0% | %mouse% | %volume% | 閭%cpu% | %memory% |%gamemode% %wireguard%"
|
||||
}
|
||||
, template = " <fc=#FB4934>%StdinReader%</fc>}%date%{%enp3s0% | %mouse% | %volume% | 閭%cpu% | %memory% |%gamemode%"
|
||||
|
||||
|
2
.xinitrc
2
.xinitrc
@ -1,4 +1,6 @@
|
||||
xrdb -load ~/.Xresources
|
||||
exec dbus-launch xmonad
|
||||
#exec qtile start
|
||||
#exec dbus-launch --exit-with-session emacs -mm --eval "(exwm-enable)"
|
||||
#exec herbstluftwm --locked
|
||||
#exec stumpwm
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,16 +0,0 @@
|
||||
|
||||
module XMonad.Util.CurrentIndex (currentIndex) where
|
||||
|
||||
import XMonad.StackSet
|
||||
import qualified XMonad.StackSet as W
|
||||
import Data.List (elemIndex)
|
||||
import XMonad
|
||||
import XMonad.Util.Stack
|
||||
|
||||
--currentIndex :: StackSet i l Window s sd -> Int
|
||||
--currentIndex w =
|
||||
|
||||
--allWindowsInCurrentWorkspace :: W.StackSet i l a sid sd -> [a]
|
||||
--allWindowsInCurrentWorkspace ws =
|
||||
-- W.integrate' . W.stack . W.workspace . W.current $ ws
|
||||
|
@ -1 +0,0 @@
|
||||
fromList [("Bring window: ",["Nitrogen [1]","Nitrogen [1]","Nitrogen","Nitrogen","Alacritty","Issues with North's Approach; Why was aizy Never Kicked? - Reflections with MSL (2nd App) 1/2 - CSGO - YouTube - Brave","Alacritty [1]","Alacritty [1]","keepassxc [NSP]","Alacritty [1]","brave","XMonad.Actions.RotateSome - Brave [2]","tylers-bayoooup - Discord [NSP]","tylers-bayoooup - Discord [NSP]","Alacritty [1]","Alacritty [1]","Issues with North's Approach; Why was aizy Never Kicked? - Reflections with MSL (2nd App) 1/2 - CSGO - YouTube - Brave [1]","Issues with North's Approach; Why was aizy Never Kicked? - Reflections with MSL (2nd App) 1/2 - CSGO - YouTube - Brave [2]","Alacritty [3]","Alacritty [2]","Alacritty [2]","Alacritty [4]","Alacritty [4]","Steam [3]","NYC logic: rent hits all time high as businesses & people leave - YouTube - Brave [2]","Alacritty [2]","Alacritty [2]","NYC logic: rent hits all time high as businesses & people leave - YouTube - Brave [2]","Alacritty [2]","emacs@kestrel [1]","emacs@kestrel [1]","Is Tiling in Pop!OS Any Good? - YouTube - Brave [2]","Is Tiling in Pop!OS Any Good? - YouTube - Brave [2]","Is","Is Tiling in Pop!OS Any Good? - YouTube - Brave [2]","Is","Is Tiling in Pop!OS Any Good? - YouTube - Brave [2]","ts","ty","Steam"]),("Go to window: ",["Wine System Tray [4]","How to Switch To Linux (Best Practices) - YouTube - Brave [1]","Nitrogen [2]","Nitrogen [2]","Nitrogen [2]","Alacritty [1]","XMonad.Actions.GroupNavigation - Brave [1]","XMonad.Actions.WindowGo - Brave [2]","tylers-bayoooup - Discord [NSP]","Elon Musk: SpaceX, Mars, Tesla Autopilot, Self-Driving, Robotics, and AI | Lex Fridman Podcast #252 - YouTube - Brave","Nitrogen","Nitrogen","Issues with North's Approach; Why was aizy Never Kicked? - Reflections with MSL (2nd App) 1/2 - CSGO - YouTube - Brave","Alacritty","Alacritty","XMonad.Prompt.Window - Brave"])]
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
$ ghc --make xmonad.hs -i -ilib -fforce-recomp -main-is main -dynamic -v0 -outputdir /home/tstarr/.xmonad/build-x86_64-linux -o /home/tstarr/.xmonad/xmonad-x86_64-linux
|
@ -7,8 +7,9 @@ import System.Directory (getHomeDirectory)
|
||||
import Data.Semigroup
|
||||
import Text.Read
|
||||
import Data.List (elemIndex)
|
||||
import Text.Printf
|
||||
|
||||
-- Hooks
|
||||
-- Hook
|
||||
import XMonad.Hooks.EwmhDesktops
|
||||
import XMonad.Hooks.ManageDocks
|
||||
import XMonad.Hooks.ManageHelpers
|
||||
@ -26,6 +27,10 @@ import XMonad.Layout.HintedTile
|
||||
import XMonad.Layout.Grid
|
||||
import XMonad.Layout.TwoPane
|
||||
import XMonad.Layout.TwoPanePersistent
|
||||
import XMonad.Layout.Combo
|
||||
import XMonad.Layout.Master
|
||||
import XMonad.Layout.StateFull (focusTracking)
|
||||
import XMonad.Layout.Renamed
|
||||
|
||||
--Utilities
|
||||
import XMonad.Util.Run (spawnPipe)
|
||||
@ -34,6 +39,7 @@ import XMonad.Util.EZConfig (additionalKeysP, removeKeys)
|
||||
import XMonad.Util.NamedScratchpad
|
||||
import XMonad.Util.ClickableWorkspaces (clickablePP)
|
||||
import XMonad.Util.Loggers
|
||||
import XMonad.Util.XProp
|
||||
|
||||
-- Actions
|
||||
import XMonad.Actions.DynamicProjects (Project (..), dynamicProjects, switchProjectPrompt, shiftToProjectPrompt, switchProject, shiftToProject)
|
||||
@ -42,71 +48,107 @@ import XMonad.Actions.RotSlaves
|
||||
import XMonad.Actions.RotateSome
|
||||
import XMonad.Actions.GroupNavigation
|
||||
import XMonad.Actions.Navigation2D
|
||||
|
||||
|
||||
-- Prompt
|
||||
import XMonad.Prompt
|
||||
import XMonad.Prompt.Window
|
||||
--import XMonad.Util.CurrentIndex
|
||||
import XMonad.Prompt.AppLauncher
|
||||
|
||||
-- Font to use
|
||||
myFont :: String
|
||||
myFont = "xft:Mononoki Nerd Font:pixelsize=12:antialias=true:hinting=true"
|
||||
|
||||
-- Terminal to use
|
||||
myTerminal :: String
|
||||
myTerminal = "alacritty"
|
||||
|
||||
-- Focus follows mouse pointer
|
||||
myFocusFollowsMouse :: Bool
|
||||
myFocusFollowsMouse = True
|
||||
|
||||
-- Define mod keys
|
||||
myModMask :: KeyMask
|
||||
myModMask = mod4Mask
|
||||
|
||||
-- Define volume keys and commands
|
||||
lowerVolumeCmd = "pactl set-sink-volume @DEFAULT_SINK@ -2%"
|
||||
raiseVolumeCmd = "pactl set-sink-volume @DEFAULT_SINK@ +2%"
|
||||
muteVolumeCmd = "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
|
||||
-- Count windows
|
||||
windowCount :: X (Maybe String)
|
||||
windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset
|
||||
|
||||
-- Define workspaces
|
||||
myWorkspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
|
||||
|
||||
-- Width of window border
|
||||
myBorderWidth = 2
|
||||
|
||||
-- Border colors
|
||||
myNormalBorderColor = "#ebdbb2"
|
||||
myFocusedBorderColor = "#d3869b"
|
||||
myNormalBorderColor = "#282828"
|
||||
myFocusedBorderColor = "#B16286"
|
||||
|
||||
-- Config for xmonad prompts
|
||||
myXPConfig =
|
||||
def { font = myFont
|
||||
, bgColor = "#282828"
|
||||
, fgColor = "#EBDBB2"
|
||||
, fgHLight = "#B16286"
|
||||
, bgHLight = "#282828"
|
||||
, borderColor = "#B16286"
|
||||
, promptBorderWidth = 2
|
||||
, position = CenteredAt 0.5 0.25
|
||||
, height = 40
|
||||
, historySize = 256
|
||||
, defaultText = ""
|
||||
, autoComplete = Nothing
|
||||
, historyFilter = id
|
||||
, showCompletionOnTab = False
|
||||
, promptKeymap = defaultXPKeymap
|
||||
}
|
||||
|
||||
-- Config for tabs
|
||||
myTabTheme =
|
||||
def { fontName = myFont
|
||||
, activeColor = "#B16286"
|
||||
, inactiveColor = "#282828"
|
||||
, activeBorderColor = "#B16286"
|
||||
, inactiveBorderColor = "#282828"
|
||||
, activeTextColor = "#282828"
|
||||
, inactiveTextColor = "#B16286"
|
||||
, decoHeight = 15
|
||||
}
|
||||
|
||||
myStartupHook = do
|
||||
spawnOnce "nitrogen --restore &"
|
||||
spawnOnce "lxsession &"
|
||||
spawnOnce "xsetroot -cursor_name left_ptr"
|
||||
spawnOnce "xmodmap ~/.config/xmodmap/Xmodmap"
|
||||
spawnOnce "imwheel -b 45 &"
|
||||
spawnOnce "play-with-mpv &"
|
||||
spawnOnce "udiskie &"
|
||||
spawnOnce "dunst -conf ~/.config/dunst/dunstrc"
|
||||
|
||||
-- Config dynamic projects
|
||||
projects :: [Project]
|
||||
projects =
|
||||
[ Project { projectName = "dev"
|
||||
, projectDirectory = "~/devel"
|
||||
, projectStartHook = Just $ do spawn "emacs"
|
||||
spawn myTerminal
|
||||
},
|
||||
Project { projectName = "game"
|
||||
, projectDirectory = "~/"
|
||||
, projectStartHook = Nothing
|
||||
}
|
||||
]
|
||||
|
||||
myLayout = windowNavigation $ spacing 2 $ smartBorders (TwoPanePersistent Nothing (3/100) (1/2) ||| tiled Tall ||| tiled Wide ||| Full ||| simpleFloat ||| Grid)
|
||||
-- Config layouts
|
||||
myLayout = windowNavigation
|
||||
$ renamed [CutWordsLeft 1]
|
||||
$ spacing 2
|
||||
$ smartBorders
|
||||
(masterTab ||| (tabbed shrinkText myTabTheme) ||| tiled Tall)
|
||||
where
|
||||
-- default tiling algorithm partitions the screen into two panes
|
||||
--tiled = Tall nmaster delta ratio
|
||||
-- tiled = Tall nmaster delta ratio
|
||||
tiled = HintedTile 1 0.03 0.5 TopLeft
|
||||
-- The default number of windows in the master pane
|
||||
--nmaster = 1
|
||||
-- Default proportion of screen occupied by master pane
|
||||
--ratio = 1/2
|
||||
-- Percent of screen to increment by when resizing panes
|
||||
--delta = 2/100
|
||||
-- master and tabbed tiling
|
||||
masterTab = renamed [Replace "Master Tab"] $ mastered (1/100) (1/2) $ (focusTracking (tabbed shrinkText myTabTheme))
|
||||
|
||||
myScratchPads :: [NamedScratchpad]
|
||||
myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm
|
||||
@ -161,16 +203,40 @@ myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm
|
||||
l = 0.95 -w
|
||||
|
||||
-- Set default display modes for applications
|
||||
myManageHook = composeAll
|
||||
myManageHook = composeAll . concat $
|
||||
-- Float fullscreen apps (mostly games)
|
||||
[[className =? c --> doFloat | c <- myFloats],
|
||||
[isDialog --> doCenterFloat,
|
||||
isFullscreen --> doFullFloat,
|
||||
className =? "Gimp" --> doFullFloat,
|
||||
className =? "latte-dock" --> hasBorder False,
|
||||
className =? "lattedock" --> hasBorder False,
|
||||
className =? "Plasma-desktop" --> hasBorder False,
|
||||
className =? "plasmashell" --> hasBorder False,
|
||||
className =? "krunner" --> hasBorder False,
|
||||
className =? "Klipper" --> hasBorder False,
|
||||
className =? "krunner" --> hasBorder False,
|
||||
className =? "fusion360.exe" --> doFullFloat,
|
||||
className =? "mpv" --> doRectFloat (W.RationalRect 0.55 0.05 0.4 0.4),
|
||||
className =? "Steam" --> doFullFloat,
|
||||
className =? "Superslicer" --> doFullFloat,
|
||||
isInProperty "WM_WINDOW_ROLE" "pop-up" --> doRectFloat (W.RationalRect 0.55 0.05 0.4 0.4),
|
||||
namedScratchpadManageHook myScratchPads]
|
||||
namedScratchpadManageHook myScratchPads]]
|
||||
where
|
||||
myFloats = [
|
||||
"MPlayer"
|
||||
, "Gimp"
|
||||
, "Plasma-desktop"
|
||||
, "plasmashell"
|
||||
, "krunner"
|
||||
, "Klipper"
|
||||
, "Keepassx"
|
||||
, "latte-dock"
|
||||
, "lattedock"
|
||||
, "conky-semi"
|
||||
, "TeamViewer"
|
||||
, "teamviewer"
|
||||
, "ksmserver-logout-greeter"]
|
||||
|
||||
-- Set dynamic display modes
|
||||
myEventHook :: Event -> X All
|
||||
myEventHook = dynamicPropertyChange "WM_NAME" (title =? "scratch-emacs" --> floating)
|
||||
@ -194,30 +260,26 @@ myKeys home =
|
||||
, ("M-t", withFocused $ windows . W.sink)
|
||||
-- close focused window
|
||||
, ("M-q", kill)
|
||||
---- Move focus to the next window.
|
||||
--, ("M-j", windows W.focusDown)
|
||||
---- Move focus to the previous window.
|
||||
--, ("M-k", windows W.focusUp)
|
||||
---- Swap the focused window with the next window.
|
||||
--, ("M-S-j", windows W.swapDown)
|
||||
---- Swap the focused window with the previous window.
|
||||
--, ("M-S-k", windows W.swapUp)
|
||||
|
||||
-- Move focus to the next window.
|
||||
, ("M-j", windows W.focusDown)
|
||||
-- Move focus to the previous window.
|
||||
, ("M-k", windows W.focusUp)
|
||||
-- Swap the focused window with the next window.
|
||||
, ("M-S-j", windows W.swapDown)
|
||||
-- Swap the focused window with the previous window.
|
||||
, ("M-S-k", windows W.swapUp)
|
||||
-- Swap the focused window with the next window.
|
||||
, ("M-C-j", rotSlavesDown)
|
||||
-- Swap the focused window with the previous window.
|
||||
, ("M-C-k", rotSlavesUp)
|
||||
|
||||
-- Move focus to the master window.
|
||||
, ("M-m", windows W.focusMaster)
|
||||
-- Swap the focused window and the master window.
|
||||
, ("M-S-m", windows W.swapMaster)
|
||||
|
||||
-- Increment number of windows in master
|
||||
, ("M-.", sendMessage (IncMasterN 1))
|
||||
-- Decrement number of windows in master
|
||||
, ("M-,", sendMessage (IncMasterN (-1)))
|
||||
|
||||
-- Swap the focused window and the master window.
|
||||
, ("M-b", nextMatch History (return True))
|
||||
|
||||
@ -225,13 +287,11 @@ myKeys home =
|
||||
-- Basic Utils
|
||||
--------------------------------------------------
|
||||
-- Spawn terminal
|
||||
|
||||
, ("M-<Return>" , spawn "alacritty")
|
||||
-- Spawn rofi drun
|
||||
, ("M-w" , spawn "rofi -show drun -theme gruvbox-dark-soft -show-icons")
|
||||
, ("M-S-w" , spawn "rofi -show run -theme gruvbox-dark-soft")
|
||||
-- Grab and Goto Windows
|
||||
, ("M-g", windowPrompt def {autoComplete = Just 20000} Goto allWindows)
|
||||
, ("M-w", spawn "rofi -show window -theme gruvbox-dark-soft -show-icons")
|
||||
, ("M-S-w", spawn "rofi -show drun -theme gruvbox-dark-soft -show-icons")
|
||||
|
||||
--------------------------------------------------
|
||||
-- Scratchpads
|
||||
--------------------------------------------------
|
||||
@ -250,8 +310,8 @@ myKeys home =
|
||||
--------------------------------------------------
|
||||
-- Dynamic Projects
|
||||
--------------------------------------------------
|
||||
--, ("M-s s", switchProjectPrompt projectsTheme)
|
||||
--, ("M-s S", shiftToProjectPrompt projectsTheme)
|
||||
, ("M-s s", switchProjectPrompt myXPConfig)
|
||||
, ("M-s S", shiftToProjectPrompt myXPConfig)
|
||||
, ("M-s d", switchProject (projects !! 0))
|
||||
, ("M-s S-d", shiftToProject (projects !! 0))
|
||||
, ("M-s g", switchProject (projects !! 1))
|
||||
@ -261,13 +321,13 @@ myKeys home =
|
||||
-- Open Applications
|
||||
--------------------------------------------------
|
||||
-- Spawn firefox
|
||||
, ("M-o b" , spawn "qutebrowser")
|
||||
, ("M-o b" , spawn "brave")
|
||||
-- Spawn lutris
|
||||
, ("M-o l" , spawn "lutris")
|
||||
-- Spawn steam
|
||||
, ("M-o s" , spawn "steam")
|
||||
-- Spawn flameshot
|
||||
, ("M-o c" , spawn "flameshot gui")
|
||||
, ("M-o f" , spawn "flameshot gui")
|
||||
-- Spawn emacs
|
||||
, ("M-o e" , spawn "emacsclient -c -n -e '(switch-to-buffer nil)'")
|
||||
|
||||
@ -282,10 +342,8 @@ myKeys home =
|
||||
, ("M-x g", spawn "gamemoded -r")
|
||||
-- Stop gamemode
|
||||
, ("M-x S-g", spawn "killall gamemoded")
|
||||
-- Start wireguard
|
||||
, ("M-x w", spawn "pkexec sh -c 'wg-quick up wg0 && mount -a'")
|
||||
-- Stop wireguard
|
||||
, ("M-x S-w", spawn "pkexec sh -c 'umount /run/media/engi && wg-quick down wg0'")
|
||||
-- Open nvidia-settings
|
||||
, ("M-x n", spawn "nvidia-settings")
|
||||
-- mute overall volume
|
||||
, ("<XF86AudioMute>", spawn muteVolumeCmd)
|
||||
-- raise overall volume
|
||||
@ -300,32 +358,20 @@ rmKeys keys =
|
||||
(myModMask .|. shiftMask, xK_q)
|
||||
]
|
||||
|
||||
myNav2DConf = def
|
||||
{ defaultTiledNavigation = sideNavigation
|
||||
, floatNavigation = sideNavigation
|
||||
, screenNavigation = sideNavigation
|
||||
, layoutNavigation = [("Spacing Full", centerNavigation)]
|
||||
, unmappedWindowRect = [("Spacing Full", singleWindowRect)]
|
||||
}
|
||||
|
||||
main = do
|
||||
home <- getHomeDirectory
|
||||
xmproc0 <- spawnPipe "xmobar -x 0 ~/.config/xmobar/xmobarrc"
|
||||
--
|
||||
xmonad
|
||||
-- The monad
|
||||
xmonad
|
||||
$ dynamicProjects projects
|
||||
$ docks
|
||||
$ ewmh
|
||||
$ ewmhFullscreen
|
||||
$ withNavigation2DConfig myNav2DConf
|
||||
$ navigation2DP def
|
||||
("", "u", "", "i")
|
||||
[("M-", screenGo),
|
||||
("M-S-", screenSwap)]
|
||||
False
|
||||
$ additionalNav2DKeysP ("k", "h", "j", "l")
|
||||
[("M-", windowGo),
|
||||
("M-S-", windowSwap)]
|
||||
False
|
||||
("", "h", "", "l")
|
||||
[("M-", screenGo),
|
||||
("M-S-", screenSwap)]
|
||||
False
|
||||
$ def
|
||||
{
|
||||
-- Simple items
|
||||
@ -336,22 +382,19 @@ main = do
|
||||
workspaces = myWorkspaces,
|
||||
normalBorderColor = myNormalBorderColor,
|
||||
focusedBorderColor = myFocusedBorderColor,
|
||||
|
||||
-- Hooks, Layouts
|
||||
layoutHook = avoidStruts $ myLayout,
|
||||
manageHook = myManageHook,
|
||||
handleEventHook = myEventHook,
|
||||
logHook = workspaceHistoryHook <+> myLogHook <+> dynamicLogWithPP xmobarPP
|
||||
|
||||
|
||||
{ ppOutput = \x -> hPutStrLn xmproc0 x
|
||||
, ppCurrent = xmobarColor "#b8bb26" "" . wrap "[" "]" -- Current workspace in xmobar
|
||||
, ppVisible = xmobarColor "#83a598" "" -- Visible but not current workspace
|
||||
, ppHidden = xmobarColor "#83a598" "" . wrap "*" "" -- Hidden workspaces in xmobar
|
||||
, ppCurrent = xmobarColor "#B8BB26" "" . wrap "[" "]" -- Current workspace in xmobar
|
||||
, ppVisible = xmobarColor "#83A598" "" -- Visible but not current workspace
|
||||
, ppHidden = xmobarColor "#83A598" "" . wrap "*" "" -- Hidden workspaces in xmobar
|
||||
, ppHiddenNoWindows= \( _ ) -> "" -- Only shows visible workspaces. Useful for TreeSelect.
|
||||
, ppTitle = xmobarColor "#ebdbb2" "" . shorten 60 -- Title of active window in xmobar
|
||||
, ppSep = "<fc=#ebdbb2> | </fc>" -- Separators in xmobar
|
||||
, ppUrgent = xmobarColor "#fb4934" "" . wrap "!" "!" -- Urgent workspace
|
||||
, ppTitle = xmobarColor "#EBDBB2" "" . shorten 60 -- Title of active window in xmobar
|
||||
, ppSep = "<fc=" ++ "#EBDBB2" ++ "> | </fc>" -- Separators in xmobar
|
||||
, ppUrgent = xmobarColor "#FB2934" "" . wrap "!" "!" -- Urgent workspace
|
||||
, ppExtras = [windowCount] -- # of windows current workspace
|
||||
, ppOrder = \(ws:l:t:ex) -> [ws,l]++ex++[t]},
|
||||
startupHook = myStartupHook
|
||||
|
Loading…
x
Reference in New Issue
Block a user