update after long time and move to fedora

This commit is contained in:
Tyler Starr 2022-05-22 23:34:27 -07:00
parent dad57ba054
commit 79af410ccf
21 changed files with 544 additions and 154 deletions

26
.Xresources Normal file
View 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
View 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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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>"

View File

@ -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>"

View File

@ -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>"

View File

@ -1,10 +0,0 @@
#! /bin/bash
if ip address | grep -q "wg0"
then
color="#fb4934"
else
color="#b8bb26"
fi
echo "<fc=$color> </fc>"

View File

@ -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%"

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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