dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

commit b4a9b7afe0d957573e6f8925ca0137f76c8695c0
parent 0de0e338a9b4208b72d3030a306baf5e4716337f
Author: Ryan <ryan@Southpark.hsd1.or.comcast.net>
Date:   Mon, 27 Apr 2020 16:08:59 -0700

new emacsconf and picom

Diffstat:
A.config/picom.conf | 425+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M.econfig.org | 483+++++++++++++++++++++++++------------------------------------------------------
2 files changed, 576 insertions(+), 332 deletions(-)

diff --git a/.config/picom.conf b/.config/picom.conf @@ -0,0 +1,425 @@ +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 7; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Avoid drawing shadows on dock/panel windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dock-shadow = false + +# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dnd-shadow = false + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use +# shadow-exclude = 'bounding_shaped' +# or +# shadow-exclude = 'bounding_shaped && !rounded_corners' +# instead. +# +# shadow-ignore-shaped = '' + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.03; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.03; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +# fade-delta = 10 + +# Specify a list of conditions of windows that should not be faded. +# fade-exclude = [] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 0.85; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +# active-opacity = 1.0 + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should always be considered focused. +# focus-exclude = [] +focus-exclude = [ "class_g = 'Cairo-clock'", "class_g = 'Firefox-esr'", "class_g = 'Brave-browser'" ]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = false + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = '' +blur-kern = "3x3box"; + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c", + "class_g = 'Firefox-esr'", + "class_g = 'Brave-browser'" +]; + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# +# backend = 'glx' +backend = "glx"; + +# Enable/disable VSync. +vsync = false +#vsync = true + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 +refresh-rate = 0 + +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with +# vsync drm/opengl/opengl-oml +# as they essentially does sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +# +# sw-opti = + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +use-damage = true + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = '' + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "warn"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = '/path/to/your/log/file' + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = '/path/to/your/log/file' + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; + dock = { shadow = false; } + dnd = { shadow = false; } + popup_menu = { opacity = 1.0; } + dropdown_menu = { opacity = 1.0; } +}; diff --git a/.econfig.org b/.econfig.org @@ -6,8 +6,9 @@ * Emacs ** init #+BEGIN_SRC emacs-lisp - - (server-start) +(require 'server) +(or (server-running-p) + (server-start)) (eval-when-compile (require 'use-package)) @@ -21,22 +22,22 @@ ** font and theme #+BEGIN_SRC emacs-lisp - (add-to-list 'load-path "~/.emacs.d/lisp/") +(add-to-list 'load-path "~/.emacs.d/lisp/flycheck-pos-tip") - (require 'popup-pos-tip) +; (require 'popup-pos-tip) - (defadvice popup-tip - (around popup-pos-tip-wrapper (string &rest args) activate) - (if (eq window-system 'x) - (apply 'popup-pos-tip string args) - ad-do-it)) +; (defadvice popup-tip +; (around popup-pos-tip-wrapper (string &rest args) activate) +; (if (eq window-system 'x) +; (apply 'popup-pos-tip string args) +; ad-do-it)) - (setq x-gtk-use-system-tooltips nil) +; (setq x-gtk-use-system-tooltips nil) ;; font (add-to-list 'default-frame-alist - '(font . "Hack:antialias=true:size=16:style=Regular") - '(font . "Fira Code Symbol:antialias=true:size=16:style=Regular")) + '(font . "Hack:antialias=true:size=20:style=Regular") + '(font . "Fira Code Symbol:antialias=true:size=20:style=Regular")) (defun fira-code-mode--make-alist (list) "Generate prettify-symbols alist from LIST." @@ -137,12 +138,6 @@ ;; (telephone-line-mode t)) ;; - (use-package powerline - :ensure t - - :init - (powerline-default-theme)) - (global-set-key (kbd "M-<up>") 'text-scale-increase) (global-set-key (kbd "M-<down>") 'text-scale-decrease) (scroll-bar-mode nil) @@ -227,46 +222,52 @@ ** joestar #+BEGIN_SRC emacs-lisp - (use-package joestar - :init - (progn - (defvar undo-tree-map - (let ((map (make-sparse-keymap))) - ;; remap `undo' and `undo-only' to `undo-tree-undo' - (define-key map [remap undo] 'undo-tree-undo) - (define-key map [remap undo-only] 'undo-tree-undo) - ;; bind standard undo bindings (since these match redo counterparts) - (define-key map (kbd "C-/") 'undo-tree-undo) - (define-key map "\C-_" 'undo-tree-undo) - ;; redo doesn't exist normally, so define our own keybindings - (define-key map (kbd "C-?") 'undo-tree-redo) - (define-key map (kbd "M-_") 'undo-tree-redo) - ;; just in case something has defined `redo'... - (define-key map [remap redo] 'undo-tree-redo) - ;; we use "C-x u" for the undo-tree visualizer - (define-key map (kbd "s-x u") 'undo-tree-visualize) - ;; bind register commands - (define-key map (kbd "s-x r u") 'undo-tree-save-state-to-register) - (define-key map (kbd "s-x r U") 'undo-tree-restore-state-from-register) - ;; set keymap - (setq undo-tree-map map)))) - - :load-path - "~/.emacs.d/joestar/") - - (global-joestar-mode) - - ;; global move window keys so non joestar buffers can still have these bindings - (global-set-key (kbd "M-<left>") #'(lambda () - (interactive) - (other-window -1))) - - (global-set-key (kbd "M-<right>") #'(lambda () - (interactive) - (other-window 1))) + (add-to-list 'load-path "~/.emacs.d/lisp/") + (require 'highlight) - (global-set-key (kbd "S-<right>") 'joe-nbuf) - (global-set-key (kbd "S-<left>") 'joe-pbuf) + (use-package undo-tree + :ensure t) + + (use-package joestar + :init + (progn + (defvar undo-tree-map + (let ((map (make-sparse-keymap))) + ;; remap `undo' and `undo-only' to `undo-tree-undo' + (define-key map [remap undo] 'undo-tree-undo) + (define-key map [remap undo-only] 'undo-tree-undo) + ;; bind standard undo bindings (since these match redo counterparts) + (define-key map (kbd "C-/") 'undo-tree-undo) + (define-key map "\C-_" 'undo-tree-undo) + ;; redo doesn't exist normally, so define our own keybindings + (define-key map (kbd "C-?") 'undo-tree-redo) + (define-key map (kbd "M-_") 'undo-tree-redo) + ;; just in case something has defined `redo'... + (define-key map [remap redo] 'undo-tree-redo) + ;; we use "C-x u" for the undo-tree visualizer + (define-key map (kbd "s-x u") 'undo-tree-visualize) + ;; bind register commands + (define-key map (kbd "s-x r u") 'undo-tree-save-state-to-register) + (define-key map (kbd "s-x r U") 'undo-tree-restore-state-from-register) + ;; set keymap + (setq undo-tree-map map)))) + + :load-path + "~/.emacs.d/joestar/") + + (global-joestar-mode) + + ;; global move window keys so non joestar buffers can still have these bindings + (global-set-key (kbd "M-<left>") #'(lambda () + (interactive) + (other-window -1))) + + (global-set-key (kbd "M-<right>") #'(lambda () + (interactive) + (other-window 1))) + + (global-set-key (kbd "S-<right>") 'joe-nbuf) + (global-set-key (kbd "S-<left>") 'joe-pbuf) #+END_SRC ** org @@ -286,58 +287,74 @@ * IDE ** company-mode and flycheck #+BEGIN_SRC emacs-lisp - (use-package irony-mode - :config - (irony-mode t) - :init - (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options) - (eval-after-load 'flycheck - '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)) - (eval-after-load 'company - '(add-to-list 'company-backends 'company-irony)) +(require 'flycheck) +(add-hook 'after-init-hook #'global-flycheck-mode) - :hook c++-mode) + (use-package flycheck-irony + :ensure t) - (use-package company-mode - :config - (company-mode t) - (require 'company-c-headers) - (require 'company-irony-c-headers) - (require 'company-irony) - (require 'color) - (require 'company-quickhelp) + (use-package counsel + :ensure t) - (let ((bg (face-attribute 'default :background))) - (custom-set-faces - `(company-tooltip ((t (:inherit default :background ,(color-lighten-name bg 2))))) - `(company-scrollbar-bg ((t (:background ,(color-lighten-name bg 10))))) - `(company-scrollbar-fg ((t (:background ,(color-lighten-name bg 5))))) - `(company-tooltip-selection ((t (:inherit font-lock-function-name-face)))) - `(company-tooltip-common ((t (:inherit font-lock-constant-face)))))) + (use-package irony + :ensure t + :init + (push 'c++-mode irony-supported-major-modes) + (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options) + (eval-after-load 'flycheck + '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)) - (eval-after-load 'irony - '((add-to-list 'company-backends 'company-irony) - (add-to-list 'company-backends 'company-c-headers) - (add-to-list 'company-backends 'company-irony-c-headers))) - (company-quickhelp-mode t) + (eval-after-load 'company + '(add-to-list 'company-backends 'company-irony)) + :hook c++-mode) - :hook (prog-mode)) + (use-package company-irony + :ensure t) - (use-package flycheck-mode - :config + (use-package company-c-headers + :ensure t) + + (use-package company-irony-c-headers + :ensure t) + + (use-package company-quickhelp + :ensure t) - (flycheck-mode t) - (define-key flycheck-mode-map flycheck-keymap-prefix nil) - (setq flycheck-keymap-prefix (kbd \"s-s f\")) - (define-key flycheck-mode-map flycheck-keymap-prefix - flycheck-command-map) + (use-package company-mode + :config + (company-mode t) + (require 'color) + (require 'company-quickhelp) - :hook (prog-mode)) + (let ((bg (face-attribute 'default :background))) + (custom-set-faces + `(company-tooltip ((t (:inherit default :background ,(color-lighten-name bg 2))))) + `(company-scrollbar-bg ((t (:background ,(color-lighten-name bg 10))))) + `(company-scrollbar-fg ((t (:background ,(color-lighten-name bg 5))))) + `(company-tooltip-selection ((t (:inherit font-lock-function-name-face)))) + `(company-tooltip-common ((t (:inherit font-lock-constant-face)))))) + (eval-after-load 'irony + '((add-to-list 'company-backends 'company-irony) + (add-to-list 'company-backends 'company-c-headers) + (add-to-list 'company-backends 'company-irony-c-headers))) + (company-quickhelp-mode t) + + + + :hook (prog-mode)) + + +#+END_SRC +** cobol +#+BEGIN_SRC emacs-lisp + + (use-package cobol-mode + :ensure t) #+END_SRC ** all programming languages @@ -345,6 +362,7 @@ #+BEGIN_SRC emacs-lisp (use-package fic-mode + :ensure t :config (fic-mode t) :hook prog-mode) @@ -373,32 +391,34 @@ #+BEGIN_SRC emacs-lisp - (add-hook 'c++-mode-hook - (lambda () (setq flycheck-clang-language-standard "c++17"))) + (add-hook 'c++-mode-hook + (lambda () (setq flycheck-clang-language-standard "c++17"))) - (require 'yasnippet) - (yas-reload-all) - (add-hook 'prog-mode-hook #'yas-minor-mode) + (use-package yasnippet-snippets + :ensure t) + + (use-package yasnippet + :ensure t + :init + (yas-reload-all) + (add-hook 'prog-mode-hook #'yas-minor-mode)) #+END_SRC ** lisp #+BEGIN_SRC emacs-lisp - (use-package slime - :config - (setq inferior-lisp-program "/opt/sbcl/bin/sbcl") - (setq slime-contribs '(slime-fancy)) - (load (expand-file-name "~/quicklisp/slime-helper.el")) - ;; Replace "sbcl" with the path to your implementation - (setq inferior-lisp-program "sbcl")) + ;; (use-package slime + ;; :ensure t + ;; :config + ;; (setq inferior-lisp-program "/usr/bin/sbcl") + ;; (setq slime-contribs '(slime-fancy)) + ;; (load (expand-file-name "~/quicklisp/slime-helper.el")) + ;; ;; Replace "sbcl" with the path to your implementation + ;; (setq inferior-lisp-program "sbcl")) - (setq geiser-active-implementations '(guile)) - (use-package rainbow-delimiters - :ensure t - :init - (add-hook 'prog-mode-hook #'rainbow-delimiters-mode)) + ;; (setq geiser-active-implementations '(guile)) (use-package elisp-def :ensure t @@ -570,14 +590,6 @@ #+END_SRC -** line numbers -#+BEGIN_SRC emacs-lisp - - (setq linum-relative-backend 'display-line-numbers-mode) - (require 'linum-relative) - (linum-relative-on) - -#+END_SRC ** sudo edit #+BEGIN_SRC emacs-lisp @@ -593,6 +605,9 @@ ** misc #+BEGIN_SRC emacs-lisp +(use-package csgo-conf-mode +:ensure t) + ;; tell emacs not to use the clipboard ;(setq x-select-enable-clipboard nil) @@ -625,215 +640,32 @@ ;; rainbow delimeters (use-package rainbow-mode + :ensure t :config (rainbow-mode t) - + :hook (web-mode c-mode c++-mode js2-mode)) #+END_SRC * emacs-os -** email +** rss #+BEGIN_SRC emacs-lisp - (use-package shrface - :after shr - :quelpa - (shrface :repo "chenyanming/shrface" :fetcher github)) - - (use-package org-mime - :ensure t) +(use-package elfeed-org + :ensure t + :init + (global-set-key (kbd "s-x w") 'elfeed) + (elfeed-org) + (setq rmh-elfeed-org-files (list "/home/rmj/.emacs.d/elfeed.org"))) - (add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mu4e/") - (require 'mu4e) - - (setq mu4e-maildir (expand-file-name "~/Maildir")) - - ; get mail - (setq mu4e-get-mail-command "mbsync pwishie-gmail" - ;; mu4e-html2text-command "w3m -T text/html" ;;using the default mu4e-shr2text - mu4e-view-prefer-html t - mu4e-update-interval 300 - mu4e-headers-auto-update t - mu4e-compose-signature-auto-include nil - mu4e-compose-format-flowed t) - ;; to view selected message in the browser, no signin, just html mail - (add-to-list 'mu4e-view-actions - '("ViewInBrowser" . mu4e-action-view-in-browser) t) - - ;; enable inline images - (setq mu4e-view-show-images t) - ;; use imagemagick, if available - (when (fboundp 'imagemagick-register-types) - (imagemagick-register-types)) - - ;; every new email composition gets its own frame! - (setq mu4e-compose-in-new-frame t) - - ;; don't save message to Sent Messages, IMAP takes care of this - (setq mu4e-sent-messages-behavior 'delete) - - (add-hook 'mu4e-view-mode-hook #'visual-line-mode) - - ;; (defun my-render-html-message () - ;; (let ((dom (libxml-parse-html-region (point-min) (point-max)))) - ;; (erase-buffer) - ;; (shr-insert-document dom) - ;; (goto-char (point-min)))) - - ;; (setq mu4e-html2text-command 'my-render-html-message) - - - ;; <tab> to navigate to links, <RET> to open them in browser - (add-hook 'mu4e-view-mode-hook - (lambda() - ;; try to emulate some of the eww key-bindings - (local-set-key (kbd "<RET>") 'mu4e~view-browse-url-from-binding) - (local-set-key (kbd "<tab>") 'shr-next-link) - (local-set-key (kbd "<backtab>") 'shr-previous-link))) - - ;; from https://www.reddit.com/r/emacs/comments/bfsck6/mu4e_for_dummies/elgoumx - (add-hook 'mu4e-headers-mode-hook - (defun my/mu4e-change-headers () - (interactive) - (setq mu4e-headers-fields - `((:human-date . 25) ;; alternatively, use :date - (:flags . 6) - (:from . 22) - (:thread-subject . ,(- (window-body-width) 70)) ;; alternatively, use :subject - (:size . 7))))) - - ;; if you use date instead of human-date in the above, use this setting - ;; give me ISO(ish) format date-time stamps in the header list - ;(setq mu4e-headers-date-format "%Y-%m-%d %H:%M") - - ;; spell check - (add-hook 'mu4e-compose-mode-hook - (defun my-do-compose-stuff () - "My settings for message composition." - (visual-line-mode) - ;(org-mu4e-compose-org-mode) - (use-hard-newlines -1) - (flyspell-mode))) - - (require 'smtpmail) - - ;;rename files when moving - ;;NEEDED FOR MBSYNC - (setq mu4e-change-filenames-when-moving t) - - ;;set up queue for offline email - ;;use mu mkdir ~/Maildir/acc/queue to set up first - (setq smtpmail-queue-mail nil) ;; start in normal mode - - ;;from the info manual - (setq mu4e-attachment-dir "~/Downloads") - - (setq message-kill-buffer-on-exit t) - (setq mu4e-compose-dont-reply-to-self t) - - (require 'org-mu4e) - - ;; convert org mode to HTML automatically - (setq org-mu4e-convert-to-html t) - - (setq mu4e-org-contacts-file (expand-file-name "~/.emacs.d/contacts.org")) - (add-to-list 'mu4e-headers-actions - '("org-contact-add" . mu4e-action-add-org-contact) t) - (add-to-list 'mu4e-view-actions - '("org-contact-add" . mu4e-action-add-org-contact) t) - - ;;from vxlabs config - ;; show full addresses in view message (instead of just names) - ;; toggle per name with M-RET - (setq mu4e-view-show-addresses 't) - - ;; don't ask when quitting - (setq mu4e-confirm-quit nil) - - (require 'smtpmail-multi) - - (require 'feedmail) - - ;; mu4e-context - (setq mu4e-context-policy 'pick-first) - (setq mu4e-compose-context-policy 'always-ask) - (setq mu4e-contexts - (list - (make-mu4e-context - :name "personal" ;;for pwishie-gmail - :enter-func (lambda () (mu4e-message "Entering context personal")) - :leave-func (lambda () (mu4e-message "Leaving context personal")) - :match-func (lambda (msg) - (when msg - (mu4e-message-contact-field-matches - msg '(:from :to :cc :bcc) "pwishie@gmail.com"))) - :vars '((user-mail-address . "pwishie@gmail.com") - (user-full-name . "Ryan") - (mu4e-sent-folder . "/pwishie-gmail/[pwishie].Sent Mail") - (mu4e-drafts-folder . "/pwishie-gmail/[pwishie].drafts") - (mu4e-trash-folder . "/pwishie-gmail/[pwishie].Bin") - (mu4e-compose-signature . (concat "Formal Signature\n" "Emacs 25, org-mode 9, mu4e 1.0\n")) - (mu4e-compose-format-flowed . t) - (smtpmail-queue-dir . "~/Maildir/pwishie-gmail/queue/cur") - (setq message-send-mail-function 'message-send-mail-with-sendmail - sendmail-program "/usr/bin/msmtp" - user-full-name "Ryan Jeffrey") - - (setq message-sendmail-envelope-from 'header) - (add-hook 'message-send-mail-hook 'choose-msmtp-account) - (smtpmail-smtp-user . "pwishie") - (smtpmail-starttls-credentials . (("smtp.gmail.com" 587 nil nil))) - (smtpmail-auth-credentials . (expand-file-name "~/.emacs.d/.authinfo.gpg")) - (smtpmail-default-smtp-server . "smtp.gmail.com") - (smtpmail-smtp-server . "smtp.gmail.com") - (smtpmail-smtp-service . 587) - (smtpmail-debug-info . t) - (smtpmail-debug-verbose . t) - (mu4e-maildir-shortcuts . ( ("/pwishie-gmail/INBOX" . ?i) - ("/pwishie-gmail/[pwishie].Sent Mail" . ?s) - ("/pwishie-gmail/[pwishie].Bin" . ?t) - ("/pwishie-gmail/[pwishie].All Mail" . ?a) - ("/pwishie-gmail/[pwishie].Starred" . ?r) - ("/pwishie-gmail/[pwishie].drafts" . ?d) - )))) - ;; (make-mu4e-context - ;; :name "personal" ;;for rmjxyz-gmail - ;; :enter-func (lambda () (mu4e-message "Entering context personal")) - ;; :leave-func (lambda () (mu4e-message "Leaving context personal")) - ;; :match-func (lambda (msg) - ;; (when msg - ;; (mu4e-message-contact-field-matches - ;; msg '(:from :to :cc :bcc) "rmjxyz@gmail.com"))) - ;; :vars '((user-mail-address . "rmjxyz@gmail.com") - ;; (user-full-name . "User Account2") - ;; (mu4e-sent-folder . "/rmjxyz-gmail/[rmjxyz].Sent Mail") - ;; (mu4e-drafts-folder . "/rmjxyz-gmail/[rmjxyz].drafts") - ;; (mu4e-trash-folder . "/rmjxyz-gmail/[rmjxyz].Trash") - ;; (mu4e-compose-format-flowed . t) - ;; (smtpmail-queue-dir . "~/Maildir/rmjxyz-gmail/queue/cur") - ;; (message-send-mail-function . smtpmail-send-it) - ;; (smtpmail-smtp-user . "rmjxyz") - ;; (smtpmail-starttls-credentials . (("smtp.gmail.com" 587 nil nil))) - ;; (smtpmail-auth-credentials . (expand-file-name "~/.emacs.d/.authinfo.gpg")) - ;; (smtpmail-default-smtp-server . "smtp.gmail.com") - ;; (smtpmail-smtp-server . "smtp.gmail.com") - ;; (smtpmail-smtp-service . 587) - ;; (smtpmail-debug-info . t) - ;; (smtpmail-debug-verbose . t) - ;; (mu4e-maildir-shortcuts . ( ("/rmjxyz-gmail/INBOX" . ?i) - ;; ("/rmjxyz-gmail/[rmjxyz].Sent Mail" . ?s) - ;; ("/rmjxyz-gmail/[rmjxyz].Trash" . ?t) - ;; ("/rmjxyz-gmail/[rmjxyz].All Mail" . ?a) - ;; ("/rmjxyz-gmail/[rmjxyz].Starred" . ?r) - ;; ("/rmjxyz-gmail/[rmjxyz].drafts" . ?d) - ;; )))) - )) + (require 'color) + + (defface comic-tag + '((t :foreground "#AE6486")) + "Marks comic tags") -#+END_SRC -** rss -#+BEGIN_SRC emacs-lisp (use-package elfeed :ensure t @@ -862,20 +694,7 @@ (setq buffer-read-only t)) (switch-to-buffer buffer))) - (use-package elfeed-org - :ensure t - :init - (global-set-key (kbd "s-x w") 'elfeed) - (elfeed-org) - (setq rmh-elfeed-org-files (list "/home/rmj/.emacs.d/elfeed.org"))) - - - (require 'color) - - (defface comic-tag - '((t :foreground "#AE6486")) - "Marks comic tags") - + (defface podcast-tag '((t :foreground "#6699CC"))