diff --git a/.config/X11/xinitrc b/.config/X11/xinitrc index d86aecaa..feb96299 100755 --- a/.config/X11/xinitrc +++ b/.config/X11/xinitrc @@ -6,7 +6,13 @@ pkill -f "bash /sbin/clipmenud" pkill -f "/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh" pkill -f devmon -echo "$DBUS_SESSION_BUS_ADDRESS" > /tmp/bus-session +cat << EOF > "$XDG_CACHE_HOME/dbus_settings" +export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS +export DBUS_SESSION_BUS_PID=$DBUS_SESSION_BUS_PID +export DBUS_SESSION_BUS_WINDOWID=$DBUS_SESSION_BUS_WINDOWID +EOF + +chmod +x "$XDG_CACHE_HOME/dbus_settings" rm -rf $XDG_RUNTIME_DIR/day_cache export XSESSION_PID="$$" @@ -14,6 +20,7 @@ export XSESSION_PID="$$" source ~/.config/config.env + pactl upload-sample /usr/share/sounds/freedesktop/stereo/bell.oga x11-bell pactl load-module module-x11-bell sample=x11-bell display=$DISPLAY xset b 100 diff --git a/.config/config.env.default b/.config/config.env.default index 13271677..d7c4f340 100644 --- a/.config/config.env.default +++ b/.config/config.env.default @@ -1,5 +1,7 @@ # vim:ft=bash +# This file is used by my dotfiles in some core functions + #!/bin/sh export ETH_IT=enp2s0 diff --git a/.config/doom/cli.el b/.config/doom/cli.el new file mode 100644 index 00000000..d0f3986a --- /dev/null +++ b/.config/doom/cli.el @@ -0,0 +1,7 @@ +;;; cli.el -*- lexical-binding: t; -*- +(setq org-confirm-babel-evaluate nil) + +(defun doom-shut-up-a (orig-fn &rest args) + (quiet! (apply orig-fn args))) + +(advice-add 'org-babel-execute-src-block :around #'doom-shut-up-a) diff --git a/.config/doom/config.el b/.config/doom/config.el index 08bbaa43..b16076c3 100644 --- a/.config/doom/config.el +++ b/.config/doom/config.el @@ -1,160 +1,454 @@ ;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- -;; Place your private configuration here! Remember, you do not need to run 'doom -;; sync' after modifying this file! +;; __ _______ _____ _____ +;; \ \ / / ____| ____|_ _| +;; \ V /| _| | _| | | +;; | | | |___| |___ | | +;; |_| |_____|_____| |_| +;; Yeet's Doom Emacs configuration -;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. +;; Global Configuration (setq user-full-name "Yigit Colakoglu" - user-mail-address "yigit@yigitcolakoglu.com") +user-mail-address "yigit@yigitcolakoglu.com") -(add-to-list 'default-frame-alist - '(ns-transparent-titlebar . t)) -(add-to-list 'default-frame-alist - '(ns-appearance . light)) +(setq org-directory "~/Documents/org/") +(setq org-journal-dir "~/Documents/org/journal/") +(setq display-line-numbers-type 'relative) +(setq twittering-allow-insecure-server-cert t) +(setq +ivy-buffer-preview t) (global-auto-revert-mode t) +(global-subword-mode 1) ; Iterate through CamelCase words + +(setq-default + delete-by-moving-to-trash t ; Delete files to trash + window-combination-resize t ; take new window space from all other windows (not just current) + x-stretch-cursor t) ; Stretch cursor to the glyph width + +(setq undo-limit 80000000 ; Raise undo-limit to 80Mb + evil-want-fine-undo t ; By default while in insert all changes are one big blob. Be more granular + auto-save-default t ; Nobody likes to loose work, I certainly don't + truncate-string-ellipsis "…") ; Unicode ellispis are nicer than "...", and also save /precious/ space + + +;; Experimental, delete if you don't like it +(setq evil-vsplit-window-right t + evil-split-window-below t) + +(require 'bison-mode) +(after! bison-mode-hook + (setq imenu-create-index-function + (lambda () + (let ((end)) + (beginning-of-buffer) + (re-search-forward "^%%") + (forward-line 1) + (setq end (save-excursion (re-search-forward "^%%") (point))) + (loop while (re-search-forward "^\\([a-z].*?\\)\\s-*\n?\\s-*:" end t) + collect (cons (match-string 1) (point))))))) + +(defadvice! prompt-for-buffer (&rest _) + :after '(evil-window-split evil-window-vsplit) + (+ivy/switch-buffer)) + +(use-package! ox-hugo + :after ox + ) + +(use-package! elfeed-org + :after elfeed + :config + (elfeed-org) + (setq rmh-elfeed-org-files (list "~/.doom.d/elfeed.org")) + ) + +(use-package! deft + :hook deft-mode-hook + :init + (setq deft-directory org-directory) + (setq deft-recursive t) + ) + +(use-package! hl-todo + :hook (prog-mode . hl-todo-mode) + :config + (setq hl-todo-keyword-faces + `( + ("PROJ" . ,(face-foreground 'error)) + ("SOMEDAY" . ,(face-foreground 'warning)) + ("TODO" . ,(face-foreground 'warning)) + ("PROG" . ,(face-foreground 'error)) + ("NEXT" . ,(face-foreground 'error)) + ("WAIT" . ,(face-foreground 'warning)) + ("CANCEL" . ,(face-foreground 'error)) + ("DELEGATED" . ,(face-foreground 'error)) + ("IDEA" . ,(face-foreground 'warning)) + ("GOAL" . ,(face-foreground 'warning)) + ("DUD" . ,(face-foreground 'error)) + ("RD" . ,(face-foreground 'warning)) + ("RDING" . ,(face-foreground 'warning)) + ("RDNOTE" . ,(face-foreground 'warning)) + ("TMPDROP" . ,(face-foreground 'warning)) + ("DROP" . ,(face-foreground 'error)) + ("FNSHED" . ,(face-foreground 'success)) + ("DONE" . ,(face-foreground 'success))))) + +(use-package! engrave-faces-latex + :after ox-latex) + +(use-package! org-ol-tree + :commands org-ol-tree) + +(use-package! org-chef + :commands (org-chef-insert-recipe org-chef-get-recipe-from-url)) + +(use-package! org-pretty-table + :commands (org-pretty-table-mode global-org-pretty-table-mode)) + +(use-package! aas :commands aas-mode) + +(use-package! laas + :hook (LaTeX-mode . laas-mode) + :config + (defun laas-tex-fold-maybe () + (unless (equal "/" aas-transient-snippet-key) + (+latex-fold-last-macro-a))) + (add-hook 'aas-post-snippet-expand-hook #'laas-tex-fold-maybe)) + +(use-package! calfw-org + :after calfw) + +(use-package! org-agenda + :defer + :init + (setq org-agenda-files (list + (concat org-directory "projects.org") + (concat org-directory "monthly_habits.org") + (concat org-directory "quarterly_habits.org") + (concat org-directory "personal.org") + (concat org-directory "taxes.org") + (concat org-directory "birthdays_and_important_days.org") + (concat org-directory "reading_list.org") + (concat org-directory "school.org") + (concat org-directory "daily_habits.org") + (concat org-directory "weekly_habits.org") + (concat org-directory "reflections/2021_refl.org") + (concat org-directory "someday.org") + (concat org-directory "projects/2021/") + org-journal-dir)) + + :config + (setq org-habit-show-habits-only-for-today t) + ;; Org Agenda Files + + ;; org agenda + (setq org-agenda-time-grid + (quote + ((daily today remove-match) + (700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300) + "......" "----------------"))) + ) + +(use-package! org-super-agenda + :after org-agenda + :init + ;; for some reason org-agenda evil bindings were being weird with j and k + (map! :map org-agenda-keymap "j" #'org-agenda-next-line) + (map! :map org-agenda-mode-map "j" #'org-agenda-next-line) + (map! :map org-super-agenda-header-map "j" #'org-agenda-next-line) + (map! :map org-agenda-keymap "k" #'org-agenda-previous-line) + (map! :map org-agenda-mode-map "k" #'org-agenda-previous-line) + (map! :map org-super-agenda-header-map "k" #'org-agenda-previous-line) + (map! :map org-super-agenda-header-map "k" #'org-agenda-previous-line) + (map! :map org-super-agenda-header-map "k" #'org-agenda-previous-line) + + (setq org-agenda-custom-commands '( + ("r" "Main View" + ((agenda "" ((org-agenda-span 'day) + (org-agenda-start-day "+0d") + (org-agenda-overriding-header "") + (org-super-agenda-groups + '((:name "Today" + :time-grid t + :date today + :order 1 + :scheduled today + :todo "TODAY"))))) + (alltodo "" ((org-agenda-overriding-header "") + (org-super-agenda-groups + '( + (:discard (:habit)) + (:todo "PROJ") + (:todo "PROG") + (:todo "NEXT") + (:todo "WAIT") + (:todo "RD") + (:todo "RDING") + (:todo "RDNOTE") + (:name "Important" :priority "A") + (:todo "TODO") + (:todo "GOAL") + (:discard (:todo "IDEA")) + (:discard (:todo "RD")) + (:discard (:todo "TMPDROP")) + (:discard (:todo "SOMEDAY")) + )))))) + + ("w" "Someday and Idea" + ((alltodo "" ((org-agenda-overriding-header "") + (org-super-agenda-groups + '( + (:todo "IDEA") + (:todo "SOMEDAY") + (:discard (:todo "PROJ")) + (:discard (:todo "PROG")) + (:discard (:todo "NEXT")) + (:discard (:todo "WAIT")) + (:discard (:todo "RDNOTE")) + (:discard (:todo "RD")) + (:discard (:todo "RDING")) + (:discard (:todo "TODO")) + (:discard (:todo "GOAL")) + ) + ))))))) + + + :config + (org-super-agenda-mode)) + +;; Org Roam +(use-package! org-roam + :commands (org-roam-insert org-roam-find-file org-roam) + :init + (setq org-roam-directory (concat org-directory "roam")) + (setq org-roam-buffer-width 0.2) + (map! :leader + :prefix "n" + :desc "Org-Roam-Insert" "i" #'org-roam-insert + :desc "Org-Roam-Find" "/" #'org-roam-find-file + :desc "Org-Roam-Buffer" "r" #'org-roam) + ) + + +;; Attempt to remove lag +(setq key-chord-two-keys-delay 0.7) -(add-hook! 'org-mode-hook (company-mode -1)) -(add-hook! 'org-capture-mode-hook (company-mode -1)) +(after! org (load! "org-conf.el")) -(setq baby-blue '("#d2ecff" "#d2ecff" "brightblue")) +;; Better window management +(map! :map evil-window-map + "SPC" #'rotate-layout + ;; Navigation + "" #'evil-window-left + "" #'evil-window-down + "" #'evil-window-up + "" #'evil-window-right + ;; Swapping windows + "C-" #'+evil/window-move-left + "C-" #'+evil/window-move-down + "C-" #'+evil/window-move-up + "C-" #'+evil/window-move-right) +(after! company + (setq company-idle-delay 0.2 + company-minimum-prefix-length 2)) + +(after! evil-escape (evil-escape-mode -1)) +(after! evil (setq evil-ex-substitute-global t)) ; I like my s/../.. to by global by default + +(setq emojify-emoji-set "twemoji-v2") + +(setq-default history-length 1000) +(setq-default prescient-history-length 1000) + +(set-company-backend! + '(text-mode + markdown-mode + gfm-mode) + '(:seperate + company-ispell + company-files + company-yasnippet)) (setq - doom-theme 'doom-challenger-deep - doom-font (font-spec :family "CaskaydiaCove Nerd Font Mono" :size 16 :weight 'regular) - default-directory "~" - dart-format-on-save t - web-mode-markup-indent-offset 2 - web-mode-code-indent-offset 2 - web-mode-css-indent-offset 2 - mac-command-modifier 'meta - js-indent-level 2 - typescript-indent-level 2 - json-reformat:indent-width 2 - prettier-js-args '("--single-quote") - projectile-project-search-path '("~/Projects/") - dired-dwim-target t - org-ellipsis " ▾ " - org-bullets-bullet-list '("·") - org-tags-column -80 - org-agenda-files (ignore-errors (directory-files +org-dir t "\\.org$" t)) - org-log-done 'time - css-indent-offset 2 - org-refile-targets (quote ((nil :maxlevel . 1))) - org-capture-templates '(("x" "Note" entry - (file+olp+datetree "journal.org") - "**** [ ] %U %?" :prepend t :kill-buffer t) - ("t" "Task" entry - (file+headline "tasks.org" "Inbox") - "* [ ] %?\n%i" :prepend t :kill-buffer t)) - +doom-dashboard-banner-file (expand-file-name "logo.png" doom-private-dir) - +org-capture-todo-file "tasks.org" - org-super-agenda-groups '((:name "Today" - :time-grid t - :scheduled today) - (:name "Due today" - :deadline today) - (:name "Important" - :priority "A") - (:name "Overdue" - :deadline past) - (:name "Due soon" - :deadline future) - (:name "Big Outcomes" - :tag "bo"))) - -(add-hook! reason-mode - (add-hook 'before-save-hook #'refmt-before-save nil t)) - -(add-hook! - js2-mode 'prettier-js-mode - (add-hook 'before-save-hook #'refmt-before-save nil t)) + default-directory "~" + web-mode-markup-indent-offset 4 + ispell-dictionary "en-custom" + web-mode-code-indent-offset 4 + web-mode-css-indent-offset 4 + js-indent-level 4 + json-reformat:indent-width 4 + prettier-js-args '("--single-quote") + projectile-project-search-path '("~/Projects/") + dired-dwim-target t + nand-hdl-directory "~/Projects/nand2tetris" + css-indent-offset 2) + + +(setq auth-sources + '((:source "~/.config/emacs/.authinfo.gpg"))) (defun insert-current-date () (interactive) - (insert (shell-command-to-string "echo -n $(date +%Y-%m-%d)"))) + (insert (shell-command-to-string "echo -n $(date +%Y-%m-%d)"))) + +;; We expect the encoding to be LF UTF-8, so only show the modeline when this is not the case +(defun doom-modeline-conditional-buffer-encoding () + (setq-local doom-modeline-buffer-encoding + (unless (and (memq (plist-get (coding-system-plist buffer-file-coding-system) :category) + '(coding-category-undecided coding-category-utf-8)) + (not (memq (coding-system-eol-type buffer-file-coding-system) '(1 2)))) +t))) + +(add-hook 'after-change-major-mode-hook #'doom-modeline-conditional-buffer-encoding) + + (map! :ne "M-/" #'comment-or-uncomment-region) (map! :ne "SPC / r" #'deadgrep) (map! :ne "SPC n b" #'org-brain-visualize) (map! :ne "SPC i d" #'insert-current-date) -;; (def-package! parinfer ; to configure it -;; :bind (("C-," . parinfer-toggle-mode) -;; ("" . parinfer-smart-tab:dwim-right) -;; ("S-" . parinfer-smart-tab:dwim-left)) -;; :hook ((clojure-mode emacs-lisp-mode common-lisp-mode lisp-mode) . parinfer-mode) -;; :config (setq parinfer-extensions '(defaults pretty-parens evil paredit))) - -(after! org - (set-face-attribute 'org-link nil - :weight 'normal - :background nil) - (set-face-attribute 'org-code nil - :foreground "#a9a1e1" - :background nil) - (set-face-attribute 'org-date nil - :foreground "#5B6268" - :background nil) - (set-face-attribute 'org-level-1 nil - :foreground "steelblue2" - :background nil - :height 1.2 - :weight 'normal) - (set-face-attribute 'org-level-2 nil - :foreground "slategray2" - :background nil - :height 1.0 - :weight 'normal) - (set-face-attribute 'org-level-3 nil - :foreground "SkyBlue2" - :background nil - :height 1.0 - :weight 'normal) - (set-face-attribute 'org-level-4 nil - :foreground "DodgerBlue2" - :background nil - :height 1.0 - :weight 'normal) - (set-face-attribute 'org-level-5 nil - :weight 'normal) - (set-face-attribute 'org-level-6 nil - :weight 'normal) - (set-face-attribute 'org-document-title nil - :foreground "SlateGray1" - :background nil - :height 1.75 - :weight 'bold) - (setq org-fancy-priorities-list '("⚡" "⬆" "⬇" "☕"))) - -(after! web-mode - (add-to-list 'auto-mode-alist '("\\.njk\\'" . web-mode))) - -(defun +data-hideshow-forward-sexp (arg) - (let ((start (current-indentation))) - (forward-line) - (unless (= start (current-indentation)) - (require 'evil-indent-plus) - (let ((range (evil-indent-plus--same-indent-range))) - (goto-char (cadr range)) - (end-of-line))))) - -(add-to-list 'hs-special-modes-alist '(yaml-mode "\\s-*\\_<\\(?:[^:]+\\)\\_>" "" "#" +data-hideshow-forward-sexp nil)) - -(setq org-directory "~/Documents/org/") +;; zoom in/out like we do everywhere else. +(global-set-key (kbd "C-=") 'text-scale-increase) +(global-set-key (kbd "C--") 'text-scale-decrease) +(global-set-key (kbd "") 'text-scale-decrease) +(global-set-key (kbd "") 'text-scale-increase) (setq +magit-hub-features t) +(setq calc-angle-mode 'rad ; radians are rad + calc-symbolic-mode t) ; keeps expressions like \sqrt{2} irrational for as long as possible + +(use-package! calctex + :commands calctex-mode + :init + (add-hook 'calc-mode-hook #'calctex-mode) + :config + (setq calctex-additional-latex-packages " +\\usepackage[usenames]{xcolor} +\\usepackage{soul} +\\usepackage{adjustbox} +\\usepackage{amsmath} +\\usepackage{amssymb} +\\usepackage{siunitx} +\\usepackage{cancel} +\\usepackage{mathtools} +\\usepackage{mathalpha} +\\usepackage{xparse} +\\usepackage{arevmath}" + calctex-additional-latex-macros + (concat calctex-additional-latex-macros + "\n\\let\\evalto\\Rightarrow")) + (defadvice! no-messaging-a (orig-fn &rest args) + :around #'calctex-default-dispatching-render-process + (let ((inhibit-message t) message-log-max) + (apply orig-fn args))) + ;; Fix hardcoded dvichop path (whyyyyyyy) + (let ((vendor-folder (concat (file-truename doom-local-dir) + "straight/" + (format "build-%s" emacs-version) + "/calctex/vendor/"))) + (setq calctex-dvichop-sty (concat vendor-folder "texd/dvichop") + calctex-dvichop-bin (concat vendor-folder "texd/dvichop"))) + (unless (file-exists-p calctex-dvichop-bin) + (message "CalcTeX: Building dvichop binary") + (let ((default-directory (file-name-directory calctex-dvichop-bin))) + (call-process "make" nil nil nil)))) + +(defun greedily-do-daemon-setup () + (require 'org) + (when (require 'elfeed nil t) + (run-at-time nil (* 8 60 60) #'elfeed-update))) + +;; Open new clients in the dashboard +(when (daemonp) + (add-hook 'emacs-startup-hook #'greedily-do-daemon-setup) + (add-hook! 'server-after-make-frame-hook (switch-to-buffer +doom-dashboard-name))) + (set-popup-rule! "^\\*Org Agenda" :side 'bottom :size 0.90 :select t :ttl nil) -(set-popup-rule! "^CAPTURE.*\\.org$" :side 'bottom :size 0.90 :select t :ttl nil) (set-popup-rule! "^\\*org-brain" :side 'right :size 1.00 :select t :ttl nil) -(defun my-open-calendar () +(sp-local-pair + '(org-mode) + "<<" ">>" + :actions '(insert)) + +(setq +zen-text-scale 0.8) + + +(use-package! lexic + :commands lexic-search lexic-list-dictionary + :config + (map! :map lexic-mode-map + :n "q" #'lexic-return-from-lexic + :nv "RET" #'lexic-search-word-at-point + :n "a" #'outline-show-all + :n "h" (cmd! (outline-hide-sublevels 3)) + :n "o" #'lexic-toggle-entry + :n "n" #'lexic-next-entry + :n "N" (cmd! (lexic-next-entry t)) + :n "p" #'lexic-previous-entry + :n "P" (cmd! (lexic-previous-entry t)) + :n "E" (cmd! (lexic-return-from-lexic) ; expand + (switch-to-buffer (lexic-get-buffer))) + :n "M" (cmd! (lexic-return-from-lexic) ; minimise + (lexic-goto-lexic)) + :n "C-p" #'lexic-search-history-backwards + :n "C-n" #'lexic-search-history-forwards + :n "/" (cmd! (call-interactively #'lexic-search)))) + +(defadvice! +lookup/dictionary-definition-lexic (identifier &optional arg) + :override #'+lookup/dictionary-definition + (interactive + (list (or (doom-thing-at-point-or-region 'word) + (read-string "Look up in dictionary: ")) + current-prefix-arg)) + (lexic-search identifier nil nil t)) + +;; Hooks +(add-hook 'nand-hdl-mode-hook 'yas-minor-mode) + +(defun after-org-mode-load () (interactive) - (cfw:open-calendar-buffer - :contents-sources - (list - (cfw:org-create-source "Green") ; org-agenda source - ))) + (setq olivetti-body-width 0.8) + (olivetti-mode) + ) +(add-hook! 'org-mode-hook 'after-org-mode-load) + +;; Auto-Insert +(autoload 'yas-expand-snippet "yasnippet") +(defun my-autoinsert-yas-expand() + "Replace text in yasnippet template." + (yas-expand-snippet (buffer-string) (point-min) (point-max))) + +(setq-default auto-insert-directory "~/.config/doom/templates") +(auto-insert-mode 1) ;;; Adds hook to find-files-hook +(setq-default auto-insert-query nil) ;;; If you don't want to be prompted before insertion +(define-auto-insert "\\.el$" ["template.el" my-autoinsert-yas-expand]) +(define-auto-insert "\\.c$" ["template.c" my-autoinsert-yas-expand]) +(define-auto-insert "\\.cpp$" ["template.cpp" my-autoinsert-yas-expand]) +(define-auto-insert "\\.h$" ["template.h" my-autoinsert-yas-expand]) +(define-auto-insert "\\.cc$" ["template.cpp" my-autoinsert-yas-expand]) +(define-auto-insert "\\.tex$" ["template.tex" my-autoinsert-yas-expand]) +(define-auto-insert "\\.org$" ["template.org" my-autoinsert-yas-expand]) +(define-auto-insert "\\.py$" ["template.py" my-autoinsert-yas-expand]) +(define-auto-insert "\\.java$" ["template.java" my-autoinsert-yas-expand]) +(define-auto-insert "\\.sh$" ["template.sh" my-autoinsert-yas-expand]) +(define-auto-insert "\\.html$" ["template.html" my-autoinsert-yas-expand]) + +(setq yas-snippet-dirs + '("~/.config/doom/snippets")) + +;; Appearance +(delq! t custom-theme-load-path) ;; Don't prompt on startup +(setq doom-theme 'doom-material-ocean) +(setq + doom-big-font (font-spec :family "CasaydiaCove Nerd Font" :size 22) + doom-font (font-spec :family "CaskaydiaCove Nerd Font" :size 16) + doom-variable-pitch-font (font-spec :family "Overpass" :size 16) + doom-unicode-font (font-spec :family "JuliaMono") + doom-serif-font (font-spec :family "IBM Plex Mono" :weight 'light)) + +(setq +doom-dashboard-banner-file (expand-file-name "logo.png" doom-private-dir)) + diff --git a/.config/doom/custom.el b/.config/doom/custom.el new file mode 100644 index 00000000..ad09f224 --- /dev/null +++ b/.config/doom/custom.el @@ -0,0 +1,46 @@ +(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. + '(ansi-color-names-vector + ["#1E1C31" "#FF8080" "#95FFA4" "#FFE9AA" "#91DDFF" "#C991E1" "#AAFFE4" "#CBE3E7"]) + '(custom-safe-themes + '("01d5e0971bfe4b70669ba03f632c68ac7e5b9e0bc5eaf760a780d88ca271dae2" default)) + '(fci-rule-color "#858FA5") + '(jdee-db-active-breakpoint-face-colors (cons "#100E23" "#906CFF")) + '(jdee-db-requested-breakpoint-face-colors (cons "#100E23" "#95FFA4")) + '(jdee-db-spec-breakpoint-face-colors (cons "#100E23" "#565575")) + '(objed-cursor-color "#FF8080") + '(pdf-view-midnight-colors (cons "#CBE3E7" "#1E1C31")) + '(rustic-ansi-faces + ["#1E1C31" "#FF8080" "#95FFA4" "#FFE9AA" "#91DDFF" "#C991E1" "#AAFFE4" "#CBE3E7"]) + '(vc-annotate-background "#1E1C31") + '(vc-annotate-color-map + (list + (cons 20 "#95FFA4") + (cons 40 "#b8f7a6") + (cons 60 "#dbf0a8") + (cons 80 "#FFE9AA") + (cons 100 "#ffd799") + (cons 120 "#ffc488") + (cons 140 "#FFB378") + (cons 160 "#eda79b") + (cons 180 "#db9cbd") + (cons 200 "#C991E1") + (cons 220 "#db8bc0") + (cons 240 "#ed85a0") + (cons 260 "#FF8080") + (cons 280 "#d4757d") + (cons 300 "#aa6a7a") + (cons 320 "#805f77") + (cons 340 "#858FA5") + (cons 360 "#858FA5"))) + '(vc-annotate-very-old-color nil)) +(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. + ) +(put 'projectile-ripgrep 'disabled nil) diff --git a/.config/doom/init.el b/.config/doom/init.el index cda920aa..c8f3eff8 100644 --- a/.config/doom/init.el +++ b/.config/doom/init.el @@ -3,43 +3,46 @@ (doom! :feature - ;debugger ; FIXME stepping through code, to help you add bugs - :completion (company ; the ultimate code completion backend - +tng +auto ; as-you-type code completion +childframe) ; a nicer company UI. Emacs +26 only! (ivy - +fuzzy); a search engine for love and life + +icons + +childframe + +prescient + +fuzzy) ; a search engine for love and life :ui deft workspaces ; tab emulation, persistence & separate workspaces doom ; what makes DOOM look the way it does doom-dashboard ; a nifty splash screen for Emacs - modeline ; a snazzy Atom-inspired mode-line + modeline ; a snazzy Atom-inspired mode-line + ophints ; highlight the region an operation acts on doom-quit ; DOOM quit-message prompts when you quit Emacs ophints ; display visual hints when editing in evil hl-todo ; highlight TODO/FIXME/NOTE tags nav-flash ; blink the current line after jumping treemacs ; a project drawer, like neotree but cooler + vc-gutter ; vcs diff in the fringe + vi-tilde-fringe ; fringe tildes to mark beyond eob (popup ; tame sudden yet inevitable temporary windows +all ; catch all popups that start with an asterix +defaults) ; default popup rules - vc-gutter ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - window-select ; visually switch windows + ;;(ligatures +extra) ; ligatures and symbols to make your code pretty again + (window-select +numbers) ; visually switch windows + zen ; distraction-free coding or writing :emacs - (dired - +icons); making dired pretty [functional] + (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 ; a consistent, cross-platform shell (WIP) - vterm + vterm ; the best terminal emulation in Emacs :editor @@ -50,20 +53,25 @@ snippets ; my elves. They type so I don't have to ;;parinfer ; turn lisp into python, sort of rotate-text ; cycle region at point between text candidates + (format) ; automated prettiness + rotate-text ; cycle region at point between text candidates :tools + taskrunner ; taskrunner for gradle, make etc eval ; run code, run (also, repls) gist ; interacting with github gists - (lookup ; helps you navigate your code and documentation - +devdocs ; ...on devdocs.io online - +docsets) ; ...or in Dash docsets locally - ;macos ; MacOS-specific commands make ; run make tasks from Emacs - magit ; + (magit +forge) ; a git porcelain for Emacs pass ; password manager for nerds - ;pdf ; pdf enhancements - ;rgb ; creating color strings - tmux ; an API for interacting with tmux + pdf ; pdf enhancements + rgb ; creating color strings + debugger ; FIXME stepping through code, to help you add bugs + lsp ; Language Server Protocol + direnv ; be direct about your environment + docker ; port everything to containers + editorconfig ; let someone else argue about tabs vs spaces + ein ; tame Jupyter notebooks with emacs + ;;tmux ; an API for interacting with tmux upload ; map local to remote projects via ssh/ftp flycheck flyspell @@ -80,14 +88,18 @@ ;; elixir ; erlang done right ;; elm ; care for a cup of TEA? emacs-lisp ; drown in parentheses - ;;ess ; emacs speaks statistics + ess ; emacs speaks statistics go ; the hipster dialect ;; (haskell +intero) ; a language that's lazier than I am ;; hy ; readability of scheme w/ speed of python - (java +meghanada) ; the poster child for carpal tunnel syndrome - javascript ; all(hope(abandon(ye(who(enter(here)))))) + (java +lsp) ; the poster child for carpal tunnel syndrome + (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) + (julia +lsp) ; a better, faster MATLAB ;; julia ; a better, faster MATLAB - latex ; writing papers in Emacs has never been so fun + (latex ; writing papers in Emacs has never been so fun + +latexmk ; what else would you use? + +cdlatex ; quick maths symbols + +fold) ; fold the clutter away nicities ;; ledger ; an accounting system in Emacs ;; lua ; one-based indices? one-based indices markdown ; writing docs for people to ignore @@ -95,8 +107,13 @@ ;; ocaml ; an objective camel (org ; organize your plain life in plain text +attach ; custom attachment system + +journal +babel ; running code in org - +hugo + +hugo ; Write hugo posts in org-mode + +gnuplot ; Who doesn't love plots + +roam ; roam around your notes + +pandoc ; export-with-pandoc support + +pretty ; yessss my pretties! (nice unicode symbols) +capture ; org-capture in and outside of Emacs +export ; Exporting org to whatever you want +present) ; Emacs for presentations @@ -119,18 +136,20 @@ ;; toward a specific purpose. They may have additional dependencies and ;; should be loaded late. :app - (:if (executable-find "mu") (mu4e +org +gmail)) + ;;(:if (executable-find "mu") (mu4e +org +gmail)) ;;notmuch ;;(wanderlust +gmail) calendar ; A dated approach to timetabling ;;emms ; Multimedia in Emacs is music to my ears everywhere ; *leave* Emacs!? You must be joking. - irc ; how neckbeards socialize + ;;irc ; how neckbeards socialize (rss +org) ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought + twitter ; twitter client https://twitter.com/vnought :config ;; The default module set reasonable defaults for Emacs. It also provides ;; a Spacemacs-inspired keybinding scheme, a custom yasnippet library, ;; and additional ex commands for evil-mode. Use it as a reference for ;; your own modules. - (default +bindings +snippets +evil-commands)) + (default +bindings +snippets +evil-commands +smartparens)) + +(add-load-path! "lisp/") diff --git a/.config/doom/lisp/bison-mode.el b/.config/doom/lisp/bison-mode.el new file mode 100644 index 00000000..430066e7 --- /dev/null +++ b/.config/doom/lisp/bison-mode.el @@ -0,0 +1,913 @@ +;;; bison-mode.el --- Major mode for editing bison, yacc and lex files. + +;; Copyright (C) 1998 Eric Beuscher +;; +;; Author: Eric Beuscher +;; Created: 2 Feb 1998 +;; Version: 0.2 +;; Keywords: bison-mode, yacc-mode + +;; 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 2 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. + +;;; Commentary: + +;;;; I wrote this since I saw one mode for yacc files out there roaming the +;;;; world. I was daunted by the fact the it was written in 1990, and Emacs +;;;; has evolved so much since then (this I assume based on its evolution since +;;;; i started using it). So I figured if i wanted one, I should make it +;;;; myself. Please excuse idiosyncrasies, as this was my first major mode +;;;; of this kind. The indentation code may be a bit weird, I am not sure, +;;;; it was my first go at doing Emacs indentation, so I look at how other +;;;; modes did it, but then basically did what I thought was right + +;;;; I hope this is useful to other hackers, and happy Bison/Yacc hacking +;;;; If you have ideas/suggestions/problems with this code, I can be reached at +;;;; beuscher@eecs.tulane.edu + +;;;; Eric --- Sat Mar 7 1:40:20 CDT 1998 + +;;;; Bison Sections: +;;;; there are five sections to a bison file (if you include the area above the +;;;; C declarations section. most everything in this file either does +;;;; actions based on which section you are deemed to be in, or based on an +;;;; assumption that the function will only be called from certain sections. +;;;; the function `bison--section-p' is the section parser + +;;;; Indentation: +;;;; indentations are done based on the section of code you are in. there is +;;;; a procedure `bison--within-braced-c-expression-p' that checks for being in +;;;; C code. if you are within c-code, indentations should occur based on +;;;; how you have your C indentation set up. i am pretty sure this is the +;;;; case. +;;;; there are four variables, which control bison indentation within either +;;;; the bison declarations section or the bison grammar section +;;;; `bison-rule-separator-column' +;;;; `bison-rule-separator-column' +;;;; `bison-decl-type-column' +;;;; `bison-decl-token-column' + +;;;; flaw: indentation works on a per-line basis, unless within braced C sexp, +;;;; i should fix this someday +;;;; and to make matters worse, i never took out c-indent-region, so that is +;;;; still the state of the `indent-region-function' variable + +;;;; Electricity: +;;;; by default, there are electric -colon, -pipe, -open-brace, -close-brace, +;;;; -semicolon, -percent, -less-than, -greater-than +;;;; the indentation caused by these work closely with the 4 indentation +;;;; variables mentioned above. +;;;; any of these can be turned off individually by setting the appropriate +;;;; `bison-electric-...' variable. or all of them can be turned off by +;;;; setting `bison-all-electricity-off' + +;;;; todo: should make available a way to use C-electricity if in C sexps + +;;; Code: + +(require 'cc-mode) + +;;;###autoload +(add-to-list 'auto-mode-alist '("\\.y\\'" . bison-mode)) +;;;###autoload +(add-to-list 'auto-mode-alist '("\\.l\\'" . flex-mode)) +;;;###autoload +(add-to-list 'auto-mode-alist '("\\.jison\\'" . jison-mode)) + +;; *************** internal vars *************** + +(defvar bison--declarers '("%union" "%token" "%type" + "%left" "%right" "%nonassoc") + "commands which can declare a token or state type") + +(defvar bison--word-constituent-re "\\(\\sw\\|_\\)") +(defvar bison--production-re + (concat "^" bison--word-constituent-re "+:")) + +(defvar bison--pre-c-decls-section 0 + "section before c-declarations-section, if that section exists") +(defvar bison--c-decls-section 1 + "section denoted by %{ and $} for c-declarations at the top of a bison file") +(defvar bison--bison-decls-section 2 + "section before the rules section") +(defvar bison--grammar-rules-section 3 + "section delimited by %%'s where productions and rules are enumerated") +(defvar bison--c-code-section 4 + "section after the second %% where c-code can be placed") + +(defvar bison--c-decls-section-opener "%{") +(defvar bison--c-decls-section-closer "%}") +(defvar bison--grammar-rules-section-delimeter "%%") + + +;; *************** user-definable vars *************** + +(defvar bison-rule-separator-column 8 + "column for rule and production separators \"|\" and \";\"") +(defvar bison-rule-enumeration-column 16 + "column for beginning enumeration of a production's rules") +(defvar bison-decl-type-column 8 + "columnn in which tokens' and states' types should be when declared") +(defvar bison-decl-token-column 24 + "column in which tokens and states are listed when declared, +as with %token, %type, ...") + + +(defvar bison-all-electricity-off nil + "non-nil means all electric keys will be disabled, +nil means that a bison-electric-* key will be on or off based on the individual +key's electric variable") + +;;; i know lisp has the dual name spaces, but i find it more aesthetically +;;; pleasing to not take advantage of that +(defvar bison-electric-colon-v t + "non-nil means use an electric colon") +(defvar bison-electric-pipe-v t + "non-nil means use an electric pipe") +(defvar bison-electric-open-brace-v t + "non-nil means use an electric open-brace") +(defvar bison-electric-close-brace-v t + "non-nil means use an electric close-brace") +(defvar bison-electric-semicolon-v t + "non-nil means use an electric semicolon") +(defvar bison-electric-percent-v t + "non-nil means use an electric percent") +(defvar bison-electric-less-than-v t + "non-nil means use an electric less-than") +(defvar bison-electric-greater-than-v t + "non-nil means use an electric greater-than") + + +(defconst bison-font-lock-keywords + (append + (list + (cons (concat "^\\(" (regexp-opt bison--declarers) "\\)") + '(1 font-lock-keyword-face)) + ) + c-font-lock-keywords) + "Default expressions to highlight in Bison mode") + +;; *************** utilities *************** + +(defun just-no-space () + "Delete all spaces and tabs around point, leaving no spaces." + (interactive "*") + (skip-chars-backward " \t") + (delete-region (point) (progn (skip-chars-forward " \t") (point))) + t) + +(defun previous-white-space-p () + "return t if there is whitespace between the beginning of the line and the +current (point)" + (save-excursion + (let ((current-point (point))) + (beginning-of-line) + (if (re-search-forward "\\s " current-point t) + t + nil)))) + +(defun previous-non-ws-p () + "return t if there are non-whitespace characters between beginning of line +and \(point\)" + (save-excursion + (let ((current-point (point))) + (beginning-of-line) + (re-search-forward "[^ \t]" current-point t) + ))) + +(defun following-non-ws-p () + "return t if there are non-whitespace characters on the line" + (save-excursion + (let ((current-point (point))) + (end-of-line) + (re-search-backward "[^ \t]+" current-point t) + ))) + +(defun line-of-whitespace-p () + "return t if the line consists of nothiing but whitespace, nil otherwise" + (save-excursion + (let ((eol (progn (end-of-line) (point)))) + (beginning-of-line) ;; should already be there anyway + (not (re-search-forward "[^ \t\n]" eol t))))) + +;; *************** bison-mode *************** + +;;;###autoload +(define-derived-mode bison-mode c-mode "Bison" + "Major mode for editing bison/yacc files." + + ;; try to set the indentation correctly + (setq c-basic-offset 4) + + (c-set-offset 'knr-argdecl-intro 0) + + ;; remove auto and hungry anything + (c-toggle-auto-hungry-state -1) + (c-toggle-auto-newline -1) + (c-toggle-hungry-state -1) + + (use-local-map bison-mode-map) + + (define-key bison-mode-map ":" 'bison-electric-colon) + (define-key bison-mode-map "|" 'bison-electric-pipe) + (define-key bison-mode-map "{" 'bison-electric-open-brace) + (define-key bison-mode-map "}" 'bison-electric-close-brace) + (define-key bison-mode-map ";" 'bison-electric-semicolon) + (define-key bison-mode-map "%" 'bison-electric-percent) + (define-key bison-mode-map "<" 'bison-electric-less-than) + (define-key bison-mode-map ">" 'bison-electric-greater-than) + + (define-key bison-mode-map [tab] 'bison-indent-line) + + (make-local-variable 'indent-line-function) + (setq indent-line-function 'bison-indent-new-line) + (make-local-variable 'comment-start) + (make-local-variable 'comment-end) + (setq comment-start "/*" + comment-end "*/") + (make-local-variable 'font-lock-keywords) + (setq font-lock-keywords nil) + (set (make-local-variable 'font-lock-defaults) '(bison-font-lock-keywords))) + + +;; *************** section parsers *************** + +(defun bison--section-p () + "Return the section that user is currently in" + (save-excursion + (let ((bound (point))) + (goto-char (point-min)) + (bison--section-p-helper bound)))) + +(defun bison--section-p-helper (bound) + (if (re-search-forward + (concat "^" bison--c-decls-section-opener) + bound t) + (if (re-search-forward + (concat "^" bison--c-decls-section-closer) + bound t) + (if (re-search-forward + (concat "^" bison--grammar-rules-section-delimeter) + bound t) + (if (re-search-forward + (concat "^" bison--grammar-rules-section-delimeter) + bound t) + bison--c-code-section + bison--grammar-rules-section) + bison--bison-decls-section) + bison--c-decls-section) + (if (re-search-forward + (concat "^" bison--grammar-rules-section-delimeter) + bound t) + (if (re-search-forward + (concat "^" bison--grammar-rules-section-delimeter) + bound t) + bison--c-code-section + bison--grammar-rules-section) + (if (re-search-forward + (concat "^" bison--c-decls-section-opener) + nil t) + bison--pre-c-decls-section + (if (re-search-forward + (concat "^" bison--grammar-rules-section-delimeter) + nil t) + bison--bison-decls-section + bison--pre-c-decls-section))))) + + +;; *************** syntax parsers *************** + +(defun bison--production-p () + "return t if the \(point\) rests immediately after a production" + (save-excursion + (let ((current-point (point))) + (beginning-of-line) + (let ((position (re-search-forward + bison--production-re current-point t))) + (and position + (not (previous-white-space-p)) + (= position current-point)))))) + +(defun bison--find-production-opener () + "return and goto the point of the nearest production opener above \(point\)" + (re-search-backward bison--production-re nil t)) + + +(defun bison--find-next-production () + "return the position of the beginning of the next production, +or nil if there isnt one" + (save-excursion + (if (re-search-forward bison--production-re nil t) + (progn + (beginning-of-line) + (point)) + nil))) + +(defun bison--find-grammar-end () + "return the position of the end of the grammar rules (assuming we are within +the grammar rules section), or nil if there isnt one" + (save-excursion + (if (re-search-forward + (concat "^" bison--grammar-rules-section-delimeter) + nil t) + (progn + (beginning-of-line) + (point)) + nil))) + +(defun bison--find-grammar-begin () + "return the position of the beginning of the grammar rules (assuming we are +within the grammar rules section), or nil if there isnt one" + (save-excursion + (if (re-search-backward + (concat "^" bison--grammar-rules-section-delimeter) + nil t) + (point) + nil))) + +(defun bison--within-started-production-p () + "is used by bison-electric-* functions to determine actions +return t if within a production, nil if not + +a point is within a production if there is some non whitespace text before +either the beginnings of another production or the end of the grammar rules" + (save-excursion + (let ((bound (cond ((bison--find-next-production)) + ((bison--find-grammar-end)) + (t nil)))) + (if bound + (let ((sval (re-search-forward + (concat "\\(\\s \\|" ;; whitespace or + ;; comments + (regexp-quote comment-start) + "\\(.\\|\n\\)*" ;; comment body + (regexp-quote comment-end) + "\\)+") ;; end or + bound t))) + (if sval + (not (= sval bound)) + nil)) + nil)))) + +(defun bison--within-some-sexp-p (starter ender) + "return t if the \(point\) is within the sexp marked by the re's STARTER and +ENDER" + (save-excursion + (let ((current-point (point))) + (if (re-search-backward starter nil t) ;; find nearest starter + ;; look for ender, if found, then not within sexp + (progn + (goto-char (match-end 0)) + (not (re-search-forward ender current-point t))))))) + +(defun bison--within-c-comment-p () + "return t if the point is within a c comment delimited by \"/*\" \"*/\"" + (bison--within-some-sexp-p (regexp-quote comment-start) + (regexp-quote comment-end))) + + +(defun bison--within-string-p (&optional point) + " +start from the beginning of the buffer and toggle state as un-escaped \"'s are +found." + (let ((point (or point (point))) + (in-p nil)) + (save-excursion + (goto-char (point-min)) + + (while (re-search-forward "[^\\]\"" point t) + (setq in-p (not in-p))) + + in-p))) + +;;; bison--within-braced-c-expression-p +;;; new and improved, no more recursion, does not break when literal strings +;;; contain un-matched braces +(defun bison--within-braced-c-expression-p (section) + "return t if the point is within an sexp delimited by braces \({,}\) +" + (save-excursion + (bison--within-braced-c-expression-p-h section (point)))) + +(defun bison--within-braced-c-expression-p-h (section low-pt) + " +Notes: +save excursion is done higher up, so i dont concern myself here. +" + (cond ((= section bison--pre-c-decls-section) nil) + ((= section bison--c-decls-section) + (let ((opener (save-excursion (search-backward "%{")))) + (bison--within-braced-c-expression-p-h-h opener low-pt))) + ((= section bison--bison-decls-section) + (let ((opener (save-excursion + (or (search-backward "%}" nil t) + (point-min))))) + (bison--within-braced-c-expression-p-h-h opener low-pt))) + ((= section bison--grammar-rules-section) + (let ((opener (save-excursion (bison--find-production-opener)))) + (if opener + (bison--within-braced-c-expression-p-h-h opener low-pt) + nil))) + ((= section bison--c-code-section) + t))) + +(defun bison--within-braced-c-expression-p-h-h (high-pt low-pt) + " +Notes: +HIGH-PT goes toward (point-min), LOW-PT goes toward (point-max) +save excursion is done higher up, so i dont concern myself here. +" + (let ((pt (point))) + (let ((success nil) (count 1) (done nil)) + ;; loop until open brace found, that is not in comment or string literal + (while (and (not done) + (re-search-backward "[^%]{" high-pt t count)) ;find nearest + ;starter + (goto-char (match-end 0)) + (if (or (bison--within-c-comment-p) + (bison--within-string-p)) + + (setq count (+ count 1)) + (progn + (setq success t) + (setq done t)))) + + (if success + (let ((end-pt + (condition-case nil + (progn + (backward-char) + (forward-sexp) + (point)) + (error nil)))) + (if end-pt + (if (> end-pt low-pt) + t ; then in braced-c-exp + nil) + t)) ; if no sexp close brace, then w/in + nil)))) + + +(defun bison--bison-decl-opener-p (bol eol) + "return t if the current line is a bison declaration starter +\(i.e. has a %type, %token, %right, ...\)" + (save-excursion + (goto-char bol) + (re-search-forward + (concat "^" (regexp-opt (copy-sequence bison--declarers))) eol t))) + +(defun bison--production-opener-p (bol eol) + "return t if the current line is a line that introduces a new production" + (save-excursion + (goto-char bol) + (re-search-forward bison--production-re eol t))) + +(defun bison--find-bison-semicolon () + "return the position of next semicolon not within braces, nil otherwise" + (save-excursion + (if (search-forward ";" nil t) + (if (not (bison--within-braced-c-expression-p (bison--section-p))) + (point) + (bison--find-bison-semicolon)) + nil))) + +(defun bison--within-production-body-p (section) + "return t if the \(point\) is within the body of a production + +this procedure will fail if it is in a production header" + (save-excursion + (if (= section bison--grammar-rules-section) + (let ((current-point (point))) + (if (re-search-backward bison--production-re nil t) + t + nil)) + nil))) + +(defun bison--production-alternative-p (bol eol section) + "return t if the current line contains a \"|\" used to designate a rule +alternative" + (save-excursion + (goto-char bol) + (if (search-forward "|" eol t) + (not (bison--within-braced-c-expression-p section)) + nil))) + + +;; *************** indent functions *************** + +(defun bison--handle-indent-c-sexp (section indent-column bol) + (let* ((o-brace (re-search-backward "[^%]{" bol t)) + ) + (if o-brace + (if (save-excursion + (goto-char o-brace) + (bison--within-braced-c-expression-p section)) + (c-indent-line) + (if (= (current-indentation) o-brace) ;; if o-brace is first char + (if (not (= o-brace indent-column)) ;; but not in right spot + (progn + (back-to-indentation) + (just-no-space) + (indent-to-column indent-column)) + ;; else all is good + ) + ;; else, non-ws before o-brace, leave it alone + )) + (c-indent-line)))) + +(defun bison-indent-new-line (&optional c-sexp) + "Indent a fresh line of bison code + +assumes indenting a new line, i.e. at column 0 +" + (interactive) + + (let* ((section (bison--section-p)) + (c-sexp (or c-sexp (bison--within-braced-c-expression-p section))) + ) + (cond + (c-sexp + (cond + ((= section bison--grammar-rules-section) + (c-indent-line + (save-excursion + (forward-line -1) + (let ((bol (save-excursion (beginning-of-line) (point))) + (eol (save-excursion (end-of-line) (point)))) + (if (bison--production-opener-p bol eol) + (list + (cons 'defun-block-intro + (progn + (re-search-forward bison--production-re) ; SIGERR + (- (re-search-forward "[^ \t]") ; SIGERR + 1)))) + nil))))) + (t (c-indent-line)))) + ((= section bison--pre-c-decls-section) + (c-indent-line)) + ((= section bison--bison-decls-section) + (indent-to-column bison-decl-token-column)) + ((= section bison--grammar-rules-section) + (indent-to-column + (save-excursion + (let* ((bound (or (save-excursion (bison--find-production-opener)) + (bison--find-grammar-begin))) + (prev-semi (search-backward ";" bound t)) + ) + (if prev-semi + (if (bison--within-braced-c-expression-p section) ; CRACK + bison-rule-enumeration-column + 0) + (if (save-excursion (bison--find-production-opener)) + bison-rule-enumeration-column + 0)))))) + ((= section bison--c-code-section)) ;;leave-alone + ))) + +(defun bison-indent-line () + "Indent a line of bison code." + (interactive) + + (let* ((pos (- (point-max) (point))) + (reset-pt (function (lambda () + (if (> (- (point-max) pos) (point)) + (goto-char (- (point-max) pos)))))) + (bol (save-excursion (beginning-of-line) (point))) + (eol (save-excursion (end-of-line) (point))) + ) + (let* ((section (bison--section-p)) + (c-sexp (bison--within-braced-c-expression-p section)) + (ws-line (line-of-whitespace-p)) + ) + (cond + ;; if you are a line of whitespace, let indent-new-line take care of it + (ws-line + (bison-indent-new-line c-sexp)) + + ((= section bison--pre-c-decls-section) + ;; leave things alone + ) + + ((= section bison--c-decls-section) + (if c-sexp + (bison--handle-indent-c-sexp section 0 bol) + (if (not (= (current-indentation) 0)) + (progn + (back-to-indentation) + (just-no-space) + (funcall reset-pt))))) + + ((= section bison--bison-decls-section) + (let ((opener (bison--bison-decl-opener-p bol eol))) + (cond + (opener + (goto-char opener) + (skip-chars-forward " \t" eol) + (if (looking-at "{") + (save-excursion + (if (following-non-ws-p) + (progn + (forward-char 1) + (just-no-space) + (newline) + (bison-indent-new-line t)))) + (let ((complete-type t)) + (if (looking-at "<") + (progn + (setq complete-type nil) + (if (not (= (current-column) bison-decl-type-column)) + (progn + (just-no-space) + (indent-to-column bison-decl-type-column)) + (and (re-search-forward + (concat "<" bison--word-constituent-re "+>") + eol t) + (setq complete-type t))))) + (and complete-type + (skip-chars-forward " \t" eol) + (looking-at + (concat "\\(" bison--word-constituent-re "\\|'\\)")) + (if (not (= (current-column) bison-decl-token-column)) + (progn + (just-no-space) + (indent-to-column bison-decl-token-column)))))) + (funcall reset-pt)) + (c-sexp + (bison--handle-indent-c-sexp section 0 bol)) + (t + (back-to-indentation) + ;; only tab in names, leave comments alone + (cond (;; put word-constiuents in bison-decl-token-column + (looking-at bison--word-constituent-re) + (if (not (= (current-column) bison-decl-token-column)) + (progn + (just-no-space) + (indent-to-column bison-decl-token-column)))) + ;; put/keep close-brace in the 0 column + ((looking-at "}") + (if (not (= (current-column) 0)) + (just-no-space))) + ;; leave comments alone + ((looking-at (regexp-quote comment-start)) nil) + ;; else do nothing + ) + (funcall reset-pt))))) + ((= section bison--grammar-rules-section) + (cond + ((bison--production-opener-p bol eol) + (beginning-of-line) + (re-search-forward bison--production-re);; SIGERR + (if (following-non-ws-p) + (if (> (current-column) bison-rule-enumeration-column) + (progn + (just-no-space) + (newline) + (indent-to-column bison-rule-enumeration-column)) + (save-excursion + (re-search-forward bison--word-constituent-re);; SIGERR + (let ((col (current-column))) + (cond ((> col (+ 1 bison-rule-enumeration-column)) + (forward-char -1) + (just-no-space) + (indent-to-column bison-rule-enumeration-column)) + ((< col (+ 1 bison-rule-enumeration-column)) + (forward-char -1) + (indent-to-column + bison-rule-enumeration-column))))))) + (funcall reset-pt)) + ((bison--production-alternative-p bol eol section) + (back-to-indentation);; should put point on "|" + (if (not (= (current-column) bison-rule-separator-column)) + (progn + (just-no-space) + (indent-to-column bison-rule-separator-column))) + (forward-char 1) + (if (following-non-ws-p) + (save-excursion + (re-search-forward bison--word-constituent-re);; SIGERR + (let ((col (current-column))) + (cond ((> col (+ 1 bison-rule-enumeration-column)) + (forward-char -1) + (just-no-space) + (indent-to-column bison-rule-enumeration-column)) + ((< col (+ 1 bison-rule-enumeration-column)) + (forward-char -1) + (indent-to-column + bison-rule-enumeration-column)))))) + (funcall reset-pt)) + (c-sexp + (bison--handle-indent-c-sexp + section bison-rule-enumeration-column bol) + (funcall reset-pt)) + ((bison--within-production-body-p section) + (back-to-indentation) + (if (not (= (current-column) bison-rule-enumeration-column)) + (progn + (just-no-space) + (indent-to-column + bison-rule-enumeration-column))) + (funcall reset-pt)) + (t + (let ((cur-ind (current-indentation))) + (if (eq (save-excursion (search-backward "}" bol t)) + cur-ind) + (if (not (= cur-ind bison-rule-enumeration-column)) + (progn + (back-to-indentation) + (just-no-space) + (indent-to-column bison-rule-enumeration-column) + (funcall reset-pt))) + ;; else leave alone + ))))) + ((= section bison--c-code-section) + (c-indent-line)) + )))) + +;; *************** electric-functions *************** + +(defun bison-electric-colon (arg) + "If the colon <:> delineates a production, + then insert a semicolon on the next line in the BISON-RULE-SEPARATOR-COLUMN, + put the cursor in the BISON-RULE-ENUMERATION-COLUMN for the beginning + of the rule + else just run self-insert-command +A colon delineates a production by the fact that it is immediately preceded by +a word(alphanumerics or '_''s), and there is no previous white space. +" + (interactive "P") + + (self-insert-command (prefix-numeric-value arg)) + (if (and bison-electric-colon-v + (not bison-all-electricity-off)) + (if (and (= bison--grammar-rules-section (bison--section-p)) + (bison--production-p) + (not (bison--within-started-production-p))) + (progn + (save-excursion ; put in a closing semicolon + (newline) + (indent-to-column bison-rule-separator-column) + (insert ";")) + (save-excursion ; remove opening whitespace + (if (re-search-backward + "\\s " + (save-excursion (beginning-of-line) (point)) + t) + (just-no-space))) + (if (not (< (current-column) bison-rule-enumeration-column)) + (newline)) + (indent-to-column bison-rule-enumeration-column))))) + +(defun bison-electric-pipe (arg) + "If the pipe <|> is used as a rule separator within a production, + then move it into BISON-RULE-SEPARATOR-COLUMN + indent to BISON-RULE-ENUMERATION-COLUMN on the same line + else just run self-insert-command +" + (interactive "P") + + (if (and bison-electric-pipe-v + (not bison-all-electricity-off) + (= bison--grammar-rules-section (bison--section-p)) + (line-of-whitespace-p) + ) + (progn + (beginning-of-line) + (just-no-space) + (indent-to-column bison-rule-separator-column) + (self-insert-command (prefix-numeric-value arg)) + (indent-to-column bison-rule-enumeration-column) + ) + (self-insert-command (prefix-numeric-value arg)))) + +(defun bison-electric-open-brace (arg) + "used for the opening brace of a C action definition for production rules, +if there is only whitespace before \(point\), then put open-brace in +bison-rule-enumeration-column" + (interactive "P") + + (if (and bison-electric-open-brace-v + (not bison-all-electricity-off)) + (let ((section (bison--section-p))) + (cond ((and (= section bison--grammar-rules-section) + (not (bison--within-braced-c-expression-p section)) + (not (previous-non-ws-p))) + (if (not (= (current-column) bison-rule-enumeration-column)) + (progn + (just-no-space) + (indent-to-column bison-rule-enumeration-column)))) + ((and (= section bison--bison-decls-section) + (not (bison--within-braced-c-expression-p section)) + (not (previous-non-ws-p))) + (if (not (= (current-column) 0)) + (progn + (just-no-space) + (indent-to-column 0))))))) + + (self-insert-command (prefix-numeric-value arg))) + + +(defun bison-electric-close-brace (arg) + "If the close-brace \"}\" is used as the c-declarations section closer +in \"%}\", then make sure the \"%}\" indents to the beginning of the line" + (interactive "P") + + (self-insert-command (prefix-numeric-value arg)) + + (if (and bison-electric-close-brace-v + (not bison-all-electricity-off)) + (cond ((search-backward "%}" (- (point) 2) t) + (if (= (bison--section-p) bison--c-decls-section) + (progn + (just-no-space) + (forward-char 2)) ; for "%}" + (forward-char 1))) + ))) + +(defun bison-electric-semicolon (arg) + "if the semicolon is used to end a production, then place it in +bison-rule-separator-column + +a semicolon is deemed to be used for ending a production if it is not found +within braces + +this is just self-insert-command as i have yet to write the actual +bison-electric-semicolon function yet +" + (interactive "P") + + (self-insert-command (prefix-numeric-value arg))) + +(defun bison-electric-percent (arg) + "If the percent is a declarer in the bison declaration's section, +then put it in the 0 column." + (interactive "P") + + (if (and bison-electric-percent-v + (not bison-all-electricity-off)) + (let ((section (bison--section-p))) + (if (and (= section bison--bison-decls-section) + (not (bison--within-braced-c-expression-p section)) + (not (previous-non-ws-p)) + (not (= (current-column) 0))) + (just-no-space)))) + + (self-insert-command (prefix-numeric-value arg))) + +(defun bison-electric-less-than (arg) + "If the less-than is a type declarer opener for tokens in the bison +declaration section, then put it in the bison-decl-type-column column." + (interactive "P") + + (if (and bison-electric-less-than-v + (not bison-all-electricity-off)) + (if (and (= (bison--section-p) bison--bison-decls-section) + (bison--bison-decl-opener-p + (save-excursion (beginning-of-line) (point)) + (point))) + (progn + (just-no-space) + (indent-to-column bison-decl-type-column)))) + + (self-insert-command (prefix-numeric-value arg))) + +(defun bison-electric-greater-than (arg) + "If the greater-than is a type declarer closer for tokens in the bison +declaration section, then indent to bison-decl-token-column." + (interactive "P") + + (self-insert-command (prefix-numeric-value arg)) + + (if (and bison-electric-greater-than-v + (not bison-all-electricity-off)) + (let ((current-pt (point)) + (bol (save-excursion (beginning-of-line) (point)))) + (if (and (= (bison--section-p) bison--bison-decls-section) + (bison--bison-decl-opener-p bol (point))) + (if (search-backward "<" bol t) + (if (re-search-forward + (concat "<" bison--word-constituent-re "+>") + current-pt t) + (if (not (following-non-ws-p)) + (progn + (just-no-space) + (indent-to-column bison-decl-token-column))))))))) + +;;;###autoload +(define-derived-mode jison-mode bison-mode "jison" + "Major mode for editing jison files.") +;;;###autoload +(define-derived-mode flex-mode bison-mode "flex" + "Major mode for editing flex files. (bison-mode by any other name)") + +(provide 'bison-mode) +(provide 'jison-mode) +(provide 'flex-mode) + +;;; bison-mode.el ends here diff --git a/.config/doom/packages.el b/.config/doom/packages.el index 167e99d7..f54cde9e 100644 --- a/.config/doom/packages.el +++ b/.config/doom/packages.el @@ -6,7 +6,44 @@ (package! org-fancy-priorities) (package! move-text) (package! vue-mode) -(package! org-super-agenda) (package! deadgrep) (package! sql-indent) (package! org-brain) +(package! calibredb) +(package! nov) +(package! xkcd) +(package! elcord) +(package! tiny) +(package! evil-escape :disable t) +(package! lexic :recipe (:local-repo "lisp/lexic")) + +;; Latex Is Clearly Superior Right??? +(package! aas :recipe (:host github :repo "ymarco/auto-activating-snippets")) +(package! laas :recipe (:local-repo "lisp/LaTeX-auto-activating-snippets")) +(package! auctex) +(package! calctex :recipe (:host github :repo "johnbcoughlin/calctex" + :files ("*.el" "calctex/*.el" "calctex-contrib/*.el" "org-calctex/*.el" "vendor"))) + +;; Org-Mode related +(package! org-super-agenda) +(package! org-caldav) +(package! doct + :recipe (:host github :repo "progfolio/doct")) +(package! org-pretty-table + :recipe (:host github :repo "Fuco1/org-pretty-table")) +(package! org-fragtog) +(package! org-appear :recipe (:host github :repo "awth13/org-appear")) +(package! org-pretty-tags) +(package! org-ol-tree :recipe (:host github :repo "Townk/org-ol-tree")) +(package! org-chef) ;; Real chefs use emacs + +(package! javadoc-help) +(package! nand-hdl-mode + :recipe (:host github :repo "nverno/nand-hdl-mode")) + +(package! browse-kill-ring) +(package! olivetti) +(package! ox-hugo) +(package! polymode) +(package! counsel-org-clock) +(package! mathpix.el :recipe (:host github :repo "jethrokuan/mathpix.el")) diff --git a/.config/doom/templates/template.c b/.config/doom/templates/template.c new file mode 100644 index 00000000..ed90990a --- /dev/null +++ b/.config/doom/templates/template.c @@ -0,0 +1,13 @@ +/* +* `(buffer-name)` +* +* Created by `(user-full-name)` on `(format-time-string "%d/%m/%Y")`. +* Copyright `user-mail-address`. `(format-time-string "%Y")`. All rights reserved. +*/ + +#include + +int main(int argc, char *argv[]) { + +} + diff --git a/.config/doom/templates/template.cpp b/.config/doom/templates/template.cpp new file mode 100644 index 00000000..15c59893 --- /dev/null +++ b/.config/doom/templates/template.cpp @@ -0,0 +1,13 @@ +/* +* `(buffer-name)` +* +* Created by `user-full-name` on `(format-time-string "%d/%m/%Y")`. +* Copyright `user-mail-address`. `(format-time-string "%Y")`. All rights reserved. +*/ + +#include + +int main(int argc, char *argv[]) { + +} + diff --git a/.config/doom/templates/template.el b/.config/doom/templates/template.el new file mode 100644 index 00000000..3aa6e92d --- /dev/null +++ b/.config/doom/templates/template.el @@ -0,0 +1,35 @@ +;;; `(buffer-name)` --- ${1:Description} + +;; Author: `user-full-name` `user-mail-address` +;; Keywords: $2 +;; URL: + +;; Copyright (C) `(format-time-string ""%Y"")`, `user-full-name`, all rights reserved. + +;; 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 . + +;;; Commentary: + +;; + +;;; Code: + +$0 +(provide '`(substring (buffer-name) 0 (- (length (buffer-name)) 3))`) + +;; Local Variables: +;; coding: utf-8 +;; End: + +;;; `(buffer-name)` ends here. diff --git a/.config/doom/templates/template.h b/.config/doom/templates/template.h new file mode 100644 index 00000000..b74ec46b --- /dev/null +++ b/.config/doom/templates/template.h @@ -0,0 +1,12 @@ +/* +* `(buffer-name)` +* +* Created by `(user-full-name)` on `(format-time-string "%d/%m/%Y")`. +* Copyright `user-mail-address`. `(format-time-string "%Y")`. All rights reserved. +*/ + +#ifndef `(replace-regexp-in-string (regexp-quote ".") "_" (buffer-name) nil 'literal))` +#define `(replace-regexp-in-string (regexp-quote ".") "_" (buffer-name) nil 'literal))` + + +#endif /* `(replace-regexp-in-string (regexp-quote .) _ buffer-name nil 'literal))` */ diff --git a/.local/share/vim/templates/skeleton.html b/.config/doom/templates/template.html similarity index 100% rename from .local/share/vim/templates/skeleton.html rename to .config/doom/templates/template.html diff --git a/.config/doom/templates/template.java b/.config/doom/templates/template.java new file mode 100644 index 00000000..63e15f1c --- /dev/null +++ b/.config/doom/templates/template.java @@ -0,0 +1,12 @@ +/* +* `(buffer-name)` +* +* Created by `(user-full-name)` on `(format-time-string "%d/%m/%Y")`. +* Copyright `user-mail-address`. `(format-time-string "%Y")`. All rights reserved. +*/ + +class Untitled { + public static void main(String[] args) { + + } +} diff --git a/.config/doom/templates/template.org b/.config/doom/templates/template.org new file mode 100644 index 00000000..a0390125 --- /dev/null +++ b/.config/doom/templates/template.org @@ -0,0 +1,13 @@ +# -*- coding:utf-8 -*- +#+LANGUAGE: en +#+TITLE: ${1:`(file-name-nondirectory (buffer-file-name))`} +#+AUTHOR: `user-full-name` +#+EMAIL: `user-mail-address` +#+DATE: `(format-time-string "%Y-%m-%d %a" )` +#+DESCRIPTION:$1 +#+KEYWORDS: $2 +#+TAGS:$3 +#+FILETAGS: $4 +#+OPTIONS: H:2 num:nil toc:t \n:t @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil +#+LATEX_HEADER: \usepackage{fontspec} diff --git a/.config/doom/templates/template.py b/.config/doom/templates/template.py new file mode 100644 index 00000000..be392e4d --- /dev/null +++ b/.config/doom/templates/template.py @@ -0,0 +1,14 @@ +#!/bin/python +# +# `(buffer-name)` +# +# Created by `(user-full-name)` on `(format-time-string "%d/%m/%Y")`. +# Copyright `user-mail-address`. `(format-time-string "%Y")`. All rights reserved. +# + +def main(): + print("hello world") + + +if __name__ == "__main__": + main() diff --git a/.config/doom/templates/template.sh b/.config/doom/templates/template.sh new file mode 100644 index 00000000..06364126 --- /dev/null +++ b/.config/doom/templates/template.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# `(buffer-name)` +# +# Created by `(user-full-name)` on `(format-time-string "%d/%m/%Y")`. +# Copyright `user-mail-address`. `(format-time-string "%Y")`. All rights reserved. + diff --git a/.local/share/vim/templates/skeleton.tex b/.config/doom/templates/template.tex similarity index 59% rename from .local/share/vim/templates/skeleton.tex rename to .config/doom/templates/template.tex index 89f08da6..706b717d 100644 --- a/.local/share/vim/templates/skeleton.tex +++ b/.config/doom/templates/template.tex @@ -1,11 +1,9 @@ % -% [:VIM_EVAL:]expand('%:t')[:END_EVAL:] -% [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:] +% `(buffer-name)` % -% Created by Yigit Colakoglu on [:VIM_EVAL:]strftime('%m/%d/%y')[:END_EVAL:]. -% Copyright [:VIM_EVAL:]strftime('%Y')[:END_EVAL:]. Yigit Colakoglu. All rights reserved. +% Created by `(user-full-name)` on `(format-time-string "%d/%m/%Y")`. +% Copyright `user-mail-address`. `(format-time-string "%Y")`. All rights reserved. % - \RequirePackage[l2tabu, orthodox]{nag} \documentclass[12pt]{article} diff --git a/.config/doom/themes/doom-material-ocean-theme.el b/.config/doom/themes/doom-material-ocean-theme.el index 43e2dd0f..ef93f372 100644 --- a/.config/doom/themes/doom-material-ocean-theme.el +++ b/.config/doom/themes/doom-material-ocean-theme.el @@ -1,4 +1,4 @@ -;;; doom-material-theme.el --- inspired by Material Theme by equinusocio -*- no-byte-compile: t; -*- +;;; doom-material-ocean-theme.el --- inspired by VIM Challenger Deep -*- no-byte-compile: t; -*- (require 'doom-themes) ;; @@ -6,151 +6,165 @@ "Options for doom-themes" :group 'doom-themes) +(defcustom doom-material-ocean-brighter-modeline nil + "If non-nil, more vivid colors will be used to style the mode-line." + :group 'doom-material-ocean-theme + :type 'boolean) + +(defcustom doom-material-ocean-brighter-comments nil + "If non-nil, comments will be highlighted in more vivid colors." + :group 'doom-material-ocean-theme + :type 'boolean) + +(defcustom doom-material-ocean-comment-bg doom-material-ocean-brighter-comments + "If non-nil, comments will have a subtle, darker background. Enhancing their +legibility." + :group 'doom-material-ocean-theme + :type 'boolean) + (defcustom doom-material-ocean-padded-modeline doom-themes-padded-modeline - "If non-nil, adds a 4px padding to the mode-line. -Can be an integer to determine the exact padding." + "If non-nil, adds a 4px padding to the mode-line. Can be an integer to +determine the exact padding." :group 'doom-material-ocean-theme :type '(choice integer boolean)) ;; (def-doom-theme doom-material-ocean - "A dark theme inspired by Material Theme by equinusocio" + "A dark theme inspired by VIM Challenger Deep" ;; name default 256 16 - ((bg '("#0F111A" nil nil)) - (bg-alt '("#00010A" nil nil)) - (base0 '("#171F24" "black" "black")) - (base1 '("#1C262B" "#262626" "brightblack")) - (base2 '("#222D32" "#303030" "brightblack")) - (base3 '("#171F24" "#3a3a3a" "brightblack")) - (base4 '("#314048" "#444444" "brightblack")) - (base5 '("#37474F" "#585858" "brightblack")) - (base6 '("#556369" "#626262" "brightblack")) - (base7 '("#737E84" "#767676" "brightblack")) - (base8 '("#9BA3A7" "#a8a8a8" "white")) - (fg '("#E5E9F0" "#e4e4e4" "brightwhite")) - (fg-alt '("#BFC7D5" "#bcbcbc" "white")) - - (grey base5) - - (red '("#BF616A" "#ff0000" "red")) - (orange '("#f78c6c" "#ff5f00" "brightred")) - (green '("#A3BE8C" "#afff00" "green")) - (teal '("#44b9b1" "#00d7af" "brightgreen")) - (yellow '("#EBCB8B" "#ffd700" "brightyellow")) - (blue '("#88C0D0" "#5fafff" "brightblue")) - (dark-blue '("#81A1C1" "#d7ffff" "blue")) - (magenta '("#A48EAD" "#d787d7" "brightmagenta")) - (violet '("#bb80b3" "#d787af" "magenta")) - (cyan '("#89DDFF" "#5fd7ff" "brightcyan")) - (dark-cyan '("#80cbc4" "#00d7af" "cyan")) + ((bg '("#0F111A" "#121212" nil )) + (bg-alt '("#00010A" "#111111" nil )) + (base0 '("#100E23" "#080808" "black" )) + (base1 '("#292F37" "#262626" "brightblack" )) + (base2 '("#3D4551" "#3A3A3A" "brightblack" )) + (base3 '("#4C4B68" "#444466" "brightblack" )) + (base4 '("#565575" "#555577" "brightblack" )) + (base5 '("#858FA5" "#8888AA" "brightblack" )) + (base6 '("#9BA7BF" "#99AABB" "brightblack" )) + (base7 '("#B0BED8" "#BBBBDD" "brightblack" )) + (base8 '("#BAC9E4" "#BBCCEE" "white" )) + (fg-alt '("#B2B2B2" "#BBBBBB" "brightwhite" )) + (fg '("#CBE3E7" "#CCEEEE" "white" )) + + (grey base4) + (red '("#FF8080" "#FF8888" "red" )) + (orange '("#FFB378" "#FFBB77" "brightred" )) + (green '("#95FFA4" "#99FFAA" "green" )) + (teal '("#63F2F1" "#66FFFF" "brightgreen" )) + (yellow '("#FFE9AA" "#FFEEAA" "yellow" )) + (blue '("#91DDFF" "#99DDFF" "brightblue" )) + (dark-blue '("#65B2FF" "#66BBFF" "blue" )) + (magenta '("#C991E1" "#CC99EE" "magenta" )) + (violet '("#906CFF" "#9966FF" "brightmagenta")) + (cyan '("#AAFFE4" "#AAFFEE" "brightcyan" )) + (dark-cyan '("#62D196" "#66DD99" "cyan" )) ;; face categories -- required for all themes - (highlight magenta) - (vertical-bar base2) - (selection base4) - (builtin blue) - (comments base6) - (doc-comments base6) - (constants orange) - (functions blue) - (keywords cyan) - (methods blue) - (operators cyan) - (type magenta) - (strings green) + (highlight violet) + (vertical-bar base1) + (selection violet) + (builtin magenta) + (comments (if doom-material-ocean-brighter-comments dark-blue base4)) + (doc-comments (if doom-material-ocean-brighter-comments (doom-darken dark-cyan 0.3) base5) ) + (constants cyan) + (functions magenta) + (keywords red) + (methods magenta) + (operators teal) + (type blue) + (strings yellow) (variables yellow) (numbers orange) - (region base3) + (region base2) (error red) (warning yellow) (success green) - (vc-modified blue) + (vc-modified orange) (vc-added green) (vc-deleted red) ;; custom categories - (modeline-bg base2) - (modeline-bg-alt (doom-darken bg 0.01)) - (modeline-fg base8) - (modeline-fg-alt comments) - + (hidden `(,(car bg) "black" "black")) + (-modeline-bright doom-material-ocean-brighter-modeline) (-modeline-pad (when doom-material-ocean-padded-modeline - (if (integerp doom-material-ocean-padded-modeline) doom-material-ocean-padded-modeline 4)))) + (if (integerp doom-material-ocean-padded-modeline) doom-material-ocean-padded-modeline 4))) - ;; --- base faces ------------------------ - (((lazy-highlight &override) :background base4 :foreground fg :distant-foreground fg :bold bold) - (doom-modeline-buffer-path :foreground green :weight 'bold) - (doom-modeline-buffer-major-mode :inherit 'doom-modeline-buffer-path) + (modeline-fg nil) + (modeline-fg-alt base5) - ;; highlight-thing highlight-symbol - (highlight-symbol-face :background region :distant-foreground fg-alt) + (modeline-bg + (if -modeline-bright + base3 + `(,(doom-darken (car bg) 0.1) ,@(cdr base0)))) + (modeline-bg-l + (if -modeline-bright + base3 + `(,(doom-darken (car bg) 0.15) ,@(cdr base0)))) + (modeline-bg-inactive `(,(car bg) ,@(cdr base1))) + (modeline-bg-inactive-l (doom-darken bg 0.1))) - ;; highlight-thing - (highlight-thing :background region :distant-foreground fg-alt) - (mode-line - :background modeline-bg :foreground modeline-fg - :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg))) - (mode-line-inactive - :background modeline-bg-alt :foreground modeline-fg-alt - :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt))) + ;; --- extra faces ------------------------ + (((secondary-selection &override) :background base0) + (elscreen-tab-other-screen-face :background "#353a42" :foreground "#1e2022") - (fringe :background base2) + ((line-number &override) :foreground base4) + ((line-number-current-line &override) :foreground fg) - ;; --- major-mode faces ------------------------ - ;; man-mode - (Man-overstrike :inherit 'bold :foreground magenta) - (Man-underline :inherit 'underline :foreground blue) + (font-lock-comment-face + :foreground comments + :background (if doom-material-ocean-comment-bg (doom-lighten bg 0.05))) + (font-lock-doc-face + :inherit 'font-lock-comment-face + :foreground doc-comments) - ;; org-mode - ((org-block &override) :background base2) - ((org-block-background &override) :background base2) - ((org-block-begin-line &override) :background base2) + (doom-modeline-bar :background (if -modeline-bright modeline-bg highlight)) - ;; --- plugin faces ------------------- + (mode-line + :background modeline-bg :foreground modeline-fg + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg))) + (mode-line-inactive + :background modeline-bg-inactive :foreground modeline-fg-alt + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive))) + (mode-line-emphasis + :foreground (if -modeline-bright base8 highlight)) + + (solaire-mode-line-face + :inherit 'mode-line + :background modeline-bg-l + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-l))) + (solaire-mode-line-inactive-face + :inherit 'mode-line-inactive + :background modeline-bg-inactive-l + :box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-inactive-l))) + + ;; --- major-mode faces ------------------- ;; css-mode / scss-mode (css-proprietary-property :foreground orange) (css-property :foreground green) (css-selector :foreground blue) - ;; dired-k - (dired-k-commited :foreground base4) - (dired-k-modified :foreground vc-modified) - (dired-k-ignored :foreground cyan) - (dired-k-added :foreground vc-added) - - ;; ivy - (ivy-current-match :background base5) - - ;; js2-mode - (js2-jsdoc-tag :foreground magenta) - (js2-object-property :foreground yellow) - (js2-object-property-access :foreground cyan) - (js2-function-param :foreground violet) - (js2-jsdoc-type :foreground base8) - (js2-jsdoc-value :foreground cyan) - - ;; lsp - (lsp-headerline-breadcrumb-symbols-face :foreground base7) - - ;; rainbow-delimiters - (rainbow-delimiters-depth-1-face :foreground magenta) - (rainbow-delimiters-depth-2-face :foreground orange) - (rainbow-delimiters-depth-3-face :foreground green) - (rainbow-delimiters-depth-4-face :foreground cyan) - (rainbow-delimiters-depth-5-face :foreground violet) - (rainbow-delimiters-depth-6-face :foreground yellow) - (rainbow-delimiters-depth-7-face :foreground blue) - (rainbow-delimiters-depth-8-face :foreground teal) - (rainbow-delimiters-depth-9-face :foreground dark-cyan) - - ;; rjsx-mode - (rjsx-tag :foreground red) - (rjsx-attr :foreground yellow :slant 'italic :weight 'medium) + ;; markdown-mode + (markdown-markup-face :foreground base5) + (markdown-header-face :inherit 'bold :foreground red) + ((markdown-code-face &override) :background (doom-lighten base3 0.05)) + + ;; outline (affects org-mode) + ((outline-1 &override) :foreground blue :background nil) + + ;; org-mode + ((org-block &override) :background base1) + ((org-block-begin-line &override) :background base1 :foreground comments) + (org-hide :foreground hidden) + (org-link :foreground orange :underline t :weight 'bold) ;; tooltip - (tooltip :background (doom-darken bg-alt 0.2) :foreground fg))) + (tooltip :background base0 :foreground fg)) + + ;; --- extra variables --------------------- + ;; () + ) -(provide 'doom-material-ocean-theme) +;;; doom-material-ocean-theme.el ends here diff --git a/.config/mutt/muttrc b/.config/mutt/muttrc index 05cf59f5..158ee3ed 100644 --- a/.config/mutt/muttrc +++ b/.config/mutt/muttrc @@ -2,6 +2,7 @@ source /home/yigit/.config/mutt/accounts/1-yigitcolakoglu@hotmail.com.muttrc source /home/yigit/.config/mutt/colors.muttrc source /home/yigit/.config/mutt/keys.muttrc +set editor="/usr/bin/nvim" set mailcap_path = /home/yigit/.config/mutt/mailcap:$mailcap_path set mime_type_query_command = "file --mime-type -b %s" set date_format="%y/%m/%d %I:%M%p" diff --git a/.config/nextcloud/nextcloud b/.config/nextcloud/nextcloud index 8f0b99c0..e1973a41 100755 --- a/.config/nextcloud/nextcloud +++ b/.config/nextcloud/nextcloud @@ -15,8 +15,6 @@ declare -A mappings mappings=( ["$NEXTCLOUD_URL/Documents"]="$HOME/Documents" ["$NEXTCLOUD_URL/Photos"]="$HOME/Pictures" - ["$NEXTCLOUD_URL/Private"]="$HOME/Nextcloud/Private" - ["$NEXTCLOUD_URL/Books"]="$HOME/Nextcloud/Books" ["$NEXTCLOUD_URL/InstantUpload"]="$HOME/Nextcloud/InstantUpload" ["$NEXTCLOUD_URL/Past Papers"]="$HOME/Nextcloud/Past Papers" ["$NEXTCLOUD_URL/InstantUpload"]="$HOME/Nextcloud/InstantUpload" diff --git a/.config/nvim/plugin/plugins.vim b/.config/nvim/plugin/plugins.vim index 26ec18aa..3855fe7f 100644 --- a/.config/nvim/plugin/plugins.vim +++ b/.config/nvim/plugin/plugins.vim @@ -5,7 +5,6 @@ Plug 'kaicataldo/material.vim' Plug 'itchyny/lightline.vim' Plug 'mengelbrecht/lightline-bufferline' Plug 'lambdalisue/nerdfont.vim' -Plug 'vimwiki/vimwiki' " Addons Plug 'scrooloose/nerdtree' @@ -45,8 +44,4 @@ Plug 'leafgarland/typescript-vim' Plug 'vim-scripts/cool.vim' Plug 'justinmk/vim-syntax-extra' Plug 'arrufat/vala.vim' - -" Syntax errors -Plug 'ntpeters/vim-better-whitespace' - call plug#end() diff --git a/.config/vim/vimrc b/.config/vim/vimrc index 4677fe64..e8494e59 100644 --- a/.config/vim/vimrc +++ b/.config/vim/vimrc @@ -1,3 +1,10 @@ +"" __ _______ _____ _____ +"" \ \ / / ____| ____|_ _| +"" \ V /| _| | _| | | +"" | | | |___| |___ | | +"" |_| |_____|_____| |_| +"" Yeet's vim configuration + " XDG Base Directory Specification set runtimepath^=$XDG_CONFIG_HOME/vim set runtimepath+=$XDG_DATA_HOME/vim @@ -207,17 +214,11 @@ packadd termdebug if has("autocmd") " Use skeleton files augroup templates - autocmd BufNewFile *.* silent! execute '0r ~/.local/share/vim/templates/skeleton.'.expand(":e") + autocmd BufNewFile *.* silent! execute '0r ~/.config/vim/templates/skeleton.'.expand(":e") autocmd BufNewFile * %substitute#\[:VIM_EVAL:\]\(.\{-\}\)\[:END_EVAL:\]#\=eval(submatch(1))#ge augroup END autocmd BufWinLeave *.tex !texclear %:p " Run texclear on exit autocmd BufRead calcurse-note.* :set filetype=markdown " Use markdown for calcurse notes - - " Enable Goyo by default for mutt writing - autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80 - autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light - autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x! - autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q! endif diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index d460ca11..12d2c425 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -1,3 +1,11 @@ +## __ _______ _____ _____ +## \ \ / / ____| ____|_ _| +## \ V /| _| | _| | | +## | | | |___| |___ | | +## |_| |_____|_____| |_| +## Yeet's zsh configuration + + #zmodload zsh/zprof eval "$(direnv hook zsh)" >> $XDG_RUNTIME_DIR/direnv #welcome.sh diff --git a/.config/zsh/aliases b/.config/zsh/aliases index ec4905a2..b0affd75 100755 --- a/.config/zsh/aliases +++ b/.config/zsh/aliases @@ -14,6 +14,7 @@ alias ls="ls --color" alias yay="yay --sudoloop" alias lf=lf-ueberzug alias vimorig=$(which vim) + alias vim=nvim weechat(){ @@ -57,3 +58,10 @@ alias bon="sudo bash -c 'rc-service bluetooth start && rfkill unblock bluetooth' alias cx="chmod +x" alias lights_on="curl 'http://yeetclock/setcolor?R=136&G=192&B=208'" + + +alias v="nvim" +alias m='e --eval "(progn (magit-status) (delete-other-windows))"' +alias mt="m -t" +alias et="e -t" + diff --git a/.local/bin/backup b/.local/bin/backup index 2b333402..ec8b4214 100755 --- a/.local/bin/backup +++ b/.local/bin/backup @@ -11,6 +11,24 @@ readonly SSH_KEY="/home/yigit/.ssh/id_skeleton" readonly RSYNC_PROFILE="$SSH_USER@$SSH_HOST:~/snapshots" alias ssh_cmd="ssh -i \"$SSH_KEY\" $SSH_USER@$SSH_HOST" +[ -f "$XDG_CACHE_HOME/dbus_settings" ] && "$XDG_CACHE_HOME/dbus_settings" # Load the dbus settings for current session + +displays="$(ps -u $(id -u) -o pid= \ +| xargs -I PID -r cat /proc/PID/environ 2> /dev/null \ +| tr '\0' '\n' \ +| grep ^DISPLAY=: \ +| sort -u \ +| xargs \ +| cut -d ":" -f2)" +notify() { + IFS="\n" + for x in $displays; do + export DISPLAY=$x + notify-send --app-name="$1" "$2" + done ; +} + +notify " Periodic backup" "Backup is starting" DEVICE=tatooine OPT="-aPh" @@ -41,3 +59,7 @@ ssh_cmd rm -f "~/snapshots/$DEVICE/last" < /dev/null # Create new symlink to latest snapshot for the next backup to hardlink ssh -i "$SSH_KEY" $SSH_USER@$SSH_HOST ln -s "~/snapshots/$DEVICE/$date" "~/snapshots/$DEVICE/last" < /dev/null + +pidof slock > /dev/null && { + shutdown -h now +} diff --git a/.local/bin/calconsync b/.local/bin/calconsync index 947beaa1..822bc073 100755 --- a/.local/bin/calconsync +++ b/.local/bin/calconsync @@ -1,5 +1,6 @@ #!/bin/bash +pidof emacs && emacsclient -e '(org-caldav-sync)' # Sync emacs-caldav as well eval "$(grep -h -- \ "^\s*\(export \)\?\(MBSYNCRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\|XDG_DATA_HOME\|XDG_CONFIG_HOME\)=" \ "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ diff --git a/.local/bin/check-updates b/.local/bin/check-updates index cb2563e9..00269d60 100755 --- a/.local/bin/check-updates +++ b/.local/bin/check-updates @@ -1,19 +1,23 @@ #!/bin/sh -case "$(readlink -f /sbin/init)" in - *systemd*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; -esac +[ -f "$XDG_CACHE_HOME/dbus_settings" ] && "$XDG_CACHE_HOME/dbus_settings" # Load the dbus settings for current session ping -q -c 1 example.org > /dev/null || exit -pgrepoutput="$(pgrep -a X\(org\|wayland\))" -displays="$(echo "$pgrepoutput" | grep -wo "[0-9]*:[0-9]\+" | sort -u)" +displays="$(ps -u $(id -u) -o pid= \ +| xargs -I PID -r cat /proc/PID/environ 2> /dev/null \ +| tr '\0' '\n' \ +| grep ^DISPLAY=: \ +| sort -u \ +| xargs \ +| cut -d ":" -f2)" notify() { - [ -n "$pgrepoutput" ] && for x in ${displays:-:0}; do - export DISPLAY=$x - notify-send --app-name="auto-update" "$1" "$2" - done ; + IFS="\n" + for x in $displays; do + export DISPLAY=$x + notify-send --app-name="$1" "$2" + done ; } notify " Repository Sync" "Checking for package updates..." diff --git a/.local/bin/dmenu-emoji b/.local/bin/dmenu-emoji new file mode 100755 index 00000000..f5515596 --- /dev/null +++ b/.local/bin/dmenu-emoji @@ -0,0 +1,14 @@ +#!/bin/sh + +chosen=$(cut -d ';' -f1 ~/.local/share/emoji | dmenu -i -l 10 | sed "s/ .*//") + +[ -z "$chosen" ] && exit + +if [ -n "$1" ]; then + xdotool type "$chosen" +else + printf "$chosen" | xclip -selection clipboard + + printf %s "$chosen" | xdotool type --clearmodifiers --file - + notify-send -a "Character copied to clipboard" "'$chosen' copied to clipboard." & +fi diff --git a/.local/bin/dmenu-logout b/.local/bin/dmenu-logout index aebe6031..b66807a9 100755 --- a/.local/bin/dmenu-logout +++ b/.local/bin/dmenu-logout @@ -35,6 +35,8 @@ selection=$(printf '%s' "$items" | $DMENU) case $selection in logout) + firefox-sync & + kill -9 "$DBUS_SESSION_BUS_PID" kill -9 "$XSESSION_PID" ;; hibernate) diff --git a/.local/bin/dmenu-refresh b/.local/bin/dmenu-refresh index 3e49a5dc..01f91921 100755 --- a/.local/bin/dmenu-refresh +++ b/.local/bin/dmenu-refresh @@ -16,8 +16,9 @@ dunst clipmenud quark devmon +emacs mpd -mpd-mpris" +mpDris2" # Open menu selection=$(printf '%s' "$items" | $DMENU) @@ -43,14 +44,18 @@ case $selection in mpd & mpd-mpris & ;; - mpd-mpris) - kill -9 $(pidof mpd-mpris) - mpd-mpris & + mpDris2) + kill -9 $(pidof mpDris2) + mpDris2 & ;; dunst) kill -9 $(pidof dunst) dunst & ;; + emacs) + emacsclient -e '(kill-emacs)' + emacs --daemon && emacsclient -c --eval "(delete-frame)" + ;; devmon) pkill -f devmon ~/.local/bin/devmon --exec-on-drive "/sbin/notify-send '禍 drive mounted' '%l (%f) at %d '" \ diff --git a/.local/bin/dmenu-web b/.local/bin/dmenu-web new file mode 100755 index 00000000..ba961bac --- /dev/null +++ b/.local/bin/dmenu-web @@ -0,0 +1,107 @@ +#!/bin/sh + +# title: dmenu_websearch +# license: CC0 +# author: Sunur Efe Vural +# version: Mar 22, 2019 +# dependencies: dmenu, xdotool, hexdump, xprop, setxkbmap, coreutils. + +# A browser-independent address bar with bookmark support. When the +# cursor is on a web browser it acts as the address bar of that browser. + +engine='https://anon.sx/search?q=%s' +bookmarks="$HOME/.local/share/bookmarks" + +gotourl() { + if [ "$nbrowser" = surf ] + then + xprop -id "$winid" -f _SURF_GO 8s -set _SURF_GO "$choice" + elif [ -n "$winid" ] && [ -z "$nbrowser" ] + then + #change layout to us cuz xdotool spasms with non-latin layouts + layout=$(setxkbmap -query | awk '/^layout:/{ print $2 }') + setxkbmap -layout us + xdotool key --clearmodifiers "$shortcut"\ + type --clearmodifiers --delay 2 "$choice" + xdotool key --clearmodifiers Return + setxkbmap -layout "$layout" + elif [ -n "$nbrowser" ] + then + $nbrowser "$choice" + else $BROWSER "$choice" + fi +} + +searchweb() { + #convert search query to percent encoding and insert it into url + choice=$(echo "$choice" | hexdump -v -e '/1 " %02x"') + choice=$(echo "$engine" | sed "s/%s/${choice% 0a}/;s/[[:space:]]/%/g") + gotourl +} + +xprop -root | grep '^_NET_ACTIVE_WINDOW' && { + winid=$(xprop -root _NET_ACTIVE_WINDOW | sed 's/.*[[:space:]]//') + class=$(xprop -id "$winid" WM_CLASS | awk -F'\"' '{ print $(NF - 1) }') + case "$class" in + Firefox) nbrowser='firefox' ;; + #Firefox) shortcut='ctrl+l' ;; # alternative method, uses xdotool + IceCat) nbrowser='icecat' ;; + Chromium) nbrowser='chromium' ;; + Chrome) nbrowser='chrome' ;; + Opera) nbrowser='opera' ;; + Vivaldi) nbrowser='vivaldi' ;; # not tested + Brave) nbrowser='brave' ;; # not tested + Conkeror) nbrowser='conkeror' ;; # not tested + Palemoon) nbrowser='palemoon' ;; # not tested + Iceweasel) nbrowser='iceweasel' ;; # not tested + qutebrowser) nbrowser='qutebrowser' ;; + Midori) nbrowser='midori' ;; # not that good + Luakit) nbrowser='luakit' ;; # uses the last window instance + Uzbl|Vimb) shortcut='o' ;; + Links) shortcut='g' ;; + Netsurf*|Epiphany|Dillo|Konqueror|Arora) shortcut='ctrl+l' ;; + Surf) nbrowser='surf' ; uricur=$(xprop -id "$winid" _SURF_URI |\ + awk -F'\"' '{ print $( NF - 1 ) }') ;; + *) pid=$(xprop -id "$winid" _NET_WM_PID | awk '{ print $3 }') + while pgrep -oP "$pid" >/dev/null + do + pid=$(pgrep -oP "$pid") + done + pname=$(awk '/^Name\:/{ print $NF }' /proc/"$pid"/status) || + winid="" ;; + esac + [ -n "$pname" ] && case "$pname" in + w3m) shortcut="U" ;; + lynx|elinks|links) shortcut="g" ;; + *) winid="" ;; + esac +} + +tmpfile=$(mktemp /tmp/dmenu_websearch.XXXXXX) +trap 'rm "$tmpfile"' 0 1 15 +printf '%s\n%s\n' "$uricur" "$1" > "$tmpfile" +cat "$bookmarks" >> "$tmpfile" +sed -i -E '/^(#|$)/d' "$tmpfile" +choice=$(dmenu -i -p "Go:" -w "$winid" < "$tmpfile") || exit 1 + +# Detect links without protocol (This is WIP) +protocol='^(https?|ftps?|mailto|about|file):///?' +checkurl() { + grep -Fx "$choice" "$tmpfile" && + choice=$(echo "$choice" | awk '{ print $1 }') && return 0 + [ ${#choice} -lt 4 ] && return 1 + echo "$choice" | grep -Z ' ' && return 1 + echo "$choice" | grep -EiZ "$protocol" && return 0 + echo "$choice" | grep -FZ '..' && return 1 + prepath=$(echo "$choice" | sed 's/(\/|#|\?).*//') + echo "$prepath" | grep -FvZ '.' && return 1 + echo "$prepath" | grep -EZ '^([[:alnum:]~_:-]+\.?){1,3}' && return 0 +} + +if checkurl +then + echo "$choice" | grep -EivZ "$protocol" && + choice="http://$choice" + gotourl +else searchweb +fi diff --git a/.local/bin/dmenu-xrandr b/.local/bin/dmenu-xrandr new file mode 100755 index 00000000..b666c8b6 --- /dev/null +++ b/.local/bin/dmenu-xrandr @@ -0,0 +1,318 @@ +#!/usr/bin/zsh +# +# Setup outputs with xrandr as a backend and dmenu as a frontend +# +# external commands: cat, cut, dmenu, grep, sed, xrandr +# Released under GPLv2 +# +# TODO: add dpi support + +typeset XRANDR_TXT # readonly; stdout of running xrandr without any options +typeset -A OUTPUT_CONFIGURED # key=connected output name +typeset -a DISCONNECT_OUTPUTS +typeset OPT_MODE='auto' +typeset OPT_ROTATION='normal' +typeset -ir EXIT_CLEAN=7 +typeset -ir ERR_BAD_ARGS=257 +typeset -ir ERR_BAD_SELECTION=258 +typeset -ir ERR_NO_OPTIONS=259 + +if ! command -v cat &>/dev/null; then + echo 'coreutils seem to be missing. You'\''re gonna have a bad time.' >&2 + exit 255 +elif ! command -v grep &>/dev/null; then + echo 'grep seems to be missing. You'\''re gonna have a bad time.' >&2 + exit 255 +elif ! command -v xrandr &>/dev/null; then + echo 'Ran xrandr-dmenu without xrandr? You'\''re gonna have a bad time.' >&2 + exit 255 +elif ! command -v dmenu &>/dev/null; then + echo 'Ran xrandr-dmenu without dmenu? You'\''re gonna have a bad time.' >&2 + exit 255 +elif ! xset q &>/dev/null; then + echo 'Woah there, cowboy! You need to run this from inside X!' >&2 + exit 1 +fi + +XRANDR_TXT="$(xrandr)" || exit $? + +function () { + typeset opt + typeset output + typeset help_msg="usage: xrandr-dmenu [options] +Setup X outputs position, mode, etc +Input 'exit' or press 'ESC' at any point to cancel. + +Options: + -m Select mode for outputs + -M Use current mode for outputs + -r Select rotation for outputs + -R Use current rotation for outputs" + + while getopts mMrRh opt; do + case "${opt}" in + ('m') OPT_MODE='change' ;; + ('M') OPT_MODE='no_change' ;; + ('r') OPT_ROTATION='change' ;; + ('R') OPT_ROTATION='no_change' ;; + ('h') + echo "${help_msg}" + exit 0 + ;; + ('?') + echo "${help_msg}" + exit 1 + ;; + esac + done + + for output in $(grep ' connected' <<< "${XRANDR_TXT}" | cut -d ' ' -f 1); do + OUTPUT_CONFIGURED[${output}]='false' + done + for output ($(grep ' disconnected' <<< "${XRANDR_TXT}" | cut -d ' ' -f 1)) { + DISCONNECTED_OUTPUTS+=("${output}") + } +} "$@" + +typeset -r XRANDR_TXT +typeset -r OPT_MODE +typeset -r OPT_ROTATION +typeset -r DISCONNECTED_OUTPUTS + +function main() { + typeset prompt + typeset menu + typeset output + typeset mode + typeset rotation + typeset position + typeset xrandr_cmd + + # set primary output + prompt='Select primary output:' + output="$(menu_select "${prompt}" ${(k)=OUTPUT_CONFIGURED})" || bail $? + + position='--primary' + mode="$(select_mode ${output})" || bail $? + rotation="$(select_rotation ${output})" || bail $? + + OUTPUT_CONFIGURED[${output}]='true' + xrandr_cmd="xrandr --output ${output} ${position} ${rotation} ${mode}" + + # set additional outputs + prompt='Select next output:' + while ! all_outputs_configured; do + menu="$(list_unconfigured_outputs)" + output="$(menu_select ${prompt} ${=menu})" || bail $? + + position="$(select_position ${output})" || bail $? + if [[ "${position}" != '--off' ]]; then + mode="$(select_mode ${output})" || bail $? + rotation="$(select_rotation ${output})" || bail $? + fi + + OUTPUT_CONFIGURED[${output}]='true' + xrandr_cmd+=" --output ${output} ${position} ${rotation} ${mode}" + done + + # forcibly '--off' disconnected outputs + for output in ${DISCONNECTED_OUTPUTS}; do + xrandr_cmd+=" --output ${output} --off" + done + + # do the deed + if ! ${=xrandr_cmd}; then + echo "Failed to execute xrandr command:\n${xrandr_cmd}" + bail 255 + fi +} + +################################################################################ +# Uses dmenu to select the position of a given output relative to an already +# configured output. --same-as and --off are considered a position. +# Prints in the form of xrandr option (eg, '--right-of DP1') to stdout +# Global variables: +# ERR_BAD_ARG +# Arguments: +# $1=name of output to configure +# Returns: +# ERR_BAD_ARG for no $1 +################################################################################ +function select_position() { + [[ -z $1 ]] && return "${ERR_BAD_ARG}" + + typeset output + typeset prompt + typeset -a menu + typeset anchor + typeset position + typeset selection + output="$1" + prompt="Select position of ${output}:" + + for anchor in $(list_configured_outputs); do + for position in 'left of' 'right of' 'above' 'below' 'same as'; do + menu+=("${position} ${anchor}") + done + done + menu+=('off') + selection="$(menu_select "${prompt}" ${menu})" || return $? + + case "${selection[(w)1]}" in + (left|right|same) echo "--${selection/ /-}" ;; + (above|below|mirror|off) echo "--${selection}" ;; + esac +} + +################################################################################ +# Uses dmenu to display the detected mode options for a given output and lets +# the user select a mode to use. Prints choice in xrandr option format +# (eg, '--mode 800x600' or '--auto') to stdout +# Global variables: +# XRANDR_TXT +# OPT_MODE +# ERR_BAD_ARGS +# Arguments: +# $1 - name of which output we are working with +# Returns: +# ERR_BAD_ARGS +################################################################################ +function select_mode() { + [[ -z $1 ]] && return "${ERR_BAD_ARGS}" + + typeset output + typeset prompt + typeset menu + typeset selection + output="$1" + prompt="Select mode for ${output}:" + + + if [[ "${OPT_MODE}" == 'auto' ]]; then + echo '--auto' + elif [[ "${OPT_MODE}" == 'no_change' ]]; then + echo '' + else + # TODO: make this not ugly. A better sed should negate the need for cut/grep + menu="$(echo \"${XRANDR_TXT}\" \ + | sed -n '/^'${output}' /,/^[^ ]/ s/ * //p' \ + | cut -d ' ' -f 1 \ + | grep x \ + | cat <(echo auto) -)" + + selection="$(menu_select "${prompt}" ${=menu})" || return $? + + if [[ 'auto' == "${selection}" ]]; then + echo '--auto' + else + echo "--mode ${selection}" + fi + fi +} + +################################################################################ +# Uses dmenu to select the rotation of a given output. Prints the selection in +# xrandr option format (eg '--rotate inverted') to stdout +# Global variables: +# OPT_ROTATION +# ERR_BAD_ARGS +# Arguments: +# $1 - name of which output we are working with +# Returns: +# ERR_BAD_ARGS +################################################################################ +function select_rotation() { + [[ -z $1 ]] && return "${ERR_BAD_ARGS}" + + typeset menu + typeset prompt + prompt="Select rotation of $1:" + menu=('normal' 'inverted' 'left' 'right') + + if [[ "${OPT_ROTATION}" == 'normal' ]]; then + echo '--rotate normal' + elif [[ "${OPT_ROTATION}" == 'no_change' ]]; then + echo '' + else + echo -n "--rotate ${selection}" + menu_select "${prompt}" ${menu} || return $? + fi +} + +################################################################################ +# Uses dmenu to select an option. Undisplayed 'exit' option or pressing 'ESC' +# will return code ${EXIT_CLEAN} to trigger an abort to the script. Validates to +# make sure the selection is an option. If there is only 1 option, it will +# automatically choose it. Prints selection to stdout +# Global variables: +# none +# Arguments: +# $1=prompt +# $2+=menu items +# Returns: +# ERR_BAD_ARGS=bad arguments +# EXIT_CLEAN=user requested exit +################################################################################ +function menu_select() { + [[ -z "$2" ]] && return ${ERR_BAD_ARGS} + + typeset selection + typeset prompt + typeset -a menu + + prompt="$1" + shift + menu=($*) + + if [[ ${#menu} == 1 ]]; then + echo "${menu}" + else + while [[ -z "${menu[(r)${selection}]}" ]]; do + echo "${(F)menu}" | dmenu -p "${prompt}" | read selection + [[ "${(L)selection}" == 'exit' ]] || [[ -z "${selection}" ]] \ + && return ${EXIT_CLEAN} + done + echo "${selection}" + fi +} + +function list_configured_outputs() { + typeset -a list + typeset output + + for output in ${(k)OUTPUT_CONFIGURED}; do + ${OUTPUT_CONFIGURED[$output]} && list+=("${output}") + done + echo "${(F)list}" +} + +function list_unconfigured_outputs() { + typeset -a list + typeset output + + for output in ${(k)OUTPUT_CONFIGURED}; do + ${OUTPUT_CONFIGURED[$output]} || list+=("${output}") + done + echo "${(F)list}" +} + +function all_outputs_configured() { + typeset config + + for config in ${OUTPUT_CONFIGURED}; do + $config || return 257 + done + + return 0 +} + +function bail() { + [[ "$1" == ${EXIT_CLEAN} ]] && exit 0 || exit "$1" +} + +main + +################################################################################ +# vim filetype=zsh autoindent expandtab shiftwidth=2 tabstop=2 +# End +# diff --git a/.local/bin/dmenu_run_history b/.local/bin/dmenu_run_history index 8d436cad..a7ca68e5 100755 --- a/.local/bin/dmenu_run_history +++ b/.local/bin/dmenu_run_history @@ -1,5 +1,6 @@ #!/bin/sh +termcmd="st -c \"dmenu-st\" -e" cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"} if [ -d "$cachedir" ]; then cache=$cachedir/dmenu_run @@ -15,7 +16,7 @@ if stest -dqr -n "$cache" $PATH; then fi unset IFS -awk -v histfile=$historyfile ' +cmd=$(awk -v histfile=$historyfile ' BEGIN { while( (getline < histfile) > 0 ) { sub("^[0-9]+\t","") @@ -23,8 +24,12 @@ awk -v histfile=$historyfile ' x[$0]=1 } } !x[$0]++ ' "$cache" \ - | dmenu "$@" \ - | awk -v histfile=$historyfile ' + | dmenu "$@") + + +case $cmd in + *\! ) ${termcmd} "$(printf "%s" "${cmd}" | cut -d'!' -f1)";; + * ) echo "$cmd" | awk -v histfile=$historyfile ' BEGIN { FS=OFS="\t" while ( (getline < histfile) > 0 ) { @@ -47,4 +52,5 @@ awk -v histfile=$historyfile ' print history[f],f | "sort -t '\t' -k1rn >" histfile } ' \ - | while read cmd; do ${SHELL:-"/bin/sh"} -c "$cmd" & done + | while read cmd; do ${SHELL:-"/bin/sh"} -c "$cmd" & done ;; +esac diff --git a/.local/bin/dmenu_surf b/.local/bin/dmenu_surf deleted file mode 100755 index 7d03b6c0..00000000 --- a/.local/bin/dmenu_surf +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -lines=12 -blacklist='google' - -selection=$(echo "" | dmenu -p "Enter URL") - -if [ ! -z "$selection" ] -then - $BROWSER $selection -fi diff --git a/.local/bin/doom b/.local/bin/doom index 77470fe5..39bb32ca 100755 --- a/.local/bin/doom +++ b/.local/bin/doom @@ -4,4 +4,11 @@ dunstify -r 57 -a "ξ Doom Emacs" "Running \"doom $@\"" $XDG_CONFIG_HOME/emacs/bin/doom $@ -dunstify -r 57 -a "ξ Doom Emacs" "Finished \"doom $@\"" +if [ "$?" = "0" ]; then + dunstify -r 57 -a "ξ Doom Emacs" "Finished \"doom $@\"" + emacsclient -e '(kill-emacs)' + emacs --daemon && emacsclient -c --eval "(delete-frame)" +else + dunstify -r 57 -a "ξ Doom Emacs" "Failed \"doom $@\"" +fi + diff --git a/.local/bin/e b/.local/bin/e new file mode 100755 index 00000000..7d4501b8 --- /dev/null +++ b/.local/bin/e @@ -0,0 +1,62 @@ +#!/bin/bash + +force_tty=false +force_wait=false +stdin_mode="" + +args=() + +while :; do + case "$1" in + -t | -nw | --tty) + force_tty=true + shift ;; + -w | --wait) + force_wait=true + shift ;; + -m | --mode) + stdin_mode=" ($2-mode)" + shift 2 ;; + -h | --help) + echo -e "\033[1mUsage: e [-t] [-m MODE] [OPTIONS] FILE [-]\033[0m + +Emacs client convenience wrapper. + +\033[1mOptions:\033[0m +\033[0;34m-h, --help\033[0m Show this message +\033[0;34m-t, -nw, --tty\033[0m Force terminal mode +\033[0;34m-w, --wait\033[0m Don't supply \033[0;34m--no-wait\033[0m to graphical emacsclient +\033[0;34m-\033[0m Take \033[0;33mstdin\033[0m (when last argument) +\033[0;34m-m MODE, --mode MODE\033[0m Mode to open \033[0;33mstdin\033[0m with + +Run \033[0;32memacsclient --help\033[0m to see help for the emacsclient." + exit 0 ;; + --*=*) + set -- "$@" "${1%%=*}" "${1#*=}" + shift ;; + *) + if [ "$#" = 0 ]; then + break; fi + args+=("$1") + shift ;; + esac +done + +if [ ! "${#args[*]}" = 0 ] && [ "${args[-1]}" = "-" ]; then + unset 'args[-1]' + TMP="$(mktemp /tmp/emacsstdin-XXX)" + cat > "$TMP" + args+=(--eval "(let ((b (generate-new-buffer \"*stdin*\"))) (switch-to-buffer b) (insert-file-contents \"$TMP\") (delete-file \"$TMP\")${stdin_mode})") +fi + +if [ -z "$DISPLAY" ] || $force_tty; then + if [ "$TERM" = "st-256color" ]; then + TERM=xterm-256color emacsclient --tty -create-frame --alternate-editor="nvim" "${args[@]}" + else + emacsclient --tty -create-frame --alternate-editor="nvim" "${args[@]}" + fi +else + if ! $force_wait; then + args+=(--no-wait); fi + emacsclient -create-frame --alternate-editor="nvim" "${args[@]}" +fi diff --git a/.local/bin/menu-surfraw b/.local/bin/menu-surfraw deleted file mode 100755 index cd618db8..00000000 --- a/.local/bin/menu-surfraw +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# Menu Surfraw: https://github.com/TomboFry/menu-surfraw - -# Modified version of https://github.com/onespaceman/menu-calc to display -# available elvi to use in surfraw then get the search term afterwards and open -# it in your browser of choice. - -# Edit here to change what browser you open links in -usage() { - echo "Usage: $0 [OPTIONS] [ELVIS [SEARCHTERM]] - -OPTIONS: - -h, --help Displays this message - -ELVIS: - This is the same as surfraw, any Elvi you have installed. Can be left - blank, as you will be prompted for this in dmenu/rofi. - -SEARCHTERM: - Again, the same as surfraw, the term you are searching for. Can also be - left blank as you will be prompted for this in dmenu/rofi." - exit -} - -case $1 in - "-h"|"--help") usage ;; -esac - -# Path to menu application -if [[ -n $(command -v dmenu) ]]; then - menu="$(command -v dmenu )" -elif [[ -n $(command -v rofi) ]]; then - menu="$(command -v rofi)" -else - echo "Rofi or dmenu not found, exiting." - exit -fi - -answerA=$(echo "$1") -answerB=$(echo "${@:2}") - -# Change what to display in rofi/dmenu -# If both the first prompt and second prompt are not empty, it will finally open -# the search in surfraw -action=$(echo "" | $menu -p "$answerA ") - -if [ "$action" = "" ]; then - exit -fi - -surfraw -browser=$BROWSER $answerA $action - diff --git a/.local/share/dwm/autostart.sh b/.local/share/dwm/autostart.sh index 6c95d195..69d4ad4a 100755 --- a/.local/share/dwm/autostart.sh +++ b/.local/share/dwm/autostart.sh @@ -33,6 +33,9 @@ restart_if_fails "picom --no-fading-openclose" restart_if_fails "xbanish -s" +# Start emacs +restart_if_fails "emacs --daemon && emacsclient -c --eval \"(delete-frame)\"" + ~/.local/bin/firefox-sync & ~/.local/bin/mailsync & diff --git a/.local/share/nerdfont_icons b/.local/share/nerdfont_icons deleted file mode 100644 index 5bfdde1f..00000000 --- a/.local/share/nerdfont_icons +++ /dev/null @@ -1,3810 +0,0 @@ - : nf-custom-c (e61e) - : nf-custom-cpp (e61d) - : nf-custom-electron (e62e) - : nf-custom-elixir (e62d) - : nf-custom-elm (e62c) - : nf-custom-folder (e5ff) - : nf-custom-folder_config (e5fc) - : nf-custom-folder_git (e5fb) - : nf-custom-folder_git_branch (e5fb) - : nf-custom-folder_github (e5fd) - : nf-custom-folder_npm (e5fa) - : nf-custom-folder_open (e5fe) - : nf-custom-go (e626) - : nf-custom-msdos (e629) - : nf-custom-vim (e62b) - : nf-custom-windows (e62a) - : nf-dev-android (e70e) - : nf-dev-angular (e753) - : nf-dev-appcelerator (e7ab) - : nf-dev-apple (e711) - : nf-dev-appstore (e713) - : nf-dev-aptana (e799) - : nf-dev-asterisk (e7ac) - : nf-dev-atlassian (e75b) - : nf-dev-atom (e764) - : nf-dev-aws (e7ad) - : nf-dev-backbone (e752) - : nf-dev-bing_small (e700) - : nf-dev-bintray (e794) - : nf-dev-bitbucket (e703) - : nf-dev-blackberry (e723) - : nf-dev-bootstrap (e747) - : nf-dev-bower (e74d) - : nf-dev-brackets (e79d) - : nf-dev-bugsense (e78d) - : nf-dev-celluloid (e76b) - : nf-dev-chart (e760) - : nf-dev-chrome (e743) - : nf-dev-cisco (e765) - : nf-dev-clojure (e768) - : nf-dev-clojure_alt (e76a) - : nf-dev-cloud9 (e79f) - : nf-dev-coda (e793) - : nf-dev-code (e796) - : nf-dev-code_badge (e7a3) - : nf-dev-codeigniter (e780) - : nf-dev-codepen (e716) - : nf-dev-codrops (e72f) - : nf-dev-coffeescript (e751) - : nf-dev-compass (e761) - : nf-dev-composer (e783) - : nf-dev-creativecommons (e789) - : nf-dev-creativecommons_badge (e78a) - : nf-dev-css3 (e749) - : nf-dev-css3_full (e74a) - : nf-dev-css_tricks (e701) - : nf-dev-cssdeck (e72a) - : nf-dev-dart (e798) - : nf-dev-database (e706) - : nf-dev-debian (e77d) - : nf-dev-digital_ocean (e7ae) - : nf-dev-django (e71d) - : nf-dev-dlang (e7af) - : nf-dev-docker (e7b0) - : nf-dev-doctrine (e774) - : nf-dev-dojo (e71c) - : nf-dev-dotnet (e77f) - : nf-dev-dreamweaver (e79c) - : nf-dev-dropbox (e707) - : nf-dev-drupal (e742) - : nf-dev-eclipse (e79e) - : nf-dev-ember (e71b) - : nf-dev-envato (e75d) - : nf-dev-erlang (e7b1) - : nf-dev-extjs (e78e) - : nf-dev-firebase (e787) - : nf-dev-firefox (e745) - : nf-dev-fsharp (e7a7) - : nf-dev-ghost (e71f) - : nf-dev-ghost_small (e714) - : nf-dev-git (e702) - : nf-dev-git_branch (e725) - : nf-dev-git_commit (e729) - : nf-dev-git_compare (e728) - : nf-dev-git_merge (e727) - : nf-dev-git_pull_request (e726) - : nf-dev-github (e70a) - : nf-dev-github_alt (e708) - : nf-dev-github_badge (e709) - : nf-dev-github_full (e717) - : nf-dev-gnu (e779) - : nf-dev-go (e724) - : nf-dev-google_cloud_platform (e7b2) - : nf-dev-google_drive (e731) - : nf-dev-grails (e7b3) - : nf-dev-groovy (e775) - : nf-dev-grunt (e74c) - : nf-dev-gulp (e763) - : nf-dev-hackernews (e71a) - : nf-dev-haskell (e777) - : nf-dev-heroku (e77b) - : nf-dev-html5 (e736) - : nf-dev-html5_3d_effects (e735) - : nf-dev-html5_connectivity (e734) - : nf-dev-html5_device_access (e733) - : nf-dev-html5_multimedia (e732) - : nf-dev-ie (e744) - : nf-dev-illustrator (e7b4) - : nf-dev-intellij (e7b5) - : nf-dev-ionic (e7a9) - : nf-dev-java (e738) - : nf-dev-javascript (e74e) - : nf-dev-javascript_badge (e781) - : nf-dev-javascript_shield (e74f) - : nf-dev-jekyll_small (e70d) - : nf-dev-jenkins (e767) - : nf-dev-jira (e75c) - : nf-dev-joomla (e741) - : nf-dev-jquery (e750) - : nf-dev-jquery_ui (e754) - : nf-dev-komodo (e792) - : nf-dev-krakenjs (e785) - : nf-dev-krakenjs_badge (e784) - : nf-dev-laravel (e73f) - : nf-dev-less (e758) - : nf-dev-linux (e712) - : nf-dev-magento (e740) - : nf-dev-mailchimp (e79a) - : nf-dev-markdown (e73e) - : nf-dev-materializecss (e7b6) - : nf-dev-meteor (e7a5) - : nf-dev-meteorfull (e7a6) - : nf-dev-mitlicence (e78b) - : nf-dev-modernizr (e720) - : nf-dev-mongodb (e7a4) - : nf-dev-mootools (e790) - : nf-dev-mootools_badge (e78f) - : nf-dev-mozilla (e786) - : nf-dev-msql_server (e77c) - : nf-dev-mysql (e704) - : nf-dev-nancy (e766) - : nf-dev-netbeans (e79b) - : nf-dev-netmagazine (e72e) - : nf-dev-nginx (e776) - : nf-dev-nodejs (e719) - : nf-dev-nodejs_small (e718) - : nf-dev-npm (e71e) - : nf-dev-onedrive (e762) - : nf-dev-openshift (e7b7) - : nf-dev-opensource (e771) - : nf-dev-opera (e746) - : nf-dev-perl (e769) - : nf-dev-phonegap (e730) - : nf-dev-photoshop (e7b8) - : nf-dev-php (e73d) - : nf-dev-postgresql (e76e) - : nf-dev-prolog (e7a1) - : nf-dev-python (e73c) - : nf-dev-rackspace (e7b9) - : nf-dev-raphael (e75f) - : nf-dev-rasberry_pi (e722) - : nf-dev-react (e7ba) - : nf-dev-redhat (e7bb) - : nf-dev-redis (e76d) - : nf-dev-requirejs (e770) - : nf-dev-responsive (e797) - : nf-dev-ruby (e739) - : nf-dev-ruby_on_rails (e73b) - : nf-dev-ruby_rough (e791) - : nf-dev-rust (e7a8) - : nf-dev-safari (e748) - : nf-dev-sass (e74b) - : nf-dev-scala (e737) - : nf-dev-scriptcs (e7bc) - : nf-dev-scrum (e7a0) - : nf-dev-senchatouch (e78c) - : nf-dev-sizzlejs (e788) - : nf-dev-smashing_magazine (e72d) - : nf-dev-snap_svg (e75e) - : nf-dev-sqllite (e7c4) - : nf-dev-stackoverflow (e710) - : nf-dev-streamline (e705) - : nf-dev-stylus (e759) - : nf-dev-sublime (e7aa) - : nf-dev-swift (e755) - : nf-dev-symfony (e756) - : nf-dev-symfony_badge (e757) - : nf-dev-techcrunch (e72c) - : nf-dev-terminal (e795) - : nf-dev-terminal_badge (e7a2) - : nf-dev-travis (e77e) - : nf-dev-trello (e75a) - : nf-dev-typo3 (e772) - : nf-dev-ubuntu (e73a) - : nf-dev-uikit (e773) - : nf-dev-unity_small (e721) - : nf-dev-vim (e7c5) - : nf-dev-visualstudio (e70c) - : nf-dev-w3c (e76c) - : nf-dev-webplatform (e76f) - : nf-dev-windows (e70f) - : nf-dev-wordpress (e70b) - : nf-dev-yahoo (e715) - : nf-dev-yahoo_small (e72b) - : nf-dev-yeoman (e77a) - : nf-dev-yii (e782) - : nf-dev-zend (e778) - : nf-fa-500px (f26e) - : nf-fa-address_book (f2b9) - : nf-fa-address_book_o (f2ba) - : nf-fa-address_card (f2bb) - : nf-fa-address_card_o (f2bc) - : nf-fa-adjust (f042) - : nf-fa-adn (f170) - : nf-fa-align_center (f037) - : nf-fa-align_justify (f039) - : nf-fa-align_left (f036) - : nf-fa-align_right (f038) - : nf-fa-amazon (f270) - : nf-fa-ambulance (f0f9) - : nf-fa-american_sign_language_interpreting (f2a3) - : nf-fa-anchor (f13d) - : nf-fa-android (f17b) - : nf-fa-angellist (f209) - : nf-fa-angle_double_down (f103) - : nf-fa-angle_double_left (f100) - : nf-fa-angle_double_right (f101) - : nf-fa-angle_double_up (f102) - : nf-fa-angle_down (f107) - : nf-fa-angle_left (f104) - : nf-fa-angle_right (f105) - : nf-fa-angle_up (f106) - : nf-fa-apple (f179) - : nf-fa-archive (f187) - : nf-fa-area_chart (f1fe) - : nf-fa-arrow_circle_down (f0ab) - : nf-fa-arrow_circle_left (f0a8) - : nf-fa-arrow_circle_o_down (f01a) - : nf-fa-arrow_circle_o_left (f190) - : nf-fa-arrow_circle_o_right (f18e) - : nf-fa-arrow_circle_o_up (f01b) - : nf-fa-arrow_circle_right (f0a9) - : nf-fa-arrow_circle_up (f0aa) - : nf-fa-arrow_down (f063) - : nf-fa-arrow_left (f060) - : nf-fa-arrow_right (f061) - : nf-fa-arrow_up (f062) - : nf-fa-arrows (f047) - : nf-fa-arrows_alt (f0b2) - : nf-fa-arrows_h (f07e) - : nf-fa-arrows_v (f07d) - : nf-fa-asl_interpreting (f2a3) - : nf-fa-assistive_listening_systems (f2a2) - : nf-fa-asterisk (f069) - : nf-fa-at (f1fa) - : nf-fa-audio_description (f29e) - : nf-fa-automobile (f1b9) - : nf-fa-backward (f04a) - : nf-fa-balance_scale (f24e) - : nf-fa-ban (f05e) - : nf-fa-bandcamp (f2d5) - : nf-fa-bank (f19c) - : nf-fa-bar_chart (f080) - : nf-fa-bar_chart_o (f080) - : nf-fa-barcode (f02a) - : nf-fa-bars (f0c9) - : nf-fa-bath (f2cd) - : nf-fa-bathtub (f2cd) - : nf-fa-battery (f240) - : nf-fa-battery_0 (f244) - : nf-fa-battery_1 (f243) - : nf-fa-battery_2 (f242) - : nf-fa-battery_3 (f241) - : nf-fa-battery_4 (f240) - : nf-fa-battery_empty (f244) - : nf-fa-battery_full (f240) - : nf-fa-battery_half (f242) - : nf-fa-battery_quarter (f243) - : nf-fa-battery_three_quarters (f241) - : nf-fa-bed (f236) - : nf-fa-beer (f0fc) - : nf-fa-behance (f1b4) - : nf-fa-behance_square (f1b5) - : nf-fa-bell (f0f3) - : nf-fa-bell_o (f0a2) - : nf-fa-bell_slash (f1f6) - : nf-fa-bell_slash_o (f1f7) - : nf-fa-bicycle (f206) - : nf-fa-binoculars (f1e5) - : nf-fa-birthday_cake (f1fd) - : nf-fa-bitbucket (f171) - : nf-fa-bitbucket_square (f172) - : nf-fa-bitcoin (f15a) - : nf-fa-black_tie (f27e) - : nf-fa-blind (f29d) - : nf-fa-bluetooth (f293) - : nf-fa-bluetooth_b (f294) - : nf-fa-bold (f032) - : nf-fa-bolt (f0e7) - : nf-fa-bomb (f1e2) - : nf-fa-book (f02d) - : nf-fa-bookmark (f02e) - : nf-fa-bookmark_o (f097) - : nf-fa-braille (f2a1) - : nf-fa-briefcase (f0b1) - : nf-fa-btc (f15a) - : nf-fa-bug (f188) - : nf-fa-building (f1ad) - : nf-fa-building_o (f0f7) - : nf-fa-bullhorn (f0a1) - : nf-fa-bullseye (f140) - : nf-fa-bus (f207) - : nf-fa-buysellads (f20d) - : nf-fa-cab (f1ba) - : nf-fa-calculator (f1ec) - : nf-fa-calendar (f073) - : nf-fa-calendar_check_o (f274) - : nf-fa-calendar_minus_o (f272) - : nf-fa-calendar_o (f133) - : nf-fa-calendar_plus_o (f271) - : nf-fa-calendar_times_o (f273) - : nf-fa-camera (f030) - : nf-fa-camera_retro (f083) - : nf-fa-car (f1b9) - : nf-fa-caret_down (f0d7) - : nf-fa-caret_left (f0d9) - : nf-fa-caret_right (f0da) - : nf-fa-caret_square_o_down (f150) - : nf-fa-caret_square_o_left (f191) - : nf-fa-caret_square_o_right (f152) - : nf-fa-caret_square_o_up (f151) - : nf-fa-caret_up (f0d8) - : nf-fa-cart_arrow_down (f218) - : nf-fa-cart_plus (f217) - : nf-fa-cc (f20a) - : nf-fa-cc_amex (f1f3) - : nf-fa-cc_diners_club (f24c) - : nf-fa-cc_discover (f1f2) - : nf-fa-cc_jcb (f24b) - : nf-fa-cc_mastercard (f1f1) - : nf-fa-cc_paypal (f1f4) - : nf-fa-cc_stripe (f1f5) - : nf-fa-cc_visa (f1f0) - : nf-fa-certificate (f0a3) - : nf-fa-chain (f0c1) - : nf-fa-chain_broken (f127) - : nf-fa-check (f00c) - : nf-fa-check_circle (f058) - : nf-fa-check_circle_o (f05d) - : nf-fa-check_square (f14a) - : nf-fa-check_square_o (f046) - : nf-fa-chevron_circle_down (f13a) - : nf-fa-chevron_circle_left (f137) - : nf-fa-chevron_circle_right (f138) - : nf-fa-chevron_circle_up (f139) - : nf-fa-chevron_down (f078) - : nf-fa-chevron_left (f053) - : nf-fa-chevron_right (f054) - : nf-fa-chevron_up (f077) - : nf-fa-child (f1ae) - : nf-fa-chrome (f268) - : nf-fa-circle (f111) - : nf-fa-circle_o (f10c) - : nf-fa-circle_o_notch (f1ce) - : nf-fa-circle_thin (f1db) - : nf-fa-clipboard (f0ea) - : nf-fa-clock_o (f017) - : nf-fa-clone (f24d) - : nf-fa-close (f00d) - : nf-fa-cloud (f0c2) - : nf-fa-cloud_download (f0ed) - : nf-fa-cloud_upload (f0ee) - : nf-fa-cny (f157) - : nf-fa-code (f121) - : nf-fa-code_fork (f126) - : nf-fa-codepen (f1cb) - : nf-fa-codiepie (f284) - : nf-fa-coffee (f0f4) - : nf-fa-cog (f013) - : nf-fa-cogs (f085) - : nf-fa-columns (f0db) - : nf-fa-comment (f075) - : nf-fa-comment_o (f0e5) - : nf-fa-commenting (f27a) - : nf-fa-commenting_o (f27b) - : nf-fa-comments (f086) - : nf-fa-comments_o (f0e6) - : nf-fa-compass (f14e) - : nf-fa-compress (f066) - : nf-fa-connectdevelop (f20e) - : nf-fa-contao (f26d) - : nf-fa-copy (f0c5) - : nf-fa-copyright (f1f9) - : nf-fa-creative_commons (f25e) - : nf-fa-credit_card (f09d) - : nf-fa-credit_card_alt (f283) - : nf-fa-crop (f125) - : nf-fa-crosshairs (f05b) - : nf-fa-css3 (f13c) - : nf-fa-cube (f1b2) - : nf-fa-cubes (f1b3) - : nf-fa-cut (f0c4) - : nf-fa-cutlery (f0f5) - : nf-fa-dashboard (f0e4) - : nf-fa-dashcube (f210) - : nf-fa-database (f1c0) - : nf-fa-deaf (f2a4) - : nf-fa-deafness (f2a4) - : nf-fa-dedent (f03b) - : nf-fa-delicious (f1a5) - : nf-fa-desktop (f108) - : nf-fa-deviantart (f1bd) - : nf-fa-diamond (f219) - : nf-fa-digg (f1a6) - : nf-fa-dollar (f155) - : nf-fa-dot_circle_o (f192) - : nf-fa-download (f019) - : nf-fa-dribbble (f17d) - : nf-fa-drivers_license (f2c2) - : nf-fa-drivers_license_o (f2c3) - : nf-fa-dropbox (f16b) - : nf-fa-drupal (f1a9) - : nf-fa-edge (f282) - : nf-fa-edit (f044) - : nf-fa-eercast (f2da) - : nf-fa-eject (f052) - : nf-fa-ellipsis_h (f141) - : nf-fa-ellipsis_v (f142) - : nf-fa-empire (f1d1) - : nf-fa-envelope (f0e0) - : nf-fa-envelope_o (f003) - : nf-fa-envelope_open (f2b6) - : nf-fa-envelope_open_o (f2b7) - : nf-fa-envelope_square (f199) - : nf-fa-envira (f299) - : nf-fa-eraser (f12d) - : nf-fa-etsy (f2d7) - : nf-fa-eur (f153) - : nf-fa-euro (f153) - : nf-fa-exchange (f0ec) - : nf-fa-exclamation (f12a) - : nf-fa-exclamation_circle (f06a) - : nf-fa-exclamation_triangle (f071) - : nf-fa-expand (f065) - : nf-fa-expeditedssl (f23e) - : nf-fa-external_link (f08e) - : nf-fa-external_link_square (f14c) - : nf-fa-eye (f06e) - : nf-fa-eye_slash (f070) - : nf-fa-eyedropper (f1fb) - : nf-fa-fa (f2b4) - : nf-fa-facebook (f09a) - : nf-fa-facebook_f (f09a) - : nf-fa-facebook_official (f230) - : nf-fa-facebook_square (f082) - : nf-fa-fast_backward (f049) - : nf-fa-fast_forward (f050) - : nf-fa-fax (f1ac) - : nf-fa-feed (f09e) - : nf-fa-female (f182) - : nf-fa-fighter_jet (f0fb) - : nf-fa-file (f15b) - : nf-fa-file_archive_o (f1c6) - : nf-fa-file_audio_o (f1c7) - : nf-fa-file_code_o (f1c9) - : nf-fa-file_excel_o (f1c3) - : nf-fa-file_image_o (f1c5) - : nf-fa-file_movie_o (f1c8) - : nf-fa-file_o (f016) - : nf-fa-file_pdf_o (f1c1) - : nf-fa-file_photo_o (f1c5) - : nf-fa-file_picture_o (f1c5) - : nf-fa-file_powerpoint_o (f1c4) - : nf-fa-file_sound_o (f1c7) - : nf-fa-file_text (f15c) - : nf-fa-file_text_o (f0f6) - : nf-fa-file_video_o (f1c8) - : nf-fa-file_word_o (f1c2) - : nf-fa-file_zip_o (f1c6) - : nf-fa-files_o (f0c5) - : nf-fa-film (f008) - : nf-fa-filter (f0b0) - : nf-fa-fire (f06d) - : nf-fa-fire_extinguisher (f134) - : nf-fa-firefox (f269) - : nf-fa-first_order (f2b0) - : nf-fa-flag (f024) - : nf-fa-flag_checkered (f11e) - : nf-fa-flag_o (f11d) - : nf-fa-flash (f0e7) - : nf-fa-flask (f0c3) - : nf-fa-flickr (f16e) - : nf-fa-floppy_o (f0c7) - : nf-fa-folder (f07b) - : nf-fa-folder_o (f114) - : nf-fa-folder_open (f07c) - : nf-fa-folder_open_o (f115) - : nf-fa-font (f031) - : nf-fa-font_awesome (f2b4) - : nf-fa-fonticons (f280) - : nf-fa-fort_awesome (f286) - : nf-fa-forumbee (f211) - : nf-fa-forward (f04e) - : nf-fa-foursquare (f180) - : nf-fa-free_code_camp (f2c5) - : nf-fa-frown_o (f119) - : nf-fa-futbol_o (f1e3) - : nf-fa-gamepad (f11b) - : nf-fa-gavel (f0e3) - : nf-fa-gbp (f154) - : nf-fa-ge (f1d1) - : nf-fa-gear (f013) - : nf-fa-gears (f085) - : nf-fa-genderless (f22d) - : nf-fa-get_pocket (f265) - : nf-fa-gg (f260) - : nf-fa-gg_circle (f261) - : nf-fa-gift (f06b) - : nf-fa-git (f1d3) - : nf-fa-git_square (f1d2) - : nf-fa-github (f09b) - : nf-fa-github_alt (f113) - : nf-fa-github_square (f092) - : nf-fa-gitlab (f296) - : nf-fa-gittip (f184) - : nf-fa-glass (f000) - : nf-fa-glide (f2a5) - : nf-fa-glide_g (f2a6) - : nf-fa-globe (f0ac) - : nf-fa-google (f1a0) - : nf-fa-google_plus (f0d5) - : nf-fa-google_plus_circle (f2b3) - : nf-fa-google_plus_official (f2b3) - : nf-fa-google_plus_square (f0d4) - : nf-fa-google_wallet (f1ee) - : nf-fa-graduation_cap (f19d) - : nf-fa-gratipay (f184) - : nf-fa-grav (f2d6) - : nf-fa-group (f0c0) - : nf-fa-h_square (f0fd) - : nf-fa-hacker_news (f1d4) - : nf-fa-hand_grab_o (f255) - : nf-fa-hand_lizard_o (f258) - : nf-fa-hand_o_down (f0a7) - : nf-fa-hand_o_left (f0a5) - : nf-fa-hand_o_right (f0a4) - : nf-fa-hand_o_up (f0a6) - : nf-fa-hand_paper_o (f256) - : nf-fa-hand_peace_o (f25b) - : nf-fa-hand_pointer_o (f25a) - : nf-fa-hand_rock_o (f255) - : nf-fa-hand_scissors_o (f257) - : nf-fa-hand_spock_o (f259) - : nf-fa-hand_stop_o (f256) - : nf-fa-handshake_o (f2b5) - : nf-fa-hard_of_hearing (f2a4) - : nf-fa-hashtag (f292) - : nf-fa-hdd_o (f0a0) - : nf-fa-header (f1dc) - : nf-fa-headphones (f025) - : nf-fa-heart (f004) - : nf-fa-heart_o (f08a) - : nf-fa-heartbeat (f21e) - : nf-fa-history (f1da) - : nf-fa-home (f015) - : nf-fa-hospital_o (f0f8) - : nf-fa-hotel (f236) - : nf-fa-hourglass (f254) - : nf-fa-hourglass_1 (f251) - : nf-fa-hourglass_2 (f252) - : nf-fa-hourglass_3 (f253) - : nf-fa-hourglass_end (f253) - : nf-fa-hourglass_half (f252) - : nf-fa-hourglass_o (f250) - : nf-fa-hourglass_start (f251) - : nf-fa-houzz (f27c) - : nf-fa-html5 (f13b) - : nf-fa-i_cursor (f246) - : nf-fa-id_badge (f2c1) - : nf-fa-id_card (f2c2) - : nf-fa-id_card_o (f2c3) - : nf-fa-ils (f20b) - : nf-fa-image (f03e) - : nf-fa-imdb (f2d8) - : nf-fa-inbox (f01c) - : nf-fa-indent (f03c) - : nf-fa-industry (f275) - : nf-fa-info (f129) - : nf-fa-info_circle (f05a) - : nf-fa-inr (f156) - : nf-fa-instagram (f16d) - : nf-fa-institution (f19c) - : nf-fa-internet_explorer (f26b) - : nf-fa-intersex (f224) - : nf-fa-ioxhost (f208) - : nf-fa-italic (f033) - : nf-fa-joomla (f1aa) - : nf-fa-jpy (f157) - : nf-fa-jsfiddle (f1cc) - : nf-fa-key (f084) - : nf-fa-keyboard_o (f11c) - : nf-fa-krw (f159) - : nf-fa-language (f1ab) - : nf-fa-laptop (f109) - : nf-fa-lastfm (f202) - : nf-fa-lastfm_square (f203) - : nf-fa-leaf (f06c) - : nf-fa-leanpub (f212) - : nf-fa-legal (f0e3) - : nf-fa-lemon_o (f094) - : nf-fa-level_down (f149) - : nf-fa-level_up (f148) - : nf-fa-life_bouy (f1cd) - : nf-fa-life_buoy (f1cd) - : nf-fa-life_ring (f1cd) - : nf-fa-life_saver (f1cd) - : nf-fa-lightbulb_o (f0eb) - : nf-fa-line_chart (f201) - : nf-fa-link (f0c1) - : nf-fa-linkedin (f0e1) - : nf-fa-linkedin_square (f08c) - : nf-fa-linode (f2b8) - : nf-fa-linux (f17c) - : nf-fa-list (f03a) - : nf-fa-list_alt (f022) - : nf-fa-list_ol (f0cb) - : nf-fa-list_ul (f0ca) - : nf-fa-location_arrow (f124) - : nf-fa-lock (f023) - : nf-fa-long_arrow_down (f175) - : nf-fa-long_arrow_left (f177) - : nf-fa-long_arrow_right (f178) - : nf-fa-long_arrow_up (f176) - : nf-fa-low_vision (f2a8) - : nf-fa-magic (f0d0) - : nf-fa-magnet (f076) - : nf-fa-mail_forward (f064) - : nf-fa-mail_reply (f112) - : nf-fa-mail_reply_all (f122) - : nf-fa-male (f183) - : nf-fa-map (f279) - : nf-fa-map_marker (f041) - : nf-fa-map_o (f278) - : nf-fa-map_pin (f276) - : nf-fa-map_signs (f277) - : nf-fa-mars (f222) - : nf-fa-mars_double (f227) - : nf-fa-mars_stroke (f229) - : nf-fa-mars_stroke_h (f22b) - : nf-fa-mars_stroke_v (f22a) - : nf-fa-maxcdn (f136) - : nf-fa-meanpath (f20c) - : nf-fa-medium (f23a) - : nf-fa-medkit (f0fa) - : nf-fa-meetup (f2e0) - : nf-fa-meh_o (f11a) - : nf-fa-mercury (f223) - : nf-fa-microchip (f2db) - : nf-fa-microphone (f130) - : nf-fa-microphone_slash (f131) - : nf-fa-minus (f068) - : nf-fa-minus_circle (f056) - : nf-fa-minus_square (f146) - : nf-fa-minus_square_o (f147) - : nf-fa-mixcloud (f289) - : nf-fa-mobile (f10b) - : nf-fa-mobile_phone (f10b) - : nf-fa-modx (f285) - : nf-fa-money (f0d6) - : nf-fa-moon_o (f186) - : nf-fa-mortar_board (f19d) - : nf-fa-motorcycle (f21c) - : nf-fa-mouse_pointer (f245) - : nf-fa-music (f001) - : nf-fa-navicon (f0c9) - : nf-fa-neuter (f22c) - : nf-fa-newspaper_o (f1ea) - : nf-fa-object_group (f247) - : nf-fa-object_ungroup (f248) - : nf-fa-odnoklassniki (f263) - : nf-fa-odnoklassniki_square (f264) - : nf-fa-opencart (f23d) - : nf-fa-openid (f19b) - : nf-fa-opera (f26a) - : nf-fa-optin_monster (f23c) - : nf-fa-outdent (f03b) - : nf-fa-pagelines (f18c) - : nf-fa-paint_brush (f1fc) - : nf-fa-paper_plane (f1d8) - : nf-fa-paper_plane_o (f1d9) - : nf-fa-paperclip (f0c6) - : nf-fa-paragraph (f1dd) - : nf-fa-paste (f0ea) - : nf-fa-pause (f04c) - : nf-fa-pause_circle (f28b) - : nf-fa-pause_circle_o (f28c) - : nf-fa-paw (f1b0) - : nf-fa-paypal (f1ed) - : nf-fa-pencil (f040) - : nf-fa-pencil_square (f14b) - : nf-fa-pencil_square_o (f044) - : nf-fa-percent (f295) - : nf-fa-phone (f095) - : nf-fa-phone_square (f098) - : nf-fa-photo (f03e) - : nf-fa-picture_o (f03e) - : nf-fa-pie_chart (f200) - : nf-fa-pied_piper (f2ae) - : nf-fa-pied_piper_alt (f1a8) - : nf-fa-pied_piper_pp (f1a7) - : nf-fa-pinterest (f0d2) - : nf-fa-pinterest_p (f231) - : nf-fa-pinterest_square (f0d3) - : nf-fa-plane (f072) - : nf-fa-play (f04b) - : nf-fa-play_circle (f144) - : nf-fa-play_circle_o (f01d) - : nf-fa-plug (f1e6) - : nf-fa-plus (f067) - : nf-fa-plus_circle (f055) - : nf-fa-plus_square (f0fe) - : nf-fa-plus_square_o (f196) - : nf-fa-podcast (f2ce) - : nf-fa-power_off (f011) - : nf-fa-print (f02f) - : nf-fa-product_hunt (f288) - : nf-fa-puzzle_piece (f12e) - : nf-fa-qq (f1d6) - : nf-fa-qrcode (f029) - : nf-fa-question (f128) - : nf-fa-question_circle (f059) - : nf-fa-question_circle_o (f29c) - : nf-fa-quora (f2c4) - : nf-fa-quote_left (f10d) - : nf-fa-quote_right (f10e) - : nf-fa-ra (f1d0) - : nf-fa-random (f074) - : nf-fa-ravelry (f2d9) - : nf-fa-rebel (f1d0) - : nf-fa-recycle (f1b8) - : nf-fa-reddit (f1a1) - : nf-fa-reddit_alien (f281) - : nf-fa-reddit_square (f1a2) - : nf-fa-refresh (f021) - : nf-fa-registered (f25d) - : nf-fa-remove (f00d) - : nf-fa-renren (f18b) - : nf-fa-reorder (f0c9) - : nf-fa-repeat (f01e) - : nf-fa-reply (f112) - : nf-fa-reply_all (f122) - : nf-fa-resistance (f1d0) - : nf-fa-retweet (f079) - : nf-fa-rmb (f157) - : nf-fa-road (f018) - : nf-fa-rocket (f135) - : nf-fa-rotate_left (f0e2) - : nf-fa-rotate_right (f01e) - : nf-fa-rouble (f158) - : nf-fa-rss (f09e) - : nf-fa-rss_square (f143) - : nf-fa-rub (f158) - : nf-fa-ruble (f158) - : nf-fa-rupee (f156) - : nf-fa-s15 (f2cd) - : nf-fa-safari (f267) - : nf-fa-save (f0c7) - : nf-fa-scissors (f0c4) - : nf-fa-scribd (f28a) - : nf-fa-search (f002) - : nf-fa-search_minus (f010) - : nf-fa-search_plus (f00e) - : nf-fa-sellsy (f213) - : nf-fa-send (f1d8) - : nf-fa-send_o (f1d9) - : nf-fa-server (f233) - : nf-fa-share (f064) - : nf-fa-share_alt (f1e0) - : nf-fa-share_alt_square (f1e1) - : nf-fa-share_square (f14d) - : nf-fa-share_square_o (f045) - : nf-fa-shekel (f20b) - : nf-fa-sheqel (f20b) - : nf-fa-shield (f132) - : nf-fa-ship (f21a) - : nf-fa-shirtsinbulk (f214) - : nf-fa-shopping_bag (f290) - : nf-fa-shopping_basket (f291) - : nf-fa-shopping_cart (f07a) - : nf-fa-shower (f2cc) - : nf-fa-sign_in (f090) - : nf-fa-sign_language (f2a7) - : nf-fa-sign_out (f08b) - : nf-fa-signal (f012) - : nf-fa-signing (f2a7) - : nf-fa-simplybuilt (f215) - : nf-fa-sitemap (f0e8) - : nf-fa-skyatlas (f216) - : nf-fa-skype (f17e) - : nf-fa-slack (f198) - : nf-fa-sliders (f1de) - : nf-fa-slideshare (f1e7) - : nf-fa-smile_o (f118) - : nf-fa-snapchat (f2ab) - : nf-fa-snapchat_ghost (f2ac) - : nf-fa-snapchat_square (f2ad) - : nf-fa-snowflake_o (f2dc) - : nf-fa-soccer_ball_o (f1e3) - : nf-fa-sort (f0dc) - : nf-fa-sort_alpha_asc (f15d) - : nf-fa-sort_alpha_desc (f15e) - : nf-fa-sort_amount_asc (f160) - : nf-fa-sort_amount_desc (f161) - : nf-fa-sort_asc (f0de) - : nf-fa-sort_desc (f0dd) - : nf-fa-sort_down (f0dd) - : nf-fa-sort_numeric_asc (f162) - : nf-fa-sort_numeric_desc (f163) - : nf-fa-sort_up (f0de) - : nf-fa-soundcloud (f1be) - : nf-fa-space_shuttle (f197) - : nf-fa-spinner (f110) - : nf-fa-spoon (f1b1) - : nf-fa-spotify (f1bc) - : nf-fa-square (f0c8) - : nf-fa-square_o (f096) - : nf-fa-stack_exchange (f18d) - : nf-fa-stack_overflow (f16c) - : nf-fa-star (f005) - : nf-fa-star_half (f089) - : nf-fa-star_half_empty (f123) - : nf-fa-star_half_full (f123) - : nf-fa-star_half_o (f123) - : nf-fa-star_o (f006) - : nf-fa-steam (f1b6) - : nf-fa-steam_square (f1b7) - : nf-fa-step_backward (f048) - : nf-fa-step_forward (f051) - : nf-fa-stethoscope (f0f1) - : nf-fa-sticky_note (f249) - : nf-fa-sticky_note_o (f24a) - : nf-fa-stop (f04d) - : nf-fa-stop_circle (f28d) - : nf-fa-stop_circle_o (f28e) - : nf-fa-street_view (f21d) - : nf-fa-strikethrough (f0cc) - : nf-fa-stumbleupon (f1a4) - : nf-fa-stumbleupon_circle (f1a3) - : nf-fa-subscript (f12c) - : nf-fa-subway (f239) - : nf-fa-suitcase (f0f2) - : nf-fa-sun_o (f185) - : nf-fa-superpowers (f2dd) - : nf-fa-superscript (f12b) - : nf-fa-support (f1cd) - : nf-fa-table (f0ce) - : nf-fa-tablet (f10a) - : nf-fa-tachometer (f0e4) - : nf-fa-tag (f02b) - : nf-fa-tags (f02c) - : nf-fa-tasks (f0ae) - : nf-fa-taxi (f1ba) - : nf-fa-telegram (f2c6) - : nf-fa-television (f26c) - : nf-fa-tencent_weibo (f1d5) - : nf-fa-terminal (f120) - : nf-fa-text_height (f034) - : nf-fa-text_width (f035) - : nf-fa-th (f00a) - : nf-fa-th_large (f009) - : nf-fa-th_list (f00b) - : nf-fa-themeisle (f2b2) - : nf-fa-thermometer (f2c7) - : nf-fa-thermometer_0 (f2cb) - : nf-fa-thermometer_1 (f2ca) - : nf-fa-thermometer_2 (f2c9) - : nf-fa-thermometer_3 (f2c8) - : nf-fa-thermometer_4 (f2c7) - : nf-fa-thermometer_empty (f2cb) - : nf-fa-thermometer_full (f2c7) - : nf-fa-thermometer_half (f2c9) - : nf-fa-thermometer_quarter (f2ca) - : nf-fa-thermometer_three_quarters (f2c8) - : nf-fa-thumb_tack (f08d) - : nf-fa-thumbs_down (f165) - : nf-fa-thumbs_o_down (f088) - : nf-fa-thumbs_o_up (f087) - : nf-fa-thumbs_up (f164) - : nf-fa-ticket (f145) - : nf-fa-times (f00d) - : nf-fa-times_circle (f057) - : nf-fa-times_circle_o (f05c) - : nf-fa-times_rectangle (f2d3) - : nf-fa-times_rectangle_o (f2d4) - : nf-fa-tint (f043) - : nf-fa-toggle_down (f150) - : nf-fa-toggle_left (f191) - : nf-fa-toggle_off (f204) - : nf-fa-toggle_on (f205) - : nf-fa-toggle_right (f152) - : nf-fa-toggle_up (f151) - : nf-fa-trademark (f25c) - : nf-fa-train (f238) - : nf-fa-transgender (f224) - : nf-fa-transgender_alt (f225) - : nf-fa-trash (f1f8) - : nf-fa-trash_o (f014) - : nf-fa-tree (f1bb) - : nf-fa-trello (f181) - : nf-fa-tripadvisor (f262) - : nf-fa-trophy (f091) - : nf-fa-truck (f0d1) - : nf-fa-try (f195) - : nf-fa-tty (f1e4) - : nf-fa-tumblr (f173) - : nf-fa-tumblr_square (f174) - : nf-fa-turkish_lira (f195) - : nf-fa-tv (f26c) - : nf-fa-twitch (f1e8) - : nf-fa-twitter (f099) - : nf-fa-twitter_square (f081) - : nf-fa-umbrella (f0e9) - : nf-fa-underline (f0cd) - : nf-fa-undo (f0e2) - : nf-fa-universal_access (f29a) - : nf-fa-university (f19c) - : nf-fa-unlink (f127) - : nf-fa-unlock (f09c) - : nf-fa-unlock_alt (f13e) - : nf-fa-unsorted (f0dc) - : nf-fa-upload (f093) - : nf-fa-usb (f287) - : nf-fa-usd (f155) - : nf-fa-user (f007) - : nf-fa-user_circle (f2bd) - : nf-fa-user_circle_o (f2be) - : nf-fa-user_md (f0f0) - : nf-fa-user_o (f2c0) - : nf-fa-user_plus (f234) - : nf-fa-user_secret (f21b) - : nf-fa-user_times (f235) - : nf-fa-users (f0c0) - : nf-fa-vcard (f2bb) - : nf-fa-vcard_o (f2bc) - : nf-fa-venus (f221) - : nf-fa-venus_double (f226) - : nf-fa-venus_mars (f228) - : nf-fa-viacoin (f237) - : nf-fa-viadeo (f2a9) - : nf-fa-viadeo_square (f2aa) - : nf-fa-video_camera (f03d) - : nf-fa-vimeo (f27d) - : nf-fa-vimeo_square (f194) - : nf-fa-vine (f1ca) - : nf-fa-vk (f189) - : nf-fa-volume_control_phone (f2a0) - : nf-fa-volume_down (f027) - : nf-fa-volume_off (f026) - : nf-fa-volume_up (f028) - : nf-fa-warning (f071) - : nf-fa-wechat (f1d7) - : nf-fa-weibo (f18a) - : nf-fa-weixin (f1d7) - : nf-fa-whatsapp (f232) - : nf-fa-wheelchair (f193) - : nf-fa-wheelchair_alt (f29b) - : nf-fa-wifi (f1eb) - : nf-fa-wikipedia_w (f266) - : nf-fa-window_close (f2d3) - : nf-fa-window_close_o (f2d4) - : nf-fa-window_maximize (f2d0) - : nf-fa-window_minimize (f2d1) - : nf-fa-window_restore (f2d2) - : nf-fa-windows (f17a) - : nf-fa-won (f159) - : nf-fa-wordpress (f19a) - : nf-fa-wpbeginner (f297) - : nf-fa-wpexplorer (f2de) - : nf-fa-wpforms (f298) - : nf-fa-wrench (f0ad) - : nf-fa-xing (f168) - : nf-fa-xing_square (f169) - : nf-fa-y_combinator (f23b) - : nf-fa-y_combinator_square (f1d4) - : nf-fa-yahoo (f19e) - : nf-fa-yc (f23b) - : nf-fa-yc_square (f1d4) - : nf-fa-yelp (f1e9) - : nf-fa-yen (f157) - : nf-fa-yoast (f2b1) - : nf-fa-youtube (f167) - : nf-fa-youtube_play (f16a) - : nf-fa-youtube_square (f166) - : nf-fae-apple_fruit (e29e) - : nf-fae-atom (e27f) - : nf-fae-bacteria (e280) - : nf-fae-banana (e281) - : nf-fae-bath (e282) - : nf-fae-bed (e283) - : nf-fae-benzene (e284) - : nf-fae-bigger (e285) - : nf-fae-biohazard (e286) - : nf-fae-blogger_circle (e287) - : nf-fae-blogger_square (e288) - : nf-fae-bones (e289) - : nf-fae-book_open (e28a) - : nf-fae-book_open_o (e28b) - : nf-fae-brain (e28c) - : nf-fae-bread (e28d) - : nf-fae-butterfly (e28e) - : nf-fae-carot (e28f) - : nf-fae-cc_by (e290) - : nf-fae-cc_cc (e291) - : nf-fae-cc_nc (e292) - : nf-fae-cc_nc_eu (e293) - : nf-fae-cc_nc_jp (e294) - : nf-fae-cc_nd (e295) - : nf-fae-cc_remix (e296) - : nf-fae-cc_sa (e297) - : nf-fae-cc_share (e298) - : nf-fae-cc_zero (e299) - : nf-fae-checklist_o (e29a) - : nf-fae-cherry (e29b) - : nf-fae-chess_bishop (e29c) - : nf-fae-chess_horse (e25f) - : nf-fae-chess_king (e260) - : nf-fae-chess_pawn (e261) - : nf-fae-chess_queen (e262) - : nf-fae-chess_tower (e263) - : nf-fae-cheese (e264) - : nf-fae-chicken_thigh (e29f) - : nf-fae-chilli (e265) - : nf-fae-chip (e266) - : nf-fae-cicling (e267) - : nf-fae-cloud (e268) - : nf-fae-cockroach (e269) - : nf-fae-coffe_beans (e26a) - : nf-fae-coins (e26b) - : nf-fae-comb (e26c) - : nf-fae-comet (e26d) - : nf-fae-crown (e26e) - : nf-fae-cup_coffe (e26f) - : nf-fae-dice (e270) - : nf-fae-disco (e271) - : nf-fae-dna (e272) - : nf-fae-donut (e273) - : nf-fae-dress (e274) - : nf-fae-drop (e275) - : nf-fae-ello (e276) - : nf-fae-envelope_open (e277) - : nf-fae-envelope_open_o (e278) - : nf-fae-equal (e279) - : nf-fae-equal_bigger (e27a) - : nf-fae-feedly (e27b) - : nf-fae-file_export (e27c) - : nf-fae-file_import (e27d) - : nf-fae-fingerprint (e23f) - : nf-fae-floppy (e240) - : nf-fae-footprint (e241) - : nf-fae-freecodecamp (e242) - : nf-fae-galaxy (e243) - : nf-fae-galery (e244) - : nf-fae-gift_card (e2a0) - : nf-fae-glass (e245) - : nf-fae-google_drive (e246) - : nf-fae-google_play (e247) - : nf-fae-gps (e248) - : nf-fae-grav (e249) - : nf-fae-guitar (e24a) - : nf-fae-gut (e24b) - : nf-fae-halter (e24c) - : nf-fae-hamburger (e24d) - : nf-fae-hat (e24e) - : nf-fae-hexagon (e24f) - : nf-fae-high_heel (e250) - : nf-fae-hotdog (e251) - : nf-fae-ice_cream (e252) - : nf-fae-id_card (e253) - : nf-fae-imdb (e254) - : nf-fae-infinity (e255) - : nf-fae-injection (e2a1) - : nf-fae-isle (e2a2) - : nf-fae-java (e256) - : nf-fae-layers (e257) - : nf-fae-lips (e258) - : nf-fae-lipstick (e259) - : nf-fae-liver (e25a) - : nf-fae-lollipop (e2a3) - : nf-fae-loyalty_card (e2a4) - : nf-fae-lung (e25b) - : nf-fae-makeup_brushes (e25c) - : nf-fae-maximize (e25d) - : nf-fae-meat (e2a5) - : nf-fae-medicine (e221) - : nf-fae-microscope (e222) - : nf-fae-milk_bottle (e223) - : nf-fae-minimize (e224) - : nf-fae-molecule (e225) - : nf-fae-moon_cloud (e226) - : nf-fae-mountains (e2a6) - : nf-fae-mushroom (e227) - : nf-fae-mustache (e228) - : nf-fae-mysql (e229) - : nf-fae-nintendo (e22a) - : nf-fae-orange (e2a7) - : nf-fae-palette_color (e22b) - : nf-fae-peach (e2a8) - : nf-fae-pear (e2a9) - : nf-fae-pi (e22c) - : nf-fae-pizza (e22d) - : nf-fae-planet (e22e) - : nf-fae-plant (e22f) - : nf-fae-playstation (e230) - : nf-fae-poison (e231) - : nf-fae-popcorn (e232) - : nf-fae-popsicle (e233) - : nf-fae-pulse (e234) - : nf-fae-python (e235) - : nf-fae-quora_circle (e236) - : nf-fae-quora_square (e237) - : nf-fae-radioactive (e238) - : nf-fae-raining (e239) - : nf-fae-real_heart (e23a) - : nf-fae-refrigerator (e23b) - : nf-fae-restore (e23c) - : nf-fae-ring (e23d) - : nf-fae-ruby (e23e) - : nf-fae-ruby_o (e21e) - : nf-fae-ruler (e21f) - : nf-fae-shirt (e218) - : nf-fae-slash (e216) - : nf-fae-smaller (e200) - : nf-fae-snowing (e201) - : nf-fae-soda (e202) - : nf-fae-sofa (e203) - : nf-fae-soup (e204) - : nf-fae-spermatozoon (e205) - : nf-fae-spin_double (e206) - : nf-fae-stomach (e207) - : nf-fae-storm (e208) - : nf-fae-sun_cloud (e21d) - : nf-fae-sushi (e21a) - : nf-fae-tacos (e219) - : nf-fae-telegram (e217) - : nf-fae-telegram_circle (e215) - : nf-fae-telescope (e209) - : nf-fae-thermometer (e20a) - : nf-fae-thermometer_high (e20b) - : nf-fae-thermometer_low (e20c) - : nf-fae-thin_close (e20d) - : nf-fae-toilet (e20e) - : nf-fae-tools (e20f) - : nf-fae-tooth (e210) - : nf-fae-tree (e21c) - : nf-fae-triangle_ruler (e21b) - : nf-fae-umbrella (e220) - : nf-fae-uterus (e211) - : nf-fae-virus (e214) - : nf-fae-w3c (e212) - : nf-fae-walking (e213) - : nf-fae-wallet (e25e) - : nf-fae-wind (e27e) - : nf-fae-xbox (e29d) -⏻ : nf-iec-power (23fb) -⭘ : nf-iec-power_off (2b58) -⏽ : nf-iec-power_on (23fd) -⏾ : nf-iec-sleep_mode (23fe) -⏼ : nf-iec-toggle_power (23fc) - : nf-indent-dotted_guide (e621) - : nf-indent-line (e621) - : nf-indentation-line (e621) - : nf-linux-alpine (f300) - : nf-linux-aosc (f301) - : nf-linux-apple (f302) - : nf-linux-archlinux (f303) - : nf-linux-centos (f304) - : nf-linux-coreos (f305) - : nf-linux-debian (f306) - : nf-linux-devuan (f307) - : nf-linux-docker (f308) - : nf-linux-elementary (f309) - : nf-linux-fedora (f30a) - : nf-linux-fedora_inverse (f30b) - : nf-linux-freebsd (f30c) - : nf-linux-gentoo (f30d) - : nf-linux-linuxmint (f30e) - : nf-linux-linuxmint_inverse (f30f) - : nf-linux-mageia (f310) - : nf-linux-mandriva (f311) - : nf-linux-manjaro (f312) - : nf-linux-nixos (f313) - : nf-linux-opensuse (f314) - : nf-linux-raspberry_pi (f315) - : nf-linux-redhat (f316) - : nf-linux-sabayon (f317) - : nf-linux-slackware (f318) - : nf-linux-slackware_inverse (f319) - : nf-linux-tux (f31a) - : nf-linux-ubuntu (f31b) - : nf-linux-ubuntu_inverse (f31c) - : nf-mdi-access_point (f501) - : nf-mdi-access_point_network (f502) - : nf-mdi-account (f503) - : nf-mdi-account_alert (f504) - : nf-mdi-account_box (f505) - : nf-mdi-account_box_outline (f506) -𣏕 : nf-mdi-account_card_details (fad1) - : nf-mdi-account_check (f507) - : nf-mdi-account_circle (f508) - : nf-mdi-account_convert (f509) -﮺ : nf-mdi-account_edit (fbba) - : nf-mdi-account_key (f50a) - : nf-mdi-account_location (f50b) - : nf-mdi-account_minus (f50c) - : nf-mdi-account_multiple (f50d) -㮝 : nf-mdi-account_multiple_minus (fad2) - : nf-mdi-account_multiple_outline (f50e) - : nf-mdi-account_multiple_plus (f50f) -ﳾ : nf-mdi-account_multiple_plus_outline (fcfe) - : nf-mdi-account_network (f510) - : nf-mdi-account_off (f511) - : nf-mdi-account_outline (f512) - : nf-mdi-account_plus (f513) -ﳿ : nf-mdi-account_plus_outline (fcff) - : nf-mdi-account_remove (f514) - : nf-mdi-account_search (f515) -אָ : nf-mdi-account_settings (fb2f) -אּ : nf-mdi-account_settings_variant (fb30) - : nf-mdi-account_star (f516) - : nf-mdi-account_switch (f518) - : nf-mdi-adjust (f519) - : nf-mdi-air_conditioner (f51a) - : nf-mdi-airballoon (f51b) - : nf-mdi-airplane (f51c) -䀘 : nf-mdi-airplane_landing (fad3) - : nf-mdi-airplane_off (f51d) -䀹 : nf-mdi-airplane_takeoff (fad4) - : nf-mdi-airplay (f51e) - : nf-mdi-alarm (f51f) -ﲌ : nf-mdi-alarm_bell (fc8c) - : nf-mdi-alarm_check (f520) -ﲍ : nf-mdi-alarm_light (fc8d) - : nf-mdi-alarm_multiple (f521) - : nf-mdi-alarm_off (f522) - : nf-mdi-alarm_plus (f523) -ﮌ : nf-mdi-alarm_snooze (fb8c) - : nf-mdi-album (f524) - : nf-mdi-alert (f525) - : nf-mdi-alert_box (f526) - : nf-mdi-alert_circle (f527) -𥉉 : nf-mdi-alert_circle_outline (fad5) -﮻ : nf-mdi-alert_decagram (fbbb) - : nf-mdi-alert_octagon (f528) -ﱥ : nf-mdi-alert_octagram (fc65) - : nf-mdi-alert_outline (f529) -﮼ : nf-mdi-all_inclusive (fbbc) -ﴀ : nf-mdi-allo (fd00) - : nf-mdi-alpha (f52a) - : nf-mdi-alphabetical (f52b) -𥳐 : nf-mdi-altimeter (fad6) - : nf-mdi-amazon (f52c) - : nf-mdi-amazon_clouddrive (f52d) - : nf-mdi-ambulance (f52e) - : nf-mdi-amplifier (f52f) - : nf-mdi-anchor (f530) - : nf-mdi-android (f531) - : nf-mdi-android_debug_bridge (f532) -ﲎ : nf-mdi-android_head (fc8e) - : nf-mdi-android_studio (f533) -ﮰ : nf-mdi-angular (fbb0) -﮽ : nf-mdi-angularjs (fbbd) -𧻓 : nf-mdi-animation (fad7) - : nf-mdi-apple (f534) - : nf-mdi-apple_finder (f535) - : nf-mdi-apple_ios (f536) -בּ : nf-mdi-apple_keyboard_caps (fb31) -גּ : nf-mdi-apple_keyboard_command (fb32) -דּ : nf-mdi-apple_keyboard_control (fb33) -הּ : nf-mdi-apple_keyboard_option (fb34) -וּ : nf-mdi-apple_keyboard_shift (fb35) - : nf-mdi-apple_mobileme (f537) - : nf-mdi-apple_safari (f538) -ﬓ : nf-mdi-application (fb13) -ﲏ : nf-mdi-approval (fc8f) - : nf-mdi-apps (f53a) - : nf-mdi-archive (f53b) - : nf-mdi-arrange_bring_forward (f53c) - : nf-mdi-arrange_bring_to_front (f53d) - : nf-mdi-arrange_send_backward (f53e) - : nf-mdi-arrange_send_to_back (f53f) - : nf-mdi-arrow_all (f540) - : nf-mdi-arrow_bottom_left (f541) - : nf-mdi-arrow_bottom_right (f542) -ﬔ : nf-mdi-arrow_collapse (fb14) - : nf-mdi-arrow_collapse_all (f543) -ﲐ : nf-mdi-arrow_collapse_down (fc90) -ﲑ : nf-mdi-arrow_collapse_left (fc91) -ﲒ : nf-mdi-arrow_collapse_right (fc92) -ﲓ : nf-mdi-arrow_collapse_up (fc93) - : nf-mdi-arrow_down (f544) -ﰬ : nf-mdi-arrow_down_bold (fc2c) -ﰭ : nf-mdi-arrow_down_bold_box (fc2d) -ﰮ : nf-mdi-arrow_down_bold_box_outline (fc2e) - : nf-mdi-arrow_down_bold_circle (f546) - : nf-mdi-arrow_down_bold_circle_outline (f547) - : nf-mdi-arrow_down_bold_hexagon_outline (f548) -﮾ : nf-mdi-arrow_down_box (fbbe) - : nf-mdi-arrow_down_drop_circle (f549) - : nf-mdi-arrow_down_drop_circle_outline (f54a) - : nf-mdi-arrow_down_thick (f545) -ﬕ : nf-mdi-arrow_expand (fb15) - : nf-mdi-arrow_expand_all (f54b) -ﲔ : nf-mdi-arrow_expand_down (fc94) -ﲕ : nf-mdi-arrow_expand_left (fc95) -ﲖ : nf-mdi-arrow_expand_right (fc96) -ﲗ : nf-mdi-arrow_expand_up (fc97) - : nf-mdi-arrow_left (f54c) -ﰯ : nf-mdi-arrow_left_bold (fc2f) -ﰰ : nf-mdi-arrow_left_bold_box (fc30) -ﰱ : nf-mdi-arrow_left_bold_box_outline (fc31) - : nf-mdi-arrow_left_bold_circle (f54e) - : nf-mdi-arrow_left_bold_circle_outline (f54f) - : nf-mdi-arrow_left_bold_hexagon_outline (f550) -﮿ : nf-mdi-arrow_left_box (fbbf) - : nf-mdi-arrow_left_drop_circle (f551) - : nf-mdi-arrow_left_drop_circle_outline (f552) - : nf-mdi-arrow_left_thick (f54d) - : nf-mdi-arrow_right (f553) -ﰲ : nf-mdi-arrow_right_bold (fc32) -ﰳ : nf-mdi-arrow_right_bold_box (fc33) -ﰴ : nf-mdi-arrow_right_bold_box_outline (fc34) - : nf-mdi-arrow_right_bold_circle (f555) - : nf-mdi-arrow_right_bold_circle_outline (f556) - : nf-mdi-arrow_right_bold_hexagon_outline (f557) -﯀ : nf-mdi-arrow_right_box (fbc0) - : nf-mdi-arrow_right_drop_circle (f558) - : nf-mdi-arrow_right_drop_circle_outline (f559) - : nf-mdi-arrow_right_thick (f554) - : nf-mdi-arrow_top_left (f55a) - : nf-mdi-arrow_top_right (f55b) - : nf-mdi-arrow_up (f55c) -ﰵ : nf-mdi-arrow_up_bold (fc35) -ﰶ : nf-mdi-arrow_up_bold_box (fc36) -ﰷ : nf-mdi-arrow_up_bold_box_outline (fc37) - : nf-mdi-arrow_up_bold_circle (f55e) - : nf-mdi-arrow_up_bold_circle_outline (f55f) - : nf-mdi-arrow_up_bold_hexagon_outline (f560) -﯁ : nf-mdi-arrow_up_box (fbc1) - : nf-mdi-arrow_up_drop_circle (f561) - : nf-mdi-arrow_up_drop_circle_outline (f562) - : nf-mdi-arrow_up_thick (f55d) -ﴁ : nf-mdi-artist (fd01) - : nf-mdi-assistant (f563) -﯂ : nf-mdi-asterisk (fbc2) - : nf-mdi-at (f564) -ﴂ : nf-mdi-atlassian (fd02) -ﱦ : nf-mdi-atom (fc66) - : nf-mdi-attachment (f565) - : nf-mdi-audiobook (f566) - : nf-mdi-auto_fix (f567) - : nf-mdi-auto_upload (f568) - : nf-mdi-autorenew (f569) - : nf-mdi-av_timer (f56a) -ﴃ : nf-mdi-azure (fd03) - : nf-mdi-baby (f56b) -ﮍ : nf-mdi-baby_buggy (fb8d) - : nf-mdi-backburger (f56c) - : nf-mdi-backspace (f56d) - : nf-mdi-backup_restore (f56e) -ﭳ : nf-mdi-bandcamp (fb73) - : nf-mdi-bank (f56f) - : nf-mdi-barcode (f570) - : nf-mdi-barcode_scan (f571) - : nf-mdi-barley (f572) - : nf-mdi-barrel (f573) - : nf-mdi-basecamp (f574) - : nf-mdi-basket (f575) - : nf-mdi-basket_fill (f576) - : nf-mdi-basket_unfill (f577) -ﴄ : nf-mdi-basketball (fd04) - : nf-mdi-battery (f578) - : nf-mdi-battery_10 (f579) - : nf-mdi-battery_20 (f57a) - : nf-mdi-battery_30 (f57b) - : nf-mdi-battery_40 (f57c) - : nf-mdi-battery_50 (f57d) - : nf-mdi-battery_60 (f57e) - : nf-mdi-battery_70 (f57f) - : nf-mdi-battery_80 (f580) - : nf-mdi-battery_90 (f581) - : nf-mdi-battery_alert (f582) - : nf-mdi-battery_charging (f583) - : nf-mdi-battery_charging_100 (f584) - : nf-mdi-battery_charging_20 (f585) - : nf-mdi-battery_charging_30 (f586) - : nf-mdi-battery_charging_40 (f587) - : nf-mdi-battery_charging_60 (f588) - : nf-mdi-battery_charging_80 (f589) - : nf-mdi-battery_charging_90 (f58a) -ﴅ : nf-mdi-battery_charging_wireless (fd05) -ﴆ : nf-mdi-battery_charging_wireless_10 (fd06) -ﴇ : nf-mdi-battery_charging_wireless_20 (fd07) -ﴈ : nf-mdi-battery_charging_wireless_30 (fd08) -ﴉ : nf-mdi-battery_charging_wireless_40 (fd09) -ﴊ : nf-mdi-battery_charging_wireless_50 (fd0a) -ﴋ : nf-mdi-battery_charging_wireless_60 (fd0b) -ﴌ : nf-mdi-battery_charging_wireless_70 (fd0c) -ﴍ : nf-mdi-battery_charging_wireless_80 (fd0d) -ﴎ : nf-mdi-battery_charging_wireless_90 (fd0e) -ﴏ : nf-mdi-battery_charging_wireless_alert (fd0f) -ﴐ : nf-mdi-battery_charging_wireless_outline (fd10) - : nf-mdi-battery_minus (f58b) - : nf-mdi-battery_negative (f58c) - : nf-mdi-battery_outline (f58d) - : nf-mdi-battery_plus (f58e) - : nf-mdi-battery_positive (f58f) - : nf-mdi-battery_unknown (f590) - : nf-mdi-beach (f591) -ﮎ : nf-mdi-beaker (fb8e) - : nf-mdi-beats (f596) - : nf-mdi-beer (f597) - : nf-mdi-behance (f598) - : nf-mdi-bell (f599) - : nf-mdi-bell_off (f59a) - : nf-mdi-bell_outline (f59b) - : nf-mdi-bell_plus (f59c) - : nf-mdi-bell_ring (f59d) - : nf-mdi-bell_ring_outline (f59e) - : nf-mdi-bell_sleep (f59f) - : nf-mdi-beta (f5a0) - : nf-mdi-bible (f5a1) - : nf-mdi-bike (f5a2) - : nf-mdi-bing (f5a3) - : nf-mdi-binoculars (f5a4) - : nf-mdi-bio (f5a5) - : nf-mdi-biohazard (f5a6) - : nf-mdi-bitbucket (f5a7) -ﴑ : nf-mdi-bitcoin (fd11) - : nf-mdi-black_mesa (f5a8) - : nf-mdi-blackberry (f5a9) - : nf-mdi-blender (f5aa) - : nf-mdi-blinds (f5ab) - : nf-mdi-block_helper (f5ac) - : nf-mdi-blogger (f5ad) - : nf-mdi-bluetooth (f5ae) - : nf-mdi-bluetooth_audio (f5af) - : nf-mdi-bluetooth_connect (f5b0) - : nf-mdi-bluetooth_off (f5b1) - : nf-mdi-bluetooth_settings (f5b2) - : nf-mdi-bluetooth_transfer (f5b3) - : nf-mdi-blur (f5b4) - : nf-mdi-blur_linear (f5b5) - : nf-mdi-blur_off (f5b6) - : nf-mdi-blur_radial (f5b7) -ﮏ : nf-mdi-bomb (fb8f) -﯃ : nf-mdi-bomb_off (fbc3) - : nf-mdi-bone (f5b8) - : nf-mdi-book (f5b9) -齃 : nf-mdi-book_minus (fad8) - : nf-mdi-book_multiple (f5ba) - : nf-mdi-book_multiple_variant (f5bb) - : nf-mdi-book_open (f5bc) -龎 : nf-mdi-book_open_page_variant (fad9) - : nf-mdi-book_open_variant (f5bd) -﫚 : nf-mdi-book_plus (fada) -ﲘ : nf-mdi-book_secure (fc98) -ﲙ : nf-mdi-book_unsecure (fc99) - : nf-mdi-book_variant (f5be) - : nf-mdi-bookmark (f5bf) - : nf-mdi-bookmark_check (f5c0) - : nf-mdi-bookmark_music (f5c1) - : nf-mdi-bookmark_outline (f5c2) - : nf-mdi-bookmark_plus (f5c4) - : nf-mdi-bookmark_plus_outline (f5c3) - : nf-mdi-bookmark_remove (f5c5) -﫛 : nf-mdi-boombox (fadb) -﯄ : nf-mdi-bootstrap (fbc4) - : nf-mdi-border_all (f5c6) - : nf-mdi-border_bottom (f5c7) - : nf-mdi-border_color (f5c8) - : nf-mdi-border_horizontal (f5c9) - : nf-mdi-border_inside (f5ca) - : nf-mdi-border_left (f5cb) - : nf-mdi-border_none (f5cc) - : nf-mdi-border_outside (f5cd) - : nf-mdi-border_right (f5ce) - : nf-mdi-border_style (f5cf) - : nf-mdi-border_top (f5d0) - : nf-mdi-border_vertical (f5d1) -ﭶ : nf-mdi-bow_tie (fb76) -ﬖ : nf-mdi-bowl (fb16) - : nf-mdi-bowling (f5d2) - : nf-mdi-box (f5d3) - : nf-mdi-box_cutter (f5d4) -זּ : nf-mdi-box_shadow (fb36) -ﬗ : nf-mdi-bridge (fb17) - : nf-mdi-briefcase (f5d5) - : nf-mdi-briefcase_check (f5d6) - : nf-mdi-briefcase_download (f5d7) -ﴒ : nf-mdi-briefcase_outline (fd12) - : nf-mdi-briefcase_upload (f5d8) - : nf-mdi-brightness_1 (f5d9) - : nf-mdi-brightness_2 (f5da) - : nf-mdi-brightness_3 (f5db) - : nf-mdi-brightness_4 (f5dc) - : nf-mdi-brightness_5 (f5dd) - : nf-mdi-brightness_6 (f5de) - : nf-mdi-brightness_7 (f5df) - : nf-mdi-brightness_auto (f5e0) - : nf-mdi-broom (f5e1) - : nf-mdi-brush (f5e2) -﬘ : nf-mdi-buffer (fb18) - : nf-mdi-bug (f5e3) - : nf-mdi-bulletin_board (f5e4) - : nf-mdi-bullhorn (f5e5) -﫜 : nf-mdi-bullseye (fadc) - : nf-mdi-bus (f5e6) -ﲚ : nf-mdi-bus_articulated_end (fc9a) -ﲛ : nf-mdi-bus_articulated_front (fc9b) -ﲜ : nf-mdi-bus_double_decker (fc9c) -ﲝ : nf-mdi-bus_school (fc9d) -ﲞ : nf-mdi-bus_side (fc9e) - : nf-mdi-cached (f5e7) - : nf-mdi-cake (f5e8) - : nf-mdi-cake_layered (f5e9) - : nf-mdi-cake_variant (f5ea) - : nf-mdi-calculator (f5eb) - : nf-mdi-calendar (f5ec) - : nf-mdi-calendar_blank (f5ed) - : nf-mdi-calendar_check (f5ee) - : nf-mdi-calendar_clock (f5ef) - : nf-mdi-calendar_multiple (f5f0) - : nf-mdi-calendar_multiple_check (f5f1) - : nf-mdi-calendar_plus (f5f2) -ﮐ : nf-mdi-calendar_question (fb90) -ﭷ : nf-mdi-calendar_range (fb77) - : nf-mdi-calendar_remove (f5f3) - : nf-mdi-calendar_text (f5f4) - : nf-mdi-calendar_today (f5f5) - : nf-mdi-call_made (f5f6) - : nf-mdi-call_merge (f5f7) - : nf-mdi-call_missed (f5f8) - : nf-mdi-call_received (f5f9) - : nf-mdi-call_split (f5fa) - : nf-mdi-camcorder (f5fb) - : nf-mdi-camcorder_box (f5fc) - : nf-mdi-camcorder_box_off (f5fd) - : nf-mdi-camcorder_off (f5fe) - : nf-mdi-camera (f5ff) -ﮑ : nf-mdi-camera_burst (fb91) - : nf-mdi-camera_enhance (f600) - : nf-mdi-camera_front (f601) - : nf-mdi-camera_front_variant (f602) -ﲟ : nf-mdi-camera_gopro (fc9f) - : nf-mdi-camera_iris (f603) -ﲠ : nf-mdi-camera_metering_center (fca0) -ﲡ : nf-mdi-camera_metering_matrix (fca1) -ﲢ : nf-mdi-camera_metering_partial (fca2) -ﲣ : nf-mdi-camera_metering_spot (fca3) -﫞 : nf-mdi-camera_off (fade) - : nf-mdi-camera_party_mode (f604) - : nf-mdi-camera_rear (f605) - : nf-mdi-camera_rear_variant (f606) - : nf-mdi-camera_switch (f607) - : nf-mdi-camera_timer (f608) -ﰸ : nf-mdi-cancel (fc38) -﫡 : nf-mdi-candle (fae1) - : nf-mdi-candycane (f609) -ﲤ : nf-mdi-cannabis (fca4) - : nf-mdi-car (f60a) - : nf-mdi-car_battery (f60b) - : nf-mdi-car_connected (f60c) -ﲥ : nf-mdi-car_convertible (fca5) -ﲦ : nf-mdi-car_estate (fca6) -ﲧ : nf-mdi-car_hatchback (fca7) -ﲨ : nf-mdi-car_pickup (fca8) -ﲩ : nf-mdi-car_side (fca9) -ﲪ : nf-mdi-car_sports (fcaa) - : nf-mdi-car_wash (f60d) -ﲫ : nf-mdi-caravan (fcab) -﬷ : nf-mdi-cards (fb37) -טּ : nf-mdi-cards_outline (fb38) -יּ : nf-mdi-cards_playing_outline (fb39) -﯅ : nf-mdi-cards_variant (fbc5) - : nf-mdi-carrot (f60e) - : nf-mdi-cart (f60f) -ﭪ : nf-mdi-cart_off (fb6a) - : nf-mdi-cart_outline (f610) - : nf-mdi-cart_plus (f611) - : nf-mdi-case_sensitive_alt (f612) - : nf-mdi-cash (f613) - : nf-mdi-cash_100 (f614) - : nf-mdi-cash_multiple (f615) - : nf-mdi-cash_usd (f616) - : nf-mdi-cast (f617) - : nf-mdi-cast_connected (f618) -ﲈ : nf-mdi-cast_off (fc88) - : nf-mdi-castle (f619) - : nf-mdi-cat (f61a) -ﲬ : nf-mdi-cctv (fcac) -ﱧ : nf-mdi-ceiling_light (fc67) - : nf-mdi-cellphone (f61b) - : nf-mdi-cellphone_android (f61c) - : nf-mdi-cellphone_basic (f61d) - : nf-mdi-cellphone_dock (f61e) - : nf-mdi-cellphone_iphone (f61f) - : nf-mdi-cellphone_link (f620) - : nf-mdi-cellphone_link_off (f621) - : nf-mdi-cellphone_settings (f622) -ﴓ : nf-mdi-cellphone_wireless (fd13) - : nf-mdi-certificate (f623) - : nf-mdi-chair_school (f624) - : nf-mdi-chart_arc (f625) - : nf-mdi-chart_areaspline (f626) - : nf-mdi-chart_bar (f627) -ﱨ : nf-mdi-chart_bar_stacked (fc68) -﫢 : nf-mdi-chart_bubble (fae2) -ﲭ : nf-mdi-chart_donut (fcad) -ﲮ : nf-mdi-chart_donut_variant (fcae) -ﭫ : nf-mdi-chart_gantt (fb6b) - : nf-mdi-chart_histogram (f628) - : nf-mdi-chart_line (f629) -ﱩ : nf-mdi-chart_line_stacked (fc69) -ﲯ : nf-mdi-chart_line_variant (fcaf) - : nf-mdi-chart_pie (f62a) -ﭬ : nf-mdi-chart_scatterplot_hexbin (fb6c) -ﭭ : nf-mdi-chart_timeline (fb6d) - : nf-mdi-check (f62b) - : nf-mdi-check_all (f62c) -﫟 : nf-mdi-check_circle (fadf) -﫠 : nf-mdi-check_circle_outline (fae0) - : nf-mdi-checkbox_blank (f62d) - : nf-mdi-checkbox_blank_circle (f62e) - : nf-mdi-checkbox_blank_circle_outline (f62f) - : nf-mdi-checkbox_blank_outline (f630) - : nf-mdi-checkbox_marked (f631) - : nf-mdi-checkbox_marked_circle (f632) - : nf-mdi-checkbox_marked_circle_outline (f633) - : nf-mdi-checkbox_marked_outline (f634) - : nf-mdi-checkbox_multiple_blank (f635) -ךּ : nf-mdi-checkbox_multiple_blank_circle (fb3a) -כּ : nf-mdi-checkbox_multiple_blank_circle_outline (fb3b) - : nf-mdi-checkbox_multiple_blank_outline (f636) - : nf-mdi-checkbox_multiple_marked (f637) -לּ : nf-mdi-checkbox_multiple_marked_circle (fb3c) -﬽ : nf-mdi-checkbox_multiple_marked_circle_outline (fb3d) - : nf-mdi-checkbox_multiple_marked_outline (f638) - : nf-mdi-checkerboard (f639) - : nf-mdi-chemical_weapon (f63a) - : nf-mdi-chevron_double_down (f63b) - : nf-mdi-chevron_double_left (f63c) - : nf-mdi-chevron_double_right (f63d) - : nf-mdi-chevron_double_up (f63e) - : nf-mdi-chevron_down (f63f) - : nf-mdi-chevron_left (f640) - : nf-mdi-chevron_right (f641) - : nf-mdi-chevron_up (f642) -ﲰ : nf-mdi-chili_hot (fcb0) -ﲱ : nf-mdi-chili_medium (fcb1) -ﲲ : nf-mdi-chili_mild (fcb2) -﬙ : nf-mdi-chip (fb19) - : nf-mdi-church (f643) -ﱣ : nf-mdi-circle (fc63) -ﱤ : nf-mdi-circle_outline (fc64) - : nf-mdi-cisco_webex (f644) - : nf-mdi-city (f645) - : nf-mdi-clipboard (f646) - : nf-mdi-clipboard_account (f647) - : nf-mdi-clipboard_alert (f648) - : nf-mdi-clipboard_arrow_down (f649) - : nf-mdi-clipboard_arrow_left (f64a) - : nf-mdi-clipboard_check (f64b) -﯆ : nf-mdi-clipboard_flow (fbc6) - : nf-mdi-clipboard_outline (f64c) -ﱏ : nf-mdi-clipboard_plus (fc4f) - : nf-mdi-clipboard_text (f64d) - : nf-mdi-clippy (f64e) - : nf-mdi-clock (f64f) -鬒 : nf-mdi-clock_alert (facd) - : nf-mdi-clock_end (f650) - : nf-mdi-clock_fast (f651) - : nf-mdi-clock_in (f652) - : nf-mdi-clock_out (f653) - : nf-mdi-clock_start (f654) - : nf-mdi-close (f655) - : nf-mdi-close_box (f656) - : nf-mdi-close_box_outline (f657) - : nf-mdi-close_circle (f658) - : nf-mdi-close_circle_outline (f659) - : nf-mdi-close_network (f65a) - : nf-mdi-close_octagon (f65b) - : nf-mdi-close_octagon_outline (f65c) -﯇ : nf-mdi-close_outline (fbc7) - : nf-mdi-closed_caption (f65d) - : nf-mdi-cloud (f65e) -ﲳ : nf-mdi-cloud_braces (fcb3) - : nf-mdi-cloud_check (f65f) - : nf-mdi-cloud_circle (f660) - : nf-mdi-cloud_download (f661) - : nf-mdi-cloud_off_outline (f663) - : nf-mdi-cloud_outline (f662) - : nf-mdi-cloud_print (f664) - : nf-mdi-cloud_print_outline (f665) -מּ : nf-mdi-cloud_sync (fb3e) -ﲴ : nf-mdi-cloud_tags (fcb4) - : nf-mdi-cloud_upload (f666) -ﴔ : nf-mdi-clover (fd14) - : nf-mdi-code_array (f667) - : nf-mdi-code_braces (f668) - : nf-mdi-code_brackets (f669) - : nf-mdi-code_equal (f66a) - : nf-mdi-code_greater_than (f66b) - : nf-mdi-code_greater_than_or_equal (f66c) - : nf-mdi-code_less_than (f66d) - : nf-mdi-code_less_than_or_equal (f66e) - : nf-mdi-code_not_equal (f66f) - : nf-mdi-code_not_equal_variant (f670) - : nf-mdi-code_parentheses (f671) - : nf-mdi-code_string (f672) - : nf-mdi-code_tags (f673) -ﮒ : nf-mdi-code_tags_check (fb92) - : nf-mdi-codepen (f674) - : nf-mdi-coffee (f675) -﯈ : nf-mdi-coffee_outline (fbc8) - : nf-mdi-coffee_to_go (f676) - : nf-mdi-coin (f677) -ﮓ : nf-mdi-coins (fb93) -﬿ : nf-mdi-collage (fb3f) - : nf-mdi-color_helper (f678) - : nf-mdi-comment (f679) - : nf-mdi-comment_account (f67a) - : nf-mdi-comment_account_outline (f67b) - : nf-mdi-comment_alert (f67c) - : nf-mdi-comment_alert_outline (f67d) - : nf-mdi-comment_check (f67e) - : nf-mdi-comment_check_outline (f67f) - : nf-mdi-comment_multiple_outline (f680) - : nf-mdi-comment_outline (f681) - : nf-mdi-comment_plus_outline (f682) - : nf-mdi-comment_processing (f683) - : nf-mdi-comment_processing_outline (f684) -ﴕ : nf-mdi-comment_question (fd15) - : nf-mdi-comment_question_outline (f685) -﫝 : nf-mdi-comment_remove (fadd) - : nf-mdi-comment_remove_outline (f686) - : nf-mdi-comment_text (f687) - : nf-mdi-comment_text_outline (f688) - : nf-mdi-compare (f689) - : nf-mdi-compass (f68a) - : nf-mdi-compass_outline (f68b) - : nf-mdi-console (f68c) -ﲵ : nf-mdi-console_line (fcb5) - : nf-mdi-contact_mail (f68d) -﯉ : nf-mdi-contacts (fbc9) - : nf-mdi-content_copy (f68e) - : nf-mdi-content_cut (f68f) - : nf-mdi-content_duplicate (f690) - : nf-mdi-content_paste (f691) - : nf-mdi-content_save (f692) - : nf-mdi-content_save_all (f693) -ﴖ : nf-mdi-content_save_outline (fd16) -﬚ : nf-mdi-content_save_settings (fb1a) - : nf-mdi-contrast (f694) - : nf-mdi-contrast_box (f695) - : nf-mdi-contrast_circle (f696) - : nf-mdi-cookie (f697) -﫥 : nf-mdi-copyright (fae5) -ﲶ : nf-mdi-corn (fcb6) - : nf-mdi-counter (f698) - : nf-mdi-cow (f699) - : nf-mdi-creation (f6c8) - : nf-mdi-credit_card (f69a) - : nf-mdi-credit_card_multiple (f69b) -﫣 : nf-mdi-credit_card_off (fae3) -ﭴ : nf-mdi-credit_card_plus (fb74) - : nf-mdi-credit_card_scan (f69c) - : nf-mdi-crop (f69d) - : nf-mdi-crop_free (f69e) - : nf-mdi-crop_landscape (f69f) - : nf-mdi-crop_portrait (f6a0) -ﮔ : nf-mdi-crop_rotate (fb94) - : nf-mdi-crop_square (f6a1) - : nf-mdi-crosshairs (f6a2) - : nf-mdi-crosshairs_gps (f6a3) - : nf-mdi-crown (f6a4) - : nf-mdi-cube (f6a5) - : nf-mdi-cube_outline (f6a6) - : nf-mdi-cube_send (f6a7) - : nf-mdi-cube_unfolded (f6a8) - : nf-mdi-cup (f6a9) -﫤 : nf-mdi-cup_off (fae4) - : nf-mdi-cup_water (f6aa) - : nf-mdi-currency_btc (f6ab) -ﲷ : nf-mdi-currency_chf (fcb7) -ﲸ : nf-mdi-currency_cny (fcb8) -ﲹ : nf-mdi-currency_eth (fcb9) - : nf-mdi-currency_eur (f6ac) - : nf-mdi-currency_gbp (f6ad) - : nf-mdi-currency_inr (f6ae) -ﲺ : nf-mdi-currency_jpy (fcba) -ﲻ : nf-mdi-currency_krw (fcbb) - : nf-mdi-currency_ngn (f6af) - : nf-mdi-currency_rub (f6b0) -ﲼ : nf-mdi-currency_sign (fcbc) - : nf-mdi-currency_try (f6b1) -ﲽ : nf-mdi-currency_twd (fcbd) - : nf-mdi-currency_usd (f6b2) -ﭸ : nf-mdi-currency_usd_off (fb78) - : nf-mdi-cursor_default (f6b3) - : nf-mdi-cursor_default_outline (f6b4) - : nf-mdi-cursor_move (f6b5) - : nf-mdi-cursor_pointer (f6b6) -﫦 : nf-mdi-cursor_text (fae6) - : nf-mdi-database (f6b7) - : nf-mdi-database_minus (f6b8) - : nf-mdi-database_plus (f6b9) - : nf-mdi-debug_step_into (f6ba) - : nf-mdi-debug_step_out (f6bb) - : nf-mdi-debug_step_over (f6bc) -ﱪ : nf-mdi-decagram (fc6a) -ﱫ : nf-mdi-decagram_outline (fc6b) - : nf-mdi-decimal_decrease (f6bd) - : nf-mdi-decimal_increase (f6be) - : nf-mdi-delete (f6bf) -ﮁ : nf-mdi-delete_circle (fb81) -﯊ : nf-mdi-delete_empty (fbca) -﫧 : nf-mdi-delete_forever (fae7) -ﴗ : nf-mdi-delete_restore (fd17) -﫨 : nf-mdi-delete_sweep (fae8) - : nf-mdi-delete_variant (f6c0) - : nf-mdi-delta (f6c1) - : nf-mdi-deskphone (f6c2) -ﲾ : nf-mdi-desktop_classic (fcbe) - : nf-mdi-desktop_mac (f6c3) - : nf-mdi-desktop_tower (f6c4) - : nf-mdi-details (f6c5) -ﮕ : nf-mdi-developer_board (fb95) - : nf-mdi-deviantart (f6c6) -﬛ : nf-mdi-dialpad (fb1b) - : nf-mdi-diamond (f6c7) - : nf-mdi-dice_1 (f6c9) - : nf-mdi-dice_2 (f6ca) - : nf-mdi-dice_3 (f6cb) - : nf-mdi-dice_4 (f6cc) - : nf-mdi-dice_5 (f6cd) - : nf-mdi-dice_6 (f6ce) -ﱭ : nf-mdi-dice_d10 (fc6d) -﫩 : nf-mdi-dice_d20 (fae9) -﫪 : nf-mdi-dice_d4 (faea) -﫫 : nf-mdi-dice_d6 (faeb) -﫬 : nf-mdi-dice_d8 (faec) -ﱬ : nf-mdi-dice_multiple (fc6c) -﬜ : nf-mdi-dictionary (fb1c) -ﲿ : nf-mdi-dip_switch (fcbf) - : nf-mdi-directions (f6cf) -נּ : nf-mdi-directions_fork (fb40) -ﭮ : nf-mdi-discord (fb6e) -﫭 : nf-mdi-disk (faed) - : nf-mdi-disk_alert (f6d0) - : nf-mdi-disqus (f6d1) - : nf-mdi-disqus_outline (f6d2) - : nf-mdi-division (f6d3) - : nf-mdi-division_box (f6d4) -ﮂ : nf-mdi-dna (fb82) - : nf-mdi-dns (f6d5) -ﮖ : nf-mdi-do_not_disturb (fb96) -ﮗ : nf-mdi-do_not_disturb_off (fb97) -ﮱ : nf-mdi-dolby (fbb1) - : nf-mdi-domain (f6d6) -ﳀ : nf-mdi-donkey (fcc0) -ﴘ : nf-mdi-door (fd18) -ﴙ : nf-mdi-door_closed (fd19) -ﴚ : nf-mdi-door_open (fd1a) - : nf-mdi-dots_horizontal (f6d7) -ﳁ : nf-mdi-dots_horizontal_circle (fcc1) - : nf-mdi-dots_vertical (f6d8) -ﳂ : nf-mdi-dots_vertical_circle (fcc2) -ﮘ : nf-mdi-douban (fb98) - : nf-mdi-download (f6d9) -ﯲ : nf-mdi-download_network (fbf2) - : nf-mdi-drag (f6da) - : nf-mdi-drag_horizontal (f6db) - : nf-mdi-drag_vertical (f6dc) - : nf-mdi-drawing (f6dd) - : nf-mdi-drawing_box (f6de) - : nf-mdi-dribbble (f6df) - : nf-mdi-dribbble_box (f6e0) - : nf-mdi-drone (f6e1) - : nf-mdi-dropbox (f6e2) - : nf-mdi-drupal (f6e3) - : nf-mdi-duck (f6e4) - : nf-mdi-dumbbell (f6e5) -ﳃ : nf-mdi-ear_hearing (fcc3) - : nf-mdi-earth (f6e6) -﯋ : nf-mdi-earth_box (fbcb) -﯌ : nf-mdi-earth_box_off (fbcc) - : nf-mdi-earth_off (f6e7) - : nf-mdi-edge (f6e8) - : nf-mdi-eject (f6e9) -ﳄ : nf-mdi-elephant (fcc4) - : nf-mdi-elevation_decline (f6ea) - : nf-mdi-elevation_rise (f6eb) - : nf-mdi-elevator (f6ec) - : nf-mdi-email (f6ed) -﯍ : nf-mdi-email_alert (fbcd) - : nf-mdi-email_open (f6ee) -﫮 : nf-mdi-email_open_outline (faee) - : nf-mdi-email_outline (f6ef) - : nf-mdi-email_secure (f6f0) -﫯 : nf-mdi-email_variant (faef) -﮲ : nf-mdi-emby (fbb2) - : nf-mdi-emoticon (f6f1) - : nf-mdi-emoticon_cool (f6f2) -ﮙ : nf-mdi-emoticon_dead (fb99) - : nf-mdi-emoticon_devil (f6f3) -ﮚ : nf-mdi-emoticon_excited (fb9a) - : nf-mdi-emoticon_happy (f6f4) - : nf-mdi-emoticon_neutral (f6f5) - : nf-mdi-emoticon_poop (f6f6) - : nf-mdi-emoticon_sad (f6f7) - : nf-mdi-emoticon_tongue (f6f8) - : nf-mdi-engine (f6f9) - : nf-mdi-engine_outline (f6fa) - : nf-mdi-equal (f6fb) - : nf-mdi-equal_box (f6fc) - : nf-mdi-eraser (f6fd) -סּ : nf-mdi-eraser_variant (fb41) - : nf-mdi-escalator (f6fe) - : nf-mdi-ethernet (f6ff) - : nf-mdi-ethernet_cable (f700) - : nf-mdi-ethernet_cable_off (f701) - : nf-mdi-etsy (f702) -﫰 : nf-mdi-ev_station (faf0) -ﳅ : nf-mdi-eventbrite (fcc5) - : nf-mdi-evernote (f703) - : nf-mdi-exclamation (f704) - : nf-mdi-exit_to_app (f705) - : nf-mdi-export (f706) - : nf-mdi-eye (f707) - : nf-mdi-eye_off (f708) -﯏ : nf-mdi-eye_off_outline (fbcf) -﯎ : nf-mdi-eye_outline (fbce) - : nf-mdi-eyedropper (f709) - : nf-mdi-eyedropper_variant (f70a) -﭂ : nf-mdi-face (fb42) -ףּ : nf-mdi-face_profile (fb43) - : nf-mdi-facebook (f70b) - : nf-mdi-facebook_box (f70c) - : nf-mdi-facebook_messenger (f70d) - : nf-mdi-factory (f70e) - : nf-mdi-fan (f70f) -ﴛ : nf-mdi-fan_off (fd1b) - : nf-mdi-fast_forward (f710) -﯐ : nf-mdi-fast_forward_outline (fbd0) - : nf-mdi-fax (f711) -﯑ : nf-mdi-feather (fbd1) - : nf-mdi-ferry (f712) - : nf-mdi-file (f713) -ﰹ : nf-mdi-file_account (fc39) - : nf-mdi-file_chart (f714) - : nf-mdi-file_check (f715) - : nf-mdi-file_cloud (f716) - : nf-mdi-file_delimited (f717) - : nf-mdi-file_document (f718) - : nf-mdi-file_document_box (f719) - : nf-mdi-file_excel (f71a) - : nf-mdi-file_excel_box (f71b) - : nf-mdi-file_export (f71c) - : nf-mdi-file_find (f71d) -﬒ : nf-mdi-file_hidden (fb12) - : nf-mdi-file_image (f71e) - : nf-mdi-file_import (f71f) - : nf-mdi-file_lock (f720) - : nf-mdi-file_multiple (f721) - : nf-mdi-file_music (f722) - : nf-mdi-file_outline (f723) - : nf-mdi-file_pdf (f724) - : nf-mdi-file_pdf_box (f725) -ﴜ : nf-mdi-file_percent (fd1c) -ﱐ : nf-mdi-file_plus (fc50) - : nf-mdi-file_powerpoint (f726) - : nf-mdi-file_powerpoint_box (f727) - : nf-mdi-file_presentation_box (f728) -ﭯ : nf-mdi-file_restore (fb6f) - : nf-mdi-file_send (f729) -פּ : nf-mdi-file_tree (fb44) - : nf-mdi-file_video (f72a) - : nf-mdi-file_word (f72b) - : nf-mdi-file_word_box (f72c) - : nf-mdi-file_xml (f72d) - : nf-mdi-film (f72e) - : nf-mdi-filmstrip (f72f) - : nf-mdi-filmstrip_off (f730) - : nf-mdi-filter (f731) - : nf-mdi-filter_outline (f732) - : nf-mdi-filter_remove (f733) - : nf-mdi-filter_remove_outline (f734) - : nf-mdi-filter_variant (f735) -ﴝ : nf-mdi-finance (fd1d) -﯒ : nf-mdi-find_replace (fbd2) - : nf-mdi-fingerprint (f736) - : nf-mdi-fire (f737) - : nf-mdi-firefox (f738) - : nf-mdi-fish (f739) - : nf-mdi-flag (f73a) - : nf-mdi-flag_checkered (f73b) - : nf-mdi-flag_outline (f73c) - : nf-mdi-flag_triangle (f73e) - : nf-mdi-flag_variant (f73f) - : nf-mdi-flag_variant_outline (f73d) - : nf-mdi-flash (f740) - : nf-mdi-flash_auto (f741) -ﴞ : nf-mdi-flash_circle (fd1e) - : nf-mdi-flash_off (f742) -ﯓ : nf-mdi-flash_outline (fbd3) -ﭹ : nf-mdi-flash_red_eye (fb79) - : nf-mdi-flashlight (f743) - : nf-mdi-flashlight_off (f744) - : nf-mdi-flask (f592) - : nf-mdi-flask_empty (f593) - : nf-mdi-flask_empty_outline (f594) - : nf-mdi-flask_outline (f595) - : nf-mdi-flattr (f745) - : nf-mdi-flip_to_back (f746) - : nf-mdi-flip_to_front (f747) -ﴟ : nf-mdi-floor_plan (fd1f) - : nf-mdi-floppy (f748) - : nf-mdi-flower (f749) - : nf-mdi-folder (f74a) - : nf-mdi-folder_account (f74b) - : nf-mdi-folder_download (f74c) - : nf-mdi-folder_google_drive (f74d) - : nf-mdi-folder_image (f74e) - : nf-mdi-folder_lock (f74f) - : nf-mdi-folder_lock_open (f750) - : nf-mdi-folder_move (f751) - : nf-mdi-folder_multiple (f752) - : nf-mdi-folder_multiple_image (f753) - : nf-mdi-folder_multiple_outline (f754) -ﱮ : nf-mdi-folder_open (fc6e) - : nf-mdi-folder_outline (f755) - : nf-mdi-folder_plus (f756) - : nf-mdi-folder_remove (f757) -ﮛ : nf-mdi-folder_star (fb9b) - : nf-mdi-folder_upload (f758) - : nf-mdi-font_awesome (f539) - : nf-mdi-food (f759) - : nf-mdi-food_apple (f75a) -ﳆ : nf-mdi-food_croissant (fcc6) -﫱 : nf-mdi-food_fork_drink (faf1) -﫲 : nf-mdi-food_off (faf2) - : nf-mdi-food_variant (f75b) - : nf-mdi-football (f75c) - : nf-mdi-football_australian (f75d) - : nf-mdi-football_helmet (f75e) -ﳇ : nf-mdi-forklift (fcc7) -ﱑ : nf-mdi-format_align_bottom (fc51) - : nf-mdi-format_align_center (f75f) - : nf-mdi-format_align_justify (f760) - : nf-mdi-format_align_left (f761) -ﱒ : nf-mdi-format_align_middle (fc52) - : nf-mdi-format_align_right (f762) -ﱓ : nf-mdi-format_align_top (fc53) -﭅ : nf-mdi-format_annotation_plus (fb45) - : nf-mdi-format_bold (f763) - : nf-mdi-format_clear (f764) - : nf-mdi-format_color_fill (f765) -ﮜ : nf-mdi-format_color_text (fb9c) - : nf-mdi-format_float_center (f766) - : nf-mdi-format_float_left (f767) - : nf-mdi-format_float_none (f768) - : nf-mdi-format_float_right (f769) -ﯔ : nf-mdi-format_font (fbd4) - : nf-mdi-format_header_1 (f76a) - : nf-mdi-format_header_2 (f76b) - : nf-mdi-format_header_3 (f76c) - : nf-mdi-format_header_4 (f76d) - : nf-mdi-format_header_5 (f76e) - : nf-mdi-format_header_6 (f76f) - : nf-mdi-format_header_decrease (f770) - : nf-mdi-format_header_equal (f771) - : nf-mdi-format_header_increase (f772) - : nf-mdi-format_header_pound (f773) -יִ : nf-mdi-format_horizontal_align_center (fb1d) -ﬞ : nf-mdi-format_horizontal_align_left (fb1e) -ײַ : nf-mdi-format_horizontal_align_right (fb1f) - : nf-mdi-format_indent_decrease (f774) - : nf-mdi-format_indent_increase (f775) - : nf-mdi-format_italic (f776) - : nf-mdi-format_line_spacing (f777) -難 : nf-mdi-format_line_style (fac7) -靖 : nf-mdi-format_line_weight (fac8) - : nf-mdi-format_list_bulleted (f778) - : nf-mdi-format_list_bulleted_type (f779) -ﱔ : nf-mdi-format_list_checks (fc54) - : nf-mdi-format_list_numbers (f77a) -ﯕ : nf-mdi-format_page_break (fbd5) - : nf-mdi-format_paint (f77b) - : nf-mdi-format_paragraph (f77c) -ﯖ : nf-mdi-format_pilcrow (fbd6) - : nf-mdi-format_quote_close (f77d) -ﱕ : nf-mdi-format_quote_open (fc55) -ﮨ : nf-mdi-format_rotate_90 (fba8) -ﮝ : nf-mdi-format_section (fb9d) - : nf-mdi-format_size (f77e) - : nf-mdi-format_strikethrough (f77f) - : nf-mdi-format_strikethrough_variant (f780) - : nf-mdi-format_subscript (f781) - : nf-mdi-format_superscript (f782) - : nf-mdi-format_text (f783) - : nf-mdi-format_textdirection_l_to_r (f784) - : nf-mdi-format_textdirection_r_to_l (f785) -﫳 : nf-mdi-format_title (faf3) - : nf-mdi-format_underline (f786) -ﬠ : nf-mdi-format_vertical_align_bottom (fb20) -ﬡ : nf-mdi-format_vertical_align_center (fb21) -ﬢ : nf-mdi-format_vertical_align_top (fb22) - : nf-mdi-format_wrap_inline (f787) - : nf-mdi-format_wrap_square (f788) - : nf-mdi-format_wrap_tight (f789) - : nf-mdi-format_wrap_top_bottom (f78a) - : nf-mdi-forum (f78b) -ﴠ : nf-mdi-forum_outline (fd20) - : nf-mdi-forward (f78c) - : nf-mdi-foursquare (f78d) - : nf-mdi-fridge (f78e) - : nf-mdi-fridge_filled (f78f) - : nf-mdi-fridge_filled_bottom (f790) - : nf-mdi-fridge_filled_top (f791) -ﳈ : nf-mdi-fuel (fcc8) - : nf-mdi-fullscreen (f792) - : nf-mdi-fullscreen_exit (f793) - : nf-mdi-function (f794) - : nf-mdi-gamepad (f795) - : nf-mdi-gamepad_variant (f796) -ﯗ : nf-mdi-garage (fbd7) -ﯘ : nf-mdi-garage_open (fbd8) -צּ : nf-mdi-gas_cylinder (fb46) - : nf-mdi-gas_station (f797) - : nf-mdi-gate (f798) - : nf-mdi-gauge (f799) - : nf-mdi-gavel (f79a) - : nf-mdi-gender_female (f79b) - : nf-mdi-gender_male (f79c) - : nf-mdi-gender_male_female (f79d) - : nf-mdi-gender_transgender (f79e) -ﳉ : nf-mdi-gesture (fcc9) -ﰺ : nf-mdi-gesture_double_tap (fc3a) -ﰻ : nf-mdi-gesture_swipe_down (fc3b) -ﰼ : nf-mdi-gesture_swipe_left (fc3c) -ﰽ : nf-mdi-gesture_swipe_right (fc3d) -ﰾ : nf-mdi-gesture_swipe_up (fc3e) -ﰿ : nf-mdi-gesture_tap (fc3f) -ﱀ : nf-mdi-gesture_two_double_tap (fc40) -ﱁ : nf-mdi-gesture_two_tap (fc41) - : nf-mdi-ghost (f79f) - : nf-mdi-gift (f7a0) - : nf-mdi-git (f7a1) - : nf-mdi-github_box (f7a2) - : nf-mdi-github_circle (f7a3) -ﯙ : nf-mdi-github_face (fbd9) - : nf-mdi-glass_flute (f7a4) - : nf-mdi-glass_mug (f7a5) - : nf-mdi-glass_stange (f7a6) - : nf-mdi-glass_tulip (f7a7) - : nf-mdi-glassdoor (f7a8) - : nf-mdi-glasses (f7a9) - : nf-mdi-gmail (f7aa) - : nf-mdi-gnome (f7ab) -ﴡ : nf-mdi-golf (fd21) -ﮄ : nf-mdi-gondola (fb84) - : nf-mdi-google (f7ac) -ﳊ : nf-mdi-google_analytics (fcca) -ﳋ : nf-mdi-google_assistant (fccb) - : nf-mdi-google_cardboard (f7ad) - : nf-mdi-google_chrome (f7ae) - : nf-mdi-google_circles (f7af) - : nf-mdi-google_circles_communities (f7b0) - : nf-mdi-google_circles_extended (f7b1) - : nf-mdi-google_circles_group (f7b2) - : nf-mdi-google_controller (f7b3) - : nf-mdi-google_controller_off (f7b4) - : nf-mdi-google_drive (f7b5) - : nf-mdi-google_earth (f7b6) - : nf-mdi-google_glass (f7b7) -ﴢ : nf-mdi-google_home (fd22) -ﯚ : nf-mdi-google_keep (fbda) -﫴 : nf-mdi-google_maps (faf4) - : nf-mdi-google_nearby (f7b8) - : nf-mdi-google_pages (f7b9) -ﯛ : nf-mdi-google_photos (fbdb) - : nf-mdi-google_physical_web (f7ba) - : nf-mdi-google_play (f7bb) - : nf-mdi-google_plus (f7bc) - : nf-mdi-google_plus_box (f7bd) - : nf-mdi-google_translate (f7be) - : nf-mdi-google_wallet (f7bf) -ﮞ : nf-mdi-gradient (fb9e) -קּ : nf-mdi-grease_pencil (fb47) - : nf-mdi-grid (f7c0) -ﱖ : nf-mdi-grid_large (fc56) - : nf-mdi-grid_off (f7c1) - : nf-mdi-group (f7c2) -ﱯ : nf-mdi-guitar_acoustic (fc6f) - : nf-mdi-guitar_electric (f7c3) - : nf-mdi-guitar_pick (f7c4) - : nf-mdi-guitar_pick_outline (f7c5) -ﴣ : nf-mdi-guy_fawkes_mask (fd23) -ﬣ : nf-mdi-hackernews (fb23) -ﮃ : nf-mdi-hamburger (fb83) - : nf-mdi-hand_pointing_right (f7c6) - : nf-mdi-hanger (f7c7) - : nf-mdi-hangouts (f7c8) - : nf-mdi-harddisk (f7c9) - : nf-mdi-headphones (f7ca) - : nf-mdi-headphones_box (f7cb) -ﳌ : nf-mdi-headphones_off (fccc) - : nf-mdi-headphones_settings (f7cc) - : nf-mdi-headset (f7cd) - : nf-mdi-headset_dock (f7ce) - : nf-mdi-headset_off (f7cf) - : nf-mdi-heart (f7d0) - : nf-mdi-heart_box (f7d1) - : nf-mdi-heart_box_outline (f7d2) - : nf-mdi-heart_broken (f7d3) -ﯝ : nf-mdi-heart_half (fbdd) -ﯜ : nf-mdi-heart_half_full (fbdc) -ﯞ : nf-mdi-heart_half_outline (fbde) -ﱗ : nf-mdi-heart_off (fc57) - : nf-mdi-heart_outline (f7d4) -﫵 : nf-mdi-heart_pulse (faf5) - : nf-mdi-help (f7d5) -ﲉ : nf-mdi-help_box (fc89) - : nf-mdi-help_circle (f7d6) -ﬤ : nf-mdi-help_circle_outline (fb24) -ﯳ : nf-mdi-help_network (fbf3) - : nf-mdi-hexagon (f7d7) -ﯟ : nf-mdi-hexagon_multiple (fbdf) - : nf-mdi-hexagon_outline (f7d8) -ﳍ : nf-mdi-high_definition (fccd) -﫶 : nf-mdi-highway (faf6) - : nf-mdi-history (f7d9) - : nf-mdi-hololens (f7da) - : nf-mdi-home (f7db) -ﴤ : nf-mdi-home_account (fd24) -ﳎ : nf-mdi-home_assistant (fcce) -ﳏ : nf-mdi-home_automation (fccf) -ﳐ : nf-mdi-home_circle (fcd0) -ﴥ : nf-mdi-home_heart (fd25) -﫷 : nf-mdi-home_map_marker (faf7) - : nf-mdi-home_modern (f7dc) -ﮟ : nf-mdi-home_outline (fb9f) - : nf-mdi-home_variant (f7dd) -ﯠ : nf-mdi-hook (fbe0) -ﯡ : nf-mdi-hook_off (fbe1) - : nf-mdi-hops (f7de) - : nf-mdi-hospital (f7df) - : nf-mdi-hospital_building (f7e0) - : nf-mdi-hospital_marker (f7e1) -ﴦ : nf-mdi-hot_tub (fd26) - : nf-mdi-hotel (f7e2) - : nf-mdi-houzz (f7e3) - : nf-mdi-houzz_box (f7e4) -ﴧ : nf-mdi-hulu (fd27) - : nf-mdi-human (f7e5) - : nf-mdi-human_child (f7e6) -רּ : nf-mdi-human_female (fb48) -שּ : nf-mdi-human_greeting (fb49) -תּ : nf-mdi-human_handsdown (fb4a) -וֹ : nf-mdi-human_handsup (fb4b) -בֿ : nf-mdi-human_male (fb4c) - : nf-mdi-human_male_female (f7e7) -龜 : nf-mdi-human_pregnant (face) -ﱂ : nf-mdi-humble_bundle (fc42) -ﴨ : nf-mdi-ice_cream (fd28) - : nf-mdi-image (f7e8) - : nf-mdi-image_album (f7e9) - : nf-mdi-image_area (f7ea) - : nf-mdi-image_area_close (f7eb) - : nf-mdi-image_broken (f7ec) - : nf-mdi-image_broken_variant (f7ed) - : nf-mdi-image_filter (f7ee) - : nf-mdi-image_filter_black_white (f7ef) - : nf-mdi-image_filter_center_focus (f7f0) - : nf-mdi-image_filter_center_focus_weak (f7f1) - : nf-mdi-image_filter_drama (f7f2) - : nf-mdi-image_filter_frames (f7f3) - : nf-mdi-image_filter_hdr (f7f4) - : nf-mdi-image_filter_none (f7f5) - : nf-mdi-image_filter_tilt_shift (f7f6) - : nf-mdi-image_filter_vintage (f7f7) - : nf-mdi-image_multiple (f7f8) -ﴩ : nf-mdi-image_off (fd29) - : nf-mdi-import (f7f9) -ﮅ : nf-mdi-inbox (fb85) - : nf-mdi-inbox_arrow_down (f7fa) - : nf-mdi-inbox_arrow_up (f8d0) -﫸 : nf-mdi-incognito (faf8) -ﯢ : nf-mdi-infinity (fbe2) - : nf-mdi-information (f7fb) - : nf-mdi-information_outline (f7fc) -כֿ : nf-mdi-information_variant (fb4d) - : nf-mdi-instagram (f7fd) - : nf-mdi-instapaper (f7fe) - : nf-mdi-internet_explorer (f7ff) - : nf-mdi-invert_colors (f800) -ﭵ : nf-mdi-itunes (fb75) - : nf-mdi-jeepney (f801) - : nf-mdi-jira (f802) - : nf-mdi-jsfiddle (f803) -ﬥ : nf-mdi-json (fb25) -ﴪ : nf-mdi-karate (fd2a) - : nf-mdi-keg (f804) -﫹 : nf-mdi-kettle (faf9) - : nf-mdi-key (f805) - : nf-mdi-key_change (f806) - : nf-mdi-key_minus (f807) - : nf-mdi-key_plus (f808) - : nf-mdi-key_remove (f809) - : nf-mdi-key_variant (f80a) - : nf-mdi-keyboard (f80b) - : nf-mdi-keyboard_backspace (f80c) - : nf-mdi-keyboard_caps (f80d) - : nf-mdi-keyboard_close (f80e) - : nf-mdi-keyboard_off (f80f) - : nf-mdi-keyboard_return (f810) - : nf-mdi-keyboard_tab (f811) - : nf-mdi-keyboard_variant (f812) -ﱃ : nf-mdi-kickstarter (fc43) - : nf-mdi-kodi (f813) - : nf-mdi-label (f814) - : nf-mdi-label_outline (f815) -ﴫ : nf-mdi-ladybug (fd2b) -ﬦ : nf-mdi-lambda (fb26) -﮳ : nf-mdi-lamp (fbb3) - : nf-mdi-lan (f816) - : nf-mdi-lan_connect (f817) - : nf-mdi-lan_disconnect (f818) - : nf-mdi-lan_pending (f819) -ﭰ : nf-mdi-language_c (fb70) -ﭱ : nf-mdi-language_cpp (fb71) - : nf-mdi-language_csharp (f81a) - : nf-mdi-language_css3 (f81b) -ﳑ : nf-mdi-language_go (fcd1) - : nf-mdi-language_html5 (f81c) - : nf-mdi-language_javascript (f81d) - : nf-mdi-language_php (f81e) - : nf-mdi-language_python (f81f) - : nf-mdi-language_python_text (f820) -ﳒ : nf-mdi-language_r (fcd2) -ﯣ : nf-mdi-language_swift (fbe3) -ﯤ : nf-mdi-language_typescript (fbe4) - : nf-mdi-laptop (f821) - : nf-mdi-laptop_chromebook (f822) - : nf-mdi-laptop_mac (f823) -ﯥ : nf-mdi-laptop_off (fbe5) - : nf-mdi-laptop_windows (f824) - : nf-mdi-lastfm (f825) -聾 : nf-mdi-lastpass (f945) - : nf-mdi-launch (f826) -ﳓ : nf-mdi-lava_lamp (fcd3) - : nf-mdi-layers (f827) - : nf-mdi-layers_off (f828) -פֿ : nf-mdi-lead_pencil (fb4e) - : nf-mdi-leaf (f829) - : nf-mdi-led_off (f82a) - : nf-mdi-led_on (f82b) - : nf-mdi-led_outline (f82c) -ﳔ : nf-mdi-led_strip (fcd4) - : nf-mdi-led_variant_off (f82d) - : nf-mdi-led_variant_on (f82e) - : nf-mdi-led_variant_outline (f82f) - : nf-mdi-library (f830) - : nf-mdi-library_books (f831) - : nf-mdi-library_music (f832) - : nf-mdi-library_plus (f833) - : nf-mdi-lightbulb (f834) -ﯦ : nf-mdi-lightbulb_on (fbe6) -ﯧ : nf-mdi-lightbulb_on_outline (fbe7) - : nf-mdi-lightbulb_outline (f835) - : nf-mdi-link (f836) - : nf-mdi-link_off (f837) - : nf-mdi-link_variant (f838) - : nf-mdi-link_variant_off (f839) - : nf-mdi-linkedin (f83a) - : nf-mdi-linkedin_box (f83b) - : nf-mdi-linux (f83c) -ﱰ : nf-mdi-loading (fc70) - : nf-mdi-lock (f83d) - : nf-mdi-lock_open (f83e) - : nf-mdi-lock_open_outline (f83f) - : nf-mdi-lock_outline (f840) -ﯨ : nf-mdi-lock_pattern (fbe8) -﫺 : nf-mdi-lock_plus (fafa) -ﱱ : nf-mdi-lock_reset (fc71) -ﳕ : nf-mdi-locker (fcd5) -ﳖ : nf-mdi-locker_multiple (fcd6) - : nf-mdi-login (f841) -﫻 : nf-mdi-login_variant (fafb) - : nf-mdi-logout (f842) -﫼 : nf-mdi-logout_variant (fafc) - : nf-mdi-looks (f843) -ﯩ : nf-mdi-loop (fbe9) - : nf-mdi-loupe (f844) - : nf-mdi-lumx (f845) - : nf-mdi-magnet (f846) - : nf-mdi-magnet_on (f847) - : nf-mdi-magnify (f848) - : nf-mdi-magnify_minus (f849) -ﯪ : nf-mdi-magnify_minus_outline (fbea) - : nf-mdi-magnify_plus (f84a) -ﯫ : nf-mdi-magnify_plus_outline (fbeb) - : nf-mdi-mail_ru (f84b) -ﯬ : nf-mdi-mailbox (fbec) - : nf-mdi-map (f84c) - : nf-mdi-map_marker (f84d) - : nf-mdi-map_marker_circle (f84e) -ﭏ : nf-mdi-map_marker_minus (fb4f) - : nf-mdi-map_marker_multiple (f84f) - : nf-mdi-map_marker_off (f850) -ﳗ : nf-mdi-map_marker_outline (fcd7) -ﭐ : nf-mdi-map_marker_plus (fb50) - : nf-mdi-map_marker_radius (f851) - : nf-mdi-margin (f852) - : nf-mdi-markdown (f853) -ﭑ : nf-mdi-marker (fb51) - : nf-mdi-marker_check (f854) - : nf-mdi-martini (f855) - : nf-mdi-material_ui (f856) - : nf-mdi-math_compass (f857) -ﬧ : nf-mdi-matrix (fb27) - : nf-mdi-maxcdn (f858) -ﯭ : nf-mdi-medical_bag (fbed) - : nf-mdi-medium (f859) - : nf-mdi-memory (f85a) - : nf-mdi-menu (f85b) - : nf-mdi-menu_down (f85c) -﮴ : nf-mdi-menu_down_outline (fbb4) - : nf-mdi-menu_left (f85d) - : nf-mdi-menu_right (f85e) - : nf-mdi-menu_up (f85f) -﮵ : nf-mdi-menu_up_outline (fbb5) - : nf-mdi-message (f860) - : nf-mdi-message_alert (f861) -ﮠ : nf-mdi-message_bulleted (fba0) -ﮡ : nf-mdi-message_bulleted_off (fba1) - : nf-mdi-message_draw (f862) - : nf-mdi-message_image (f863) - : nf-mdi-message_outline (f864) -ﭒ : nf-mdi-message_plus (fb52) - : nf-mdi-message_processing (f865) - : nf-mdi-message_reply (f866) - : nf-mdi-message_reply_text (f867) -ﯮ : nf-mdi-message_settings (fbee) -ﯯ : nf-mdi-message_settings_variant (fbef) - : nf-mdi-message_text (f868) - : nf-mdi-message_text_outline (f869) - : nf-mdi-message_video (f86a) -ﬨ : nf-mdi-meteor (fb28) -ﳘ : nf-mdi-metronome (fcd8) -ﳙ : nf-mdi-metronome_tick (fcd9) -ﳚ : nf-mdi-micro_sd (fcda) - : nf-mdi-microphone (f86b) - : nf-mdi-microphone_off (f86c) - : nf-mdi-microphone_outline (f86d) - : nf-mdi-microphone_settings (f86e) - : nf-mdi-microphone_variant (f86f) - : nf-mdi-microphone_variant_off (f870) -ﭓ : nf-mdi-microscope (fb53) - : nf-mdi-microsoft (f871) - : nf-mdi-minecraft (f872) - : nf-mdi-minus (f873) - : nf-mdi-minus_box (f874) -ﯰ : nf-mdi-minus_box_outline (fbf0) - : nf-mdi-minus_circle (f875) - : nf-mdi-minus_circle_outline (f876) - : nf-mdi-minus_network (f877) -﬩ : nf-mdi-mixcloud (fb29) -ﳛ : nf-mdi-mixer (fcdb) - : nf-mdi-monitor (f878) - : nf-mdi-monitor_multiple (f879) - : nf-mdi-more (f87a) - : nf-mdi-motorbike (f87b) - : nf-mdi-mouse (f87c) - : nf-mdi-mouse_off (f87d) - : nf-mdi-mouse_variant (f87e) - : nf-mdi-mouse_variant_off (f87f) -ﭔ : nf-mdi-move_resize (fb54) -ﭕ : nf-mdi-move_resize_variant (fb55) - : nf-mdi-movie (f880) -ﳜ : nf-mdi-movie_roll (fcdc) - : nf-mdi-multiplication (f881) - : nf-mdi-multiplication_box (f882) -ﳝ : nf-mdi-mushroom (fcdd) -ﳞ : nf-mdi-mushroom_outline (fcde) -ﱘ : nf-mdi-music (fc58) - : nf-mdi-music_box (f883) - : nf-mdi-music_box_outline (f884) - : nf-mdi-music_circle (f885) - : nf-mdi-music_note (f886) -﫽 : nf-mdi-music_note_bluetooth (fafd) -﫾 : nf-mdi-music_note_bluetooth_off (fafe) - : nf-mdi-music_note_eighth (f887) - : nf-mdi-music_note_half (f888) - : nf-mdi-music_note_off (f889) - : nf-mdi-music_note_quarter (f88a) - : nf-mdi-music_note_sixteenth (f88b) - : nf-mdi-music_note_whole (f88c) -ﱙ : nf-mdi-music_off (fc59) - : nf-mdi-nature (f88d) - : nf-mdi-nature_people (f88e) - : nf-mdi-navigation (f88f) -頻 : nf-mdi-near_me (facc) - : nf-mdi-needle (f890) - : nf-mdi-nest_protect (f891) - : nf-mdi-nest_thermostat (f892) -ﱄ : nf-mdi-netflix (fc44) -ﯱ : nf-mdi-network (fbf1) - : nf-mdi-new_box (f893) - : nf-mdi-newspaper (f894) - : nf-mdi-nfc (f895) - : nf-mdi-nfc_tap (f896) - : nf-mdi-nfc_variant (f897) -ﱲ : nf-mdi-ninja (fc72) -ﳟ : nf-mdi-nintendo_switch (fcdf) - : nf-mdi-nodejs (f898) - : nf-mdi-note (f899) -﮶ : nf-mdi-note_multiple (fbb6) -﮷ : nf-mdi-note_multiple_outline (fbb7) - : nf-mdi-note_outline (f89a) - : nf-mdi-note_plus (f89b) - : nf-mdi-note_plus_outline (f89c) - : nf-mdi-note_text (f89d) -ﴬ : nf-mdi-notebook (fd2c) - : nf-mdi-notification_clear_all (f89e) -ﯵ : nf-mdi-npm (fbf5) -ﮢ : nf-mdi-nuke (fba2) -ﳠ : nf-mdi-null (fce0) - : nf-mdi-numeric (f89f) - : nf-mdi-numeric_0_box (f8a0) - : nf-mdi-numeric_0_box_multiple_outline (f8a1) - : nf-mdi-numeric_0_box_outline (f8a2) - : nf-mdi-numeric_1_box (f8a3) - : nf-mdi-numeric_1_box_multiple_outline (f8a4) - : nf-mdi-numeric_1_box_outline (f8a5) - : nf-mdi-numeric_2_box (f8a6) - : nf-mdi-numeric_2_box_multiple_outline (f8a7) - : nf-mdi-numeric_2_box_outline (f8a8) - : nf-mdi-numeric_3_box (f8a9) - : nf-mdi-numeric_3_box_multiple_outline (f8aa) - : nf-mdi-numeric_3_box_outline (f8ab) - : nf-mdi-numeric_4_box (f8ac) - : nf-mdi-numeric_4_box_multiple_outline (f8ad) - : nf-mdi-numeric_4_box_outline (f8ae) - : nf-mdi-numeric_5_box (f8af) - : nf-mdi-numeric_5_box_multiple_outline (f8b0) - : nf-mdi-numeric_5_box_outline (f8b1) - : nf-mdi-numeric_6_box (f8b2) - : nf-mdi-numeric_6_box_multiple_outline (f8b3) - : nf-mdi-numeric_6_box_outline (f8b4) - : nf-mdi-numeric_7_box (f8b5) - : nf-mdi-numeric_7_box_multiple_outline (f8b6) - : nf-mdi-numeric_7_box_outline (f8b7) - : nf-mdi-numeric_8_box (f8b8) - : nf-mdi-numeric_8_box_multiple_outline (f8b9) - : nf-mdi-numeric_8_box_outline (f8ba) - : nf-mdi-numeric_9_box (f8bb) - : nf-mdi-numeric_9_box_multiple_outline (f8bc) - : nf-mdi-numeric_9_box_outline (f8bd) - : nf-mdi-numeric_9_plus_box (f8be) - : nf-mdi-numeric_9_plus_box_multiple_outline (f8bf) - : nf-mdi-numeric_9_plus_box_outline (f8c0) -ﯶ : nf-mdi-nut (fbf6) - : nf-mdi-nutrition (f8c1) -ﭺ : nf-mdi-oar (fb7a) - : nf-mdi-octagon (f8c2) - : nf-mdi-octagon_outline (f8c3) -ﯷ : nf-mdi-octagram (fbf7) -ﱳ : nf-mdi-octagram_outline (fc73) - : nf-mdi-odnoklassniki (f8c4) - : nf-mdi-office (f8c5) - : nf-mdi-oil (f8c6) - : nf-mdi-oil_temperature (f8c7) - : nf-mdi-omega (f8c8) - : nf-mdi-onedrive (f8c9) -ﱅ : nf-mdi-onenote (fc45) -頋 : nf-mdi-opacity (facb) - : nf-mdi-open_in_app (f8ca) - : nf-mdi-open_in_new (f8cb) - : nf-mdi-openid (f8cc) - : nf-mdi-opera (f8cd) - : nf-mdi-orbit (f517) - : nf-mdi-ornament (f8ce) - : nf-mdi-ornament_variant (f8cf) - : nf-mdi-owl (f8d1) - : nf-mdi-package (f8d2) - : nf-mdi-package_down (f8d3) - : nf-mdi-package_up (f8d4) - : nf-mdi-package_variant (f8d5) - : nf-mdi-package_variant_closed (f8d6) -﫿 : nf-mdi-page_first (faff) -ff : nf-mdi-page_last (fb00) -ﯸ : nf-mdi-page_layout_body (fbf8) -ﯹ : nf-mdi-page_layout_footer (fbf9) -ﯺ : nf-mdi-page_layout_header (fbfa) -ﯻ : nf-mdi-page_layout_sidebar_left (fbfb) -ﯼ : nf-mdi-page_layout_sidebar_right (fbfc) - : nf-mdi-palette (f8d7) - : nf-mdi-palette_advanced (f8d8) - : nf-mdi-panda (f8d9) - : nf-mdi-pandora (f8da) - : nf-mdi-panorama (f8db) - : nf-mdi-panorama_fisheye (f8dc) - : nf-mdi-panorama_horizontal (f8dd) - : nf-mdi-panorama_vertical (f8de) - : nf-mdi-panorama_wide_angle (f8df) - : nf-mdi-paper_cut_vertical (f8e0) - : nf-mdi-paperclip (f8e1) - : nf-mdi-parking (f8e2) -ﳡ : nf-mdi-passport (fce1) - : nf-mdi-pause (f8e3) - : nf-mdi-pause_circle (f8e4) - : nf-mdi-pause_circle_outline (f8e5) - : nf-mdi-pause_octagon (f8e6) - : nf-mdi-pause_octagon_outline (f8e7) - : nf-mdi-paw (f8e8) -ﭖ : nf-mdi-paw_off (fb56) - : nf-mdi-pen (f8e9) - : nf-mdi-pencil (f8ea) - : nf-mdi-pencil_box (f8eb) - : nf-mdi-pencil_box_outline (f8ec) -ﯽ : nf-mdi-pencil_circle (fbfd) -ﱴ : nf-mdi-pencil_circle_outline (fc74) - : nf-mdi-pencil_lock (f8ed) - : nf-mdi-pencil_off (f8ee) -ﯾ : nf-mdi-pentagon (fbfe) -ﯿ : nf-mdi-pentagon_outline (fbff) - : nf-mdi-percent (f8ef) -ﳢ : nf-mdi-periodic_table_co2 (fce2) -ﱆ : nf-mdi-periscope (fc46) - : nf-mdi-pharmacy (f8f0) - : nf-mdi-phone (f8f1) - : nf-mdi-phone_bluetooth (f8f2) -fi : nf-mdi-phone_classic (fb01) - : nf-mdi-phone_forward (f8f3) - : nf-mdi-phone_hangup (f8f4) - : nf-mdi-phone_in_talk (f8f5) - : nf-mdi-phone_incoming (f8f6) - : nf-mdi-phone_locked (f8f7) - : nf-mdi-phone_log (f8f8) -ﭗ : nf-mdi-phone_minus (fb57) - : nf-mdi-phone_missed (f8f9) - : nf-mdi-phone_outgoing (f8fa) - : nf-mdi-phone_paused (f8fb) -ﭘ : nf-mdi-phone_plus (fb58) -ﴭ : nf-mdi-phone_return (fd2d) - : nf-mdi-phone_settings (f8fc) - : nf-mdi-phone_voip (f8fd) - : nf-mdi-pi (f8fe) - : nf-mdi-pi_box (f8ff) -ﭻ : nf-mdi-piano (fb7b) -豈 : nf-mdi-pig (f900) -更 : nf-mdi-pill (f901) -ﰀ : nf-mdi-pillar (fc00) -車 : nf-mdi-pin (f902) -賈 : nf-mdi-pin_off (f903) -滑 : nf-mdi-pine_tree (f904) -串 : nf-mdi-pine_tree_box (f905) -句 : nf-mdi-pinterest (f906) -龜 : nf-mdi-pinterest_box (f907) -ﳣ : nf-mdi-pipe (fce3) -ﳤ : nf-mdi-pipe_disconnected (fce4) -ﰁ : nf-mdi-pistol (fc01) -龜 : nf-mdi-pizza (f908) -﮹ : nf-mdi-plane_shield (fbb9) -契 : nf-mdi-play (f909) -金 : nf-mdi-play_box_outline (f90a) -喇 : nf-mdi-play_circle (f90b) -奈 : nf-mdi-play_circle_outline (f90c) -懶 : nf-mdi-play_pause (f90d) -癩 : nf-mdi-play_protected_content (f90e) -陼 : nf-mdi-playlist_check (fac6) -羅 : nf-mdi-playlist_minus (f90f) -蘿 : nf-mdi-playlist_play (f910) -螺 : nf-mdi-playlist_plus (f911) -裸 : nf-mdi-playlist_remove (f912) -邏 : nf-mdi-playstation (f913) -﮸ : nf-mdi-plex (fbb8) -樂 : nf-mdi-plus (f914) -洛 : nf-mdi-plus_box (f915) -ﰂ : nf-mdi-plus_box_outline (fc02) -烙 : nf-mdi-plus_circle (f916) -珞 : nf-mdi-plus_circle_multiple_outline (f917) -落 : nf-mdi-plus_circle_outline (f918) -酪 : nf-mdi-plus_network (f919) -駱 : nf-mdi-plus_one (f91a) -ﰃ : nf-mdi-plus_outline (fc03) -亂 : nf-mdi-pocket (f91b) -卵 : nf-mdi-pokeball (f91c) -ﴮ : nf-mdi-poker_chip (fd2e) -欄 : nf-mdi-polaroid (f91d) -爛 : nf-mdi-poll (f91e) -蘭 : nf-mdi-poll_box (f91f) -鸞 : nf-mdi-polymer (f920) -ſt : nf-mdi-pool (fb05) -嵐 : nf-mdi-popcorn (f921) -ﭙ : nf-mdi-pot (fb59) -ﭚ : nf-mdi-pot_mix (fb5a) -濫 : nf-mdi-pound (f922) -藍 : nf-mdi-pound_box (f923) -襤 : nf-mdi-power (f924) -ﮣ : nf-mdi-power_plug (fba3) -ﮤ : nf-mdi-power_plug_off (fba4) -拉 : nf-mdi-power_settings (f925) -臘 : nf-mdi-power_socket (f926) -ﳥ : nf-mdi-power_socket_eu (fce5) -ﳦ : nf-mdi-power_socket_uk (fce6) -ﳧ : nf-mdi-power_socket_us (fce7) -ﰄ : nf-mdi-prescription (fc04) -蠟 : nf-mdi-presentation (f927) -廊 : nf-mdi-presentation_play (f928) -朗 : nf-mdi-printer (f929) -浪 : nf-mdi-printer_3d (f92a) -狼 : nf-mdi-printer_alert (f92b) -ﰅ : nf-mdi-printer_settings (fc05) -fl : nf-mdi-priority_high (fb02) -ffi : nf-mdi-priority_low (fb03) -郎 : nf-mdi-professional_hexagon (f92c) -來 : nf-mdi-projector (f92d) -冷 : nf-mdi-projector_screen (f92e) -ﮥ : nf-mdi-publish (fba5) -勞 : nf-mdi-pulse (f92f) -擄 : nf-mdi-puzzle (f930) -ffl : nf-mdi-qqchat (fb04) -櫓 : nf-mdi-qrcode (f931) -爐 : nf-mdi-qrcode_scan (f932) -盧 : nf-mdi-quadcopter (f933) -老 : nf-mdi-quality_high (f934) -蘆 : nf-mdi-quicktime (f935) -虜 : nf-mdi-radar (f936) -路 : nf-mdi-radiator (f937) -露 : nf-mdi-radio (f938) -魯 : nf-mdi-radio_handheld (f939) -鷺 : nf-mdi-radio_tower (f93a) -碌 : nf-mdi-radioactive (f93b) -祿 : nf-mdi-radiobox_blank (f93c) -綠 : nf-mdi-radiobox_marked (f93d) -菉 : nf-mdi-raspberrypi (f93e) -錄 : nf-mdi-ray_end (f93f) -鹿 : nf-mdi-ray_end_arrow (f940) -論 : nf-mdi-ray_start (f941) -壟 : nf-mdi-ray_start_arrow (f942) -弄 : nf-mdi-ray_start_end (f943) -籠 : nf-mdi-ray_vertex (f944) -ﰆ : nf-mdi-react (fc06) -牢 : nf-mdi-read (f946) -賂 : nf-mdi-receipt (f948) -雷 : nf-mdi-record (f949) -壘 : nf-mdi-record_rec (f94a) -屢 : nf-mdi-recycle (f94b) -樓 : nf-mdi-reddit (f94c) -淚 : nf-mdi-redo (f94d) -漏 : nf-mdi-redo_variant (f94e) -累 : nf-mdi-refresh (f94f) -縷 : nf-mdi-regex (f950) -陋 : nf-mdi-relative_scale (f951) -勒 : nf-mdi-reload (f952) -肋 : nf-mdi-remote (f953) -凜 : nf-mdi-rename_box (f954) -ﮆ : nf-mdi-reorder_horizontal (fb86) -ﮇ : nf-mdi-reorder_vertical (fb87) -凌 : nf-mdi-repeat (f955) -稜 : nf-mdi-repeat_off (f956) -綾 : nf-mdi-repeat_once (f957) -菱 : nf-mdi-replay (f958) -陵 : nf-mdi-reply (f959) -讀 : nf-mdi-reply_all (f95a) -拏 : nf-mdi-reproduction (f95b) -樂 : nf-mdi-resize_bottom_right (f95c) -諾 : nf-mdi-responsive (f95d) -ﰇ : nf-mdi-restart (fc07) -ﮦ : nf-mdi-restore (fba6) -丹 : nf-mdi-rewind (f95e) -ﰈ : nf-mdi-rewind_outline (fc08) -ﰉ : nf-mdi-rhombus (fc09) -ﰊ : nf-mdi-rhombus_outline (fc0a) -寧 : nf-mdi-ribbon (f95f) -ﳨ : nf-mdi-rice (fce8) -ﳩ : nf-mdi-ring (fce9) -怒 : nf-mdi-road (f960) -率 : nf-mdi-road_variant (f961) -ﮧ : nf-mdi-robot (fba7) -異 : nf-mdi-rocket (f962) -ﰋ : nf-mdi-roomba (fc0b) -北 : nf-mdi-rotate_3d (f963) -磻 : nf-mdi-rotate_left (f964) -便 : nf-mdi-rotate_left_variant (f965) -復 : nf-mdi-rotate_right (f966) -不 : nf-mdi-rotate_right_variant (f967) -st : nf-mdi-rounded_corner (fb06) -泌 : nf-mdi-router_wireless (f968) -數 : nf-mdi-routes (f969) -﬇ : nf-mdi-rowing (fb07) -索 : nf-mdi-rss (f96a) -參 : nf-mdi-rss_box (f96b) -塞 : nf-mdi-ruler (f96c) -ﰌ : nf-mdi-run (fc0c) -省 : nf-mdi-run_fast (f96d) -葉 : nf-mdi-sale (f96e) -ﳪ : nf-mdi-sass (fcea) -說 : nf-mdi-satellite (f96f) -殺 : nf-mdi-satellite_variant (f970) -﬈ : nf-mdi-saxophone (fb08) -辰 : nf-mdi-scale (f971) -𢡄 : nf-mdi-scale_balance (fad0) -沈 : nf-mdi-scale_bathroom (f972) -ﮩ : nf-mdi-scanner (fba9) -拾 : nf-mdi-school (f973) -若 : nf-mdi-screen_rotation (f974) -掠 : nf-mdi-screen_rotation_lock (f975) -略 : nf-mdi-screwdriver (f976) -亮 : nf-mdi-script (f977) -兩 : nf-mdi-sd (f978) -凉 : nf-mdi-seal (f979) -ﰍ : nf-mdi-search_web (fc0d) -梁 : nf-mdi-seat_flat (f97a) -糧 : nf-mdi-seat_flat_angled (f97b) -良 : nf-mdi-seat_individual_suite (f97c) -諒 : nf-mdi-seat_legroom_extra (f97d) -量 : nf-mdi-seat_legroom_normal (f97e) -勵 : nf-mdi-seat_legroom_reduced (f97f) -呂 : nf-mdi-seat_recline_extra (f980) -女 : nf-mdi-seat_recline_normal (f981) -廬 : nf-mdi-security (f982) -ﮈ : nf-mdi-security_home (fb88) -旅 : nf-mdi-security_network (f983) -濾 : nf-mdi-select (f984) -礪 : nf-mdi-select_all (f985) -閭 : nf-mdi-select_inverse (f986) -驪 : nf-mdi-select_off (f987) -麗 : nf-mdi-selection (f988) -ﱵ : nf-mdi-selection_off (fc75) -黎 : nf-mdi-send (f989) -ﳫ : nf-mdi-send_secure (fceb) -ﭛ : nf-mdi-serial_port (fb5b) -力 : nf-mdi-server (f98a) -曆 : nf-mdi-server_minus (f98b) -歷 : nf-mdi-server_network (f98c) -轢 : nf-mdi-server_network_off (f98d) -年 : nf-mdi-server_off (f98e) -憐 : nf-mdi-server_plus (f98f) -戀 : nf-mdi-server_remove (f990) -撚 : nf-mdi-server_security (f991) -ﱶ : nf-mdi-set_all (fc76) -ﱷ : nf-mdi-set_center (fc77) -ﱸ : nf-mdi-set_center_right (fc78) -ﱹ : nf-mdi-set_left (fc79) -ﱺ : nf-mdi-set_left_center (fc7a) -ﱻ : nf-mdi-set_left_right (fc7b) -ﱼ : nf-mdi-set_none (fc7c) -ﱽ : nf-mdi-set_right (fc7d) -漣 : nf-mdi-settings (f992) -煉 : nf-mdi-settings_box (f993) -ﴯ : nf-mdi-shape (fd2f) -ﭜ : nf-mdi-shape_circle_plus (fb5c) -ﴰ : nf-mdi-shape_outline (fd30) -璉 : nf-mdi-shape_plus (f994) -ﭝ : nf-mdi-shape_polygon_plus (fb5d) -ﭞ : nf-mdi-shape_rectangle_plus (fb5e) -ﭟ : nf-mdi-shape_square_plus (fb5f) -秊 : nf-mdi-share (f995) -練 : nf-mdi-share_variant (f996) -聯 : nf-mdi-shield (f997) -ﱾ : nf-mdi-shield_half_full (fc7e) -輦 : nf-mdi-shield_outline (f998) -ﴱ : nf-mdi-ship_wheel (fd31) -蓮 : nf-mdi-shopping (f999) -連 : nf-mdi-shopping_music (f99a) -ﰎ : nf-mdi-shovel (fc0e) -ﰏ : nf-mdi-shovel_off (fc0f) -鍊 : nf-mdi-shredder (f99b) -列 : nf-mdi-shuffle (f99c) -劣 : nf-mdi-shuffle_disabled (f99d) -咽 : nf-mdi-shuffle_variant (f99e) -烈 : nf-mdi-sigma (f99f) -שׁ : nf-mdi-sigma_lower (fb2a) -裂 : nf-mdi-sign_caution (f9a0) -ﱿ : nf-mdi-sign_direction (fc7f) -ﲀ : nf-mdi-sign_text (fc80) -說 : nf-mdi-signal (f9a1) -ﰐ : nf-mdi-signal_2g (fc10) -ﰑ : nf-mdi-signal_3g (fc11) -ﰒ : nf-mdi-signal_4g (fc12) -ﰓ : nf-mdi-signal_hspa (fc13) -ﰔ : nf-mdi-signal_hspa_plus (fc14) -ﲁ : nf-mdi-signal_off (fc81) -﬉ : nf-mdi-signal_variant (fb09) -廉 : nf-mdi-silverware (f9a2) -念 : nf-mdi-silverware_fork (f9a3) -捻 : nf-mdi-silverware_spoon (f9a4) -殮 : nf-mdi-silverware_variant (f9a5) -簾 : nf-mdi-sim (f9a6) -獵 : nf-mdi-sim_alert (f9a7) -令 : nf-mdi-sim_off (f9a8) -囹 : nf-mdi-sitemap (f9a9) -寧 : nf-mdi-skip_backward (f9aa) -嶺 : nf-mdi-skip_forward (f9ab) -怜 : nf-mdi-skip_next (f9ac) -ﭠ : nf-mdi-skip_next_circle (fb60) -ﭡ : nf-mdi-skip_next_circle_outline (fb61) -玲 : nf-mdi-skip_previous (f9ad) -ﭢ : nf-mdi-skip_previous_circle (fb62) -ﭣ : nf-mdi-skip_previous_circle_outline (fb63) -ﮊ : nf-mdi-skull (fb8a) -瑩 : nf-mdi-skype (f9ae) -羚 : nf-mdi-skype_business (f9af) -聆 : nf-mdi-slack (f9b0) -鈴 : nf-mdi-sleep (f9b1) -零 : nf-mdi-sleep_off (f9b2) -靈 : nf-mdi-smoking (f9b3) -領 : nf-mdi-smoking_off (f9b4) -例 : nf-mdi-snapchat (f9b5) -ﰕ : nf-mdi-snowflake (fc15) -禮 : nf-mdi-snowman (f9b6) -醴 : nf-mdi-soccer (f9b7) -ﴲ : nf-mdi-soccer_field (fd32) -隸 : nf-mdi-sofa (f9b8) -ﮋ : nf-mdi-solid (fb8b) -惡 : nf-mdi-sort (f9b9) -了 : nf-mdi-sort_alphabetical (f9ba) -僚 : nf-mdi-sort_ascending (f9bb) -寮 : nf-mdi-sort_descending (f9bc) -尿 : nf-mdi-sort_numeric (f9bd) -料 : nf-mdi-sort_variant (f9be) -樂 : nf-mdi-soundcloud (f9bf) -שׂ : nf-mdi-source_branch (fb2b) -ﰖ : nf-mdi-source_commit (fc16) -ﰗ : nf-mdi-source_commit_end (fc17) -ﰘ : nf-mdi-source_commit_end_local (fc18) -ﰙ : nf-mdi-source_commit_local (fc19) -ﰚ : nf-mdi-source_commit_next_local (fc1a) -ﰛ : nf-mdi-source_commit_start (fc1b) -ﰜ : nf-mdi-source_commit_start_next_local (fc1c) -燎 : nf-mdi-source_fork (f9c0) -שּׁ : nf-mdi-source_merge (fb2c) -療 : nf-mdi-source_pull (f9c1) -ﳬ : nf-mdi-soy_sauce (fcec) -蓼 : nf-mdi-speaker (f9c2) -遼 : nf-mdi-speaker_off (f9c3) -ﰝ : nf-mdi-speaker_wireless (fc1d) -龍 : nf-mdi-speedometer (f9c4) -暈 : nf-mdi-spellcheck (f9c5) -阮 : nf-mdi-spotify (f9c6) -劉 : nf-mdi-spotlight (f9c7) -杻 : nf-mdi-spotlight_beam (f9c8) -ﭤ : nf-mdi-spray (fb64) -ﱢ : nf-mdi-square (fc62) -柳 : nf-mdi-square_inc (f9c9) -流 : nf-mdi-square_inc_cash (f9ca) -ﱡ : nf-mdi-square_outline (fc61) -ﲂ : nf-mdi-square_root (fc82) -溜 : nf-mdi-stack_overflow (f9cb) -﬊ : nf-mdi-stackexchange (fb0a) -ﰞ : nf-mdi-stadium (fc1e) -琉 : nf-mdi-stairs (f9cc) -ﳭ : nf-mdi-standard_definition (fced) -留 : nf-mdi-star (f9cd) -硫 : nf-mdi-star_circle (f9ce) -紐 : nf-mdi-star_half (f9cf) -類 : nf-mdi-star_off (f9d0) -六 : nf-mdi-star_outline (f9d1) -戮 : nf-mdi-steam (f9d2) -陸 : nf-mdi-steering (f9d3) -倫 : nf-mdi-step_backward (f9d4) -崙 : nf-mdi-step_backward_2 (f9d5) -淪 : nf-mdi-step_forward (f9d6) -輪 : nf-mdi-step_forward_2 (f9d7) -律 : nf-mdi-stethoscope (f9d8) -𢡊 : nf-mdi-sticker (facf) -ﲃ : nf-mdi-sticker_emoji (fc83) -慄 : nf-mdi-stocking (f9d9) -栗 : nf-mdi-stop (f9da) -ﭥ : nf-mdi-stop_circle (fb65) -ﭦ : nf-mdi-stop_circle_outline (fb66) -率 : nf-mdi-store (f9db) -隆 : nf-mdi-store_24_hour (f9dc) -利 : nf-mdi-stove (f9dd) -﬋ : nf-mdi-subdirectory_arrow_left (fb0b) -﬌ : nf-mdi-subdirectory_arrow_right (fb0c) -ﮪ : nf-mdi-subway (fbaa) -吏 : nf-mdi-subway_variant (f9de) -ﲄ : nf-mdi-summit (fc84) -履 : nf-mdi-sunglasses (f9df) -醙 : nf-mdi-surround_sound (fac4) -ﳮ : nf-mdi-surround_sound_2_0 (fcee) -ﳯ : nf-mdi-surround_sound_3_1 (fcef) -ﳰ : nf-mdi-surround_sound_5_1 (fcf0) -ﳱ : nf-mdi-surround_sound_7_1 (fcf1) -ﰟ : nf-mdi-svg (fc1f) -易 : nf-mdi-swap_horizontal (f9e0) -李 : nf-mdi-swap_vertical (f9e1) -梨 : nf-mdi-swim (f9e2) -泥 : nf-mdi-switch (f9e3) -理 : nf-mdi-sword (f9e4) -ﲅ : nf-mdi-sword_cross (fc85) -痢 : nf-mdi-sync (f9e5) -罹 : nf-mdi-sync_alert (f9e6) -裏 : nf-mdi-sync_off (f9e7) -裡 : nf-mdi-tab (f9e8) -ﱚ : nf-mdi-tab_plus (fc5a) -里 : nf-mdi-tab_unselected (f9e9) -離 : nf-mdi-table (f9ea) -ﴳ : nf-mdi-table_column (fd33) -匿 : nf-mdi-table_column_plus_after (f9eb) -溺 : nf-mdi-table_column_plus_before (f9ec) -吝 : nf-mdi-table_column_remove (f9ed) -燐 : nf-mdi-table_column_width (f9ee) -璘 : nf-mdi-table_edit (f9ef) -藺 : nf-mdi-table_large (f9f0) -ﴴ : nf-mdi-table_of_contents (fd34) -ﴵ : nf-mdi-table_row (fd35) -隣 : nf-mdi-table_row_height (f9f1) -鱗 : nf-mdi-table_row_plus_after (f9f2) -麟 : nf-mdi-table_row_plus_before (f9f3) -林 : nf-mdi-table_row_remove (f9f4) -ﴶ : nf-mdi-table_settings (fd36) -淋 : nf-mdi-tablet (f9f5) -臨 : nf-mdi-tablet_android (f9f6) -立 : nf-mdi-tablet_ipad (f9f7) -ﱠ : nf-mdi-taco (fc60) -笠 : nf-mdi-tag (f9f8) -粒 : nf-mdi-tag_faces (f9f9) -ﮉ : nf-mdi-tag_heart (fb89) -狀 : nf-mdi-tag_multiple (f9fa) -炙 : nf-mdi-tag_outline (f9fb) -ﰠ : nf-mdi-tag_plus (fc20) -ﰡ : nf-mdi-tag_remove (fc21) -識 : nf-mdi-tag_text_outline (f9fc) -什 : nf-mdi-target (f9fd) -茶 : nf-mdi-taxi (f9fe) -刺 : nf-mdi-teamviewer (f9ff) -切 : nf-mdi-telegram (fa00) -度 : nf-mdi-television (fa01) -ﴷ : nf-mdi-television_box (fd37) -ﳲ : nf-mdi-television_classic (fcf2) -ﴸ : nf-mdi-television_classic_off (fd38) -拓 : nf-mdi-television_guide (fa02) -ﴹ : nf-mdi-television_off (fd39) -糖 : nf-mdi-temperature_celsius (fa03) -宅 : nf-mdi-temperature_fahrenheit (fa04) -洞 : nf-mdi-temperature_kelvin (fa05) -暴 : nf-mdi-tennis (fa06) -輻 : nf-mdi-tent (fa07) -行 : nf-mdi-terrain (fa08) -ﭧ : nf-mdi-test_tube (fb67) -ﭨ : nf-mdi-text_shadow (fb68) -降 : nf-mdi-text_to_speech (fa09) -見 : nf-mdi-text_to_speech_off (fa0a) -﬍ : nf-mdi-textbox (fb0d) -ﳳ : nf-mdi-textbox_password (fcf3) -廓 : nf-mdi-texture (fa0b) -兀 : nf-mdi-theater (fa0c) -嗀 : nf-mdi-theme_light_dark (fa0d) -﨎 : nf-mdi-thermometer (fa0e) -﨏 : nf-mdi-thermometer_lines (fa0f) -ﳴ : nf-mdi-thought_bubble (fcf4) -ﳵ : nf-mdi-thought_bubble_outline (fcf5) -塚 : nf-mdi-thumb_down (fa10) -﨑 : nf-mdi-thumb_down_outline (fa11) -晴 : nf-mdi-thumb_up (fa12) -﨓 : nf-mdi-thumb_up_outline (fa13) -﨔 : nf-mdi-thumbs_up_down (fa14) -凞 : nf-mdi-ticket (fa15) -猪 : nf-mdi-ticket_account (fa16) -益 : nf-mdi-ticket_confirmation (fa17) -ﰢ : nf-mdi-ticket_percent (fc22) -礼 : nf-mdi-tie (fa18) -ﰣ : nf-mdi-tilde (fc23) -神 : nf-mdi-timelapse (fa19) -祥 : nf-mdi-timer (fa1a) -福 : nf-mdi-timer_10 (fa1b) -靖 : nf-mdi-timer_3 (fa1c) -精 : nf-mdi-timer_off (fa1d) -羽 : nf-mdi-timer_sand (fa1e) -ﮫ : nf-mdi-timer_sand_empty (fbab) -ﲊ : nf-mdi-timer_sand_full (fc8a) -﨟 : nf-mdi-timetable (fa1f) -蘒 : nf-mdi-toggle_switch (fa20) -﨡 : nf-mdi-toggle_switch_off (fa21) -諸 : nf-mdi-tooltip (fa22) -﨣 : nf-mdi-tooltip_edit (fa23) -﨤 : nf-mdi-tooltip_image (fa24) -逸 : nf-mdi-tooltip_outline (fa25) -都 : nf-mdi-tooltip_outline_plus (fa26) -﨧 : nf-mdi-tooltip_text (fa27) -﨨 : nf-mdi-tooth (fa28) -﨩 : nf-mdi-tor (fa29) -ﭿ : nf-mdi-tower_beach (fb7f) -ﮀ : nf-mdi-tower_fire (fb80) -ﴺ : nf-mdi-towing (fd3a) -ﳶ : nf-mdi-trackpad (fcf6) -飯 : nf-mdi-traffic_light (fa2a) -飼 : nf-mdi-train (fa2b) -館 : nf-mdi-tram (fa2c) -鶴 : nf-mdi-transcribe (fa2d) -郞 : nf-mdi-transcribe_close (fa2e) -隷 : nf-mdi-transfer (fa2f) -ﮬ : nf-mdi-transit_transfer (fbac) -韛 : nf-mdi-translate (fac9) -ﰤ : nf-mdi-treasure_chest (fc24) -侮 : nf-mdi-tree (fa30) -僧 : nf-mdi-trello (fa31) -免 : nf-mdi-trending_down (fa32) -勉 : nf-mdi-trending_neutral (fa33) -勤 : nf-mdi-trending_up (fa34) -卑 : nf-mdi-triangle (fa35) -喝 : nf-mdi-triangle_outline (fa36) -嘆 : nf-mdi-trophy (fa37) -器 : nf-mdi-trophy_award (fa38) -塀 : nf-mdi-trophy_outline (fa39) -墨 : nf-mdi-trophy_variant (fa3a) -層 : nf-mdi-trophy_variant_outline (fa3b) -屮 : nf-mdi-truck (fa3c) -悔 : nf-mdi-truck_delivery (fa3d) -ﲆ : nf-mdi-truck_fast (fc86) -ﰥ : nf-mdi-truck_trailer (fc25) -慨 : nf-mdi-tshirt_crew (fa3e) -憎 : nf-mdi-tshirt_v (fa3f) -懲 : nf-mdi-tumblr (fa40) -敏 : nf-mdi-tumblr_reblog (fa41) -שּׂ : nf-mdi-tune (fb2d) -ﭩ : nf-mdi-tune_vertical (fb69) -既 : nf-mdi-twitch (fa42) -暑 : nf-mdi-twitter (fa43) -梅 : nf-mdi-twitter_box (fa44) -海 : nf-mdi-twitter_circle (fa45) -渚 : nf-mdi-twitter_retweet (fa46) -ﱇ : nf-mdi-uber (fc47) -漢 : nf-mdi-ubuntu (fa47) -ﳷ : nf-mdi-ultra_high_definition (fcf7) -煮 : nf-mdi-umbraco (fa48) -爫 : nf-mdi-umbrella (fa49) -琢 : nf-mdi-umbrella_outline (fa4a) -碑 : nf-mdi-undo (fa4b) -社 : nf-mdi-undo_variant (fa4c) -祉 : nf-mdi-unfold_less_horizontal (fa4d) -ﱞ : nf-mdi-unfold_less_vertical (fc5e) -祈 : nf-mdi-unfold_more_horizontal (fa4e) -ﱟ : nf-mdi-unfold_more_vertical (fc5f) -祐 : nf-mdi-ungroup (fa4f) -ﮭ : nf-mdi-unity (fbad) -祖 : nf-mdi-untappd (fa50) -ﮮ : nf-mdi-update (fbae) -祝 : nf-mdi-upload (fa51) -ﴻ : nf-mdi-upload_multiple (fd3b) -ﯴ : nf-mdi-upload_network (fbf4) -禍 : nf-mdi-usb (fa52) -ﳸ : nf-mdi-van_passenger (fcf8) -ﳹ : nf-mdi-van_utility (fcf9) -ﳺ : nf-mdi-vanish (fcfa) -禎 : nf-mdi-vector_arrange_above (fa53) -穀 : nf-mdi-vector_arrange_below (fa54) -突 : nf-mdi-vector_circle (fa55) -節 : nf-mdi-vector_circle_variant (fa56) -練 : nf-mdi-vector_combine (fa57) -縉 : nf-mdi-vector_curve (fa58) -繁 : nf-mdi-vector_difference (fa59) -署 : nf-mdi-vector_difference_ab (fa5a) -者 : nf-mdi-vector_difference_ba (fa5b) -臭 : nf-mdi-vector_intersection (fa5c) -艹 : nf-mdi-vector_line (fa5d) -艹 : nf-mdi-vector_point (fa5e) -著 : nf-mdi-vector_polygon (fa5f) -褐 : nf-mdi-vector_polyline (fa60) -ﱈ : nf-mdi-vector_radius (fc48) -鉶 : nf-mdi-vector_rectangle (fac5) -視 : nf-mdi-vector_selection (fa61) - : nf-mdi-vector_square (f500) -謁 : nf-mdi-vector_triangle (fa62) -謹 : nf-mdi-vector_union (fa63) -勺 : nf-mdi-venmo (fa77) -賓 : nf-mdi-verified (fa64) -贈 : nf-mdi-vibrate (fa65) -辶 : nf-mdi-video (fa66) -ﳻ : nf-mdi-video_3d (fcfb) -ﴼ : nf-mdi-video_4k_box (fd3c) -ﴽ : nf-mdi-video_input_antenna (fd3d) -﴾ : nf-mdi-video_input_component (fd3e) -﴿ : nf-mdi-video_input_hdmi (fd3f) -﵀ : nf-mdi-video_input_svideo (fd40) -逸 : nf-mdi-video_off (fa67) -難 : nf-mdi-video_switch (fa68) -響 : nf-mdi-view_agenda (fa69) -頻 : nf-mdi-view_array (fa6a) -恵 : nf-mdi-view_carousel (fa6b) -𤋮 : nf-mdi-view_column (fa6c) -舘 : nf-mdi-view_dashboard (fa6d) -﵁ : nf-mdi-view_dashboard_variant (fd41) -﩮 : nf-mdi-view_day (fa6e) -﩯 : nf-mdi-view_grid (fa6f) -並 : nf-mdi-view_headline (fa70) -况 : nf-mdi-view_list (fa71) -全 : nf-mdi-view_module (fa72) -ﰦ : nf-mdi-view_parallel (fc26) -侀 : nf-mdi-view_quilt (fa73) -ﰧ : nf-mdi-view_sequential (fc27) -充 : nf-mdi-view_stream (fa74) -冀 : nf-mdi-view_week (fa75) -勇 : nf-mdi-vimeo (fa76) -﬎ : nf-mdi-violin (fb0e) -﬏ : nf-mdi-visualstudio (fb0f) -喝 : nf-mdi-vk (fa78) -啕 : nf-mdi-vk_box (fa79) -喙 : nf-mdi-vk_circle (fa7a) -嗢 : nf-mdi-vlc (fa7b) -響 : nf-mdi-voice (faca) -塚 : nf-mdi-voicemail (fa7c) -墳 : nf-mdi-volume_high (fa7d) -奄 : nf-mdi-volume_low (fa7e) -奔 : nf-mdi-volume_medium (fa7f) -ﱜ : nf-mdi-volume_minus (fc5c) -ﱝ : nf-mdi-volume_mute (fc5d) -婢 : nf-mdi-volume_off (fa80) -ﱛ : nf-mdi-volume_plus (fc5b) -嬨 : nf-mdi-vpn (fa81) -﵂ : nf-mdi-vuejs (fd42) -廒 : nf-mdi-walk (fa82) -ﳼ : nf-mdi-wall (fcfc) -廙 : nf-mdi-wallet (fa83) -彩 : nf-mdi-wallet_giftcard (fa84) -徭 : nf-mdi-wallet_membership (fa85) -惘 : nf-mdi-wallet_travel (fa86) -慎 : nf-mdi-wan (fa87) -ﰨ : nf-mdi-washing_machine (fc28) -愈 : nf-mdi-watch (fa88) -憎 : nf-mdi-watch_export (fa89) -慠 : nf-mdi-watch_import (fa8a) -ﮯ : nf-mdi-watch_vibrate (fbaf) -懲 : nf-mdi-water (fa8b) -戴 : nf-mdi-water_off (fa8c) -揄 : nf-mdi-water_percent (fa8d) -搜 : nf-mdi-water_pump (fa8e) -﬑ : nf-mdi-watermark (fb11) -ﲋ : nf-mdi-waves (fc8b) -摒 : nf-mdi-weather_cloudy (fa8f) -敖 : nf-mdi-weather_fog (fa90) -晴 : nf-mdi-weather_hail (fa91) -朗 : nf-mdi-weather_lightning (fa92) -ﭼ : nf-mdi-weather_lightning_rainy (fb7c) -望 : nf-mdi-weather_night (fa93) -杖 : nf-mdi-weather_partlycloudy (fa94) -歹 : nf-mdi-weather_pouring (fa95) -殺 : nf-mdi-weather_rainy (fa96) -流 : nf-mdi-weather_snowy (fa97) -ﭽ : nf-mdi-weather_snowy_rainy (fb7d) -滛 : nf-mdi-weather_sunny (fa98) -滋 : nf-mdi-weather_sunset (fa99) -漢 : nf-mdi-weather_sunset_down (fa9a) -瀞 : nf-mdi-weather_sunset_up (fa9b) -煮 : nf-mdi-weather_windy (fa9c) -瞧 : nf-mdi-weather_windy_variant (fa9d) -爵 : nf-mdi-web (fa9e) -犯 : nf-mdi-webcam (fa9f) -אַ : nf-mdi-webhook (fb2e) -ﰩ : nf-mdi-webpack (fc29) -﬐ : nf-mdi-wechat (fb10) -猪 : nf-mdi-weight (faa0) -瑱 : nf-mdi-weight_kilogram (faa1) -甆 : nf-mdi-whatsapp (faa2) -画 : nf-mdi-wheelchair_accessibility (faa3) -瘝 : nf-mdi-white_balance_auto (faa4) -瘟 : nf-mdi-white_balance_incandescent (faa5) -益 : nf-mdi-white_balance_iridescent (faa6) -盛 : nf-mdi-white_balance_sunny (faa7) -ﰪ : nf-mdi-widgets (fc2a) -直 : nf-mdi-wifi (faa8) -睊 : nf-mdi-wifi_off (faa9) -着 : nf-mdi-wii (faaa) -ﰫ : nf-mdi-wiiu (fc2b) -磌 : nf-mdi-wikipedia (faab) -窱 : nf-mdi-window_close (faac) -節 : nf-mdi-window_closed (faad) -类 : nf-mdi-window_maximize (faae) -絛 : nf-mdi-window_minimize (faaf) -練 : nf-mdi-window_open (fab0) -缾 : nf-mdi-window_restore (fab1) -者 : nf-mdi-windows (fab2) -荒 : nf-mdi-wordpress (fab3) -華 : nf-mdi-worker (fab4) -蝹 : nf-mdi-wrap (fab5) -襁 : nf-mdi-wrench (fab6) -覆 : nf-mdi-wunderlist (fab7) -﵃ : nf-mdi-xamarin (fd43) -﵄ : nf-mdi-xamarin_outline (fd44) -ﭲ : nf-mdi-xaml (fb72) -視 : nf-mdi-xbox (fab8) -調 : nf-mdi-xbox_controller (fab9) -ﱉ : nf-mdi-xbox_controller_battery_alert (fc49) -ﱊ : nf-mdi-xbox_controller_battery_empty (fc4a) -ﱋ : nf-mdi-xbox_controller_battery_full (fc4b) -ﱌ : nf-mdi-xbox_controller_battery_low (fc4c) -ﱍ : nf-mdi-xbox_controller_battery_medium (fc4d) -ﱎ : nf-mdi-xbox_controller_battery_unknown (fc4e) -諸 : nf-mdi-xbox_controller_off (faba) -請 : nf-mdi-xda (fabb) -謁 : nf-mdi-xing (fabc) -諾 : nf-mdi-xing_box (fabd) -諭 : nf-mdi-xing_circle (fabe) -謹 : nf-mdi-xml (fabf) -ﳽ : nf-mdi-xmpp (fcfd) -ﲇ : nf-mdi-yammer (fc87) -變 : nf-mdi-yeast (fac0) -贈 : nf-mdi-yelp (fac1) -ﭾ : nf-mdi-yin_yang (fb7e) -﵅ : nf-mdi-youtube_creator_studio (fd45) -﵆ : nf-mdi-youtube_gaming (fd46) -輸 : nf-mdi-youtube_play (fac2) -磊 : nf-mdi-youtube_tv (f947) -遲 : nf-mdi-zip_box (fac3) - : nf-oct-alert (f421) - : nf-oct-arrow_down (f433) - : nf-oct-arrow_left (f434) - : nf-oct-arrow_right (f432) - : nf-oct-arrow_small_down (f479) - : nf-oct-arrow_small_left (f47a) - : nf-oct-arrow_small_right (f45c) - : nf-oct-arrow_small_up (f478) - : nf-oct-arrow_up (f431) - : nf-oct-beaker (f499) - : nf-oct-bell (f49a) - : nf-oct-bold (f49d) - : nf-oct-book (f405) - : nf-oct-bookmark (f461) - : nf-oct-briefcase (f491) - : nf-oct-broadcast (f43c) - : nf-oct-browser (f488) - : nf-oct-bug (f46f) - : nf-oct-calendar (f455) - : nf-oct-check (f42e) - : nf-oct-checklist (f45e) - : nf-oct-chevron_down (f47c) - : nf-oct-chevron_left (f47d) - : nf-oct-chevron_right (f460) - : nf-oct-chevron_up (f47b) - : nf-oct-circle_slash (f468) - : nf-oct-circuit_board (f493) - : nf-oct-clippy (f429) - : nf-oct-clock (f43a) - : nf-oct-cloud_download (f409) - : nf-oct-cloud_upload (f40a) - : nf-oct-code (f44f) - : nf-oct-comment (f41f) - : nf-oct-comment_discussion (f442) - : nf-oct-credit_card (f439) - : nf-oct-dash (f48b) - : nf-oct-dashboard (f463) - : nf-oct-database (f472) - : nf-oct-desktop_download (f498) - : nf-oct-device_camera (f446) - : nf-oct-device_camera_video (f447) - : nf-oct-device_desktop (f67c) - : nf-oct-device_mobile (f42c) - : nf-oct-diff (f440) - : nf-oct-diff_added (f457) - : nf-oct-diff_ignored (f474) - : nf-oct-diff_modified (f459) - : nf-oct-diff_removed (f458) - : nf-oct-diff_renamed (f45a) - : nf-oct-ellipses (f4a4) - : nf-oct-ellipsis (f475) - : nf-oct-eye (f441) - : nf-oct-file (f4a5) - : nf-oct-file_binary (f471) - : nf-oct-file_code (f40d) - : nf-oct-file_directory (f413) - : nf-oct-file_media (f40f) - : nf-oct-file_pdf (f411) - : nf-oct-file_submodule (f414) - : nf-oct-file_symlink_directory (f482) - : nf-oct-file_symlink_file (f481) - : nf-oct-file_text (f40e) - : nf-oct-file_zip (f410) - : nf-oct-flame (f490) - : nf-oct-fold (f48c) - : nf-oct-gear (f423) - : nf-oct-gift (f436) - : nf-oct-gist (f40c) - : nf-oct-gist_secret (f46c) - : nf-oct-git_branch (f418) - : nf-oct-git_commit (f417) - : nf-oct-git_compare (f47f) - : nf-oct-git_merge (f419) - : nf-oct-git_pull_request (f407) - : nf-oct-globe (f484) - : nf-oct-grabber (f4a6) - : nf-oct-graph (f437) -♥ : nf-oct-heart (2665) - : nf-oct-history (f464) - : nf-oct-home (f46d) - : nf-oct-horizontal_rule (f45b) - : nf-oct-hubot (f477) - : nf-oct-inbox (f48d) - : nf-oct-info (f449) - : nf-oct-issue_closed (f41d) - : nf-oct-issue_opened (f41b) - : nf-oct-issue_reopened (f41c) - : nf-oct-italic (f49f) - : nf-oct-jersey (f416) - : nf-oct-key (f43d) - : nf-oct-keyboard (f40b) - : nf-oct-law (f495) - : nf-oct-light_bulb (f400) - : nf-oct-link (f44c) - : nf-oct-link_external (f465) - : nf-oct-list_ordered (f452) - : nf-oct-list_unordered (f451) - : nf-oct-location (f450) - : nf-oct-lock (f456) - : nf-oct-logo_gist (f480) - : nf-oct-logo_github (f470) - : nf-oct-mail (f42f) - : nf-oct-mail_read (f430) - : nf-oct-mail_reply (f443) - : nf-oct-mark_github (f408) - : nf-oct-markdown (f48a) - : nf-oct-megaphone (f45f) - : nf-oct-mention (f486) - : nf-oct-milestone (f45d) - : nf-oct-mirror (f41a) - : nf-oct-mortar_board (f494) - : nf-oct-mute (f466) - : nf-oct-no_newline (f476) - : nf-oct-octoface (f406) - : nf-oct-organization (f42b) - : nf-oct-package (f487) - : nf-oct-paintcan (f48f) - : nf-oct-pencil (f448) - : nf-oct-person (f415) - : nf-oct-pin (f435) - : nf-oct-plug (f492) - : nf-oct-plus (f44d) - : nf-oct-plus_small (f4a7) - : nf-oct-primitive_dot (f444) - : nf-oct-primitive_square (f445) - : nf-oct-pulse (f469) - : nf-oct-question (f420) - : nf-oct-quote (f453) - : nf-oct-radio_tower (f424) - : nf-oct-reply (f4a8) - : nf-oct-repo (f401) - : nf-oct-repo_clone (f43f) - : nf-oct-repo_force_push (f43e) - : nf-oct-repo_forked (f402) - : nf-oct-repo_pull (f404) - : nf-oct-repo_push (f403) - : nf-oct-rocket (f427) - : nf-oct-rss (f428) - : nf-oct-ruby (f43b) - : nf-oct-search (f422) - : nf-oct-server (f473) - : nf-oct-settings (f462) - : nf-oct-shield (f49c) - : nf-oct-sign_in (f42a) - : nf-oct-sign_out (f426) - : nf-oct-smiley (f4a2) - : nf-oct-squirrel (f483) - : nf-oct-star (f41e) - : nf-oct-stop (f46e) - : nf-oct-sync (f46a) - : nf-oct-tag (f412) - : nf-oct-tasklist (f4a0) - : nf-oct-telescope (f46b) - : nf-oct-terminal (f489) - : nf-oct-text_size (f49e) - : nf-oct-three_bars (f44e) - : nf-oct-thumbsdown (f497) - : nf-oct-thumbsup (f496) - : nf-oct-tools (f425) - : nf-oct-trashcan (f48e) - : nf-oct-triangle_down (f44b) - : nf-oct-triangle_left (f438) - : nf-oct-triangle_right (f44a) - : nf-oct-triangle_up (f47e) - : nf-oct-unfold (f42d) - : nf-oct-unmute (f485) - : nf-oct-unverified (f4a3) - : nf-oct-verified (f4a1) - : nf-oct-versions (f454) - : nf-oct-watch (f49b) - : nf-oct-x (f467) -⚡ : nf-oct-zap (26a1) - : nf-pl-branch (e0a0) - : nf-pl-current_line (e0a1) - : nf-pl-hostname (e0a2) - : nf-pl-left_hard_divider (e0b0) - : nf-pl-left_soft_divider (e0b1) - : nf-pl-line_number (e0a1) - : nf-pl-readonly (e0a2) - : nf-pl-right_hard_divider (e0b2) - : nf-pl-right_soft_divider (e0b3) - : nf-ple-backslash_separator (e0b9) - : nf-ple-backslash_separator_redundant (e0bf) - : nf-ple-column_number (e0a3) - : nf-ple-current_column (e0a3) - : nf-ple-flame_thick (e0c0) - : nf-ple-flame_thick_mirrored (e0c2) - : nf-ple-flame_thin (e0c1) - : nf-ple-flame_thin_mirrored (e0c3) - : nf-ple-forwardslash_separator (e0bb) - : nf-ple-forwardslash_separator_redundant (e0bd) - : nf-ple-honeycomb (e0cc) - : nf-ple-honeycomb_outline (e0cd) - : nf-ple-ice_waveform (e0c8) - : nf-ple-ice_waveform_mirrored (e0ca) - : nf-ple-left_half_circle_thick (e0b6) - : nf-ple-left_half_circle_thin (e0b7) - : nf-ple-lego_block_facing (e0d0) - : nf-ple-lego_block_sideways (e0d1) - : nf-ple-lego_separator (e0ce) - : nf-ple-lego_separator_thin (e0cf) - : nf-ple-lower_left_triangle (e0b8) - : nf-ple-lower_right_triangle (e0ba) - : nf-ple-pixelated_squares_big (e0c6) - : nf-ple-pixelated_squares_big_mirrored (e0c7) - : nf-ple-pixelated_squares_small (e0c4) - : nf-ple-pixelated_squares_small_mirrored (e0c5) - : nf-ple-right_half_circle_thick (e0b4) - : nf-ple-right_half_circle_thin (e0b5) - : nf-ple-trapezoid_top_bottom (e0d2) - : nf-ple-trapezoid_top_bottom_mirrored (e0d4) - : nf-ple-upper_left_triangle (e0bc) - : nf-ple-upper_right_triangle (e0be) - : nf-pom-away (e007) - : nf-pom-clean_code (e000) - : nf-pom-external_interruption (e00a) - : nf-pom-internal_interruption (e009) - : nf-pom-long_pause (e006) - : nf-pom-pair_programming (e008) - : nf-pom-pomodoro_done (e001) - : nf-pom-pomodoro_estimated (e002) - : nf-pom-pomodoro_squashed (e004) - : nf-pom-pomodoro_ticking (e003) - : nf-pom-short_pause (e005) - : nf-seti-bower (e61a) - : nf-seti-cjsx (e61b) - : nf-seti-coffee (e61b) - : nf-seti-config (e615) - : nf-seti-css (e614) - : nf-seti-default (e612) - : nf-seti-ejs (e618) - : nf-seti-favicon (e623) - : nf-seti-folder (e613) - : nf-seti-go (e627) - : nf-seti-grunt (e611) - : nf-seti-gulp (e610) - : nf-seti-haskell (e61f) - : nf-seti-heroku (e607) - : nf-seti-home (e617) - : nf-seti-html (e60e) - : nf-seti-image (e60d) - : nf-seti-javascript (e60c) - : nf-seti-json (e60b) - : nf-seti-julia (e624) - : nf-seti-karma (e622) - : nf-seti-less (e60b) - : nf-seti-license (e60a) - : nf-seti-lua (e620) - : nf-seti-markdown (e609) - : nf-seti-mustache (e60f) - : nf-seti-npm (e616) - : nf-seti-php (e608) - : nf-seti-play_arrow (e602) - : nf-seti-project (e601) - : nf-seti-python (e606) - : nf-seti-rails (e604) - : nf-seti-react (e625) - : nf-seti-ruby (e605) - : nf-seti-sass (e603) - : nf-seti-stylus (e600) - : nf-seti-text (e612) - : nf-seti-twig (e61c) - : nf-seti-typescript (e628) - : nf-seti-xml (e619) - : nf-weather-alien (e36e) - : nf-weather-aliens (e345) - : nf-weather-barometer (e372) - : nf-weather-celsius (e339) - : nf-weather-cloud (e33d) - : nf-weather-cloud_down (e33a) - : nf-weather-cloud_refresh (e33b) - : nf-weather-cloud_up (e33c) - : nf-weather-cloudy (e312) - : nf-weather-cloudy_gusts (e310) - : nf-weather-cloudy_windy (e311) - : nf-weather-day_cloudy (e302) - : nf-weather-day_cloudy_gusts (e300) - : nf-weather-day_cloudy_high (e376) - : nf-weather-day_cloudy_windy (e301) - : nf-weather-day_fog (e303) - : nf-weather-day_hail (e304) - : nf-weather-day_haze (e3ae) - : nf-weather-day_light_wind (e3bc) - : nf-weather-day_lightning (e305) - : nf-weather-day_rain (e308) - : nf-weather-day_rain_mix (e306) - : nf-weather-day_rain_wind (e307) - : nf-weather-day_showers (e309) - : nf-weather-day_sleet (e3aa) - : nf-weather-day_sleet_storm (e362) - : nf-weather-day_snow (e30a) - : nf-weather-day_snow_thunderstorm (e365) - : nf-weather-day_snow_wind (e35f) - : nf-weather-day_sprinkle (e30b) - : nf-weather-day_storm_showers (e30e) - : nf-weather-day_sunny (e30d) - : nf-weather-day_sunny_overcast (e30c) - : nf-weather-day_thunderstorm (e30f) - : nf-weather-day_windy (e37d) - : nf-weather-degrees (e33e) - : nf-weather-direction_down (e340) - : nf-weather-direction_down_left (e33f) - : nf-weather-direction_down_right (e380) - : nf-weather-direction_left (e344) - : nf-weather-direction_right (e349) - : nf-weather-direction_up (e353) - : nf-weather-direction_up_left (e37f) - : nf-weather-direction_up_right (e352) - : nf-weather-dust (e35d) - : nf-weather-earthquake (e3be) - : nf-weather-fahrenheit (e341) - : nf-weather-fire (e3bf) - : nf-weather-flood (e375) - : nf-weather-fog (e313) - : nf-weather-gale_warning (e3c5) - : nf-weather-hail (e314) - : nf-weather-horizon (e343) - : nf-weather-horizon_alt (e342) - : nf-weather-hot (e36b) - : nf-weather-humidity (e373) - : nf-weather-hurricane (e36c) - : nf-weather-hurricane_warning (e3c7) - : nf-weather-lightning (e315) - : nf-weather-lunar_eclipse (e369) - : nf-weather-meteor (e36a) - : nf-weather-moon_alt_first_quarter (e3ce) - : nf-weather-moon_alt_full (e3d5) - : nf-weather-moon_alt_new (e3e3) - : nf-weather-moon_alt_third_quarter (e3dc) - : nf-weather-moon_alt_waning_crescent_1 (e3dd) - : nf-weather-moon_alt_waning_crescent_2 (e3de) - : nf-weather-moon_alt_waning_crescent_3 (e3df) - : nf-weather-moon_alt_waning_crescent_4 (e3e0) - : nf-weather-moon_alt_waning_crescent_5 (e3e1) - : nf-weather-moon_alt_waning_crescent_6 (e3e2) - : nf-weather-moon_alt_waning_gibbous_1 (e3d6) - : nf-weather-moon_alt_waning_gibbous_2 (e3d7) - : nf-weather-moon_alt_waning_gibbous_3 (e3d8) - : nf-weather-moon_alt_waning_gibbous_4 (e3d9) - : nf-weather-moon_alt_waning_gibbous_5 (e3da) - : nf-weather-moon_alt_waning_gibbous_6 (e3db) - : nf-weather-moon_alt_waxing_crescent_1 (e3c8) - : nf-weather-moon_alt_waxing_crescent_2 (e3c9) - : nf-weather-moon_alt_waxing_crescent_3 (e3ca) - : nf-weather-moon_alt_waxing_crescent_4 (e3cb) - : nf-weather-moon_alt_waxing_crescent_5 (e3cc) - : nf-weather-moon_alt_waxing_crescent_6 (e3cd) - : nf-weather-moon_alt_waxing_gibbous_1 (e3cf) - : nf-weather-moon_alt_waxing_gibbous_2 (e3d0) - : nf-weather-moon_alt_waxing_gibbous_3 (e3d1) - : nf-weather-moon_alt_waxing_gibbous_4 (e3d2) - : nf-weather-moon_alt_waxing_gibbous_5 (e3d3) - : nf-weather-moon_alt_waxing_gibbous_6 (e3d4) - : nf-weather-moon_first_quarter (e394) - : nf-weather-moon_full (e39b) - : nf-weather-moon_new (e38d) - : nf-weather-moon_third_quarter (e3a2) - : nf-weather-moon_waning_crescent_1 (e3a3) - : nf-weather-moon_waning_crescent_2 (e3a4) - : nf-weather-moon_waning_crescent_3 (e3a5) - : nf-weather-moon_waning_crescent_4 (e3a6) - : nf-weather-moon_waning_crescent_5 (e3a7) - : nf-weather-moon_waning_crescent_6 (e3a8) - : nf-weather-moon_waning_gibbous_1 (e39c) - : nf-weather-moon_waning_gibbous_2 (e39d) - : nf-weather-moon_waning_gibbous_3 (e39e) - : nf-weather-moon_waning_gibbous_4 (e39f) - : nf-weather-moon_waning_gibbous_5 (e3a0) - : nf-weather-moon_waning_gibbous_6 (e3a1) - : nf-weather-moon_waxing_crescent_1 (e38e) - : nf-weather-moon_waxing_crescent_2 (e38f) - : nf-weather-moon_waxing_crescent_3 (e390) - : nf-weather-moon_waxing_crescent_4 (e391) - : nf-weather-moon_waxing_crescent_5 (e392) - : nf-weather-moon_waxing_crescent_6 (e393) - : nf-weather-moon_waxing_gibbous_1 (e395) - : nf-weather-moon_waxing_gibbous_2 (e396) - : nf-weather-moon_waxing_gibbous_3 (e397) - : nf-weather-moon_waxing_gibbous_4 (e398) - : nf-weather-moon_waxing_gibbous_5 (e399) - : nf-weather-moon_waxing_gibbous_6 (e39a) - : nf-weather-moonrise (e3c1) - : nf-weather-moonset (e3c2) - : nf-weather-na (e374) - : nf-weather-night_alt_cloudy (e37e) - : nf-weather-night_alt_cloudy_gusts (e31f) - : nf-weather-night_alt_cloudy_high (e377) - : nf-weather-night_alt_cloudy_windy (e320) - : nf-weather-night_alt_hail (e321) - : nf-weather-night_alt_lightning (e322) - : nf-weather-night_alt_partly_cloudy (e379) - : nf-weather-night_alt_rain (e325) - : nf-weather-night_alt_rain_mix (e326) - : nf-weather-night_alt_rain_wind (e324) - : nf-weather-night_alt_sleet (e3ac) - : nf-weather-night_alt_sleet_storm (e364) - : nf-weather-night_alt_snow (e327) - : nf-weather-night_alt_snow_thunderstorm (e367) - : nf-weather-night_alt_snow_wind (e361) - : nf-weather-night_alt_sprinkle (e328) - : nf-weather-night_alt_storm_showers (e329) - : nf-weather-night_alt_thunderstorm (e32a) - : nf-weather-night_clear (e32b) - : nf-weather-night_cloudy (e32e) - : nf-weather-night_cloudy_gusts (e32c) - : nf-weather-night_cloudy_high (e378) - : nf-weather-night_cloudy_windy (e32d) - : nf-weather-night_fog (e346) - : nf-weather-night_hail (e32f) - : nf-weather-night_lightning (e330) - : nf-weather-night_partly_cloudy (e37b) - : nf-weather-night_rain (e333) - : nf-weather-night_rain_mix (e331) - : nf-weather-night_rain_wind (e332) - : nf-weather-night_showers (e334) - : nf-weather-night_sleet (e3ab) - : nf-weather-night_sleet_storm (e363) - : nf-weather-night_snow (e335) - : nf-weather-night_snow_thunderstorm (e366) - : nf-weather-night_snow_wind (e360) - : nf-weather-night_sprinkle (e336) - : nf-weather-night_storm_showers (e337) - : nf-weather-night_thunderstorm (e338) - : nf-weather-rain (e318) - : nf-weather-rain_mix (e316) - : nf-weather-rain_wind (e317) - : nf-weather-raindrop (e371) - : nf-weather-raindrops (e34a) - : nf-weather-refresh (e348) - : nf-weather-refresh_alt (e347) - : nf-weather-sandstorm (e37a) - : nf-weather-showers (e319) - : nf-weather-sleet (e3ad) - : nf-weather-small_craft_advisory (e3c4) - : nf-weather-smog (e36d) - : nf-weather-smoke (e35c) - : nf-weather-snow (e31a) - : nf-weather-snow_wind (e35e) - : nf-weather-snowflake_cold (e36f) - : nf-weather-solar_eclipse (e368) - : nf-weather-sprinkle (e31b) - : nf-weather-stars (e370) - : nf-weather-storm_showers (e31c) - : nf-weather-storm_warning (e3c6) - : nf-weather-strong_wind (e34b) - : nf-weather-sunrise (e34c) - : nf-weather-sunset (e34d) - : nf-weather-thermometer (e350) - : nf-weather-thermometer_exterior (e34e) - : nf-weather-thermometer_internal (e34f) - : nf-weather-thunderstorm (e31d) - : nf-weather-time_1 (e382) - : nf-weather-time_10 (e38b) - : nf-weather-time_11 (e38c) - : nf-weather-time_12 (e381) - : nf-weather-time_2 (e383) - : nf-weather-time_3 (e384) - : nf-weather-time_4 (e385) - : nf-weather-time_5 (e386) - : nf-weather-time_6 (e387) - : nf-weather-time_7 (e388) - : nf-weather-time_8 (e389) - : nf-weather-time_9 (e38a) - : nf-weather-tornado (e351) - : nf-weather-train (e3c3) - : nf-weather-tsunami (e3bd) - : nf-weather-umbrella (e37c) - : nf-weather-volcano (e3c0) - : nf-weather-wind_beaufort_0 (e3af) - : nf-weather-wind_beaufort_1 (e3b0) - : nf-weather-wind_beaufort_10 (e3b9) - : nf-weather-wind_beaufort_11 (e3ba) - : nf-weather-wind_beaufort_12 (e3bb) - : nf-weather-wind_beaufort_2 (e3b1) - : nf-weather-wind_beaufort_3 (e3b2) - : nf-weather-wind_beaufort_4 (e3b3) - : nf-weather-wind_beaufort_5 (e3b4) - : nf-weather-wind_beaufort_6 (e3b5) - : nf-weather-wind_beaufort_7 (e3b6) - : nf-weather-wind_beaufort_8 (e3b7) - : nf-weather-wind_beaufort_9 (e3b8) - : nf-weather-wind_direction (e3a9) - : nf-weather-wind_east (e35b) - : nf-weather-wind_north (e35a) - : nf-weather-wind_north_east (e359) - : nf-weather-wind_north_west (e358) - : nf-weather-wind_south (e357) - : nf-weather-wind_south_east (e356) - : nf-weather-wind_south_west (e355) - : nf-weather-wind_west (e354) - : nf-weather-windy (e31e) diff --git a/.local/share/vim/templates/skeleton.c b/.local/share/vim/templates/skeleton.c deleted file mode 100644 index 773bdef5..00000000 --- a/.local/share/vim/templates/skeleton.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -* [:VIM_EVAL:]expand('%:t')[:END_EVAL:] -* [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:] -* -* Created by Yigit Colakoglu on [:VIM_EVAL:]strftime('%m/%d/%y')[:END_EVAL:]. -* Copyright [:VIM_EVAL:]strftime('%Y')[:END_EVAL:]. Yigit Colakoglu. All rights reserved. -*/ - -#include - -int main(int argc, char *argv[]) { - -} - diff --git a/.local/share/vim/templates/skeleton.cpp b/.local/share/vim/templates/skeleton.cpp deleted file mode 100644 index 1b7db2f9..00000000 --- a/.local/share/vim/templates/skeleton.cpp +++ /dev/null @@ -1,14 +0,0 @@ -/* -* [:VIM_EVAL:]expand('%:t')[:END_EVAL:] -* [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:] -* -* Created by Yigit Colakoglu on [:VIM_EVAL:]strftime('%m/%d/%y')[:END_EVAL:]. -* Copyright [:VIM_EVAL:]strftime('%Y')[:END_EVAL:]. Yigit Colakoglu. All rights reserved. -*/ - -#include - -int main(int argc, char *argv[]) { - -} - diff --git a/.local/share/vim/templates/skeleton.h b/.local/share/vim/templates/skeleton.h deleted file mode 100644 index ed6c7f12..00000000 --- a/.local/share/vim/templates/skeleton.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// [:VIM_EVAL:]expand('%:t')[:END_EVAL:] -// [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:] -// -// Created by Yigit Colakoglu on [:VIM_EVAL:]strftime('%m/%d/%y')[:END_EVAL:]. -// Copyright [:VIM_EVAL:]strftime('%Y')[:END_EVAL:]. Yigit Colakoglu. All rights reserved. -// - -#ifndef [:VIM_EVAL:]substitute(expand('%:t'),'\.',"_","")[:END_EVAL:] -#define [:VIM_EVAL:]substitute(expand('%:t'),'\.',"_","")[:END_EVAL:] - - -#endif /* [:VIM_EVAL:]substitute(expand('%:t'),'\.',"_","")[:END_EVAL:] */ diff --git a/.local/share/vim/templates/skeleton.hpp b/.local/share/vim/templates/skeleton.hpp deleted file mode 100644 index ed6c7f12..00000000 --- a/.local/share/vim/templates/skeleton.hpp +++ /dev/null @@ -1,13 +0,0 @@ -// -// [:VIM_EVAL:]expand('%:t')[:END_EVAL:] -// [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:] -// -// Created by Yigit Colakoglu on [:VIM_EVAL:]strftime('%m/%d/%y')[:END_EVAL:]. -// Copyright [:VIM_EVAL:]strftime('%Y')[:END_EVAL:]. Yigit Colakoglu. All rights reserved. -// - -#ifndef [:VIM_EVAL:]substitute(expand('%:t'),'\.',"_","")[:END_EVAL:] -#define [:VIM_EVAL:]substitute(expand('%:t'),'\.',"_","")[:END_EVAL:] - - -#endif /* [:VIM_EVAL:]substitute(expand('%:t'),'\.',"_","")[:END_EVAL:] */ diff --git a/.local/share/vim/templates/skeleton.java b/.local/share/vim/templates/skeleton.java deleted file mode 100644 index fb916ca4..00000000 --- a/.local/share/vim/templates/skeleton.java +++ /dev/null @@ -1,13 +0,0 @@ -home/home/ -home/home/ [:VIM_EVAL:]expand('%:t')[:END_EVAL:] -home/home/ [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:] -home/home/ -home/home/ Created by Yigit Colakoglu on [:VIM_EVAL:]strftime('%mhome/%dhome/%y')[:END_EVAL:]. -home/home/ Copyright [:VIM_EVAL:]strftime('%Y')[:END_EVAL:]. Yigit Colakoglu. All rights reserved. -home/home/ - -class Untitled { - public static void main(String[] args) { - - } -} diff --git a/.local/share/vim/templates/skeleton.py b/.local/share/vim/templates/skeleton.py deleted file mode 100644 index 168d6bac..00000000 --- a/.local/share/vim/templates/skeleton.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/python -# -# [:VIM_EVAL:]expand('%:t')[:END_EVAL:] -# [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:] -# -# Created by Yigit Colakoglu on [:VIM_EVAL:]strftime('%m/%d/%y')[:END_EVAL:]. -# Copyright [:VIM_EVAL:]strftime('%Y')[:END_EVAL:]. Yigit Colakoglu. All rights reserved. -# - -def main(): - print("hello world") - - -if __name__ == "__main__": - main() diff --git a/.local/share/vim/templates/skeleton.sh b/.local/share/vim/templates/skeleton.sh deleted file mode 100644 index 13f47935..00000000 --- a/.local/share/vim/templates/skeleton.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh - diff --git a/.local/src/dmenu/config.h b/.local/src/dmenu/config.h index 8dd057ca..e4949c42 100644 --- a/.local/src/dmenu/config.h +++ b/.local/src/dmenu/config.h @@ -1,14 +1,20 @@ -/* See LICENSE file for copyright and license details. */ -/* Default settings; can be overriden by command line. */ +/* + __ _______ _____ _____ + \ \ / / ____| ____|_ _| + \ V /| _| | _| | | + | | | |___| |___ | | + |_| |_____|_____| |_| + Yeet's dmenu config +*/ static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ /* -fn option overrides fonts[0]; default X11 font or font set */ static const char *fonts[] = { + "JoyPixels:pixelsize=8:antialias=true:autohint=true", "CaskaydiaCove Nerd Font Mono:size=10", - "Symbola:pixelsize=16:antialias=true:autohint=true", }; -static const char *prompt = NULL; /* -p option; prompt to the left of input field */ +static const char *prompt = "Select an option"; /* -p option; prompt to the left of input field */ static const unsigned int min_lineheight = 27; static unsigned int lineheight = 27; static unsigned int fuzzy = 0; diff --git a/.local/src/dmenu/config.mk b/.local/src/dmenu/config.mk index 54fb03a5..638151fe 100644 --- a/.local/src/dmenu/config.mk +++ b/.local/src/dmenu/config.mk @@ -25,7 +25,7 @@ LIBS = -L$(X11LIB) -lX11 $(XINERAMALIBS) $(FREETYPELIBS) -lm -lXrender # flags CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" $(XINERAMAFLAGS) -CFLAGS = -std=c99 -pedantic -Wall -Os $(INCS) $(CPPFLAGS) +CFLAGS = -w -std=c99 -pedantic -Wall -Os $(INCS) $(CPPFLAGS) LDFLAGS = $(LIBS) # compiler and linker diff --git a/.local/src/dmenu/dmenu.c b/.local/src/dmenu/dmenu.c index 93e1c70d..f92f5feb 100644 --- a/.local/src/dmenu/dmenu.c +++ b/.local/src/dmenu/dmenu.c @@ -763,6 +763,156 @@ draw: drawmenu(); } +static void +buttonpress(XEvent *e) +{ + struct item *item; + XButtonPressedEvent *ev = &e->xbutton; + int x = 0, y = 0, h = bh, w; + + if (ev->window != win) + return; + + /* right-click: exit */ + if (ev->button == Button3) + exit(1); + + if (prompt && *prompt) + x += promptw; + + /* input field */ + w = (lines > 0 || !matches) ? mw - x : inputw; + + /* left-click on input: clear input, + * NOTE: if there is no left-arrow the space for < is reserved so + * add that to the input width */ + if (ev->button == Button1 && + ((lines <= 0 && ev->x >= 0 && ev->x <= x + w + + ((!prev || !curr->left) ? TEXTW("<") : 0)) || + (lines > 0 && ev->y >= y && ev->y <= y + h))) { + insert(NULL, -cursor); + drawmenu(); + return; + } + /* middle-mouse click: paste selection */ + if (ev->button == Button2) { + XConvertSelection(dpy, (ev->state & ShiftMask) ? clip : XA_PRIMARY, + utf8, utf8, win, CurrentTime); + drawmenu(); + return; + } + /* scroll up */ + if (ev->button == Button4 && prev) { + sel = curr = prev; + calcoffsets(); + drawmenu(); + return; + } + /* scroll down */ + if (ev->button == Button5 && next) { + sel = curr = next; + calcoffsets(); + drawmenu(); + return; + } + if (ev->button != Button1) + return; + /* disabled below, needs to be fixed */ + /* + if (ev->state & ~ControlMask) + return; + */ + if (lines > 0) { + /* vertical list: (ctrl)left-click on item */ + w = mw - x; + for (item = curr; item != next; item = item->right) { + y += h; + if (ev->y >= y && ev->y <= (y + h)) { + puts(item->text); + if (!(ev->state & ControlMask)) + exit(0); + sel = item; + if (sel) { + sel->id = 1; + drawmenu(); + } + return; + } + } + } else if (matches) { + /* left-click on left arrow */ + x += inputw; + w = TEXTW("<"); + if (prev && curr->left) { + if (ev->x >= x && ev->x <= x + w) { + sel = curr = prev; + calcoffsets(); + drawmenu(); + return; + } + } + /* horizontal list: (ctrl)left-click on item */ + for (item = curr; item != next; item = item->right) { + x += w; + w = MIN(TEXTW(item->text), mw - x - TEXTW(">")); + if (ev->x >= x && ev->x <= x + w) { + puts(item->text); + if (!(ev->state & ControlMask)) + exit(0); + sel = item; + if (sel) { + sel->id = 1; + drawmenu(); + } + return; + } + } + /* left-click on right arrow */ + w = TEXTW(">"); + x = mw - w; + if (next && ev->x >= x && ev->x <= x + w) { + sel = curr = next; + calcoffsets(); + drawmenu(); + return; + } + } +} + +static void +mousemove(XEvent *e) +{ + struct item *item; + XPointerMovedEvent *ev = &e->xmotion; + int x = 0, y = 0, h = bh, w; + + if (lines > 0) { + w = mw - x; + for (item = curr; item != next; item = item->right) { + y += h; + if (ev->y >= y && ev->y <= (y + h)) { + sel = item; + calcoffsets(); + drawmenu(); + return; + } + } + } else if (matches) { + x += inputw + promptw; + w = TEXTW("<"); + for (item = curr; item != next; item = item->right) { + x += w; + w = MIN(TEXTW(item->text), mw - x - TEXTW(">")); + if (ev->x >= x && ev->x <= x + w) { + sel = item; + calcoffsets(); + drawmenu(); + return; + } + } + } +} + static void paste(void) { @@ -829,6 +979,12 @@ run(void) break; cleanup(); exit(1); + case ButtonPress: + buttonpress(&ev); + break; + case MotionNotify: + mousemove(&ev); + break; case Expose: if (ev.xexpose.count == 0) drw_map(drw, win, 0, 0, mw, mh); @@ -926,6 +1082,12 @@ setup(void) /* create menu window */ swa.override_redirect = True; + swa.background_pixel = scheme[SchemeNorm][ColBg].pixel; + swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask | + ButtonPressMask | PointerMotionMask; + win = XCreateWindow(dpy, parentwin, x, y, mw, mh, 0, + CopyFromParent, CopyFromParent, CopyFromParent, + CWOverrideRedirect | CWBackPixel | CWEventMask, &swa); swa.background_pixel = 0; swa.border_pixel = 0; swa.colormap = cmap; diff --git a/.local/src/dwm/config.def.h b/.local/src/dwm/config.def.h index 13a3bfb3..118f69d2 100644 --- a/.local/src/dwm/config.def.h +++ b/.local/src/dwm/config.def.h @@ -156,7 +156,11 @@ static Key keys[] = { { MODKEY|ControlMask, XK_period, cyclelayout, {.i = +1 } }, { MODKEY, XK_space, setlayout, {0} }, { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, +<<<<<<< { MODKEY|ShiftMask, XK_f, togglefullscr, {0} }, +======= + { MODKEY, XK_s, togglesticky, {0} }, +>>>>>>> { MODKEY, XK_0, view, {.ui = ~0 } }, { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, { MODKEY, XK_comma, focusmon, {.i = -1 } }, diff --git a/.local/src/dwm/config.h b/.local/src/dwm/config.h index d1150bc8..5ab26c74 100644 --- a/.local/src/dwm/config.h +++ b/.local/src/dwm/config.h @@ -1,4 +1,11 @@ -/* See LICENSE file for copyright and license details. */ +/* + __ _______ _____ _____ + \ \ / / ____| ____|_ _| + \ V /| _| | _| | | + | | | |___| |___ | | + |_| |_____|_____| |_| + Yeet's DWM configuration +*/ typedef struct { const char *name; @@ -61,10 +68,13 @@ static Sp scratchpads[] = { { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, + +static const char *mouse_dmenu[] = {"/home/yigit/.local/bin/mousemenu", NULL}; /* button definitions */ /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ static Button buttons[] = { /* click event mask button function argument */ + { ClkRootWin, 0, Button3, spawn, {.v = mouse_dmenu} }, { ClkLtSymbol, 0, Button1, setlayout, {0} }, { ClkLtSymbol, 0, Button3, layoutmenu, {0} }, { ClkStatusText, 0, Button1, sigdwmblocks, {.i = 1} }, diff --git a/.local/src/dwm/dwm.c b/.local/src/dwm/dwm.c index 935f6ea7..964b242c 100644 --- a/.local/src/dwm/dwm.c +++ b/.local/src/dwm/dwm.c @@ -57,7 +57,7 @@ #define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \ * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) #define ISVISIBLEONTAG(C, T) ((C->tags & T)) -#define ISVISIBLE(C) ISVISIBLEONTAG(C, C->mon->tagset[C->mon->seltags]) +#define ISVISIBLE(C) ISVISIBLEONTAG(C, C->mon->tagset[C->mon->seltags] || C->issticky) #define LENGTH(X) (sizeof X / sizeof X[0]) #define MOUSEMASK (BUTTONMASK|PointerMotionMask) #define WIDTH(X) ((X)->w + 2 * (X)->bw) @@ -103,7 +103,7 @@ struct Client { int bw, oldbw; unsigned int tags; int ignoresizehints; - int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, isterminal, noswallow; + int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, isterminal, noswallow, issticky; pid_t pid; Client *next; Client *snext; @@ -256,6 +256,7 @@ static void togglebar(const Arg *arg); static void togglefloating(const Arg *arg); static void togglescratch(const Arg *arg); static void togglefullscr(const Arg *arg); +static void togglesticky(const Arg *arg); static void toggletag(const Arg *arg); static void toggleview(const Arg *arg); static void unfocus(Client *c, int setfocus); @@ -2487,6 +2488,15 @@ togglescratch(const Arg *arg) } } +void +togglesticky(const Arg *arg) +{ + if (!selmon->sel) + return; + selmon->sel->issticky = !selmon->sel->issticky; + arrange(selmon); +} + void toggletag(const Arg *arg) { diff --git a/.local/src/dwm/keybinds.h b/.local/src/dwm/keybinds.h index 876b26d5..c49ee2f7 100644 --- a/.local/src/dwm/keybinds.h +++ b/.local/src/dwm/keybinds.h @@ -1,11 +1,11 @@ -// -// keybinds.h -// dwm -// -// Created by Yigit Colakoglu on 04/12/21. -// Copyright 2021. Yigit Colakoglu. All rights reserved. -// -// +/* + __ _______ _____ _____ + \ \ / / ____| ____|_ _| + \ V /| _| | _| | | + | | | |___| |___ | | + |_| |_____|_____| |_| + Yeet's DWM keybinds +*/ #include #include "movestack.c" @@ -63,12 +63,13 @@ static const char *udevil_umount[] = {"/home/yigit/.local/bin/dmenu-udevil", "-u static const char *genpwd[] = {"/home/yigit/.local/bin/genpwd", NULL}; static const char *trackpad[] = {"/home/yigit/.local/bin/toggle_touchpad.sh"}; static const char *bluetooth[] = {"/home/yigit/.local/bin/dmenu-bluetooth", NULL}; -static const char *url[] = {"/home/yigit/.local/bin/dmenu_surf", NULL}; +static const char *web[] = {"/home/yigit/.local/bin/dmenu-web", NULL}; static const char *readbook[] = {"/home/yigit/.local/bin/dmenu-books", NULL}; +static const char *emoji[] = {"/home/yigit/.local/bin/dmenu-emoji", NULL}; +static const char *xrandr[] = {"/home/yigit/.local/bin/dmenu-xrandr", NULL}; static const char *record[] = {"/home/yigit/.local/bin/dmenu-record", NULL}; static const char *edit[] = {"/home/yigit/.local/bin/dmenu-edit", NULL}; static const char *surf[] = {"/home/yigit/.local/bin/tabbed_surf", NULL}; -static const char *searx[] = {"/home/yigit/.local/bin/dmenu-searx", NULL}; static const char *youtube[] = {"/home/yigit/.local/bin/ytfzf_dmenu", NULL}; /* commands */ @@ -139,16 +140,17 @@ static Key keys[] = { { 0, XF86XK_AudioPlay, spawn, {.v = play } }, { 0, XF86XK_AudioNext, spawn, {.v = next } }, { 0, XK_Print, spawn, {.v = screenshot } }, + { MODKEY|ShiftMask|Mod1Mask, XK_s, togglesticky, { 0 } }, { MODKEY, XK_Print, spawn, {.v = windowshot } }, { MODKEY|Mod1Mask, XK_Print, spawn, {.v = selectshot } }, - { MODKEY|ShiftMask, XK_e, spawn, {.v = simcrop } }, + { MODKEY|ShiftMask, XK_e, spawn, {.v = emoji } }, + { MODKEY|ShiftMask, XK_s, spawn, {.v = xrandr } }, { MODKEY, XK_e, spawn, {.v = edit} }, - { MODKEY, XK_u, spawn, {.v = url} }, + { MODKEY, XK_u, spawn, {.v = web} }, { MODKEY, XK_r, spawn, {.v = readbook} }, { MODKEY|Mod1Mask, XK_r, spawn, {.v = record } }, { MODKEY|ShiftMask, XK_w, spawn, {.v = wallabag} }, { MODKEY, XK_w, spawn, {.v = wiki} }, - { MODKEY, XK_g, spawn, {.v = searx} }, { MODKEY, XK_t, spawn, {.v = online_class} }, { MODKEY|ShiftMask, XK_m, spawn, {.v = mconnect} }, { MODKEY|ShiftMask, XK_d, spawn, {.v = udevil} }, @@ -156,7 +158,7 @@ static Key keys[] = { { MODKEY, XK_y, spawn, {.v = youtube} }, { MODKEY|ShiftMask, XK_g, spawn, {.v = grabcolor} }, { MODKEY, XK_s, togglescratch, {.ui = 0 } }, - { MODKEY|ShiftMask, XK_s, togglescratch, {.ui = 1 } }, +// { MODKEY|ShiftMask, XK_s, togglescratch, {.ui = 1 } }, { MODKEY, XK_m, togglescratch, {.ui = 2 } }, { MODKEY|ShiftMask, XK_f, togglescratch, {.ui = 3} }, { MODKEY, XK_n, togglescratch, {.ui = 4} }, diff --git a/.local/src/dwm/rules.h b/.local/src/dwm/rules.h index 3256d4f7..a2f04d59 100644 --- a/.local/src/dwm/rules.h +++ b/.local/src/dwm/rules.h @@ -1,10 +1,11 @@ -// -// rules.h -// dwm -// -// Created by Yigit Colakoglu on 04/12/21. -// Copyright 2021. Yigit Colakoglu. All rights reserved. -// +/* + __ _______ _____ _____ + \ \ / / ____| ____|_ _| + \ V /| _| | _| | | + | | | |___| |___ | | + |_| |_____|_____| |_| + Yeet's DWM rules +*/ #ifndef rules_h #define rules_h diff --git a/.local/src/dwmblocks/config.h b/.local/src/dwmblocks/config.h index c28be264..c3ef8eb5 100644 --- a/.local/src/dwmblocks/config.h +++ b/.local/src/dwmblocks/config.h @@ -1,3 +1,11 @@ +/* + __ _______ _____ _____ + \ \ / / ____| ____|_ _| + \ V /| _| | _| | | + | | | |___| |___ | | + |_| |_____|_____| |_| + Yeet's DWMBlocks Config +*/ #define PATH(name) "/home/yigit/.local/bin/status-bar/"name @@ -11,12 +19,12 @@ static Block blocks[] = { // { "", PATH("mpc"), 240, 29}, { "", PATH("bluetooth"), 120, 26}, { "", PATH("mconnect"), 120, 20}, -// { "", PATH("todo"), 120, 27}, + { "", PATH("todo"), 120, 27}, { "", PATH("nextcloud"), 600, 25}, { "", PATH("cpu-temp"), 30, 17}, { "", PATH("memory"), 120, 21}, { "", PATH("weather"), 60, 16}, -// { "", PATH("arch"), 120, 15}, + { "", PATH("arch"), 120, 15}, { "", PATH("volume"), 5, 14}, { "", PATH("network"), 120, 13}, { "", PATH("battery"), 60, 12}, diff --git a/.local/src/st/config.h b/.local/src/st/config.h index 43f5da01..c656da3b 100644 --- a/.local/src/st/config.h +++ b/.local/src/st/config.h @@ -1,28 +1,23 @@ -/* See LICENSE file for copyright and license details. */ - /* - * appearance - * - * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html - */ + __ _______ _____ _____ + \ \ / / ____| ____|_ _| + \ V /| _| | _| | | + | | | |___| |___ | | + |_| |_____|_____| |_| + Yeet's st config +*/ + static char *font = "CaskaydiaCove Nerd Font Mono:pixelsize=16:antialias=true:autohint=true"; static char *font2[] = { - "Symbola:pixelsize=16:antialias=true:autohint=true", + "Joypixels:pixelsize=16:antialias=true:autohint=true", }; -char *iso14755_cmd = "cat /home/yigit/.local/share/nerdfont_icons | dmenu -w \"$WINDOWID\" -p \"Select icon\" -l 10 | cut -d\"(\" -f2 | cut -c 1-4"; +char *iso14755_cmd = "dmenu -w \"$WINDOWID\" -p \"Enter unicode\""; static int borderpx = 2; -/* - * What program is execed by st depends of these precedence rules: - * 1: program passed with -e - * 2: scroll and/or utmp - * 3: SHELL environment variable - * 4: value of shell in /etc/passwd - * 5: value of shell in config.h - */ static char *shell = "/bin/zsh"; char *utmp = NULL; + /* scroll program: to enable use a string like "scroll" */ char *scroll = "scroll"; char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; @@ -36,11 +31,6 @@ char *vtiden = "\033[?6c"; static float cwscale = 1.0; static float chscale = 1.0; -/* - * word delimiter string - * - * More advanced example: L" `'\"()[]{}" - */ wchar_t *worddelimiters = L" "; /* selection timeouts (in milliseconds) */ @@ -54,50 +44,15 @@ int allowaltscreen = 1; setting the clipboard text */ int allowwindowops = 0; -/* - * draw latency range in ms - from new content/keypress/etc until drawing. - * within this range, st draws when content stops arriving (idle). mostly it's - * near minlatency, but it waits longer for slow updates to avoid partial draw. - * low minlatency will tear/flicker more, as it can "detect" idle too early. - */ static double minlatency = 8; static double maxlatency = 33; -/* - * blinking timeout (set to 0 to disable blinking) for the terminal blinking - * attribute. - */ static unsigned int blinktimeout = 800; - -/* - * thickness of underline and bar cursors - */ static unsigned int cursorthickness = 2; -/* - * bell volume. It must be a value between -100 and 100. Use 0 for disabling - * it - */ static int bellvolume = 0; - -/* default TERM value */ char *termname = "st-256color"; -/* - * spaces per tab - * - * When you are changing this value, don't forget to adapt the »it« value in - * the st.info and appropriately install the st.info in the environment where - * you use this st version. - * - * it#$tabspaces, - * - * Secondly make sure your kernel is not expanding tabs. When running `stty - * -a` »tab0« should appear. You can tell the terminal to not expand tabs by - * running following command: - * - * stty tabs - */ unsigned int tabspaces = 8; static const char *colorname[] = { @@ -129,10 +84,6 @@ static const char *colorname[] = { /* More special colors */ }; -/* - * Default colors (colorname index) - * foreground, background, cursor, reverse cursor - */ unsigned int defaultfg = 257; unsigned int defaultbg = 256; unsigned int bg = 256, bgUnfocused = 256; @@ -142,46 +93,19 @@ static unsigned int defaultrcs = 256; static unsigned int defaultitalic = 7; static unsigned int defaultunderline = 7; -/* - * Default shape of cursor - * 2: Block ("█") - * 4: Underline ("_") - * 6: Bar ("|") - * 7: Snowman ("☃") - */ static unsigned int cursorshape = 0; -/* - * Default columns and rows numbers - */ - static unsigned int cols = 80; static unsigned int rows = 24; -/* - * Default colour and shape of the mouse cursor - */ static unsigned int mouseshape = XC_xterm; static unsigned int mousefg = 7; static unsigned int mousebg = 0; -/* - * Color used to display font attributes when fontconfig selected a font which - * doesn't match the ones requested. - */ static unsigned int defaultattr = 11; -/* - * Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set). - * Note that if you want to use ShiftMask with selmasks, set this to an other - * modifier, set to 0 to not use it. - */ static uint forcemousemod = ShiftMask; -/* - * Internal mouse shortcuts. - * Beware that overloading Button1 will disable the selection. - */ static MouseShortcut mshortcuts[] = { /* mask button function argument release */ { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, @@ -233,44 +157,10 @@ static Shortcut shortcuts[] = { { MODKEY, XK_a, changealpha, {.f = +0.05} }, }; -/* - * Special keys (change & recompile st.info accordingly) - * - * Mask value: - * * Use XK_ANY_MOD to match the key no matter modifiers state - * * Use XK_NO_MOD to match the key alone (no modifiers) - * appkey value: - * * 0: no value - * * > 0: keypad application mode enabled - * * = 2: term.numlock = 1 - * * < 0: keypad application mode disabled - * appcursor value: - * * 0: no value - * * > 0: cursor application mode enabled - * * < 0: cursor application mode disabled - * - * Be careful with the order of the definitions because st searches in - * this table sequentially, so any XK_ANY_MOD must be in the last - * position for a key. - */ - -/* - * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF) - * to be mapped below, add them to this array. - */ static KeySym mappedkeys[] = { -1 }; -/* - * State bits to ignore when matching key or button events. By default, - * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored. - */ static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; -/* - * This is the huge key array which defines all compatibility to the Linux - * world. Please decide about changes wisely. - */ - static Key key[] = { /* keysym mask string appkey appcursor */ { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, @@ -329,8 +219,7 @@ static Key key[] = { { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, - { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, - { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, { XK_Up, ControlMask, "\033[1;5A", 0, 0}, { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0}, { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0}, @@ -484,21 +373,10 @@ static Key key[] = { { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, }; -/* - * Selection types' masks. - * Use the same masks as usual. - * Button1Mask is always unset, to make masks match between ButtonPress. - * ButtonRelease and MotionNotify. - * If no match is found, regular selection is used. - */ static uint selmasks[] = { [SEL_RECTANGULAR] = Mod1Mask, }; -/* - * Printable characters in ASCII, used to estimate the advance width - * of single wide characters. - */ static char ascii_printable[] = " !\"#$%&'()*+,-./0123456789:;<=>?" "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" diff --git a/.local/src/st/st b/.local/src/st/st index 8737adcd..79e43e71 100755 Binary files a/.local/src/st/st and b/.local/src/st/st differ diff --git a/.local/src/st/st.o b/.local/src/st/st.o index 1ad79eb8..283ef765 100644 Binary files a/.local/src/st/st.o and b/.local/src/st/st.o differ diff --git a/.local/src/st/x.o b/.local/src/st/x.o index 60ed9194..1ecca9c1 100644 Binary files a/.local/src/st/x.o and b/.local/src/st/x.o differ diff --git a/.profile b/.profile index be482e9c..5c1554b0 100755 --- a/.profile +++ b/.profile @@ -1,5 +1,12 @@ #!/bin/bash +## __ _______ _____ _____ +## \ \ / / ____| ____|_ _| +## \ V /| _| | _| | | +## | | | |___| |___ | | +## |_| |_____|_____| |_| +## .profile + # Vars for some bugs and applications export QT_QPA_PLATFORMTHEME="qt5ct" export _JAVA_AWT_WM_NONREPARENTING=1 @@ -25,6 +32,7 @@ export HISTFILE="$XDG_DATA_HOME"/history export TMUX_PLUGIN_MANAGER_PATH="$XDG_DATA_HOME"/tmux/plugins export BORG_KEYS_DIR="$XDG_DATA_HOME"/keys/borg export CARGO_HOME="$XDG_DATA_HOME"/cargo +export DOOMDIR="$XDG_CONFIG_HOME"/doom export GOPATH="$XDG_DATA_HOME"/go export ANDROID_HOME="$XDG_DATA_HOME"/Sdk export FLUTTER_HOME="$XDG_DATA_HOME"/flutter @@ -48,7 +56,7 @@ export IPYTHONDIR="$XDG_CONFIG_HOME"/jupyter export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME"/jupyter export PYLINTHOME="$XDG_CACHE_HOME"/pylint export WGETRC="$XDG_CONFIG_HOME/wgetrc" -export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle +# export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle export RANDFILE="$XDG_DATA_HOME"/openssl/rnd export _Z_DATA="$XDG_DATA_HOME/z" export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc @@ -93,8 +101,7 @@ fi # Start xinit if logged in from tty1 if [ "$DISPLAY" = "" ] && [ "$(tty)" = /dev/tty1 ]; then if [ "$DBUS_SESSION_BUS_ADDRESS" = "" ] && [ ! $(command -v dbus-run-session) = "" ]; then - # exec dbus-run-session xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit - exec xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit + exec dbus-run-session xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit else exec xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit fi