summaryrefslogtreecommitdiff
path: root/config/treemacs.el
diff options
context:
space:
mode:
Diffstat (limited to 'config/treemacs.el')
-rw-r--r--config/treemacs.el46
1 files changed, 46 insertions, 0 deletions
diff --git a/config/treemacs.el b/config/treemacs.el
new file mode 100644
index 0000000..07ecb41
--- /dev/null
+++ b/config/treemacs.el
@@ -0,0 +1,46 @@
+;; Treemacs - Simple Configuration
+
+(use-package treemacs
+ :defer t
+ :config
+ (setq treemacs-width 35
+ treemacs-width-is-initially-locked nil ;; Allow resizing
+ treemacs-width-increment 1 ;; Smooth resize
+ treemacs-position 'left
+ treemacs-show-hidden-files t
+ ; treemacs-indentation 1 ;; Minimal indentation
+ ; treemacs-indentation-string " " ;; Just space, no lines
+
+ ;; Disable mouse Features
+ treemacs-move-files-by-mouse-dragging nil ;; NO DRAGGING FILES!
+ treemacs-recenter-after-file-follow nil ;; Prevent mouse issues
+ treemacs-silent-filewatch t ;; Reduce mouse events
+ treemacs-show-cursor nil) ;; Hide cursor in treemacs
+
+ ;; Disable mouse in treemacs completely
+ :hook
+ (treemacs-mode . (lambda ()
+ ;; Disable all mouse button bindings
+ (define-key treemacs-mode-map [mouse-1] 'ignore)
+ (define-key treemacs-mode-map [mouse-2] 'ignore)
+ (define-key treemacs-mode-map [mouse-3] 'ignore)
+ (define-key treemacs-mode-map [drag-mouse-1] 'ignore)
+ (define-key treemacs-mode-map [down-mouse-1] 'ignore)
+ (define-key treemacs-mode-map [double-mouse-1] 'ignore)
+ (define-key treemacs-mode-map [triple-mouse-1] 'ignore)))
+ :bind
+ ("C-x t t" . treemacs))
+
+;; Beautiful icons for treemacs using nerd-icons
+(use-package treemacs-nerd-icons
+ :after treemacs
+ :config
+ ;; Reduce spacing between arrows and icons
+ (setq treemacs-nerd-icons-tab (propertize " " :face 'treemacs-nerd-icons-file-face))
+ (treemacs-load-theme "nerd-icons"))
+
+;; Customize folder icon colors (for nerd-icons theme)
+(with-eval-after-load 'treemacs-nerd-icons
+ (set-face-attribute 'treemacs-nerd-icons-file-face nil
+ :foreground "#74c4c4"
+ :inherit 'unspecified))