Browse Source

Haven't pushed in a while, bunch of changes

main
Yigit Colakoglu 4 years ago
parent
commit
32cf12e568
67 changed files with 8803 additions and 303 deletions
  1. +7070
    -1
      .config/BetterDiscord/themes/Material-Discord.theme.css
  2. +1
    -0
      .config/X11/xinitrc
  3. +160
    -0
      .config/doom/config.el
  4. +136
    -0
      .config/doom/init.el
  5. BIN
      .config/doom/logo.png
  6. +12
    -0
      .config/doom/packages.el
  7. +156
    -0
      .config/doom/themes/doom-material-ocean-theme.el
  8. +14
    -0
      .config/goimapnotify/yigit@fr1nge.xyz
  9. +14
    -0
      .config/goimapnotify/yigit@yigitcolakoglu.com
  10. +14
    -0
      .config/goimapnotify/yigitcolakoglu@hotmail.com
  11. +13
    -3
      .config/htop/htoprc
  12. +24
    -0
      .config/isync/mbsyncrc
  13. +7
    -2
      .config/mimeapps.list
  14. +11
    -0
      .config/msmtp/config
  15. +0
    -1
      .config/mutt/accounts/2-yigit@yigitcolakoglu.com.muttrc
  16. +46
    -0
      .config/mutt/accounts/3-yigit@fr1nge.xyz.muttrc
  17. +4
    -0
      .config/mutt/accounts/3-yigit@fr1nge.xyz.sig
  18. +1
    -0
      .config/mutt/muttrc
  19. +0
    -0
      .config/nvim/plugin/YCM.vim
  20. +0
    -0
      .config/nvim/plugin/coc.vim
  21. +0
    -0
      .config/nvim/plugin/ctrlp.vim
  22. +0
    -0
      .config/nvim/plugin/lightline-bufferline.vim
  23. +0
    -0
      .config/nvim/plugin/lightline.vim
  24. +0
    -0
      .config/nvim/plugin/nerdcommenter.vim
  25. +0
    -0
      .config/nvim/plugin/nerdtree.vim
  26. +5
    -22
      .config/nvim/plugin/plugins.vim
  27. +3
    -1
      .config/nvim/plugin/vim-betterwhitespace.vim
  28. +0
    -0
      .config/nvim/plugin/vim-ripgrep.vim
  29. +0
    -0
      .config/nvim/plugin/vim-test.vim
  30. +0
    -0
      .config/nvim/plugin/vimux.vim
  31. +0
    -4
      .config/vim/after/ftplugin/tex.vim
  32. +565
    -0
      .config/vim/colors/material.vim
  33. +0
    -16
      .config/vim/plugin/grammarous.vim
  34. +61
    -49
      .config/vim/vimrc
  35. +6
    -4
      .config/weechat/sec.conf
  36. +1
    -0
      .config/weechat/weechat.conf
  37. +2
    -3
      .config/zathura/zathurarc
  38. +2
    -1
      .config/zsh/.zshrc
  39. +4
    -3
      .config/zsh/aliases
  40. +30
    -0
      .local/bin/calconsync
  41. +0
    -9
      .local/bin/calsync
  42. +57
    -0
      .local/bin/compiler
  43. +1
    -1
      .local/bin/dmenu-mconnect
  44. +165
    -0
      .local/bin/dmenu-record
  45. +7
    -0
      .local/bin/doom
  46. +28
    -0
      .local/bin/exfirefoxtabs.py
  47. +2
    -1
      .local/bin/genpwd
  48. +24
    -8
      .local/bin/password_manager
  49. +28
    -11
      .local/bin/status-bar/battery
  50. +2
    -2
      .local/bin/status-bar/bluetooth
  51. +6
    -4
      .local/bin/status-bar/mail
  52. +3
    -3
      .local/bin/status-bar/network
  53. +47
    -47
      .local/bin/status-bar/weather
  54. +0
    -20
      .local/bin/synccontacts
  55. +13
    -2
      .local/bin/zanotes
  56. +25
    -18
      .local/share/dwm/autostart.sh
  57. +1
    -3
      .local/share/gnupg/gpg-agent.conf
  58. +4
    -4
      .local/src/dmenu/dmenu.c
  59. +3
    -0
      .local/src/dwm/config.h
  60. +13
    -49
      .local/src/dwm/dwm.c
  61. +5
    -0
      .local/src/dwm/keybinds.h
  62. +4
    -0
      .local/src/dwm/rules.h
  63. BIN
      .local/src/surf/surf
  64. BIN
      .local/src/surf/surf.o
  65. BIN
      .local/src/surf/webext-surf.o
  66. BIN
      .local/src/surf/webext-surf.so
  67. +3
    -11
      .profile

+ 7070
- 1
.config/BetterDiscord/themes/Material-Discord.theme.css
File diff suppressed because it is too large
View File


+ 1
- 0
.config/X11/xinitrc View File

@ -13,6 +13,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


+ 160
- 0
.config/doom/config.el View File

@ -0,0 +1,160 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets.
(setq user-full-name "Yigit Colakoglu"
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))
(global-auto-revert-mode t)
(add-hook! 'org-mode-hook (company-mode -1))
(add-hook! 'org-capture-mode-hook (company-mode -1))
(setq baby-blue '("#d2ecff" "#d2ecff" "brightblue"))
(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))
(defun insert-current-date () (interactive)
(insert (shell-command-to-string "echo -n $(date +%Y-%m-%d)")))
(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)
;; ("<tab>" . parinfer-smart-tab:dwim-right)
;; ("S-<tab>" . 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/")
(setq +magit-hub-features t)
(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 ()
(interactive)
(cfw:open-calendar-buffer
:contents-sources
(list
(cfw:org-create-source "Green") ; org-agenda source
)))

+ 136
- 0
.config/doom/init.el View File

@ -0,0 +1,136 @@
;;; init.el -*- lexical-binding: t; -*-
;; Copy me to ~/.doom.d/init.el or ~/.config/doom/init.el, then edit me!
(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
: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
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
(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
:emacs
(dired
+icons); making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
vc ; version-control and Emacs, sitting in a tree
:term
eshell ; a consistent, cross-platform shell (WIP)
vterm
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold
multiple-cursors ; editing in many places at once
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
:tools
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 ;
pass ; password manager for nerds
;pdf ; pdf enhancements
;rgb ; creating color strings
tmux ; an API for interacting with tmux
upload ; map local to remote projects via ssh/ftp
flycheck
flyspell
:lang
assembly ; assembly for fun or debugging
cc ; C/C++/Obj-C madness
;; crystal ; ruby at the speed of c
;; clojure ; java with a lisp
;; csharp ; unity, .NET, and mono shenanigans
common-lisp
data ; config/data formats
;erlang ; an elegant language for a more civilized age
;; elixir ; erlang done right
;; elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;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))))))
;; julia ; a better, faster MATLAB
latex ; writing papers in Emacs has never been so fun
;; ledger ; an accounting system in Emacs
;; lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;; nix ; I hereby declare "nix geht mehr!"
;; ocaml ; an objective camel
(org ; organize your plain life in plain text
+attach ; custom attachment system
+babel ; running code in org
+hugo
+capture ; org-capture in and outside of Emacs
+export ; Exporting org to whatever you want
+present) ; Emacs for presentations
;; +publish ; Emacs+Org as a static site generator
;; perl ; write code no one else can comprehend
php ; perl's insecure younger brother
;; plantuml ; diagrams for confusing people more
;; purescript ; javascript, but functional
(python +lsp +pyright) ; beautiful is better than ugly
rest ; Emacs as a REST client
;; ruby ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
;; rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;; scala ; java, but good
sh ; she sells (ba|z)sh shells on the C xor
;; swift ; who asked for emoji variables?
web ; the tubes
;; Applications are complex and opinionated modules that transform Emacs
;; toward a specific purpose. They may have additional dependencies and
;; should be loaded late.
:app
(: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
(rss +org) ; emacs as an RSS reader
;;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))

BIN
.config/doom/logo.png View File

Before After
Width: 400  |  Height: 200  |  Size: 12 KiB

+ 12
- 0
.config/doom/packages.el View File

@ -0,0 +1,12 @@
;;; -*- lexical-binding: t; -*-
;;; -*- no-byte-compile: t; -*-
(package! reason-mode)
(package! prettier-js)
(package! org-fancy-priorities)
(package! move-text)
(package! vue-mode)
(package! org-super-agenda)
(package! deadgrep)
(package! sql-indent)
(package! org-brain)

+ 156
- 0
.config/doom/themes/doom-material-ocean-theme.el View File

@ -0,0 +1,156 @@
;;; doom-material-theme.el --- inspired by Material Theme by equinusocio -*- no-byte-compile: t; -*-
(require 'doom-themes)
;;
(defgroup doom-material-ocean-theme nil
"Options for doom-themes"
:group 'doom-themes)
(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."
:group 'doom-material-ocean-theme
:type '(choice integer boolean))
;;
(def-doom-theme doom-material-ocean
"A dark theme inspired by Material Theme by equinusocio"
;; 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"))
;; 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)
(variables yellow)
(numbers orange)
(region base3)
(error red)
(warning yellow)
(success green)
(vc-modified blue)
(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)
(-modeline-pad
(when doom-material-ocean-padded-modeline
(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)
;; highlight-thing highlight-symbol
(highlight-symbol-face :background region :distant-foreground fg-alt)
;; 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)))
(fringe :background base2)
;; --- major-mode faces ------------------------
;; man-mode
(Man-overstrike :inherit 'bold :foreground magenta)
(Man-underline :inherit 'underline :foreground blue)
;; org-mode
((org-block &override) :background base2)
((org-block-background &override) :background base2)
((org-block-begin-line &override) :background base2)
;; --- plugin 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)
;; tooltip
(tooltip :background (doom-darken bg-alt 0.2) :foreground fg)))
(provide 'doom-material-ocean-theme)

+ 14
- 0
.config/goimapnotify/yigit@fr1nge.xyz View File

@ -0,0 +1,14 @@
{
"host": "mail.fr1nge.xyz",
"port": 993,
"tls": true,
"tlsOptions": {
"rejectUnauthorized": true
},
"username": "yigit@fr1nge.xyz",
"passwordCmd": "pass show Email/fr1nge.xyz/yigit@fr1nge.xyz",
"onNewMail": "mailsync yigit@fr1nge.xyz",
"boxes": [
"INBOX"
]
}

+ 14
- 0
.config/goimapnotify/yigit@yigitcolakoglu.com View File

@ -0,0 +1,14 @@
{
"host": "mail.privateemail.com",
"port": 993,
"tls": true,
"tlsOptions": {
"rejectUnauthorized": true
},
"username": "yigit@yigitcolakoglu.com",
"passwordCmd": "pass show Email/privateemail.com/yigit@yigitcolakoglu.com",
"onNewMail": "mailsync yigit@yigitcolakoglu.com",
"boxes": [
"INBOX"
]
}

+ 14
- 0
.config/goimapnotify/yigitcolakoglu@hotmail.com View File

@ -0,0 +1,14 @@
{
"host": "outlook.office365.com",
"port": 993,
"tls": true,
"tlsOptions": {
"rejectUnauthorized": true
},
"username": "yigitcolakoglu@hotmail.com",
"passwordCmd": "pass show AppPass/microsoft.com/yigitcolakoglu@hotmail.com",
"onNewMail": "mailsync yigitcolakoglu@hotmail.com",
"boxes": [
"INBOX"
]
}

+ 13
- 3
.config/htop/htoprc View File

@ -1,9 +1,10 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_key=47
sort_direction=1
hide_threads=0
tree_sort_key=0
tree_sort_direction=1
hide_kernel_threads=1
hide_userland_threads=1
shadow_other_users=0
@ -12,12 +13,20 @@ show_program_path=1
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
tree_view=0
tree_view_always_by_pid=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
cpu_count_from_one=1
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
@ -27,3 +36,4 @@ left_meters=LeftCPUs2 CPU Battery Blank Blank Blank Memory NetworkIO DiskIO
left_meter_modes=1 1 1 2 2 2 3 4 4
right_meters=RightCPUs2 Memory Swap Blank Blank Blank LoadAverage Uptime Tasks
right_meter_modes=1 1 1 2 2 2 3 4 4
hide_function_bar=0

+ 24
- 0
.config/isync/mbsyncrc View File

@ -50,3 +50,27 @@ MaxMessages 0
ExpireUnread no
# End profile
IMAPStore yigit@fr1nge.xyz-remote
Host mail.fr1nge.xyz
Port 993
User yigit
PassCmd "pass Email/fr1nge.xyz/yigit@fr1nge.xyz"
AuthMechs LOGIN
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt
MaildirStore yigit@fr1nge.xyz-local
Subfolders Verbatim
Path /home/yigit/.local/share/mail/yigit@fr1nge.xyz/
Inbox /home/yigit/.local/share/mail/yigit@fr1nge.xyz/INBOX
Channel yigit@fr1nge.xyz
Expunge Both
Master :yigit@fr1nge.xyz-remote:
Slave :yigit@fr1nge.xyz-local:
Patterns * !"[Gmail]/All Mail"
Create Both
SyncState *
MaxMessages 0
ExpireUnread no
# End profile

+ 7
- 2
.config/mimeapps.list View File

@ -20,11 +20,16 @@ application/pdf=zathura.desktop
application/epub=zathura.desktop
video/webm=mpv.desktop
application/zip=engrampa.desktop
x-scheme-handler/tg=userapp-Telegram Desktop-RUP9V0.desktop
x-scheme-handler/tg=userapp-Telegram Desktop-APVS20.desktop
x-scheme-handler/mailto=neomutt.desktop
message/rfc822=userapp-neomutt.desktop
application/x-directory=lf.desktop
x-scheme-handler/discord-474605546457137157=discord-474605546457137157.desktop
[Added Associations]
application/rtf=nvim.desktop;
application/rtf=libreoffice-writer.desktop;nvim.desktop;
text/x-java-source=vim.desktop;
x-scheme-handler/tg=userapp-Telegram Desktop-APVS20.desktop;
application/x-rdp=vim.desktop;
text/markdown=nvim.desktop;
application/pdf=zaread.desktop;

+ 11
- 0
.config/msmtp/config View File

@ -20,6 +20,17 @@ tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /home/yigit/.config/msmtp/msmtp.log
account yigit@fr1nge.xyz
host mail.fr1nge.xyz
port 587
from yigit@fr1nge.xyz
user yigit@fr1nge.xyz
passwordeval "pass Email/fr1nge.xyz/yigit@fr1nge.xyz"
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /home/yigit/.config/msmtp/msmtp.log
# default for git email-send
account default
host mail.privateemail.com


+ 0
- 1
.config/mutt/accounts/2-yigit@yigitcolakoglu.com.muttrc View File

@ -10,7 +10,6 @@ set message_cachedir = /home/yigit/.cache/mutt-wizard/yigit@yigitcolakoglu.com/b
set mbox_type = Maildir
set signature = "/home/yigit/.config/mutt/accounts/2-yigit@yigitcolakoglu.com.sig"
bind index,pager gg noop
bind index,pager g noop
bind index,pager M noop


+ 46
- 0
.config/mutt/accounts/3-yigit@fr1nge.xyz.muttrc View File

@ -0,0 +1,46 @@
# vim: filetype=neomuttrc
# muttrc file for account yigit@fr1nge.xyz
set realname = "Yigit Colakoglu"
set from = "yigit@fr1nge.xyz"
set sendmail = "msmtp -a yigit@fr1nge.xyz"
alias me yigit <yigit@fr1nge.xyz>
set folder = "/home/yigit/.local/share/mail/yigit@fr1nge.xyz"
set header_cache = /home/yigit/.cache/mutt-wizard/yigit@fr1nge.xyz/headers
set message_cachedir = /home/yigit/.cache/mutt-wizard/yigit@fr1nge.xyz/bodies
set mbox_type = Maildir
set signature = "/home/yigit/.config/mutt/accounts/3-yigit@fr1nge.xyz.sig"
bind index,pager gg noop
bind index,pager g noop
bind index,pager M noop
bind index,pager C noop
bind index gg first-entry
unmailboxes *
unalternates *
unset signature
unmacro index o
macro index o "<shell-escape>mw -y yigit@fr1nge.xyz<enter>" "run mbsync to sync yigit@fr1nge.xyz"
mailboxes "=Drafts" "=INBOX" "=Junk" "=Sent" "=Archive" "=Deleted Items"
macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
macro index,pager gj "<change-folder>=Junk<enter>" "go to spam"
macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to spam"
macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to spam"
set record = "+Sent"
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
macro index,pager gt "<change-folder>=Deleted Items<enter>" "go to trash"
macro index,pager Mt ";<save-message>=Deleted Items<enter>" "move mail to trash"
macro index,pager Ct ";<copy-message>=Deleted Items<enter>" "copy mail to trash"
set trash = "+Trash"
set postponed = "+Drafts"
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
set spoolfile = "+INBOX"

+ 4
- 0
.config/mutt/accounts/3-yigit@fr1nge.xyz.sig View File

@ -0,0 +1,4 @@
Yiğit Çolakoğlu
===================
Senior Student at Ted Ankara College Foundation High School

+ 1
- 0
.config/mutt/muttrc View File

@ -31,3 +31,4 @@ set crypt_use_gpgme
set pgp_default_key = "yigitcolakoglu@hotmail.com"
macro index,pager i1 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/1-yigitcolakoglu@hotmail.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to yigitcolakoglu@hotmail.com"
macro index,pager i2 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/2-yigit@yigitcolakoglu.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to yigit@yigitcolakoglu.com"
macro index,pager i3 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/3-yigit@fr1nge.xyz.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to yigit@fr1nge.xyz"

.config/vim/plugin/YCM.vim → .config/nvim/plugin/YCM.vim View File


.config/vim/plugin/coc.vim → .config/nvim/plugin/coc.vim View File


.config/vim/plugin/ctrlp.vim → .config/nvim/plugin/ctrlp.vim View File


.config/vim/plugin/lightline-bufferline.vim → .config/nvim/plugin/lightline-bufferline.vim View File


.config/vim/plugin/lightline.vim → .config/nvim/plugin/lightline.vim View File


.config/vim/plugin/nerdcommenter.vim → .config/nvim/plugin/nerdcommenter.vim View File


.config/vim/plugin/nerdtree.vim → .config/nvim/plugin/nerdtree.vim View File


.config/vim/plugin/plugins.vim → .config/nvim/plugin/plugins.vim View File


.config/vim/plugin/vim-betterwhitespace.vim → .config/nvim/plugin/vim-betterwhitespace.vim View File


.config/vim/plugin/vim-ripgrep.vim → .config/nvim/plugin/vim-ripgrep.vim View File


.config/vim/plugin/vim-test.vim → .config/nvim/plugin/vim-test.vim View File


.config/vim/plugin/vimux.vim → .config/nvim/plugin/vimux.vim View File


+ 0
- 4
.config/vim/after/ftplugin/tex.vim View File

@ -1,4 +0,0 @@
setlocal wrap linebreak nolist
" Only run LanguageTool between % GRAMMAROUS % tags
map <leader>G magg:/% GRAMMAROUS %<CR>jVnk:GrammarousCheck<CR>:noh<CR>`a

+ 565
- 0
.config/vim/colors/material.vim View File

@ -0,0 +1,565 @@
" Vim Color File
" Name: material.vim
" Maintainer: https://github.com/kaicataldo/material.vim
" License: The MIT License (MIT)
" === Configuration ===
" Clear any other set colors
highlight clear
if exists('syntax_on')
syntax reset
endif
let g:colors_name = 'material'
let g:material_theme_style = get(g:, 'material_theme_style', 'default')
let g:material_terminal_italics = get(g:, 'material_terminal_italics', 0)
" For backwards compatibility
if (g:material_theme_style == 'dark')
let g:material_theme_style = 'darker'
endif
" === Functions ===
function! s:SetHighlight(group, fg, bg, attr)
let l:attr = a:attr
if !g:material_terminal_italics && l:attr == 'italic'
let l:attr = ''
endif
if empty(l:attr)
let l:attr = 'none'
endif
if !empty(a:fg)
exec 'hi ' . a:group . ' guifg=' . a:fg.gui . ' ctermfg=' . a:fg.cterm
endif
if !empty(a:bg)
exec 'hi ' . a:group . ' guibg=' . a:bg.gui . ' ctermbg=' . a:bg.cterm
endif
if !empty(l:attr)
exec 'hi ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr
endif
endfun
" === Color Definitions ===
" Default colors
set background=dark
let s:bg = { 'gui': '#263238', 'cterm': 'none' }
let s:fg = { 'gui': '#eeffff', 'cterm': 231 }
let s:invisibles = { 'gui': '#65738e', 'cterm': 66 }
let s:comments = { 'gui': '#546e7a', 'cterm': 145 }
let s:caret = { 'gui': '#ffcc00', 'cterm': 220 }
let s:selection = { 'gui': '#2c3b41', 'cterm': 239 }
let s:guides = { 'gui': '#37474f', 'cterm': 17 }
let s:line_numbers = { 'gui': '#37474f', 'cterm': 145 }
let s:line_highlight = { 'gui': '#1a2327', 'cterm': 235 }
let s:white = { 'gui': '#ffffff', 'cterm': 231 }
let s:black = { 'gui': '#000000', 'cterm': 232 }
let s:red = { 'gui': '#ff5370', 'cterm': 203 }
let s:orange = { 'gui': '#f78c6c', 'cterm': 209 }
let s:yellow = { 'gui': '#ffcb6b', 'cterm': 11 }
let s:green = { 'gui': '#c3e88d', 'cterm': 2 } " 186 –– almost perfect match
let s:cyan = { 'gui': '#89ddff', 'cterm': 117 }
let s:blue = { 'gui': '#82aaff', 'cterm': 111 }
let s:paleblue = { 'gui': '#b2ccd6', 'cterm': 152 }
let s:purple = { 'gui': '#c792ea', 'cterm': 176 }
let s:brown = { 'gui': '#c17e70', 'cterm': 137 }
let s:pink = { 'gui': '#f07178', 'cterm': 204 }
let s:violet = { 'gui': '#bb80b3', 'cterm': 139 }
" Theme-specific color overrides
if g:material_theme_style == 'palenight' || g:material_theme_style == 'palenight-community'
let s:bg = { 'gui': '#292d3e', 'cterm': 'none' }
let s:fg = { 'gui': '#a6accd', 'cterm': 146 }
let s:invisibles = { 'gui': '#4e5579', 'cterm': 60 }
let s:comments = { 'gui': '#676e95', 'cterm': 60 }
let s:selection = { 'gui': '#343b51', 'cterm': 60 }
let s:guides = { 'gui': '#4e5579', 'cterm': 60 }
let s:line_numbers = { 'gui': '#3a3f58', 'cterm': 60 }
let s:line_highlight = { 'gui': '#1c1f2b', 'cterm': 234 }
elseif g:material_theme_style == 'darker' || g:material_theme_style == 'darker-community'
let s:bg = { 'gui': '#212121', 'cterm': 'none' }
let s:fg = { 'gui': '#eeffff', 'cterm': 231 }
let s:invisibles = { 'gui': '#65737e', 'cterm': 66 }
let s:comments = { 'gui': '#545454', 'cterm': 59 }
let s:selection = { 'gui': '#2c2c2c', 'cterm': 237 }
let s:guides = { 'gui': '#424242', 'cterm': 0 }
let s:line_numbers = { 'gui': '#424242', 'cterm': 0 }
let s:line_highlight = { 'gui': '#171717', 'cterm': 0 }
elseif g:material_theme_style == 'ocean' || g:material_theme_style == 'ocean-community'
let s:bg = { 'gui': '#0f111a', 'cterm': 'none' }
let s:fg = { 'gui': '#8f93a2', 'cterm': 103 }
let s:invisibles = { 'gui': '#80869e', 'cterm': 103 }
let s:comments = { 'gui': '#464b5d', 'cterm': 60 }
let s:selection = { 'gui': '#1f2233', 'cterm': 60 }
let s:guides = { 'gui': '#3b3f51', 'cterm': 17 }
let s:line_numbers = { 'gui': '#3b3f51', 'cterm': 60 }
let s:line_highlight = { 'gui': '#0a0c12', 'cterm': 0 }
elseif g:material_theme_style == 'lighter' || g:material_theme_style == 'lighter-community'
set background=light
let s:bg = { 'gui': '#fafafa', 'cterm': 'none' }
let s:fg = { 'gui': '#90a4ae', 'cterm': 109 }
let s:invisibles = { 'gui': '#e7eaec', 'cterm': 189 }
let s:comments = { 'gui': '#90a4ae', 'cterm': 109 }
let s:caret = { 'gui': '#272727', 'cterm': 0 }
let s:selection = { 'gui': '#ebf4f3', 'cterm': 254 }
let s:guides = { 'gui': '#b0bec5', 'cterm': 146 }
let s:line_numbers = { 'gui': '#cfd8dc', 'cterm': 188 }
let s:line_highlight = { 'gui': '#ecf0f1', 'cterm': 253 }
let s:white = { 'gui': '#ffffff', 'cterm': 231 }
let s:black = { 'gui': '#000000', 'cterm': 0 }
let s:red = { 'gui': '#e53935', 'cterm': 160 }
let s:orange = { 'gui': '#f76d47', 'cterm': 202 }
let s:yellow = { 'gui': '#ffb62c', 'cterm': 214 }
let s:green = { 'gui': '#91b859', 'cterm': 107 }
let s:cyan = { 'gui': '#39adb5', 'cterm': 37 }
let s:blue = { 'gui': '#6182b8', 'cterm': 67 }
let s:paleblue = { 'gui': '#8796b0', 'cterm': 103 }
let s:purple = { 'gui': '#7c4dff', 'cterm': 99 }
let s:brown = { 'gui': '#c17e70', 'cterm': 137 }
let s:pink = { 'gui': '#ff5370', 'cterm': 203 }
let s:violet = { 'gui': '#945eb8', 'cterm': 97 }
endif
" Defined globally so that the Airline theme has access
let g:material_colorscheme_map = {}
let g:material_colorscheme_map.bg = s:bg
let g:material_colorscheme_map.fg = s:fg
let g:material_colorscheme_map.invisibles = s:invisibles
let g:material_colorscheme_map.comments = s:comments
let g:material_colorscheme_map.caret = s:caret
let g:material_colorscheme_map.selection = s:selection
let g:material_colorscheme_map.guides = s:guides
let g:material_colorscheme_map.line_numbers = s:line_numbers
let g:material_colorscheme_map.line_highlight = s:line_highlight
let g:material_colorscheme_map.white = s:white
let g:material_colorscheme_map.black = s:black
let g:material_colorscheme_map.red = s:red
let g:material_colorscheme_map.orange = s:orange
let g:material_colorscheme_map.yellow = s:yellow
let g:material_colorscheme_map.green = s:green
let g:material_colorscheme_map.cyan = s:cyan
let g:material_colorscheme_map.blue = s:blue
let g:material_colorscheme_map.paleblue = s:paleblue
let g:material_colorscheme_map.purple = s:purple
let g:material_colorscheme_map.brown = s:brown
let g:material_colorscheme_map.pink = s:pink
let g:material_colorscheme_map.violet = s:violet
" === Highlights ===
" Vim Editor
call s:SetHighlight('ColorColumn', '', s:invisibles, '')
call s:SetHighlight('Cursor', s:bg, s:caret, '')
call s:SetHighlight('CursorColumn', '', s:line_highlight, '')
call s:SetHighlight('CursorLine', '', s:line_highlight, '')
call s:SetHighlight('CursorLineNr', s:comments, '', '')
call s:SetHighlight('Directory', s:blue, '', '')
call s:SetHighlight('DiffAdd', s:green, s:bg, '')
call s:SetHighlight('DiffDelete', s:red, s:bg, '')
call s:SetHighlight('DiffChange', s:yellow, s:bg, '')
call s:SetHighlight('DiffText', s:orange, s:bg, '')
call s:SetHighlight('ErrorMsg', s:bg, s:red, 'bold')
call s:SetHighlight('FoldColumn', s:line_numbers, s:bg, '')
call s:SetHighlight('Folded', s:brown, s:bg, 'bold')
call s:SetHighlight('LineNr', s:line_numbers, '', '')
call s:SetHighlight('MatchParen', s:comments, s:cyan, 'bold')
call s:SetHighlight('ModeMsg', s:green, '', '')
call s:SetHighlight('MoreMsg', s:green, '', '')
call s:SetHighlight('NonText', s:comments, '', '')
call s:SetHighlight('Normal', s:fg, s:bg, '')
call s:SetHighlight('Pmenu', s:fg, s:selection, '')
call s:SetHighlight('PmenuSel', s:bg, s:cyan, '')
call s:SetHighlight('PmenuSbar', '', s:selection, '')
call s:SetHighlight('PmenuThumb', '', s:comments, '')
call s:SetHighlight('Question', s:blue, '', '')
call s:SetHighlight('IncSearch', s:white, s:comments, 'none')
call s:SetHighlight('Search', s:white, s:comments, 'none')
call s:SetHighlight('SignColumn', s:fg, s:bg, '')
call s:SetHighlight('SpecialKey', s:comments, '', '')
call s:SetHighlight('SpellCap', s:blue, '', 'undercurl')
call s:SetHighlight('SpellBad', s:red, '', 'undercurl')
call s:SetHighlight('StatusLine', s:fg, s:selection, '')
call s:SetHighlight('StatusLineNC', s:comments, s:selection, '')
call s:SetHighlight('StatusLineTerm', s:bg, s:green, '')
call s:SetHighlight('StatusLineTermNC', s:bg, s:green, '')
call s:SetHighlight('TabLine', s:fg, s:line_numbers, '')
call s:SetHighlight('TabLineFill', s:fg, s:selection, '')
call s:SetHighlight('TabLineSel', s:bg, s:cyan, '')
call s:SetHighlight('Title', s:green, '', '')
call s:SetHighlight('VertSplit', s:comments, '', '')
call s:SetHighlight('Visual', s:fg, s:selection, '')
call s:SetHighlight('WarningMsg', s:red, '', '')
call s:SetHighlight('WildMenu', s:bg, s:cyan, '')
" Syntax
call s:SetHighlight('Comment', s:comments, '', 'italic')
call s:SetHighlight('Conceal', s:brown, s:bg, '')
call s:SetHighlight('Constant', s:orange, '', '')
call s:SetHighlight('String', s:green, '', '')
call s:SetHighlight('Character', s:green, '', '')
call s:SetHighlight('Identifier', s:red, '', '')
call s:SetHighlight('Function', s:blue, '', '')
call s:SetHighlight('Statement', s:purple, '', '')
call s:SetHighlight('Operator', s:cyan, '', '')
call s:SetHighlight('PreProc', s:cyan, '', '')
call s:SetHighlight('Include', s:blue, '', '')
call s:SetHighlight('Define', s:purple, '', '')
call s:SetHighlight('Macro', s:purple, '', '')
call s:SetHighlight('Type', s:yellow, '', '')
call s:SetHighlight('Structure', s:cyan, '', '')
call s:SetHighlight('Special', s:violet, '', '')
call s:SetHighlight('Underlined', s:blue, '', '')
call s:SetHighlight('Error', s:bg, s:red, '')
call s:SetHighlight('Todo', s:orange, s:bg, 'italic')
" Legacy groups for official git.vim and diff.vim syntax
hi! link diffFile DiffAdd
hi! link diffNewFile DiffDelete
hi! link diffAdded DiffAdd
hi! link diffChanged DiffChange
hi! link diffLine DiffChange
hi! link diffRemoved DiffDelete
" Git Commit Messages
call s:SetHighlight('gitcommitHeader', s:purple, '', '')
call s:SetHighlight('gitcommitUnmerged', s:green, '', '')
call s:SetHighlight('gitcommitSelectedFile', s:green, '', '')
call s:SetHighlight('gitcommitDiscardedFile', s:red, '', '')
call s:SetHighlight('gitcommitUnmergedFile', s:yellow, '', '')
call s:SetHighlight('gitcommitSelectedType', s:green, '', '')
call s:SetHighlight('gitcommitSummary', s:blue, '', '')
call s:SetHighlight('gitcommitDiscardedType', s:red, '', '')
hi link gitcommitNoBranch gitcommitBranch
hi link gitcommitUntracked gitcommitComment
hi link gitcommitDiscarded gitcommitComment
hi link gitcommitSelected gitcommitComment
hi link gitcommitDiscardedArrow gitcommitDiscardedFile
hi link gitcommitSelectedArrow gitcommitSelectedFile
hi link gitcommitUnmergedArrow gitcommitUnmergedFile
" Javascript
call s:SetHighlight('javaScriptBraces', s:fg, '', '')
call s:SetHighlight('javaScriptNull', s:orange, '', '')
call s:SetHighlight('javaScriptIdentifier', s:purple, '', '')
call s:SetHighlight('javaScriptNumber', s:orange, '', '')
call s:SetHighlight('javaScriptRequire', s:cyan, '', '')
call s:SetHighlight('javaScriptReserved', s:purple, '', '')
" pangloss/vim-javascript
if g:material_theme_style !~ '-community$'
call s:SetHighlight('jsArrowFunction', s:purple, '', '')
call s:SetHighlight('jsAsyncKeyword', s:purple, '', '')
call s:SetHighlight('jsBooleanTrue', s:orange, '', '')
call s:SetHighlight('jsBooleanFalse', s:orange, '', '')
call s:SetHighlight('jsBrackets', s:pink, '', '')
call s:SetHighlight('jsCatch', s:cyan, '', 'italic')
call s:SetHighlight('jsClassBraces', s:cyan, '', '')
call s:SetHighlight('jsClassDefinition', s:yellow, '', '')
call s:SetHighlight('jsClassFuncName', s:pink, '', '')
call s:SetHighlight('jsClassProperty', s:pink, '', '')
call s:SetHighlight('jsClassKeyword', s:purple, '', '')
call s:SetHighlight('jsConditional', s:cyan, '', 'italic')
call s:SetHighlight('jsDocParam', s:green, '', '')
call s:SetHighlight('jsDocTags', s:cyan, '', '')
call s:SetHighlight('jsDot', s:cyan, '', '')
call s:SetHighlight('jsException', s:cyan, '', 'italic')
call s:SetHighlight('jsExceptions', s:yellow, '', '')
call s:SetHighlight('jsExport', s:cyan, '', 'italic')
call s:SetHighlight('jsExportDefault', s:cyan, '', 'italic')
call s:SetHighlight('jsExtendsKeyword', s:purple, '', '')
call s:SetHighlight('jsFinally', s:cyan, '', 'italic')
call s:SetHighlight('jsFinallyBraces', s:cyan, '', '')
call s:SetHighlight('jsFlowArgumentDef', s:yellow, '', '')
call s:SetHighlight('jsForAwait', s:cyan, '', 'italic')
call s:SetHighlight('jsFrom', s:cyan, '', 'italic')
call s:SetHighlight('jsFuncBraces', s:cyan, '', '')
call s:SetHighlight('jsFuncCall', s:blue, '', '')
call s:SetHighlight('jsFuncParens', s:cyan, '', '')
call s:SetHighlight('jsFunction', s:purple, '', '')
call s:SetHighlight('jsFunctionKey', s:pink, '', '')
call s:SetHighlight('jsGlobalObjects', s:yellow, '', '')
call s:SetHighlight('jsGlobalNodeObjects', s:yellow, '', '')
call s:SetHighlight('jsIfElseBraces', s:cyan, '', '')
call s:SetHighlight('jsImport', s:cyan, '', 'italic')
call s:SetHighlight('jsModuleAs', s:cyan, '', 'italic')
call s:SetHighlight('jsModuleBraces', s:cyan, '', '')
call s:SetHighlight('jsNull', s:cyan, '', '')
call s:SetHighlight('jsNoise', s:cyan, '', '')
call s:SetHighlight('jsObjectBraces', s:cyan, '', '')
call s:SetHighlight('jsObjectColon', s:cyan, '', '')
call s:SetHighlight('jsObjectKey', s:pink, '', '')
call s:SetHighlight('jsObjectSeparator', s:cyan, '', '')
call s:SetHighlight('jsParens', s:pink, '', '')
call s:SetHighlight('jsRepeat', s:cyan, '', 'italic')
call s:SetHighlight('jsReturn', s:cyan, '', 'italic')
call s:SetHighlight('jsStorageClass', s:purple, '', '')
call s:SetHighlight('jsTemplateBraces', s:cyan, '', '')
call s:SetHighlight('jsTemplateExpression', s:fg, '', '')
call s:SetHighlight('jsTemplateString', s:green, '', '')
call s:SetHighlight('jsThis', s:cyan, '', 'italic')
call s:SetHighlight('jsTry', s:cyan, '', 'italic')
call s:SetHighlight('jsTryCatchBraces', s:cyan, '', '')
call s:SetHighlight('jsUndefined', s:cyan, '', '')
else
call s:SetHighlight('jsArrowFunction', s:purple, '', '')
call s:SetHighlight('jsAsyncKeyword', s:purple, '', '')
call s:SetHighlight('jsExtendsKeyword', s:purple, '', '')
call s:SetHighlight('jsClassKeyword', s:purple, '', '')
call s:SetHighlight('jsDocParam', s:green, '', '')
call s:SetHighlight('jsDocTags', s:cyan, '', '')
call s:SetHighlight('jsForAwait', s:purple, '', '')
call s:SetHighlight('jsFlowArgumentDef', s:yellow, '', '')
call s:SetHighlight('jsFrom', s:purple, '', '')
call s:SetHighlight('jsImport', s:purple, '', '')
call s:SetHighlight('jsExport', s:purple, '', '')
call s:SetHighlight('jsExportDefault', s:purple, '', '')
call s:SetHighlight('jsFuncCall', s:blue, '', '')
call s:SetHighlight('jsFunction', s:purple, '', '')
call s:SetHighlight('jsGlobalObjects', s:yellow, '', '')
call s:SetHighlight('jsGlobalNodeObjects', s:yellow, '', '')
call s:SetHighlight('jsModuleAs', s:purple, '', '')
call s:SetHighlight('jsNull', s:orange, '', '')
call s:SetHighlight('jsStorageClass', s:purple, '', '')
call s:SetHighlight('jsTemplateBraces', s:red, '', '')
call s:SetHighlight('jsTemplateExpression', s:red, '', '')
call s:SetHighlight('jsThis', s:red, '', '')
call s:SetHighlight('jsUndefined', s:orange, '', '')
endif
" MaxMEllon/vim-jsx-pretty
call s:SetHighlight('jsxTag', s:cyan, '', '')
call s:SetHighlight('jsxTagName', s:pink, '', '')
call s:SetHighlight('jsxComponentName', s:yellow, '', '')
call s:SetHighlight('jsxCloseTag', s:cyan, '', '')
call s:SetHighlight('jsxEscapeJs', s:fg, '', '')
call s:SetHighlight('jsxCloseString', s:cyan, '', '')
call s:SetHighlight('jsxAttrib', s:purple, '', 'italic')
call s:SetHighlight('jsxString', s:green, '', '')
call s:SetHighlight('jsxEqual', s:purple, '', '')
call s:SetHighlight('jsxDot', s:cyan, '', '')
call s:SetHighlight('jsxSpreadOperator', s:purple, '', '')
call s:SetHighlight('jsxBraces', s:cyan, '', '')
call s:SetHighlight('jsxNamespace', s:cyan, '', '')
" JSON
call s:SetHighlight('jsonBraces', s:fg, '', '')
" CSS
call s:SetHighlight('cssAttrComma', s:fg, '', '')
call s:SetHighlight('cssPseudoClassId', s:yellow, '', '')
call s:SetHighlight('cssBraces', s:fg, '', '')
call s:SetHighlight('cssClassName', s:yellow, '', '')
call s:SetHighlight('cssClassNameDot', s:yellow, '', '')
call s:SetHighlight('cssFunctionName', s:blue, '', '')
call s:SetHighlight('cssImportant', s:cyan, '', '')
call s:SetHighlight('cssIncludeKeyword', s:purple, '', '')
call s:SetHighlight('cssTagName', s:red, '', '')
call s:SetHighlight('cssMediaType', s:orange, '', '')
call s:SetHighlight('cssProp', s:fg, '', '')
call s:SetHighlight('cssSelectorOp', s:cyan, '', '')
call s:SetHighlight('cssSelectorOp2', s:cyan, '', '')
" Sass
call s:SetHighlight('sassAmpersand', s:red, '', '')
call s:SetHighlight('sassClassChar', s:yellow, '', '')
call s:SetHighlight('sassMixinName', s:blue, '', '')
call s:SetHighlight('sassVariable', s:purple, '', '')
" Less
call s:SetHighlight('lessAmpersand', s:red, '', '')
call s:SetHighlight('lessClassChar', s:yellow, '', '')
call s:SetHighlight('lessCssAttribute', s:fg, '', '')
call s:SetHighlight('lessFunction', s:blue, '', '')
call s:SetHighlight('lessVariable', s:purple, '', '')
" HTML
call s:SetHighlight('htmlTagName', s:pink, '', '')
call s:SetHighlight('htmlEndTag', s:cyan, '', '')
call s:SetHighlight('htmlTag', s:cyan, '', '')
call s:SetHighlight('htmlSpecialTagName', s:yellow, '', '')
call s:SetHighlight('htmlArg', s:purple, '', 'italic')
call s:SetHighlight('htmlTitle', s:fg, '', '')
call s:SetHighlight('htmlLink', s:fg, '', '')
"" Consistency with plasticboy/vim-markdown
call s:SetHighlight('htmlBold', s:pink, '', 'bold')
call s:SetHighlight('htmlH1', s:yellow, '', '')
call s:SetHighlight('htmlH2', s:yellow, '', '')
call s:SetHighlight('htmlH3', s:yellow, '', '')
call s:SetHighlight('htmlH4', s:yellow, '', '')
call s:SetHighlight('htmlH5', s:yellow, '', '')
call s:SetHighlight('htmlH6', s:yellow, '', '')
call s:SetHighlight('htmlItalic', s:pink, '', 'italic')
" XML
call s:SetHighlight('xmlAttrib', s:purple, '', 'italic')
call s:SetHighlight('xmlEndTag', s:cyan, '', '')
call s:SetHighlight('xmlTag', s:cyan, '', '')
call s:SetHighlight('xmlTagName', s:pink, '', '')
" Golang
call s:SetHighlight('goFunctionCall', s:blue, '', '')
call s:SetHighlight('goReceiverType', s:green, '', '')
call s:SetHighlight('goParamName', s:orange, '', '')
call s:SetHighlight('goParamType', s:green, '', '')
call s:SetHighlight('goTypeDecl', s:purple, '', '')
call s:SetHighlight('goTypeName', s:yellow, '', '')
call s:SetHighlight('goBuiltins', s:red, '', '')
call s:SetHighlight('goType', s:purple, '', '')
call s:SetHighlight('goSignedInts', s:purple, '', '')
call s:SetHighlight('goUnsignedInts', s:purple, '', '')
call s:SetHighlight('goFloats', s:purple, '', '')
call s:SetHighlight('goComplexes', s:purple, '', '')
" Ruby
call s:SetHighlight('rubyInterpolation', s:cyan, '', '')
call s:SetHighlight('rubyInterpolationDelimiter', s:violet, '', '')
call s:SetHighlight('rubyRegexp', s:cyan, '', '')
call s:SetHighlight('rubyRegexpDelimiter', s:violet, '', '')
call s:SetHighlight('rubyStringDelimiter', s:green, '', '')
" Rust
call s:SetHighlight('CocRustTypeHint', s:invisibles, '', '')
call s:SetHighlight('CocRustChainingHint', s:invisibles, '', '')
" TeX
call s:SetHighlight('texBeginEndName', s:blue, '', '')
call s:SetHighlight('texMathMatcher', s:blue, '', '')
call s:SetHighlight('texCite', s:green, '', '')
call s:SetHighlight('texRefZone', s:green, '', '')
call s:SetHighlight('texInputFile', s:green, '', '')
call s:SetHighlight('texMath', s:orange, '', '')
call s:SetHighlight('texMathOper', s:yellow, '', '')
" Markdown
if g:material_theme_style !~ '-community$'
call s:SetHighlight('markdownBold', s:pink, '', 'bold')
call s:SetHighlight('markdownBoldDelimiter', s:cyan, '', '')
call s:SetHighlight('markdownCode', s:paleblue, '', '')
call s:SetHighlight('markdownCodeDelimiter', s:green, '', '')
call s:SetHighlight('markdownHeadingDelimiter', s:cyan, '', '')
call s:SetHighlight('markdownH1', s:yellow, '', '')
call s:SetHighlight('markdownH2', s:yellow, '', '')
call s:SetHighlight('markdownH3', s:yellow, '', '')
call s:SetHighlight('markdownH4', s:yellow, '', '')
call s:SetHighlight('markdownH5', s:yellow, '', '')
call s:SetHighlight('markdownH6', s:yellow, '', '')
call s:SetHighlight('markdownItalic', s:pink, '', 'italic')
call s:SetHighlight('markdownItalicDelimiter', s:cyan, '', '')
call s:SetHighlight('markdownLinkDelimiter', s:cyan, '', '')
call s:SetHighlight('markdownLinkText', s:green, '', '')
call s:SetHighlight('markdownLinkTextDelimiter', s:cyan, '', '')
call s:SetHighlight('markdownListMarker', s:cyan, '', '')
call s:SetHighlight('markdownUrl', s:pink, '', 'underline')
call s:SetHighlight('markdownUrlTitleDelimiter', s:green, '', '')
else
call s:SetHighlight('markdownBold', s:yellow, '', 'bold')
call s:SetHighlight('markdownCode', s:cyan, '', '')
call s:SetHighlight('markdownCodeBlock', s:cyan, '', '')
call s:SetHighlight('markdownCodeDelimiter', s:cyan, '', '')
call s:SetHighlight('markdownHeadingDelimiter', s:green, '', '')
call s:SetHighlight('markdownHeadingRule', s:comments, '', '')
call s:SetHighlight('markdownId', s:purple, '', '')
call s:SetHighlight('markdownItalic', s:blue, '', 'italic')
call s:SetHighlight('markdownListMarker', s:orange, '', '')
call s:SetHighlight('markdownOrderedListMarker', s:orange, '', '')
call s:SetHighlight('markdownRule', s:comments, '', '')
call s:SetHighlight('markdownUrl', s:purple, '', '')
call s:SetHighlight('markdownUrlTitleDelimiter', s:yellow, '', '')
endif
" plasticboy/vim-markdown
if g:material_theme_style !~ '-community$'
call s:SetHighlight('mkdBold', s:cyan, '', '')
call s:SetHighlight('mkdCodeStart', s:green, '', '')
call s:SetHighlight('mkdCodeDelimiter', s:cyan, '', '')
call s:SetHighlight('mkdDelimiter', s:cyan, '', '')
call s:SetHighlight('mkdHeading', s:cyan, '', '')
call s:SetHighlight('mkdItalic', s:cyan, '', '')
call s:SetHighlight('mkdLink', s:green, '', '')
call s:SetHighlight('mkdListItem', s:cyan, '', '')
call s:SetHighlight('mkdURL', s:pink, '', 'underline')
endif
" vimwiki/vimwiki
if g:material_theme_style !~ '-community$'
call s:SetHighlight('VimwikiBold', s:pink, '', 'bold')
call s:SetHighlight('VimwikiBoldChar', s:cyan, '', 'bold')
call s:SetHighlight('VimwikiDelText', s:pink, '', 'strikethrough')
call s:SetHighlight('VimwikiDelTextChar', s:cyan, '', '')
call s:SetHighlight('VimwikiCode', s:green, '', '')
call s:SetHighlight('VimwikiCodeChar', s:cyan, '', '')
call s:SetHighlight('VimwikiHeader1', s:yellow, '', '')
call s:SetHighlight('VimwikiHeader2', s:yellow, '', '')
call s:SetHighlight('VimwikiHeader3', s:yellow, '', '')
call s:SetHighlight('VimwikiHeader4', s:yellow, '', '')
call s:SetHighlight('VimwikiHeader5', s:yellow, '', '')
call s:SetHighlight('VimwikiHeader6', s:yellow, '', '')
call s:SetHighlight('VimwikiHeaderChar', s:cyan, '', '')
call s:SetHighlight('VimwikiImage', s:cyan, '', '')
call s:SetHighlight('VimwikiItalic', s:pink, '', 'italic')
call s:SetHighlight('VimwikiItalicChar', s:cyan, '', '')
call s:SetHighlight('VimwikiLink', s:green, '', 'underline')
call s:SetHighlight('VimwikiListTodo', s:cyan, '', '')
call s:SetHighlight('VimwikiPre', s:green, '', '')
call s:SetHighlight('VimwikiWebLink1', s:green, '', 'underline')
endif
" vim-gitgutter
call s:SetHighlight('GitGutterAdd', s:green, '', '')
call s:SetHighlight('GitGutterChange', s:yellow, '', '')
call s:SetHighlight('GitGutterChangeDelete', s:orange, '', '')
call s:SetHighlight('GitGutterDelete', s:red, '', '')
" vim-signify
hi link SignifySignAdd GitGutterAdd
hi link SignifySignChange GitGutterChange
hi link SignifySignDelete GitGutterDelete
" vim-better-whitespace
call s:SetHighlight('ExtraWhitespace', '', s:red, '')
" NERDTree
if has('nvim')
call s:SetHighlight('NERDTreeFile', s:fg, '', '')
endif
" coc.nvim
call s:SetHighlight('CocMarkdownLink', s:purple, '', '')
call s:SetHighlight('CocErrorSign', s:red, '', '')
call s:SetHighlight('CocWarningSign', s:orange, '', '')
call s:SetHighlight('CocHintSign', s:yellow, '', '')
call s:SetHighlight('CocInfoSign', s:green, '', '')
" Neovim terminal colors
if has('nvim')
let g:terminal_color_background = s:bg.gui
let g:terminal_color_foreground = s:fg.gui
let g:terminal_color_0 = s:comments.gui
let g:terminal_color_1 = s:red.gui
let g:terminal_color_2 = s:green.gui
let g:terminal_color_3 = s:yellow.gui
let g:terminal_color_4 = s:blue.gui
let g:terminal_color_5 = s:purple.gui
let g:terminal_color_6 = s:cyan.gui
let g:terminal_color_7 = s:white.gui
let g:terminal_color_8 = g:terminal_color_0
let g:terminal_color_9 = g:terminal_color_1
let g:terminal_color_10 = g:terminal_color_2
let g:terminal_color_11 = g:terminal_color_3
let g:terminal_color_12 = g:terminal_color_4
let g:terminal_color_13 = g:terminal_color_5
let g:terminal_color_14 = g:terminal_color_6
let g:terminal_color_15 = g:terminal_color_7
endif

+ 0
- 16
.config/vim/plugin/grammarous.vim View File

@ -1,16 +0,0 @@
let g:languagetool_cmd='/usr/bin/languagetool'
let g:grammarous#default_comments_only_filetypes = {
\ '*' : 1, 'help' : 0, 'markdown' : 0, 'tex': 0,
\ }
let g:grammarous#default_lang='en-GB'
let g:grammarous#enabled_categories = {'*' : ['PUNCTUATION',
\'COLLOQUIALISMS', 'COMPOUNDING', 'CONFUSED_WORDS', 'FALSE_FRIENDS',
\ 'GENDER_NEUTRALITY', 'GRAMMAR', 'MISC', 'PLAIN_ENGLISH',
\ 'PUNCTUATION', 'REDUNDANCY', 'REGIONALISMS', 'REPETITIONS',
\ 'SEMANTICS', 'STYLE', 'TYPOGRAPHY',
\ 'TYPOS', 'WIKIPEDIA'], 'markdown' : ['PUNCTUATION',
\'COLLOQUIALISMS', 'COMPOUNDING', 'CONFUSED_WORDS', 'FALSE_FRIENDS',
\ 'GENDER_NEUTRALITY', 'GRAMMAR', 'MISC', 'PLAIN_ENGLISH',
\ 'PUNCTUATION', 'REDUNDANCY', 'REGIONALISMS', 'REPETITIONS',
\ 'SEMANTICS', 'STYLE', 'TYPOGRAPHY',]}

+ 61
- 49
.config/vim/vimrc View File

@ -18,39 +18,43 @@ let s:MRU_File = $XDG_CACHE_HOME."/vim/mru"
if !has('nvim') | set viminfofile=$XDG_CACHE_HOME/vim/viminfo | endif
if has('nvim')
source ~/.config/nvim/plugin/plugins.vim
endif
source ~/.config/vim/plugin/plugins.vim
map <leader>c :w! \| !compiler "<c-r>%"<CR>
" Set leader
let mapleader = ","
noh
" Leader Mappings
map <Leader>w :update<CR>
map <Leader>q :qall<CR>
map <Leader>gs :Gstatus<CR>
" map Q to gq for line formatting cuz Q is useless
nnoremap Q gq
" Recently edited files
map <Leader>h :History<CR>
" map gj and gk to j and k for seamless movement in tex
map j gj
map k gk
" CtrlP use FZF (faster!)
nnoremap <C-p> :Files<CR>
nnoremap <leader>b :Buffers<CR>
noremap <leader>u :w<Home>silent <End> !urlview<CR>
" System clipboard copy
nnoremap <Leader>y "+y
nnoremap <Leader>p "+p
vnoremap <Leader>y "+y
vnoremap <Leader>p "+p
nnoremap <Leader>Y "+Y
nnoremap <Leader>P "+P
vnoremap <Leader>d "+d
nnoremap <Leader>D "+D
syntax on
filetype plugin on
autocmd Filetype scss if getfsize(@%) > 300 | setlocal syntax=OFF | endif
augroup twig_ft
au!
autocmd BufNewFile,BufRead *.html.inky set syntax=eruby
augroup END
set autoread " Auto reload changed files
set wildmenu " Tab autocomplete in command mode
@ -74,6 +78,8 @@ set timeoutlen=1000 ttimeoutlen=0 " Remove timeout when hitting escape
set showcmd " Show size of visual selection
set cmdheight=2
set t_Co=256
noh
" set clipboard=unnamedplus
set shortmess+=c
set updatetime=300
@ -97,6 +103,22 @@ set wildignore+=*.zip
set wildignore+=*/vendor/bundle/*
set wildignore+=*/node_modules/
" Enable autocompletion:
set wildmode=longest,list,full
" Disables automatic commenting on newline:
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
vnoremap . :normal .<CR>
map <leader>f :Goyo \| set linebreak<CR>
map <leader>o :setlocal spell! spelllang=en_us<CR>
set splitbelow splitright
map <leader>s :!clear && shellcheck -x %<CR>
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
"-------------------------------------------------------------------------------
" Interface
"-------------------------------------------------------------------------------
@ -117,8 +139,6 @@ endif
let g:material_theme_style='ocean-community'
let g:material_style='ocean'
set background=dark
try
@ -134,41 +154,20 @@ highlight Comment cterm=italic gui=italic
nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
" Golang specific settings
let g:go_highlight_build_constraints = 1
let g:go_highlight_extra_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_operators = 1
let g:go_highlight_structs = 1
let g:go_highlight_types = 1
let g:go_auto_type_info = 1
let g:go_fmt_command = "goimports"
" Find/replace
vnoremap <C-r> "hy:%s/<C-r>h//g<left><left><left>
" Disable highlight
nnoremap <leader>e :noh<CR>
" let g:auto_save = 1 " enable AutoSave on Vim startup
" let g:auto_save_in_insert_mode = 0 " do not save in insert mode
" Get off my lawn - helpful when learning Vim :)
" DON'T USE ARROWS NORMIE
nnoremap <C-c> :echoe "Use Esc"<CR>
nnoremap <Left> :echoe "Use h"<CR>
nnoremap <Right> :echoe "Use l"<CR>
nnoremap <Up> :echoe "Use k"<CR>
nnoremap <Down> :echoe "Use j"<CR>
" Split resize
nnoremap <silent> <Leader>+ :exe "resize " . (winheight(0) * 3/2)<CR>
nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
let g:Tlist_WinWidth = 40
" Syntastic max file size for python
let g:syntastic_python_pylint_post_args="--max-line-length=120"
" Make vim obey transparency
hi! Normal ctermbg=NONE guibg=NONE
@ -176,18 +175,25 @@ hi! NonText ctermbg=NONE guibg=NONE
"-------------------------------------------------------------------------------
" Neovim-specific configurations
"-------------------------------------------------------------------------------
if has('nvim')
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
set termguicolors
" Fix vim-tmux-navigator <C-h> https://git.io/viGRU
nmap <BS> <C-W>h
" Fix vim-tmux-navigator <C-h> https://git.io/vS5QH
nmap <BS> :<C-u>TmuxNavigateLeft<CR>
" The following require plugins to be loaded so they should only be set in neovim
let g:vimtex_view_general_viewer = 'zathura'
" Syntastic max file size for python
let g:syntastic_python_pylint_post_args="--max-line-length=120"
" Widths fot several plugins
let g:goyo_width = 120 " Goyo
let g:Tlist_WinWidth = 40 " Tlist
endif
@ -197,15 +203,21 @@ autocmd VimLeave * call system("xsel -ib", getreg('+'))
" Useful for GDB debugging
packadd termdebug
" Use skeleton files
" File Specific Settings
if has("autocmd")
augroup templates
autocmd BufNewFile *.* silent! execute '0r ~/.local/share/vim/templates/skeleton.'.expand("<afile>:e")
autocmd BufNewFile * %substitute#\[:VIM_EVAL:\]\(.\{-\}\)\[:END_EVAL:\]#\=eval(submatch(1))#ge
augroup END
autocmd BufWinLeave *.tex !texclear %:p
autocmd BufRead calcurse-note.* :set filetype=markdown
" Use skeleton files
augroup templates
autocmd BufNewFile *.* silent! execute '0r ~/.local/share/vim/templates/skeleton.'.expand("<afile>: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!<CR>
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
endif
let g:vimtex_view_general_viewer = 'zathura'

+ 6
- 4
.config/weechat/sec.conf View File

@ -17,7 +17,9 @@ salt = on
[data]
__passphrase__ = on
oftc_password = "E2F75D4F911F906735F2F5B072F89A6AE19F978A500E8D608595158505C43A83B77C83059D1EBD9CE1B7DC136786C7C0968582CEC3A46B"
sec.data.oftc_password = "59879149B253DCD9452CEC7CB35B3507C15C0DD2DBF0E1C20E846D4B4EA954B5D1AD104B08171CA0770EBE95326F5F4A0B9650A67A117FA7B42E665940B0B4433D91"
freenode = "0998875CD96E436D77C601C8B25DE3ADF932C976FF6A2630752930B58177566D09219A82E691B3022F0AA08946AA5D719A892810ACC018DDC7D1A5"
rizon_password = "DC71B05DC33507FC77BF164E2CC436236696FB501D1A5CF883E16A7BC1E488FF35E8B31DEFCDBC386E6C4D8EE6CF964AA89BFD3E0C6880734493AB129D08CE72B342"
matrix_password = "26762728EDC040D09887EDD961E4202A788F2523D45D326F3F9A745E8C24ACD4498A8F7F12EC55099E5DA7BED920AAA6281F56"
oftc_password = "B4C0AF3E0107FBBFDEB1D895D419EADA81A8483AB057A6E776B84E122F58FC9F557AC5CCD9AEE3CFBDBFF4B854E3BBE2A4230D9625B428"
sec.data.oftc_password = "D720E7F4DF99A63FDB65F316030E780D9C8DE5881A90D7B6C25BA3E8C728ED3EBB853E3381FD5D49DE6C3DF2FB14A62A254FAF3F3163F26C4571700F60F889D08CD6"
freenode = "179524EC2D9F957B73558EEE4CA58060303538D3647012CB6EE8F7CFE3775297797F30611CEE08C671509B1C93F0590DC793A7E0E8D4775960B2EF"
matrix = "AFA0A16CDD5B7C0109C87EA46F428E0DDCC52DAF43A23F0F2C655D22B8E6AFAC8ED6E41DB931808FDDBCC548DF221A9296DEBB"
rizon_password = "8EE35ED68992AE6EC99395DC7AD7D0D481B5E46F66E53CA57E4E10BF8AA3717759B266640B15E15E50317538D8B55A061922EAD24D8C7A69ECBE9C38209CD7A5A683"

+ 1
- 0
.config/weechat/weechat.conf View File

@ -656,6 +656,7 @@ meta2-A = "/cursor move up"
meta2-B = "/cursor move down"
meta2-C = "/cursor move right"
meta2-D = "/cursor move left"
@chat(python.matrix.*):r = "hsignal:matrix_cursor_reply"
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"


+ 2
- 3
.config/zathura/zathurarc View File

@ -58,7 +58,6 @@ map <C-o> feedkeys ":exec zanotes $FILE<Return>"
set render-loading "false"
set scroll-step 50
unmap f
map f toggle_fullscreen
map [fullscreen] f toggle_fullscreen
map F toggle_fullscreen
map [fullscreen] F toggle_fullscreen
set selection-clipboard clipboard

+ 2
- 1
.config/zsh/.zshrc View File

@ -1,6 +1,7 @@
#zmodload zsh/zprof
eval "$(direnv hook zsh)" >> $XDG_RUNTIME_DIR/direnv
#paleofetch
#welcome.sh
fortune | cowsay | lolcat
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi


+ 4
- 3
.config/zsh/aliases View File

@ -13,6 +13,7 @@ alias yain="yay -Syu "
alias ls="ls --color"
alias yay="yay --sudoloop"
alias lf=lf-ueberzug
alias vimorig=$(which vim)
alias vim=nvim
weechat(){
@ -53,6 +54,6 @@ alias dcm="dots commit"
alias bon="sudo bash -c 'rc-service bluetooth start && rfkill unblock bluetooth'"
# Override CoreUtils, probably a ba idea but way more convenient
alias cp='rsync -a --progress'
alias wget='aria2c'
alias cx="chmod +x"
alias lights_on="curl 'http://yeetclock/setcolor?R=136&G=192&B=208'"

+ 30
- 0
.local/bin/calconsync View File

@ -0,0 +1,30 @@
#!/bin/bash
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" \
"$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" "$HOME/.pam_environment" 2>/dev/null)"
export CALCURSE_CALDAV_PASSWORD=$(pass show Server/drive.yigitcolakoglu.com/yigitcolakoglu)
calcurse-caldav
tmpfile=$(mktemp)
destfile=$(mktemp)
wget -q 'https://drive.yigitcolakoglu.com/remote.php/dav/addressbooks/users/yigitcolakoglu/contacts/?export' \
--user yigitcolakoglu \
--password "$(pass show Server/drive.yigitcolakoglu.com/yigitcolakoglu)" \
-O $tmpfile
abook --convert \
--informat vcard \
--infile $tmpfile \
--outformat abook \
--outfile $destfile
rm $tmpfile
chmod 600 $destfile
sed -Ei 's/([0-9]) ([0-9])/\1\2/g' $destfile
sed -Ei 's/\+([0-9])/\1/g' $destfile
mv $destfile "$XDG_DATA_HOME"/abook/addressbook

+ 0
- 9
.local/bin/calsync View File

@ -1,9 +0,0 @@
#!/bin/bash
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" \
"$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" "$HOME/.pam_environment" 2>/dev/null)"
export CALCURSE_CALDAV_PASSWORD=$(pass show Server/drive.yigitcolakoglu.com/yigitcolakoglu)
calcurse-caldav

+ 57
- 0
.local/bin/compiler View File

@ -0,0 +1,57 @@
#!/bin/sh
# This script will compile or run another finishing operation on a document. I
# have this script run via vim.
#
# Compiles .tex. groff (.mom, .ms), .rmd, .md, .org. Opens .sent files as sent
# presentations. Runs scripts based on extention or shebang.
#
# Note that .tex files which you wish to compile with XeLaTeX should have the
# string "xelatex" somewhere in a comment/command in the first 5 lines.
file=$(readlink -f "$1")
dir=${file%/*}
base="${file%.*}"
ext="${file##*.}"
cd "$dir" || exit 1
textype() { \
command="pdflatex"
( head -n5 "$file" | grep -qi 'xelatex' ) && command="xelatex"
$command --output-directory="$dir" "$base" &&
grep -qi addbibresource "$file" &&
biber --input-directory "$dir" "$base" &&
$command --output-directory="$dir" "$base" &&
$command --output-directory="$dir" "$base"
}
case "$ext" in
# Try to keep these cases in alphabetical order.
[0-9]) preconv "$file" | refer -PS -e | groff -mandoc -T pdf > "$base".pdf ;;
c) cc "$file" -o "$base" && "$base" ;;
cpp) g++ "$file" -o "$base" && "$base" ;;
cs) mcs "$file" && mono "$base".exe ;;
go) go run "$file" ;;
h) sudo make install ;;
java) javac -d classes "$file" && java -cp classes "${1%.*}" ;;
m) octave "$file" ;;
md) if [ -x "$(command -v lowdown)" ]; then
lowdown -d nointem -e super "$file" -Tms | groff -mpdfmark -ms -kept > "$base".pdf
elif [ -x "$(command -v groffdown)" ]; then
groffdown -i "$file" | groff > "$base.pdf"
else
pandoc -t ms --highlight-style=kate -s -o "$base".pdf "$file"
fi ; ;;
mom) preconv "$file" | refer -PS -e | groff -mom -kept -T pdf > "$base".pdf ;;
ms) preconv "$file" | refer -PS -e | groff -me -ms -kept -T pdf > "$base".pdf ;;
org) emacs "$file" --batch -u "$USER" -f org-latex-export-to-pdf ;;
py) python "$file" ;;
[rR]md) Rscript -e "rmarkdown::render('$file', quiet=TRUE)" ;;
rs) cargo build ;;
sass) sassc -a "$file" "$base.css" ;;
scad) openscad -o "$base".stl "$file" ;;
sent) setsid -f sent "$file" 2>/dev/null ;;
tex) textype "$file" ;;
*) head -n1 "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;;
esac

+ 1
- 1
.local/bin/dmenu-mconnect View File

@ -97,7 +97,7 @@ show_menu () {
*'Send File')
mkdir -p $XDG_RUNTIME_DIR/lf/
rm -rf $XDG_RUNTIME_DIR/lf/sentfile
st -c ranger -e lf -selection-path "$XDG_RUNTIME_DIR/lf/sentfile"
st -c ranger -e lf-ueberzug -selection-path "$XDG_RUNTIME_DIR/lf/sentfile"
if [ -f $XDG_RUNTIME_DIR/lf/sentfile ]; then
mconnectctl share-file "$2" "$(cat $XDG_RUNTIME_DIR/lf/sentfile)"
fi;;


+ 165
- 0
.local/bin/dmenu-record View File

@ -0,0 +1,165 @@
#!/bin/sh
# Usage:
# `$0`: Ask for recording type via dmenu
# `$0 screencast`: Record both audio and screen
# `$0 video`: Record only screen
# `$0 audio`: Record only audio
# `$0 kill`: Kill existing recording
#
# If there is already a running instance, user will be prompted to end it.
updateicon() { \
echo "$1" > /tmp/recordingicon
#pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}"
}
killrecording() {
recpid="$(cat /tmp/recordingpid)"
# kill with SIGTERM, allowing finishing touches.
kill -15 "$recpid"
rm -f /tmp/recordingpid
updateicon ""
# even after SIGTERM, ffmpeg may still run, so SIGKILL it.
sleep 3
kill -9 "$recpid"
exit
}
screencast() {
audio="$(printf "none\nscreen\nmicrophone\nboth" | dmenu -p "Audio Type:")"
case "$audio" in
none)
ffmpeg -y \
-f x11grab \
-framerate 60 \
-s "$(xdpyinfo | grep dimensions | awk '{print $2;}')" \
-i "$DISPLAY" \
-r 30 \
-c:v h264 -crf 0 -preset ultrafast -c:a aac \
"$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" &
echo $! > /tmp/recordingpid
updateicon "⏺️🎙️"
;;
screen)
ffmpeg -y \
-f x11grab \
-framerate 60 \
-s "$(xdpyinfo | grep dimensions | awk '{print $2;}')" \
-i "$DISPLAY" \
-f pulse -i default \
-r 30 \
-c:v h264 -crf 0 -preset ultrafast -c:a aac \
"$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" &
echo $! > /tmp/recordingpid
updateicon "⏺️🎙️"
;;
microphone)
ffmpeg -y \
-f x11grab \
-framerate 60 \
-s "$(xdpyinfo | grep dimensions | awk '{print $2;}')" \
-i "$DISPLAY" \
-f alsa -i default \
-r 30 \
-c:v h264 -crf 0 -preset ultrafast -c:a aac \
"$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" &
echo $! > /tmp/recordingpid
updateicon "⏺️🎙️"
;;
both)
ffmpeg -y \
-f x11grab \
-framerate 60 \
-s "$(xdpyinfo | grep dimensions | awk '{print $2;}')" \
-i "$DISPLAY" \
-f alsa -i default \
-r 30 \
-c:v h264 -crf 0 -preset ultrafast -c:a aac \
"$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" &
echo $! > /tmp/recordingpid
updateicon "⏺️🎙️"
;;
esac
}
video() { ffmpeg \
-f x11grab \
-s "$(xdpyinfo | grep dimensions | awk '{print $2;}')" \
-i "$DISPLAY" \
-c:v libx264 -qp 0 -r 30 \
"$HOME/video-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "⏺️"
}
webcamhidef() { ffmpeg \
-f v4l2 \
-i /dev/video0 \
-video_size 1920x1080 \
"$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "🎥"
}
webcam() { ffmpeg \
-f v4l2 \
-i /dev/video0 \
-video_size 640x480 \
"$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "🎥"
}
audio() { \
ffmpeg \
-f alsa -i default \
-c:a flac \
"$HOME/audio-$(date '+%y%m%d-%H%M-%S').flac" &
echo $! > /tmp/recordingpid
updateicon "🎙️"
}
askrecording() { \
choice=$(printf "screencast\\nvideo\\nvideo selected\\naudio\\nwebcam\\nwebcam (hi-def)" | dmenu -i -p "Select recording style:")
case "$choice" in
screencast) screencast;;
audio) audio;;
video) video;;
*selected) videoselected;;
webcam) webcam;;
"webcam (hi-def)") webcamhidef;;
esac
}
asktoend() { \
response=$(printf "No\\nYes" | dmenu -i -p "Recording still active. End recording?") &&
[ "$response" = "Yes" ] && killrecording
}
videoselected()
{
slop -f "%x %y %w %h" > /tmp/slop
read -r X Y W H < /tmp/slop
rm /tmp/slop
ffmpeg \
-f x11grab \
-framerate 60 \
-video_size "$W"x"$H" \
-i :0.0+"$X,$Y" \
-c:v libx264 -qp 0 -r 30 \
"$HOME/box-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "⏺️"
}
case "$1" in
screencast) screencast;;
audio) audio;;
video) video;;
*selected) videoselected;;
kill) killrecording;;
*) ([ -f /tmp/recordingpid ] && asktoend && exit) || askrecording;;
esac

+ 7
- 0
.local/bin/doom View File

@ -0,0 +1,7 @@
#!/bin/sh
# This is a thin wrapper around "doom" so that it can easily be run from dmenu
dunstify -r 57 -a "ξ Doom Emacs" "Running \"doom $@\""
$XDG_CONFIG_HOME/emacs/bin/doom $@
dunstify -r 57 -a "ξ Doom Emacs" "Finished \"doom $@\""

+ 28
- 0
.local/bin/exfirefoxtabs.py View File

@ -0,0 +1,28 @@
#! /usr/bin/python
"""
List all Firefox tabs with title and URL
Supported input: json or jsonlz4 recovery files
Default output: title (URL)
Output format can be specified as argument
"""
import sys
import os
import pathlib
import lz4.block
import json
path = pathlib.Path.home().joinpath('.mozilla/firefox')
files = path.glob(os.environ['FIREFOX_PROFILE'] + '/sessionstore-backups/recovery.js*')
for f in files:
b = f.read_bytes()
if b[:8] == b'mozLz40\0':
b = lz4.block.decompress(b[8:])
j = json.loads(b)
for w in j['windows']:
for t in w['tabs']:
i = t['index'] - 1
print(t['entries'][i]['url'])

+ 2
- 1
.local/bin/genpwd View File

@ -15,7 +15,8 @@ password_files=( "${password_files[@]%.gpg}" )
folder=$(printf '%s\n' "${password_files[@]}" | cut -d"/" -f1 | sort | uniq | dmenu -l 10 -p "Folder" -i "$@")
[[ -n $folder ]] || exit
site=$(printf '%s\n' "${password_files[@]}" | cut -d"/" -f2 | sort | uniq | dmenu -l 10 -p "Site" -i "$@")
open_urls="$($HOME/.local/bin/exfirefoxtabs.py | awk -F/ '{print $3}' | sort | uniq )"
site=$(printf '%s\n%s\n' "$open_urls" "$("${password_files[@]}" | cut -d"/" -f2 )" | dmenu -l 10 -p "Site" -i "$@")
[[ -n $site ]] || exit
username=$(printf '%s\n' "${password_files[@]}" | cut -d"/" -f3 | sort | uniq | dmenu -l 10 -p "Username" "$@")
[[ -n $username ]] || exit


+ 24
- 8
.local/bin/password_manager View File

@ -13,27 +13,43 @@ password_files=( "$prefix"/**/*.gpg )
password_files=( "${password_files[@]#"$prefix"/}" )
password_files=( "${password_files[@]%.gpg}" )
entry=$(printf '%s\n' "${password_files[@]}" | sort | dmenu -l 7 -p "Pass" -i "$@")
# Show urls open in firefox on top
open_urls="$($HOME/.local/bin/exfirefoxtabs.py | awk -F/ '{print $3}' | sort | uniq | sed 's/$/\//g' | sed ':a;N;$!ba;s/\n/|\//g')"
pfiles="$(printf "%s\n" ${password_files[@]})"
list="$(echo "$pfiles" | grep -E "$open_urls")\n$(echo "$pfiles" | grep -Ev "$open_urls")"
entry=$(echo -e "$list" | dmenu -l 7 -p "Pass" -i "$@")
[[ -n $entry ]] || exit
action=$(echo -e "Username\nPassword\nTOTP" | dmenu -p "Entry" -i )
action=$(echo -e "Login\nUsername\nPassword\nTOTP" | dmenu -p "Entry" -i )
case "$action" in
Login)
username=$(echo "$entry" | rev | cut -d"/" -f 1 | rev)
password=$(pass show "$entry")
printf %s "$username" | xargs | xdotool type --clearmodifiers --file -
xdotool key Tab
printf %s "$password" | { IFS= read -r pass; printf %s "$pass"; } | xargs |
xdotool type --clearmodifiers --file -
xdotool key Return
;;
Username)
username=$(echo "$entry" | rev | cut -d"/" -f 1 | rev)
echo "$username" | xclip -selection clipboard
printf %s "$username" | xclip -selection clipboard
printf %s "$username" | xargs | xdotool type --clearmodifiers --file -
notify-send -a " Password Manager" "Username copied to clipboard";;
Password)
password=$(pass show "$entry")
echo "$password" | xclip -selection clipboard
echo "$password" | { IFS= read -r pass; printf %s "$pass"; } |
printf %s "$password" | xclip -selection clipboard
printf %s "$password" | { IFS= read -r pass; printf %s "$pass"; } | xargs |
xdotool type --clearmodifiers --file -
notify-send -a " Password Manager" "Password copied to clipboard";;
TOTP)
otp=$(pass otp "$entry")
echo "$otp" | xclip -selection clipboard
echo "$otp" | { IFS= read -r pass; printf %s "$pass"; } |
printf %s "$otp" | xclip -selection clipboard
printf %s "$otp" | { IFS= read -r pass; printf %s "$pass"; } |
xdotool type --clearmodifiers --file -
notify-send -a " Password Manager" "TOTP copied to clipboard";;
notify-send -a " Password Manager" "TOTP copied to clipboard"
xdotool key Return
;;
esac

+ 28
- 11
.local/bin/status-bar/battery View File

@ -20,27 +20,44 @@ else
export bat=$(cat /sys/class/power_supply/BAT0/capacity)
export status=$(cat /sys/class/power_supply/BAT0/status)
export plugged=$(cat /sys/class/power_supply/AC/online)
tleft=$(acpi -b | sed -r 's/.* ([0-9]{2}:[0-9]{2}).*/\1/g')
if [ -f "$XDG_CACHE_HOME/battery_tleft" ] && [ ! $(echo "$tleft" | grep "Full")]; then
stats="$tleft"
else
stats="$bat%"
fi
if [[ $plugged == "1" ]]; then
echo "^c#ebcb8b^$ac_bat^d^ $bat%"
echo "^c#ebcb8b^$ac_bat^d^ $stats"
elif [[ $bat -lt 10 ]]; then
echo "^c#ebcb8b^$ramp10^d^ $bat%"
echo "^c#ebcb8b^$ramp10^d^ $stats"
elif [[ $bat -lt 20 ]]; then
echo "^c#ebcb8b^$ramp20^d^ $bat%"
echo "^c#ebcb8b^$ramp20^d^ $stats"
elif [[ $bat -lt "30" ]]; then
echo "^c#ebcb8b^$ramp30^d^ $bat%"
echo "^c#ebcb8b^$ramp30^d^ $stats"
elif [[ $bat -lt "40" ]]; then
echo "^c#ebcb8b^$ramp40^d^ $bat%"
echo "^c#ebcb8b^$ramp40^d^ $stats"
elif [[ $bat -lt "50" ]]; then
echo "^c#ebcb8b^$ramp50^d^ $bat%"
echo "^c#ebcb8b^$ramp50^d^ $stats"
elif [[ $bat -lt "60" ]]; then
echo "^c#ebcb8b^$ramp60^d^ $bat%"
echo "^c#ebcb8b^$ramp60^d^ $stats"
elif [[ $bat -lt "70" ]]; then
echo "^c#ebcb8b^$ramp70^d^ $bat%"
echo "^c#ebcb8b^$ramp70^d^ $stats"
elif [[ $bat -lt "80" ]]; then
echo "^c#ebcb8b^$ramp80^d^ $bat%"
echo "^c#ebcb8b^$ramp80^d^ $stats"
elif [[ $bat -lt "90" ]]; then
echo "^c#ebcb8b^$ramp90^d^ $bat%"
echo "^c#ebcb8b^$ramp90^d^ $stats"
elif [[ $bat -le "100" ]]; then
echo "^c#ebcb8b^$ramp100^d^ $bat%"
echo "^c#ebcb8b^$ramp100^d^ $stats"
fi
fi
case $BLOCK_BUTTON in
1)
if [ -f "$XDG_CACHE_HOME/battery_tleft" ]; then
rm "$XDG_CACHE_HOME/battery_tleft"
else
touch "$XDG_CACHE_HOME/battery_tleft"
fi
;;
esac

+ 2
- 2
.local/bin/status-bar/bluetooth View File

@ -3,14 +3,14 @@
power=$(timeout 1 bluetoothctl show | grep "Powered: yes" | wc -w)
if [ "$power" -eq 0 ]; then
echo "^c#81a1c1^^d^" # Add color
:
else
device="$(echo info | timeout 1 bluetoothctl | grep 'Name')"
if [ ! "$device" = "" ]; then
echo "^c#81a1c1^^d^ $(echo "$device" | head -n 1 | xargs | cut -c 7-)"
else
echo "^c#81a1c1^^d^"
:
fi
fi


+ 6
- 4
.local/bin/status-bar/mail View File

@ -1,12 +1,14 @@
#!/bin/sh
mcount=$(cat ~/.cache/mcount)
msync=$(cat ~/.cache/msync)
[ -f "$HOME/.cache/mcount" ] && mcount=$(cat ~/.cache/mcount)
[ -f "$HOME/.cache/msync" ] && msync=$(cat ~/.cache/msync)
#echo -n "^c#a3be8c^ ^d^ $msync ^c#81a1c1^ ^d^ $mcount" (Takes more space)
echo -n "^c#81a1c1^ ^d^ $mcount"
if [ ! "$mcount" = "0" ]; then
echo -n "^c#81a1c1^ ^d^ $mcount"
fi
case $BLOCK_BUTTON in
1) setsid -f st -c center -n center -e neomutt;;
1) ~/.local/bin/mailsync;;
3) ~/.local/bin/mailsync;;
esac

+ 3
- 3
.local/bin/status-bar/network View File

@ -20,12 +20,12 @@ is_wlan_used=$(cat /sys/class/net/$WLAN_IT/carrier)
echo -n "^c#88c0d0^"
if [ "$is_eth_used" -eq 1 ]; then # wired network is carrying
icon=" ^d^ " #uF6FF
icon=" ^d^ " #uF6FF
elif [ "$is_wlan_used" -eq 1 ]; then # wireless network is carrying
ssid=$(get_ssid)
icon=" ^d^" #uF1EB
icon=" ^d^" #uF1EB
else
icon=" ^d^" #uf128 # no network
icon=" ^d^" #uf128 # no network
fi
echo -n $icon


+ 47
- 47
.local/bin/status-bar/weather View File

@ -6,54 +6,54 @@ weatherreport="${XDG_CACHE_HOME:-$HOME/.local/share}/weatherreport"
weatherreportjson="${XDG_CACHE_HOME:-$HOME/.local/share}/weatherreportjson"
WCODES=(
["113"]="^c#ebcb8b^"
["116"]="^c#ebcb8b^"
["119"]="^c#ffffff^"
["122"]="^c#ffffff^"
["143"]="^c#ffffff^"
["176"]="^c#81a1c1^"
["179"]="^c#81a1c1^"
["182"]="^c#81a1c1^"
["185"]="^c#81a1c1^"
["113"]="^c#ebcb8b^ "
["116"]="^c#ebcb8b^ "
["119"]="^c#ffffff^ "
["122"]="^c#ffffff^ "
["143"]="^c#ffffff^ "
["176"]="^c#81a1c1^ "
["179"]="^c#81a1c1^ "
["182"]="^c#81a1c1^ "
["185"]="^c#81a1c1^ "
["200"]="^c#81a1c1^ "
["227"]="^c#ffffff^"
["230"]="^c#ffffff^"
["248"]="^c#ffffff^"
["260"]="^c#ffffff^"
["263"]="^c#81a1c1^"
["266"]="^c#81a1c1^"
["281"]="^c#81a1c1^"
["284"]="^c#81a1c1^"
["293"]="^c#81a1c1^"
["296"]="^c#81a1c1^"
["299"]="^c#81a1c1^"
["302"]="^c#81a1c1^"
["305"]="^c#81a1c1^"
["308"]="^c#81a1c1^"
["311"]="^c#81a1c1^"
["314"]="^c#81a1c1^"
["317"]="^c#81a1c1^"
["320"]="^c#ffffff^"
["323"]="^c#81a1c1^"
["326"]="^c#81a1c1^"
["329"]="^c#ffffff^"
["332"]="^c#ffffff^"
["335"]="^c#81a1c1^"
["338"]="^c#ffffff^"
["350"]="^c#81a1c1^"
["353"]="^c#81a1c1^"
["356"]="^c#81a1c1^"
["359"]="^c#81a1c1^"
["362"]="^c#81a1c1^"
["365"]="^c#81a1c1^"
["368"]="^c#81a1c1^"
["371"]="^c#81a1c1^"
["374"]="^c#81a1c1^"
["377"]="^c#81a1c1^"
["386"]="^c#81a1c1^"
["389"]="^c#81a1c1^"
["392"]="^c#81a1c1^"
["395"]="^c#81a1c1^"
["227"]="^c#ffffff^ "
["230"]="^c#ffffff^ "
["248"]="^c#ffffff^ "
["260"]="^c#ffffff^ "
["263"]="^c#81a1c1^ "
["266"]="^c#81a1c1^ "
["281"]="^c#81a1c1^ "
["284"]="^c#81a1c1^ "
["293"]="^c#81a1c1^ "
["296"]="^c#81a1c1^ "
["299"]="^c#81a1c1^ "
["302"]="^c#81a1c1^ "
["305"]="^c#81a1c1^ "
["308"]="^c#81a1c1^ "
["311"]="^c#81a1c1^ "
["314"]="^c#81a1c1^ "
["317"]="^c#81a1c1^ "
["320"]="^c#ffffff^ "
["323"]="^c#81a1c1^ "
["326"]="^c#81a1c1^ "
["329"]="^c#ffffff^ "
["332"]="^c#ffffff^ "
["335"]="^c#81a1c1^ "
["338"]="^c#ffffff^ "
["350"]="^c#81a1c1^ "
["353"]="^c#81a1c1^ "
["356"]="^c#81a1c1^ "
["359"]="^c#81a1c1^ "
["362"]="^c#81a1c1^ "
["365"]="^c#81a1c1^ "
["368"]="^c#81a1c1^ "
["371"]="^c#81a1c1^ "
["374"]="^c#81a1c1^ "
["377"]="^c#81a1c1^ "
["386"]="^c#81a1c1^ "
["389"]="^c#81a1c1^ "
["392"]="^c#81a1c1^ "
["395"]="^c#81a1c1^ "
)
getforecast() { curl -sf "wttr.in/$LOCATION" > "$weatherreport" || exit 1 ;}


+ 0
- 20
.local/bin/synccontacts View File

@ -1,20 +0,0 @@
#!/bin/bash
tmpfile=$(mktemp)
destfile=$(mktemp)
wget -q 'https://drive.yigitcolakoglu.com/remote.php/dav/addressbooks/users/yigitcolakoglu/contacts/?export' \
--user yigitcolakoglu \
--password "$(pass show Server/drive.yigitcolakoglu.com/yigitcolakoglu)" \
-O $tmpfile
abook --convert \
--informat vcard \
--infile $tmpfile \
--outformat abook \
--outfile $destfile
rm $tmpfile
chmod 600 $destfile
sed 's/([0-9]) ([0-9])/\1\2/g' $destfile
mv $destfile "$XDG_DATA_HOME"/abook/addressbook

+ 13
- 2
.local/bin/zanotes View File

@ -19,8 +19,19 @@ EOF
}
function add_annotation() {
xclip -out -selection clipboard >> "$1"
echo -e "\n> <!!>\n" >> $1
selection=$(xclip -out -selection clipboard | sed ':a;N;$!ba;s/\n/ /g')
text=""
ccount=0
for word in $selection; do
ccount=$(( $ccount + $(echo $word | wc -c)))
if [ $ccount -gt 75 ]; then
ccount=0
echo "$(echo $text | xargs)" >> $1
text=""
fi
text="$text$word "
done
echo -e "> <!!>\n" >> $1
}


+ 25
- 18
.local/share/dwm/autostart.sh View File

@ -1,5 +1,12 @@
#!/bin/sh
function restart_if_fails(){
until bash -c "$1"; do
echo "$1 exited with code $?. Restarting in 1 second..."
sleep 1
done &
}
~/.local/bin/daily-update
redshift -x 2> /dev/null > /dev/null
@ -12,36 +19,38 @@ dwmblocks > $XDG_RUNTIME_DIR/dwmblocks.out 2> $XDG_RUNTIME_DIR/dwmblocks.err &
--exec-on-unmount "notify-send -a '禍 drive unmounted' '%l (%f) from %d '" \
--no-unmount --no-gui &
clipmenud > $XDG_RUNTIME_DIR/clipmenud.out 2> $XDG_RUNTIME_DIR/clipmenud.err &
rm -f ~/.surf/tabbed-surf.xid
/bin/polkit-dumb-agent &
darkhttpd $HOME/.local/share/startpage/dist --port 9999 --daemon --addr 127.0.0.1
restart_if_fails "clipmenud > $XDG_RUNTIME_DIR/clipmenud.out 2> $XDG_RUNTIME_DIR/clipmenud.err"
~/.local/bin/keyboard > $XDG_RUNTIME_DIR/keyboard.out 2> $XDG_RUNTIME_DIR/keyboard.err
darkhttpd $HOME/.local/share/startpage/dist --port 9999 --daemon --addr 127.0.0.1
dunst &
~/.local/bin/keyboard > $XDG_RUNTIME_DIR/keyboard.out 2> $XDG_RUNTIME_DIR/keyboard.err &
restart_if_fails dunst
touch ~/.cache/nextcloud-track
xss-lock -- slock &
picom --no-fading-openclose &
restart_if_fails "xss-lock -- slock"
restart_if_fails "picom --no-fading-openclose"
xbanish -s &
#tmux new-session -s weechat -d weechat > /dev/null 2> /dev/null
~/.local/bin/firefox-sync
restart_if_fails "xbanish -s"
~/.local/bin/firefox-sync &
~/.local/bin/mailsync &
for i in $XDG_CONFIG_HOME/goimapnotify/*; do
m="$(echo "$i" | sed "s/.*\///g")"
restart_if_fails "goimapnotify -conf $i > $XDG_RUNTIME_DIR/$m.watch.out 2> $XDG_RUNTIME_DIR/$m.watch.err"
done
if [ "$NEXTCLOUD" = true ] ; then
nextcloud --background &
fi
mkdir -p ~/Downloads/neomutt
if [ "$MCONNECT" = true ] ; then
mkdir -p ~/Downloads/mconnect
(cd ~/Downloads/mconnect; mconnect -d > $XDG_RUNTIME_DIR/mconnect 2> $XDG_RUNTIME_DIR/mconnect.err &)
(cd ~/Downloads/mconnect; restart_if_fails "mconnect -d > $XDG_RUNTIME_DIR/mconnect 2> $XDG_RUNTIME_DIR/mconnect.err")
fi
if [ "$ACTIVITYWATCHER" = true ] ; then
pkill -f aw-watcher-window
pkill -f aw-watcher-afk
@ -50,12 +59,10 @@ if [ "$ACTIVITYWATCHER" = true ] ; then
aw-watcher-window &
aw-watcher-afk &
fi
mpd
mpDris2 &
restart_if_fails mpDris2
curl 'http://yeetclock/setcolor?R=136&G=192&B=208' &

+ 1
- 3
.local/share/gnupg/gpg-agent.conf View File

@ -1,6 +1,4 @@
pinentry-program /usr/bin/pinentry
pinentry-program /usr/bin/pinentry-qt
no-grab
allow-preset-passphrase
max-cache-ttl 172800
enable-ssh-support
max-cache-ttl-ssh 86400

+ 4
- 4
.local/src/dmenu/dmenu.c View File

@ -40,8 +40,8 @@ struct item {
};
static char **hpitems = NULL;
static int hplength = 0;
static char **hpitems;
static char text[BUFSIZ] = "";
static char *embed;
static int bh, mw, mh;
@ -123,8 +123,9 @@ xinitvisual()
}
}
static char**
tokenize(char *source, char *delim, int *llen) {
tokenize(char *source, const char *delim, int *llen) {
int listlength = 0;
char **list = malloc(1 * sizeof(char*));
char *token = strtok(source, delim);
@ -1030,9 +1031,8 @@ main(int argc, char *argv[])
colors[SchemeSelHighlight][ColBg] = argv[++i];
else if (!strcmp(argv[i], "-shf")) /* selected hi foreground color */
colors[SchemeSelHighlight][ColFg] = argv[++i];
else if (!strcmp(argv[i], "-hp")){
else if (!strcmp(argv[i], "-hp"))
hpitems = tokenize(argv[++i], ",", &hplength);
}
else if (!strcmp(argv[i], "-it")) { /* embedding window id */
const char * text = argv[++i];
insert(text, strlen(text));


+ 3
- 0
.local/src/dwm/config.h View File

@ -41,6 +41,7 @@ const char *spcmd3[] = {"st", "-c", "scratchpad", "-n", "spmutt", "-g", "180x51"
static const char *spcmd4[] = { "/usr/local/bin/st", "-g", "150x35", "-c", "spfile", "-n", "spfile", "-e", "/home/yigit/.local/bin/lf-ueberzug", NULL };
static const char *spcmd5[] = { "/usr/local/bin/st", "-g", "150x35", "-c", "spmusic", "-n", "spmusic", "-e", "ncmpcpp", NULL };
static const char *spcmd6[] = { "/usr/local/bin/st", "-g", "150x35", "-c", "spcal", "-n", "spcal", "-e", "calcurse", NULL };
static const char *spcmd7[] = { "obsidian" };
static Sp scratchpads[] = {
{"spterm", spcmd1},
@ -49,6 +50,7 @@ static Sp scratchpads[] = {
{"spfile", spcmd4},
{"spmusic", spcmd5},
{"spcal", spcmd6},
{"obsidian", spcmd7},
};
/* key definitions */
@ -75,6 +77,7 @@ static Button buttons[] = {
{ ClkTagBar, 0, Button3, toggleview, {0} },
{ ClkTagBar, MODKEY, Button1, tag, {0} },
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
{ ClkWinTitle, 0, Button2, zoom, {0} },
};
static Signal signals[] = {


+ 13
- 49
.local/src/dwm/dwm.c View File

@ -75,8 +75,8 @@ enum { NetSupported, NetWMName, NetWMState, NetWMCheck,
NetWMFullscreen, NetActiveWindow, NetWMWindowType,
NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */
enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */
enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkClientWin,
ClkRootWin, ClkLast }; /* clicks */
enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
typedef union {
int i;
unsigned int ui;
@ -567,7 +567,7 @@ buttonpress(XEvent *e)
{
unsigned int i, x, click, occ = 0;
unsigned int xc;
int padding = - sp * 3; /* I don't know why 3 works better than two, but it does */
int padding = - sp * 3; /* I don't know why 4 works better than two, but it does */
Arg arg = {0};
Client *c, *sel;
Monitor *m;
@ -596,9 +596,7 @@ buttonpress(XEvent *e)
arg.ui = 1 << i;
} else if (ev->x < x + blw)
click = ClkLtSymbol;
else{
// x = selmon->ww - statusw;
//
else if(ev->x > selmon->ww - selmon->tw){
click = ClkStatusText;
xc = selmon->ww - selmon->tw + padding;
xc += lrpad / 2;
@ -618,7 +616,8 @@ buttonpress(XEvent *e)
dwmblockssig = ch;
}
}
}
}else
click = ClkWinTitle;
} else if ((c = wintoclient(ev->window))) {
focus(c);
restack(selmon);
@ -970,11 +969,7 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align)
if (!(text = (char*) malloc(sizeof(char)*len)))
die("malloc");
p = text;
#if STATUSCMD_PATCH
copyvalidchars(text, stext);
#else
memcpy(text, stext, len);
#endif // STATUSCMD_PATCH
/* compute width of the status text */
w = stp * 2;
@ -984,11 +979,7 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align)
if (!isCode) {
isCode = 1;
text[i] = '\0';
#if PANGO_PATCH
w += TEXTWM(text) - lrpad;
#else
w += TEXTW(text) - lrpad;
#endif // PANGO_PATCH
text[i] = '^';
if (text[++i] == 'f')
w += atoi(text + ++i);
@ -1000,15 +991,11 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align)
}
}
if (!isCode)
#if PANGO_PATCH
w += TEXTWM(text) - lrpad;
#else
w += TEXTW(text) - lrpad;
#endif // PANGO_PATCH
else
isCode = 0;
text = p;
w += 2; /* 1px padding on both sides */
w += 0; /* 1px padding on both sides */
if (align == 0)
x = 0 + stp; // left
else if (align == 1)
@ -1030,13 +1017,8 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align)
isCode = 1;
text[i] = '\0';
#if PANGO_PATCH
w = TEXTWM(text) - lrpad;
drw_text(drw, x, 0, w, bh, 0, text, 0, True);
#else
w = TEXTW(text) - lrpad;
drw_text(drw, x, 0, w, bh, 0, text, 0);
#endif // PANGO_PATCH
x += w;
@ -1050,13 +1032,7 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align)
}
memcpy(buf, (char*)text+i+1, 7);
buf[7] = '\0';
#if ALPHA_PATCH && STATUS2D_NO_ALPHA_PATCH
drw_clr_create(drw, &drw->scheme[ColFg], buf, 0xff);
#elif ALPHA_PATCH
drw_clr_create(drw, &drw->scheme[ColFg], buf, alphas[SchemeNorm][ColFg]);
#else
drw_clr_create(drw, &drw->scheme[ColFg], buf);
#endif // ALPHA_PATCH
i += 7;
} else if (text[i] == 'b') {
char buf[8];
@ -1066,13 +1042,7 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align)
}
memcpy(buf, (char*)text+i+1, 7);
buf[7] = '\0';
#if ALPHA_PATCH && STATUS2D_NO_ALPHA_PATCH
drw_clr_create(drw, &drw->scheme[ColBg], buf, 0xff);
#elif ALPHA_PATCH
drw_clr_create(drw, &drw->scheme[ColBg], buf, alphas[SchemeNorm][ColBg]);
#else
drw_clr_create(drw, &drw->scheme[ColBg], buf);
#endif // ALPHA_PATCH
i += 7;
} else if (text[i] == 'd') {
drw->scheme[ColFg] = scheme[SchemeNorm][ColFg];
@ -1104,13 +1074,8 @@ drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp, int align)
}
if (!isCode) {
#if PANGO_PATCH
w = TEXTWM(text) - lrpad;
drw_text(drw, x, 0, w, bh, 0, text, 0, True);
#else
w = TEXTW(text) - lrpad;
drw_text(drw, x, 0, w, bh, 0, text, 0);
#endif // PANGO_PATCH
}
drw_setscheme(drw, scheme[SchemeNorm]);
@ -1151,10 +1116,6 @@ drawbar(Monitor *m)
else
drw_text(drw, x, 0, w, bh, lrpad / 2, busytags[i], urg & 1 << i);
/** if (occ & 1 << i) */
/** drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw, */
/** m == selmon && selmon->sel && selmon->sel->tags & 1 << i, */
/** urg & 1 << i); */
x += w;
}
w = blw = TEXTW(m->ltsymbol);
@ -1162,8 +1123,8 @@ drawbar(Monitor *m)
x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0);
if ((w = m->ww - m->tw - x) > bh) {
drw_setscheme(drw, scheme[SchemeInfoNorm]);
drw_rect(drw, x, 0, w - 2 * sp, bh, 1, 1);
drw_setscheme(drw, scheme[SchemeInfoNorm]);
drw_rect(drw, x, 0, w - 2 * sp, bh, 1, 1);
}
drw_map(drw, m->barwin, 0, 0, m->ww, bh);
}
@ -1872,8 +1833,11 @@ propertynotify(XEvent *e)
drawbars();
break;
}
if (ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName])
if (ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]){
updatetitle(c);
if (c == c->mon->sel)
drawbar(c->mon);
}
if (ev->atom == netatom[NetWMWindowType])
updatewindowtype(c);
}


+ 5
- 0
.local/src/dwm/keybinds.h View File

@ -38,6 +38,7 @@ static const char *refresh[] = {"/home/yigit/.local/bin/dmenu-refresh", NULL};
static const char *keyboard[] = {"/home/yigit/.local/bin/kbmap_toggle", NULL};
static const char *screenshot[] = { "scrot", "/tmp/%Y-%m-%d-%s_$wx$h.png", "-e","xclip -selection clipboard -target image/png -i $f; cp $f ~/Pictures/Screenshots;notify-send -a \"SNAP\" \"$f\"", NULL };
static const char *selectshot[] = { "scrot", "-s","/tmp/%Y-%m-%d-%s_$wx$h.png", "-e","xclip -selection clipboard -target image/png -i $f; cp $f ~/Pictures/Screenshots;notify-send -a \"SNAP\" \"$f\"", NULL };
static const char *windowshot[] = { "scrot", "-u", "/tmp/%Y-%m-%d-%s_$wx$h.png", "-e","xclip -selection clipboard -target image/png -i $f; cp $f ~/Pictures/Screenshots;notify-send -a \"SNAP\" \"$f\"", NULL };
static const char *simcrop[] = {"simcrop","-fc","-sc", "-g", "900x500",NULL};
@ -64,6 +65,7 @@ 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 *readbook[] = {"/home/yigit/.local/bin/dmenu-books", 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};
@ -138,10 +140,12 @@ static Key keys[] = {
{ 0, XF86XK_AudioNext, spawn, {.v = next } },
{ 0, XK_Print, spawn, {.v = screenshot } },
{ MODKEY, XK_Print, spawn, {.v = windowshot } },
{ MODKEY|Mod1Mask, XK_Print, spawn, {.v = selectshot } },
{ MODKEY|ShiftMask, XK_e, spawn, {.v = simcrop } },
{ MODKEY, XK_e, spawn, {.v = edit} },
{ MODKEY, XK_u, spawn, {.v = url} },
{ 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} },
@ -157,6 +161,7 @@ static Key keys[] = {
{ MODKEY|ShiftMask, XK_f, togglescratch, {.ui = 3} },
{ MODKEY, XK_n, togglescratch, {.ui = 4} },
{ MODKEY|ShiftMask, XK_c, togglescratch, {.ui = 5} },
{ MODKEY, XK_o, togglescratch, {.ui = 6} },
/* FloatPos Patch Keybinds */
{ Mod3Mask, XK_u, floatpos, {.v = "-26x -26y" } }, //
{ Mod3Mask, XK_i, floatpos, {.v = " 0x -26y" } }, //


+ 4
- 0
.local/src/dwm/rules.h View File

@ -19,8 +19,10 @@ static const Rule rules[] = {
/* class instance title tags mask isfloating floatpos isterminal noswallow monitor */
{ "discord" , NULL , NULL , 1 << 8 , NULL , NULL , 0 , 0 , -1 },
{ "Signal" , NULL , NULL , 1 << 8 , NULL , NULL , 0 , 0 , -1 },
{ "Brave-browser" , NULL , NULL , 1 << 1 , NULL , NULL , 0 , 0 , -1 },
{ "Firefox" , NULL , NULL , 1 << 1 , NULL , NULL , 0 , 0 , -1 },
{ "firefox" , NULL , NULL , 1 << 1 , NULL , NULL , 0 , 0 , -1 },
{ "tabbed-surf" , NULL , NULL , 1 << 1 , NULL , NULL , 0 , 0 , -1 },
{ "bitwarden" , NULL , NULL , 1 << 6 , NULL , NULL , 0 , 0 , -1 },
{ "QtPass" , NULL , NULL , 1 << 6 , NULL , NULL , 0 , 0 , -1 },
@ -37,6 +39,7 @@ static const Rule rules[] = {
{ "weather" , NULL , NULL , 0 , 1 , "50% 50% 1200W 800H" , 0 , 0 , -1 },
{ "center" , NULL , NULL , 0 , 1 , "50% 50% 1000W 600H" , 0 , 0 , -1 },
{ "htop" , NULL , NULL , 0 , 1 , "50% 50% 1200W 600H" , 0 , 0 , -1 },
{ "Pavucontrol" , NULL , NULL , 0 , 1 , "50% 50% 1200W 600H" , 0 , 0 , -1 },
{ "Zathura" , NULL , NULL , 0 , 0 , NULL , 0 , 1 , -1 },
{ "spfeh" , NULL , NULL , SPTAG(1) , 1 , NULL , 0 , 0 , -1 },
{ NULL , "spterm" , NULL , SPTAG(0) , 1 , NULL , 0 , 0 , -1 },
@ -44,6 +47,7 @@ static const Rule rules[] = {
{ NULL , "spfile" , NULL , SPTAG(3) , 1 , NULL , 0 , 0 , -1 },
{ NULL , "spmusic" , NULL , SPTAG(4) , 1 , NULL , 0 , 0 , -1 },
{ NULL , "spcal" , NULL , SPTAG(5) , 1 , NULL , 0 , 0 , -1 },
{ NULL , "obsidian" , NULL , SPTAG(6) , 1 , "50% 50% 1400W 700H" , 0 , 0 , -1 },
{ NULL , "sxiv" , NULL , 0 , 1 , "100% 1% 600W 350H" , 1 , 0 , -1 },
{ NULL , "Kunst" , NULL , 0 , 1 , "100% 1% 150W 150H" , 0 , 0 , -1 },
{ NULL , NULL , "SimCrop" , 0 , 1 , "50% 50% 800W 500H" , 0 ,0 , -1 },


BIN
.local/src/surf/surf View File


BIN
.local/src/surf/surf.o View File


BIN
.local/src/surf/webext-surf.o View File


BIN
.local/src/surf/webext-surf.so View File


+ 3
- 11
.profile View File

@ -58,6 +58,7 @@ export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
export PASSWORD_STORE_ENABLE_EXTENSIONS=true
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
@ -92,19 +93,10 @@ 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
else
# 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
fi
exit
fi
# Start sway if logged in from tty2
if [ "$DISPLAY" = "" ] && [ "$(tty)" = /dev/tty2 ]; then
if [ "$DBUS_SESSION_BUS_ADDRESS" = "" ] && [ ! $(command -v dbus-run-session) = "" ]; then
exec dbus-run-session sway 2> $XDG_RUNTIME_DIR/sway.err > $XDG_RUNTIME_DIR/sway
else
exec sway 2> $XDG_RUNTIME_DIR/sway.err > $XDG_RUNTIME_DIR/sway
exec xinit 2> $XDG_RUNTIME_DIR/xinit.err > $XDG_RUNTIME_DIR/xinit
fi
exit
fi

Loading…
Cancel
Save