emacs update
added some custom mode line elements for now
This commit is contained in:
		@@ -57,13 +57,13 @@ myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
 | 
				
			|||||||
     spawn "flameshot full -p /home/natto/Pictures -d 10000")
 | 
					     spawn "flameshot full -p /home/natto/Pictures -d 10000")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  , ((modMask, xK_p),
 | 
					  , ((modMask, xK_p),
 | 
				
			||||||
     spawn "mpc toggle")
 | 
					     spawn "playerctl play-pause")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  , ((modMask, xK_h),
 | 
					  , ((modMask, xK_h),
 | 
				
			||||||
     spawn "mpc next")
 | 
					     spawn "playerctl next")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  , ((modMask, xK_k),
 | 
					  , ((modMask, xK_k),
 | 
				
			||||||
     spawn "mpc prev")
 | 
					     spawn "playerctl previous")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  , ((modMask .|. shiftMask, xK_a),
 | 
					  , ((modMask .|. shiftMask, xK_a),
 | 
				
			||||||
     spawn "mpc seek -00:00:05")
 | 
					     spawn "mpc seek -00:00:05")
 | 
				
			||||||
@@ -190,6 +190,37 @@ toggleFullscreen =
 | 
				
			|||||||
        windows $ if isFullFloat then W.sink w else W.float w fullRect
 | 
					        windows $ if isFullFloat then W.sink w else W.float w fullRect
 | 
				
			||||||
--}}}
 | 
					--}}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--{{{
 | 
				
			||||||
 | 
					--couldnt get fullScreenEventHook to work normally so using this for now
 | 
				
			||||||
 | 
					--source code: https://github.com/xmonad/xmonad-contrib/blob/v0.16/XMonad/Hooks/EwmhDesktops.hs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fullscreenFix :: XConfig a -> XConfig a
 | 
				
			||||||
 | 
					fullscreenFix c = c {
 | 
				
			||||||
 | 
					                      startupHook = startupHook c +++ setSupportedWithFullscreen
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                  where x +++ y = mappend x y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					setSupportedWithFullscreen :: X ()
 | 
				
			||||||
 | 
					setSupportedWithFullscreen = withDisplay $ \dpy -> do
 | 
				
			||||||
 | 
					    r <- asks theRoot
 | 
				
			||||||
 | 
					    a <- getAtom "_NET_SUPPORTED"
 | 
				
			||||||
 | 
					    c <- getAtom "ATOM"
 | 
				
			||||||
 | 
					    supp <- mapM getAtom ["_NET_WM_STATE_HIDDEN"
 | 
				
			||||||
 | 
					                         ,"_NET_WM_STATE_FULLSCREEN"
 | 
				
			||||||
 | 
					                         ,"_NET_NUMBER_OF_DESKTOPS"
 | 
				
			||||||
 | 
					                         ,"_NET_CLIENT_LIST"
 | 
				
			||||||
 | 
					                         ,"_NET_CLIENT_LIST_STACKING"
 | 
				
			||||||
 | 
					                         ,"_NET_CURRENT_DESKTOP"
 | 
				
			||||||
 | 
					                         ,"_NET_DESKTOP_NAMES"
 | 
				
			||||||
 | 
					                         ,"_NET_ACTIVE_WINDOW"
 | 
				
			||||||
 | 
					                         ,"_NET_WM_DESKTOP"
 | 
				
			||||||
 | 
					                         ,"_NET_WM_STRUT"
 | 
				
			||||||
 | 
					                         ]
 | 
				
			||||||
 | 
					    io $ changeProperty32 dpy r a c propModeReplace (fmap fromIntegral supp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    setWMName "xmonad"
 | 
				
			||||||
 | 
					--}}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
main = do xmproc <- spawnPipe ("xmobar " ++ myXmobarrc)
 | 
					main = do xmproc <- spawnPipe ("xmobar " ++ myXmobarrc)
 | 
				
			||||||
          xmonad $ docks $ ewmh def
 | 
					          xmonad $ docks $ ewmh def
 | 
				
			||||||
              { borderWidth        = myBorderWidth
 | 
					              { borderWidth        = myBorderWidth
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,7 +54,8 @@ in
 | 
				
			|||||||
      sox
 | 
					      sox
 | 
				
			||||||
      qbittorrent
 | 
					      qbittorrent
 | 
				
			||||||
      #tor-browser-bundle-bin
 | 
					      #tor-browser-bundle-bin
 | 
				
			||||||
      mpc_cli
 | 
					      #mpc_cli
 | 
				
			||||||
 | 
					      playerctl
 | 
				
			||||||
      hexchat
 | 
					      hexchat
 | 
				
			||||||
      luajit
 | 
					      luajit
 | 
				
			||||||
      mpv
 | 
					      mpv
 | 
				
			||||||
@@ -86,6 +87,7 @@ in
 | 
				
			|||||||
      dosbox
 | 
					      dosbox
 | 
				
			||||||
      authy
 | 
					      authy
 | 
				
			||||||
      unstable.premid
 | 
					      unstable.premid
 | 
				
			||||||
 | 
					      master.tauon
 | 
				
			||||||
      nbfc-linux
 | 
					      nbfc-linux
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@
 | 
				
			|||||||
  environment.systemPackages = with pkgs; [
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
    (emacsWithPackagesFromUsePackage {
 | 
					    (emacsWithPackagesFromUsePackage {
 | 
				
			||||||
      config = ./init.el;
 | 
					      config = ./init.el;
 | 
				
			||||||
 | 
					      package = emacsGcc;
 | 
				
			||||||
      alwaysEnsure = true;
 | 
					      alwaysEnsure = true;
 | 
				
			||||||
      extraEmacsPackages = epkgs: with epkgs; [
 | 
					      extraEmacsPackages = epkgs: with epkgs; [
 | 
				
			||||||
        use-package
 | 
					        use-package
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,26 @@
 | 
				
			|||||||
 | 
					;; -*- lexical-binding:t -*-
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;colors
 | 
				
			||||||
 | 
					(setq
 | 
				
			||||||
 | 
					c-bg        "#1d2021"
 | 
				
			||||||
 | 
					c-fg        "#d5c4a1"
 | 
				
			||||||
 | 
					c-red       "#cc241d"
 | 
				
			||||||
 | 
					c-green     "#98971a"
 | 
				
			||||||
 | 
					c-yellow    "#d79921"
 | 
				
			||||||
 | 
					c-blue      "#458588"
 | 
				
			||||||
 | 
					c-magenta   "#b16286"
 | 
				
			||||||
 | 
					c-cyan      "#689d6a"
 | 
				
			||||||
 | 
					c-white     "#a89984"
 | 
				
			||||||
 | 
					c-black     "#928374"
 | 
				
			||||||
 | 
					c-red-2     "#fb4934"
 | 
				
			||||||
 | 
					c-green-2   "#b8bb26"
 | 
				
			||||||
 | 
					c-yellow-2  "#fabd2f"
 | 
				
			||||||
 | 
					c-blue-2    "#83a598"
 | 
				
			||||||
 | 
					c-magenta-2 "#d3869b"
 | 
				
			||||||
 | 
					c-cyan-2    "#8ec07c"
 | 
				
			||||||
 | 
					c-white-2   "#ebdbb2")
 | 
				
			||||||
 | 
					;(setq vc-handled-backends nil) ; vc is slow as fuck with git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;settings
 | 
					;;settings
 | 
				
			||||||
(setq display-line-numbers-type 'relative)
 | 
					(setq display-line-numbers-type 'relative)
 | 
				
			||||||
(setq inhibit-startup-screen t)
 | 
					(setq inhibit-startup-screen t)
 | 
				
			||||||
@@ -9,6 +32,7 @@
 | 
				
			|||||||
(fringe-mode 0)
 | 
					(fringe-mode 0)
 | 
				
			||||||
(global-display-line-numbers-mode 1)
 | 
					(global-display-line-numbers-mode 1)
 | 
				
			||||||
(setq initial-major-mode 'emacs-lisp-mode)
 | 
					(setq initial-major-mode 'emacs-lisp-mode)
 | 
				
			||||||
 | 
					(setq frame-resize-pixelwise t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;add packages and shit
 | 
					;;add packages and shit
 | 
				
			||||||
(require 'package)
 | 
					(require 'package)
 | 
				
			||||||
@@ -19,11 +43,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
;;package config and modes
 | 
					;;package config and modes
 | 
				
			||||||
(use-package gruvbox-theme
 | 
					(use-package gruvbox-theme
 | 
				
			||||||
  :init
 | 
					  :init (load-theme 'gruvbox-dark-hard t))
 | 
				
			||||||
  (load-theme 'gruvbox-dark-hard t))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(use-package ivy
 | 
					(use-package ivy
 | 
				
			||||||
  :config
 | 
					  :config
 | 
				
			||||||
 | 
					  (define-key ivy-minibuffer-map (kbd "C-n") 'ivy-next-line)
 | 
				
			||||||
 | 
					  (define-key ivy-minibuffer-map (kbd "C-e") 'ivy-previous-line)
 | 
				
			||||||
 | 
					  (define-key ivy-minibuffer-map (kbd "C-i") 'ivy-done)
 | 
				
			||||||
  (ivy-mode 1))
 | 
					  (ivy-mode 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(use-package elcord
 | 
					(use-package elcord
 | 
				
			||||||
@@ -32,6 +58,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
(use-package evil
 | 
					(use-package evil
 | 
				
			||||||
  :config
 | 
					  :config
 | 
				
			||||||
 | 
					  (setq evil-undo-system 'undo-redo)
 | 
				
			||||||
  (evil-mode 1))
 | 
					  (evil-mode 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(use-package evil-colemak-basics
 | 
					(use-package evil-colemak-basics
 | 
				
			||||||
@@ -46,15 +73,16 @@
 | 
				
			|||||||
  (treemacs-git-mode 'deferred))
 | 
					  (treemacs-git-mode 'deferred))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(use-package treemacs-evil
 | 
					(use-package treemacs-evil
 | 
				
			||||||
  :bind (:map evil-treemacs-state-map
 | 
					  :config
 | 
				
			||||||
              ("n" . treemacs-next-line)
 | 
					  (define-key evil-treemacs-state-map (kbd "n")   #'treemacs-next-line)
 | 
				
			||||||
              ("e" . treemacs-previous-line)
 | 
					  (define-key evil-treemacs-state-map (kbd "e")   #'treemacs-previous-line)
 | 
				
			||||||
              ("M-n" . treemacs-next-neighbour)
 | 
					  (define-key evil-treemacs-state-map (kbd "M-n") #'treemacs-next-neighbour)
 | 
				
			||||||
              ("M-e" . treemacs-previous-neighbour)
 | 
					  (define-key evil-treemacs-state-map (kbd "M-e") #'treemacs-previous-neighbour)
 | 
				
			||||||
              ("M-N" . treemacs-next-line-other-window)
 | 
					  (define-key evil-treemacs-state-map (kbd "M-N") #'treemacs-next-line-other-window)
 | 
				
			||||||
              ("M-E" . treemacs-previous-line-other-window)
 | 
					  (define-key evil-treemacs-state-map (kbd "M-E") #'treemacs-previous-line-other-window)
 | 
				
			||||||
              ("M" . treemacs-collapse-parent-node))
 | 
					  (define-key evil-treemacs-state-map (kbd "M")   #'treemacs-collapse-parent-node)
 | 
				
			||||||
  :init
 | 
					  (evil-define-key 'treemacs treemacs-mode-map (kbd "m") #'treemacs-COLLAPSE-action)
 | 
				
			||||||
 | 
					  (evil-define-key 'treemacs treemacs-mode-map (kbd "i") #'treemacs-RET-action))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(use-package lsp-mode
 | 
					(use-package lsp-mode
 | 
				
			||||||
  :config
 | 
					  :config
 | 
				
			||||||
@@ -81,21 +109,53 @@
 | 
				
			|||||||
(use-package rainbow-delimiters
 | 
					(use-package rainbow-delimiters
 | 
				
			||||||
  :hook (prog-mode . rainbow-delimiters-mode))
 | 
					  :hook (prog-mode . rainbow-delimiters-mode))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;(use-package rustic)
 | 
					(use-package flex-autopair
 | 
				
			||||||
 | 
					  :config
 | 
				
			||||||
 | 
					  (flex-autopair-mode 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;keybinds
 | 
					(use-package rainbow-mode
 | 
				
			||||||
;ivy
 | 
					  :config
 | 
				
			||||||
(define-key ivy-minibuffer-map (kbd "C-n") 'ivy-next-line)
 | 
					  (rainbow-mode 1))
 | 
				
			||||||
(define-key ivy-minibuffer-map (kbd "C-e") 'ivy-previous-line)
 | 
					
 | 
				
			||||||
(define-key ivy-minibuffer-map (kbd "C-i") 'ivy-done)
 | 
					(use-package rustic)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(use-package magit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(defface bufname
 | 
				
			||||||
 | 
					  `((t :foreground ,c-fg
 | 
				
			||||||
 | 
					       :background ,c-bg
 | 
				
			||||||
 | 
					       :weight bold
 | 
				
			||||||
 | 
					     ))
 | 
				
			||||||
 | 
					  "Custom faces for buffer name"
 | 
				
			||||||
 | 
					  :group 'mode-line-faces )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(defface gitmode
 | 
				
			||||||
 | 
					  `((t :foreground ,c-fg
 | 
				
			||||||
 | 
					       :background ,c-red-2
 | 
				
			||||||
 | 
					       :weight bold
 | 
				
			||||||
 | 
					     ))
 | 
				
			||||||
 | 
					  "Custom face for git branch"
 | 
				
			||||||
 | 
					  :group 'mode-line-faces )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(setq-default mode-line-format
 | 
				
			||||||
 | 
						      '((:propertize " %b " face bufname)
 | 
				
			||||||
 | 
							(vc-mode (:propertize (" " vc-mode " " ) face gitmode))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;evil-treemacs
 | 
					 | 
				
			||||||
(evil-define-key 'treemacs treemacs-mode-map (kbd "m") #'treemacs-COLLAPSE-action)
 | 
					 | 
				
			||||||
(evil-define-key 'treemacs treemacs-mode-map (kbd "i") #'treemacs-RET-action))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;hooks
 | 
					 | 
				
			||||||
;exclude line numbers
 | 
					 | 
				
			||||||
(setq exclude-ln '(term-mode-hook eshell-mode-hook shell-mode-hook))
 | 
					(setq exclude-ln '(term-mode-hook eshell-mode-hook shell-mode-hook))
 | 
				
			||||||
(while exclude-ln
 | 
					(while exclude-ln
 | 
				
			||||||
       (add-hook (car exclude-ln) (lambda () (display-line-numbers-mode 0)))
 | 
					       (add-hook (car exclude-ln) (lambda () (display-line-numbers-mode 0)))
 | 
				
			||||||
       (setq exclude-ln (cdr exclude-ln)))
 | 
					       (setq exclude-ln (cdr exclude-ln)))
 | 
				
			||||||
 | 
					(let ((default-color (cons (face-background 'mode-line)
 | 
				
			||||||
 | 
					                           (face-foreground 'mode-line))))
 | 
				
			||||||
 | 
					  (add-hook 'post-command-hook
 | 
				
			||||||
 | 
					       (lambda ()
 | 
				
			||||||
 | 
					         (let ((color (cond ((minibufferp) default-color)
 | 
				
			||||||
 | 
					                            ((evil-insert-state-p) (cons c-magenta c-fg))
 | 
				
			||||||
 | 
					                            ((evil-visual-state-p) (cons c-cyan    c-fg))
 | 
				
			||||||
 | 
					                            ((evil-normal-state-p) (cons c-fg      c-bg))
 | 
				
			||||||
 | 
					                            ((buffer-modified-p)   (cons c-blue    c-fg))
 | 
				
			||||||
 | 
					                            (t default-color))))
 | 
				
			||||||
 | 
						   (set-face-background 'bufname (car color))
 | 
				
			||||||
 | 
						   (set-face-foreground 'bufname (cdr color))
 | 
				
			||||||
 | 
						   ))))
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user