mirror of
http://github.com/JaeUs3792/dotfiles
synced 2025-12-13 23:51:34 +09:00
clean unused configuration
This commit is contained in:
@ -1,103 +0,0 @@
|
||||
--[[
|
||||
#########################################
|
||||
## tomorrow-night-01.conkyrc (bspwm) ##
|
||||
#########################################
|
||||
]]
|
||||
|
||||
conky.config = {
|
||||
|
||||
--Various settings
|
||||
background = true, -- forked to background
|
||||
cpu_avg_samples = 2, -- The number of samples to average for CPU monitoring.
|
||||
diskio_avg_samples = 10, -- The number of samples to average for disk I/O monitoring.
|
||||
double_buffer = true, -- Use the Xdbe extension? (eliminates flicker)
|
||||
if_up_strictness = 'address', -- how strict if testing interface is up - up, link or address
|
||||
net_avg_samples = 2, -- The number of samples to average for net data
|
||||
no_buffers = true, -- Subtract (file system) buffers from used memory?
|
||||
temperature_unit = 'fahrenheit', -- fahrenheit or celsius
|
||||
text_buffer_size = 2048, -- size of buffer for display of content of large variables - default 256
|
||||
update_interval = 1, -- update interval
|
||||
imlib_cache_size = 0, -- disable image cache to get a new spotify cover per song
|
||||
|
||||
-- Placement (Conky on MIDDLE of THREE monitors at 1920x1080)
|
||||
--alignment = 'top_left', -- top_left,top_middle,top_right,bottom_left,bottom_middle,bottom_right,
|
||||
--gap_x = 3540, -- pixels between right or left border
|
||||
--gap_y = 70, -- pixels between bottom or left border
|
||||
|
||||
-- Placement (For SINGLE monitor users!)
|
||||
alignment = 'top_right', -- top_left,top_middle,top_right,bottom_left,bottom_middle,bottom_right,
|
||||
gap_x = 50, -- pixels between right or left border
|
||||
gap_y = 70, -- pixels between bottom or left border
|
||||
|
||||
-- Size
|
||||
minimum_height = 200, -- minimum height of window
|
||||
minimum_width = 260, -- minimum width of window
|
||||
maximum_width = 260, -- maximum width of window
|
||||
|
||||
--Graphical
|
||||
border_inner_margin = 5, -- margin between border and text
|
||||
border_outer_margin = 5, -- margin between border and edge of window
|
||||
border_width = 0, -- border width in pixels
|
||||
default_bar_width = 260, -- default is 0 - full width
|
||||
default_bar_height = 10, -- default is 6
|
||||
default_gauge_height = 25, -- default is 25
|
||||
default_gauge_width =40, -- default is 40
|
||||
default_graph_height = 40, -- default is 25
|
||||
default_graph_width = 153, -- default is 0 - full width
|
||||
default_shade_color = '#000000', -- default shading colour
|
||||
default_outline_color = '#000000', -- default outline colour
|
||||
draw_borders = false, -- draw borders around text
|
||||
draw_graph_borders = true, -- draw borders around graphs
|
||||
draw_shades = false, -- draw shades
|
||||
draw_outline = false, -- draw outline
|
||||
stippled_borders = 0, -- dashing the border
|
||||
|
||||
--Textual
|
||||
format_human_readable = true, -- KiB, MiB rather then number of bytes
|
||||
font = 'Mononoki Nerd Font:bold:size=10', -- the default font used
|
||||
font2 = 'Mononoki Nerd Font:bold:size=30', -- font for the time
|
||||
font3 = 'Mononoki Nerd Font:size=14', -- font for the date
|
||||
font4 = 'Mononoki Nerd Font:bold:size=9', -- font for the keybindings heading
|
||||
max_text_width = 0, -- 0 will make sure line does not get broken if width too smal
|
||||
max_user_text = 16384, -- max text in conky default 16384
|
||||
override_utf8_locale = true, -- force UTF8 requires xft
|
||||
short_units = true, -- shorten units from KiB to k
|
||||
top_name_width = 21, -- width for $top name value default 15
|
||||
top_name_verbose = false, -- If true, top name shows the full command line of each process - Default value is false.
|
||||
uppercase = false, -- uppercase or not
|
||||
use_spacer = 'none', -- adds spaces around certain objects to align - default none
|
||||
use_xft = true, -- xft font - anti-aliased font
|
||||
xftalpha = 1, -- alpha of the xft font - between 0-1
|
||||
|
||||
--Windows
|
||||
own_window = true, -- create your own window to draw
|
||||
own_window_argb_value = 255, -- real transparency - composite manager required 0-255
|
||||
own_window_argb_visual = true, -- use ARGB - composite manager required
|
||||
own_window_class = 'Conky', -- manually set the WM_CLASS name for use with xprop
|
||||
own_window_colour = '#292d3e', -- set colour if own_window_transparent no
|
||||
own_window_transparent = false, -- if own_window_argb_visual is true sets background opacity 0%
|
||||
own_window_title = 'xmonad_conky', -- set the name manually
|
||||
own_window_type = 'desktop', -- if own_window true options are: normal/override/dock/desktop/panel
|
||||
own_window_hints = 'undecorated,below,above,sticky,skip_taskbar,skip_pager', -- if own_window true - just hints - own_window_type sets it
|
||||
|
||||
--Colors (Palenight)
|
||||
color0 = '#c792ea',
|
||||
color1 = '#d0d0d0',
|
||||
color2 = '#82aaff',
|
||||
color3 = '#ffcb6b',
|
||||
};
|
||||
|
||||
conky.text = [[
|
||||
${alignc}${color0}${font2}${time %H:%M}${font}
|
||||
${voffset 6}${alignc}${color0}${font3}${time %m. %d, %Y}${font}${color}
|
||||
${voffset 18}${goto 12}${color3}CPU${goto 50}$cpu%
|
||||
${color2}${goto 12}${cpubar 8,254}
|
||||
${voffset 5}${goto 12}$font${color1}${top name 1}$alignr$color${top cpu 1}%
|
||||
${goto 12}${color1}${top name 2}$alignr$color${top cpu 2}%
|
||||
${goto 12}${color1}${top name 3}$alignr$color${top cpu 3}%
|
||||
${voffset 14}${goto 12}${color3}RAM${goto 50}$mem/$memmax
|
||||
${color2}${goto 12}${membar 8,254}${color}
|
||||
${goto 12}${voffset 5}${color1}${top_mem name 1}$alignr$color${top_mem mem_res 1}
|
||||
${goto 12}${color1}${top_mem name 2}$alignr$color${top_mem mem_res 2}
|
||||
${goto 12}${color1}${top_mem name 3}$alignr$color${top_mem mem_res 3}
|
||||
]];
|
||||
@ -1,981 +0,0 @@
|
||||
;;; morning-star-theme.el --- Emacs 24 theme with a dark background.
|
||||
|
||||
;; Copyright (C) 2016, Alexander Miller
|
||||
|
||||
;; Author: Alexander Miller
|
||||
;;
|
||||
;; Version: 0.1
|
||||
;; Package-Requires: ((emacs "24"))
|
||||
;; Created with emacs-theme-generator, https://github.com/mswift42/theme-creator.
|
||||
|
||||
|
||||
;; This program 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 of the License, 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.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;; This file is not part of Emacs.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(deftheme morning-star)
|
||||
(let ((class '((class color) (min-colors 89)))
|
||||
(fg "#bbbbbb")
|
||||
(bg "#2d2d31")
|
||||
(bg2 "#25252a")
|
||||
(grey1 "#666666")
|
||||
(grey2 "#383844")
|
||||
(grey3 "#343440")
|
||||
(black1 "#1a1a1a")
|
||||
(black2 "#000000")
|
||||
(red1 "#f2777a")
|
||||
(red2 "#bb6666")
|
||||
(red3 "#ab3737")
|
||||
(red4 "#221111")
|
||||
(green1 "#66aa66")
|
||||
(green2 "#559955")
|
||||
(green3 "#112211")
|
||||
(aqua1 "#55a9a9")
|
||||
(aqua2 "#1e8f8f")
|
||||
(purple1 "#997799")
|
||||
(purple2 "#886688")
|
||||
(yellow1 "#f0c674")
|
||||
(yellow2 "#ddba1a")
|
||||
(orange1 "#c98459")
|
||||
(orange2 "#b87348")
|
||||
(brown1 "#ccb18b")
|
||||
(brown2 "#9f8b6f")
|
||||
(blue1 "#5588bb")
|
||||
(blue2 "#4477aa")
|
||||
(blue3 "#333366"))
|
||||
|
||||
(custom-theme-set-faces
|
||||
'morning-star
|
||||
|
||||
;; Syntax highlghting
|
||||
`(default ((,class (:foreground ,fg :background ,bg))))
|
||||
`(default-italic ((,class (:italic t))))
|
||||
`(font-lock-builtin-face ((,class (:foreground ,aqua1))))
|
||||
`(font-lock-comment-face ((,class (:foreground ,grey1))))
|
||||
`(font-lock-comment-delimiter-face ((,class (:foreground ,grey1))))
|
||||
`(font-lock-negation-char-face ((,class (:foreground ,red1))))
|
||||
`(font-lock-constant-face ((,class (:foreground ,red1))))
|
||||
`(font-lock-reference-face ((,class (:foreground ,red1))))
|
||||
`(font-lock-preprocessor-face ((,class (:foreground ,aqua1))))
|
||||
`(font-lock-doc-face ((,class (:foreground ,brown1))))
|
||||
`(font-lock-function-name-face ((,class (:foreground ,blue1))))
|
||||
`(font-lock-keyword-face ((,class (:foreground ,purple1 :bold t))))
|
||||
`(font-lock-string-face ((,class (:foreground ,green1))))
|
||||
`(font-lock-type-face ((,class (:foreground ,yellow1))))
|
||||
`(font-lock-variable-name-face ((,class (:foreground ,orange1))))
|
||||
`(font-lock-warning-face ((,class (:foreground ,red1 :underline (:style wave)))))
|
||||
|
||||
;; Mode Line
|
||||
`(mode-line ((,class (:box (:color ,black2) :background ,black1 :foreground ,green1 :bold t))))
|
||||
`(mode-line-highlight ((,class (:box (:color ,black2) :underline t))))
|
||||
`(mode-line-emphasis ((,class (:box (:color ,black2) :bolt t))))
|
||||
`(mode-line-inactive ((,class (:box (:color ,black2) :background ,bg2 :foreground ,green1))))
|
||||
`(powerline-active1 ((,class (:box (:color ,black2) :background ,black1 :foreground ,purple1 :bold t))))
|
||||
`(powerline-active2 ((,class (:box (:color ,black2) :background ,black1 :foreground ,black1))))
|
||||
`(mode-line-buffer-id ((,class (:box (:color ,black2) :foreground ,orange1 :bold t))))
|
||||
`(powerline-inactive1 ((,class (:box (:color ,black2) :background ,bg2 :foreground ,purple1))))
|
||||
`(powerline-inactive2 ((,class (:box (:color ,black2) :background ,bg2 :foreground ,purple1))))
|
||||
`(spaceline-evil-normal ((,class (:box (:color ,black2) :background ,black1 :foreground ,red3))))
|
||||
`(spaceline-evil-insert ((,class (:box (:color ,black2) :background ,black1 :foreground ,green1))))
|
||||
`(spaceline-evil-visual ((,class (:box (:color ,black2) :background ,black1 :foreground ,purple1))))
|
||||
`(spaceline-evil-emacs ((,class (:box (:color ,black2) :background ,black1 :foreground ,aqua1))))
|
||||
`(spaceline-evil-motion ((,class (:box (:color ,black2) :background ,black1 :foreground ,orange1))))
|
||||
`(spaceline-evil-replace ((,class (:box (:color ,black2) :background ,black1 :foreground ,aqua2))))
|
||||
`(spaceline-flycheck-error ((,class (:box (:color ,black2) :foreground ,red2))))
|
||||
`(spaceline-flycheck-warning ((,class (:box (:color ,black2) :foreground ,yellow2))))
|
||||
`(spaceline-flycheck-info ((,class (:box (:color ,black2) :foreground ,green2))))
|
||||
|
||||
;; Standard UI Items
|
||||
`(show-paren-match ((,class (:underline ,aqua2 :bold t))))
|
||||
`(isearch ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(internal-border ((,class (:background ,black2))))
|
||||
`(child-frame-border ((,class (:background ,black2))))
|
||||
`(lazy-highlight ((,class (:background ,red1 :foreground ,black1))))
|
||||
`(link ((,class (:foreground ,aqua1 :underline (:color ,aqua1)))))
|
||||
`(link-visited ((,class (:foreground ,aqua2 :underline (:color ,aqua2)))))
|
||||
`(button ((,class (:background ,bg2 :foreground ,blue1 :box (:color ,grey3 :line-width 2 :style released-button) :bold t))))
|
||||
`(linum ((,class (:background ,bg :foreground ,grey1 :bold nil :box nil :overline nil :underline nil :italic nil))))
|
||||
`(line-number ((,class (:background ,bg :foreground ,grey1 :bold t))))
|
||||
`(line-number-current-line ((,class (:background ,bg :foreground ,green1 :bold t))))
|
||||
`(region ((,class (:background ,black1 :foreground ,fg))))
|
||||
`(highlight ((,class (:background ,black1 :foreground ,fg))))
|
||||
`(hl-line ((,class (:background ,grey2))))
|
||||
`(highlight-indentation-face ((,class (:background ,grey2))))
|
||||
`(header-line ((,class (:box (:color ,black2) :background ,black1))))
|
||||
`(fringe ((,class (:background ,bg))))
|
||||
`(cursor ((,class (:background ,red1))))
|
||||
`(minibuffer-prompt ((,class (:foreground ,purple1))))
|
||||
`(vertical-border ((,class (:foreground ,black2))))
|
||||
`(error ((,class (:foreground ,red3))))
|
||||
`(success ((,class (:foreground ,green1))))
|
||||
`(warning ((,class (:foreground ,yellow2))))
|
||||
`(eval-sexp-fu-flash ((,class (:background ,green1 :foreground ,black1))))
|
||||
`(eval-sexp-fu-flash-error ((,class (:background ,red3 :foreground ,fg))))
|
||||
`(secondary-selection ((,class (nil))))
|
||||
`(match ((,class (:background ,red3 :foreground ,fg))))
|
||||
`(tooltip ((,class (:background ,bg2 :foreground ,brown1))))
|
||||
`(help-key-binding ((,class (:foreground ,orange2 :bold t))))
|
||||
`(variable-pitch ((,class (:family "Iosevka Aile"))))
|
||||
|
||||
;; Widgets
|
||||
`(widget-field ((,class (:foreground ,brown1 :background ,grey3 :bold t :box (:line-width -1 :color ,grey1)))))
|
||||
|
||||
;; Tabs
|
||||
`(tab-line ((,class (:background ,black1 :foreground ,fg :box (:line-width 3 :color ,black1) :overline ,black1))))
|
||||
`(tab-line-tab ((,class (:background ,black1 :foreground ,fg :box (:line-width 3 :color ,black1) :overline ,black1))))
|
||||
`(tab-line-tab-current ((,class (:background ,bg2 :foreground ,fg :box (:line-width 3 :color ,bg2) :overline ,blue1))))
|
||||
`(tab-line-tab-inactive ((,class (:background ,black1 :foreground ,fg :box (:line-width 3 :color ,black1) :overline ,black1))))
|
||||
`(tab-line-highlight ((,class (:background ,bg :foreground ,fg :box (:line-width 3 :color ,bg) :overline ,blue1))))
|
||||
|
||||
;; Anzu
|
||||
`(anzu-mode-line ((,class (:foreground ,yellow2 :background ,bg2))))
|
||||
`(anzu-replace-highlight ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(anzu-replace-to ((,class (:foreground ,black1 :background ,blue1))))
|
||||
|
||||
;; Xref
|
||||
`(xref-file-header ((,class (:foreground ,brown1))))
|
||||
`(xref-line-number ((,class (:foreground ,green1))))
|
||||
`(xref-match ((,class (:background ,black1))))
|
||||
|
||||
;; Evil
|
||||
`(evil-search-highlight-persist-highlight-face ((,class (:foreground ,black1 :background ,red1))))
|
||||
`(evil-ex-substitute-matches ((,class (:inherit anzu-replace-highlight))))
|
||||
`(evil-ex-substitute-replacement ((,class (:inherit anzu-replace-to))))
|
||||
|
||||
;; Evil Goggles
|
||||
`(evil-goggles-default-face ((,class (:foreground ,black1 :background ,blue2 :bold t))))
|
||||
`(evil-goggles-delete-face ((,class (:foreground ,black1 :background ,red3 :bold t))))
|
||||
`(evil-goggles-indent-face ((,class (:foreground ,black1 :background ,orange2 :bold t))))
|
||||
`(evil-goggles-yank-face ((,class (:foreground ,black1 :background ,blue1 :bold t))))
|
||||
`(evil-goggles-join-face ((,class (:foreground ,red2 :background ,bg2 :bold t))));; TODO
|
||||
`(evil-goggles-fill-and-move-face ((,class (:foreground ,red2 :background ,bg2 :bold t))));; TODO
|
||||
`(evil-goggles-paste-face ((,class (:foreground ,black1 :background ,green1 :bold t))))
|
||||
`(evil-goggles-shift-face ((,class (:foreground ,black1 :background ,aqua1 :bold t))))
|
||||
`(evil-goggles-surround-face ((,class (:foreground ,black1 :background ,purple1 :bold t))))
|
||||
`(evil-goggles-commentary-face ((,class (:foreground ,grey3 :background ,grey1 :bold t))))
|
||||
`(evil-goggles-nerd-commenter-face ((,class (:foreground ,grey3 :background ,grey1 :bold t))))
|
||||
`(evil-goggles-replace-with-register-face ((,class (:foreground ,red2 :background ,bg2 :bold t))));; TODO
|
||||
`(evil-goggles-set-marker-face ((,class (:foreground ,black1 :background ,aqua2 :bold t))))
|
||||
`(evil-goggles-undo-redo-add-face ((,class (:foreground ,black1 :background ,green1 :bold t))))
|
||||
`(evil-goggles-undo-redo-remove-face ((,class (:foreground ,black1 :background ,red3 :bold t))))
|
||||
`(evil-goggles-undo-redo-change-face ((,class (:foreground ,black1 :background ,blue1 :bold t))))
|
||||
|
||||
;; Spacemacs specifica
|
||||
`(spacemacs-normal-face ((,class (:foreground ,black1 :background ,red3))))
|
||||
`(spacemacs-visual-face ((,class (:foreground ,black1 :background ,purple2))))
|
||||
`(spacemacs-insert-face ((,class (:foreground ,black1 :background ,green1))))
|
||||
`(spacemacs-motion-face ((,class (:foreground ,black1 :background ,brown1))))
|
||||
`(spacemacs-emacs-face ((,class (:foreground ,black1 :background ,aqua2))))
|
||||
|
||||
;; Ido
|
||||
`(ido-first-match ((,class (:foreground ,green1))))
|
||||
`(ido-incomplete-regexp ((,class (:inherit error))))
|
||||
`(ido-indicator ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ido-only-match ((,class (:foreground ,green2 :bold t))))
|
||||
`(ido-subdir ((,class (:foreground ,blue1))))
|
||||
`(ido-virtual ((,class (:foreground ,aqua1))))
|
||||
`(ido-vertical-match-face ((,class (:foreground ,red1))))
|
||||
`(ido-vertical-first-match ((,class (:inherit ido-first-match))))
|
||||
`(ido-vertical-only-match ((,class (:inherit ido-only-match))))
|
||||
|
||||
;; Group Customization
|
||||
`(custom-button ((,class (:inherit button))))
|
||||
`(custom-button-mouse ((,class (:background ,blue1 :inherit custom-button))))
|
||||
`(custom-button-pressed ((,class (:foreground ,black1 :background ,blue1 :box (:line-width -1 :color ,black1 :style pressed-button)))))
|
||||
`(custom-comment ((,class (:inherit font-lock-comment-face))))
|
||||
`(custom-comment-tag ((,class (:inherit font-lock-comment-face))))
|
||||
`(custom-documentation ((,class (:foreground ,fg))))
|
||||
`(custom-group-subtitle ((,class (:foreground ,purple1 :bold t :underline t))))
|
||||
`(custom-group-tag ((,class (:foreground ,purple1 :bold t :underline nil :height 1.25))))
|
||||
`(custom-group-tag-1 ((,class (:foreground ,aqua1 :bold t :underline t :height 1.5))))
|
||||
`(custom-state ((,class (:foreground ,green2))))
|
||||
`(custom-variable-tag ((,class (:foreground ,purple1 :bold t :underline t))))
|
||||
|
||||
;; Ediff
|
||||
`(ediff-current-diff-A ((,class (:foreground ,black2 :background ,purple2))))
|
||||
`(ediff-current-diff-B ((,class (:foreground ,black2 :background ,purple2))))
|
||||
`(ediff-current-diff-C ((,class (:foreground ,aqua1 :background ,bg2))));;TODO
|
||||
`(ediff-current-diff-Ancestor ((,class (:foreground ,brown1 :background ,bg2))));;TODO
|
||||
`(ediff-even-diff-A ((,class (:foreground ,black2 :background ,blue1))))
|
||||
`(ediff-even-diff-B ((,class (:foreground ,black2 :background ,blue1))))
|
||||
`(ediff-even-diff-C ((,class (:foreground ,aqua1 :background ,red3))));;TODO
|
||||
`(ediff-even-diff-Ancestor ((,class (:foreground ,brown1 :background ,red3))));;TODO
|
||||
`(ediff-fine-diff-A ((,class (:foreground ,yellow1 :background ,red3 :bold t))))
|
||||
`(ediff-fine-diff-B ((,class (:foreground ,yellow1 :background ,red3 :bold t))))
|
||||
`(ediff-fine-diff-C ((,class (:foreground ,aqua1 :background ,purple1))));;TODO
|
||||
`(ediff-fine-diff-Ancestor ((,class (:foreground ,brown1 :background ,purple1))));;TODO
|
||||
`(ediff-odd-diff-A ((,class (:foreground ,black2 :background ,blue2))))
|
||||
`(ediff-odd-diff-B ((,class (:foreground ,black2 :background ,blue2))))
|
||||
`(ediff-odd-diff-C ((,class (:foreground ,aqua1 :background ,aqua2))));;TODO
|
||||
`(ediff-odd-diff-Ancestor ((,class (:foreground ,brown1 :background ,aqua2))));;TODO
|
||||
|
||||
;; Macrostep
|
||||
`(macrostep-expansion-highlight-face ((,class (:inherit region))))
|
||||
|
||||
;; Spacemacs states
|
||||
`(spacemacs-transient-state-title-face ((,class (:foreground ,black2 :background ,green2 :bold t :box (:color ,bg2 :line-width -1)))))
|
||||
`(spacemacs-micro-state-header-face ((,class (:inherit spacemacs-transient-state-title-face))))
|
||||
`(spacemacs-micro-state-binding-face ((,class (:foreground ,blue2 :bold t))))
|
||||
|
||||
;; Hydra
|
||||
`(hydra-face-red ((,class (:foreground ,red2 :bold t))))
|
||||
`(hydra-face-blue ((,class (:foreground ,blue2 :bold t))))
|
||||
`(hydra-face-pink ((,class (:foreground ,purple1 :bold t))))
|
||||
`(hydra-face-teal ((,class (:foreground ,green1 :bold t))))
|
||||
`(hydra-face-amaranth ((,class (:foreground ,aqua1 :bold t))))
|
||||
|
||||
;; Vimish
|
||||
`(vimish-fold-fringe ((,class (:foreground ,blue1))))
|
||||
`(vimish-fold-overlay ((,class (:foreground ,fg :background ,blue3 :box (:color ,black2 :line-width -1) :underline nil :bold nil))))
|
||||
`(vimish-fold-mouse-face ((,class (:inherit vimish-fold-overlay))))
|
||||
|
||||
;; Which Key
|
||||
`(which-key-key-face ((,class (:foreground ,orange1))))
|
||||
`(which-key-note-face ((,class (:foreground ,yellow1))))
|
||||
`(which-key-separator-face ((,class (:foreground ,aqua1))))
|
||||
`(which-key-special-key-face ((,class (:foreground ,orange1))))
|
||||
`(which-key-group-description-face ((,class (:foreground ,purple1))))
|
||||
`(which-key-command-description-face ((,class (:foreground ,green1))))
|
||||
`(which-key-highlighted-command-face ((,class (:foreground ,red1 :bold t))))
|
||||
`(which-key-local-map-description-face ((,class (:foreground ,blue1))))
|
||||
|
||||
;; Flyspell
|
||||
`(flyspell-incorrect ((,class (:underline (:color ,red3 :style wave)))))
|
||||
`(flyspell-duplicate ((,class (:underline (:color ,orange2 :style wave)))))
|
||||
|
||||
;; Flycheck
|
||||
`(flycheck-info ((,class (:underline ,green2))))
|
||||
`(flycheck-warning ((,class (:underline ,yellow2))))
|
||||
`(flycheck-error ((,class (:underline ,red3))))
|
||||
`(flycheck-fringe-info ((,class (:foreground ,green2))))
|
||||
`(flycheck-fringe-warning ((,class (:foreground ,yellow2))))
|
||||
`(flycheck-fringe-error ((,class (:foreground ,red1))))
|
||||
`(flycheck-error-list-info ((,class (:foreground ,green2))))
|
||||
`(flycheck-error-list-warning ((,class (:foreground ,yellow1 :bold t))))
|
||||
`(flycheck-error-list-error ((,class (:foreground ,red1 :bold t))))
|
||||
`(flycheck-error-list-id ((,class (:foreground ,yellow1))))
|
||||
`(flycheck-error-list-checker-name ((,class (:foreground ,brown1))))
|
||||
`(flycheck-error-list-column-number ((,class (:foreground ,green2 :bold t))))
|
||||
`(flycheck-error-list-line-number ((,class (:foreground ,green2 :bold t))))
|
||||
`(flycheck-error-list-highlight ((,class (:background ,grey3))))
|
||||
|
||||
;; Rainbow delimiters
|
||||
`(rainbow-delimiters-depth-1-face ((,class :foreground ,purple1)))
|
||||
`(rainbow-delimiters-depth-2-face ((,class :foreground ,red2)))
|
||||
`(rainbow-delimiters-depth-3-face ((,class :foreground ,green1)))
|
||||
`(rainbow-delimiters-depth-4-face ((,class :foreground ,orange1)))
|
||||
`(rainbow-delimiters-depth-5-face ((,class :foreground ,blue1)))
|
||||
`(rainbow-delimiters-depth-6-face ((,class :foreground ,yellow1)))
|
||||
`(rainbow-delimiters-depth-7-face ((,class :foreground ,brown1)))
|
||||
`(rainbow-delimiters-depth-8-face ((,class :foreground ,aqua1)))
|
||||
`(rainbow-delimiters-mismatched-face ((,class :foreground ,black1)))
|
||||
`(rainbow-delimiters-unmatched-face ((,class :foreground ,black1)))
|
||||
|
||||
;; Smerge
|
||||
`(smerge-mine ((,class (:foreground ,black1 :background ,blue1 :bold t))))
|
||||
`(smerge-markers ((,class (:foreground ,black1 :background ,purple2 :bold t))))
|
||||
`(smerge-upper ((,class (:foreground ,blue1))))
|
||||
`(smerge-refined-added ((,class (:foreground ,bg2 :background ,green2))))
|
||||
`(smerge-lower ((,class (:foreground ,orange1))))
|
||||
`(smerge-refined-removed ((,class (:foreground ,bg2 :background ,red2))))
|
||||
|
||||
;; Smart-Parens
|
||||
`(sp-pair-overlay-face ((,class (:background ,black1))))
|
||||
`(sp-show-pair-match-face ((,class (:inherit show-paren-match))))
|
||||
|
||||
;; Highlight symbol
|
||||
`(highlight-symbol-face ((,class (:background ,grey2))))
|
||||
|
||||
;; Paradox
|
||||
`(paradox-name-face ((,class (:foreground ,green1))))
|
||||
`(paradox-homepage-button-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(paradox-archive-face ((,class (:foreground ,brown1 :box (:color ,bg :line-width -1)))))
|
||||
`(paradox-star-face ((,class (:foreground ,purple2 :bold t))))
|
||||
|
||||
;; Man Pages
|
||||
`(Man-overstrike ((,class (:foreground ,purple1 :bold t))))
|
||||
`(Man-underline ((,class (:foreground ,green1 :underline t))))
|
||||
`(Man-reverse ((,class (:foreground ,aqua1))))
|
||||
|
||||
;; Dired
|
||||
`(dired-header ((,class (:foreground ,purple1 :underline t :height 1.2))))
|
||||
`(dired-marked ((,class (:foreground ,black2 :background ,purple1 :box (:line-width -1)))))
|
||||
`(dired-flagged ((,class (:foreground ,fg :background ,red3 :box (:color ,black2 :line-with -1)))))
|
||||
`(dired-ignored ((,class (:foreground ,black2 :background ,grey2 :box (:color ,black2 :line-with -1)))))
|
||||
`(dired-symlink ((,class (:foreground ,aqua1))))
|
||||
`(dired-directory ((,class (:foreground ,blue1))))
|
||||
`(dired-perm-write ((,class (:foreground ,red1))))
|
||||
`(dired-warning ((,class (:underline ,red3))))
|
||||
`(dired-mark ((,class (:inherit diredp-flag-mark-line))))
|
||||
|
||||
;; Dired+
|
||||
`(diredp-dir-name ((,class (:inherit dired-directory))))
|
||||
`(diredp-dir-heading ((,class (:inherit dired-header))))
|
||||
`(diredp-file-name ((,class (:foreground ,brown1))))
|
||||
`(diredp-file-suffix ((,class (:foreground ,brown1))))
|
||||
`(diredp-symlink ((,class (:inherit dired-symlink))))
|
||||
`(diredp-ignored-file-name ((,class (:foreground ,grey1))))
|
||||
`(diredp-compressed-file-suffix ((,class (:foreground ,purple1))))
|
||||
`(diredp-deletion-file-name ((,class (:foreground ,red1 :bold t))))
|
||||
`(diredp-deletion ((,class (:inherit diredp-deletion-file-name))))
|
||||
`(diredp-flag-mark-line ((,class (:foreground ,fg :bold t))))
|
||||
`(diredp-flag-mark ((,class (:inherit diredp-flag-mark-line))))
|
||||
`(diredp-mode-line-marked ((,class (:foreground ,purple1 :bold t))))
|
||||
`(diredp-mode-line-flagged ((,class (:foreground ,red1 :bold t))))
|
||||
`(diredp-executable-tag ((,class (:foreground ,red1 :bold t))))
|
||||
`(diredp-number ((,class (:foreground ,purple1))))
|
||||
`(diredp-date-time ((,class (:foreground ,green1))))
|
||||
`(diredp-read-priv ((,class (:foreground ,green1))))
|
||||
`(diredp-write-priv ((,class (:foreground ,blue1))))
|
||||
`(diredp-exec-priv ((,class (:foreground ,red1))))
|
||||
`(diredp-link-priv ((,class (:foreground ,aqua1))))
|
||||
`(diredp-no-priv ((,class (:foreground ,grey2))))
|
||||
`(diredp-dir-priv ((,class (:foreground ,brown1))))
|
||||
`(diredp-rare-priv ((,class (:foreground ,yellow2 :bold t))))
|
||||
`(diredp-other-priv ((,class (:foreground ,yellow2 :bold t))))
|
||||
|
||||
;; NeoTree
|
||||
`(neo-banner-face ((,class (:foreground ,red1 :bold t :underline t :height 1.4))))
|
||||
`(neo-dir-link-face ((,class (:foreground ,blue1))))
|
||||
`(neo-expand-btn-face ((,class (:foreground ,green2 :bold t))))
|
||||
`(neo-file-link-face ((,class (:foreground ,brown1))))
|
||||
`(neo-header-face ((,class (:foreground ,brown1))))
|
||||
`(neo-root-dir-face ((,class (:foreground ,purple1 :bold t :underline t))))
|
||||
|
||||
;; treemacs
|
||||
`(treemacs-root-face ((,class (:foreground ,purple2 :bold t :underline t :overline t :height 1.2))))
|
||||
`(treemacs-help-title-face ((,class (:inherit font-lock-doc-face))))
|
||||
|
||||
;; Rust & Racer
|
||||
`(cargo-process--standard-face ((,class (:foreground ,blue1))))
|
||||
`(cargo-process--ok-face ((,class (:foreground ,green1))))
|
||||
`(cargo-process--warning-face ((,class (:foreground ,yellow1))))
|
||||
`(cargo-process--error-face ((,class (:foreground ,red1 :bold t))))
|
||||
`(cargo-process--pointer-face ((,class (:foreground ,purple2))))
|
||||
`(racer-help-heading-face ((,class (:foreground ,purple2 :underline t :bold t :height 1.1))))
|
||||
`(rust-unsafe-face ((,class (:foreground ,red1 :bold t :underline t))))
|
||||
|
||||
;; Mardown
|
||||
`(markdown-blockquote-face ((,class (:foreground ,brown1))))
|
||||
`(markdown-bold-face ((,class (:foreground ,orange1 :bold t))))
|
||||
`(markdown-comment-face ((,class (:inherit font-lock-comment-face))))
|
||||
`(markdown-footnote-face ((,class (:foreground ,red3 :bold t))))
|
||||
`(markdown-gfm-checkbox-face ((,class (:foreground ,red1 :background ,bg2 :box (:color ,grey1 :style released-button :line-width -1) :bold t))))
|
||||
`(markdown-header-delimiter-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(markdown-header-rule-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(markdown-header-face ((,class (:foreground ,purple1 :height 1.3))))
|
||||
`(markdown-header-face-1 ((,class (:foreground ,purple1 :height 1.2))))
|
||||
`(markdown-header-face-2 ((,class (:foreground ,purple1 :height 1.1))))
|
||||
`(markdown-header-face-3 ((,class (:foreground ,purple1 :height 1.05))))
|
||||
`(markdown-header-face-4 ((,class (:foreground ,purple1))))
|
||||
`(markdown-header-face-5 ((,class (:foreground ,purple1))))
|
||||
`(markdown-header-face-6 ((,class (:foreground ,purple1))))
|
||||
`(markdown-highlight-face ((,class (:inherit highlight))))
|
||||
`(markdown-inline-code-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(markdown-italic-face ((,class (:foreground ,orange1 :italic t))))
|
||||
`(markdown-language-keyword-face ((,class (:foreground ,red1 :bold t :underline t))))
|
||||
`(markdown-line-break-face ((,class (:inherit link :height 2.0))))
|
||||
`(markdown-list-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(markdown-link-face ((,class (:inherit link :underline nil))))
|
||||
`(markdown-link-title-face ((,class (:foreground ,blue1))))
|
||||
`(markdown-markup-face ((,class (:foreground ,yellow1))))
|
||||
`(markdown-math-face ((,class (:inherit markdown-inline-code-face))))
|
||||
`(markdown-metadata-key-face ((,class (:foreground ,green1))))
|
||||
`(markdown-metadata-value-face ((,class (:foreground ,red3))))
|
||||
`(markdown-missing-link-face ((,class (:inherit font-lock-warning-face))))
|
||||
`(markdown-pre-face ((,class (:inherit markdown-blockquote-face))))
|
||||
`(markdown-reference-face ((,class (:foreground ,purple1))))
|
||||
`(markdown-strike-through-face ((,class (:foreground ,orange1 :strike-through t))))
|
||||
`(markdown-url-face ((,class (:inherit link))))
|
||||
|
||||
;; Ace
|
||||
`(ace-jump-face-foreground ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(aw-leading-char-face ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
|
||||
;; Describe
|
||||
`(describe-variable-value ((,class (:foreground ,brown1))))
|
||||
|
||||
;; Ivy
|
||||
`(ivy-minibuffer-match-face-1 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-minibuffer-match-face-2 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-minibuffer-match-face-3 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-minibuffer-match-face-4 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-confirm-face ((,class (:background ,orange2 :foreground ,black2))))
|
||||
`(ivy-cursor ((,class (:background ,brown2 :foreground ,black2))))
|
||||
`(ivy-current-match ((,class (:background ,black1))))
|
||||
`(ivy-action ((,class (:background ,aqua2 :foreground ,black2))))
|
||||
`(ivy-match-required-face ((,class (:background ,aqua1 :foreground ,black2))))
|
||||
`(ivy-remote ((,class (:foreground ,aqua1))))
|
||||
`(ivy-modified-buffer ((,class (:foreground ,fg :underline ,green2))))
|
||||
`(ivy-virtual ((,class (:foreground ,purple1))))
|
||||
`(ivy-subdir ((,class (:foreground ,blue1))))
|
||||
|
||||
;; Avy
|
||||
`(avy-background-face ((,class (:background ,grey3))))
|
||||
`(avy-lead-face ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(avy-lead-face-0 ((,class (:background ,blue1 :foreground ,black1))))
|
||||
`(avy-lead-face-1 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(avy-lead-face-2 ((,class (:background ,blue1 :foreground ,black1))))
|
||||
|
||||
;; imenu list
|
||||
`(imenu-list-entry-subalist-face-0 ((,class (:foreground ,green1))))
|
||||
`(imenu-list-entry-subalist-face-1 ((,class (:foreground ,yellow1))))
|
||||
`(imenu-list-entry-subalist-face-2 ((,class (:foreground ,green1))))
|
||||
`(imenu-list-entry-subalist-face-3 ((,class (:foreground ,blue1))))
|
||||
`(imenu-list-entry-face-0 ((,class (:foreground ,blue1))))
|
||||
`(imenu-list-entry-face-1 ((,class (:foreground ,blue1))))
|
||||
`(imenu-list-entry-face-2 ((,class (:foreground ,aqua1))))
|
||||
`(imenu-list-entry-face-3 ((,class (:foreground ,blue1))))
|
||||
|
||||
;; LaTeX
|
||||
`(font-latex-bold-face ((,class (:foreground ,orange1 :bold t))))
|
||||
`(font-latex-italic-face ((,class (:foreground ,orange1 :italic t))))
|
||||
`(font-latex-string-face ((,class (:foreground ,green1))))
|
||||
`(font-latex-math-face ((,class (:foreground ,aqua1))))
|
||||
`(font-latex-verbatim-face ((,class (:foreground ,orange2))))
|
||||
`(font-latex-warning-face ((,class (:foreground ,red1))))
|
||||
`(font-latex-sedate-face ((,class (:foreground ,blue1))))
|
||||
`(font-latex-sectioning-0-face ((,class (:foreground ,yellow1 :height 1.5))))
|
||||
`(font-latex-sectioning-1-face ((,class (:foreground ,yellow1 :height 1.4))))
|
||||
`(font-latex-sectioning-2-face ((,class (:foreground ,yellow1 :height 1.3))))
|
||||
`(font-latex-sectioning-3-face ((,class (:foreground ,yellow1 :height 1.2))))
|
||||
`(font-latex-sectioning-4-face ((,class (:foreground ,yellow1 :height 1.1))))
|
||||
`(font-latex-sectioning-5-face ((,class (:foreground ,yellow1))))
|
||||
`(preview-reference-face ((,class (:foreground ,fg :height 1.1))))
|
||||
`(TeX-error-description-error ((,class (:foreground ,red1 :bold t))))
|
||||
`(TeX-error-description-tex-said ((,class (:foreground ,purple1))))
|
||||
|
||||
;; Undo Tree
|
||||
`(undo-tree-visualizer-current-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(undo-tree-visualizer-default-face ((,class (:foreground ,fg))))
|
||||
`(undo-tree-visualizer-active-branch-face ((,class (:foreground ,red1))))
|
||||
`(undo-tree-visualizer-register-face ((,class (:foreground ,purple2))))
|
||||
`(undo-tree-visualizer-unmodified-face ((,class (:foreground ,green2))))
|
||||
|
||||
;; Terminal
|
||||
`(term ((,class (:foreground ,brown1))))
|
||||
`(term-bold ((,class (:bold t))))
|
||||
`(term-underline ((,class (:underline t))))
|
||||
`(term-color-black ((,class (:foreground ,black2))))
|
||||
`(term-color-blue ((,class (:foreground ,blue1))))
|
||||
`(term-color-red ((,class (:foreground ,red1))))
|
||||
`(term-color-green ((,class (:foreground ,green1))))
|
||||
`(term-color-yellow ((,class (:foreground ,yellow1))))
|
||||
`(term-color-magenta ((,class (:foreground ,purple1))))
|
||||
`(term-color-cyan ((,class (:foreground ,aqua1))))
|
||||
`(term-color-white ((,class (:foreground ,fg))))
|
||||
|
||||
;; Whitespace
|
||||
`(whitespace-big-indent ((,class (:foreground ,grey1))))
|
||||
`(whitespace-empty ((,class (:background ,grey1))))
|
||||
`(whitespace-trailing ((,class (:foreground ,grey1))))
|
||||
`(whitespace-hspace ((,class (:background ,grey1))))
|
||||
`(whitespace-indentation ((,class (:background ,grey1))))
|
||||
`(whitespace-line ((,class (:foreground ,grey1))))
|
||||
`(whitespace-newline ((,class (:foreground ,grey1))))
|
||||
`(whitespace-space ((,class (:foreground ,grey1))))
|
||||
`(whitespace-space-after-tab ((,class (:foreground ,grey1))))
|
||||
`(whitespace-space-before-tab ((,class (:foreground ,grey1))))
|
||||
`(whitespace-tab ((,class (:foreground ,grey1))))
|
||||
`(whitespace-trailing ((,class (:foreground ,grey1))))
|
||||
|
||||
;; info manual
|
||||
`(info-title-1 ((,class (:foreground ,purple1 :bold t :height 2.0))))
|
||||
`(info-title-2 ((,class (:foreground ,purple1 :bold t :height 1.75))))
|
||||
`(info-title-3 ((,class (:foreground ,purple1 :bold t :height 1.5))))
|
||||
`(info-title-4 ((,class (:foreground ,purple1 :bold t :height 1.25))))
|
||||
`(info-header-node ((,class (:foreground ,red1 :bold t :underline t))))
|
||||
`(info-menu-header ((,class (:foreground ,purple1 :bold t))))
|
||||
`(info-menu-star ((,class (:foreground ,green2 :bold t))))
|
||||
`(info-quoted-name ((,class (:foreground ,blue1 :bold t))))
|
||||
`(info-double-quoted-name ((,class (:foreground ,green1))))
|
||||
`(info-xref ((,class (:foreground ,aqua1 :underline t :bold t))))
|
||||
|
||||
;; Helm
|
||||
`(helm-action ((,class (:foreground ,red1))))
|
||||
`(helm-bookmark-addressbook ((,class (:foreground ,purple1))))
|
||||
`(helm-bookmark-directory ((,class (:foreground ,blue1))))
|
||||
`(helm-bookmark-file ((,class (:foreground ,brown1))))
|
||||
`(helm-bookmark-gnus ((,class (:foreground ,aqua1))))
|
||||
`(helm-bookmark-info ((,class (:foreground ,green1))))
|
||||
`(helm-bookmark-man ((,class (:foreground ,yellow1))))
|
||||
`(helm-bookmark-w3m ((,class (:foreground ,red1))))
|
||||
`(helm-buffer-directory ((,class (:foreground ,blue1))))
|
||||
`(helm-buffer-file ((,class (:foreground ,fg))))
|
||||
`(helm-buffer-not-saved ((,class (:foreground ,fg :underline (:style wave :color, green2)))))
|
||||
`(helm-buffer-process ((,class (:foreground ,orange1))))
|
||||
`(helm-buffer-saved-out ((,class (:foreground ,fg :underline (:style wave :color ,red1)))))
|
||||
`(helm-buffer-size ((,class (:foreground ,green1))))
|
||||
`(helm-candidate-number ((,class (:background ,yellow2 :foreground ,black2))))
|
||||
`(helm-etags-file ((,class (:height 2.0 :background ,fg :foreground ,blue3)))) ;; TODO
|
||||
`(helm-ff-directory ((,class (:foreground ,blue1))))
|
||||
`(helm-ff-dirs ((,class (:height 2.0 :background ,fg :foreground ,blue3)))) ;; TODO
|
||||
`(helm-ff-dotted-directory ((,class (:foreground ,orange1))))
|
||||
`(helm-ff-dotted-symlink-directory ((,class (:foreground ,orange1))))
|
||||
`(helm-ff-executable ((,class (:foreground ,red1))))
|
||||
`(helm-ff-file ((,class (:foreground ,brown1))))
|
||||
`(helm-ff-invalid-symlink ((,class (:foreground ,aqua1 :underline (:style wave :color ,red1)))))
|
||||
`(helm-ff-prefix ((,class (:foreground ,purple1))))
|
||||
`(helm-ff-symlink ((,class (:foreground ,aqua1))))
|
||||
`(helm-ff-file-extension ((,class (:foreground ,green1))))
|
||||
`(helm-grep-cmd-line ((,class (:foreground ,aqua1))))
|
||||
`(helm-grep-file ((,class (:foreground ,blue1))))
|
||||
`(helm-grep-finish ((,class (:foreground ,yellow2 :background ,bg2 :box (:color ,black2 :line-width -1) :bold t))))
|
||||
`(helm-grep-lineno ((,class (:foreground ,green1))))
|
||||
`(helm-grep-match ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-history-deleted ((,class (:height 2.0 :background ,fg :foreground ,red1)))) ;; TODO
|
||||
`(helm-history-remote ((,class (:height 2.0 :background ,fg :foreground ,green1)))) ;; TODO
|
||||
`(helm-header ((,class (:foreground ,grey2))))
|
||||
`(helm-header-line-left-margin ((,class (:foreground ,purple2 :bold t))))
|
||||
`(helm-lisp-completion-info ((,class (:height 2.0 :background ,fg :foreground ,purple2)))) ;; TODO
|
||||
`(helm-lisp-show-completion ((,class (:height 2.0 :background ,fg :foreground ,blue2)))) ;; TODO
|
||||
`(helm-match ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-match-item ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-moccur-buffer ((,class (:inherit helm-grep-file))))
|
||||
`(helm-M-x-key ((,class (:foreground ,yellow1 :bold t))))
|
||||
`(helm-prefarg ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(helm-resume-need-update ((,class (:height 2.0 :background ,fg :foreground ,aqua2)))) ;; TODO
|
||||
`(helm-selection ((,class (:background ,black1 :extend t))))
|
||||
`(helm-selection-line ((,class (:background ,grey3))))
|
||||
`(helm-separator ((,class (:foreground ,green1 :bold t))))
|
||||
`(helm-source-header ((,class (:background ,aqua2 :foreground ,black2 :underline t :extend t))))
|
||||
`(helm-visible-mark ((,class (:foreground ,fg :bold t))))
|
||||
|
||||
;;Helm swoop
|
||||
`(helm-swoop-line-number-face ((,class (:inherit linum))))
|
||||
`(helm-swoop-target-line-face ((,class (:inherit hl-line))))
|
||||
`(helm-swoop-target-word-face ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-swoop-target-line-block-face ((,class (:foreground ,red3 :background ,green1)))) ;; TODO
|
||||
|
||||
;;Helm xref
|
||||
`(helm-xref-file-name ((,class (:foreground ,purple1))))
|
||||
`(helm-xref-line-number ((,class (:foreground ,green1 :bold t))))
|
||||
|
||||
;; Magit
|
||||
`(magit-bisect-bad ((,class (:height 2.0 :foreground ,red1 :background ,red3)))) ;; TODO
|
||||
`(magit-bisect-good ((,class (:height 2.0 :foreground ,red1 :background ,green2)))) ;; TODO
|
||||
`(magit-bisect-skip ((,class (:height 2.0 :foreground ,red1 :background ,blue2)))) ;; TODO
|
||||
`(magit-blame-date ((,class (:background ,bg2 :foreground ,green1 :bold t))))
|
||||
`(magit-blame-hash ((,class (:background ,bg2 :foreground ,brown1 :bold t))))
|
||||
`(magit-blame-heading ((,class (:background ,bg2 :bold t))))
|
||||
`(magit-blame-name ((,class (:background ,bg2 :foreground ,blue2 :bold t))))
|
||||
`(magit-blame-summary ((,class (:background ,bg2 :foreground ,brown1 :bold t))))
|
||||
`(magit-branch-current ((,class (:foreground ,blue2 :bold t))))
|
||||
`(magit-branch-remote-head ((,class (:foreground ,purple2 :bold t))))
|
||||
`(magit-branch-remote ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(magit-branch-local ((,class (:foreground ,brown2 :bold t))))
|
||||
`(magit-cherry-equivalent ((,class (:foreground ,blue1))))
|
||||
`(magit-cherry-unmatched ((,class (:foreground ,red1))))
|
||||
`(magit-diff-added ((,class (:foreground ,green1))))
|
||||
`(magit-diff-added-highlight ((,class (:background ,bg2 :inherit magit-diff-added))))
|
||||
`(magit-diff-base ((,class (:foreground ,red3 :background ,aqua2)))) ;; TODO
|
||||
`(magit-diff-base-highlight ((,class (:foreground ,red3 :background ,green2)))) ;; TODO
|
||||
`(magit-diff-conflict-heading ((,class (:foreground ,black1 :background ,purple2 :bold t))))
|
||||
`(magit-diff-context ((,class (:foreground ,fg))))
|
||||
`(magit-diff-context-highlight ((,class (:background ,bg2))))
|
||||
`(magit-diff-file-heading ((,class (:foreground ,fg))))
|
||||
`(magit-diff-file-heading-highlight ((,class (:background ,bg2))))
|
||||
`(magit-diff-file-heading-selection ((,class (:foreground ,red3 :background ,green2))))
|
||||
`(magit-diff-hunk-heading ((,class (:foreground ,blue2 :bold t))))
|
||||
`(magit-diff-hunk-heading-highlight ((,class (:background ,bg2 :inherit magit-diff-hunk-heading))))
|
||||
`(magit-diff-lines-boundary ((,class (:background ,yellow2))))
|
||||
`(magit-diff-lines-heading ((,class (nil))))
|
||||
`(magit-diff-our ((,class (:foreground ,orange2))))
|
||||
`(magit-diff-our-highlight ((,class (:foreground ,orange2 :background ,bg2))))
|
||||
`(magit-diff-removed ((,class (:foreground ,red1))))
|
||||
`(magit-diff-removed-highlight ((,class (:background ,bg2 :inherit magit-diff-removed))))
|
||||
`(magit-diff-their ((,class (:foreground ,brown1))))
|
||||
`(magit-diff-their-highlight ((,class (:foreground ,brown1 :background ,bg2))))
|
||||
`(magit-whitespace-warning-face ((,class (:foreground ,red1))))
|
||||
`(magit-diffstat-added ((,class (:foreground ,green1))))
|
||||
`(magit-diffstat-removed ((,class (:foreground ,red1))))
|
||||
`(magit-dimmed ((,class (:inherit font-lock-comment-face))))
|
||||
`(magit-filename ((,class (:foreground ,fg))))
|
||||
`(magit-hash ((,class (:foreground ,orange1))))
|
||||
`(magit-head ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-header-line ((,class (:inherit magit-section-heading))))
|
||||
`(magit-log-graph ((,class (:foreground ,orange2))))
|
||||
`(magit-log-author ((,class (:foreground ,blue1))))
|
||||
`(magit-log-date ((,class (:foreground ,green1))))
|
||||
`(magit-process-ng ((,class (:inherit error))))
|
||||
`(magit-process-ok ((,class (:inherit success))))
|
||||
`(magit-reflog-amend ((,class (:foreground ,brown1 :bold t))))
|
||||
`(magit-reflog-checkout ((,class (:foreground ,blue1 :bold t))))
|
||||
`(magit-reflog-cherry-pick ((,class (:foreground ,yellow1 :bold t))))
|
||||
`(magit-reflog-commit ((,class (:foreground ,green1 :bold t))))
|
||||
`(magit-reflog-merge ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(magit-reflog-other ((,class (:foreground ,fg :bold t))))
|
||||
`(magit-reflog-rebase ((,class (:foreground ,orange1 :bold t))))
|
||||
`(magit-reflog-remote ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-reflog-reset ((,class (:foreground ,red1 :bold t))))
|
||||
`(magit-refname ((,class (:height 2.0 :foreground ,purple2 :background ,black1)))) ;; TODO
|
||||
`(magit-refname-stash ((,class (:height 2.0 :foreground ,red1 :background ,black1)))) ;; TODO
|
||||
`(magit-refname-wip ((,class (:height 2.0 :foreground ,red1 :background ,black1)))) ;; TODO
|
||||
`(magit-refname-pullreq ((,class (:foreground ,orange2 :bold t))))
|
||||
`(magit-section-heading ((,class (:foreground ,purple1 :underline t :height 1.2))))
|
||||
`(magit-section-heading-selection ((,class (:foreground ,green1 :background ,black2))))
|
||||
`(magit-section-highlight ((,class (:background ,bg2))))
|
||||
`(magit-section-secondary-heading ((,class (:foreground ,purple1))))
|
||||
`(magit-sequence-done ((,class (:foreground ,grey1))))
|
||||
`(magit-sequence-drop ((,class (:foreground ,orange1 :bold t))))
|
||||
`(magit-sequence-head ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-sequence-onto ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-sequence-part ((,class (:foreground ,blue1 :bold t))))
|
||||
`(magit-sequence-pick ((,class (:foreground ,green1 :bold t))))
|
||||
`(magit-sequence-stop ((,class (:foreground ,red1 :bold t))))
|
||||
`(magit-signature-bad ((,class (:foreground ,yellow1 :italic t :underline (:style wave)))))
|
||||
`(magit-signature-good ((,class (:foreground ,green1 :italic t :underline t))))
|
||||
`(magit-signature-untrusted ((,class (:foreground ,red1 :italic t :underline (:style wave)))))
|
||||
`(magit-tag ((,class (:foreground ,yellow1 :bold t))))
|
||||
|
||||
;; Diff
|
||||
`(diff-refine-added ((,class (:foreground ,green2 :background ,green3 :bold t))))
|
||||
`(diff-refine-removed ((,class (:foreground ,red2 :background ,red4 :bold t))))
|
||||
`(diff-refine-changed ((,class (:foreground ,blue1 :background ,black1 :bold t))))
|
||||
|
||||
;; Git
|
||||
`(git-commit-keyword ((,class (:foreground ,brown2 :bold t))))
|
||||
`(git-commit-comment-action ((,class (:foreground ,orange1))))
|
||||
`(git-commit-comment-branch ((,class (:foreground ,blue1 :bold t))))
|
||||
`(git-commit-comment-detached ((,class (:foreground ,aqua1))))
|
||||
`(git-commit-comment-file ((,class (:foreground ,green1))))
|
||||
`(git-commit-comment-heading ((,class (:foreground ,purple1 :underline t))))
|
||||
`(git-commit-known-pseudo-header ((,class (:inherit git-commit-pseudo-header))))
|
||||
`(git-commit-nonempty-second-line ((,class (:foreground ,red1 :underline t))))
|
||||
`(git-commit-overlong-summary ((,class (:foreground ,red1))))
|
||||
`(git-commit-pseudo-header ((,class (:foreground ,purple1 :underline t :height 1.3))))
|
||||
`(git-commit-summary ((,class (:foreground ,yellow1))))
|
||||
`(git-rebase-hash ((,class (:inherit magit-hash))))
|
||||
`(git-rebase-description ((,class (:foreground ,fg))))
|
||||
`(git-rebase-killed-action ((,class (:foreground ,red1))))
|
||||
|
||||
;; Git Rebase
|
||||
`(git-rebase-description ((,class (:foreground ,fg))))
|
||||
`(git-rebase-hash ((,class (:foreground ,orange1))))
|
||||
`(git-rebase-killed-action ((,class (:foreground ,grey1 :strike-through t))))
|
||||
|
||||
;; Git gutter
|
||||
`(git-gutter:added ((,class (:foreground ,green1))))
|
||||
`(git-gutter:deleted ((,class (:foreground ,red1))))
|
||||
`(git-gutter:modified ((,class (:foreground ,blue1))))
|
||||
`(git-gutter+-added ((,class (:inherit git-gutter:added))))
|
||||
`(git-gutter+-deleted ((,class (:inherit git-gutter:deleted))))
|
||||
`(git-gutter+-modified ((,class (:inherit git-gutter:modified))))
|
||||
`(git-gutter-fr:added ((,class (:inherit git-gutter:added))))
|
||||
`(git-gutter-fr:deleted ((,class (:inherit git-gutter:deleted))))
|
||||
`(git-gutter-fr:modified ((,class (:inherit git-gutter:modified))))
|
||||
`(git-gutter-fr+-added ((,class (:inherit git-gutter:added))))
|
||||
`(git-gutter-fr+deleted ((,class (:inherit git-gutter:deleted))))
|
||||
`(git-gutter-fr+modified ((,class (:inherit git-gutter:modified))))
|
||||
|
||||
;; Transient
|
||||
`(transient-heading ((,class (:foreground ,purple1 :bold t))))
|
||||
`(transient-key ((,class (:foreground ,blue1 :bold t))))
|
||||
`(transient-value ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(transient-argument ((,class (:foreground ,orange1 :bold t))))
|
||||
`(transient-unreachable-key ((,class (:foreground ,grey1 :bold t))))
|
||||
`(transient-active-infix ((,class (:foreground ,green2 :bold t))))
|
||||
`(transient-unreachable ((,class (:foreground ,grey1))))
|
||||
`(transient-teal ((,class (:inherit hydra-face-teal))))
|
||||
`(transient-pink ((,class (:inherit hydra-face-pink))))
|
||||
`(transient-amaranth ((,class (:inherit hydra-face-amaranth))))
|
||||
`(transient-blue ((,class (:inherit hydra-face-blue))))
|
||||
`(transient-red ((,class (:inherit hydra-face-red))))
|
||||
|
||||
`(transient-inacitve-argument ((,class (:foreground ,brown1 :background ,black2))))
|
||||
`(transient-inacitve-value ((,class (:foreground ,orange1 :background ,black2))))
|
||||
`(transient-disabled-suffix ((,class (:foreground ,purple1 :background ,black2))))
|
||||
`(transient-enabled-suffix ((,class (:foreground ,red3 :background ,black2))))
|
||||
`(transient-inapt-suffix ((,class (:foreground ,aqua1 :background ,black2))))
|
||||
`(transient-mismatched-key ((,class (:foreground ,blue2 :background ,black2))))
|
||||
`(transient-nonstandard-key ((,class (:foreground ,brown2 :background ,black2))))
|
||||
`(transient-separator ((,class (:foreground ,orange2 :background ,black2))))
|
||||
|
||||
;; Diff hl
|
||||
`(diff-hl-change ((,class (:background ,blue2 :foreground ,black1))))
|
||||
`(diff-hl-delete ((,class (:background ,red1 :foreground ,black1))))
|
||||
`(diff-hl-insert ((,class (:background ,green2 :foreground ,black1))))
|
||||
|
||||
;; Compilation
|
||||
`(compilation-info ((,class (:foreground ,brown1))))
|
||||
`(compilation-error ((,class (:foreground ,red2))))
|
||||
`(compilation-line-number ((,class (:foreground ,green1))))
|
||||
`(compilation-column-number ((,class (:foreground ,green1))))
|
||||
|
||||
;; company
|
||||
`(company-tooltip-common-selection ((,class (:background ,bg2 :foreground ,red1))))
|
||||
`(company-tooltip-selection ((,class (:background ,bg2 :foreground ,fg :extend t))))
|
||||
`(company-scrollbar-bg ((,class (:background ,grey1))))
|
||||
`(company-scrollbar-fg ((,class (:background ,red3))))
|
||||
`(company-tooltip ((,class (:background ,grey2 :foreground ,fg ))))
|
||||
`(company-tooltip-search ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-tooltip-search-selection ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-tooltip-annotation ((,class (:background ,grey2 :foreground ,aqua1 :bold t))))
|
||||
`(company-tooltip-annotation-selection ((,class (:background ,bg2 :foreground ,aqua1 :bold t))))
|
||||
`(company-tooltip-common ((,class (:foreground ,red1))))
|
||||
`(company-preview-common ((,class (:foreground ,grey1 :background ,grey3))))
|
||||
`(company-preview ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-tooltip-mouse ((,class (:inherit company-tooltip-sele))))
|
||||
`(company-echo-common ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-template-field ((,class (:inherit yas-field-highlight-face))))
|
||||
|
||||
;; Org-Mode
|
||||
`(org-agenda-calendar-event ((,class (:foreground ,blue2 :bold t))))
|
||||
`(org-agenda-calendar-sexp ((,class (:foreground ,blue2 :bold t))))
|
||||
`(org-agenda-clocking ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-column-dateline ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-current-time ((,class (:foreground ,brown1 :bold t))))
|
||||
`(org-agenda-date ((,class (:foreground ,brown1 :bold t))))
|
||||
`(org-agenda-date-weekend ((,class (:foreground ,brown2 :bold t))))
|
||||
`(org-agenda-date-today ((,class (:foreground ,red3 :bold t :italic t :height 1.5))))
|
||||
`(org-agenda-diary ((,class (:foreground ,red2 :bold t))))
|
||||
`(org-agenda-dimmed-todo-face ((,class (:foreground ,grey1))))
|
||||
`(org-agenda-done ((,class (:foreground ,green1))))
|
||||
`(org-agenda-filter-category ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-filter-regexp ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-filter-tags ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-restriction-lock ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-structure ((,class (:foreground ,purple1 :bold t :height 1.5))))
|
||||
`(org-super-agenda-header ((,class (:foreground ,green2 :bold t :height 1.3))))
|
||||
`(org-archived ((,class (:foreground ,grey1 :bold t))))
|
||||
`(org-block ((,class (:background ,bg2 :extend t))))
|
||||
`(org-block-begin-line ((,class (:background ,brown2 :foreground ,bg2 :bold t :extend t))))
|
||||
`(org-block-end-line ((,class (:background ,brown2 :foreground ,bg2 :bold t :extend t))))
|
||||
`(org-checkbox ((,class (:background ,bg2 :foreground ,brown2 :bold t :box (:color ,brown2 :line-width -1)))))
|
||||
`(org-checkbox-statistics-done ((,class (:background ,green1 :foreground ,black1 :box (:color ,black1 :line-width -1) :bold t))))
|
||||
`(org-checkbox-statistics-todo ((,class (:background ,red2 :foreground ,black1 :box (:color ,black1 :line-width -1) :bold t))))
|
||||
`(org-clock-overlay ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-code ((,class (:foreground ,purple1 :bold t))))
|
||||
`(org-column ((,class ())))
|
||||
`(org-column-title ((,class (:foreground ,purple1 :background ,bg2 :bold t :underline t))))
|
||||
`(org-date ((,class (:foreground ,brown2 :bold t))))
|
||||
`(org-date-selected ((,class (:foreground ,black1 :background ,purple2 :bold t :box (:color ,black1 :line-with -1)))))
|
||||
`(org-default ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-done ((,class (:background ,green1 :foreground ,black1 :bold t :box (:color ,black2 :line-width -1)))))
|
||||
`(org-document-info ((,class (:foreground ,red2 :bold t :height 1.4))))
|
||||
`(org-document-info-keyword ((,class (:foreground ,purple2 :bold t :height 1.4))))
|
||||
`(org-document-title ((,class (:foreground ,red2 :bold t :height 1.4))))
|
||||
`(org-drawer ((,class (:inherit org-special-keyword))))
|
||||
`(org-ellipsis ((,class (:foreground ,grey1 :bold t :box nil :underline nil :overline nil))))
|
||||
`(org-footnote ((,class (:foreground ,grey1 :background ,grey3 :bold t))))
|
||||
`(org-formula ((,class (:foreground ,green1 :background ,bg2))))
|
||||
`(org-habit-alert-face ((,class (:background ,yellow1 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-alert-future-face ((,class (:background ,yellow2 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-clear-face ((,class (:background ,blue2 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-clear-future-face ((,class (:background ,blue1 :foreground ,black2 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-overdue-face ((,class (:background ,red3 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-overdue-future-face ((,class (:background ,red1 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-ready-face ((,class (:background ,green1 :foreground ,black2 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-ready-future-face ((,class (:background ,green2 :foreground ,black2 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-headline-done ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-hide ((,class (:foreground ,bg))))
|
||||
`(org-indent ((,class (:foreground ,bg))))
|
||||
`(org-kbd ((,class (:foreground ,fg :italic t :bold t))))
|
||||
`(org-latex-and-related ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-level-1 ((,class (:foreground ,blue1))))
|
||||
`(org-level-2 ((,class (:foreground ,orange1))))
|
||||
`(org-level-3 ((,class (:foreground ,green1))))
|
||||
`(org-level-4 ((,class (:foreground ,yellow1))))
|
||||
`(org-level-5 ((,class (:foreground ,blue1))))
|
||||
`(org-level-6 ((,class (:foreground ,orange1))))
|
||||
`(org-level-7 ((,class (:foreground ,green1))))
|
||||
`(org-level-8 ((,class (:foreground ,yellow1))))
|
||||
`(org-link ((,class (:foreground ,aqua2 :bold t :underline t))))
|
||||
`(org-list-dt ((,class (:foreground ,purple1 :bold t))))
|
||||
`(org-macro ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-meta-line ((,class (:foreground ,purple2 :bold t))))
|
||||
`(org-mode-line-clock ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-mode-line-clock-overrun ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-priority ((,class (:background ,purple1 :foreground ,black1 :bold t :box (:line-width -1 :color ,black2)))))
|
||||
`(org-property-value ((,class (:foreground ,brown2 :bold t))))
|
||||
`(org-quote ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-scheduled ((,class (:foreground ,green1))))
|
||||
`(org-scheduled-previously ((,class (:foreground ,purple1))))
|
||||
`(org-scheduled-today ((,class (:foreground ,aqua1))))
|
||||
`(org-sexp-date ((,class (:inherit org-date))))
|
||||
`(org-special-keyword ((,class (:foreground ,purple2 :underline t :bold t))))
|
||||
`(org-table ((,class (:foreground ,brown1 :background ,bg2))))
|
||||
`(org-tag ((,class (:foreground ,grey1))))
|
||||
`(org-tag-group ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-target ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-time-grid ((,class (:foreground ,brown1))))
|
||||
`(org-upcoming-distant-deadline ((,class (:foreground ,yellow1))))
|
||||
`(org-agenda-current-time ((,class (:foreground ,brown1 :background ,bg2 :bold t))))
|
||||
;;`(org-todo ((,class (:background ,red2 :foreground ,black1 :bold t :box (:line-width -1 :color ,black2)))))
|
||||
`(org-upcoming-deadline ((,class (:foreground ,orange2))))
|
||||
`(org-verbatim ((,class (:foreground ,green2 :bold t :italic t))))
|
||||
`(org-warning ((,class (:foreground ,yellow2 :bold t))))
|
||||
|
||||
;; Comint
|
||||
`(comint-highlight-prompt ((,class (:foreground ,purple2 :bold t))))
|
||||
`(comint-highlight-input ((,class (:foreground ,blue1))))
|
||||
|
||||
;; Ledger
|
||||
`(ledger-font-xact-highlight-face ((,class (:background ,grey3))))
|
||||
`(ledger-font-posting-account-face ((,class (:foreground ,blue1))))
|
||||
`(ledger-font-posting-amount-face ((,class (:foreground ,brown1))))
|
||||
`(ledger-font-posting-date-face ((,class (:foreground ,purple1 :bold t))))
|
||||
`(ledger-font-payee-uncleared-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(ledger-font-payee-cleared-face ((,class (:foreground ,green2 :bold t))))
|
||||
`(ledger-font-price-symbol-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(ledger-font-price-face ((,class (:foreground ,brown2 :bold t))))
|
||||
`(ledger-font-price-date-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(ledger-font-price-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-commodity-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-include-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-account-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-tag-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-commodity-name-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(ledger-font-tag-name-face ((,class (:foreground ,yellow1))))
|
||||
`(ledger-font-commodity-format-face ((,class (:foreground ,green1))))
|
||||
`(ledger-font-include-filename-face ((,class (:foreground ,green1))))
|
||||
`(ledger-occur-xact-face ((,class (:background ,grey1 :foreground ,bg))))
|
||||
`(ledger-font-auto-xact-face ((,class (:foreground ,aqua1))))
|
||||
|
||||
;; ERC
|
||||
`(erc-timestamp-face ((,class (:foreground ,brown2 :bold t))))
|
||||
`(erc-nick-default-face ((,class (:foreground ,purple1))))
|
||||
`(erc-nick-msg-face ((,class (:foreground ,purple2 :bold t))))
|
||||
`(erc-current-nick-face ((,class (:foreground ,aqua1))))
|
||||
`(erc-default-face ((,class (:foreground ,fg))))
|
||||
`(erc-error-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(erc-notice-face ((,class (:foreground ,green1))))
|
||||
`(erc-direct-msg-face ((,class (:foreground ,aqua1))))
|
||||
`(erc-prompt-face ((,class (:foreground ,black2 :background ,blue1 :box t :bold t))))
|
||||
|
||||
;; ERT
|
||||
`(ert-test-result-expected ((,class (:background ,green2 :foreground ,black2))))
|
||||
`(ert-test-result-unexpected ((,class (:background ,red3 :foreground ,black2))))
|
||||
|
||||
;; edebug-x
|
||||
`(hi-edebug-x-stop ((,class (:background ,blue1 :foreground ,black2))))
|
||||
`(hi-edebug-x-debug-line ((,class (:background ,green1 :foreground ,black2))))
|
||||
|
||||
;; Messages
|
||||
`(message-header-name ((,class (:foreground ,green1 :bold t))))
|
||||
`(message-header-other ((,class (:foreground ,blue1))))
|
||||
`(message-header-to ((,class (:foreground ,orange1))))
|
||||
`(message-header-subject ((,class (:foreground ,yellow1))))
|
||||
`(message-separator ((,class (:foreground ,grey1))))
|
||||
|
||||
;; Eros
|
||||
`(eros-result-overlay-face ((,class (:background ,bg :foreground ,brown1 :box (:line-width -1 :color ,black1)))))
|
||||
|
||||
;; elfeed
|
||||
`(elfeed-search-feed-face ((,class (:foreground ,purple1))))
|
||||
`(elfeed-search-tag-face ((,class (:foreground ,blue1))))
|
||||
`(elfeed-search-unread-title-face ((,class (:bold t))))
|
||||
`(elfeed-search-title-face ((,class (:foreground ,blue1))))
|
||||
`(elfeed-search-date-face ((,class (:foreground ,green1))))
|
||||
`(elfeed-log-date-face ((,class (:foreground ,brown1))))
|
||||
`(elfeed-log-info-level-face ((,class (:foreground ,green1))))
|
||||
`(elfeed-log-warn-level-face ((,class (:foreground ,yellow1))))
|
||||
`(elfeed-log-error-level-face ((,class (:foreground ,red2))))
|
||||
|
||||
;; LSP
|
||||
`(lsp-face-highlight-read ((,class (:background ,blue2 :foreground ,black2))))
|
||||
`(lsp-face-highlight-write ((,class (:background ,orange2 :foreground ,black2))))
|
||||
|
||||
|
||||
;; notmuch
|
||||
`(notmuch-search-date ((,class (:foreground ,green1))))
|
||||
`(notmuch-search-count ((,class (:foreground ,aqua1))))
|
||||
`(notmuch-search-matching-authors ((,class (:foreground ,blue1))))
|
||||
`(notmuch-search-subject ((,class (:foreground ,brown1))))
|
||||
|
||||
;; gnus
|
||||
`(gnus-header-name ((,class (:foreground ,purple1 :bold t))))
|
||||
`(gnus-header-content ((,class (:foreground ,brown1))))
|
||||
`(gnus-header-subject ((,class (:foreground ,green1))))
|
||||
`(gnus-button ((,class (:foreground ,aqua2))))
|
||||
|
||||
;; frog-menu
|
||||
`(frog-menu-prompt-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(frog-menu-candidates-face ((,class (:foreground ,fg))))
|
||||
`(frog-menu-actions-face ((,class (:foreground ,purple1))))
|
||||
`(frog-menu-action-keybinding-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(frog-menu-posframe-background-face ((,class (:background ,bg))))
|
||||
|
||||
;; markup
|
||||
`(markup-meta-hide-face ((,class (:foreground ,grey1 :bold t))))
|
||||
`(markup-meta-face ((,class (:foreground ,orange1 :bold t))))
|
||||
`(markup-secondary-text-face ((,class (:foreground ,brown2 :bold t))))
|
||||
`(markup-list-face ((,class (:foreground ,green2 :bold t))))
|
||||
`(markup-strong-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(markup-code-face ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(markup-emphasis-face ((,class (:foreground ,yellow1 :italic t))))
|
||||
`(markup-typewriter-face ((,class (:background ,aqua2 :foreground ,black1 :bold t))))
|
||||
`(markup-verbatim-face ((,class (:background ,aqua2 :foreground ,black1 :bold t))))
|
||||
`(markup-title-0-face ((,class (:foreground ,purple1 :underline t :height 1.2))))
|
||||
`(markup-title-1-face ((,class (:foreground ,purple1 :underline t :height 1.15))))
|
||||
`(markup-title-2-face ((,class (:foreground ,purple1 :underline t :height 1.1))))
|
||||
`(markup-title-3-face ((,class (:foreground ,purple1 :underline t :height 1.05))))
|
||||
`(markup-title-4-face ((,class (:foreground ,purple1 :underline t))))
|
||||
`(markup-title-5-face ((,class (:foreground ,purple1 :underline t))))
|
||||
|
||||
;; selectrum
|
||||
`(selectrum-current-candidate ((,class (:background ,black1 :extend t))))
|
||||
|
||||
;; orderless
|
||||
`(orderless-match-face-0 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(orderless-match-face-1 ((,class (:background ,green2 :foreground ,black2))))
|
||||
`(orderless-match-face-2 ((,class (:background ,blue2 :foreground ,black2))))
|
||||
`(orderless-match-face-3 ((,class (:background ,brown2 :foreground ,black2))))
|
||||
|
||||
;; marginalia
|
||||
`(marginalia-documentation ((,class (:inherit font-lock-doc-face))))
|
||||
`(marginalia-key ((,class (:foreground ,purple1))))
|
||||
`(marginalia-number ((,class (:background ,blue2 :foreground ,red3 :bold t))))
|
||||
`(marginalia-size ((,class (:foreground ,purple1))))
|
||||
`(marginalia-mode ((,class (:foreground ,orange2 :bold t))))
|
||||
`(marginalia-version ((,class (:background ,blue2 :foreground ,red3 :bold t))))
|
||||
`(marginalia-ligher ((,class (:foreground ,green3))))
|
||||
|
||||
;; mu4e
|
||||
`(mu4e-unread-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(mu4e-replied-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(mu4e-header-face ((,class (:foreground ,brown1))))
|
||||
`(mu4e-title-face ((,class (:foreground ,purple1 :bold t :height 1.1))))
|
||||
`(mu4e-trashed-face ((,class (:foreground ,grey1))))
|
||||
`(mu4e-header-key-face ((,class (:foreground ,brown1))))
|
||||
`(mu4e-header-title-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(mu4e-header-marks-face ((,class (:foreground ,purple2 :bold t))))
|
||||
`(mu4e-header-value-face ((,class (:foreground ,brown1))))
|
||||
`(mu4e-header-highlight-face ((,class (:background ,grey3))))
|
||||
`(mu4e-special-header-value-face ((,class (:foreground ,aqua1))))
|
||||
`(mu4e-contact-face ((,class (:foreground ,green1))))
|
||||
`(mu4e-highlight-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(mu4e-maildirs-extension-maildir-face ((,class (:foreground ,brown1))))
|
||||
|
||||
|
||||
(custom-theme-set-variables
|
||||
'morning-star
|
||||
`(ansi-color-names-vector [,black1 ,red2 ,green1 ,yellow1 ,blue1 ,purple1 ,aqua1 ,fg]))))
|
||||
|
||||
;;;###autoload
|
||||
(when load-file-name
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'morning-star)
|
||||
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
||||
|
||||
;;; morning-star-theme.el ends here
|
||||
@ -1,199 +0,0 @@
|
||||
#+TITLE: Desktop
|
||||
|
||||
* Exwm Desktop
|
||||
#+begin_src config :mkdirp yes :tangle ~/.config/emacs/exwm/EXWM.desktop
|
||||
[Desktop Entry]
|
||||
Name=EXWM
|
||||
Comment=Emacs Window Manager
|
||||
Exec=sh /home/jaeus/.config/emacs/exwm/start-exwm.sh
|
||||
TryExec=sh
|
||||
Type=Application
|
||||
X-LightDM-DesktopName=exwm
|
||||
DesktopNames=exwm
|
||||
#+end_src
|
||||
|
||||
#+begin_src shell :mkdirp yes :tangle ~/.config/emacs/exwm/start-exwm.sh
|
||||
#!/bin/sh
|
||||
# Fire it up for WSL
|
||||
#source ~/scripts/wsl_get_display.sh
|
||||
picom &
|
||||
exec dbus-launch --exit-with-session emacs -mm --debug-init -l ~/.config/emacs/desktop.el
|
||||
#+end_src
|
||||
|
||||
|
||||
* Configuration
|
||||
|
||||
** App Launcher
|
||||
#+begin_src emacs-lisp :tangle ~/.config/emacs/desktop.el
|
||||
(use-package app-launcher
|
||||
:straight (app-launcher :type git :host github :repo "SebastienWae/app-launcher"))
|
||||
#+end_src
|
||||
** EXWM
|
||||
#+begin_src emacs-lisp :tangle ~/.config/emacs/desktop.el
|
||||
|
||||
(defun efs/run-in-background (command)
|
||||
(let ((command-parts (split-string command "[ ]+")))
|
||||
(apply #'call-process `(,(car command-parts) nil 0 nil ,@(cdr command-parts)))))
|
||||
(defun vifon/exwm-terminal ()
|
||||
(interactive)
|
||||
(let ((default-directory (if (derived-mode-p 'dired-mode)
|
||||
(dired-current-directory)
|
||||
default-directory)))
|
||||
(start-process "alacritty" nil "alacritty")))
|
||||
(defun efs/exwm-init-hook ()
|
||||
;; Make workspace 1 be the one where we land at startup
|
||||
(exwm-workspace-switch-create 1)
|
||||
(efs/start-panel)
|
||||
;; if not wsl
|
||||
;;(efs/run-in-background "xsetroot -cursor_name left_ptr")
|
||||
;;(efs/run-in-background "nm-applet")
|
||||
;;(efs/run-in-background "pamac-tray")
|
||||
;;(efs/run-in-background "volumeicon")
|
||||
;;(efs/run-in-background "numlockx on")
|
||||
;;(efs/run-in-background "blueberry-tray")
|
||||
;;(efs/run-in-background "enpass -minimize")
|
||||
|
||||
;; Launch apps that will run in the background
|
||||
;;(efs/run-in-background "fcitx"))
|
||||
)
|
||||
|
||||
(defun efs/exwm-update-class ()
|
||||
(exwm-workspace-rename-buffer exwm-class-name))
|
||||
|
||||
(defun efs/exwm-update-title ()
|
||||
(pcase exwm-class-name
|
||||
("Firefox" (exwm-workspace-rename-buffer (format "Firefox: %s" exwm-title)))))
|
||||
|
||||
;; This function isn't currently used, only serves as an example how to
|
||||
;; position a window
|
||||
(defun efs/position-window ()
|
||||
(let* ((pos (frame-position))
|
||||
(pos-x (car pos))
|
||||
(pos-y (cdr pos)))
|
||||
|
||||
(exwm-floating-move (- pos-x) (- pos-y))))
|
||||
(use-package exwm
|
||||
:config
|
||||
;; Set the default number of workspaces
|
||||
(setq exwm-workspace-number 10)
|
||||
|
||||
;; When window "class" updates, use it to set the buffer name
|
||||
(add-hook 'exwm-update-class-hook #'efs/exwm-update-class)
|
||||
|
||||
;; When window title updates, use it to set the buffer name
|
||||
(add-hook 'exwm-update-title-hook #'efs/exwm-update-title)
|
||||
|
||||
;; Configure windows as they're created
|
||||
;;(add-hook 'exwm-manage-finish-hook #'efs/configure-window-by-class)
|
||||
|
||||
;; When EXWM starts up, do some extra confifuration
|
||||
(add-hook 'exwm-init-hook #'efs/exwm-init-hook)
|
||||
|
||||
;; Automatically send the mouse cursor to the selected workspace's display
|
||||
(setq exwm-workspace-warp-cursor t)
|
||||
|
||||
;; Window focus should follow the mouse pointer
|
||||
(setq mouse-autoselect-window t
|
||||
focus-follows-mouse t)
|
||||
|
||||
(add-hook 'exwm-floating-setup-hook
|
||||
(lambda ()
|
||||
(exwm-layout-hide-mode-line)))
|
||||
|
||||
;; These keys should always pass through to Emacs
|
||||
(setq exwm-input-prefix-keys
|
||||
'(?\C-x
|
||||
?\C-u
|
||||
?\C-h
|
||||
?\M-x
|
||||
?\M-`
|
||||
?\M-&
|
||||
?\M-:
|
||||
?\C-\M-j ;; Buffer list
|
||||
?\C-\ )) ;; Ctrl+Space
|
||||
|
||||
;; Ctrl+Q will enable the next key to be sent directly
|
||||
(define-key exwm-mode-map [?\C-q] 'exwm-input-send-next-key)
|
||||
|
||||
;; Set up global key bindings. These always work, no matter the input state!
|
||||
;; Keep in mind that changing this list after EXWM initializes has no effect.
|
||||
(setq exwm-input-global-keys
|
||||
`(
|
||||
;; Reset to line-mode (C-c C-k switches to char-mode via exwm-input-release-keyboard)
|
||||
([?\s-r] . exwm-reset)
|
||||
|
||||
;; Move between windows
|
||||
([?\s-h] . windmove-left)
|
||||
([?\s-l] . windmove-right)
|
||||
([?\s-k] . windmove-up)
|
||||
([?\s-j] . windmove-down)
|
||||
|
||||
;;([s-space] . toggle-frame-fullscreen)
|
||||
([?\s-f] . exwm-floating-toggle-floating)
|
||||
|
||||
;; Launch applications via shell command
|
||||
([?\s-&] . (lambda (command)
|
||||
(interactive (list (read-shell-command "$ ")))
|
||||
(start-process-shell-command command nil command)))
|
||||
|
||||
([?\s-C] . (lambda () (interactive) (kill-buffer)))
|
||||
|
||||
;; App
|
||||
(,(kbd "<s-return>") . vifon/exwm-terminal)
|
||||
([?\s-d] . app-launcher-run-app)
|
||||
;; Switch workspace
|
||||
([?\s-w] . exwm-workspace-switch)
|
||||
([?\s-`] . (lambda () (interactive) (exwm-workspace-switch-create 0)))
|
||||
|
||||
;; 's-N': Switch to certain workspace with Super (Win) plus a number key (0 - 9)
|
||||
,@(mapcar (lambda (i)
|
||||
`(,(kbd (format "s-%d" i)) .
|
||||
(lambda ()
|
||||
(interactive)
|
||||
(exwm-workspace-switch-create ,i))))
|
||||
(number-sequence 0 9))))
|
||||
|
||||
(exwm-enable))
|
||||
|
||||
;; if not wsl
|
||||
(use-package desktop-environment
|
||||
:disabled
|
||||
:after exwm
|
||||
:config (desktop-environment-mode))
|
||||
;;:custom
|
||||
;;(desktop-environment-brightness-small-increment "2%+")
|
||||
;;(desktop-environment-brightness-small-decrement "2%-")
|
||||
;;(desktop-environment-brightness-normal-increment "5%+")
|
||||
;;(desktop-environment-brightness-normal-decrement "5%-"))
|
||||
|
||||
;; Make sure the server is started (better to do this in your main Emacs config!)
|
||||
(server-start)
|
||||
|
||||
#+end_src
|
||||
** Polybar
|
||||
#+begin_src emacs-lisp :tangle ~/.config/emacs/desktop.el
|
||||
|
||||
(defvar efs/polybar-process nil
|
||||
"Holds the process of the running Polybar instance, if any")
|
||||
|
||||
(defun efs/kill-panel ()
|
||||
(interactive)
|
||||
(when efs/polybar-process
|
||||
(ignore-errors
|
||||
(kill-process efs/polybar-process)))
|
||||
(setq efs/polybar-process nil))
|
||||
|
||||
(defun efs/start-panel ()
|
||||
(interactive)
|
||||
(efs/kill-panel)
|
||||
(setq efs/polybar-process (start-process-shell-command "polybar" nil "polybar panel")))
|
||||
|
||||
(defun efs/send-polybar-hook (module-name hook-index)
|
||||
(start-process-shell-command "polybar-msg" nil (format "polybar-msg hook %s %s" module-name hook-index)))
|
||||
|
||||
(defun efs/send-polybar-exwm-workspace ()
|
||||
(efs/send-polybar-hook "exwm-workspace" 1))
|
||||
|
||||
;; Update panel indicator when workspace changes
|
||||
(add-hook 'exwm-workspace-switch-hook #'efs/send-polybar-exwm-workspace)
|
||||
#+end_src
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,179 +0,0 @@
|
||||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 8
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
#bindsym $mod+Return exec i3-sensible-terminal
|
||||
bindsym $mod+Return exec alacritty
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+c kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
#bindsym $mod+d exec dmenu_run
|
||||
bindsym $mod+d exec rofi -show drun
|
||||
bindsym $mod+f exec firefox
|
||||
bindsym $mod+n exec nautilus
|
||||
bindsym $mod+t exec gnome-control-center
|
||||
bindsym $mod+e exec emacs
|
||||
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
# installed.
|
||||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# split in horizontal orientation
|
||||
#bindsym $mod+h split h
|
||||
|
||||
# split in vertical orientation
|
||||
#bindsym $mod+v split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+space fullscreen toggle
|
||||
|
||||
# full screen window change
|
||||
bindsym $mod+Control+j exec "i3-msg -t command 'fullscreen disable; focus next; fullscreen enable'"
|
||||
bindsym $mod+Control+k exec "i3-msg -t command 'fullscreen disable; focus prev; fullscreen enable'"
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+Control+s layout stacking
|
||||
bindsym $mod+Control+w layout tabbed
|
||||
bindsym $mod+Control+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
#bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
set $ws1 "1"
|
||||
set $ws2 "2"
|
||||
set $ws3 "3"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+q reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||
|
||||
|
||||
# Need for i3-gaps
|
||||
for_window [class="^.*"] border pixel 5
|
||||
for_window [class="alacritty"] border pixel 0
|
||||
for_window [class="Org.gnome.Nautilus"] border pixel 0
|
||||
|
||||
smart_gaps on
|
||||
smart_borders on
|
||||
|
||||
gaps inner 5
|
||||
|
||||
set $bg-color #2f343f
|
||||
set $inactive-bg-color #2f343f
|
||||
set $text-color #f3f4f5
|
||||
set $inactive-text-color #676E7D
|
||||
set $urgent-bg-color #E53935
|
||||
|
||||
# class border backgr. text indicator child_border
|
||||
client.focused #4545a8 #4545a8 #ffffff #752b30 #4545a8
|
||||
client.focused_inactive #617d9e #617d9e #ffffff #424f5f #617d9e
|
||||
client.unfocused #424f5f #424f5f #83a5bc #424f5f #424f5f
|
||||
|
||||
exec_always picom
|
||||
exec_always feh --bg-fill /home/jaeus/wallpaper/colony.jpg
|
||||
|
||||
#exec_always --no-startup-id $HOME/.config/polybar/launch.sh
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
status_command i3status
|
||||
}
|
||||
@ -1,672 +0,0 @@
|
||||
# Nushell Config File
|
||||
|
||||
module completions {
|
||||
# Custom completions for external commands (those outside of Nushell)
|
||||
# Each completions has two parts: the form of the external command, including its flags and parameters
|
||||
# and a helper command that knows how to complete values for those flags and parameters
|
||||
#
|
||||
# This is a simplified version of completions for git branches and git remotes
|
||||
def "nu-complete git branches" [] {
|
||||
^git branch | lines | each { |line| $line | str replace '[\*\+] ' '' | str trim }
|
||||
}
|
||||
|
||||
def "nu-complete git remotes" [] {
|
||||
^git remote | lines | each { |line| $line | str trim }
|
||||
}
|
||||
|
||||
# Download objects and refs from another repository
|
||||
export extern "git fetch" [
|
||||
repository?: string@"nu-complete git remotes" # name of the repository to fetch
|
||||
branch?: string@"nu-complete git branches" # name of the branch to fetch
|
||||
--all # Fetch all remotes
|
||||
--append(-a) # Append ref names and object names to .git/FETCH_HEAD
|
||||
--atomic # Use an atomic transaction to update local refs.
|
||||
--depth: int # Limit fetching to n commits from the tip
|
||||
--deepen: int # Limit fetching to n commits from the current shallow boundary
|
||||
--shallow-since: string # Deepen or shorten the history by date
|
||||
--shallow-exclude: string # Deepen or shorten the history by branch/tag
|
||||
--unshallow # Fetch all available history
|
||||
--update-shallow # Update .git/shallow to accept new refs
|
||||
--negotiation-tip: string # Specify which commit/glob to report while fetching
|
||||
--negotiate-only # Do not fetch, only print common ancestors
|
||||
--dry-run # Show what would be done
|
||||
--write-fetch-head # Write fetched refs in FETCH_HEAD (default)
|
||||
--no-write-fetch-head # Do not write FETCH_HEAD
|
||||
--force(-f) # Always update the local branch
|
||||
--keep(-k) # Keep downloaded pack
|
||||
--multiple # Allow several arguments to be specified
|
||||
--auto-maintenance # Run 'git maintenance run --auto' at the end (default)
|
||||
--no-auto-maintenance # Don't run 'git maintenance' at the end
|
||||
--auto-gc # Run 'git maintenance run --auto' at the end (default)
|
||||
--no-auto-gc # Don't run 'git maintenance' at the end
|
||||
--write-commit-graph # Write a commit-graph after fetching
|
||||
--no-write-commit-graph # Don't write a commit-graph after fetching
|
||||
--prefetch # Place all refs into the refs/prefetch/ namespace
|
||||
--prune(-p) # Remove obsolete remote-tracking references
|
||||
--prune-tags(-P) # Remove any local tags that do not exist on the remote
|
||||
--no-tags(-n) # Disable automatic tag following
|
||||
--refmap: string # Use this refspec to map the refs to remote-tracking branches
|
||||
--tags(-t) # Fetch all tags
|
||||
--recurse-submodules: string # Fetch new commits of populated submodules (yes/on-demand/no)
|
||||
--jobs(-j): int # Number of parallel children
|
||||
--no-recurse-submodules # Disable recursive fetching of submodules
|
||||
--set-upstream # Add upstream (tracking) reference
|
||||
--submodule-prefix: string # Prepend to paths printed in informative messages
|
||||
--upload-pack: string # Non-default path for remote command
|
||||
--quiet(-q) # Silence internally used git commands
|
||||
--verbose(-v) # Be verbose
|
||||
--progress # Report progress on stderr
|
||||
--server-option(-o): string # Pass options for the server to handle
|
||||
--show-forced-updates # Check if a branch is force-updated
|
||||
--no-show-forced-updates # Don't check if a branch is force-updated
|
||||
-4 # Use IPv4 addresses, ignore IPv6 addresses
|
||||
-6 # Use IPv6 addresses, ignore IPv4 addresses
|
||||
--help # Display the help message for this command
|
||||
]
|
||||
|
||||
# Check out git branches and files
|
||||
export extern "git checkout" [
|
||||
...targets: string@"nu-complete git branches" # name of the branch or files to checkout
|
||||
--conflict: string # conflict style (merge or diff3)
|
||||
--detach(-d) # detach HEAD at named commit
|
||||
--force(-f) # force checkout (throw away local modifications)
|
||||
--guess # second guess 'git checkout <no-such-branch>' (default)
|
||||
--ignore-other-worktrees # do not check if another worktree is holding the given ref
|
||||
--ignore-skip-worktree-bits # do not limit pathspecs to sparse entries only
|
||||
--merge(-m) # perform a 3-way merge with the new branch
|
||||
--orphan: string # new unparented branch
|
||||
--ours(-2) # checkout our version for unmerged files
|
||||
--overlay # use overlay mode (default)
|
||||
--overwrite-ignore # update ignored files (default)
|
||||
--patch(-p) # select hunks interactively
|
||||
--pathspec-from-file: string # read pathspec from file
|
||||
--progress # force progress reporting
|
||||
--quiet(-q) # suppress progress reporting
|
||||
--recurse-submodules: string # control recursive updating of submodules
|
||||
--theirs(-3) # checkout their version for unmerged files
|
||||
--track(-t) # set upstream info for new branch
|
||||
-b: string # create and checkout a new branch
|
||||
-B: string # create/reset and checkout a branch
|
||||
-l # create reflog for new branch
|
||||
--help # Display the help message for this command
|
||||
]
|
||||
|
||||
# Push changes
|
||||
export extern "git push" [
|
||||
remote?: string@"nu-complete git remotes", # the name of the remote
|
||||
...refs: string@"nu-complete git branches" # the branch / refspec
|
||||
--all # push all refs
|
||||
--atomic # request atomic transaction on remote side
|
||||
--delete(-d) # delete refs
|
||||
--dry-run(-n) # dry run
|
||||
--exec: string # receive pack program
|
||||
--follow-tags # push missing but relevant tags
|
||||
--force(-f) # force updates
|
||||
--ipv4(-4) # use IPv4 addresses only
|
||||
--ipv6(-6) # use IPv6 addresses only
|
||||
--mirror # mirror all refs
|
||||
--no-verify # bypass pre-push hook
|
||||
--porcelain # machine-readable output
|
||||
--progress # force progress reporting
|
||||
--prune # prune locally removed refs
|
||||
--push-option(-o): string # option to transmit
|
||||
--quiet(-q) # be more quiet
|
||||
--receive-pack: string # receive pack program
|
||||
--recurse-submodules: string # control recursive pushing of submodules
|
||||
--repo: string # repository
|
||||
--set-upstream(-u) # set upstream for git pull/status
|
||||
--signed: string # GPG sign the push
|
||||
--tags # push tags (can't be used with --all or --mirror)
|
||||
--thin # use thin pack
|
||||
--verbose(-v) # be more verbose
|
||||
--help # Display the help message for this command
|
||||
]
|
||||
}
|
||||
|
||||
# Get just the extern definitions without the custom completion commands
|
||||
use completions *
|
||||
|
||||
# For more information on themes, see
|
||||
# https://www.nushell.sh/book/coloring_and_theming.html
|
||||
let dark_theme = {
|
||||
# color for nushell primitives
|
||||
separator: white
|
||||
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||
header: green_bold
|
||||
empty: blue
|
||||
# Closures can be used to choose colors for specific values.
|
||||
# The value (in this case, a bool) is piped into the closure.
|
||||
bool: { if $in { 'light_cyan' } else { 'light_gray' } }
|
||||
int: white
|
||||
filesize: {|e|
|
||||
if $e == 0b {
|
||||
'white'
|
||||
} else if $e < 1mb {
|
||||
'cyan'
|
||||
} else { 'blue' }
|
||||
}
|
||||
duration: white
|
||||
date: { (date now) - $in |
|
||||
if $in < 1hr {
|
||||
'#e61919'
|
||||
} else if $in < 6hr {
|
||||
'#e68019'
|
||||
} else if $in < 1day {
|
||||
'#e5e619'
|
||||
} else if $in < 3day {
|
||||
'#80e619'
|
||||
} else if $in < 1wk {
|
||||
'#19e619'
|
||||
} else if $in < 6wk {
|
||||
'#19e5e6'
|
||||
} else if $in < 52wk {
|
||||
'#197fe6'
|
||||
} else { 'light_gray' }
|
||||
}
|
||||
range: white
|
||||
float: white
|
||||
string: white
|
||||
nothing: white
|
||||
binary: white
|
||||
cellpath: white
|
||||
row_index: green_bold
|
||||
record: white
|
||||
list: white
|
||||
block: white
|
||||
hints: gray
|
||||
|
||||
shape_and: purple_bold
|
||||
shape_binary: purple_bold
|
||||
shape_block: blue_bold
|
||||
shape_bool: light_cyan
|
||||
shape_custom: green
|
||||
shape_datetime: cyan_bold
|
||||
shape_directory: cyan
|
||||
shape_external: cyan
|
||||
shape_externalarg: green_bold
|
||||
shape_filepath: cyan
|
||||
shape_flag: blue_bold
|
||||
shape_float: purple_bold
|
||||
# shapes are used to change the cli syntax highlighting
|
||||
shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b}
|
||||
shape_globpattern: cyan_bold
|
||||
shape_int: purple_bold
|
||||
shape_internalcall: cyan_bold
|
||||
shape_list: cyan_bold
|
||||
shape_literal: blue
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_nothing: light_cyan
|
||||
shape_operator: yellow
|
||||
shape_or: purple_bold
|
||||
shape_pipe: purple_bold
|
||||
shape_range: yellow_bold
|
||||
shape_record: cyan_bold
|
||||
shape_redirection: purple_bold
|
||||
shape_signature: green_bold
|
||||
shape_string: green
|
||||
shape_string_interpolation: cyan_bold
|
||||
shape_table: blue_bold
|
||||
shape_variable: purple
|
||||
}
|
||||
|
||||
let light_theme = {
|
||||
# color for nushell primitives
|
||||
separator: dark_gray
|
||||
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||
header: green_bold
|
||||
empty: blue
|
||||
# Closures can be used to choose colors for specific values.
|
||||
# The value (in this case, a bool) is piped into the closure.
|
||||
bool: { if $in { 'dark_cyan' } else { 'dark_gray' } }
|
||||
int: dark_gray
|
||||
filesize: {|e|
|
||||
if $e == 0b {
|
||||
'dark_gray'
|
||||
} else if $e < 1mb {
|
||||
'cyan_bold'
|
||||
} else { 'blue_bold' }
|
||||
}
|
||||
duration: dark_gray
|
||||
date: { (date now) - $in |
|
||||
if $in < 1hr {
|
||||
'red3b'
|
||||
} else if $in < 6hr {
|
||||
'orange3'
|
||||
} else if $in < 1day {
|
||||
'yellow3b'
|
||||
} else if $in < 3day {
|
||||
'chartreuse2b'
|
||||
} else if $in < 1wk {
|
||||
'green3b'
|
||||
} else if $in < 6wk {
|
||||
'darkturquoise'
|
||||
} else if $in < 52wk {
|
||||
'deepskyblue3b'
|
||||
} else { 'dark_gray' }
|
||||
}
|
||||
range: dark_gray
|
||||
float: dark_gray
|
||||
string: dark_gray
|
||||
nothing: dark_gray
|
||||
binary: dark_gray
|
||||
cellpath: dark_gray
|
||||
row_index: green_bold
|
||||
record: white
|
||||
list: white
|
||||
block: white
|
||||
hints: dark_gray
|
||||
|
||||
shape_and: purple_bold
|
||||
shape_binary: purple_bold
|
||||
shape_block: blue_bold
|
||||
shape_bool: light_cyan
|
||||
shape_custom: green
|
||||
shape_datetime: cyan_bold
|
||||
shape_directory: cyan
|
||||
shape_external: cyan
|
||||
shape_externalarg: green_bold
|
||||
shape_filepath: cyan
|
||||
shape_flag: blue_bold
|
||||
shape_float: purple_bold
|
||||
# shapes are used to change the cli syntax highlighting
|
||||
shape_garbage: { fg: "#FFFFFF" bg: "#FF0000" attr: b}
|
||||
shape_globpattern: cyan_bold
|
||||
shape_int: purple_bold
|
||||
shape_internalcall: cyan_bold
|
||||
shape_list: cyan_bold
|
||||
shape_literal: blue
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_nothing: light_cyan
|
||||
shape_operator: yellow
|
||||
shape_or: purple_bold
|
||||
shape_pipe: purple_bold
|
||||
shape_range: yellow_bold
|
||||
shape_record: cyan_bold
|
||||
shape_redirection: purple_bold
|
||||
shape_signature: green_bold
|
||||
shape_string: green
|
||||
shape_string_interpolation: cyan_bold
|
||||
shape_table: blue_bold
|
||||
shape_variable: purple
|
||||
}
|
||||
|
||||
# External completer example
|
||||
# let carapace_completer = {|spans|
|
||||
# carapace $spans.0 nushell $spans | from json
|
||||
# }
|
||||
let fish_completer = {|spans|
|
||||
fish --command $'complete "--do-complete=($spans | str join " ")"' | str trim | split row "\n" | each { |line| $line | split column "\t" value description } | flatten
|
||||
}
|
||||
|
||||
# The default config record. This is where much of your global configuration is setup.
|
||||
let-env config = {
|
||||
ls: {
|
||||
use_ls_colors: true # use the LS_COLORS environment variable to colorize output
|
||||
clickable_links: true # enable or disable clickable links. Your terminal has to support links.
|
||||
}
|
||||
rm: {
|
||||
always_trash: false # always act as if -t was given. Can be overridden with -p
|
||||
}
|
||||
cd: {
|
||||
abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder`
|
||||
}
|
||||
table: {
|
||||
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
|
||||
index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
|
||||
trim: {
|
||||
methodology: wrapping # wrapping or truncating
|
||||
wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
|
||||
truncating_suffix: "..." # A suffix used by the 'truncating' methodology
|
||||
}
|
||||
}
|
||||
|
||||
explore: {
|
||||
help_banner: true
|
||||
exit_esc: true
|
||||
|
||||
command_bar_text: '#C4C9C6'
|
||||
# command_bar: {fg: '#C4C9C6' bg: '#223311' }
|
||||
|
||||
status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' }
|
||||
# status_bar_text: {fg: '#C4C9C6' bg: '#223311' }
|
||||
|
||||
highlight: {bg: 'yellow' fg: 'black' }
|
||||
|
||||
status: {
|
||||
# warn: {bg: 'yellow', fg: 'blue'}
|
||||
# error: {bg: 'yellow', fg: 'blue'}
|
||||
# info: {bg: 'yellow', fg: 'blue'}
|
||||
}
|
||||
|
||||
try: {
|
||||
# border_color: 'red'
|
||||
# highlighted_color: 'blue'
|
||||
|
||||
# reactive: false
|
||||
}
|
||||
|
||||
table: {
|
||||
split_line: '#404040'
|
||||
|
||||
cursor: true
|
||||
|
||||
line_index: true
|
||||
line_shift: true
|
||||
line_head_top: true
|
||||
line_head_bottom: true
|
||||
|
||||
show_head: true
|
||||
show_index: true
|
||||
|
||||
# selected_cell: {fg: 'white', bg: '#777777'}
|
||||
# selected_row: {fg: 'yellow', bg: '#C1C2A3'}
|
||||
# selected_column: blue
|
||||
|
||||
# padding_column_right: 2
|
||||
# padding_column_left: 2
|
||||
|
||||
# padding_index_left: 2
|
||||
# padding_index_right: 1
|
||||
}
|
||||
|
||||
config: {
|
||||
cursor_color: {bg: 'yellow' fg: 'black' }
|
||||
|
||||
# border_color: white
|
||||
# list_color: green
|
||||
}
|
||||
}
|
||||
|
||||
history: {
|
||||
max_size: 10000 # Session has to be reloaded for this to take effect
|
||||
sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
|
||||
file_format: "plaintext" # "sqlite" or "plaintext"
|
||||
}
|
||||
completions: {
|
||||
case_sensitive: false # set to true to enable case-sensitive completions
|
||||
quick: true # set this to false to prevent auto-selecting completions when only one remains
|
||||
partial: true # set this to false to prevent partial filling of the prompt
|
||||
algorithm: "prefix" # prefix or fuzzy
|
||||
external: {
|
||||
enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow
|
||||
max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
|
||||
completer: null # check 'carapace_completer' above as an example
|
||||
}
|
||||
}
|
||||
filesize: {
|
||||
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
|
||||
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
|
||||
}
|
||||
color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme`
|
||||
use_grid_icons: true
|
||||
footer_mode: "25" # always, never, number_of_rows, auto
|
||||
float_precision: 2
|
||||
# buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
|
||||
use_ansi_coloring: true
|
||||
edit_mode: emacs # emacs, vi
|
||||
shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue
|
||||
show_banner: false # true or false to enable or disable the banner
|
||||
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
|
||||
|
||||
hooks: {
|
||||
pre_prompt: [{
|
||||
null # replace with source code to run before the prompt is shown
|
||||
}]
|
||||
pre_execution: [{
|
||||
null # replace with source code to run before the repl input is run
|
||||
}]
|
||||
env_change: {
|
||||
PWD: [{|before, after|
|
||||
null # replace with source code to run if the PWD environment is different since the last repl input
|
||||
}]
|
||||
}
|
||||
display_output: {
|
||||
if (term size).columns >= 100 { table -e } else { table }
|
||||
}
|
||||
}
|
||||
menus: [
|
||||
# Configuration for default nushell menus
|
||||
# Note the lack of source parameter
|
||||
{
|
||||
name: completion_menu
|
||||
only_buffer_difference: false
|
||||
marker: "| "
|
||||
type: {
|
||||
layout: columnar
|
||||
columns: 4
|
||||
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||
col_padding: 2
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
{
|
||||
name: history_menu
|
||||
only_buffer_difference: true
|
||||
marker: "? "
|
||||
type: {
|
||||
layout: list
|
||||
page_size: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
{
|
||||
name: help_menu
|
||||
only_buffer_difference: true
|
||||
marker: "? "
|
||||
type: {
|
||||
layout: description
|
||||
columns: 4
|
||||
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||
col_padding: 2
|
||||
selection_rows: 4
|
||||
description_rows: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
# Example of extra menus created using a nushell source
|
||||
# Use the source field to create a list of records that populates
|
||||
# the menu
|
||||
{
|
||||
name: commands_menu
|
||||
only_buffer_difference: false
|
||||
marker: "# "
|
||||
type: {
|
||||
layout: columnar
|
||||
columns: 4
|
||||
col_width: 20
|
||||
col_padding: 2
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
source: { |buffer, position|
|
||||
$nu.scope.commands
|
||||
| where name =~ $buffer
|
||||
| each { |it| {value: $it.name description: $it.usage} }
|
||||
}
|
||||
}
|
||||
{
|
||||
name: vars_menu
|
||||
only_buffer_difference: true
|
||||
marker: "# "
|
||||
type: {
|
||||
layout: list
|
||||
page_size: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
source: { |buffer, position|
|
||||
$nu.scope.vars
|
||||
| where name =~ $buffer
|
||||
| sort-by name
|
||||
| each { |it| {value: $it.name description: $it.type} }
|
||||
}
|
||||
}
|
||||
{
|
||||
name: commands_with_description
|
||||
only_buffer_difference: true
|
||||
marker: "# "
|
||||
type: {
|
||||
layout: description
|
||||
columns: 4
|
||||
col_width: 20
|
||||
col_padding: 2
|
||||
selection_rows: 4
|
||||
description_rows: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
source: { |buffer, position|
|
||||
$nu.scope.commands
|
||||
| where name =~ $buffer
|
||||
| each { |it| {value: $it.name description: $it.usage} }
|
||||
}
|
||||
}
|
||||
]
|
||||
keybindings: [
|
||||
{
|
||||
name: completion_menu
|
||||
modifier: none
|
||||
keycode: tab
|
||||
mode: [emacs vi_normal vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{ send: menu name: completion_menu }
|
||||
{ send: menunext }
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: completion_previous
|
||||
modifier: shift
|
||||
keycode: backtab
|
||||
mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list
|
||||
event: { send: menuprevious }
|
||||
}
|
||||
{
|
||||
name: history_menu
|
||||
modifier: control
|
||||
keycode: char_r
|
||||
mode: emacs
|
||||
event: { send: menu name: history_menu }
|
||||
}
|
||||
{
|
||||
name: next_page
|
||||
modifier: control
|
||||
keycode: char_x
|
||||
mode: emacs
|
||||
event: { send: menupagenext }
|
||||
}
|
||||
{
|
||||
name: undo_or_previous_page
|
||||
modifier: control
|
||||
keycode: char_z
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{ send: menupageprevious }
|
||||
{ edit: undo }
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: yank
|
||||
modifier: control
|
||||
keycode: char_y
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{edit: pastecutbufferafter}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: unix-line-discard
|
||||
modifier: control
|
||||
keycode: char_u
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{edit: cutfromlinestart}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: kill-line
|
||||
modifier: control
|
||||
keycode: char_k
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{edit: cuttolineend}
|
||||
]
|
||||
}
|
||||
}
|
||||
# Keybindings used to trigger the user defined menus
|
||||
{
|
||||
name: commands_menu
|
||||
modifier: control
|
||||
keycode: char_t
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: menu name: commands_menu }
|
||||
}
|
||||
{
|
||||
name: vars_menu
|
||||
modifier: alt
|
||||
keycode: char_o
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: menu name: vars_menu }
|
||||
}
|
||||
{
|
||||
name: commands_with_description
|
||||
modifier: control
|
||||
keycode: char_s
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: menu name: commands_with_description }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
alias ll = ls -al
|
||||
alias emd = emacs --daemon
|
||||
alias emdk = emacsclient --eval '(kill-emacs)'
|
||||
alias em = emacsclient -c -a 'emacs'
|
||||
alias emt = emacsclient -c -a 'emacs -nw'
|
||||
alias emtangle = emacs --batch -eval "(require 'org)" --eval '(org-babel-tangle-file "~/.config/emacs/emacs.org")'
|
||||
alias startsv = ssh odroid startsv
|
||||
alias stopsv = ssh odroid stopsv
|
||||
alias cat = bat
|
||||
#alias gpulls = enter ~/.config/emacs; git pull; enter ~/org; git pull; exit; exit
|
||||
|
||||
alias vi = nvim
|
||||
|
||||
let vether_ip = (cat /etc/resolv.conf | grep nameserver | tr -s ' ' | cut -d ' ' -f2) + ":10"
|
||||
let-env DISPLAY = $vether_ip
|
||||
let-env PYTHONSTARTUP = $env.HOME + "/scripts/my_imports.py"
|
||||
|
||||
|
||||
|
||||
source ~/.cache/starship/init.nu
|
||||
source ~/.local/share/atuin/init.nu
|
||||
#let hostname = (cat /etc/hostname)
|
||||
#figlet -w 100 $hostname
|
||||
@ -1,66 +0,0 @@
|
||||
# Nushell Environment Config File
|
||||
|
||||
def create_left_prompt [] {
|
||||
let path_segment = if (is-admin) {
|
||||
$"(ansi red_bold)($env.PWD)"
|
||||
} else {
|
||||
$"(ansi green_bold)($env.PWD)"
|
||||
}
|
||||
|
||||
$path_segment
|
||||
}
|
||||
|
||||
def create_right_prompt [] {
|
||||
let time_segment = ([
|
||||
(date now | date format '%m/%d/%Y %r')
|
||||
] | str join)
|
||||
|
||||
$time_segment
|
||||
}
|
||||
|
||||
# Use nushell functions to define your right and left prompt
|
||||
let-env PROMPT_COMMAND = { create_left_prompt }
|
||||
let-env PROMPT_COMMAND_RIGHT = { create_right_prompt }
|
||||
|
||||
# The prompt indicators are environmental variables that represent
|
||||
# the state of the prompt
|
||||
let-env PROMPT_INDICATOR = { "〉" }
|
||||
let-env PROMPT_INDICATOR_VI_INSERT = { ": " }
|
||||
let-env PROMPT_INDICATOR_VI_NORMAL = { "〉" }
|
||||
let-env PROMPT_MULTILINE_INDICATOR = { "::: " }
|
||||
|
||||
# Specifies how environment variables are:
|
||||
# - converted from a string to a value on Nushell startup (from_string)
|
||||
# - converted from a value back to a string when running external commands (to_string)
|
||||
# Note: The conversions happen *after* config.nu is loaded
|
||||
let-env ENV_CONVERSIONS = {
|
||||
"PATH": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand -n }
|
||||
to_string: { |v| $v | path expand -n | str join (char esep) }
|
||||
}
|
||||
"Path": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand -n }
|
||||
to_string: { |v| $v | path expand -n | str join (char esep) }
|
||||
}
|
||||
}
|
||||
|
||||
# Directories to search for scripts when calling source or use
|
||||
#
|
||||
# By default, <nushell-config-dir>/scripts is added
|
||||
let-env NU_LIB_DIRS = [
|
||||
($nu.config-path | path dirname | path join 'scripts')
|
||||
]
|
||||
|
||||
# Directories to search for plugin binaries when calling register
|
||||
#
|
||||
# By default, <nushell-config-dir>/plugins is added
|
||||
let-env NU_PLUGIN_DIRS = [
|
||||
($nu.config-path | path dirname | path join 'plugins')
|
||||
]
|
||||
|
||||
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
|
||||
# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
|
||||
|
||||
mkdir ~/.cache/starship
|
||||
starship init nu | save -f ~/.cache/starship/init.nu
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
/* Rofi config file */
|
||||
configuration {
|
||||
lines: 12;
|
||||
font: "hack 10";
|
||||
show-icons: true;
|
||||
theme: "~/.config/rofi/themes/onedark";
|
||||
display-window: "Window";
|
||||
display-drun: "Search";
|
||||
}
|
||||
@ -1,131 +0,0 @@
|
||||
/*
|
||||
* ROFI color theme
|
||||
*
|
||||
* Based on Base16 Material Color Scheme (https://github.com/ntpeters/base16-materialtheme-scheme)
|
||||
*
|
||||
* User: Tomaszal
|
||||
* Copyright: Tomas Zaluckij
|
||||
*/
|
||||
|
||||
* {
|
||||
base00: #263238;
|
||||
base01: #2E3C43;
|
||||
base02: #314549;
|
||||
base03: #546E7A;
|
||||
base04: #B2CCD6;
|
||||
base05: #EEFFFF;
|
||||
base06: #EEFFFF;
|
||||
base07: #FFFFFF;
|
||||
base08: #F07178;
|
||||
base09: #F78C6C;
|
||||
base0A: #FFCB6B;
|
||||
base0B: #C3E88D;
|
||||
base0C: #89DDFF;
|
||||
base0D: #82AAFF;
|
||||
base0E: #C792EA;
|
||||
base0F: #FF5370;
|
||||
|
||||
/*base0D: #00BCD4;*/
|
||||
|
||||
spacing: 0;
|
||||
background-color: transparent;
|
||||
|
||||
font: "Roboto Mono 13";
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
/*fullscreen: true;*/
|
||||
background-color: #263238CC; /*base00 + CC (80% opacity)*/
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [inputbar, message, mode-switcher, listview];
|
||||
spacing: 30px;
|
||||
/*margin: 20%;*/
|
||||
padding: 30px 0;
|
||||
border: 1px;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
padding: 0 30px;
|
||||
children: [prompt, textbox-prompt-colon, entry, case-indicator];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0 1ch 0 0;
|
||||
text-color: @base0D;
|
||||
}
|
||||
|
||||
entry {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
mode-switcher, message {
|
||||
border: 1px 0;
|
||||
border-color: @base0D;
|
||||
}
|
||||
|
||||
button, textbox {
|
||||
background-color: @base03;
|
||||
text-color: @base07;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
listview {
|
||||
scrollbar: true;
|
||||
margin: 0 10px 0 30px;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: @base03;
|
||||
handle-color: @base0D;
|
||||
handle-width: 10px;
|
||||
border: 0 1px;
|
||||
border-color: @base0D;
|
||||
margin: 0 0 0 20px;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
highlight: bold underline;
|
||||
}
|
||||
|
||||
element normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @base0D;
|
||||
}
|
||||
|
||||
element alternate {
|
||||
/*background-color: @base03;*/
|
||||
}
|
||||
|
||||
element normal normal, element selected normal, element alternate normal {
|
||||
text-color: @base07;
|
||||
}
|
||||
|
||||
element normal urgent, element selected urgent, element alternate urgent {
|
||||
text-color: @base0F;
|
||||
}
|
||||
|
||||
element normal active, element selected active, element alternate active {
|
||||
text-color: @base0B;
|
||||
}
|
||||
@ -1,101 +0,0 @@
|
||||
/*
|
||||
* ROFI One Dark
|
||||
*
|
||||
* Based on OneDark.vim (https://github.com/joshdick/onedark.vim)
|
||||
*
|
||||
* Author: Benjamin Stauss
|
||||
* User: me-benni
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
* {
|
||||
black: #000000;
|
||||
red: #eb6e67;
|
||||
green: #95ee8f;
|
||||
yellow: #f8c456;
|
||||
blue: #6eaafb;
|
||||
mangenta: #d886f3;
|
||||
cyan: #6cdcf7;
|
||||
emphasis: #50536b;
|
||||
text: #dfdfdf;
|
||||
text-alt: #b2b2b2;
|
||||
fg: #abb2bf;
|
||||
bg: #282c34;
|
||||
|
||||
spacing: 0;
|
||||
background-color: transparent;
|
||||
|
||||
font: "Fira Code 12";
|
||||
text-color: @text;
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
fullscreen: true;
|
||||
background-color: #282c34dd;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
padding: 30% 30%;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
margin: 0px 0px 20px 0px;
|
||||
children: [prompt, textbox-prompt-colon, entry, case-indicator];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: @blue;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
text-color: @text-alt;
|
||||
}
|
||||
|
||||
entry {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
listview {
|
||||
spacing: 5px;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
text-color: @text-alt;
|
||||
highlight: bold #95ee8f; /* green */
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @emphasis;
|
||||
text-color: @text;
|
||||
}
|
||||
|
||||
element urgent, element selected urgent {
|
||||
text-color: @red;
|
||||
}
|
||||
|
||||
element active, element selected active {
|
||||
text-color: @purple;
|
||||
}
|
||||
|
||||
message {
|
||||
padding: 5px;
|
||||
border-radius: 3px;
|
||||
background-color: @emphasis;
|
||||
border: 1px;
|
||||
border-color: @cyan;
|
||||
}
|
||||
|
||||
button selected {
|
||||
padding: 5px;
|
||||
border-radius: 3px;
|
||||
background-color: @emphasis;
|
||||
}
|
||||
@ -1,170 +0,0 @@
|
||||
/**
|
||||
* Oxide Color theme
|
||||
* Author: Diki Ananta <diki1aap@gmail.com>
|
||||
* Repository: https://github.com/dikiaap/dotfiles
|
||||
* License: MIT
|
||||
**/
|
||||
* {
|
||||
selected-normal-foreground: var(lightfg);
|
||||
foreground: rgba ( 196, 202, 212, 100 % );
|
||||
normal-foreground: var(foreground);
|
||||
alternate-normal-background: rgba ( 42, 42, 42, 100 % );
|
||||
red: rgba ( 194, 65, 65, 100 % );
|
||||
selected-urgent-foreground: var(lightfg);
|
||||
blue: rgba ( 43, 131, 166, 100 % );
|
||||
urgent-foreground: var(lightfg);
|
||||
alternate-urgent-background: var(red);
|
||||
active-foreground: var(lightfg);
|
||||
lightbg: var(foreground);
|
||||
selected-active-foreground: var(lightfg);
|
||||
alternate-active-background: var(blue);
|
||||
background: rgba ( 33, 33, 33, 100 % );
|
||||
alternate-normal-foreground: var(foreground);
|
||||
normal-background: var(background);
|
||||
lightfg: rgba ( 249, 249, 249, 100 % );
|
||||
selected-normal-background: rgba ( 90, 90, 90, 100 % );
|
||||
separatorcolor: rgba ( 183, 183, 183, 100 % );
|
||||
spacing: 2;
|
||||
border-color: var(foreground);
|
||||
urgent-background: var(red);
|
||||
alternate-active-foreground: var(active-foreground);
|
||||
alternate-urgent-foreground: var(urgent-foreground);
|
||||
background-color: rgba ( 0, 0, 0, 0 % );
|
||||
selected-urgent-background: rgba ( 214, 78, 78, 100 % );
|
||||
active-background: var(blue);
|
||||
selected-active-background: rgba ( 39, 141, 182, 100 % );
|
||||
}
|
||||
element {
|
||||
border: 0;
|
||||
spacing: 4px;
|
||||
padding: 1px;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: var(normal-background);
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: var(urgent-background);
|
||||
text-color: var(urgent-foreground);
|
||||
}
|
||||
element normal.active {
|
||||
background-color: var(active-background);
|
||||
text-color: var(active-foreground);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: var(selected-urgent-background);
|
||||
text-color: var(selected-urgent-foreground);
|
||||
}
|
||||
element selected.active {
|
||||
background-color: var(selected-active-background);
|
||||
text-color: var(selected-active-foreground);
|
||||
}
|
||||
element alternate.normal {
|
||||
background-color: var(alternate-normal-background);
|
||||
text-color: var(alternate-normal-foreground);
|
||||
}
|
||||
element alternate.urgent {
|
||||
background-color: var(alternate-urgent-background);
|
||||
text-color: var(alternate-urgent-foreground);
|
||||
}
|
||||
element alternate.active {
|
||||
background-color: var(alternate-active-background);
|
||||
text-color: var(alternate-active-foreground);
|
||||
}
|
||||
element-text {
|
||||
background-color: rgba ( 0, 0, 0, 0 % );
|
||||
highlight: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element-icon {
|
||||
background-color: rgba ( 0, 0, 0, 0 % );
|
||||
size: 21px;
|
||||
text-color: inherit;
|
||||
}
|
||||
window {
|
||||
background-color: var(background);
|
||||
border: 0;
|
||||
padding: 8;
|
||||
}
|
||||
mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
message {
|
||||
border: 2px dash 0px 0px;
|
||||
border-color: var(separatorcolor);
|
||||
padding: 1px;
|
||||
}
|
||||
textbox {
|
||||
text-color: var(foreground);
|
||||
}
|
||||
listview {
|
||||
fixed-height: 0;
|
||||
border: 0;
|
||||
border-color: var(separatorcolor);
|
||||
spacing: 2px;
|
||||
scrollbar: true;
|
||||
padding: 2px 0px 0px;
|
||||
}
|
||||
scrollbar {
|
||||
width: 4px;
|
||||
border: 0;
|
||||
handle-color: rgba ( 85, 85, 85, 100 % );
|
||||
handle-width: 8px;
|
||||
padding: 0;
|
||||
}
|
||||
sidebar {
|
||||
border: 2px dash 0px 0px;
|
||||
border-color: var(separatorcolor);
|
||||
}
|
||||
button {
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
button selected {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
num-filtered-rows {
|
||||
expand: false;
|
||||
text-color: rgba ( 128, 128, 128, 100 % );
|
||||
}
|
||||
num-rows {
|
||||
expand: false;
|
||||
text-color: rgba ( 128, 128, 128, 100 % );
|
||||
}
|
||||
textbox-num-sep {
|
||||
expand: false;
|
||||
str: "/";
|
||||
text-color: rgba ( 128, 128, 128, 100 % );
|
||||
}
|
||||
inputbar {
|
||||
spacing: 0px;
|
||||
text-color: var(normal-foreground);
|
||||
padding: 1px;
|
||||
children: [ prompt,textbox-prompt-colon,entry,overlay,case-indicator ];
|
||||
}
|
||||
case-indicator {
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
entry {
|
||||
placeholder: "";
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
placeholder-color: rgba ( 128, 128, 128, 100 % );
|
||||
}
|
||||
prompt {
|
||||
spacing: 0;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0px 0.3000em 0.0000em 0.0000em;
|
||||
text-color: inherit;
|
||||
}
|
||||
@ -1,48 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys
|
||||
import os
|
||||
import glob
|
||||
import json
|
||||
import re
|
||||
from kitchen.text.converters import to_bytes, to_unicode
|
||||
|
||||
curr = os.popen('xdotool get_desktop').read().strip()
|
||||
numtotal = os.popen('xdotool get_num_desktops').read().strip()
|
||||
|
||||
curr = int(curr)
|
||||
numtotal = int(numtotal)
|
||||
|
||||
re_ws = re.compile('\s+')
|
||||
|
||||
try:
|
||||
wm_info = os.popen('wmctrl -m').readlines()
|
||||
wm_name = [x for x in wm_info if 'Name:' in x]
|
||||
wm_name = wm_name[0].strip().replace('Name: ', '')
|
||||
except:
|
||||
exit() # probably no wm
|
||||
|
||||
windows = os.popen("wmctrl -l").readlines()
|
||||
used_windows = [int(re_ws.split(w)[1]) for w in windows]
|
||||
used_windows = set(used_windows)
|
||||
|
||||
def xmobar_color(s, col):
|
||||
if col is None:
|
||||
return str(s)
|
||||
else:
|
||||
return '<fc={}>{}</fc>'.format(col, s)
|
||||
|
||||
out = []
|
||||
for i in range(int(numtotal)):
|
||||
if i == curr:
|
||||
# col = "#c84c00"
|
||||
col = "#e67128"
|
||||
elif i in used_windows:
|
||||
col = None
|
||||
else:
|
||||
col = "#606060"
|
||||
# if wm_name == 'LG3D' or wm_name == 'EXWM': # xmonad
|
||||
index = (i+1) % 10
|
||||
s = xmobar_color(index, col)
|
||||
out.append(s)
|
||||
|
||||
print(' '.join(out))
|
||||
@ -1,12 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
STATUS=`cat /sys/class/power_supply/BAT0/status`
|
||||
|
||||
if [ $STATUS = "Charging" ]; then
|
||||
echo "<fc=#f0c674><fn=1></fn></fc>"
|
||||
elif [ $STATUS = "Discharging" ]; then
|
||||
echo "<fc=#e86f69><fn=1></fn></fc>"
|
||||
else
|
||||
echo "<fn=1></fn>"
|
||||
fi
|
||||
|
||||
@ -1,48 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copied from https://github.com/jaor/xmobar/issues/239#issuecomment-233206552
|
||||
# Detects the width of running trayer-srg window (xprop name 'panel')
|
||||
# and creates an XPM icon of that width, 1px height, and transparent.
|
||||
# Outputs an <icon>-tag for use in xmobar to display the generated
|
||||
# XPM icon.
|
||||
#
|
||||
# Run script from xmobar:
|
||||
# `Run Com "/where/ever/trayer-padding-icon.sh" [] "trayerpad" 10`
|
||||
# and use `%trayerpad%` in your template.
|
||||
|
||||
|
||||
# Function to create a transparent Wx1 px XPM icon
|
||||
create_xpm_icon () {
|
||||
timestamp=$(date)
|
||||
pixels=$(for i in `seq $1`; do echo -n "."; done)
|
||||
|
||||
cat << EOF > "$2"
|
||||
/* XPM *
|
||||
static char * trayer_pad_xpm[] = {
|
||||
/* This XPM icon is used for padding in xmobar to */
|
||||
/* leave room for trayer-srg. It is dynamically */
|
||||
/* updated by by trayer-padding-icon.sh which is run */
|
||||
/* by xmobar. */
|
||||
/* Created: ${timestamp} */
|
||||
/* <w/cols> <h/rows> <colors> <chars per pixel> */
|
||||
"$1 1 1 1",
|
||||
/* Colors (none: transparent) */
|
||||
". c none",
|
||||
/* Pixels */
|
||||
"$pixels"
|
||||
};
|
||||
EOF
|
||||
}
|
||||
|
||||
# Width of the trayer window
|
||||
width=$(xprop -name panel | grep 'program specified minimum size' | cut -d ' ' -f 5)
|
||||
|
||||
# Icon file name
|
||||
iconfile="/tmp/trayer-padding-${width}px.xpm"
|
||||
|
||||
# If the desired icon does not exist create it
|
||||
if [ ! -f $iconfile ]; then
|
||||
create_xpm_icon $width $iconfile
|
||||
fi
|
||||
|
||||
# Output the icon tag for xmobar
|
||||
echo "<icon=${iconfile}/>"
|
||||
@ -1,43 +0,0 @@
|
||||
-- http://projects.haskell.org/xmobar/
|
||||
-- install xmobar with these flags: --flags="with_alsa" --flags="with_mpd" --flags="with_xft" OR --flags="all_extensions"
|
||||
-- you can find weather location codes here: http://weather.noaa.gov/index.html
|
||||
|
||||
Config { font = "xft:NanumGothic:weight=bold:pixelsize=11:antialias=true:hinting=true"
|
||||
, additionalFonts = [ "xft:Mononoki Nerd Font:pixelsize=11:antialias=true:hinting=true"
|
||||
, "xft:FontAwesome:pixelsize=12"
|
||||
]
|
||||
, bgColor = "#282c34"
|
||||
, fgColor = "#ff6c6b"
|
||||
, position = Static { xpos = 2560 , ypos = 0, width = 1920, height = 24 }
|
||||
, lowerOnStart = True
|
||||
, hideOnStart = False
|
||||
, allDesktops = True
|
||||
, persistent = True
|
||||
, iconRoot = "/home/jaeus/.xmonad/" -- default: "."
|
||||
, commands = [
|
||||
-- Time and date
|
||||
Run Date "<fn=1>\xf133 </fn> %b %d %Y - (%H:%M) " "date" 50
|
||||
-- Network up and down
|
||||
, Run Network "enp10s0" ["-t", "<fn=1>\xf0ab </fn> <rx>kb <fn=1>\xf0aa </fn> <tx>kb"] 20
|
||||
-- Cpu usage in percent
|
||||
, Run Cpu ["-t", "<fn=1>\xf108 </fn> cpu: (<total>%)","-H","50","--high","red"] 20
|
||||
-- Ram used number and percent
|
||||
, Run Memory ["-t", "<fn=1>\xf233 </fn> mem: <used>M (<usedratio>%)"] 20
|
||||
-- Disk space free
|
||||
, Run DiskU [("/", "<fn=1>\xf0c7 </fn> hdd: <free> free")] [] 60
|
||||
-- Runs custom script to check for pacman updates.
|
||||
-- This script is in my dotfiles repo in .local/bin.
|
||||
, Run Com "~/.local/bin/pacupdate" [] "pacupdate" 36000
|
||||
-- Runs a standard shell command 'uname -r' to get kernel version
|
||||
, Run Com "uname" ["-r"] "" 3600
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run Com "/bin/sh" [ "-c", "/home/jaeus/.config/xmobar/trayer-padding-icon.sh" ] "trayerpad" 20
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run UnsafeStdinReader
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = " <action=`xdotool key control+alt+g`><icon=haskell_20.xpm/> </action><fc=#666666> |</fc> %UnsafeStdinReader% }{ <fc=#666666> |</fc> <fc=#b3afc2><fn=1> </fn> %uname% </fc><fc=#666666> |</fc> <fc=#ecbe7b> %cpu% </fc><fc=#666666> |</fc> <fc=#ff6c6b> %memory% </fc><fc=#666666> |</fc> <fc=#51afef> %disku% </fc><fc=#666666> |</fc> <fc=#98be65> %enp10s0% </fc><fc=#666666> |</fc> <fc=#46d9ff> %date% </fc>"
|
||||
}
|
||||
@ -1,52 +0,0 @@
|
||||
-- http://projects.haskell.org/xmobar/
|
||||
-- install xmobar with these flags: --flags="with_alsa" --flags="with_mpd" --flags="with_xft" OR --flags="all_extensions"
|
||||
-- you can find weather location codes here: http://weather.noaa.gov/index.html
|
||||
|
||||
Config { -- font = "xft:Noto Sans CJK KR:weight=bold:pixelsize=14:antialias=true:hinting=true"
|
||||
-- , additionalFonts = [ "xft:Mononoki Nerd Font:pixelsize=14:antialias=true:hinting=true"
|
||||
-- , "xft:FontAwesome:pixelsize=16"
|
||||
-- ]
|
||||
--font = "xft:DejaVu Sans:size=9.5:antialias=true"
|
||||
font = "xft:NanumGothic:weight=bold:pixelsize=14:antialias=true:hinting=true"
|
||||
, additionalFonts = [ "xft:Mononoki Nerd Font:pixelsize=11:antialias=true:hinting=true"
|
||||
, "xft:FontAwesome:pixelsize=12"
|
||||
]
|
||||
, bgColor = "#282c34"
|
||||
, fgColor = "#ff6c6b"
|
||||
, position = Static { xpos = 0 , ypos = 0, width = 2560, height = 36 }
|
||||
, lowerOnStart = True
|
||||
, hideOnStart = False
|
||||
, allDesktops = True
|
||||
, persistent = True
|
||||
, iconRoot = "/home/jaeus/.xmonad/" -- default: "."
|
||||
, commands = [
|
||||
Run Date "<fn=1> </fn> %A %B %d <fn=1> </fn> %H:%M" "date" 50
|
||||
, Run BatteryP ["BAT0"] ["-t", "<left> (<timeleft>)", "-S", "True"
|
||||
,"-L","20","-H","70"
|
||||
,"-l","#ff3333",
|
||||
"--normal","#f0c674",
|
||||
"--high", "#99cc99" ] 50
|
||||
, Run Com "bash" ["/home/jaeus/.config/xmobar/scripts/battery_icon.sh"] "batteryIcon" 50
|
||||
-- Time and date
|
||||
-- Run Date "<fn=1>\xf133 </fn> %b %d %Y - (%H:%M) " "date" 50
|
||||
-- Network up and down
|
||||
, Run Network "enp10s0" ["-t", "<fn=1>\xf0ab </fn> <rx>kb <fn=1>\xf0aa </fn> <tx>kb"] 20
|
||||
-- Cpu usage in percent
|
||||
, Run Cpu ["-t", "<fn=1>\xf108 </fn> (<total>%)","-H","50","--high","red"] 20
|
||||
-- Ram used number and percent
|
||||
, Run Memory ["-t", "<fn=1>\xf233 </fn> <used>M (<usedratio>%)"] 20
|
||||
-- Disk space free
|
||||
, Run DiskU [("/", "<fn=1>\xf0c7 </fn> <free> free")] [] 60
|
||||
-- Runs a standard shell command 'uname -r' to get kernel version
|
||||
, Run Com "uname" ["-r"] "" 3600
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run Com "/bin/sh" [ "-c", "/home/jaeus/.config/xmobar/trayer-padding-icon.sh" ] "trayerpad" 20
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run UnsafeStdinReader
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = " <action=`xdotool key control+alt+g`><icon=haskell_20.xpm/> </action><fc=#666666> |</fc> %UnsafeStdinReader% }{ <fc=#666666> |</fc> <fc=#b3afc2><fn=1> </fn> %uname% </fc> <fc=#666666> |</fc><fc=#ecbe7b> %cpu% </fc><fc=#666666> |</fc> <fc=#ff6c6b> %memory% </fc><fc=#666666> |</fc> <fc=#51afef> %disku% </fc><fc=#666666> |</fc> <fc=#98be65> %enp10s0% </fc><fc=#666666> |</fc><fc=#46d9ff> %date% </fc><fc=#666666> |</fc>%trayerpad%"
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
-- http://projects.haskell.org/xmobar/
|
||||
-- install xmobar with these flags: --flags="with_alsa" --flags="with_mpd" --flags="with_xft" OR --flags="all_extensions"
|
||||
-- you can find weather location codes here: http://weather.noaa.gov/index.html
|
||||
|
||||
Config { font = "xft:NanumGothic:weight=bold:pixelsize=11:antialias=true:hinting=true"
|
||||
, additionalFonts = [ "xft:Mononoki Nerd Font:pixelsize=11:antialias=true:hinting=true"
|
||||
, "xft:FontAwesome:pixelsize=12"
|
||||
]
|
||||
, bgColor = "#282c34"
|
||||
, fgColor = "#ff6c6b"
|
||||
, position = Static { xpos = 2560 , ypos = 0, width = 1920, height = 24 }
|
||||
, lowerOnStart = True
|
||||
, hideOnStart = False
|
||||
, allDesktops = True
|
||||
, persistent = True
|
||||
, iconRoot = "/home/jaeus/.xmonad/" -- default: "."
|
||||
, commands = [
|
||||
-- Time and date
|
||||
Run Date "<fn=1>\xf133 </fn> %b %d %Y - (%H:%M) " "date" 50
|
||||
-- Network up and down
|
||||
, Run Network "enp10s0" ["-t", "<fn=1>\xf0ab </fn> <rx>kb <fn=1>\xf0aa </fn> <tx>kb"] 20
|
||||
-- Cpu usage in percent
|
||||
, Run Cpu ["-t", "<fn=1>\xf108 </fn> cpu: (<total>%)","-H","50","--high","red"] 20
|
||||
-- Ram used number and percent
|
||||
, Run Memory ["-t", "<fn=1>\xf233 </fn> mem: <used>M (<usedratio>%)"] 20
|
||||
-- Disk space free
|
||||
, Run DiskU [("/", "<fn=1>\xf0c7 </fn> hdd: <free> free")] [] 60
|
||||
-- Runs custom script to check for pacman updates.
|
||||
-- This script is in my dotfiles repo in .local/bin.
|
||||
, Run Com "~/.local/bin/pacupdate" [] "pacupdate" 36000
|
||||
-- Runs a standard shell command 'uname -r' to get kernel version
|
||||
, Run Com "uname" ["-r"] "" 3600
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run Com "/usr/bin/python3" ["$HOME/.config/xmobar/get_workspace_exwm.py"] "workspaces" 10
|
||||
, Run Com "/bin/sh" [ "-c", "/home/jaeus/.config/xmobar/trayer-padding-icon.sh" ] "trayerpad" 20
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run UnsafeStdinReader
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = " <action=`xdotool key control+alt+g`><icon=haskell_20.xpm/> </action><fc=#666666> |</fc> %UnsafeStdinReader% }{ <fc=#666666> |</fc> <fc=#b3afc2><fn=1> </fn> %uname% </fc><fc=#666666> |</fc> <fc=#ecbe7b> %cpu% </fc><fc=#666666> |</fc> <fc=#ff6c6b> %memory% </fc><fc=#666666> |</fc> <fc=#51afef> %disku% </fc><fc=#666666> |</fc> <fc=#98be65> %enp10s0% </fc><fc=#666666> |</fc> <fc=#46d9ff> %date% </fc>"
|
||||
}
|
||||
@ -1,43 +0,0 @@
|
||||
Config { font = "xft:NanumGothic:weight=bold:pixelsize=11:antialias=true:hinting=true"
|
||||
, additionalFonts = [ "xft:Mononoki Nerd Font:pixelsize=11:antialias=true:hinting=true"
|
||||
, "xft:FontAwesome:pixelsize=12"
|
||||
]
|
||||
, bgColor = "#282c34"
|
||||
, fgColor = "#ff6c6b"
|
||||
, position = Static { xpos = 0 , ypos = 0, width = 1920, height = 24 }
|
||||
, lowerOnStart = True
|
||||
, hideOnStart = False
|
||||
, allDesktops = True
|
||||
, persistent = True
|
||||
, iconRoot = "/home/jaeus/.xmonad/" -- default: "."
|
||||
, commands = [
|
||||
Run Date "<fn=1> </fn> %A %B %d <fn=1> </fn> %H:%M" "date" 50
|
||||
, Run BatteryP ["BAT0"] ["-t", "<left> (<timeleft>)", "-S", "True"
|
||||
,"-L","20","-H","70"
|
||||
,"-l","#ff3333",
|
||||
"--normal","#f0c674",
|
||||
"--high", "#99cc99" ] 50
|
||||
, Run Com "bash" ["/home/jaeus/.config/xmobar/scripts/battery_icon.sh"] "batteryIcon" 50
|
||||
-- Time and date
|
||||
-- Run Date "<fn=1>\xf133 </fn> %b %d %Y - (%H:%M) " "date" 50
|
||||
-- Network up and down
|
||||
, Run Network "wlp3s0" ["-t", "<fn=1>\xf0ab </fn> <rx>kb <fn=1>\xf0aa </fn> <tx>kb"] 20
|
||||
-- Cpu usage in percent
|
||||
, Run Cpu ["-t", "<fn=1>\xf108 </fn> (<total>%)","-H","50","--high","red"] 20
|
||||
-- Ram used number and percent
|
||||
, Run Memory ["-t", "<fn=1>\xf233 </fn> <used>M (<usedratio>%)"] 20
|
||||
-- Disk space free
|
||||
, Run DiskU [("/", "<fn=1>\xf0c7 </fn> <free> free")] [] 60
|
||||
-- Runs a standard shell command 'uname -r' to get kernel version
|
||||
, Run Com "uname" ["-r"] "" 3600
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run Com "/bin/sh" [ "-c", "/home/jaeus/.config/xmobar/trayer-padding-icon.sh" ] "trayerpad" 20
|
||||
-- Prints out the left side items such as workspaces, layout, etc.
|
||||
-- The workspaces are 'clickable' in my configs.
|
||||
, Run UnsafeStdinReader
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = " <action=`xdotool key control+alt+g`><icon=haskell_20.xpm/> </action><fc=#666666> |</fc> %UnsafeStdinReader% }{ <fc=#666666> |</fc> <fc=#b3afc2><fn=1> </fn> %uname% </fc> <fc=#666666> |</fc><fc=#ecbe7b> %cpu% </fc><fc=#666666> |</fc> <fc=#ff6c6b> %memory% </fc><fc=#666666> |</fc> <fc=#51afef> %disku% </fc><fc=#666666> |</fc> <fc=#98be65> %wlp3s0% </fc><fc=#666666> |</fc><fc=#46d9ff> %date% </fc><fc=#666666> |</fc> %batteryIcon% %battery%<fc=#666666> |</fc>%trayerpad%"
|
||||
}
|
||||
@ -1,565 +0,0 @@
|
||||
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||
(setq-default tab-width 4)
|
||||
(defvaralias 'c-basic-offset 'tab-width)
|
||||
(setq! indent-tabs-mode t)
|
||||
;; Place your private configuration here! Remember, you do not need to run 'doom
|
||||
;; sync' after modifying this file!
|
||||
(setq default-input-method "korean-hangul")
|
||||
(global-set-key (kbd "<Hangul>") 'toggle-input-method)
|
||||
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
||||
;; clients, file templates and snippets. It is optional.
|
||||
(setq user-full-name "JaeYoo-Im"
|
||||
user-mail-address "cpu3792@gmail.com")
|
||||
|
||||
;; Doom exposes five (optional) variables for controlling fonts in Doom:
|
||||
;;
|
||||
;; - `doom-font' -- the primary font to use
|
||||
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
|
||||
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||
;; presentations or streaming.
|
||||
;; - `doom-unicode-font' -- for unicode glyphs
|
||||
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
|
||||
;;
|
||||
;; See 'C-h v doom-font' for documentation and more examples of what they
|
||||
;; accept. For example:
|
||||
;;
|
||||
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
|
||||
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
|
||||
;;
|
||||
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
|
||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||
|
||||
;; | 12345678 | |
|
||||
;; |----------+---|
|
||||
;; | 일이삼사 | |
|
||||
|
||||
(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
|
||||
doom-variable-pitch-font (font-spec :family "Ubuntu" :size 13))
|
||||
(set-fontset-font t 'hangul (font-spec :name "NanumGothic"))
|
||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||
;; `load-theme' function. This is the default:
|
||||
(if (display-graphic-p)
|
||||
(setq doom-theme 'doom-palenight)
|
||||
(setq doom-theme 'doom-gruvbox))
|
||||
(unless (display-graphic-p)
|
||||
(xterm-mouse-mode))
|
||||
(beacon-mode 1)
|
||||
|
||||
(global-auto-revert-mode 1)
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
;; This determines the style of line numbers in effect. If set to `nil', line
|
||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||
(setq display-line-numbers-type t)
|
||||
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
(setq org-directory "~/org/")
|
||||
|
||||
|
||||
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
||||
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
||||
;;
|
||||
;; (after! PACKAGE
|
||||
;; (setq x y))
|
||||
;;
|
||||
;; The exceptions to this rule:
|
||||
;;
|
||||
;; - Setting file/directory variables (like `org-directory')
|
||||
;; - Setting variables which explicitly tell you to set them before their
|
||||
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
|
||||
;; - Setting doom variables (which start with 'doom-' or '+').
|
||||
;;
|
||||
;; Here are some additional functions/macros that will help you configure Doom.
|
||||
;;
|
||||
;; - `load!' for loading external *.el files relative to this one
|
||||
;; - `use-package!' for configuring packages
|
||||
;; - `after!' for running code after a package has loaded
|
||||
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||||
;; this file. Emacs searches the `load-path' when you load packages with
|
||||
;; `require' or `use-package'.
|
||||
;; - `map!' for binding new keys
|
||||
;;
|
||||
;; To get information about any of these functions/macros, move the cursor over
|
||||
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
|
||||
;; This will open documentation for it, including demos of how they are used.
|
||||
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
|
||||
;; etc).
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; -Virtico
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;;(if (display-graphic-p)
|
||||
;; (vertico-posframe-mode 1))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; -Transparency
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(defvar gvar/frame-transparency '(85 . 85))
|
||||
|
||||
(defun toggle-transparency ()
|
||||
(interactive)
|
||||
(let ((alpha (frame-parameter nil 'alpha)))
|
||||
(set-frame-parameter
|
||||
nil 'alpha
|
||||
(if (eql (cond ((numberp alpha) alpha)
|
||||
((numberp (cdr alpha)) (cdr alpha))
|
||||
;; Also handle undocumented (<active> <inactive>) form.
|
||||
((numberp (cadr alpha)) (cadr alpha)))
|
||||
100)
|
||||
gvar/frame-transparency '(100 . 100)))))
|
||||
|
||||
(global-set-key (kbd "C-c t") 'toggle-transparency)
|
||||
(defun my/org-roam-rg-search ()
|
||||
"Search org-roam directory using consult-ripgrep. With live-preview."
|
||||
(interactive)
|
||||
(let ((consult-ripgrep-command "rg --null --ignore-case --type org --line-buffered --color=always --max-columns=500 --no-heading --line-number . -e ARG OPTS"))
|
||||
(consult-ripgrep org-roam-directory)))
|
||||
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Language Server Client
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(after! dap-mode
|
||||
(setq dap-python-debugger 'debugpy))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Paste Clipboard image for windows, in linux(use org-screenshot-take)
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(defun my-org-paste-image ()
|
||||
"Paste an image into a time stamped unique-named file in the
|
||||
same directory as the org-buffer and insert a link to this file."
|
||||
(interactive)
|
||||
(let* ((target-file
|
||||
(concat
|
||||
(make-temp-name
|
||||
(concat "~/org/images/"
|
||||
(f-filename buffer-file-name)
|
||||
"_"
|
||||
(format-time-string "%Y%m%d_%H%M%S_"))) ".png"))
|
||||
(wsl-path
|
||||
(concat (as-windows-path(file-name-directory target-file))
|
||||
"/"
|
||||
(file-name-nondirectory target-file)))
|
||||
(ps-script
|
||||
(concat "(Get-Clipboard -Format image).Save('" wsl-path "')")))
|
||||
|
||||
(powershell ps-script)
|
||||
|
||||
(if (file-exists-p target-file)
|
||||
(progn (insert (concat "[[" target-file "]]"))
|
||||
(org-display-inline-images))
|
||||
(user-error
|
||||
"Error pasting the image, make sure you have an image in the clipboard!"))
|
||||
))
|
||||
(defun my-org-remove-link-and-trash-linked-file ()
|
||||
"Remove `org-mode' link at point and trash linked file."
|
||||
(interactive)
|
||||
(let* ((link (org-element-context))
|
||||
(path (org-element-property :path link)))
|
||||
(move-file-to-trash path)
|
||||
(delete-region (org-element-property :begin link)
|
||||
(org-element-property :end link))))
|
||||
|
||||
(defun as-windows-path (unix-path)
|
||||
"Takes a unix path and returns a matching WSL path"
|
||||
;; substring removes the trailing \n
|
||||
(substring
|
||||
(shell-command-to-string
|
||||
(concat "wslpath -w " unix-path)) 0 -1))
|
||||
|
||||
(defun powershell (script)
|
||||
"executes the given script within a powershell and returns its return value"
|
||||
(call-process "powershell.exe" nil nil nil
|
||||
"-Command" (concat "& {" script "}")))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Dashboard
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(use-package dashboard
|
||||
:init ;; tweak dashboard config before loading it
|
||||
(setq dashboard-set-heading-icons t)
|
||||
(setq dashboard-set-file-icons t)
|
||||
(setq dashboard-startup-banner 'logo) ;; use standard emacs logo as banner
|
||||
;;(setq dashboard-startup-banner "~/.config/doom/doom-emacs-dash.png") ;; use custom image as banner
|
||||
(setq dashboard-center-content t) ;; set to 't' for centered content
|
||||
(setq dashboard-items '((recents . 10)
|
||||
(bookmarks . 5)
|
||||
(projects . 10)))
|
||||
(setq dashboard-set-footer t)
|
||||
(setq dashboard-page-separator "\n\f\n")
|
||||
(setq dashboard-set-navigator t)
|
||||
;; Format: "(icon title help action face prefix suffix)"
|
||||
(setq dashboard-navigator-buttons
|
||||
`(;; line1
|
||||
((,(all-the-icons-octicon "mark-github" :height 1.1 :v-adjust 0.0)
|
||||
"Github"
|
||||
"Browse my Github"
|
||||
(lambda (&rest _) (browse-url "https://github.com/JaeUs3792/")))
|
||||
(,(all-the-icons-octicon "home" :height 1.1 :v-adjust 0.0)
|
||||
"Homepage"
|
||||
"Browse my Homepage"
|
||||
(lambda (&rest _) (browse-url "https://jaeus.net")))
|
||||
(,(all-the-icons-octicon "zap" :height 1.1 :v-adjust 0.0)
|
||||
"Update"
|
||||
"Doom upgrade"
|
||||
(lambda (&rest _) (doom/upgrade)) warning))))
|
||||
:config
|
||||
(dashboard-setup-startup-hook)
|
||||
(dashboard-modify-heading-icons '((recents . "file-text")
|
||||
(bookmarks . "book"))))
|
||||
|
||||
(setq doom-fallback-buffer-name "*dashboard*")
|
||||
(after! dashboard
|
||||
(page-break-lines-mode))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Rainbow delimiter mode for programming.
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(add-hook 'verilog-mode-hook #'rainbow-delimiters-mode)
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; Avy multi-buffer
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(setq! avy-all-windows t)
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Calendar
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(use-package! calfw)
|
||||
(use-package! calfw-org)
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Neotree
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; comment ~/.emacs.d/modules/ui/doom/config.el (add-hook 'doom-load-theme-hook #'doom-themes-neotree-config)
|
||||
(setq! neo-theme (if (display-graphic-p) 'icons 'arrow))
|
||||
(setq! neo-smart-open t)
|
||||
;;(doom-themes-neotree-config)
|
||||
;;(setq! doom-themes-neotree-file-icons t)
|
||||
;;;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Mode
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(with-eval-after-load 'org
|
||||
;; This is needed as of Org 9.2
|
||||
(require 'org-tempo)
|
||||
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("hs" . "src haskell"))
|
||||
(add-to-list 'org-structure-template-alist '("cc" . "src c"))
|
||||
(add-to-list 'org-structure-template-alist '("cp" . "src c++"))
|
||||
(add-to-list 'org-structure-template-alist '("rs" . "src rust"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src jupyter-python"))
|
||||
(add-to-list 'org-structure-template-alist '("oc" . "src octave"))
|
||||
(add-to-list 'org-structure-template-alist '("vl" . "src verilog"))
|
||||
(add-to-list 'org-structure-template-alist '("vh" . "src vhdl")))
|
||||
|
||||
(after! org
|
||||
(setq! org-hide-emphasis-markers t)
|
||||
(setq org-superstar-item-bullet-alist
|
||||
'((?+ . ?➤)
|
||||
(?* . ?–)
|
||||
(?- . ?•)))
|
||||
(custom-set-faces!
|
||||
'(org-level-1 :height 1.7 :weight ultra-bold :foreground "#81a2be") ;; :foreground "#81a2be"
|
||||
'(org-level-2 :height 1.6 :weight extra-bold :foreground "#b294bb") ;; :foreground "#b294bb"
|
||||
'(org-level-3 :height 1.5 :weight bold :foreground "#b5bd68") ;; :foreground "#b5bd68"
|
||||
'(org-level-4 :height 1.4 :weight semi-bold :foreground "#e6c547") ;; :foreground "#e6c547"
|
||||
'(org-level-5 :height 1.3 :weight normal :foreground "#cc6666") ;; :foreground "#cc6666"
|
||||
'(org-level-6 :height 1.2 :weight normal :foreground "#70c0ba") ;; :foreground "#70c0ba"
|
||||
'(org-level-7 :height 1.1 :weight normal :foreground "#b77ee0") ;; :foreground "#b77ee0"
|
||||
'(org-level-8 :height 1.0 :weight normal :foreground "#9ec400")) ;; :foreground "#9ec400"
|
||||
(custom-set-faces!
|
||||
'(org-document-title :height 2.0)))
|
||||
(setq org-use-sub-superscripts '{})
|
||||
(setq org-export-with-sub-superscripts '{})
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Roam
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(defun my/org-roam-list-notes-by-tag (tag-name)
|
||||
(mapcar #'org-roam-node-file
|
||||
(seq-filter
|
||||
(my/org-roam-filter-by-tag tag-name)
|
||||
(org-roam-node-list))))
|
||||
|
||||
(defun my/org-roam-refresh-agenda-list ()
|
||||
(interactive)
|
||||
(setq org-agenda-files (my/org-roam-list-notes-by-tag "Project"))
|
||||
(add-to-list 'org-agenda-files "~/org/agenda/agenda.org"))
|
||||
(defun my/org-roam-filter-by-tag (tag-name)
|
||||
(lambda (node)
|
||||
(member tag-name (org-roam-node-tags node))))
|
||||
|
||||
;;(with-eval-after-load 'org-roam
|
||||
;; (defun my/org-roam-project-finalize-hook ()
|
||||
;; "Adds the captured project file to `org-agenda-files' if the
|
||||
;;capture was not aborted."
|
||||
;; ;; Remove the hook since it was added temporarily
|
||||
;; (remove-hook 'org-capture-after-finalize-hook #'my/org-roam-project-finalize-hook)
|
||||
;;
|
||||
;; ;; Add project file to the agenda list if the capture was confirmed
|
||||
;; (unless org-note-abort
|
||||
;; (with-current-buffer (org-capture-get :buffer)
|
||||
;; (add-to-list 'org-agenda-files (buffer-file-name)))))
|
||||
;; (defun my/org-roam-find-project ()
|
||||
;; (interactive)
|
||||
;; ;; Add the project file to the agenda after capture is finished
|
||||
;; (add-hook 'org-capture-after-finalize-hook #'my/org-roam-project-finalize-hook)
|
||||
;;
|
||||
;; ;; Select a project file to open, creating it if necessary
|
||||
;; (org-roam-node-find
|
||||
;; nil
|
||||
;; nil
|
||||
;; (my/org-roam-filter-by-tag "Project")
|
||||
;; :templates
|
||||
;; '(("p" "project" plain "* Goals\n\n%?\n\n* Tasks\n\n** TODO Add initial tasks\n\n* Dates\n\n"
|
||||
;; :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n#+category: ${title}\n#+filetags: Project")
|
||||
;; :unnarrowed t))))
|
||||
;; (defun my/org-roam-capture-inbox ()
|
||||
;; (interactive)
|
||||
;; (org-roam-capture- :node (org-roam-node-create)
|
||||
;; :templates '(("i" "inbox" plain "* %?"
|
||||
;; :if-new (file+head "Inbox.org" "#+title: Inbox\n")))))
|
||||
;;
|
||||
;; (defun my/org-roam-copy-todo-to-today ()
|
||||
;; (interactive)
|
||||
;; (let ((org-refile-keep t) ;; Set this to nil to delete the original!
|
||||
;; (org-roam-dailies-capture-templates
|
||||
;; '(("t" "tasks" entry "%?"
|
||||
;; :if-new (file+head+olp "%<%Y-%m-%d>.org" "#+title: %<%Y-%m-%d>\n" ("Tasks")))))
|
||||
;; (org-after-refile-insert-hook #'save-buffer)
|
||||
;; today-file
|
||||
;; pos)
|
||||
;; (save-window-excursion
|
||||
;; (org-roam-dailies--capture (current-time) t)
|
||||
;; (setq today-file (buffer-file-name))
|
||||
;; (setq pos (point)))
|
||||
;;
|
||||
;; ;; Only refile if the target file is different than the current file
|
||||
;; (unless (equal (file-truename today-file)
|
||||
;; (file-truename (buffer-file-name)))
|
||||
;; (org-refile nil nil (list "Tasks" today-file nil pos))))))
|
||||
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Agenda
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(use-package! org-super-agenda
|
||||
:after org
|
||||
:config
|
||||
(org-super-agenda-mode 1)
|
||||
(my/org-roam-refresh-agenda-list))
|
||||
(setq org-agenda-custom-commands
|
||||
'(("z" "Org mode super agenda"
|
||||
((alltodo "" ((org-agenda-overriding-header "")
|
||||
(org-super-agenda-groups
|
||||
'((:name "Important"
|
||||
:tag "Important"
|
||||
:priority "A"
|
||||
:order 6)
|
||||
(:name "Due Today"
|
||||
:deadline today
|
||||
:order 2)
|
||||
(:name "Due Soon"
|
||||
:deadline future
|
||||
:order 8)
|
||||
(:name "Overdue"
|
||||
:deadline past
|
||||
:order 7)
|
||||
(:name "Projects"
|
||||
:tag "Project"
|
||||
:order 14)
|
||||
(:name "To read"
|
||||
:tag "Read"
|
||||
:order 30)
|
||||
(:name "Waiting"
|
||||
:todo "WAIT"
|
||||
:order 20)
|
||||
(:name "Holding"
|
||||
:todo "HOLD"
|
||||
:order 21)
|
||||
(:name "trivial"
|
||||
:priority<= "C"
|
||||
:tag ("Trivial" "Unimportant")
|
||||
:order 90)
|
||||
(:discard (:tag ("Chore" "Routine" "Daily")))))))))))
|
||||
(after! org
|
||||
;;(setq org-todo-keywords
|
||||
;; '((sequence "TODO(t@/!)" "NEXT(n)" "WAIT(w)" "HOLD(h)" "|" "DONE(d)" "KILL(k)")))
|
||||
(setq! org-log-into-drawer "LOGBOOK")
|
||||
(setq! org-clock-into-drawer "CLOCKING")
|
||||
(setq! org-lowest-priority 68))
|
||||
(use-package! org-fancy-priorities
|
||||
:config
|
||||
(setq org-fancy-priorities-list '("⚡" "⬆" "⬇" "☕")))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Graphviz
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((dot . t)))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Mode extra configuration
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(setq org-odt-preferred-output-format "docx")
|
||||
;;(use-package! ob-translate
|
||||
;; :config
|
||||
;; (setq ob-translate:default-dest "ko")
|
||||
;; (setq google-translate-backend-method 'wget))
|
||||
(setq google-translate-backend-method 'curl)
|
||||
(use-package! org-journal
|
||||
:config
|
||||
(setq org-journal-file-type 'weekly))
|
||||
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Caldav
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;;(use-package! org-caldav
|
||||
;; :after org)
|
||||
;;(defun my/caldav-sync-perso ()
|
||||
;; "Sync my local calendar in ~/org/calendar.org with my remote calendar"
|
||||
;; (interactive)
|
||||
;; (let ((org-caldav-inbox "~/org/cal_inbox.org")
|
||||
;; (org-caldav-calendar-id "org")
|
||||
;; (org-caldav-url "https://jaeus.net/webdav")
|
||||
;; (org-caldav-files '("~/org/calendar.org")))
|
||||
;; (call-interactively 'org-caldav-sync)))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Roam UI Mode
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(use-package! websocket
|
||||
:after org-roam)
|
||||
|
||||
(use-package! org-roam-ui
|
||||
:after org-roam ;; or :after org
|
||||
;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
|
||||
;; a hookable mode anymore, you're advised to pick something yourself
|
||||
;; if you don't care about startup time, use
|
||||
;;:hook (after-init . org-roam-ui-mode)
|
||||
:config
|
||||
(setq! org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start nil))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Org Publish
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(setq org-publish-use-timestamps-flag nil)
|
||||
(setq org-export-with-broken-lilnks t)
|
||||
(setq org-publish-project-alist
|
||||
'(("jaeus.net"
|
||||
:base-directory "~/org/www/"
|
||||
:base-extension "org"
|
||||
:publishing-directory "~/Projects/html/"
|
||||
:recursive t
|
||||
:publishing-function org-html-publish-to-html
|
||||
:headline-levels 4
|
||||
:auto-preamble t)))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - EPUB
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(use-package! nov)
|
||||
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Open with external program
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;;(use-package openwith
|
||||
;; :after-call pre-command-hook
|
||||
;; :config
|
||||
;; (setq large-file-warning-threshold nil)
|
||||
;; (openwith-mode t)
|
||||
;; (setq openwith-associations
|
||||
;; (list (list (openwith-make-extension-regexp
|
||||
;; '("mpg" "mpeg" "mp3" "mp4" "m4v"
|
||||
;; "avi" "wmv" "wav" "mov" "flv"
|
||||
;; "ogm" "ogg" "mkv"))
|
||||
;; "mpv"
|
||||
;; '(file))
|
||||
;; (list (openwith-make-extension-regexp
|
||||
;; '("pdf"))
|
||||
;; "zathura"
|
||||
;; '(file)))))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Lang - Latex
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(setq! +latex-viewers '(zathura))
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
;; - Lang - Verilog
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(setq! verilog-auto-newline nil)
|
||||
(setq! verilog-highlight-translate-off t)
|
||||
(setq! verilog-indent-level 4)
|
||||
(setq! verilog-indent-level-module 0)
|
||||
(setq! verilog-indent-level-behavioral 4)
|
||||
(setq! verilog-indent-level-declaration 0)
|
||||
(setq! verilog-case-indent 4)
|
||||
(setq! verilog-cexp-indent 4)
|
||||
(setq! verilog-indent-lists nil)
|
||||
; --------------------------------------------------------------------------------------------
|
||||
;; - Dired
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(use-package! dired
|
||||
:config
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"h" 'dired-up-directory
|
||||
"l" 'dired-find-file))
|
||||
(use-package! dired-hide-dotfiles
|
||||
:hook (dired-mode . dired-hide-dotfiles-mode)
|
||||
:config
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"H" 'dired-hide-dotfiles-mode))
|
||||
(setq! delete-by-moving-to-trash t
|
||||
trash-directory "~/.local/share/Trash/files/")
|
||||
(map! :leader
|
||||
(:prefix ("d" . "dired")
|
||||
:desc "Open dired" "d" #'dired
|
||||
:desc "Dired jump to current" "j" #'dired-jump)
|
||||
(:after dired
|
||||
(:map dired-mode-map
|
||||
:desc "Peep-dired image previews" "d p" #'peep-dired
|
||||
:desc "Dired view file" "d v" #'dired-view-file)))
|
||||
(evil-define-key 'normal peep-dired-mode-map
|
||||
(kbd "j") 'peep-dired-next-file
|
||||
(kbd "k") 'peep-dired-prev-file)
|
||||
(add-hook 'peep-dired-hook 'evil-normalize-keymaps)
|
||||
; --------------------------------------------------------------------------------------------
|
||||
;; - KeyBindings
|
||||
;; --------------------------------------------------------------------------------------------
|
||||
(map! "C-s" 'consult-line)
|
||||
(map! "C-M-l" 'consult-imenu)
|
||||
(map! "C-M-j" 'persp-switch-to-buffer)
|
||||
|
||||
(map! :leader
|
||||
;; file bind
|
||||
:desc "Org Agenda Common"
|
||||
"oac" '(lambda () (interactive) (find-file (expand-file-name "~/org/agenda/agenda.org")))
|
||||
:desc "Org Calendar"
|
||||
"oc" 'cfw:open-org-calendar
|
||||
:desc "dOtfiles"
|
||||
"fo" '(:ignore t)
|
||||
:desc "doom config.el"
|
||||
"foc" '(lambda () (interactive) (find-file (expand-file-name "~/.doom.d/config.el")))
|
||||
:desc "doom package.el"
|
||||
"fop" '(lambda () (interactive) (find-file (expand-file-name "~/.doom.d/packages.el")))
|
||||
:desc "doom init.el"
|
||||
"foi" '(lambda () (interactive) (find-file (expand-file-name "~/.doom.d/init.el")))
|
||||
;; Eshell
|
||||
:desc "eshell"
|
||||
"e" '(:ignore t)
|
||||
:desc "eshell"
|
||||
"e s" 'eshell
|
||||
;; AVY
|
||||
:desc "AVY"
|
||||
"v" '(:ignore t)
|
||||
:desc "Avy goto char"
|
||||
"vc" 'avy-goto-char
|
||||
:desc "Avy goto word"
|
||||
"vw" 'avy-goto-word-0
|
||||
:desc "Avy goto line"
|
||||
"vl" 'avy-goto-line
|
||||
;; Org mode
|
||||
:desc "org roam refresh agenda list"
|
||||
"oar" 'my/org-roam-refresh-agenda-list
|
||||
:desc "org roam ui open"
|
||||
"nru" 'org-roam-ui-open
|
||||
:desc "org roam find tag:project"
|
||||
"nrp" 'my/org-roam-find-project
|
||||
:desc "org roam find with ripgrep (preview)"
|
||||
"nrg" 'my/org-roam-rg-search)
|
||||
@ -1,14 +0,0 @@
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(auth-source-save-behavior nil)
|
||||
'(custom-safe-themes
|
||||
'("47db50ff66e35d3a440485357fb6acb767c100e135ccdf459060407f8baea7b2" "234dbb732ef054b109a9e5ee5b499632c63cc24f7c2383a849815dacc1727cb6" "835868dcd17131ba8b9619d14c67c127aa18b90a82438c8613586331129dda63" default)))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
||||
@ -1,200 +0,0 @@
|
||||
;;; init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||
;; of our modules are listed, including what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
|
||||
:completion
|
||||
company ; the ultimate code completion backend
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
;;ivy ; a search engine for love and life
|
||||
(vertico +icons) ; the search engine of the future
|
||||
|
||||
:ui
|
||||
;;deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
;;doom-dashboard ; a nifty splash screen for Emacs
|
||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
(emoji +unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
;;hydra
|
||||
;;indent-guides ; highlighted indent columns
|
||||
;;(ligatures +extras) ; ligatures and symbols to make your code pretty again
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;;nav-flash ; blink cursor line after big motions
|
||||
neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
;;tabs ; a tab bar for Emacs
|
||||
;;treemacs ; a project drawer, like neotree but cooler
|
||||
;;unicode ; extended unicode support for various languages
|
||||
vc-gutter ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
;;(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
;;multiple-cursors ; editing in many places at once
|
||||
;;objed ; text object editing for the innocent
|
||||
;;parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;;word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
(dired +icons) ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
(ibuffer +icons) ; interactive buffer management
|
||||
undo ; persistent, smarter undo for your inevitable mistakes
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
|
||||
:term
|
||||
eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
;;vterm ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
lookup ; navigate your code and its documentation
|
||||
(lsp +peek) ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
;;rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||
;;tty ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
;;(cc +lsp) ; C > C++ == 1
|
||||
;;clojure ; java with a lisp
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
;;data ; config/data formats
|
||||
;;(dart +flutter) ; paint ui and not much else
|
||||
;;dhall
|
||||
;;elixir ; erlang done right
|
||||
;;elm ; care for a cup of TEA?
|
||||
emacs-lisp ; drown in parentheses
|
||||
;;erlang ; an elegant language for a more civilized age
|
||||
;;ess ; emacs speaks statistics
|
||||
;;factor
|
||||
;;faust ; dsp, but you get to keep your soul
|
||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
||||
;;fsharp ; ML stands for Microsoft's Language
|
||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||
;;gdscript ; the language you waited for
|
||||
;;(go +lsp) ; the hipster dialect
|
||||
;;(graphql +lsp) ; Give queries a REST
|
||||
;;(haskell +lsp) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ; a language you can depend on
|
||||
json ; At least it ain't XML
|
||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
(latex +latexmk +fold) ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
;;ledger ; be audit you can be
|
||||
;;lua ; one-based indices? one-based indices
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
(org
|
||||
+dragndrop
|
||||
+roam2
|
||||
+journal
|
||||
+jupyter
|
||||
+pretty
|
||||
+gnuplot
|
||||
+hugo) ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
(python +lsp) ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
;;web ; the tubes
|
||||
yaml ; JSON, but readable
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
;;calendar
|
||||
;;emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
(rss +org) ; emacs as an RSS reader
|
||||
;;twitter ; twitter client https://twitter.com/vnought
|
||||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
||||
@ -1,68 +0,0 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
||||
;; use 'M-x doom/reload'.
|
||||
|
||||
|
||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||
;(package! some-package)
|
||||
|
||||
;; To install a package directly from a remote git repo, you must specify a
|
||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||
;; https://github.com/raxod502/straight.el#the-recipe-format
|
||||
;(package! another-package
|
||||
; :recipe (:host github :repo "username/repo"))
|
||||
|
||||
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
||||
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
||||
;; `:files' in the `:recipe':
|
||||
;(package! this-package
|
||||
; :recipe (:host github :repo "username/repo"
|
||||
; :files ("some-file.el" "src/lisp/*.el")))
|
||||
|
||||
;; If you'd like to disable a package included with Doom, you can do so here
|
||||
;; with the `:disable' property:
|
||||
;(package! builtin-package :disable t)
|
||||
|
||||
;; You can override the recipe of a built in package without having to specify
|
||||
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||
;(package! builtin-package :recipe (:nonrecursive t))
|
||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||
|
||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
||||
;; This is required for some packages whose default branch isn't 'master' (which
|
||||
;; our package manager can't deal with; see raxod502/straight.el#279)
|
||||
;(package! builtin-package :recipe (:branch "develop"))
|
||||
|
||||
;; Use `:pin' to specify a particular commit to install.
|
||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||
|
||||
|
||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||
;(unpin! pinned-package)
|
||||
;; ...or multiple packages
|
||||
;(unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;(unpin! t)
|
||||
(unpin! org-roam)
|
||||
(package! org-roam-ui)
|
||||
;;(package! ob-translate)
|
||||
(package! google-translate)
|
||||
(package! dired-hide-dotfiles)
|
||||
(package! nov)
|
||||
;;(package! org-caldav)
|
||||
(package! openwith)
|
||||
(package! org-super-agenda)
|
||||
(package! graphviz-dot-mode)
|
||||
(package! vertico-posframe)
|
||||
(package! peep-dired)
|
||||
(package! beacon)
|
||||
(package! calfw)
|
||||
(package! calfw-org)
|
||||
(package! dashboard)
|
||||
(package! page-break-lines)
|
||||
;;(package! eglot)
|
||||
@ -1,29 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: AUTO State ASCII
|
||||
# uuid:
|
||||
# key: trigger-key
|
||||
# condition: t
|
||||
# --
|
||||
|
||||
localparam // auto enum state_info
|
||||
S_IDLE = 0;
|
||||
reg [2:0] // auto enum state_info
|
||||
cstate, nstate;
|
||||
// synthesis translate_off
|
||||
/*AUTOASCIIENUM("cstate", "cstate_ascii_r", "")*/
|
||||
// synthesis translate_on
|
||||
always@(posedge clk) begin
|
||||
if(rst) begin
|
||||
cstate <= S_IDLE;
|
||||
end
|
||||
else begin
|
||||
cstate <= nstate;
|
||||
end
|
||||
end
|
||||
|
||||
always@* begin
|
||||
case(cstate)
|
||||
S_IDLE : nstate = S_IDLE;
|
||||
default : nstate = S_IDLE;
|
||||
endcase
|
||||
end
|
||||
@ -1,11 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: always(async rst)
|
||||
# key:
|
||||
# --
|
||||
always@(posedge clk or posedge rst) begin
|
||||
if(rst) begin
|
||||
/*AUTORESET*/
|
||||
end
|
||||
else begin
|
||||
end
|
||||
end
|
||||
@ -1,11 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: always(async rstn)
|
||||
# key:
|
||||
# --
|
||||
always@(posedge clk or negedge rstn) begin
|
||||
if(!rstn) begin
|
||||
/*AUTORESET*/
|
||||
end
|
||||
else begin
|
||||
end
|
||||
end
|
||||
@ -1,11 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: always(sync rst)
|
||||
# key:
|
||||
# --
|
||||
always@(posedge clk) begin
|
||||
if(rst) begin
|
||||
/*AUTORESET*/
|
||||
end
|
||||
else begin
|
||||
end
|
||||
end
|
||||
@ -1,11 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: always(sync rstn)
|
||||
# key:
|
||||
# --
|
||||
always@(posedge clk) begin
|
||||
if(!rstn) begin
|
||||
/*AUTORESET*/
|
||||
end
|
||||
else begin
|
||||
end
|
||||
end
|
||||
@ -1,18 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: module(base)
|
||||
# key:
|
||||
# --
|
||||
module example
|
||||
#(
|
||||
parameter DIN_LEN = 8
|
||||
)
|
||||
(/*AUTOARG*/);
|
||||
|
||||
/*AUTOINPUT*/
|
||||
/*AUTOOUTPUT*/
|
||||
|
||||
/*AUTOWIRE*/
|
||||
/*AUTOREG*/
|
||||
|
||||
|
||||
endmodule
|
||||
@ -1,981 +0,0 @@
|
||||
;;; morning-star-theme.el --- Emacs 24 theme with a dark background.
|
||||
|
||||
;; Copyright (C) 2016, Alexander Miller
|
||||
|
||||
;; Author: Alexander Miller
|
||||
;;
|
||||
;; Version: 0.1
|
||||
;; Package-Requires: ((emacs "24"))
|
||||
;; Created with emacs-theme-generator, https://github.com/mswift42/theme-creator.
|
||||
|
||||
|
||||
;; This program 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 of the License, 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.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;; This file is not part of Emacs.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(deftheme morning-star)
|
||||
(let ((class '((class color) (min-colors 89)))
|
||||
(fg "#bbbbbb")
|
||||
(bg "#2d2d31")
|
||||
(bg2 "#25252a")
|
||||
(grey1 "#666666")
|
||||
(grey2 "#383844")
|
||||
(grey3 "#343440")
|
||||
(black1 "#1a1a1a")
|
||||
(black2 "#000000")
|
||||
(red1 "#f2777a")
|
||||
(red2 "#bb6666")
|
||||
(red3 "#ab3737")
|
||||
(red4 "#221111")
|
||||
(green1 "#66aa66")
|
||||
(green2 "#559955")
|
||||
(green3 "#112211")
|
||||
(aqua1 "#55a9a9")
|
||||
(aqua2 "#1e8f8f")
|
||||
(purple1 "#997799")
|
||||
(purple2 "#886688")
|
||||
(yellow1 "#f0c674")
|
||||
(yellow2 "#ddba1a")
|
||||
(orange1 "#c98459")
|
||||
(orange2 "#b87348")
|
||||
(brown1 "#ccb18b")
|
||||
(brown2 "#9f8b6f")
|
||||
(blue1 "#5588bb")
|
||||
(blue2 "#4477aa")
|
||||
(blue3 "#333366"))
|
||||
|
||||
(custom-theme-set-faces
|
||||
'morning-star
|
||||
|
||||
;; Syntax highlghting
|
||||
`(default ((,class (:foreground ,fg :background ,bg))))
|
||||
`(default-italic ((,class (:italic t))))
|
||||
`(font-lock-builtin-face ((,class (:foreground ,aqua1))))
|
||||
`(font-lock-comment-face ((,class (:foreground ,grey1))))
|
||||
`(font-lock-comment-delimiter-face ((,class (:foreground ,grey1))))
|
||||
`(font-lock-negation-char-face ((,class (:foreground ,red1))))
|
||||
`(font-lock-constant-face ((,class (:foreground ,red1))))
|
||||
`(font-lock-reference-face ((,class (:foreground ,red1))))
|
||||
`(font-lock-preprocessor-face ((,class (:foreground ,aqua1))))
|
||||
`(font-lock-doc-face ((,class (:foreground ,brown1))))
|
||||
`(font-lock-function-name-face ((,class (:foreground ,blue1))))
|
||||
`(font-lock-keyword-face ((,class (:foreground ,purple1 :bold t))))
|
||||
`(font-lock-string-face ((,class (:foreground ,green1))))
|
||||
`(font-lock-type-face ((,class (:foreground ,yellow1))))
|
||||
`(font-lock-variable-name-face ((,class (:foreground ,orange1))))
|
||||
`(font-lock-warning-face ((,class (:foreground ,red1 :underline (:style wave)))))
|
||||
|
||||
;; Mode Line
|
||||
`(mode-line ((,class (:box (:color ,black2) :background ,black1 :foreground ,green1 :bold t))))
|
||||
`(mode-line-highlight ((,class (:box (:color ,black2) :underline t))))
|
||||
`(mode-line-emphasis ((,class (:box (:color ,black2) :bolt t))))
|
||||
`(mode-line-inactive ((,class (:box (:color ,black2) :background ,bg2 :foreground ,green1))))
|
||||
`(powerline-active1 ((,class (:box (:color ,black2) :background ,black1 :foreground ,purple1 :bold t))))
|
||||
`(powerline-active2 ((,class (:box (:color ,black2) :background ,black1 :foreground ,black1))))
|
||||
`(mode-line-buffer-id ((,class (:box (:color ,black2) :foreground ,orange1 :bold t))))
|
||||
`(powerline-inactive1 ((,class (:box (:color ,black2) :background ,bg2 :foreground ,purple1))))
|
||||
`(powerline-inactive2 ((,class (:box (:color ,black2) :background ,bg2 :foreground ,purple1))))
|
||||
`(spaceline-evil-normal ((,class (:box (:color ,black2) :background ,black1 :foreground ,red3))))
|
||||
`(spaceline-evil-insert ((,class (:box (:color ,black2) :background ,black1 :foreground ,green1))))
|
||||
`(spaceline-evil-visual ((,class (:box (:color ,black2) :background ,black1 :foreground ,purple1))))
|
||||
`(spaceline-evil-emacs ((,class (:box (:color ,black2) :background ,black1 :foreground ,aqua1))))
|
||||
`(spaceline-evil-motion ((,class (:box (:color ,black2) :background ,black1 :foreground ,orange1))))
|
||||
`(spaceline-evil-replace ((,class (:box (:color ,black2) :background ,black1 :foreground ,aqua2))))
|
||||
`(spaceline-flycheck-error ((,class (:box (:color ,black2) :foreground ,red2))))
|
||||
`(spaceline-flycheck-warning ((,class (:box (:color ,black2) :foreground ,yellow2))))
|
||||
`(spaceline-flycheck-info ((,class (:box (:color ,black2) :foreground ,green2))))
|
||||
|
||||
;; Standard UI Items
|
||||
`(show-paren-match ((,class (:underline ,aqua2 :bold t))))
|
||||
`(isearch ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(internal-border ((,class (:background ,black2))))
|
||||
`(child-frame-border ((,class (:background ,black2))))
|
||||
`(lazy-highlight ((,class (:background ,red1 :foreground ,black1))))
|
||||
`(link ((,class (:foreground ,aqua1 :underline (:color ,aqua1)))))
|
||||
`(link-visited ((,class (:foreground ,aqua2 :underline (:color ,aqua2)))))
|
||||
`(button ((,class (:background ,bg2 :foreground ,blue1 :box (:color ,grey3 :line-width 2 :style released-button) :bold t))))
|
||||
`(linum ((,class (:background ,bg :foreground ,grey1 :bold nil :box nil :overline nil :underline nil :italic nil))))
|
||||
`(line-number ((,class (:background ,bg :foreground ,grey1 :bold t))))
|
||||
`(line-number-current-line ((,class (:background ,bg :foreground ,green1 :bold t))))
|
||||
`(region ((,class (:background ,black1 :foreground ,fg))))
|
||||
`(highlight ((,class (:background ,black1 :foreground ,fg))))
|
||||
`(hl-line ((,class (:background ,grey2))))
|
||||
`(highlight-indentation-face ((,class (:background ,grey2))))
|
||||
`(header-line ((,class (:box (:color ,black2) :background ,black1))))
|
||||
`(fringe ((,class (:background ,bg))))
|
||||
`(cursor ((,class (:background ,red1))))
|
||||
`(minibuffer-prompt ((,class (:foreground ,purple1))))
|
||||
`(vertical-border ((,class (:foreground ,black2))))
|
||||
`(error ((,class (:foreground ,red3))))
|
||||
`(success ((,class (:foreground ,green1))))
|
||||
`(warning ((,class (:foreground ,yellow2))))
|
||||
`(eval-sexp-fu-flash ((,class (:background ,green1 :foreground ,black1))))
|
||||
`(eval-sexp-fu-flash-error ((,class (:background ,red3 :foreground ,fg))))
|
||||
`(secondary-selection ((,class (nil))))
|
||||
`(match ((,class (:background ,red3 :foreground ,fg))))
|
||||
`(tooltip ((,class (:background ,bg2 :foreground ,brown1))))
|
||||
`(help-key-binding ((,class (:foreground ,orange2 :bold t))))
|
||||
`(variable-pitch ((,class (:family "Iosevka Aile"))))
|
||||
|
||||
;; Widgets
|
||||
`(widget-field ((,class (:foreground ,brown1 :background ,grey3 :bold t :box (:line-width -1 :color ,grey1)))))
|
||||
|
||||
;; Tabs
|
||||
`(tab-line ((,class (:background ,black1 :foreground ,fg :box (:line-width 3 :color ,black1) :overline ,black1))))
|
||||
`(tab-line-tab ((,class (:background ,black1 :foreground ,fg :box (:line-width 3 :color ,black1) :overline ,black1))))
|
||||
`(tab-line-tab-current ((,class (:background ,bg2 :foreground ,fg :box (:line-width 3 :color ,bg2) :overline ,blue1))))
|
||||
`(tab-line-tab-inactive ((,class (:background ,black1 :foreground ,fg :box (:line-width 3 :color ,black1) :overline ,black1))))
|
||||
`(tab-line-highlight ((,class (:background ,bg :foreground ,fg :box (:line-width 3 :color ,bg) :overline ,blue1))))
|
||||
|
||||
;; Anzu
|
||||
`(anzu-mode-line ((,class (:foreground ,yellow2 :background ,bg2))))
|
||||
`(anzu-replace-highlight ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(anzu-replace-to ((,class (:foreground ,black1 :background ,blue1))))
|
||||
|
||||
;; Xref
|
||||
`(xref-file-header ((,class (:foreground ,brown1))))
|
||||
`(xref-line-number ((,class (:foreground ,green1))))
|
||||
`(xref-match ((,class (:background ,black1))))
|
||||
|
||||
;; Evil
|
||||
`(evil-search-highlight-persist-highlight-face ((,class (:foreground ,black1 :background ,red1))))
|
||||
`(evil-ex-substitute-matches ((,class (:inherit anzu-replace-highlight))))
|
||||
`(evil-ex-substitute-replacement ((,class (:inherit anzu-replace-to))))
|
||||
|
||||
;; Evil Goggles
|
||||
`(evil-goggles-default-face ((,class (:foreground ,black1 :background ,blue2 :bold t))))
|
||||
`(evil-goggles-delete-face ((,class (:foreground ,black1 :background ,red3 :bold t))))
|
||||
`(evil-goggles-indent-face ((,class (:foreground ,black1 :background ,orange2 :bold t))))
|
||||
`(evil-goggles-yank-face ((,class (:foreground ,black1 :background ,blue1 :bold t))))
|
||||
`(evil-goggles-join-face ((,class (:foreground ,red2 :background ,bg2 :bold t))));; TODO
|
||||
`(evil-goggles-fill-and-move-face ((,class (:foreground ,red2 :background ,bg2 :bold t))));; TODO
|
||||
`(evil-goggles-paste-face ((,class (:foreground ,black1 :background ,green1 :bold t))))
|
||||
`(evil-goggles-shift-face ((,class (:foreground ,black1 :background ,aqua1 :bold t))))
|
||||
`(evil-goggles-surround-face ((,class (:foreground ,black1 :background ,purple1 :bold t))))
|
||||
`(evil-goggles-commentary-face ((,class (:foreground ,grey3 :background ,grey1 :bold t))))
|
||||
`(evil-goggles-nerd-commenter-face ((,class (:foreground ,grey3 :background ,grey1 :bold t))))
|
||||
`(evil-goggles-replace-with-register-face ((,class (:foreground ,red2 :background ,bg2 :bold t))));; TODO
|
||||
`(evil-goggles-set-marker-face ((,class (:foreground ,black1 :background ,aqua2 :bold t))))
|
||||
`(evil-goggles-undo-redo-add-face ((,class (:foreground ,black1 :background ,green1 :bold t))))
|
||||
`(evil-goggles-undo-redo-remove-face ((,class (:foreground ,black1 :background ,red3 :bold t))))
|
||||
`(evil-goggles-undo-redo-change-face ((,class (:foreground ,black1 :background ,blue1 :bold t))))
|
||||
|
||||
;; Spacemacs specifica
|
||||
`(spacemacs-normal-face ((,class (:foreground ,black1 :background ,red3))))
|
||||
`(spacemacs-visual-face ((,class (:foreground ,black1 :background ,purple2))))
|
||||
`(spacemacs-insert-face ((,class (:foreground ,black1 :background ,green1))))
|
||||
`(spacemacs-motion-face ((,class (:foreground ,black1 :background ,brown1))))
|
||||
`(spacemacs-emacs-face ((,class (:foreground ,black1 :background ,aqua2))))
|
||||
|
||||
;; Ido
|
||||
`(ido-first-match ((,class (:foreground ,green1))))
|
||||
`(ido-incomplete-regexp ((,class (:inherit error))))
|
||||
`(ido-indicator ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ido-only-match ((,class (:foreground ,green2 :bold t))))
|
||||
`(ido-subdir ((,class (:foreground ,blue1))))
|
||||
`(ido-virtual ((,class (:foreground ,aqua1))))
|
||||
`(ido-vertical-match-face ((,class (:foreground ,red1))))
|
||||
`(ido-vertical-first-match ((,class (:inherit ido-first-match))))
|
||||
`(ido-vertical-only-match ((,class (:inherit ido-only-match))))
|
||||
|
||||
;; Group Customization
|
||||
`(custom-button ((,class (:inherit button))))
|
||||
`(custom-button-mouse ((,class (:background ,blue1 :inherit custom-button))))
|
||||
`(custom-button-pressed ((,class (:foreground ,black1 :background ,blue1 :box (:line-width -1 :color ,black1 :style pressed-button)))))
|
||||
`(custom-comment ((,class (:inherit font-lock-comment-face))))
|
||||
`(custom-comment-tag ((,class (:inherit font-lock-comment-face))))
|
||||
`(custom-documentation ((,class (:foreground ,fg))))
|
||||
`(custom-group-subtitle ((,class (:foreground ,purple1 :bold t :underline t))))
|
||||
`(custom-group-tag ((,class (:foreground ,purple1 :bold t :underline nil :height 1.25))))
|
||||
`(custom-group-tag-1 ((,class (:foreground ,aqua1 :bold t :underline t :height 1.5))))
|
||||
`(custom-state ((,class (:foreground ,green2))))
|
||||
`(custom-variable-tag ((,class (:foreground ,purple1 :bold t :underline t))))
|
||||
|
||||
;; Ediff
|
||||
`(ediff-current-diff-A ((,class (:foreground ,black2 :background ,purple2))))
|
||||
`(ediff-current-diff-B ((,class (:foreground ,black2 :background ,purple2))))
|
||||
`(ediff-current-diff-C ((,class (:foreground ,aqua1 :background ,bg2))));;TODO
|
||||
`(ediff-current-diff-Ancestor ((,class (:foreground ,brown1 :background ,bg2))));;TODO
|
||||
`(ediff-even-diff-A ((,class (:foreground ,black2 :background ,blue1))))
|
||||
`(ediff-even-diff-B ((,class (:foreground ,black2 :background ,blue1))))
|
||||
`(ediff-even-diff-C ((,class (:foreground ,aqua1 :background ,red3))));;TODO
|
||||
`(ediff-even-diff-Ancestor ((,class (:foreground ,brown1 :background ,red3))));;TODO
|
||||
`(ediff-fine-diff-A ((,class (:foreground ,yellow1 :background ,red3 :bold t))))
|
||||
`(ediff-fine-diff-B ((,class (:foreground ,yellow1 :background ,red3 :bold t))))
|
||||
`(ediff-fine-diff-C ((,class (:foreground ,aqua1 :background ,purple1))));;TODO
|
||||
`(ediff-fine-diff-Ancestor ((,class (:foreground ,brown1 :background ,purple1))));;TODO
|
||||
`(ediff-odd-diff-A ((,class (:foreground ,black2 :background ,blue2))))
|
||||
`(ediff-odd-diff-B ((,class (:foreground ,black2 :background ,blue2))))
|
||||
`(ediff-odd-diff-C ((,class (:foreground ,aqua1 :background ,aqua2))));;TODO
|
||||
`(ediff-odd-diff-Ancestor ((,class (:foreground ,brown1 :background ,aqua2))));;TODO
|
||||
|
||||
;; Macrostep
|
||||
`(macrostep-expansion-highlight-face ((,class (:inherit region))))
|
||||
|
||||
;; Spacemacs states
|
||||
`(spacemacs-transient-state-title-face ((,class (:foreground ,black2 :background ,green2 :bold t :box (:color ,bg2 :line-width -1)))))
|
||||
`(spacemacs-micro-state-header-face ((,class (:inherit spacemacs-transient-state-title-face))))
|
||||
`(spacemacs-micro-state-binding-face ((,class (:foreground ,blue2 :bold t))))
|
||||
|
||||
;; Hydra
|
||||
`(hydra-face-red ((,class (:foreground ,red2 :bold t))))
|
||||
`(hydra-face-blue ((,class (:foreground ,blue2 :bold t))))
|
||||
`(hydra-face-pink ((,class (:foreground ,purple1 :bold t))))
|
||||
`(hydra-face-teal ((,class (:foreground ,green1 :bold t))))
|
||||
`(hydra-face-amaranth ((,class (:foreground ,aqua1 :bold t))))
|
||||
|
||||
;; Vimish
|
||||
`(vimish-fold-fringe ((,class (:foreground ,blue1))))
|
||||
`(vimish-fold-overlay ((,class (:foreground ,fg :background ,blue3 :box (:color ,black2 :line-width -1) :underline nil :bold nil))))
|
||||
`(vimish-fold-mouse-face ((,class (:inherit vimish-fold-overlay))))
|
||||
|
||||
;; Which Key
|
||||
`(which-key-key-face ((,class (:foreground ,orange1))))
|
||||
`(which-key-note-face ((,class (:foreground ,yellow1))))
|
||||
`(which-key-separator-face ((,class (:foreground ,aqua1))))
|
||||
`(which-key-special-key-face ((,class (:foreground ,orange1))))
|
||||
`(which-key-group-description-face ((,class (:foreground ,purple1))))
|
||||
`(which-key-command-description-face ((,class (:foreground ,green1))))
|
||||
`(which-key-highlighted-command-face ((,class (:foreground ,red1 :bold t))))
|
||||
`(which-key-local-map-description-face ((,class (:foreground ,blue1))))
|
||||
|
||||
;; Flyspell
|
||||
`(flyspell-incorrect ((,class (:underline (:color ,red3 :style wave)))))
|
||||
`(flyspell-duplicate ((,class (:underline (:color ,orange2 :style wave)))))
|
||||
|
||||
;; Flycheck
|
||||
`(flycheck-info ((,class (:underline ,green2))))
|
||||
`(flycheck-warning ((,class (:underline ,yellow2))))
|
||||
`(flycheck-error ((,class (:underline ,red3))))
|
||||
`(flycheck-fringe-info ((,class (:foreground ,green2))))
|
||||
`(flycheck-fringe-warning ((,class (:foreground ,yellow2))))
|
||||
`(flycheck-fringe-error ((,class (:foreground ,red1))))
|
||||
`(flycheck-error-list-info ((,class (:foreground ,green2))))
|
||||
`(flycheck-error-list-warning ((,class (:foreground ,yellow1 :bold t))))
|
||||
`(flycheck-error-list-error ((,class (:foreground ,red1 :bold t))))
|
||||
`(flycheck-error-list-id ((,class (:foreground ,yellow1))))
|
||||
`(flycheck-error-list-checker-name ((,class (:foreground ,brown1))))
|
||||
`(flycheck-error-list-column-number ((,class (:foreground ,green2 :bold t))))
|
||||
`(flycheck-error-list-line-number ((,class (:foreground ,green2 :bold t))))
|
||||
`(flycheck-error-list-highlight ((,class (:background ,grey3))))
|
||||
|
||||
;; Rainbow delimiters
|
||||
`(rainbow-delimiters-depth-1-face ((,class :foreground ,purple1)))
|
||||
`(rainbow-delimiters-depth-2-face ((,class :foreground ,red2)))
|
||||
`(rainbow-delimiters-depth-3-face ((,class :foreground ,green1)))
|
||||
`(rainbow-delimiters-depth-4-face ((,class :foreground ,orange1)))
|
||||
`(rainbow-delimiters-depth-5-face ((,class :foreground ,blue1)))
|
||||
`(rainbow-delimiters-depth-6-face ((,class :foreground ,yellow1)))
|
||||
`(rainbow-delimiters-depth-7-face ((,class :foreground ,brown1)))
|
||||
`(rainbow-delimiters-depth-8-face ((,class :foreground ,aqua1)))
|
||||
`(rainbow-delimiters-mismatched-face ((,class :foreground ,black1)))
|
||||
`(rainbow-delimiters-unmatched-face ((,class :foreground ,black1)))
|
||||
|
||||
;; Smerge
|
||||
`(smerge-mine ((,class (:foreground ,black1 :background ,blue1 :bold t))))
|
||||
`(smerge-markers ((,class (:foreground ,black1 :background ,purple2 :bold t))))
|
||||
`(smerge-upper ((,class (:foreground ,blue1))))
|
||||
`(smerge-refined-added ((,class (:foreground ,bg2 :background ,green2))))
|
||||
`(smerge-lower ((,class (:foreground ,orange1))))
|
||||
`(smerge-refined-removed ((,class (:foreground ,bg2 :background ,red2))))
|
||||
|
||||
;; Smart-Parens
|
||||
`(sp-pair-overlay-face ((,class (:background ,black1))))
|
||||
`(sp-show-pair-match-face ((,class (:inherit show-paren-match))))
|
||||
|
||||
;; Highlight symbol
|
||||
`(highlight-symbol-face ((,class (:background ,grey2))))
|
||||
|
||||
;; Paradox
|
||||
`(paradox-name-face ((,class (:foreground ,green1))))
|
||||
`(paradox-homepage-button-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(paradox-archive-face ((,class (:foreground ,brown1 :box (:color ,bg :line-width -1)))))
|
||||
`(paradox-star-face ((,class (:foreground ,purple2 :bold t))))
|
||||
|
||||
;; Man Pages
|
||||
`(Man-overstrike ((,class (:foreground ,purple1 :bold t))))
|
||||
`(Man-underline ((,class (:foreground ,green1 :underline t))))
|
||||
`(Man-reverse ((,class (:foreground ,aqua1))))
|
||||
|
||||
;; Dired
|
||||
`(dired-header ((,class (:foreground ,purple1 :underline t :height 1.2))))
|
||||
`(dired-marked ((,class (:foreground ,black2 :background ,purple1 :box (:line-width -1)))))
|
||||
`(dired-flagged ((,class (:foreground ,fg :background ,red3 :box (:color ,black2 :line-with -1)))))
|
||||
`(dired-ignored ((,class (:foreground ,black2 :background ,grey2 :box (:color ,black2 :line-with -1)))))
|
||||
`(dired-symlink ((,class (:foreground ,aqua1))))
|
||||
`(dired-directory ((,class (:foreground ,blue1))))
|
||||
`(dired-perm-write ((,class (:foreground ,red1))))
|
||||
`(dired-warning ((,class (:underline ,red3))))
|
||||
`(dired-mark ((,class (:inherit diredp-flag-mark-line))))
|
||||
|
||||
;; Dired+
|
||||
`(diredp-dir-name ((,class (:inherit dired-directory))))
|
||||
`(diredp-dir-heading ((,class (:inherit dired-header))))
|
||||
`(diredp-file-name ((,class (:foreground ,brown1))))
|
||||
`(diredp-file-suffix ((,class (:foreground ,brown1))))
|
||||
`(diredp-symlink ((,class (:inherit dired-symlink))))
|
||||
`(diredp-ignored-file-name ((,class (:foreground ,grey1))))
|
||||
`(diredp-compressed-file-suffix ((,class (:foreground ,purple1))))
|
||||
`(diredp-deletion-file-name ((,class (:foreground ,red1 :bold t))))
|
||||
`(diredp-deletion ((,class (:inherit diredp-deletion-file-name))))
|
||||
`(diredp-flag-mark-line ((,class (:foreground ,fg :bold t))))
|
||||
`(diredp-flag-mark ((,class (:inherit diredp-flag-mark-line))))
|
||||
`(diredp-mode-line-marked ((,class (:foreground ,purple1 :bold t))))
|
||||
`(diredp-mode-line-flagged ((,class (:foreground ,red1 :bold t))))
|
||||
`(diredp-executable-tag ((,class (:foreground ,red1 :bold t))))
|
||||
`(diredp-number ((,class (:foreground ,purple1))))
|
||||
`(diredp-date-time ((,class (:foreground ,green1))))
|
||||
`(diredp-read-priv ((,class (:foreground ,green1))))
|
||||
`(diredp-write-priv ((,class (:foreground ,blue1))))
|
||||
`(diredp-exec-priv ((,class (:foreground ,red1))))
|
||||
`(diredp-link-priv ((,class (:foreground ,aqua1))))
|
||||
`(diredp-no-priv ((,class (:foreground ,grey2))))
|
||||
`(diredp-dir-priv ((,class (:foreground ,brown1))))
|
||||
`(diredp-rare-priv ((,class (:foreground ,yellow2 :bold t))))
|
||||
`(diredp-other-priv ((,class (:foreground ,yellow2 :bold t))))
|
||||
|
||||
;; NeoTree
|
||||
`(neo-banner-face ((,class (:foreground ,red1 :bold t :underline t :height 1.4))))
|
||||
`(neo-dir-link-face ((,class (:foreground ,blue1))))
|
||||
`(neo-expand-btn-face ((,class (:foreground ,green2 :bold t))))
|
||||
`(neo-file-link-face ((,class (:foreground ,brown1))))
|
||||
`(neo-header-face ((,class (:foreground ,brown1))))
|
||||
`(neo-root-dir-face ((,class (:foreground ,purple1 :bold t :underline t))))
|
||||
|
||||
;; treemacs
|
||||
`(treemacs-root-face ((,class (:foreground ,purple2 :bold t :underline t :overline t :height 1.2))))
|
||||
`(treemacs-help-title-face ((,class (:inherit font-lock-doc-face))))
|
||||
|
||||
;; Rust & Racer
|
||||
`(cargo-process--standard-face ((,class (:foreground ,blue1))))
|
||||
`(cargo-process--ok-face ((,class (:foreground ,green1))))
|
||||
`(cargo-process--warning-face ((,class (:foreground ,yellow1))))
|
||||
`(cargo-process--error-face ((,class (:foreground ,red1 :bold t))))
|
||||
`(cargo-process--pointer-face ((,class (:foreground ,purple2))))
|
||||
`(racer-help-heading-face ((,class (:foreground ,purple2 :underline t :bold t :height 1.1))))
|
||||
`(rust-unsafe-face ((,class (:foreground ,red1 :bold t :underline t))))
|
||||
|
||||
;; Mardown
|
||||
`(markdown-blockquote-face ((,class (:foreground ,brown1))))
|
||||
`(markdown-bold-face ((,class (:foreground ,orange1 :bold t))))
|
||||
`(markdown-comment-face ((,class (:inherit font-lock-comment-face))))
|
||||
`(markdown-footnote-face ((,class (:foreground ,red3 :bold t))))
|
||||
`(markdown-gfm-checkbox-face ((,class (:foreground ,red1 :background ,bg2 :box (:color ,grey1 :style released-button :line-width -1) :bold t))))
|
||||
`(markdown-header-delimiter-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(markdown-header-rule-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(markdown-header-face ((,class (:foreground ,purple1 :height 1.3))))
|
||||
`(markdown-header-face-1 ((,class (:foreground ,purple1 :height 1.2))))
|
||||
`(markdown-header-face-2 ((,class (:foreground ,purple1 :height 1.1))))
|
||||
`(markdown-header-face-3 ((,class (:foreground ,purple1 :height 1.05))))
|
||||
`(markdown-header-face-4 ((,class (:foreground ,purple1))))
|
||||
`(markdown-header-face-5 ((,class (:foreground ,purple1))))
|
||||
`(markdown-header-face-6 ((,class (:foreground ,purple1))))
|
||||
`(markdown-highlight-face ((,class (:inherit highlight))))
|
||||
`(markdown-inline-code-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(markdown-italic-face ((,class (:foreground ,orange1 :italic t))))
|
||||
`(markdown-language-keyword-face ((,class (:foreground ,red1 :bold t :underline t))))
|
||||
`(markdown-line-break-face ((,class (:inherit link :height 2.0))))
|
||||
`(markdown-list-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(markdown-link-face ((,class (:inherit link :underline nil))))
|
||||
`(markdown-link-title-face ((,class (:foreground ,blue1))))
|
||||
`(markdown-markup-face ((,class (:foreground ,yellow1))))
|
||||
`(markdown-math-face ((,class (:inherit markdown-inline-code-face))))
|
||||
`(markdown-metadata-key-face ((,class (:foreground ,green1))))
|
||||
`(markdown-metadata-value-face ((,class (:foreground ,red3))))
|
||||
`(markdown-missing-link-face ((,class (:inherit font-lock-warning-face))))
|
||||
`(markdown-pre-face ((,class (:inherit markdown-blockquote-face))))
|
||||
`(markdown-reference-face ((,class (:foreground ,purple1))))
|
||||
`(markdown-strike-through-face ((,class (:foreground ,orange1 :strike-through t))))
|
||||
`(markdown-url-face ((,class (:inherit link))))
|
||||
|
||||
;; Ace
|
||||
`(ace-jump-face-foreground ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(aw-leading-char-face ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
|
||||
;; Describe
|
||||
`(describe-variable-value ((,class (:foreground ,brown1))))
|
||||
|
||||
;; Ivy
|
||||
`(ivy-minibuffer-match-face-1 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-minibuffer-match-face-2 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-minibuffer-match-face-3 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-minibuffer-match-face-4 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(ivy-confirm-face ((,class (:background ,orange2 :foreground ,black2))))
|
||||
`(ivy-cursor ((,class (:background ,brown2 :foreground ,black2))))
|
||||
`(ivy-current-match ((,class (:background ,black1))))
|
||||
`(ivy-action ((,class (:background ,aqua2 :foreground ,black2))))
|
||||
`(ivy-match-required-face ((,class (:background ,aqua1 :foreground ,black2))))
|
||||
`(ivy-remote ((,class (:foreground ,aqua1))))
|
||||
`(ivy-modified-buffer ((,class (:foreground ,fg :underline ,green2))))
|
||||
`(ivy-virtual ((,class (:foreground ,purple1))))
|
||||
`(ivy-subdir ((,class (:foreground ,blue1))))
|
||||
|
||||
;; Avy
|
||||
`(avy-background-face ((,class (:background ,grey3))))
|
||||
`(avy-lead-face ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(avy-lead-face-0 ((,class (:background ,blue1 :foreground ,black1))))
|
||||
`(avy-lead-face-1 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(avy-lead-face-2 ((,class (:background ,blue1 :foreground ,black1))))
|
||||
|
||||
;; imenu list
|
||||
`(imenu-list-entry-subalist-face-0 ((,class (:foreground ,green1))))
|
||||
`(imenu-list-entry-subalist-face-1 ((,class (:foreground ,yellow1))))
|
||||
`(imenu-list-entry-subalist-face-2 ((,class (:foreground ,green1))))
|
||||
`(imenu-list-entry-subalist-face-3 ((,class (:foreground ,blue1))))
|
||||
`(imenu-list-entry-face-0 ((,class (:foreground ,blue1))))
|
||||
`(imenu-list-entry-face-1 ((,class (:foreground ,blue1))))
|
||||
`(imenu-list-entry-face-2 ((,class (:foreground ,aqua1))))
|
||||
`(imenu-list-entry-face-3 ((,class (:foreground ,blue1))))
|
||||
|
||||
;; LaTeX
|
||||
`(font-latex-bold-face ((,class (:foreground ,orange1 :bold t))))
|
||||
`(font-latex-italic-face ((,class (:foreground ,orange1 :italic t))))
|
||||
`(font-latex-string-face ((,class (:foreground ,green1))))
|
||||
`(font-latex-math-face ((,class (:foreground ,aqua1))))
|
||||
`(font-latex-verbatim-face ((,class (:foreground ,orange2))))
|
||||
`(font-latex-warning-face ((,class (:foreground ,red1))))
|
||||
`(font-latex-sedate-face ((,class (:foreground ,blue1))))
|
||||
`(font-latex-sectioning-0-face ((,class (:foreground ,yellow1 :height 1.5))))
|
||||
`(font-latex-sectioning-1-face ((,class (:foreground ,yellow1 :height 1.4))))
|
||||
`(font-latex-sectioning-2-face ((,class (:foreground ,yellow1 :height 1.3))))
|
||||
`(font-latex-sectioning-3-face ((,class (:foreground ,yellow1 :height 1.2))))
|
||||
`(font-latex-sectioning-4-face ((,class (:foreground ,yellow1 :height 1.1))))
|
||||
`(font-latex-sectioning-5-face ((,class (:foreground ,yellow1))))
|
||||
`(preview-reference-face ((,class (:foreground ,fg :height 1.1))))
|
||||
`(TeX-error-description-error ((,class (:foreground ,red1 :bold t))))
|
||||
`(TeX-error-description-tex-said ((,class (:foreground ,purple1))))
|
||||
|
||||
;; Undo Tree
|
||||
`(undo-tree-visualizer-current-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(undo-tree-visualizer-default-face ((,class (:foreground ,fg))))
|
||||
`(undo-tree-visualizer-active-branch-face ((,class (:foreground ,red1))))
|
||||
`(undo-tree-visualizer-register-face ((,class (:foreground ,purple2))))
|
||||
`(undo-tree-visualizer-unmodified-face ((,class (:foreground ,green2))))
|
||||
|
||||
;; Terminal
|
||||
`(term ((,class (:foreground ,brown1))))
|
||||
`(term-bold ((,class (:bold t))))
|
||||
`(term-underline ((,class (:underline t))))
|
||||
`(term-color-black ((,class (:foreground ,black2))))
|
||||
`(term-color-blue ((,class (:foreground ,blue1))))
|
||||
`(term-color-red ((,class (:foreground ,red1))))
|
||||
`(term-color-green ((,class (:foreground ,green1))))
|
||||
`(term-color-yellow ((,class (:foreground ,yellow1))))
|
||||
`(term-color-magenta ((,class (:foreground ,purple1))))
|
||||
`(term-color-cyan ((,class (:foreground ,aqua1))))
|
||||
`(term-color-white ((,class (:foreground ,fg))))
|
||||
|
||||
;; Whitespace
|
||||
`(whitespace-big-indent ((,class (:foreground ,grey1))))
|
||||
`(whitespace-empty ((,class (:background ,grey1))))
|
||||
`(whitespace-trailing ((,class (:foreground ,grey1))))
|
||||
`(whitespace-hspace ((,class (:background ,grey1))))
|
||||
`(whitespace-indentation ((,class (:background ,grey1))))
|
||||
`(whitespace-line ((,class (:foreground ,grey1))))
|
||||
`(whitespace-newline ((,class (:foreground ,grey1))))
|
||||
`(whitespace-space ((,class (:foreground ,grey1))))
|
||||
`(whitespace-space-after-tab ((,class (:foreground ,grey1))))
|
||||
`(whitespace-space-before-tab ((,class (:foreground ,grey1))))
|
||||
`(whitespace-tab ((,class (:foreground ,grey1))))
|
||||
`(whitespace-trailing ((,class (:foreground ,grey1))))
|
||||
|
||||
;; info manual
|
||||
`(info-title-1 ((,class (:foreground ,purple1 :bold t :height 2.0))))
|
||||
`(info-title-2 ((,class (:foreground ,purple1 :bold t :height 1.75))))
|
||||
`(info-title-3 ((,class (:foreground ,purple1 :bold t :height 1.5))))
|
||||
`(info-title-4 ((,class (:foreground ,purple1 :bold t :height 1.25))))
|
||||
`(info-header-node ((,class (:foreground ,red1 :bold t :underline t))))
|
||||
`(info-menu-header ((,class (:foreground ,purple1 :bold t))))
|
||||
`(info-menu-star ((,class (:foreground ,green2 :bold t))))
|
||||
`(info-quoted-name ((,class (:foreground ,blue1 :bold t))))
|
||||
`(info-double-quoted-name ((,class (:foreground ,green1))))
|
||||
`(info-xref ((,class (:foreground ,aqua1 :underline t :bold t))))
|
||||
|
||||
;; Helm
|
||||
`(helm-action ((,class (:foreground ,red1))))
|
||||
`(helm-bookmark-addressbook ((,class (:foreground ,purple1))))
|
||||
`(helm-bookmark-directory ((,class (:foreground ,blue1))))
|
||||
`(helm-bookmark-file ((,class (:foreground ,brown1))))
|
||||
`(helm-bookmark-gnus ((,class (:foreground ,aqua1))))
|
||||
`(helm-bookmark-info ((,class (:foreground ,green1))))
|
||||
`(helm-bookmark-man ((,class (:foreground ,yellow1))))
|
||||
`(helm-bookmark-w3m ((,class (:foreground ,red1))))
|
||||
`(helm-buffer-directory ((,class (:foreground ,blue1))))
|
||||
`(helm-buffer-file ((,class (:foreground ,fg))))
|
||||
`(helm-buffer-not-saved ((,class (:foreground ,fg :underline (:style wave :color, green2)))))
|
||||
`(helm-buffer-process ((,class (:foreground ,orange1))))
|
||||
`(helm-buffer-saved-out ((,class (:foreground ,fg :underline (:style wave :color ,red1)))))
|
||||
`(helm-buffer-size ((,class (:foreground ,green1))))
|
||||
`(helm-candidate-number ((,class (:background ,yellow2 :foreground ,black2))))
|
||||
`(helm-etags-file ((,class (:height 2.0 :background ,fg :foreground ,blue3)))) ;; TODO
|
||||
`(helm-ff-directory ((,class (:foreground ,blue1))))
|
||||
`(helm-ff-dirs ((,class (:height 2.0 :background ,fg :foreground ,blue3)))) ;; TODO
|
||||
`(helm-ff-dotted-directory ((,class (:foreground ,orange1))))
|
||||
`(helm-ff-dotted-symlink-directory ((,class (:foreground ,orange1))))
|
||||
`(helm-ff-executable ((,class (:foreground ,red1))))
|
||||
`(helm-ff-file ((,class (:foreground ,brown1))))
|
||||
`(helm-ff-invalid-symlink ((,class (:foreground ,aqua1 :underline (:style wave :color ,red1)))))
|
||||
`(helm-ff-prefix ((,class (:foreground ,purple1))))
|
||||
`(helm-ff-symlink ((,class (:foreground ,aqua1))))
|
||||
`(helm-ff-file-extension ((,class (:foreground ,green1))))
|
||||
`(helm-grep-cmd-line ((,class (:foreground ,aqua1))))
|
||||
`(helm-grep-file ((,class (:foreground ,blue1))))
|
||||
`(helm-grep-finish ((,class (:foreground ,yellow2 :background ,bg2 :box (:color ,black2 :line-width -1) :bold t))))
|
||||
`(helm-grep-lineno ((,class (:foreground ,green1))))
|
||||
`(helm-grep-match ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-history-deleted ((,class (:height 2.0 :background ,fg :foreground ,red1)))) ;; TODO
|
||||
`(helm-history-remote ((,class (:height 2.0 :background ,fg :foreground ,green1)))) ;; TODO
|
||||
`(helm-header ((,class (:foreground ,grey2))))
|
||||
`(helm-header-line-left-margin ((,class (:foreground ,purple2 :bold t))))
|
||||
`(helm-lisp-completion-info ((,class (:height 2.0 :background ,fg :foreground ,purple2)))) ;; TODO
|
||||
`(helm-lisp-show-completion ((,class (:height 2.0 :background ,fg :foreground ,blue2)))) ;; TODO
|
||||
`(helm-match ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-match-item ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-moccur-buffer ((,class (:inherit helm-grep-file))))
|
||||
`(helm-M-x-key ((,class (:foreground ,yellow1 :bold t))))
|
||||
`(helm-prefarg ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(helm-resume-need-update ((,class (:height 2.0 :background ,fg :foreground ,aqua2)))) ;; TODO
|
||||
`(helm-selection ((,class (:background ,black1 :extend t))))
|
||||
`(helm-selection-line ((,class (:background ,grey3))))
|
||||
`(helm-separator ((,class (:foreground ,green1 :bold t))))
|
||||
`(helm-source-header ((,class (:background ,aqua2 :foreground ,black2 :underline t :extend t))))
|
||||
`(helm-visible-mark ((,class (:foreground ,fg :bold t))))
|
||||
|
||||
;;Helm swoop
|
||||
`(helm-swoop-line-number-face ((,class (:inherit linum))))
|
||||
`(helm-swoop-target-line-face ((,class (:inherit hl-line))))
|
||||
`(helm-swoop-target-word-face ((,class (:foreground ,yellow2 :background ,red3))))
|
||||
`(helm-swoop-target-line-block-face ((,class (:foreground ,red3 :background ,green1)))) ;; TODO
|
||||
|
||||
;;Helm xref
|
||||
`(helm-xref-file-name ((,class (:foreground ,purple1))))
|
||||
`(helm-xref-line-number ((,class (:foreground ,green1 :bold t))))
|
||||
|
||||
;; Magit
|
||||
`(magit-bisect-bad ((,class (:height 2.0 :foreground ,red1 :background ,red3)))) ;; TODO
|
||||
`(magit-bisect-good ((,class (:height 2.0 :foreground ,red1 :background ,green2)))) ;; TODO
|
||||
`(magit-bisect-skip ((,class (:height 2.0 :foreground ,red1 :background ,blue2)))) ;; TODO
|
||||
`(magit-blame-date ((,class (:background ,bg2 :foreground ,green1 :bold t))))
|
||||
`(magit-blame-hash ((,class (:background ,bg2 :foreground ,brown1 :bold t))))
|
||||
`(magit-blame-heading ((,class (:background ,bg2 :bold t))))
|
||||
`(magit-blame-name ((,class (:background ,bg2 :foreground ,blue2 :bold t))))
|
||||
`(magit-blame-summary ((,class (:background ,bg2 :foreground ,brown1 :bold t))))
|
||||
`(magit-branch-current ((,class (:foreground ,blue2 :bold t))))
|
||||
`(magit-branch-remote-head ((,class (:foreground ,purple2 :bold t))))
|
||||
`(magit-branch-remote ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(magit-branch-local ((,class (:foreground ,brown2 :bold t))))
|
||||
`(magit-cherry-equivalent ((,class (:foreground ,blue1))))
|
||||
`(magit-cherry-unmatched ((,class (:foreground ,red1))))
|
||||
`(magit-diff-added ((,class (:foreground ,green1))))
|
||||
`(magit-diff-added-highlight ((,class (:background ,bg2 :inherit magit-diff-added))))
|
||||
`(magit-diff-base ((,class (:foreground ,red3 :background ,aqua2)))) ;; TODO
|
||||
`(magit-diff-base-highlight ((,class (:foreground ,red3 :background ,green2)))) ;; TODO
|
||||
`(magit-diff-conflict-heading ((,class (:foreground ,black1 :background ,purple2 :bold t))))
|
||||
`(magit-diff-context ((,class (:foreground ,fg))))
|
||||
`(magit-diff-context-highlight ((,class (:background ,bg2))))
|
||||
`(magit-diff-file-heading ((,class (:foreground ,fg))))
|
||||
`(magit-diff-file-heading-highlight ((,class (:background ,bg2))))
|
||||
`(magit-diff-file-heading-selection ((,class (:foreground ,red3 :background ,green2))))
|
||||
`(magit-diff-hunk-heading ((,class (:foreground ,blue2 :bold t))))
|
||||
`(magit-diff-hunk-heading-highlight ((,class (:background ,bg2 :inherit magit-diff-hunk-heading))))
|
||||
`(magit-diff-lines-boundary ((,class (:background ,yellow2))))
|
||||
`(magit-diff-lines-heading ((,class (nil))))
|
||||
`(magit-diff-our ((,class (:foreground ,orange2))))
|
||||
`(magit-diff-our-highlight ((,class (:foreground ,orange2 :background ,bg2))))
|
||||
`(magit-diff-removed ((,class (:foreground ,red1))))
|
||||
`(magit-diff-removed-highlight ((,class (:background ,bg2 :inherit magit-diff-removed))))
|
||||
`(magit-diff-their ((,class (:foreground ,brown1))))
|
||||
`(magit-diff-their-highlight ((,class (:foreground ,brown1 :background ,bg2))))
|
||||
`(magit-whitespace-warning-face ((,class (:foreground ,red1))))
|
||||
`(magit-diffstat-added ((,class (:foreground ,green1))))
|
||||
`(magit-diffstat-removed ((,class (:foreground ,red1))))
|
||||
`(magit-dimmed ((,class (:inherit font-lock-comment-face))))
|
||||
`(magit-filename ((,class (:foreground ,fg))))
|
||||
`(magit-hash ((,class (:foreground ,orange1))))
|
||||
`(magit-head ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-header-line ((,class (:inherit magit-section-heading))))
|
||||
`(magit-log-graph ((,class (:foreground ,orange2))))
|
||||
`(magit-log-author ((,class (:foreground ,blue1))))
|
||||
`(magit-log-date ((,class (:foreground ,green1))))
|
||||
`(magit-process-ng ((,class (:inherit error))))
|
||||
`(magit-process-ok ((,class (:inherit success))))
|
||||
`(magit-reflog-amend ((,class (:foreground ,brown1 :bold t))))
|
||||
`(magit-reflog-checkout ((,class (:foreground ,blue1 :bold t))))
|
||||
`(magit-reflog-cherry-pick ((,class (:foreground ,yellow1 :bold t))))
|
||||
`(magit-reflog-commit ((,class (:foreground ,green1 :bold t))))
|
||||
`(magit-reflog-merge ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(magit-reflog-other ((,class (:foreground ,fg :bold t))))
|
||||
`(magit-reflog-rebase ((,class (:foreground ,orange1 :bold t))))
|
||||
`(magit-reflog-remote ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-reflog-reset ((,class (:foreground ,red1 :bold t))))
|
||||
`(magit-refname ((,class (:height 2.0 :foreground ,purple2 :background ,black1)))) ;; TODO
|
||||
`(magit-refname-stash ((,class (:height 2.0 :foreground ,red1 :background ,black1)))) ;; TODO
|
||||
`(magit-refname-wip ((,class (:height 2.0 :foreground ,red1 :background ,black1)))) ;; TODO
|
||||
`(magit-refname-pullreq ((,class (:foreground ,orange2 :bold t))))
|
||||
`(magit-section-heading ((,class (:foreground ,purple1 :underline t :height 1.2))))
|
||||
`(magit-section-heading-selection ((,class (:foreground ,green1 :background ,black2))))
|
||||
`(magit-section-highlight ((,class (:background ,bg2))))
|
||||
`(magit-section-secondary-heading ((,class (:foreground ,purple1))))
|
||||
`(magit-sequence-done ((,class (:foreground ,grey1))))
|
||||
`(magit-sequence-drop ((,class (:foreground ,orange1 :bold t))))
|
||||
`(magit-sequence-head ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-sequence-onto ((,class (:foreground ,purple1 :bold t))))
|
||||
`(magit-sequence-part ((,class (:foreground ,blue1 :bold t))))
|
||||
`(magit-sequence-pick ((,class (:foreground ,green1 :bold t))))
|
||||
`(magit-sequence-stop ((,class (:foreground ,red1 :bold t))))
|
||||
`(magit-signature-bad ((,class (:foreground ,yellow1 :italic t :underline (:style wave)))))
|
||||
`(magit-signature-good ((,class (:foreground ,green1 :italic t :underline t))))
|
||||
`(magit-signature-untrusted ((,class (:foreground ,red1 :italic t :underline (:style wave)))))
|
||||
`(magit-tag ((,class (:foreground ,yellow1 :bold t))))
|
||||
|
||||
;; Diff
|
||||
`(diff-refine-added ((,class (:foreground ,green2 :background ,green3 :bold t))))
|
||||
`(diff-refine-removed ((,class (:foreground ,red2 :background ,red4 :bold t))))
|
||||
`(diff-refine-changed ((,class (:foreground ,blue1 :background ,black1 :bold t))))
|
||||
|
||||
;; Git
|
||||
`(git-commit-keyword ((,class (:foreground ,brown2 :bold t))))
|
||||
`(git-commit-comment-action ((,class (:foreground ,orange1))))
|
||||
`(git-commit-comment-branch ((,class (:foreground ,blue1 :bold t))))
|
||||
`(git-commit-comment-detached ((,class (:foreground ,aqua1))))
|
||||
`(git-commit-comment-file ((,class (:foreground ,green1))))
|
||||
`(git-commit-comment-heading ((,class (:foreground ,purple1 :underline t))))
|
||||
`(git-commit-known-pseudo-header ((,class (:inherit git-commit-pseudo-header))))
|
||||
`(git-commit-nonempty-second-line ((,class (:foreground ,red1 :underline t))))
|
||||
`(git-commit-overlong-summary ((,class (:foreground ,red1))))
|
||||
`(git-commit-pseudo-header ((,class (:foreground ,purple1 :underline t :height 1.3))))
|
||||
`(git-commit-summary ((,class (:foreground ,yellow1))))
|
||||
`(git-rebase-hash ((,class (:inherit magit-hash))))
|
||||
`(git-rebase-description ((,class (:foreground ,fg))))
|
||||
`(git-rebase-killed-action ((,class (:foreground ,red1))))
|
||||
|
||||
;; Git Rebase
|
||||
`(git-rebase-description ((,class (:foreground ,fg))))
|
||||
`(git-rebase-hash ((,class (:foreground ,orange1))))
|
||||
`(git-rebase-killed-action ((,class (:foreground ,grey1 :strike-through t))))
|
||||
|
||||
;; Git gutter
|
||||
`(git-gutter:added ((,class (:foreground ,green1))))
|
||||
`(git-gutter:deleted ((,class (:foreground ,red1))))
|
||||
`(git-gutter:modified ((,class (:foreground ,blue1))))
|
||||
`(git-gutter+-added ((,class (:inherit git-gutter:added))))
|
||||
`(git-gutter+-deleted ((,class (:inherit git-gutter:deleted))))
|
||||
`(git-gutter+-modified ((,class (:inherit git-gutter:modified))))
|
||||
`(git-gutter-fr:added ((,class (:inherit git-gutter:added))))
|
||||
`(git-gutter-fr:deleted ((,class (:inherit git-gutter:deleted))))
|
||||
`(git-gutter-fr:modified ((,class (:inherit git-gutter:modified))))
|
||||
`(git-gutter-fr+-added ((,class (:inherit git-gutter:added))))
|
||||
`(git-gutter-fr+deleted ((,class (:inherit git-gutter:deleted))))
|
||||
`(git-gutter-fr+modified ((,class (:inherit git-gutter:modified))))
|
||||
|
||||
;; Transient
|
||||
`(transient-heading ((,class (:foreground ,purple1 :bold t))))
|
||||
`(transient-key ((,class (:foreground ,blue1 :bold t))))
|
||||
`(transient-value ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(transient-argument ((,class (:foreground ,orange1 :bold t))))
|
||||
`(transient-unreachable-key ((,class (:foreground ,grey1 :bold t))))
|
||||
`(transient-active-infix ((,class (:foreground ,green2 :bold t))))
|
||||
`(transient-unreachable ((,class (:foreground ,grey1))))
|
||||
`(transient-teal ((,class (:inherit hydra-face-teal))))
|
||||
`(transient-pink ((,class (:inherit hydra-face-pink))))
|
||||
`(transient-amaranth ((,class (:inherit hydra-face-amaranth))))
|
||||
`(transient-blue ((,class (:inherit hydra-face-blue))))
|
||||
`(transient-red ((,class (:inherit hydra-face-red))))
|
||||
|
||||
`(transient-inacitve-argument ((,class (:foreground ,brown1 :background ,black2))))
|
||||
`(transient-inacitve-value ((,class (:foreground ,orange1 :background ,black2))))
|
||||
`(transient-disabled-suffix ((,class (:foreground ,purple1 :background ,black2))))
|
||||
`(transient-enabled-suffix ((,class (:foreground ,red3 :background ,black2))))
|
||||
`(transient-inapt-suffix ((,class (:foreground ,aqua1 :background ,black2))))
|
||||
`(transient-mismatched-key ((,class (:foreground ,blue2 :background ,black2))))
|
||||
`(transient-nonstandard-key ((,class (:foreground ,brown2 :background ,black2))))
|
||||
`(transient-separator ((,class (:foreground ,orange2 :background ,black2))))
|
||||
|
||||
;; Diff hl
|
||||
`(diff-hl-change ((,class (:background ,blue2 :foreground ,black1))))
|
||||
`(diff-hl-delete ((,class (:background ,red1 :foreground ,black1))))
|
||||
`(diff-hl-insert ((,class (:background ,green2 :foreground ,black1))))
|
||||
|
||||
;; Compilation
|
||||
`(compilation-info ((,class (:foreground ,brown1))))
|
||||
`(compilation-error ((,class (:foreground ,red2))))
|
||||
`(compilation-line-number ((,class (:foreground ,green1))))
|
||||
`(compilation-column-number ((,class (:foreground ,green1))))
|
||||
|
||||
;; company
|
||||
`(company-tooltip-common-selection ((,class (:background ,bg2 :foreground ,red1))))
|
||||
`(company-tooltip-selection ((,class (:background ,bg2 :foreground ,fg :extend t))))
|
||||
`(company-scrollbar-bg ((,class (:background ,grey1))))
|
||||
`(company-scrollbar-fg ((,class (:background ,red3))))
|
||||
`(company-tooltip ((,class (:background ,grey2 :foreground ,fg ))))
|
||||
`(company-tooltip-search ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-tooltip-search-selection ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-tooltip-annotation ((,class (:background ,grey2 :foreground ,aqua1 :bold t))))
|
||||
`(company-tooltip-annotation-selection ((,class (:background ,bg2 :foreground ,aqua1 :bold t))))
|
||||
`(company-tooltip-common ((,class (:foreground ,red1))))
|
||||
`(company-preview-common ((,class (:foreground ,grey1 :background ,grey3))))
|
||||
`(company-preview ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-tooltip-mouse ((,class (:inherit company-tooltip-sele))))
|
||||
`(company-echo-common ((,class (:background ,fg :foreground ,red3))))
|
||||
`(company-template-field ((,class (:inherit yas-field-highlight-face))))
|
||||
|
||||
;; Org-Mode
|
||||
`(org-agenda-calendar-event ((,class (:foreground ,blue2 :bold t))))
|
||||
`(org-agenda-calendar-sexp ((,class (:foreground ,blue2 :bold t))))
|
||||
`(org-agenda-clocking ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-column-dateline ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-current-time ((,class (:foreground ,brown1 :bold t))))
|
||||
`(org-agenda-date ((,class (:foreground ,brown1 :bold t))))
|
||||
`(org-agenda-date-weekend ((,class (:foreground ,brown2 :bold t))))
|
||||
`(org-agenda-date-today ((,class (:foreground ,red3 :bold t :italic t :height 1.5))))
|
||||
`(org-agenda-diary ((,class (:foreground ,red2 :bold t))))
|
||||
`(org-agenda-dimmed-todo-face ((,class (:foreground ,grey1))))
|
||||
`(org-agenda-done ((,class (:foreground ,green1))))
|
||||
`(org-agenda-filter-category ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-filter-regexp ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-filter-tags ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-restriction-lock ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-agenda-structure ((,class (:foreground ,purple1 :bold t :height 1.5))))
|
||||
`(org-super-agenda-header ((,class (:foreground ,green2 :bold t :height 1.3))))
|
||||
`(org-archived ((,class (:foreground ,grey1 :bold t))))
|
||||
`(org-block ((,class (:background ,bg2 :extend t))))
|
||||
`(org-block-begin-line ((,class (:background ,brown2 :foreground ,bg2 :bold t :extend t))))
|
||||
`(org-block-end-line ((,class (:background ,brown2 :foreground ,bg2 :bold t :extend t))))
|
||||
`(org-checkbox ((,class (:background ,bg2 :foreground ,brown2 :bold t :box (:color ,brown2 :line-width -1)))))
|
||||
`(org-checkbox-statistics-done ((,class (:background ,green1 :foreground ,black1 :box (:color ,black1 :line-width -1) :bold t))))
|
||||
`(org-checkbox-statistics-todo ((,class (:background ,red2 :foreground ,black1 :box (:color ,black1 :line-width -1) :bold t))))
|
||||
`(org-clock-overlay ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-code ((,class (:foreground ,purple1 :bold t))))
|
||||
`(org-column ((,class ())))
|
||||
`(org-column-title ((,class (:foreground ,purple1 :background ,bg2 :bold t :underline t))))
|
||||
`(org-date ((,class (:foreground ,brown2 :bold t))))
|
||||
`(org-date-selected ((,class (:foreground ,black1 :background ,purple2 :bold t :box (:color ,black1 :line-with -1)))))
|
||||
`(org-default ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-done ((,class (:background ,green1 :foreground ,black1 :bold t :box (:color ,black2 :line-width -1)))))
|
||||
`(org-document-info ((,class (:foreground ,red2 :bold t :height 1.4))))
|
||||
`(org-document-info-keyword ((,class (:foreground ,purple2 :bold t :height 1.4))))
|
||||
`(org-document-title ((,class (:foreground ,red2 :bold t :height 1.4))))
|
||||
`(org-drawer ((,class (:inherit org-special-keyword))))
|
||||
`(org-ellipsis ((,class (:foreground ,grey1 :bold t :box nil :underline nil :overline nil))))
|
||||
`(org-footnote ((,class (:foreground ,grey1 :background ,grey3 :bold t))))
|
||||
`(org-formula ((,class (:foreground ,green1 :background ,bg2))))
|
||||
`(org-habit-alert-face ((,class (:background ,yellow1 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-alert-future-face ((,class (:background ,yellow2 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-clear-face ((,class (:background ,blue2 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-clear-future-face ((,class (:background ,blue1 :foreground ,black2 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-overdue-face ((,class (:background ,red3 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-overdue-future-face ((,class (:background ,red1 :foreground ,black1 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-ready-face ((,class (:background ,green1 :foreground ,black2 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-habit-ready-future-face ((,class (:background ,green2 :foreground ,black2 :box (:color ,black2 :line-with -1)))))
|
||||
`(org-headline-done ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-hide ((,class (:foreground ,bg))))
|
||||
`(org-indent ((,class (:foreground ,bg))))
|
||||
`(org-kbd ((,class (:foreground ,fg :italic t :bold t))))
|
||||
`(org-latex-and-related ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-level-1 ((,class (:foreground ,blue1))))
|
||||
`(org-level-2 ((,class (:foreground ,orange1))))
|
||||
`(org-level-3 ((,class (:foreground ,green1))))
|
||||
`(org-level-4 ((,class (:foreground ,yellow1))))
|
||||
`(org-level-5 ((,class (:foreground ,blue1))))
|
||||
`(org-level-6 ((,class (:foreground ,orange1))))
|
||||
`(org-level-7 ((,class (:foreground ,green1))))
|
||||
`(org-level-8 ((,class (:foreground ,yellow1))))
|
||||
`(org-link ((,class (:foreground ,aqua2 :bold t :underline t))))
|
||||
`(org-list-dt ((,class (:foreground ,purple1 :bold t))))
|
||||
`(org-macro ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-meta-line ((,class (:foreground ,purple2 :bold t))))
|
||||
`(org-mode-line-clock ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-mode-line-clock-overrun ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-priority ((,class (:background ,purple1 :foreground ,black1 :bold t :box (:line-width -1 :color ,black2)))))
|
||||
`(org-property-value ((,class (:foreground ,brown2 :bold t))))
|
||||
`(org-quote ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-scheduled ((,class (:foreground ,green1))))
|
||||
`(org-scheduled-previously ((,class (:foreground ,purple1))))
|
||||
`(org-scheduled-today ((,class (:foreground ,aqua1))))
|
||||
`(org-sexp-date ((,class (:inherit org-date))))
|
||||
`(org-special-keyword ((,class (:foreground ,purple2 :underline t :bold t))))
|
||||
`(org-table ((,class (:foreground ,brown1 :background ,bg2))))
|
||||
`(org-tag ((,class (:foreground ,grey1))))
|
||||
`(org-tag-group ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-target ((,class (:foreground ,bg :background ,red3)))) ;; TODO
|
||||
`(org-time-grid ((,class (:foreground ,brown1))))
|
||||
`(org-upcoming-distant-deadline ((,class (:foreground ,yellow1))))
|
||||
`(org-agenda-current-time ((,class (:foreground ,brown1 :background ,bg2 :bold t))))
|
||||
`(org-todo ((,class (:background ,red2 :foreground ,black1 :bold t :box (:line-width -1 :color ,black2)))))
|
||||
`(org-upcoming-deadline ((,class (:foreground ,orange2))))
|
||||
`(org-verbatim ((,class (:foreground ,green2 :bold t :italic t))))
|
||||
`(org-warning ((,class (:foreground ,yellow2 :bold t))))
|
||||
|
||||
;; Comint
|
||||
`(comint-highlight-prompt ((,class (:foreground ,purple2 :bold t))))
|
||||
`(comint-highlight-input ((,class (:foreground ,blue1))))
|
||||
|
||||
;; Ledger
|
||||
`(ledger-font-xact-highlight-face ((,class (:background ,grey3))))
|
||||
`(ledger-font-posting-account-face ((,class (:foreground ,blue1))))
|
||||
`(ledger-font-posting-amount-face ((,class (:foreground ,brown1))))
|
||||
`(ledger-font-posting-date-face ((,class (:foreground ,purple1 :bold t))))
|
||||
`(ledger-font-payee-uncleared-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(ledger-font-payee-cleared-face ((,class (:foreground ,green2 :bold t))))
|
||||
`(ledger-font-price-symbol-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(ledger-font-price-face ((,class (:foreground ,brown2 :bold t))))
|
||||
`(ledger-font-price-date-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(ledger-font-price-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-commodity-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-include-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-account-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-tag-directive-face ((,class (:foreground ,aqua2 :bold t))))
|
||||
`(ledger-font-commodity-name-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(ledger-font-tag-name-face ((,class (:foreground ,yellow1))))
|
||||
`(ledger-font-commodity-format-face ((,class (:foreground ,green1))))
|
||||
`(ledger-font-include-filename-face ((,class (:foreground ,green1))))
|
||||
`(ledger-occur-xact-face ((,class (:background ,grey1 :foreground ,bg))))
|
||||
`(ledger-font-auto-xact-face ((,class (:foreground ,aqua1))))
|
||||
|
||||
;; ERC
|
||||
`(erc-timestamp-face ((,class (:foreground ,brown2 :bold t))))
|
||||
`(erc-nick-default-face ((,class (:foreground ,purple1))))
|
||||
`(erc-nick-msg-face ((,class (:foreground ,purple2 :bold t))))
|
||||
`(erc-current-nick-face ((,class (:foreground ,aqua1))))
|
||||
`(erc-default-face ((,class (:foreground ,fg))))
|
||||
`(erc-error-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(erc-notice-face ((,class (:foreground ,green1))))
|
||||
`(erc-direct-msg-face ((,class (:foreground ,aqua1))))
|
||||
`(erc-prompt-face ((,class (:foreground ,black2 :background ,blue1 :box t :bold t))))
|
||||
|
||||
;; ERT
|
||||
`(ert-test-result-expected ((,class (:background ,green2 :foreground ,black2))))
|
||||
`(ert-test-result-unexpected ((,class (:background ,red3 :foreground ,black2))))
|
||||
|
||||
;; edebug-x
|
||||
`(hi-edebug-x-stop ((,class (:background ,blue1 :foreground ,black2))))
|
||||
`(hi-edebug-x-debug-line ((,class (:background ,green1 :foreground ,black2))))
|
||||
|
||||
;; Messages
|
||||
`(message-header-name ((,class (:foreground ,green1 :bold t))))
|
||||
`(message-header-other ((,class (:foreground ,blue1))))
|
||||
`(message-header-to ((,class (:foreground ,orange1))))
|
||||
`(message-header-subject ((,class (:foreground ,yellow1))))
|
||||
`(message-separator ((,class (:foreground ,grey1))))
|
||||
|
||||
;; Eros
|
||||
`(eros-result-overlay-face ((,class (:background ,bg :foreground ,brown1 :box (:line-width -1 :color ,black1)))))
|
||||
|
||||
;; elfeed
|
||||
`(elfeed-search-feed-face ((,class (:foreground ,purple1))))
|
||||
`(elfeed-search-tag-face ((,class (:foreground ,blue1))))
|
||||
`(elfeed-search-unread-title-face ((,class (:bold t))))
|
||||
`(elfeed-search-title-face ((,class (:foreground ,blue1))))
|
||||
`(elfeed-search-date-face ((,class (:foreground ,green1))))
|
||||
`(elfeed-log-date-face ((,class (:foreground ,brown1))))
|
||||
`(elfeed-log-info-level-face ((,class (:foreground ,green1))))
|
||||
`(elfeed-log-warn-level-face ((,class (:foreground ,yellow1))))
|
||||
`(elfeed-log-error-level-face ((,class (:foreground ,red2))))
|
||||
|
||||
;; LSP
|
||||
`(lsp-face-highlight-read ((,class (:background ,blue2 :foreground ,black2))))
|
||||
`(lsp-face-highlight-write ((,class (:background ,orange2 :foreground ,black2))))
|
||||
|
||||
|
||||
;; notmuch
|
||||
`(notmuch-search-date ((,class (:foreground ,green1))))
|
||||
`(notmuch-search-count ((,class (:foreground ,aqua1))))
|
||||
`(notmuch-search-matching-authors ((,class (:foreground ,blue1))))
|
||||
`(notmuch-search-subject ((,class (:foreground ,brown1))))
|
||||
|
||||
;; gnus
|
||||
`(gnus-header-name ((,class (:foreground ,purple1 :bold t))))
|
||||
`(gnus-header-content ((,class (:foreground ,brown1))))
|
||||
`(gnus-header-subject ((,class (:foreground ,green1))))
|
||||
`(gnus-button ((,class (:foreground ,aqua2))))
|
||||
|
||||
;; frog-menu
|
||||
`(frog-menu-prompt-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(frog-menu-candidates-face ((,class (:foreground ,fg))))
|
||||
`(frog-menu-actions-face ((,class (:foreground ,purple1))))
|
||||
`(frog-menu-action-keybinding-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(frog-menu-posframe-background-face ((,class (:background ,bg))))
|
||||
|
||||
;; markup
|
||||
`(markup-meta-hide-face ((,class (:foreground ,grey1 :bold t))))
|
||||
`(markup-meta-face ((,class (:foreground ,orange1 :bold t))))
|
||||
`(markup-secondary-text-face ((,class (:foreground ,brown2 :bold t))))
|
||||
`(markup-list-face ((,class (:foreground ,green2 :bold t))))
|
||||
`(markup-strong-face ((,class (:foreground ,red2 :bold t))))
|
||||
`(markup-code-face ((,class (:foreground ,aqua1 :bold t))))
|
||||
`(markup-emphasis-face ((,class (:foreground ,yellow1 :italic t))))
|
||||
`(markup-typewriter-face ((,class (:background ,aqua2 :foreground ,black1 :bold t))))
|
||||
`(markup-verbatim-face ((,class (:background ,aqua2 :foreground ,black1 :bold t))))
|
||||
`(markup-title-0-face ((,class (:foreground ,purple1 :underline t :height 1.2))))
|
||||
`(markup-title-1-face ((,class (:foreground ,purple1 :underline t :height 1.15))))
|
||||
`(markup-title-2-face ((,class (:foreground ,purple1 :underline t :height 1.1))))
|
||||
`(markup-title-3-face ((,class (:foreground ,purple1 :underline t :height 1.05))))
|
||||
`(markup-title-4-face ((,class (:foreground ,purple1 :underline t))))
|
||||
`(markup-title-5-face ((,class (:foreground ,purple1 :underline t))))
|
||||
|
||||
;; selectrum
|
||||
`(selectrum-current-candidate ((,class (:background ,black1 :extend t))))
|
||||
|
||||
;; orderless
|
||||
`(orderless-match-face-0 ((,class (:background ,red3 :foreground ,yellow2))))
|
||||
`(orderless-match-face-1 ((,class (:background ,green2 :foreground ,black2))))
|
||||
`(orderless-match-face-2 ((,class (:background ,blue2 :foreground ,black2))))
|
||||
`(orderless-match-face-3 ((,class (:background ,brown2 :foreground ,black2))))
|
||||
|
||||
;; marginalia
|
||||
`(marginalia-documentation ((,class (:inherit font-lock-doc-face))))
|
||||
`(marginalia-key ((,class (:foreground ,purple1))))
|
||||
`(marginalia-number ((,class (:background ,blue2 :foreground ,red3 :bold t))))
|
||||
`(marginalia-size ((,class (:foreground ,purple1))))
|
||||
`(marginalia-mode ((,class (:foreground ,orange2 :bold t))))
|
||||
`(marginalia-version ((,class (:background ,blue2 :foreground ,red3 :bold t))))
|
||||
`(marginalia-ligher ((,class (:foreground ,green3))))
|
||||
|
||||
;; mu4e
|
||||
`(mu4e-unread-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(mu4e-replied-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(mu4e-header-face ((,class (:foreground ,brown1))))
|
||||
`(mu4e-title-face ((,class (:foreground ,purple1 :bold t :height 1.1))))
|
||||
`(mu4e-trashed-face ((,class (:foreground ,grey1))))
|
||||
`(mu4e-header-key-face ((,class (:foreground ,brown1))))
|
||||
`(mu4e-header-title-face ((,class (:foreground ,blue1 :bold t))))
|
||||
`(mu4e-header-marks-face ((,class (:foreground ,purple2 :bold t))))
|
||||
`(mu4e-header-value-face ((,class (:foreground ,brown1))))
|
||||
`(mu4e-header-highlight-face ((,class (:background ,grey3))))
|
||||
`(mu4e-special-header-value-face ((,class (:foreground ,aqua1))))
|
||||
`(mu4e-contact-face ((,class (:foreground ,green1))))
|
||||
`(mu4e-highlight-face ((,class (:foreground ,green1 :bold t))))
|
||||
`(mu4e-maildirs-extension-maildir-face ((,class (:foreground ,brown1))))
|
||||
|
||||
|
||||
(custom-theme-set-variables
|
||||
'morning-star
|
||||
`(ansi-color-names-vector [,black1 ,red2 ,green1 ,yellow1 ,blue1 ,purple1 ,aqua1 ,fg]))))
|
||||
|
||||
;;;###autoload
|
||||
(when load-file-name
|
||||
(add-to-list 'custom-theme-load-path
|
||||
(file-name-as-directory (file-name-directory load-file-name))))
|
||||
|
||||
(provide-theme 'morning-star)
|
||||
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
||||
|
||||
;;; morning-star-theme.el ends here
|
||||
@ -1,309 +0,0 @@
|
||||
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||
;; Input method
|
||||
(setq default-input-method "korean-hangul")
|
||||
(global-set-key (kbd "<Hangul>") 'toggle-input-method)
|
||||
|
||||
;; Tabs
|
||||
;;(setq! indent-tabs-mode t)
|
||||
(setq-default tab-width 4)
|
||||
|
||||
;;
|
||||
(setq user-full-name "JaeYoo-Im"
|
||||
user-mail-address "cpu3792@gmail.com")
|
||||
|
||||
;; Frame parameter
|
||||
(set-frame-parameter (selected-frame) 'fullscreen 'maximized)
|
||||
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||
(unless (display-graphic-p)
|
||||
(xterm-mouse-mode))
|
||||
|
||||
;; Fonts
|
||||
(setq doom-font (font-spec :family "Fira Code" :size 14 :weight 'semi-light)
|
||||
doom-variable-pitch-font (font-spec :family "Ubuntu" :size 14))
|
||||
(set-fontset-font t 'hangul (font-spec :name "NanumGothic"))
|
||||
|
||||
;; 'nil 't 'relative
|
||||
(setq display-line-numbers-type t)
|
||||
|
||||
;; to use relative path for org
|
||||
(setq org-directory "~/org/")
|
||||
(setq visible-bell t)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Default
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Eshell
|
||||
(when (eq system-type 'windows-nt)
|
||||
(setq explicit-shell-file-name "powershell.exe")
|
||||
(setq explicit-powershell.exe-args '()))
|
||||
(defun ju/get-prompt-path ()
|
||||
(let* ((current-path (eshell/pwd))
|
||||
(git-output (shell-command-to-string "git rev-parse --show-toplevel"))
|
||||
(has-path (not (string-match "^fatal" git-output))))
|
||||
(if (not has-path)
|
||||
(abbreviate-file-name current-path)
|
||||
(string-remove-prefix (file-name-directory git-output) current-path))))
|
||||
|
||||
(defun ju/eshell-prompt ()
|
||||
(let ((current-branch (magit-get-current-branch)))
|
||||
(concat
|
||||
"\n"
|
||||
(propertize (system-name) 'face `(:foreground "#62aeed"))
|
||||
(propertize " ॐ " 'face `(:foreground "white"))
|
||||
(propertize (ju/get-prompt-path) 'face `(:foreground "#82cfd3"))
|
||||
(when current-branch
|
||||
(concat
|
||||
(propertize " • " 'face `(:foreground "white"))
|
||||
(propertize (concat " " current-branch) 'face `(:foreground "#c475f0"))))
|
||||
(propertize " • " 'face `(:foreground "white"))
|
||||
(propertize (format-time-string "%I:%M:%S %p") 'face `(:foreground "#5a5b7f"))
|
||||
(if (= (user-uid) 0)
|
||||
(propertize "\n#" 'face `(:foreground "red2"))
|
||||
(propertize "\nλ" 'face `(:foreground "#aece4a")))
|
||||
(propertize " " 'face `(:foreground "white")))))
|
||||
|
||||
(defun ju/configure-eshell ()
|
||||
;; Save command history when commands are entered
|
||||
(add-hook 'eshell-pre-command-hook 'eshell-save-some-history)
|
||||
|
||||
;; Truncate buffer for performance
|
||||
(add-to-list 'eshell-output-filter-functions 'eshell-truncate-buffer)
|
||||
|
||||
;; Bind some useful keys for evil-mode
|
||||
(evil-define-key '(normal insert visual) eshell-mode-map (kbd "C-r") 'counsel-esh-history)
|
||||
(evil-define-key '(normal insert visual) eshell-mode-map (kbd "<home>") 'eshell-bol)
|
||||
(evil-normalize-keymaps)
|
||||
|
||||
(setq eshell-prompt-function 'ju/eshell-prompt
|
||||
eshell-prompt-regexp "^λ "
|
||||
eshell-history-size 10000
|
||||
eshell-buffer-maximum-lines 10000
|
||||
eshell-hist-ignoredups t
|
||||
eshell-scroll-to-bottom-on-input t))
|
||||
(add-hook 'eshell-first-time-mode-hook #'ju/configure-eshell)
|
||||
(setq eshell-prompt-function
|
||||
(lambda ()
|
||||
(concat (abbreviate-file-name (eshell/pwd))
|
||||
(if (= (user-uid) 0) " # " " λ ")))
|
||||
eshell-prompt-regexp "^[^#λ\n]* [#λ] ")
|
||||
; Dired ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package! dired
|
||||
:config
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"h" 'dired-up-directory
|
||||
"l" 'dired-find-file))
|
||||
(use-package! dired-hide-dotfiles
|
||||
:hook (dired-mode . dired-hide-dotfiles-mode)
|
||||
:config
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"H" 'dired-hide-dotfiles-mode))
|
||||
(setq! delete-by-moving-to-trash t
|
||||
trash-directory "~/.local/share/Trash/files/")
|
||||
(map! :leader
|
||||
(:prefix ("d" . "dired")
|
||||
:desc "Open dired" "d" #'dired
|
||||
:desc "Dired jump to current" "j" #'dired-jump)
|
||||
(:after dired
|
||||
(:map dired-mode-map
|
||||
:desc "Peep-dired image previews" "d p" #'peep-dired
|
||||
:desc "Dired view file" "d v" #'dired-view-file)))
|
||||
(evil-define-key 'normal peep-dired-mode-map
|
||||
(kbd "j") 'peep-dired-next-file
|
||||
(kbd "k") 'peep-dired-prev-file)
|
||||
(add-hook 'peep-dired-hook 'evil-normalize-keymaps)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; UI
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; themes ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(if (display-graphic-p)
|
||||
(setq doom-theme 'doom-palenight)
|
||||
(setq doom-theme 'doom-gruvbox))
|
||||
; dashboard ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package! page-break-lines
|
||||
:init
|
||||
(global-page-break-lines-mode t))
|
||||
(use-package! dashboard
|
||||
:init
|
||||
(setq dashboard-set-heading-icons t)
|
||||
(setq dashboard-set-file-icons t)
|
||||
;;(setq dashboard-banner-logo-title "Emacs is more than a text editor!")
|
||||
;;(setq dashboard-startup-banner 'logo)
|
||||
(setq dashboard-center-content t)
|
||||
(setq dashboard-week-agenda t)
|
||||
(setq dashboard-set-footer t)
|
||||
(setq dashboard-page-separator "\n\f\n")
|
||||
(setq dashboard-agenda-time-string-format "%d/%m/%Y %A %H:%M")
|
||||
(setq dashboard-items '((recents . 10)
|
||||
(agenda . 5)
|
||||
(bookmarks . 5)
|
||||
(projects . 5)
|
||||
(registers . 5)))
|
||||
(setq dashboard-set-navigator t)
|
||||
(setq dashboard-navigator-buttons
|
||||
`(;; line1
|
||||
((,(all-the-icons-octicon "mark-github" :height 1.1 :v-adjust 0.0)
|
||||
"Github"
|
||||
"Browse my Github"
|
||||
(lambda (&rest _) (browse-url "https://github.com/JaeUs3792/")))
|
||||
(,(all-the-icons-octicon "home" :height 1.1 :v-adjust 0.0)
|
||||
"Homepage"
|
||||
"Browse my Homepage"
|
||||
(lambda (&rest _) (browse-url "https://jaeus.net")))
|
||||
(,(all-the-icons-octicon "zap" :height 1.1 :v-adjust 0.0)
|
||||
"Refresh"
|
||||
"Refresh Packages"
|
||||
(lambda (&rest _) (package-refresh-contents)) warning))))
|
||||
:config
|
||||
(dashboard-setup-startup-hook)
|
||||
(dashboard-modify-heading-icons '((recents . "file-text")
|
||||
(bookmarks . "book"))))
|
||||
(setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Org Mode
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; write room ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package! visual-fill-column)
|
||||
(defun write-room-enable ()
|
||||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t)
|
||||
(visual-fill-column-mode 1))
|
||||
(add-hook 'org-mode-hook #'(lambda () (display-line-numbers-mode 0)))
|
||||
(add-hook 'org-mode-hook #'write-room-enable)
|
||||
|
||||
;; orgmode
|
||||
(with-eval-after-load 'org
|
||||
;; This is needed as of Org 9.2
|
||||
(require 'org-tempo)
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("hs" . "src haskell"))
|
||||
(add-to-list 'org-structure-template-alist '("cc" . "src c"))
|
||||
(add-to-list 'org-structure-template-alist '("cp" . "src c++"))
|
||||
(add-to-list 'org-structure-template-alist '("rs" . "src rust"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src jupyter-python"))
|
||||
(add-to-list 'org-structure-template-alist '("oc" . "src octave"))
|
||||
(add-to-list 'org-structure-template-alist '("vl" . "src verilog"))
|
||||
(add-to-list 'org-structure-template-alist '("vh" . "src vhdl")))
|
||||
|
||||
(after! org
|
||||
(setq! org-ellipsis " ⤵"
|
||||
org-hide-emphasis-markers t
|
||||
org-image-actual-width 600
|
||||
org-redisplay-inline-images t
|
||||
org-display-inline-images t
|
||||
org-startup-with-inline-images "inlineimages"
|
||||
org-src-fontify-natively t
|
||||
org-fontify-quote-and-verse-blocks t
|
||||
org-agenda-start-with-log-mode t
|
||||
org-startup-indented t
|
||||
org-startup-align-all-tables t
|
||||
org-log-done 'time
|
||||
org-log-into-drawer "LOGBOOK"
|
||||
org-clock-into-drawer "CLOCKING"
|
||||
org-lowest-priority 68)
|
||||
;;(setq org-todo-keywords
|
||||
;; '((sequence "TODO(t)" "HOLD(h)" "|" "KILL(k)" "DONE(d)")))
|
||||
(setq! org-superstar-item-bullet-alist
|
||||
'((?+ . ?➢)
|
||||
(?* . ?✰)
|
||||
(?- . ?➸)))
|
||||
(custom-set-faces!
|
||||
'(org-level-1 :height 1.7 :weight ultra-bold :foreground "#81a2be") ;; :foreground "#81a2be"
|
||||
'(org-level-2 :height 1.6 :weight extra-bold :foreground "#b294bb") ;; :foreground "#b294bb"
|
||||
'(org-level-3 :height 1.5 :weight bold :foreground "#b5bd68") ;; :foreground "#b5bd68"
|
||||
'(org-level-4 :height 1.4 :weight semi-bold :foreground "#e6c547") ;; :foreground "#e6c547"
|
||||
'(org-level-5 :height 1.3 :weight normal :foreground "#cc6666") ;; :foreground "#cc6666"
|
||||
'(org-level-6 :height 1.2 :weight normal :foreground "#70c0ba") ;; :foreground "#70c0ba"
|
||||
'(org-level-7 :height 1.1 :weight normal :foreground "#b77ee0") ;; :foreground "#b77ee0"
|
||||
'(org-level-8 :height 1.0 :weight normal :foreground "#9ec400")) ;; :foreground "#9ec400"
|
||||
(custom-set-faces!
|
||||
'(org-document-title :height 2.0)))
|
||||
(setq! org-use-sub-superscripts '{})
|
||||
(setq! org-export-with-sub-superscripts '{})
|
||||
|
||||
;; fancy priorities
|
||||
(setq! org-fancy-priorities-list `(,(all-the-icons-faicon "flag" :height 1.1 :v-adjust 0.0)
|
||||
,(all-the-icons-faicon "arrow-up" :height 1.1 :v-adjust 0.0)
|
||||
,(all-the-icons-faicon "square" :height 1.1 :v-adjust 0.0)
|
||||
,(all-the-icons-faicon "ban" :height 1.1 :v-adjust 0.0)))
|
||||
;; TODO somewhere
|
||||
(add-hook 'markdown-mode-hook #'write-room-enable)
|
||||
(add-hook 'nov-mode-hook #'write-room-enable)
|
||||
|
||||
;; valign
|
||||
;; make table align
|
||||
(use-package! valign
|
||||
:custom
|
||||
(valign-fancy-bar t))
|
||||
|
||||
;; org appear (bug.1)
|
||||
;;(use-package! org-appear
|
||||
;; :hook (org-mode-hook . org-appear-mode)
|
||||
;; :config
|
||||
;; (setq org-appear-autoemphasis t
|
||||
;; org-appear-autolinks t
|
||||
;; org-appear-autoentities t
|
||||
;; org-appear-autosubmarkers t))
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Function Definition
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Screen Shot ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(defun my/self-screenshot (&optional type)
|
||||
"Save a screenshot of type TYPE of the current Emacs frame.
|
||||
As shown by the function `', type can weild the value `svg',
|
||||
`png', `pdf'.
|
||||
|
||||
This function will output in /tmp a file beginning with \"Emacs\"
|
||||
and ending with the extension of the requested TYPE."
|
||||
(interactive)
|
||||
(let* ((type (if type type
|
||||
(intern (completing-read "Screenshot Type: "
|
||||
'(png svg pdf postscript)))))
|
||||
(extension (pcase type
|
||||
('png ".png")
|
||||
('svg ".svg")
|
||||
('pdf ".pdf")
|
||||
('postscript ".ps")
|
||||
(otherwise (error "Cannot export screenshot of type %s" otherwise))))
|
||||
(filename (make-temp-file "Emacs-" nil extension))
|
||||
(data (x-export-frames nil type)))
|
||||
(with-temp-file filename
|
||||
(insert data))
|
||||
(kill-new filename)
|
||||
(rename-file filename (expand-file-name (file-name-nondirectory filename) "~"))
|
||||
(message filename)))
|
||||
;;Transparency;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; After Emacs 29
|
||||
;;(set-frame-parameter nil 'alpha-background 0.9)
|
||||
;;(add-to-list 'default-frame-alist '(alpha-background . 0.9))
|
||||
;;(defun toggle-transparency ()
|
||||
;; "toggle transparency."
|
||||
;; (interactive)
|
||||
;; (let ((alpha-transparency 1.0))
|
||||
;; (if (eq (frame-parameter nil 'alpha-background) alpha-transparency)
|
||||
;; (set-frame-parameter nil 'alpha-background 0.9)
|
||||
;; (set-frame-parameter nil 'alpha-background alpha-transparency))))
|
||||
;;(defun my/transparency-round (val)
|
||||
;; "Round VAL to the nearest tenth of an integer."
|
||||
;; (/ (round (* 10 val)) 10.0))
|
||||
;;
|
||||
;;(defun my/increase-frame-alpha-background ()
|
||||
;; "Increase current frame’s alpha background."
|
||||
;; (interactive)
|
||||
;; (set-frame-parameter nil
|
||||
;; 'alpha-background
|
||||
;; (my/transparency-round
|
||||
;; (min 1.0
|
||||
;; (+ (frame-parameter nil 'alpha-background) 0.1))))
|
||||
;; (message "%s" (frame-parameter nil 'alpha-background)))
|
||||
;;
|
||||
;;(defun my/decrease-frame-alpha-background ()
|
||||
;; "Decrease current frame’s alpha background."
|
||||
;; (interactive)
|
||||
;; (set-frame-parameter nil
|
||||
;; 'alpha-background
|
||||
;; (my/transparency-round
|
||||
;; (max 0.0
|
||||
;; (- (frame-parameter nil 'alpha-background) 0.1))))
|
||||
;; (message "%s" (frame-parameter nil 'alpha-background)))
|
||||
;; bind key
|
||||
;;(global-set-key (kbd "C-c t") 'toggle-transparency)
|
||||
202
.doom.d/init.el
202
.doom.d/init.el
@ -1,202 +0,0 @@
|
||||
;;; init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||
;; of our modules are listed, including what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
|
||||
:completion
|
||||
company ; the ultimate code completion backend
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
;;ivy ; a search engine for love and life
|
||||
vertico ; the search engine of the future
|
||||
|
||||
:ui
|
||||
;;deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
;;doom-dashboard ; a nifty splash screen for Emacs
|
||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
(emoji +unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
hydra
|
||||
;;indent-guides ; highlighted indent columns
|
||||
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;;nav-flash ; blink cursor line after big motions
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
;;tabs ; a tab bar for Emacs
|
||||
;;treemacs ; a project drawer, like neotree but cooler
|
||||
unicode ; extended unicode support for various languages
|
||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
;;(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
;;multiple-cursors ; editing in many places at once
|
||||
;;objed ; text object editing for the innocent
|
||||
;;parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;;word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
(dired +icons) ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
(ibuffer +icons) ; interactive buffer management
|
||||
(undo +tree) ; persistent, smarter undo for your inevitable mistakes
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
|
||||
:term
|
||||
;;eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
;;vterm ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
lookup ; navigate your code and its documentation
|
||||
(lsp +eglot) ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
;;rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||
;;tty ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
;;(cc +lsp) ; C > C++ == 1
|
||||
;;clojure ; java with a lisp
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
;;data ; config/data formats
|
||||
;;(dart +flutter) ; paint ui and not much else
|
||||
;;dhall
|
||||
;;elixir ; erlang done right
|
||||
;;elm ; care for a cup of TEA?
|
||||
emacs-lisp ; drown in parentheses
|
||||
;;erlang ; an elegant language for a more civilized age
|
||||
;;ess ; emacs speaks statistics
|
||||
;;factor
|
||||
;;faust ; dsp, but you get to keep your soul
|
||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
||||
;;fsharp ; ML stands for Microsoft's Language
|
||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||
;;gdscript ; the language you waited for
|
||||
;;(go +lsp) ; the hipster dialect
|
||||
;;(graphql +lsp) ; Give queries a REST
|
||||
;;(haskell +lsp) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ; a language you can depend on
|
||||
;;json ; At least it ain't XML
|
||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
(latex +latexmk +fold) ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
;;ledger ; be audit you can be
|
||||
;;lua ; one-based indices? one-based indices
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
(org
|
||||
+dragndrop
|
||||
+gnuplot
|
||||
+hugo
|
||||
+journal
|
||||
+jupyter
|
||||
+pretty
|
||||
+roam2)
|
||||
; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
(python +lsp) ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
;;web ; the tubes
|
||||
;;yaml ; JSON, but readable
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
;;calendar
|
||||
;;emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
(rss +org) ; emacs as an RSS reader
|
||||
;;twitter ; twitter client https://twitter.com/vnought
|
||||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
||||
@ -1,58 +0,0 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
||||
;; use 'M-x doom/reload'.
|
||||
|
||||
|
||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||
;(package! some-package)
|
||||
|
||||
;; To install a package directly from a remote git repo, you must specify a
|
||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||
;; https://github.com/radian-software/straight.el#the-recipe-format
|
||||
;(package! another-package
|
||||
; :recipe (:host github :repo "username/repo"))
|
||||
|
||||
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
||||
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
||||
;; `:files' in the `:recipe':
|
||||
;(package! this-package
|
||||
; :recipe (:host github :repo "username/repo"
|
||||
; :files ("some-file.el" "src/lisp/*.el")))
|
||||
|
||||
;; If you'd like to disable a package included with Doom, you can do so here
|
||||
;; with the `:disable' property:
|
||||
;(package! builtin-package :disable t)
|
||||
|
||||
;; You can override the recipe of a built in package without having to specify
|
||||
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||
;(package! builtin-package :recipe (:nonrecursive t))
|
||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||
|
||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
||||
;; This is required for some packages whose default branch isn't 'master' (which
|
||||
;; our package manager can't deal with; see radian-software/straight.el#279)
|
||||
;(package! builtin-package :recipe (:branch "develop"))
|
||||
|
||||
;; Use `:pin' to specify a particular commit to install.
|
||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||
|
||||
|
||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||
;(unpin! pinned-package)
|
||||
;; ...or multiple packages
|
||||
;(unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;(unpin! t)
|
||||
|
||||
|
||||
(package! dired-hide-dotfiles)
|
||||
(package! peep-dired)
|
||||
(package! visual-fill-column)
|
||||
(package! dashboard)
|
||||
(package! page-break-lines)
|
||||
(package! valign)
|
||||
39
.minttyrc
39
.minttyrc
@ -1,39 +0,0 @@
|
||||
# Dracula
|
||||
|
||||
Background=_/mnt/c/Users/User/wallpaper/colony.jpg,39
|
||||
ForegroundColour=248,248,242
|
||||
BackgroundColour=40,42,54
|
||||
Black=0,0,0
|
||||
BoldBlack=104,104,104
|
||||
Red=255,85,85
|
||||
BoldRed=255,110,103
|
||||
Green=80,250,123
|
||||
BoldGreen=90,247,142
|
||||
Yellow=241,250,140
|
||||
BoldYellow=244,249,157
|
||||
Blue=202,169,250
|
||||
BoldBlue=202,169,250
|
||||
Magenta=255,121,198
|
||||
BoldMagenta=255,146,208
|
||||
Cyan=139,233,253
|
||||
BoldCyan=154,237,254
|
||||
White=191,191,191
|
||||
BoldWhite=230,230,230
|
||||
|
||||
|
||||
Font=Fira Code Retina
|
||||
FontHeight=12
|
||||
Term=xterm-256color
|
||||
Locale=ko_KR
|
||||
Charset=UTF-8
|
||||
FontSmoothing=default
|
||||
AllowBlinking=no
|
||||
BoldAsFont=no
|
||||
CursorType=block
|
||||
CursorBlinks=yes
|
||||
BellTaskbar=no
|
||||
BellType=0
|
||||
BellFlash=no
|
||||
FontWeight=400
|
||||
FontIsBold=no
|
||||
Transparency=medium
|
||||
@ -1,25 +0,0 @@
|
||||
/* XPM */
|
||||
static char * haskell_20_xpm[] = {
|
||||
"20 20 2 1",
|
||||
" c None",
|
||||
". c #FFFFFF",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
".... .... ",
|
||||
" .... ... ",
|
||||
" ... .... ",
|
||||
" .... .... ",
|
||||
" .... ... ........",
|
||||
" ... .... .......",
|
||||
" .... .... ",
|
||||
" .... .... ",
|
||||
" ... ...... .....",
|
||||
" .... ....... ....",
|
||||
" .... .... ... ",
|
||||
" ... .... .... ",
|
||||
" .... ... .... ",
|
||||
".... .... ... ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
||||
@ -1,41 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function run {
|
||||
if ! pgrep $1 ;
|
||||
then
|
||||
$@&
|
||||
fi
|
||||
}
|
||||
|
||||
#(sleep 2; run $HOME/.config/polybar/launch.sh) &
|
||||
|
||||
# cursor
|
||||
xsetroot -cursor_name left_ptr &
|
||||
|
||||
# background
|
||||
#feh --bg-fill /usr/share/backgrounds/arcolinux/arco-wallpaper.jpg &
|
||||
#dwall -p -s firewatch
|
||||
source ~/scripts/wsl_get_display.sh
|
||||
~/scripts/random_wallpaper.sh
|
||||
|
||||
# other apps
|
||||
#run variety &
|
||||
#run nm-applet &
|
||||
#run pamac-tray &
|
||||
#run xfce4-power-manager &
|
||||
#run volumeicon &
|
||||
#run bitwarden-desktop &
|
||||
#numlockx on &
|
||||
#blueberry-tray &
|
||||
#run lxsession &
|
||||
|
||||
#fcitx &
|
||||
picom &
|
||||
#/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
#/usr/lib/xfce4/notifyd/xfce4-notifyd &
|
||||
#seadrive-gui &
|
||||
|
||||
#emacs --daemon &
|
||||
|
||||
#sleep 2
|
||||
#trayer --edge top --align right --widthtype request --padding 6 --SetDockType true --SetPartialStrut true --expand true --monitor 0 --transparent true --alpha 0 --tint 0x282c34 --height 16 &
|
||||
@ -1,489 +0,0 @@
|
||||
-- Base
|
||||
import XMonad
|
||||
import System.Directory
|
||||
import System.IO (hClose, hPutStr, hPutStrLn)
|
||||
import System.Exit (exitSuccess)
|
||||
import qualified XMonad.StackSet as W
|
||||
|
||||
-- Actions
|
||||
import XMonad.Actions.CopyWindow (kill1)
|
||||
import XMonad.Actions.CycleWS (Direction1D(..), moveTo, shiftTo, WSType(..), nextScreen, prevScreen)
|
||||
import XMonad.Actions.GridSelect
|
||||
import XMonad.Actions.MouseResize
|
||||
import XMonad.Actions.Promote
|
||||
import XMonad.Actions.RotSlaves (rotSlavesDown, rotAllDown)
|
||||
import XMonad.Actions.WindowGo (runOrRaise)
|
||||
import XMonad.Actions.WithAll (sinkAll, killAll)
|
||||
import qualified XMonad.Actions.Search as S
|
||||
|
||||
-- Data
|
||||
import Data.Char (isSpace, toUpper)
|
||||
import Data.Maybe (fromJust)
|
||||
import Data.Monoid
|
||||
import Data.Maybe (isJust)
|
||||
import Data.Tree
|
||||
import qualified Data.Map as M
|
||||
|
||||
-- Hooks
|
||||
import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..))
|
||||
import XMonad.Hooks.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs.
|
||||
import XMonad.Hooks.ManageDocks (avoidStruts, docks, manageDocks, ToggleStruts(..))
|
||||
import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat)
|
||||
import XMonad.Hooks.ServerMode
|
||||
import XMonad.Hooks.SetWMName
|
||||
import XMonad.Hooks.StatusBar
|
||||
import XMonad.Hooks.StatusBar.PP
|
||||
import XMonad.Hooks.WindowSwallowing
|
||||
import XMonad.Hooks.WorkspaceHistory
|
||||
|
||||
-- Layouts
|
||||
import XMonad.Layout.Accordion
|
||||
import XMonad.Layout.GridVariants (Grid(Grid))
|
||||
import XMonad.Layout.SimplestFloat
|
||||
import XMonad.Layout.Spiral
|
||||
import XMonad.Layout.ResizableTile
|
||||
import XMonad.Layout.Tabbed
|
||||
import XMonad.Layout.ThreeColumns
|
||||
|
||||
-- Layouts modifiers
|
||||
import XMonad.Layout.LayoutModifier
|
||||
import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit)
|
||||
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
|
||||
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
|
||||
import XMonad.Layout.NoBorders
|
||||
import XMonad.Layout.Renamed
|
||||
import XMonad.Layout.ShowWName
|
||||
import XMonad.Layout.Simplest
|
||||
import XMonad.Layout.Spacing
|
||||
import XMonad.Layout.SubLayouts
|
||||
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
||||
import XMonad.Layout.WindowNavigation
|
||||
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts, ToggleLayout(Toggle))
|
||||
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
|
||||
|
||||
-- Utilities
|
||||
import XMonad.Util.Dmenu
|
||||
import XMonad.Util.EZConfig (additionalKeysP, mkNamedKeymap)
|
||||
import XMonad.Util.NamedActions
|
||||
import XMonad.Util.NamedScratchpad
|
||||
import XMonad.Util.Run (runProcessWithInput, safeSpawn, spawnPipe)
|
||||
import XMonad.Util.SpawnOnce
|
||||
|
||||
-- ColorScheme module (SET ONLY ONE!)
|
||||
-- Possible choice are:
|
||||
-- DoomOne
|
||||
-- Dracula
|
||||
-- GruvboxDark
|
||||
-- MonokaiPro
|
||||
-- Nord
|
||||
-- OceanicNext
|
||||
-- Palenight
|
||||
-- SolarizedDark
|
||||
-- SolarizedLight
|
||||
-- TomorrowNight
|
||||
|
||||
colorScheme = "doom-one"
|
||||
|
||||
colorBack = "#282c34"
|
||||
colorFore = "#bbc2cf"
|
||||
|
||||
color01 = "#1c1f24"
|
||||
color02 = "#ff6c6b"
|
||||
color03 = "#98be65"
|
||||
color04 = "#da8548"
|
||||
color05 = "#51afef"
|
||||
color06 = "#c678dd"
|
||||
color07 = "#5699af"
|
||||
color08 = "#202328"
|
||||
color09 = "#5b6268"
|
||||
color10 = "#da8548"
|
||||
color11 = "#4db5bd"
|
||||
color12 = "#ecbe7b"
|
||||
color13 = "#3071db"
|
||||
color14 = "#a9a1e1"
|
||||
color15 = "#46d9ff"
|
||||
color16 = "#dfdfdf"
|
||||
|
||||
colorTrayer :: String
|
||||
colorTrayer = "--tint 0x282c34"
|
||||
|
||||
myFont :: String
|
||||
myFont = "xft:NanumGothic:regular:size=9:antialias=true:hinting=true"
|
||||
|
||||
myEmojiFont :: String
|
||||
myEmojiFont = "xft:Noto Fonts Emoji:regular:size=9:antialias=true:hinting=true"
|
||||
|
||||
myModMask :: KeyMask
|
||||
myModMask = mod4Mask -- Sets modkey to super/windows key
|
||||
|
||||
myTerminal :: String
|
||||
myTerminal = "alacritty" -- Sets default terminal
|
||||
|
||||
myBrowser :: String
|
||||
myBrowser = "qutebrowser " -- Sets qutebrowser as browser
|
||||
|
||||
myEmacs :: String
|
||||
myEmacs = "emacsclient -c -a 'emacs' " -- Makes emacs keybindings easier to type
|
||||
|
||||
myEditor :: String
|
||||
myEditor = "emacsclient -c -a 'emacs' " -- Sets emacs as editor
|
||||
-- myEditor = myTerminal ++ " -e vim " -- Sets vim as editor
|
||||
|
||||
myBorderWidth :: Dimension
|
||||
myBorderWidth = 2 -- Sets border width for windows
|
||||
|
||||
myNormColor :: String
|
||||
myNormColor = "#282c34" -- Border color of normal windows
|
||||
|
||||
myFocusColor :: String
|
||||
myFocusColor = "#46d9ff" -- Border color of focused windows
|
||||
|
||||
altMask :: KeyMask
|
||||
altMask = mod1Mask -- Setting this for use in xprompts
|
||||
|
||||
windowCount :: X (Maybe String)
|
||||
windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset
|
||||
|
||||
myStartupHook :: X ()
|
||||
myStartupHook = do
|
||||
--spawnOnce "xrandr --output DP-4 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output HDMI-0 --mode 1920x1080 --pos 2560x0 --rotate normal"
|
||||
spawn "$HOME/.xmonad/scripts/autostart.sh"
|
||||
--spawnOnce "nm-applet &"
|
||||
--spawnOnce "picom -b --config ~/.xmonad/picom.conf &"
|
||||
--spawnOnce "picom --experimental-backends -b --config ~/.xmonad/picom.conf &"
|
||||
--spawnOnce "dwall -s firewatch &"
|
||||
--spawnOnce "fcitx &"
|
||||
--spawnOnce "seafile-applet &"
|
||||
--spawnOnce "seadrive-gui &"
|
||||
--spawnOnce "blueberry-tray &"
|
||||
--spawnOnce "volumeicon &"
|
||||
--spawnOnce "enpass"
|
||||
--spawnOnce "green-tunnel -s &"
|
||||
--spawnOnce "trayer --edge top --align right --widthtype request --padding 6 --SetDockType true --SetPartialStrut true --expand true --monitor 0 --transparent true --alpha 0 --tint 0x282c34 --height 24 &"
|
||||
--spawnOnce "/usr/bin/emacs --daemon &"
|
||||
-- spawnOnce "/usr/bin/emacs --daemon &" -- emacs daemon for the emacsclient
|
||||
-- spawnOnce "kak -d -s mysession &" -- kakoune daemon for better performance
|
||||
-- spawnOnce "urxvtd -q -o -f &" -- urxvt daemon for better performance
|
||||
|
||||
--spawnOnce "xargs xwallpaper --stretch < ~/.xwallpaper" -- set last saved with xwallpaper
|
||||
-- spawnOnce "/bin/ls ~/wallpapers | shuf -n 1 | xargs xwallpaper --stretch" -- set random xwallpaper
|
||||
-- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper
|
||||
-- spawnOnce "feh --randomize --bg-fill ~/wallpapers/*" -- feh set random wallpaper
|
||||
-- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh
|
||||
setWMName "LG3D"
|
||||
|
||||
-- Theme for showWName which prints current workspace when you change workspaces.
|
||||
--Makes setting the spacingRaw simpler to write. The spacingRaw module adds a configurable amount of space around windows.
|
||||
mySpacing :: Integer -> l a -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l a
|
||||
mySpacing i = spacingRaw False (Border i i i i) True (Border i i i i) True
|
||||
|
||||
-- Below is a variation of the above except no borders are applied
|
||||
-- if fewer than two windows. So a single window has no gaps.
|
||||
mySpacing' :: Integer -> l a -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l a
|
||||
mySpacing' i = spacingRaw True (Border i i i i) True (Border i i i i) True
|
||||
|
||||
-- Defining a bunch of layouts, many that I don't use.
|
||||
-- limitWindows n sets maximum number of windows displayed for layout.
|
||||
-- mySpacing n sets the gap size around the windows.
|
||||
tall = renamed [Replace "tall"]
|
||||
$ limitWindows 5
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ mySpacing 8
|
||||
$ ResizableTall 1 (3/100) (1/2) []
|
||||
monocle = renamed [Replace "monocle"]
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ Full
|
||||
floats = renamed [Replace "floats"]
|
||||
$ smartBorders
|
||||
$ simplestFloat
|
||||
grid = renamed [Replace "grid"]
|
||||
$ limitWindows 9
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ mySpacing 8
|
||||
$ mkToggle (single MIRROR)
|
||||
$ Grid (16/10)
|
||||
spirals = renamed [Replace "spirals"]
|
||||
$ limitWindows 9
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ mySpacing' 8
|
||||
$ spiral (6/7)
|
||||
threeCol = renamed [Replace "threeCol"]
|
||||
$ limitWindows 7
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ ThreeCol 1 (3/100) (1/2)
|
||||
threeRow = renamed [Replace "threeRow"]
|
||||
$ limitWindows 7
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
-- Mirror takes a layout and rotates it by 90 degrees.
|
||||
-- So we are applying Mirror to the ThreeCol layout.
|
||||
$ Mirror
|
||||
$ ThreeCol 1 (3/100) (1/2)
|
||||
tabs = renamed [Replace "tabs"]
|
||||
-- I cannot add spacing to this layout because it will
|
||||
-- add spacing between window and tabs which looks bad.
|
||||
$ tabbed shrinkText myTabTheme
|
||||
tallAccordion = renamed [Replace "tallAccordion"]
|
||||
$ Accordion
|
||||
wideAccordion = renamed [Replace "wideAccordion"]
|
||||
$ Mirror Accordion
|
||||
|
||||
-- setting colors for tabs layout and tabs sublayout.
|
||||
myTabTheme = def { fontName = myFont
|
||||
, activeColor = color15
|
||||
, inactiveColor = color08
|
||||
, activeBorderColor = color15
|
||||
, inactiveBorderColor = colorBack
|
||||
, activeTextColor = colorBack
|
||||
, inactiveTextColor = color16
|
||||
}
|
||||
|
||||
-- Theme for showWName which prints current workspace when you change workspaces.
|
||||
myShowWNameTheme :: SWNConfig
|
||||
myShowWNameTheme = def
|
||||
{ swn_font = "xft:Ubuntu:bold:size=60"
|
||||
, swn_fade = 1.0
|
||||
, swn_bgcolor = "#1c1f24"
|
||||
, swn_color = "#ffffff"
|
||||
}
|
||||
|
||||
-- The layout hook
|
||||
myLayoutHook = avoidStruts
|
||||
$ mouseResize
|
||||
$ windowArrange
|
||||
$ T.toggleLayouts floats
|
||||
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
||||
where
|
||||
myDefaultLayout = withBorder myBorderWidth tall
|
||||
||| noBorders monocle
|
||||
||| floats
|
||||
||| noBorders tabs
|
||||
||| grid
|
||||
||| spirals
|
||||
||| threeCol
|
||||
||| threeRow
|
||||
||| tallAccordion
|
||||
||| wideAccordion
|
||||
|
||||
myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||
-- myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||
myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..] -- (,) == \x y -> (x,y)
|
||||
|
||||
clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
|
||||
where i = fromJust $ M.lookup ws myWorkspaceIndices
|
||||
|
||||
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
|
||||
myManageHook = composeAll
|
||||
-- 'doFloat' forces a window to float. Useful for dialog boxes and such.
|
||||
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
|
||||
-- I'm doing it this way because otherwise I would have to write out the full
|
||||
-- name of my workspaces and the names would be very long if using clickable workspaces.
|
||||
[ className =? "confirm" --> doFloat
|
||||
, className =? "file_progress" --> doFloat
|
||||
, className =? "dialog" --> doFloat
|
||||
, className =? "download" --> doFloat
|
||||
, className =? "error" --> doFloat
|
||||
, className =? "Gimp" --> doFloat
|
||||
, className =? "notification" --> doFloat
|
||||
, className =? "pinentry-gtk-2" --> doFloat
|
||||
, className =? "splash" --> doFloat
|
||||
, className =? "toolbar" --> doFloat
|
||||
--, title =? "Oracle VM VirtualBox Manager" --> doFloat
|
||||
--, title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
|
||||
--, className =? "brave-browser" --> doShift ( myWorkspaces !! 1 )
|
||||
--, className =? "qutebrowser" --> doShift ( myWorkspaces !! 1 )
|
||||
--, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
|
||||
--, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
|
||||
--, className =? "VirtualBox Manager" --> doShift ( myWorkspaces !! 4 )
|
||||
, (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
|
||||
, (className =? "steam" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
|
||||
]
|
||||
|
||||
myKeys :: [(String, X ())]
|
||||
myKeys =
|
||||
-- Xmonad
|
||||
[ ("M-C-r", spawn "xmonad --recompile") -- Recompiles xmonad
|
||||
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
||||
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
||||
|
||||
-- Run Prompt
|
||||
-- M-p was the default keybinding. I've changed it to M-S-RET because I will use
|
||||
-- M-p as part of the keychord for the other dmenu script bindings.
|
||||
, ("M-S-<Return>", spawn "dmenu_run -i -p \"Run: \"") -- Dmenu
|
||||
|
||||
-- Launch Apps
|
||||
, ("M-f", spawn "firefox")
|
||||
, ("M-v", spawn "vivaldi-stable")
|
||||
, ("M-t", spawn "thunar")
|
||||
, ("M-p", spawn "bitwarden-desktop")
|
||||
--, ("M-e", spawn "emacs")
|
||||
, ("M-e", spawn myEmacs)
|
||||
, ("M-l", spawn "arcolinux-logout")
|
||||
|
||||
-- Useful programs to have a keybinding for launch
|
||||
, ("M-<Return>", spawn (myTerminal))
|
||||
--, ("M-b", spawn (myBrowser ++ " www.youtube.com/c/DistroTube/"))
|
||||
--, ("M-M1-h", spawn (myTerminal ++ " -e htop"))
|
||||
|
||||
-- Kill windows
|
||||
, ("M-S-c", kill1) -- Kill the currently focused client
|
||||
--, ("M-S-a", killAll) -- Kill all windows on current workspace
|
||||
|
||||
-- Workspaces
|
||||
--, ("M-.", nextScreen) -- Switch focus to next monitor
|
||||
--, ("M-,", prevScreen) -- Switch focus to prev monitor
|
||||
--, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next ws
|
||||
--, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to prev ws
|
||||
|
||||
-- Floating windows
|
||||
--, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
||||
--, ("M-t", withFocused $ windows . W.sink) -- Push floating window back to tile
|
||||
--, ("M-S-t", sinkAll) -- Push ALL floating windows to tile
|
||||
|
||||
-- Increase/decrease spacing (gaps)
|
||||
--, ("M-d", decWindowSpacing 4) -- Decrease window spacing
|
||||
--, ("M-i", incWindowSpacing 4) -- Increase window spacing
|
||||
--, ("M-S-d", decScreenSpacing 4) -- Decrease screen spacing
|
||||
--, ("M-S-i", incScreenSpacing 4) -- Increase screen spacing
|
||||
|
||||
-- Grid Select (CTR-g followed by a key)
|
||||
--, ("M-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
||||
--, ("M-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
||||
--, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
||||
|
||||
-- Windows navigation
|
||||
--, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
||||
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
||||
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
||||
--, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
||||
--, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
||||
--, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
||||
--, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
||||
--, ("M-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
||||
, ("M-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
||||
|
||||
-- Layouts
|
||||
--, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
||||
--, ("M-C-M1-<Up>", sendMessage Arrange)
|
||||
--, ("M-C-M1-<Down>", sendMessage DeArrange)
|
||||
--, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
||||
--, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
||||
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
||||
|
||||
-- Increase/decrease windows in the master pane or the stack
|
||||
--, ("M-S-<Up>", sendMessage (IncMasterN 1)) -- Increase # of clients master pane
|
||||
--, ("M-S-<Down>", sendMessage (IncMasterN (-1))) -- Decrease # of clients master pane
|
||||
--, ("M-C-<Up>", increaseLimit) -- Increase # of windows
|
||||
--, ("M-C-<Down>", decreaseLimit) -- Decrease # of windows
|
||||
|
||||
-- Window resizing
|
||||
--, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
||||
--, ("M-l", sendMessage Expand) -- Expand horiz window width
|
||||
--, ("M-M1-j", sendMessage MirrorShrink) -- Shrink vert window width
|
||||
--, ("M-M1-k", sendMessage MirrorExpand) -- Expand vert window width
|
||||
|
||||
-- Systemwise
|
||||
, ("C-S-<Esc>", spawn $ "xfce4-taskmanager")
|
||||
-- Sublayouts
|
||||
-- This is used to push windows to tabbed sublayouts, or pull them out of it.
|
||||
--, ("M-C-h", sendMessage $ pullGroup L)
|
||||
--, ("M-C-l", sendMessage $ pullGroup R)
|
||||
--, ("M-C-k", sendMessage $ pullGroup U)
|
||||
--, ("M-C-j", sendMessage $ pullGroup D)
|
||||
--, ("M-C-m", withFocused (sendMessage . MergeAll))
|
||||
---- , ("M-C-u", withFocused (sendMessage . UnMerge))
|
||||
--, ("M-C-/", withFocused (sendMessage . UnMergeAll))
|
||||
--, ("M-C-.", onGroup W.focusUp') -- Switch focus to next tab
|
||||
--, ("M-C-,", onGroup W.focusDown') -- Switch focus to prev tab
|
||||
|
||||
-- Scratchpads
|
||||
-- Toggle show/hide these programs. They run on a hidden workspace.
|
||||
-- When you toggle them to show, it brings them to your current workspace.
|
||||
-- Toggle them to hide and it sends them back to hidden workspace (NSP).
|
||||
--, ("C-s t", namedScratchpadAction myScratchPads "terminal")
|
||||
--, ("C-s m", namedScratchpadAction myScratchPads "mocp")
|
||||
--, ("C-s c", namedScratchpadAction myScratchPads "calculator")
|
||||
|
||||
-- Set wallpaper with 'feh'. Type 'SUPER+F1' to launch sxiv in the wallpapers directory.
|
||||
-- Then in sxiv, type 'C-x w' to set the wallpaper that you choose.
|
||||
--, ("M-<F1>", spawn "sxiv -r -q -t -o ~/wallpapers/*")
|
||||
--, ("M-<F2>", spawn "/bin/ls ~/wallpapers | shuf -n 1 | xargs xwallpaper --stretch")
|
||||
--, ("M-<F2>", spawn "feh --randomize --bg-fill ~/wallpapers/*")
|
||||
|
||||
-- Multimedia Keys
|
||||
--, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))
|
||||
--, ("<XF86AudioPrev>", spawn (myTerminal ++ "mocp --previous"))
|
||||
--, ("<XF86AudioNext>", spawn (myTerminal ++ "mocp --next"))
|
||||
--, ("<XF86AudioMute>", spawn "amixer set Master toggle")
|
||||
--, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
|
||||
--, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
|
||||
--, ("<XF86HomePage>", spawn "firefox")
|
||||
--, ("<XF86Search>", safeSpawn "firefox" ["https://www.duckduckgo.com/"])
|
||||
--, ("<XF86Mail>", runOrRaise "thunderbird" (resource =? "thunderbird"))
|
||||
--, ("<XF86Calculator>", runOrRaise "qalculate-gtk" (resource =? "qalculate-gtk"))
|
||||
--, ("<XF86Eject>", spawn "toggleeject")
|
||||
--, ("<Print>", spawn "scrotd 0")
|
||||
]
|
||||
-- The following lines are needed for named scratchpads.
|
||||
where nonNSP = WSIs (return (\ws -> W.tag ws /= "NSP"))
|
||||
nonEmptyNonNSP = WSIs (return (\ws -> isJust (W.stack ws) && W.tag ws /= "NSP"))
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
-- Launching three instances of xmobar on their monitors.
|
||||
-- xmproc0 <- spawnPipe "xmobar -x 0 $HOME/.config/xmobar/xmobarrc_desktop_qhd"
|
||||
-- xmproc1 <- spawnPipe "xmobar -x 1 $HOME/.config/xmobar/xmobarrc_desktop_fhd"
|
||||
xmproc0 <- spawnPipe "xmobar -x 0 $HOME/.config/xmobar/xmobarrc_labtop_fhd"
|
||||
-- the xmonad, ya know...what the WM is named after!
|
||||
xmonad $ ewmh def
|
||||
{ manageHook = ( isFullscreen --> doFullFloat ) <+> myManageHook <+> manageDocks
|
||||
-- Run xmonad commands from command line with "xmonadctl command". Commands include:
|
||||
-- shrink, expand, next-layout, default-layout, restart-wm, xterm, kill, refresh, run,
|
||||
-- focus-up, focus-down, swap-up, swap-down, swap-master, sink, quit-wm. You can run
|
||||
-- "xmonadctl 0" to generate full list of commands written to ~/.xsession-errors.
|
||||
-- To compile xmonadctl: ghc -dynamic xmonadctl.hs
|
||||
, handleEventHook = serverModeEventHookCmd
|
||||
<+> serverModeEventHook
|
||||
<+> serverModeEventHookF "XMONAD_PRINT" (io . putStrLn)
|
||||
-- <+> fullscreenEventHook -- this does NOT work right if using multi-monitors!
|
||||
, modMask = myModMask
|
||||
, terminal = myTerminal
|
||||
, startupHook = myStartupHook
|
||||
, layoutHook = showWName' myShowWNameTheme $ myLayoutHook
|
||||
, workspaces = myWorkspaces
|
||||
, borderWidth = myBorderWidth
|
||||
, normalBorderColor = myNormColor
|
||||
, focusedBorderColor = myFocusColor
|
||||
, logHook = dynamicLogWithPP $ xmobarPP
|
||||
-- the following variables beginning with 'pp' are settings for xmobar.
|
||||
{ ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1
|
||||
-- >> hPutStrLn xmproc1 x -- xmobar on monitor 2
|
||||
-- >> hPutStrLn xmproc2 x -- xmobar on monitor 3
|
||||
, ppCurrent = xmobarColor "#FFFFFF" "" . wrap "●" "" -- Current workspace
|
||||
, ppVisible = xmobarColor "#c0a79a" "" . wrap "♼" "" . clickable -- Visible but not current workspace
|
||||
, ppHidden = xmobarColor "#c0a79a" "" . wrap "○" "" . clickable -- Hidden workspaces
|
||||
, ppHiddenNoWindows = xmobarColor "#c792ea" "" . \s -> "" -- Hidden workspaces (no windows)
|
||||
, ppTitle = xmobarColor "#b3afc2" "" . shorten 60 -- Title of active window
|
||||
, ppSep = "<fc=#666666> <fn=1>|</fn> </fc>" -- Separator character
|
||||
, ppUrgent = xmobarColor "#C45500" "" . wrap "!" "!" -- Urgent workspace
|
||||
, ppExtras = [windowCount] -- # of windows current workspace
|
||||
, ppOrder = \(ws:l:t:ex) -> [ws,l]++ex++[t] -- order of things in xmobar
|
||||
}
|
||||
} `additionalKeysP` myKeys
|
||||
@ -1,513 +0,0 @@
|
||||
#+TITLE: Xmonad
|
||||
|
||||
* Xmonad
|
||||
** Import
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
-- Base
|
||||
import XMonad
|
||||
import System.Directory
|
||||
import System.IO (hClose, hPutStr, hPutStrLn)
|
||||
import System.Exit (exitSuccess)
|
||||
import qualified XMonad.StackSet as W
|
||||
|
||||
-- Actions
|
||||
import XMonad.Actions.CopyWindow (kill1)
|
||||
import XMonad.Actions.CycleWS (Direction1D(..), moveTo, shiftTo, WSType(..), nextScreen, prevScreen)
|
||||
import XMonad.Actions.GridSelect
|
||||
import XMonad.Actions.MouseResize
|
||||
import XMonad.Actions.Promote
|
||||
import XMonad.Actions.RotSlaves (rotSlavesDown, rotAllDown)
|
||||
import XMonad.Actions.WindowGo (runOrRaise)
|
||||
import XMonad.Actions.WithAll (sinkAll, killAll)
|
||||
import qualified XMonad.Actions.Search as S
|
||||
|
||||
-- Data
|
||||
import Data.Char (isSpace, toUpper)
|
||||
import Data.Maybe (fromJust)
|
||||
import Data.Monoid
|
||||
import Data.Maybe (isJust)
|
||||
import Data.Tree
|
||||
import qualified Data.Map as M
|
||||
|
||||
-- Hooks
|
||||
import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..))
|
||||
import XMonad.Hooks.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs.
|
||||
import XMonad.Hooks.ManageDocks (avoidStruts, docks, manageDocks, ToggleStruts(..))
|
||||
import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat)
|
||||
import XMonad.Hooks.ServerMode
|
||||
import XMonad.Hooks.SetWMName
|
||||
import XMonad.Hooks.StatusBar
|
||||
import XMonad.Hooks.StatusBar.PP
|
||||
import XMonad.Hooks.WindowSwallowing
|
||||
import XMonad.Hooks.WorkspaceHistory
|
||||
|
||||
-- Layouts
|
||||
import XMonad.Layout.Accordion
|
||||
import XMonad.Layout.GridVariants (Grid(Grid))
|
||||
import XMonad.Layout.SimplestFloat
|
||||
import XMonad.Layout.Spiral
|
||||
import XMonad.Layout.ResizableTile
|
||||
import XMonad.Layout.Tabbed
|
||||
import XMonad.Layout.ThreeColumns
|
||||
|
||||
-- Layouts modifiers
|
||||
import XMonad.Layout.LayoutModifier
|
||||
import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit)
|
||||
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
|
||||
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
|
||||
import XMonad.Layout.NoBorders
|
||||
import XMonad.Layout.Renamed
|
||||
import XMonad.Layout.ShowWName
|
||||
import XMonad.Layout.Simplest
|
||||
import XMonad.Layout.Spacing
|
||||
import XMonad.Layout.SubLayouts
|
||||
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
||||
import XMonad.Layout.WindowNavigation
|
||||
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts, ToggleLayout(Toggle))
|
||||
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
|
||||
|
||||
-- Utilities
|
||||
import XMonad.Util.Dmenu
|
||||
import XMonad.Util.EZConfig (additionalKeysP, mkNamedKeymap)
|
||||
import XMonad.Util.NamedActions
|
||||
import XMonad.Util.NamedScratchpad
|
||||
import XMonad.Util.Run (runProcessWithInput, safeSpawn, spawnPipe)
|
||||
import XMonad.Util.SpawnOnce
|
||||
|
||||
-- ColorScheme module (SET ONLY ONE!)
|
||||
-- Possible choice are:
|
||||
-- DoomOne
|
||||
-- Dracula
|
||||
-- GruvboxDark
|
||||
-- MonokaiPro
|
||||
-- Nord
|
||||
-- OceanicNext
|
||||
-- Palenight
|
||||
-- SolarizedDark
|
||||
-- SolarizedLight
|
||||
-- TomorrowNight
|
||||
#+end_src
|
||||
** Color Definition
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
colorScheme = "doom-one"
|
||||
|
||||
colorBack = "#282c34"
|
||||
colorFore = "#bbc2cf"
|
||||
|
||||
color01 = "#1c1f24"
|
||||
color02 = "#ff6c6b"
|
||||
color03 = "#98be65"
|
||||
color04 = "#da8548"
|
||||
color05 = "#51afef"
|
||||
color06 = "#c678dd"
|
||||
color07 = "#5699af"
|
||||
color08 = "#202328"
|
||||
color09 = "#5b6268"
|
||||
color10 = "#da8548"
|
||||
color11 = "#4db5bd"
|
||||
color12 = "#ecbe7b"
|
||||
color13 = "#3071db"
|
||||
color14 = "#a9a1e1"
|
||||
color15 = "#46d9ff"
|
||||
color16 = "#dfdfdf"
|
||||
|
||||
colorTrayer :: String
|
||||
colorTrayer = "--tint 0x282c34"
|
||||
#+end_src
|
||||
** Gobal Variable
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
myFont :: String
|
||||
myFont = "xft:NanumGothic:regular:size=9:antialias=true:hinting=true"
|
||||
|
||||
myEmojiFont :: String
|
||||
myEmojiFont = "xft:Noto Fonts Emoji:regular:size=9:antialias=true:hinting=true"
|
||||
|
||||
myModMask :: KeyMask
|
||||
myModMask = mod4Mask -- Sets modkey to super/windows key
|
||||
|
||||
myTerminal :: String
|
||||
myTerminal = "alacritty" -- Sets default terminal
|
||||
|
||||
myBrowser :: String
|
||||
myBrowser = "qutebrowser " -- Sets qutebrowser as browser
|
||||
|
||||
myEmacs :: String
|
||||
myEmacs = "emacsclient -c -a 'emacs' " -- Makes emacs keybindings easier to type
|
||||
|
||||
myEditor :: String
|
||||
myEditor = "emacsclient -c -a 'emacs' " -- Sets emacs as editor
|
||||
-- myEditor = myTerminal ++ " -e vim " -- Sets vim as editor
|
||||
|
||||
myBorderWidth :: Dimension
|
||||
myBorderWidth = 2 -- Sets border width for windows
|
||||
|
||||
myNormColor :: String
|
||||
myNormColor = "#282c34" -- Border color of normal windows
|
||||
|
||||
myFocusColor :: String
|
||||
myFocusColor = "#46d9ff" -- Border color of focused windows
|
||||
|
||||
altMask :: KeyMask
|
||||
altMask = mod1Mask -- Setting this for use in xprompts
|
||||
|
||||
windowCount :: X (Maybe String)
|
||||
windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset
|
||||
#+end_src
|
||||
** StartupHook
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
myStartupHook :: X ()
|
||||
myStartupHook = do
|
||||
--spawnOnce "xrandr --output DP-4 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output HDMI-0 --mode 1920x1080 --pos 2560x0 --rotate normal"
|
||||
spawn "$HOME/.xmonad/scripts/autostart.sh"
|
||||
--spawnOnce "nm-applet &"
|
||||
--spawnOnce "picom -b --config ~/.xmonad/picom.conf &"
|
||||
--spawnOnce "picom --experimental-backends -b --config ~/.xmonad/picom.conf &"
|
||||
--spawnOnce "dwall -s firewatch &"
|
||||
--spawnOnce "fcitx &"
|
||||
--spawnOnce "seafile-applet &"
|
||||
--spawnOnce "seadrive-gui &"
|
||||
--spawnOnce "blueberry-tray &"
|
||||
--spawnOnce "volumeicon &"
|
||||
--spawnOnce "enpass"
|
||||
--spawnOnce "green-tunnel -s &"
|
||||
--spawnOnce "trayer --edge top --align right --widthtype request --padding 6 --SetDockType true --SetPartialStrut true --expand true --monitor 0 --transparent true --alpha 0 --tint 0x282c34 --height 24 &"
|
||||
--spawnOnce "/usr/bin/emacs --daemon &"
|
||||
-- spawnOnce "/usr/bin/emacs --daemon &" -- emacs daemon for the emacsclient
|
||||
-- spawnOnce "kak -d -s mysession &" -- kakoune daemon for better performance
|
||||
-- spawnOnce "urxvtd -q -o -f &" -- urxvt daemon for better performance
|
||||
|
||||
--spawnOnce "xargs xwallpaper --stretch < ~/.xwallpaper" -- set last saved with xwallpaper
|
||||
-- spawnOnce "/bin/ls ~/wallpapers | shuf -n 1 | xargs xwallpaper --stretch" -- set random xwallpaper
|
||||
-- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper
|
||||
-- spawnOnce "feh --randomize --bg-fill ~/wallpapers/*" -- feh set random wallpaper
|
||||
-- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh
|
||||
setWMName "LG3D"
|
||||
#+end_src
|
||||
** Layout
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
-- Theme for showWName which prints current workspace when you change workspaces.
|
||||
--Makes setting the spacingRaw simpler to write. The spacingRaw module adds a configurable amount of space around windows.
|
||||
mySpacing :: Integer -> l a -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l a
|
||||
mySpacing i = spacingRaw False (Border i i i i) True (Border i i i i) True
|
||||
|
||||
-- Below is a variation of the above except no borders are applied
|
||||
-- if fewer than two windows. So a single window has no gaps.
|
||||
mySpacing' :: Integer -> l a -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l a
|
||||
mySpacing' i = spacingRaw True (Border i i i i) True (Border i i i i) True
|
||||
|
||||
-- Defining a bunch of layouts, many that I don't use.
|
||||
-- limitWindows n sets maximum number of windows displayed for layout.
|
||||
-- mySpacing n sets the gap size around the windows.
|
||||
tall = renamed [Replace "tall"]
|
||||
$ limitWindows 5
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ mySpacing 8
|
||||
$ ResizableTall 1 (3/100) (1/2) []
|
||||
monocle = renamed [Replace "monocle"]
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ Full
|
||||
floats = renamed [Replace "floats"]
|
||||
$ smartBorders
|
||||
$ simplestFloat
|
||||
grid = renamed [Replace "grid"]
|
||||
$ limitWindows 9
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ mySpacing 8
|
||||
$ mkToggle (single MIRROR)
|
||||
$ Grid (16/10)
|
||||
spirals = renamed [Replace "spirals"]
|
||||
$ limitWindows 9
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ mySpacing' 8
|
||||
$ spiral (6/7)
|
||||
threeCol = renamed [Replace "threeCol"]
|
||||
$ limitWindows 7
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ ThreeCol 1 (3/100) (1/2)
|
||||
threeRow = renamed [Replace "threeRow"]
|
||||
$ limitWindows 7
|
||||
$ smartBorders
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
-- Mirror takes a layout and rotates it by 90 degrees.
|
||||
-- So we are applying Mirror to the ThreeCol layout.
|
||||
$ Mirror
|
||||
$ ThreeCol 1 (3/100) (1/2)
|
||||
tabs = renamed [Replace "tabs"]
|
||||
-- I cannot add spacing to this layout because it will
|
||||
-- add spacing between window and tabs which looks bad.
|
||||
$ tabbed shrinkText myTabTheme
|
||||
tallAccordion = renamed [Replace "tallAccordion"]
|
||||
$ Accordion
|
||||
wideAccordion = renamed [Replace "wideAccordion"]
|
||||
$ Mirror Accordion
|
||||
|
||||
-- setting colors for tabs layout and tabs sublayout.
|
||||
myTabTheme = def { fontName = myFont
|
||||
, activeColor = color15
|
||||
, inactiveColor = color08
|
||||
, activeBorderColor = color15
|
||||
, inactiveBorderColor = colorBack
|
||||
, activeTextColor = colorBack
|
||||
, inactiveTextColor = color16
|
||||
}
|
||||
|
||||
-- Theme for showWName which prints current workspace when you change workspaces.
|
||||
myShowWNameTheme :: SWNConfig
|
||||
myShowWNameTheme = def
|
||||
{ swn_font = "xft:Ubuntu:bold:size=60"
|
||||
, swn_fade = 1.0
|
||||
, swn_bgcolor = "#1c1f24"
|
||||
, swn_color = "#ffffff"
|
||||
}
|
||||
|
||||
-- The layout hook
|
||||
myLayoutHook = avoidStruts
|
||||
$ mouseResize
|
||||
$ windowArrange
|
||||
$ T.toggleLayouts floats
|
||||
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
||||
where
|
||||
myDefaultLayout = withBorder myBorderWidth tall
|
||||
||| noBorders monocle
|
||||
||| floats
|
||||
||| noBorders tabs
|
||||
||| grid
|
||||
||| spirals
|
||||
||| threeCol
|
||||
||| threeRow
|
||||
||| tallAccordion
|
||||
||| wideAccordion
|
||||
#+end_src
|
||||
** Workspace
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||
-- myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||
myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..] -- (,) == \x y -> (x,y)
|
||||
|
||||
clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
|
||||
where i = fromJust $ M.lookup ws myWorkspaceIndices
|
||||
|
||||
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
|
||||
myManageHook = composeAll
|
||||
-- 'doFloat' forces a window to float. Useful for dialog boxes and such.
|
||||
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
|
||||
-- I'm doing it this way because otherwise I would have to write out the full
|
||||
-- name of my workspaces and the names would be very long if using clickable workspaces.
|
||||
[ className =? "confirm" --> doFloat
|
||||
, className =? "file_progress" --> doFloat
|
||||
, className =? "dialog" --> doFloat
|
||||
, className =? "download" --> doFloat
|
||||
, className =? "error" --> doFloat
|
||||
, className =? "Gimp" --> doFloat
|
||||
, className =? "notification" --> doFloat
|
||||
, className =? "pinentry-gtk-2" --> doFloat
|
||||
, className =? "splash" --> doFloat
|
||||
, className =? "toolbar" --> doFloat
|
||||
--, title =? "Oracle VM VirtualBox Manager" --> doFloat
|
||||
--, title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
|
||||
--, className =? "brave-browser" --> doShift ( myWorkspaces !! 1 )
|
||||
--, className =? "qutebrowser" --> doShift ( myWorkspaces !! 1 )
|
||||
--, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
|
||||
--, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
|
||||
--, className =? "VirtualBox Manager" --> doShift ( myWorkspaces !! 4 )
|
||||
, (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
|
||||
, (className =? "steam" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
|
||||
]
|
||||
|
||||
#+end_src
|
||||
|
||||
** Key bindings
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
myKeys :: [(String, X ())]
|
||||
myKeys =
|
||||
-- Xmonad
|
||||
[ ("M-C-r", spawn "xmonad --recompile") -- Recompiles xmonad
|
||||
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
||||
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
||||
|
||||
-- Run Prompt
|
||||
-- M-p was the default keybinding. I've changed it to M-S-RET because I will use
|
||||
-- M-p as part of the keychord for the other dmenu script bindings.
|
||||
, ("M-S-<Return>", spawn "dmenu_run -i -p \"Run: \"") -- Dmenu
|
||||
|
||||
-- Launch Apps
|
||||
, ("M-f", spawn "firefox")
|
||||
, ("M-v", spawn "vivaldi-stable")
|
||||
, ("M-t", spawn "thunar")
|
||||
, ("M-p", spawn "bitwarden-desktop")
|
||||
--, ("M-e", spawn "emacs")
|
||||
, ("M-e", spawn myEmacs)
|
||||
, ("M-l", spawn "arcolinux-logout")
|
||||
|
||||
-- Useful programs to have a keybinding for launch
|
||||
, ("M-<Return>", spawn (myTerminal))
|
||||
--, ("M-b", spawn (myBrowser ++ " www.youtube.com/c/DistroTube/"))
|
||||
--, ("M-M1-h", spawn (myTerminal ++ " -e htop"))
|
||||
|
||||
-- Kill windows
|
||||
, ("M-S-c", kill1) -- Kill the currently focused client
|
||||
--, ("M-S-a", killAll) -- Kill all windows on current workspace
|
||||
|
||||
-- Workspaces
|
||||
--, ("M-.", nextScreen) -- Switch focus to next monitor
|
||||
--, ("M-,", prevScreen) -- Switch focus to prev monitor
|
||||
--, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next ws
|
||||
--, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to prev ws
|
||||
|
||||
-- Floating windows
|
||||
--, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
||||
--, ("M-t", withFocused $ windows . W.sink) -- Push floating window back to tile
|
||||
--, ("M-S-t", sinkAll) -- Push ALL floating windows to tile
|
||||
|
||||
-- Increase/decrease spacing (gaps)
|
||||
--, ("M-d", decWindowSpacing 4) -- Decrease window spacing
|
||||
--, ("M-i", incWindowSpacing 4) -- Increase window spacing
|
||||
--, ("M-S-d", decScreenSpacing 4) -- Decrease screen spacing
|
||||
--, ("M-S-i", incScreenSpacing 4) -- Increase screen spacing
|
||||
|
||||
-- Grid Select (CTR-g followed by a key)
|
||||
--, ("M-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
||||
--, ("M-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
||||
--, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
||||
|
||||
-- Windows navigation
|
||||
--, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
||||
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
||||
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
||||
--, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
||||
--, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
||||
--, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
||||
--, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
||||
--, ("M-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
||||
, ("M-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
||||
|
||||
-- Layouts
|
||||
--, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
||||
--, ("M-C-M1-<Up>", sendMessage Arrange)
|
||||
--, ("M-C-M1-<Down>", sendMessage DeArrange)
|
||||
--, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
||||
--, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
||||
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
||||
|
||||
-- Increase/decrease windows in the master pane or the stack
|
||||
--, ("M-S-<Up>", sendMessage (IncMasterN 1)) -- Increase # of clients master pane
|
||||
--, ("M-S-<Down>", sendMessage (IncMasterN (-1))) -- Decrease # of clients master pane
|
||||
--, ("M-C-<Up>", increaseLimit) -- Increase # of windows
|
||||
--, ("M-C-<Down>", decreaseLimit) -- Decrease # of windows
|
||||
|
||||
-- Window resizing
|
||||
--, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
||||
--, ("M-l", sendMessage Expand) -- Expand horiz window width
|
||||
--, ("M-M1-j", sendMessage MirrorShrink) -- Shrink vert window width
|
||||
--, ("M-M1-k", sendMessage MirrorExpand) -- Expand vert window width
|
||||
|
||||
-- Systemwise
|
||||
, ("C-S-<Esc>", spawn $ "xfce4-taskmanager")
|
||||
-- Sublayouts
|
||||
-- This is used to push windows to tabbed sublayouts, or pull them out of it.
|
||||
--, ("M-C-h", sendMessage $ pullGroup L)
|
||||
--, ("M-C-l", sendMessage $ pullGroup R)
|
||||
--, ("M-C-k", sendMessage $ pullGroup U)
|
||||
--, ("M-C-j", sendMessage $ pullGroup D)
|
||||
--, ("M-C-m", withFocused (sendMessage . MergeAll))
|
||||
---- , ("M-C-u", withFocused (sendMessage . UnMerge))
|
||||
--, ("M-C-/", withFocused (sendMessage . UnMergeAll))
|
||||
--, ("M-C-.", onGroup W.focusUp') -- Switch focus to next tab
|
||||
--, ("M-C-,", onGroup W.focusDown') -- Switch focus to prev tab
|
||||
|
||||
-- Scratchpads
|
||||
-- Toggle show/hide these programs. They run on a hidden workspace.
|
||||
-- When you toggle them to show, it brings them to your current workspace.
|
||||
-- Toggle them to hide and it sends them back to hidden workspace (NSP).
|
||||
--, ("C-s t", namedScratchpadAction myScratchPads "terminal")
|
||||
--, ("C-s m", namedScratchpadAction myScratchPads "mocp")
|
||||
--, ("C-s c", namedScratchpadAction myScratchPads "calculator")
|
||||
|
||||
-- Set wallpaper with 'feh'. Type 'SUPER+F1' to launch sxiv in the wallpapers directory.
|
||||
-- Then in sxiv, type 'C-x w' to set the wallpaper that you choose.
|
||||
--, ("M-<F1>", spawn "sxiv -r -q -t -o ~/wallpapers/*")
|
||||
--, ("M-<F2>", spawn "/bin/ls ~/wallpapers | shuf -n 1 | xargs xwallpaper --stretch")
|
||||
--, ("M-<F2>", spawn "feh --randomize --bg-fill ~/wallpapers/*")
|
||||
|
||||
-- Multimedia Keys
|
||||
--, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))
|
||||
--, ("<XF86AudioPrev>", spawn (myTerminal ++ "mocp --previous"))
|
||||
--, ("<XF86AudioNext>", spawn (myTerminal ++ "mocp --next"))
|
||||
--, ("<XF86AudioMute>", spawn "amixer set Master toggle")
|
||||
--, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
|
||||
--, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
|
||||
--, ("<XF86HomePage>", spawn "firefox")
|
||||
--, ("<XF86Search>", safeSpawn "firefox" ["https://www.duckduckgo.com/"])
|
||||
--, ("<XF86Mail>", runOrRaise "thunderbird" (resource =? "thunderbird"))
|
||||
--, ("<XF86Calculator>", runOrRaise "qalculate-gtk" (resource =? "qalculate-gtk"))
|
||||
--, ("<XF86Eject>", spawn "toggleeject")
|
||||
--, ("<Print>", spawn "scrotd 0")
|
||||
]
|
||||
-- The following lines are needed for named scratchpads.
|
||||
where nonNSP = WSIs (return (\ws -> W.tag ws /= "NSP"))
|
||||
nonEmptyNonNSP = WSIs (return (\ws -> isJust (W.stack ws) && W.tag ws /= "NSP"))
|
||||
#+end_src
|
||||
|
||||
** Main
|
||||
#+begin_src haskell :tangle ./xmonad.hs
|
||||
main :: IO ()
|
||||
main = do
|
||||
-- Launching three instances of xmobar on their monitors.
|
||||
-- xmproc0 <- spawnPipe "xmobar -x 0 $HOME/.config/xmobar/xmobarrc_desktop_qhd"
|
||||
-- xmproc1 <- spawnPipe "xmobar -x 1 $HOME/.config/xmobar/xmobarrc_desktop_fhd"
|
||||
xmproc0 <- spawnPipe "xmobar -x 0 $HOME/.config/xmobar/xmobarrc_labtop_fhd"
|
||||
-- the xmonad, ya know...what the WM is named after!
|
||||
xmonad $ ewmh def
|
||||
{ manageHook = ( isFullscreen --> doFullFloat ) <+> myManageHook <+> manageDocks
|
||||
-- Run xmonad commands from command line with "xmonadctl command". Commands include:
|
||||
-- shrink, expand, next-layout, default-layout, restart-wm, xterm, kill, refresh, run,
|
||||
-- focus-up, focus-down, swap-up, swap-down, swap-master, sink, quit-wm. You can run
|
||||
-- "xmonadctl 0" to generate full list of commands written to ~/.xsession-errors.
|
||||
-- To compile xmonadctl: ghc -dynamic xmonadctl.hs
|
||||
, handleEventHook = serverModeEventHookCmd
|
||||
<+> serverModeEventHook
|
||||
<+> serverModeEventHookF "XMONAD_PRINT" (io . putStrLn)
|
||||
-- <+> fullscreenEventHook -- this does NOT work right if using multi-monitors!
|
||||
, modMask = myModMask
|
||||
, terminal = myTerminal
|
||||
, startupHook = myStartupHook
|
||||
, layoutHook = showWName' myShowWNameTheme $ myLayoutHook
|
||||
, workspaces = myWorkspaces
|
||||
, borderWidth = myBorderWidth
|
||||
, normalBorderColor = myNormColor
|
||||
, focusedBorderColor = myFocusColor
|
||||
, logHook = dynamicLogWithPP $ xmobarPP
|
||||
-- the following variables beginning with 'pp' are settings for xmobar.
|
||||
{ ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1
|
||||
-- >> hPutStrLn xmproc1 x -- xmobar on monitor 2
|
||||
-- >> hPutStrLn xmproc2 x -- xmobar on monitor 3
|
||||
, ppCurrent = xmobarColor "#FFFFFF" "" . wrap "●" "" -- Current workspace
|
||||
, ppVisible = xmobarColor "#c0a79a" "" . wrap "♼" "" . clickable -- Visible but not current workspace
|
||||
, ppHidden = xmobarColor "#c0a79a" "" . wrap "○" "" . clickable -- Hidden workspaces
|
||||
, ppHiddenNoWindows = xmobarColor "#c792ea" "" . \s -> "" -- Hidden workspaces (no windows)
|
||||
, ppTitle = xmobarColor "#b3afc2" "" . shorten 60 -- Title of active window
|
||||
, ppSep = "<fc=#666666> <fn=1>|</fn> </fc>" -- Separator character
|
||||
, ppUrgent = xmobarColor "#C45500" "" . wrap "!" "!" -- Urgent workspace
|
||||
, ppExtras = [windowCount] -- # of windows current workspace
|
||||
, ppOrder = \(ws:l:t:ex) -> [ws,l]++ex++[t] -- order of things in xmobar
|
||||
}
|
||||
} `additionalKeysP` myKeys
|
||||
|
||||
#+end_src
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 823 KiB |
Reference in New Issue
Block a user