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")
 | 
			
		||||
 | 
			
		||||
  , ((modMask, xK_p),
 | 
			
		||||
     spawn "mpc toggle")
 | 
			
		||||
     spawn "playerctl play-pause")
 | 
			
		||||
 | 
			
		||||
  , ((modMask, xK_h),
 | 
			
		||||
     spawn "mpc next")
 | 
			
		||||
     spawn "playerctl next")
 | 
			
		||||
 | 
			
		||||
  , ((modMask, xK_k),
 | 
			
		||||
     spawn "mpc prev")
 | 
			
		||||
     spawn "playerctl previous")
 | 
			
		||||
 | 
			
		||||
  , ((modMask .|. shiftMask, xK_a),
 | 
			
		||||
     spawn "mpc seek -00:00:05")
 | 
			
		||||
@@ -190,6 +190,37 @@ toggleFullscreen =
 | 
			
		||||
        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)
 | 
			
		||||
          xmonad $ docks $ ewmh def
 | 
			
		||||
              { borderWidth        = myBorderWidth
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,8 @@ in
 | 
			
		||||
      sox
 | 
			
		||||
      qbittorrent
 | 
			
		||||
      #tor-browser-bundle-bin
 | 
			
		||||
      mpc_cli
 | 
			
		||||
      #mpc_cli
 | 
			
		||||
      playerctl
 | 
			
		||||
      hexchat
 | 
			
		||||
      luajit
 | 
			
		||||
      mpv
 | 
			
		||||
@@ -86,6 +87,7 @@ in
 | 
			
		||||
      dosbox
 | 
			
		||||
      authy
 | 
			
		||||
      unstable.premid
 | 
			
		||||
      master.tauon
 | 
			
		||||
      nbfc-linux
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    (emacsWithPackagesFromUsePackage {
 | 
			
		||||
      config = ./init.el;
 | 
			
		||||
      package = emacsGcc;
 | 
			
		||||
      alwaysEnsure = true;
 | 
			
		||||
      extraEmacsPackages = epkgs: with epkgs; [
 | 
			
		||||
        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
 | 
			
		||||
(setq display-line-numbers-type 'relative)
 | 
			
		||||
(setq inhibit-startup-screen t)
 | 
			
		||||
@@ -9,6 +32,7 @@
 | 
			
		||||
(fringe-mode 0)
 | 
			
		||||
(global-display-line-numbers-mode 1)
 | 
			
		||||
(setq initial-major-mode 'emacs-lisp-mode)
 | 
			
		||||
(setq frame-resize-pixelwise t)
 | 
			
		||||
 | 
			
		||||
;;add packages and shit
 | 
			
		||||
(require 'package)
 | 
			
		||||
@@ -19,11 +43,13 @@
 | 
			
		||||
 | 
			
		||||
;;package config and modes
 | 
			
		||||
(use-package gruvbox-theme
 | 
			
		||||
  :init
 | 
			
		||||
  (load-theme 'gruvbox-dark-hard t))
 | 
			
		||||
  :init (load-theme 'gruvbox-dark-hard t))
 | 
			
		||||
 | 
			
		||||
(use-package ivy
 | 
			
		||||
  :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))
 | 
			
		||||
 | 
			
		||||
(use-package elcord
 | 
			
		||||
@@ -32,6 +58,7 @@
 | 
			
		||||
 | 
			
		||||
(use-package evil
 | 
			
		||||
  :config
 | 
			
		||||
  (setq evil-undo-system 'undo-redo)
 | 
			
		||||
  (evil-mode 1))
 | 
			
		||||
 | 
			
		||||
(use-package evil-colemak-basics
 | 
			
		||||
@@ -46,15 +73,16 @@
 | 
			
		||||
  (treemacs-git-mode 'deferred))
 | 
			
		||||
 | 
			
		||||
(use-package treemacs-evil
 | 
			
		||||
  :bind (:map evil-treemacs-state-map
 | 
			
		||||
              ("n" . treemacs-next-line)
 | 
			
		||||
              ("e" . treemacs-previous-line)
 | 
			
		||||
              ("M-n" . treemacs-next-neighbour)
 | 
			
		||||
              ("M-e" . treemacs-previous-neighbour)
 | 
			
		||||
              ("M-N" . treemacs-next-line-other-window)
 | 
			
		||||
              ("M-E" . treemacs-previous-line-other-window)
 | 
			
		||||
              ("M" . treemacs-collapse-parent-node))
 | 
			
		||||
  :init
 | 
			
		||||
  :config
 | 
			
		||||
  (define-key evil-treemacs-state-map (kbd "n")   #'treemacs-next-line)
 | 
			
		||||
  (define-key evil-treemacs-state-map (kbd "e")   #'treemacs-previous-line)
 | 
			
		||||
  (define-key evil-treemacs-state-map (kbd "M-n") #'treemacs-next-neighbour)
 | 
			
		||||
  (define-key evil-treemacs-state-map (kbd "M-e") #'treemacs-previous-neighbour)
 | 
			
		||||
  (define-key evil-treemacs-state-map (kbd "M-N") #'treemacs-next-line-other-window)
 | 
			
		||||
  (define-key evil-treemacs-state-map (kbd "M-E") #'treemacs-previous-line-other-window)
 | 
			
		||||
  (define-key evil-treemacs-state-map (kbd "M")   #'treemacs-collapse-parent-node)
 | 
			
		||||
  (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
 | 
			
		||||
  :config
 | 
			
		||||
@@ -81,21 +109,53 @@
 | 
			
		||||
(use-package rainbow-delimiters
 | 
			
		||||
  :hook (prog-mode . rainbow-delimiters-mode))
 | 
			
		||||
 | 
			
		||||
;(use-package rustic)
 | 
			
		||||
(use-package flex-autopair
 | 
			
		||||
  :config
 | 
			
		||||
  (flex-autopair-mode 1))
 | 
			
		||||
 | 
			
		||||
;;keybinds
 | 
			
		||||
;ivy
 | 
			
		||||
(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)
 | 
			
		||||
(use-package rainbow-mode
 | 
			
		||||
  :config
 | 
			
		||||
  (rainbow-mode 1))
 | 
			
		||||
 | 
			
		||||
(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))
 | 
			
		||||
(while exclude-ln
 | 
			
		||||
       (add-hook (car exclude-ln) (lambda () (display-line-numbers-mode 0)))
 | 
			
		||||
       (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