├── .Xresources ├── .config ├── dunst │ └── dunstrc ├── neofetch │ ├── arch_logo.txt │ └── config.conf ├── nvim │ ├── coc-settings.json │ └── init.vim ├── ranger │ ├── commands.py │ ├── commands_full.py │ ├── plugins │ │ ├── __init__.py │ │ ├── devicons.py │ │ └── devicons_linemode.py │ ├── rc.conf │ ├── rifle.conf │ └── scope.sh ├── spicetify │ ├── Themes │ │ └── Jellybeans │ │ │ ├── color.ini │ │ │ └── user.css │ └── config.ini └── zathura │ └── zathurarc ├── .fonts ├── Font Awesome 5 Brands-Regular-400.otf ├── Font Awesome 5 Free-Regular-400.otf ├── Font Awesome 5 Free-Solid-900.otf ├── Hermit-Bold.otf ├── Hermit-BoldItalic.otf ├── Hermit-Light.otf ├── Hermit-LightItalic.otf ├── Hermit-Regular.otf └── Hermit-RegularItalic.otf ├── .gitignore ├── .zshrc ├── README.md ├── diffs ├── dmenu.diff ├── dwm.diff └── st.diff ├── dwm_screenshot.png ├── old_rice ├── .Xresources ├── .config │ ├── bat │ │ └── config │ ├── dunst │ │ └── dunstrc │ ├── neofetch │ │ └── config.conf │ ├── pulseaudio-ctl │ │ └── config │ ├── ranger │ │ ├── commands.py │ │ ├── commands_full.py │ │ ├── rc.conf │ │ ├── rifle.conf │ │ └── scope.sh │ ├── termite │ │ └── config │ ├── vis │ │ ├── colors │ │ │ ├── dracula │ │ │ ├── gruvbox │ │ │ ├── material │ │ │ └── rei │ │ ├── config │ │ └── vis.log │ └── zathura │ │ └── zathurarc ├── .gitignore ├── .vim │ ├── .netrwhist │ ├── .ycm_extra_conf.py │ ├── autoload │ │ └── pathogen.vim │ ├── bundle │ │ └── vim_modules.sh │ ├── colors │ │ ├── 2Bcolors.vim │ │ ├── alabaster.vim │ │ ├── codeschool.vim │ │ ├── colibri.vim │ │ ├── cosmic_latte.vim │ │ ├── forgotten-dark.vim │ │ ├── forgotten-light.vim │ │ ├── ocean.vim │ │ └── pink-moon.vim │ └── vimty.vim ├── .vimrc ├── .xinitrc ├── .zshrc ├── README.md ├── autostart.sh ├── colors.h ├── compton.conf ├── dwm │ ├── config.h │ └── patches │ │ ├── dwm-attachaside.diff │ │ ├── dwm-autostart.diff │ │ ├── dwm-centeredwindowname.diff │ │ ├── dwm-cmdcustomize-20180504-3bd8466.diff │ │ ├── dwm-cyclelayouts.diff │ │ ├── dwm-fibonacci.diff │ │ ├── dwm-focusurgent.diff │ │ ├── dwm-gaplessgrid.diff │ │ ├── dwm-rotatestack.diff │ │ └── dwm-uselessgap.diff ├── guides │ ├── ArchGuideEFI.md │ ├── ArchGuideEFI.pdf │ ├── LearnBash.sh │ ├── LearnVim.txt │ ├── c-hotkeys.pdf │ ├── cli-cmds.jpg │ ├── latexsheet.pdf │ ├── learnc.c │ ├── learnpython3.py │ └── undergradmath.pdf ├── screenshot.png ├── scripts │ ├── autostart.sh │ ├── displaymenu.sh │ ├── powermenu.sh │ ├── screenshot.sh │ └── volume ├── slock │ └── config.h └── slstatus │ └── config.h ├── scripts ├── displaymenu.sh ├── powermenu.sh ├── screenshot.sh ├── status.sh ├── volumectl.sh └── wallpaper.sh ├── suckless ├── autostart.sh ├── colors.h ├── dmenu │ └── config.h ├── dwm │ └── config.h ├── make_diffs.sh ├── slock │ └── config.h └── st │ └── config.h └── wallpaper.png /.Xresources: -------------------------------------------------------------------------------- 1 | sxiv*Font: Hermit Regular 10px 14 2 | 3 | ! special 4 | *.foreground: #adadad 5 | *.background: #121212 6 | *.cursorColor: #adadad 7 | 8 | ! black 9 | *.color0: #1c1c1c 10 | *.color8: #3b3b3b 11 | 12 | ! red 13 | *.color1: #d75f5f 14 | *.color9: #ffb964 15 | 16 | ! green 17 | *.color2: #72a25a 18 | *.color10: #99ad6a 19 | 20 | ! yellow 21 | *.color3: #d8ad4c 22 | *.color11: #fad07a 23 | 24 | ! blue 25 | *.color4: #597bc5 26 | *.color12: #8197bf 27 | 28 | ! magenta 29 | *.color5: #8787af 30 | *.color13: #d7afff 31 | 32 | ! cyan 33 | *.color6: #4a8382 34 | *.color14: #8fbfdc 35 | 36 | ! white 37 | *.color7: #adadad 38 | *.color15: #e8e8de 39 | 40 | 41 | ! Black color that will not be affected by bold highlighting. 42 | *.color66: #000000 43 | *color66: #000000 44 | 45 | -------------------------------------------------------------------------------- /.config/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | alignment = left 3 | allow_markup = yes 4 | bounce_freq = 0 5 | browser = /usr/bin/firefox --new-tab 6 | # dmenu = /usr/local/bin/dmenu -h 29 -fn "Hermit-Regular:size=12" -nb "#121212" -nf "#adadad" -sf "#121212" -sb "#adadad" -p dunst: 7 | dmenu = /usr/local/bin/dmenu -p dunst: 8 | follow = none 9 | font = Hermit Regular 12 10 | format = "%a: %s\n%b" 11 | icon_folders = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/:/usr/share/icons/Adwaita/16x16/apps/ 12 | # geometry [{width}x{height}][+/-{x}+/-{y}] 13 | # geometry = "350-10+35" 14 | geometry = "300x5-7+35" 15 | history_length = 20 16 | horizontal_padding = 8 17 | idle_threshold = 120 18 | ignore_newline = no 19 | indicate_hidden = yes 20 | icons_show = left 21 | show_icons = no 22 | line_height = 0 23 | monitor = 0 24 | padding = 5 25 | separator_color = frame 26 | separator_height = 1 27 | show_age_threshold = 60 28 | show_indicators = yes 29 | shrink = no 30 | sort = yes 31 | startup_notification = false 32 | sticky_history = no 33 | transparency = 0 34 | word_wrap = no 35 | 36 | [frame] 37 | width = 2 38 | color = "#adadad" 39 | 40 | [shortcuts] 41 | close = mod4+x 42 | close_all = mod4+ctrl+x 43 | history = mod4+grave 44 | context = mod4+shift+period 45 | 46 | [urgency_low] 47 | background = "#121212" 48 | foreground = "#adadad" 49 | timeout = 8 50 | 51 | [urgency_normal] 52 | background = "#121212" 53 | foreground = "#adadad" 54 | timeout = 10 55 | 56 | [urgency_critical] 57 | background = "#d75f5f" 58 | foreground = "#121212" 59 | timeout = 13 60 | -------------------------------------------------------------------------------- /.config/neofetch/arch_logo.txt: -------------------------------------------------------------------------------- 1 | ${C2}█ 2 | ${C2}███ 3 | ${C2}██ ██ 4 | ${C2}██ ██ 5 | ${C2}██ ██ 6 | ${C2}██▄ ██ 7 | ${C2}██ ▀ ██ 8 | ${C2}██ ██ 9 | ${C2}██ ██ 10 | ${C2}██ █ ██ 11 | ${C2}██ ▄███▄ ██ 12 | ${C2}██ ██ ${C2}██ ▄▄ ██ 13 | ${C2}██ ▄██ ${C2}██▄ ▀▀██ 14 | ${C2}██ ▄█████ ${C2}█████▄ ██ 15 | ${C2}██ ▄█████ ${C2}█████▄ ██ 16 | ${C2}██ ${C2}██ 17 | -------------------------------------------------------------------------------- /.config/nvim/coc-settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "codeLens.enable": true, 3 | "diagnostic.errorSign": "", 4 | "diagnostic.warningSign": "", 5 | "diagnostic.infoSign": "", 6 | "diagnostic-languageserver.filetypes": { 7 | "sh": "shellcheck" 8 | }, 9 | "eslint.enable": false, 10 | "eslint.filetypes": [ 11 | "javascript", 12 | "javascriptreact", 13 | "typescript", 14 | "typescriptreact" 15 | ], 16 | "git.realtimeGutters": true, 17 | "suggest.noselect": true, 18 | "list.insertMappings": { 19 | "": "action:split", 20 | "": "action:vsplit" 21 | }, 22 | "list.normalMappings": { 23 | "s": "action:split", 24 | "v": "action:vsplit" 25 | }, 26 | "list.source.files.command": "fd", 27 | "list.source.files.args": ["--type", "f"], 28 | "rust.clippy_preference": "on", 29 | "tsserver.enableJavascript": true, 30 | "typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, 31 | "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, 32 | "typescript.preferences.quoteStyle": "double", 33 | "typescript.referencesCodeLens.enable": false, 34 | "git.enableGutters": false, 35 | "latex.build.onSave": true 36 | } 37 | -------------------------------------------------------------------------------- /.config/nvim/init.vim: -------------------------------------------------------------------------------- 1 | " 2 | " ██ 3 | " ░░ 4 | " ███████ █████ ██████ ██ ██ ██ ██████████ 5 | " ░░██░░░██ ██░░░██ ██░░░░██░██ ░██░██░░██░░██░░██ 6 | " ░██ ░██░███████░██ ░██░░██ ░██ ░██ ░██ ░██ ░██ 7 | " ░██ ░██░██░░░░ ░██ ░██ ░░████ ░██ ░██ ░██ ░██ 8 | " ███ ░██░░██████░░██████ ░░██ ░██ ███ ░██ ░██ 9 | " ░░░ ░░ ░░░░░░ ░░░░░░ ░░ ░░ ░░░ ░░ ░░ 10 | 11 | call plug#begin('~/.vim/plugged') 12 | 13 | " Color Scheme 14 | Plug 'nanotech/jellybeans.vim' 15 | Plug 'ryanoasis/vim-devicons' 16 | 17 | " Autocomplete in neovim 18 | Plug 'neoclide/coc.nvim', {'branch': 'release'} 19 | " Plug 'ervandew/supertab' 20 | 21 | " Shows level of indentation 22 | Plug 'Yggdroot/indentLine' 23 | 24 | " Commenter for neovim 25 | Plug 'scrooloose/nerdcommenter' 26 | 27 | " File tree 28 | Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' } 29 | 30 | " Auto pair brackets or quotes 31 | Plug 'jiangmiao/auto-pairs' 32 | 33 | " Status bar for neovim 34 | Plug 'itchyny/lightline.vim' 35 | 36 | " Git status 37 | Plug 'airblade/vim-gitgutter' 38 | 39 | " Show rgb or hex colors in neovim 40 | Plug 'lilydjwg/colorizer', { 'for': [ 'css', 'cpp' ] } 41 | 42 | call plug#end() 43 | 44 | " For plugins to work (still not sure what it does) 45 | set nocompatible 46 | 47 | set history=500 48 | 49 | " Colorscheme 50 | set background=dark 51 | colorscheme jellybeans 52 | let g:jellybeans_use_term_italics = 1 53 | " set termguicolors 54 | 55 | filetype plugin on 56 | filetype indent on 57 | filetype on 58 | syntax on 59 | 60 | set autoread " Auto read changes to file outside vim 61 | set hidden " Hide unsave file to hidden buffers 62 | set nowrap " Don't wrap text 63 | set cursorline cursorcolumn " Highlight curr column and row of code 64 | 65 | set smartindent autoindent 66 | set tabstop=2 shiftwidth=2 expandtab 67 | " Show matching brackets when text indicator is over them 68 | set showmatch 69 | " How many tenths of a second to blink when matching brackets 70 | set mat=2 71 | set number " Show current line number 72 | set relativenumber " Show other line nums relative to curr 73 | set wildmenu " Command completion in enhanced mode 74 | " Ignore compiled files 75 | set wildignore=*.pyc,*.o,*.obj,*.svn,*.class,*.aux,*.fdb_latexmk,*.fls,*.gz 76 | set noshowcmd " Don't show the used command 77 | 78 | " For regular expressions turn magic on 79 | " set magic 80 | 81 | set foldcolumn=1 " Add a bit extra margin to the left 82 | 83 | set hlsearch " Highlight search word 84 | set incsearch " Search as you type 85 | set ignorecase " Ignore case while searching 86 | set smartcase " But not when there is a char in CAPS 87 | 88 | set ai " Auto indent 89 | set si " Smart indent 90 | set wrap " Wrap lines 91 | 92 | " Center vertically when going in insert 93 | autocmd InsertEnter * norm zz 94 | 95 | "Get backspace to work 96 | set backspace=indent,eol,start 97 | 98 | " Return to last edit position when opening files 99 | au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif 100 | 101 | """""""""""""""""""""""""""""" 102 | " => Mapping 103 | """""""""""""""""""""""""""""" 104 | " Map leader key to space 105 | let mapleader=" " 106 | " Remap escape 107 | inoremap kj 108 | tnoremap kj 109 | 110 | " Replace 111 | nmap r :%s///g 112 | " Replace word under the cursor 113 | nmap R :%s///g 114 | " End search 115 | nnoremap ,, :noh 116 | 117 | " Fix indentation 118 | nmap i =i{ 119 | " Add lines without exiting normal mode 120 | nmap ok 121 | 122 | " Go new next visual line (to tackle wraped text) 123 | nnoremap k gk 124 | nnoremap j gj 125 | 126 | " Toggle spell checking (EN US) 127 | map ss :setlocal spell! spelllang=en_us 128 | 129 | """""""""""""""""""""""""""""" 130 | " => Multiple files 131 | """""""""""""""""""""""""""""" 132 | set splitbelow splitright 133 | 134 | " Remap movement b/w splits 135 | " Normal mode: 136 | nnoremap 137 | nnoremap 138 | nnoremap 139 | nnoremap 140 | 141 | " Insert mode: 142 | inoremap 143 | inoremap 144 | inoremap 145 | inoremap 146 | 147 | " Terminal mode: 148 | tnoremap 149 | tnoremap 150 | tnoremap 151 | tnoremap 152 | 153 | " Resize the splits 154 | nnoremap :resize -3 155 | nnoremap :resize +3 156 | nnoremap :vertical resize +3 157 | nnoremap :vertical resize -3 158 | 159 | " Change splits from hori to vert and vice-versa 160 | map th tH 161 | map tk tK 162 | 163 | " Remove | (pipe) from the split bar 164 | set fillchars+=vert:\ 165 | 166 | " Tabs 167 | " gt to go up, gT to go down, #gt to # tag 168 | nnoremap H gT 169 | nnoremap L gt 170 | 171 | """""""""""""""""""""""""""""" 172 | " => Status & tab (Lightline) 173 | """""""""""""""""""""""""""""" 174 | set laststatus=2 " Always show the status line 175 | set showtabline=2 " Always show the tabline 176 | 177 | " Dont show mode cause lightline is doing it already 178 | set noshowmode 179 | 180 | let g:lightline = { 181 | \ 'colorscheme': 'jellybeans', 182 | \ 'component_function': { 183 | \ 'filetype': 'MyFiletype', 184 | \ } 185 | \ } 186 | 187 | function! MyFiletype() 188 | return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype . ' ' . WebDevIconsGetFileTypeSymbol() : 'no ft') : '' 189 | endfunction 190 | 191 | let g:lightline.separator = { 192 | \ 'left': '', 'right': '' 193 | \ } 194 | let g:lightline.subseparator = { 195 | \ 'left': '', 'right': '' 196 | \ } 197 | 198 | let g:lightline.component_expand = { 199 | \ 'coc_error' : 'LightlineCocErrors', 200 | \ 'coc_warning' : 'LightlineCocWarnings', 201 | \ 'coc_info' : 'LightlineCocInfos', 202 | \ 'coc_hint' : 'LightlineCocHints', 203 | \ 'coc_fix' : 'LightlineCocFixes' 204 | \ } 205 | 206 | let g:lightline.component_type = { 207 | \ 'coc_error' : 'error', 208 | \ 'coc_warning' : 'warning', 209 | \ 'coc_info' : 'tabsel', 210 | \ 'coc_hint' : 'middle', 211 | \ 'coc_fix' : 'middle', 212 | \ } 213 | 214 | function! s:lightline_coc_diagnostic(kind, sign) abort 215 | let info = get(b:, 'coc_diagnostic_info', 0) 216 | if empty(info) || get(info, a:kind, 0) == 0 217 | return '' 218 | endif 219 | try 220 | let s = g:coc_user_config['diagnostic'][a:sign . 'Sign'] 221 | catch 222 | let s = '' 223 | endtry 224 | return printf('%s %d', s, info[a:kind]) 225 | endfunction 226 | 227 | function! LightlineCocErrors() abort 228 | return s:lightline_coc_diagnostic('error', 'error') 229 | endfunction 230 | 231 | function! LightlineCocWarnings() abort 232 | return s:lightline_coc_diagnostic('warning', 'warning') 233 | endfunction 234 | 235 | function! LightlineCocInfos() abort 236 | return s:lightline_coc_diagnostic('information', 'info') 237 | endfunction 238 | 239 | function! LightlineCocHints() abort 240 | return s:lightline_coc_diagnostic('hints', 'hint') 241 | endfunction 242 | \ } 243 | 244 | autocmd User CocDiagnosticChange call lightline#update() 245 | 246 | let g:lightline.active = { 247 | \ 'left': [[ 'mode', 'paste' ], [ 'filename' ], [ 'readonly', 'modified' ]], 248 | \ 'right': [[ 'lineinfo' ], [ 'percent' ], [ 'coc_error', 'coc_warning', 'coc_hint', 'coc_info' ]] 249 | \ } 250 | 251 | let g:lightline.tabline = { 252 | \ 'left': [ [ 'tabs' ] ], 253 | \ 'right': [ [ 'filetype' ] ] } 254 | 255 | let g:indentLine_setConceal = 0 256 | 257 | """""""""""""""""""""""""""""" 258 | " => NerdTree 259 | """""""""""""""""""""""""""""" 260 | " Start NERDTree at startup 261 | " autocmd vimenter * NERDTree 262 | map :NERDTreeToggle 263 | let NERDTreeRespectWildIgnore=1 264 | 265 | """""""""""""""""""""""""""""" 266 | " => Git-gutter 267 | """""""""""""""""""""""""""""" 268 | nmap \g :GitGutterLineHighlightsToggle 269 | " let g:gitgutter_highlight_linenrs = 1 270 | 271 | """""""""""""""""""""""""""""" 272 | " => NerdCommenter 273 | """""""""""""""""""""""""""""" 274 | let g:NERDSpaceDelims = 1 275 | let g:NERDCompactSexyComs = 1 276 | let g:NERDDefaultAlign = 'left' 277 | let g:NERDCommentEmptyLines = 1 278 | let g:NERDTrimTrailingWhitespace = 1 279 | let g:NERDToggleCheckAllLines = 1 280 | 281 | """""""""""""""""""""""""""""" 282 | " Autocompletion 283 | """"""""""""""""""""""""""""""" 284 | let g:SuperTabDefaultCompletionType = "" 285 | let g:SuperTabContextDefaultCompletionType = "" 286 | 287 | nmap [g (coc-diagnostic-prev) 288 | nmap ]g (coc-diagnostic-next) 289 | 290 | " GoTo code navigation. 291 | nmap gd (coc-definition) 292 | nmap gy (coc-type-definition) 293 | nmap gi (coc-implementation) 294 | nmap gr (coc-references) 295 | 296 | """""""""""""""""""""""""""""" 297 | " => Run/Compile 298 | """""""""""""""""""""""""""""" 299 | autocmd FileType python map \sr :w!:!python % 300 | " TODO Fix error of building when c, cpp open in same session 301 | autocmd FileType c map \sb :w!:!make %:r 302 | autocmd FileType cpp map \sb :w!:!g++ % -o %:r 303 | autocmd FileType c,cpp map \mb :w!:!make 304 | autocmd FileType c,cpp map \sr :w!:!./%:r 305 | autocmd FileType go map \sb :w!:!go build 306 | autocmd FileType go map \sr :w!:!go run main.go 307 | 308 | -------------------------------------------------------------------------------- /.config/ranger/commands.py: -------------------------------------------------------------------------------- 1 | # This is a sample commands.py. You can add your own commands here. 2 | # 3 | # Please refer to commands_full.py for all the default commands and a complete 4 | # documentation. Do NOT add them all here, or you may end up with defunct 5 | # commands when upgrading ranger. 6 | 7 | # A simple command for demonstration purposes follows. 8 | # ----------------------------------------------------------------------------- 9 | 10 | from __future__ import (absolute_import, division, print_function) 11 | 12 | # You can import any python module as needed. 13 | import os 14 | 15 | # You always need to import ranger.api.commands here to get the Command class: 16 | from ranger.api.commands import Command 17 | 18 | 19 | # Any class that is a subclass of "Command" will be integrated into ranger as a 20 | # command. Try typing ":my_edit" in ranger! 21 | class my_edit(Command): 22 | # The so-called doc-string of the class will be visible in the built-in 23 | # help that is accessible by typing "?c" inside ranger. 24 | """:my_edit 25 | 26 | A sample command for demonstration purposes that opens a file in an editor. 27 | """ 28 | 29 | # The execute method is called when you run this command in ranger. 30 | def execute(self): 31 | # self.arg(1) is the first (space-separated) argument to the function. 32 | # This way you can write ":my_edit somefilename". 33 | if self.arg(1): 34 | # self.rest(1) contains self.arg(1) and everything that follows 35 | target_filename = self.rest(1) 36 | else: 37 | # self.fm is a ranger.core.filemanager.FileManager object and gives 38 | # you access to internals of ranger. 39 | # self.fm.thisfile is a ranger.container.file.File object and is a 40 | # reference to the currently selected file. 41 | target_filename = self.fm.thisfile.path 42 | 43 | # This is a generic function to print text in ranger. 44 | self.fm.notify("Let's edit the file " + target_filename + "!") 45 | 46 | # Using bad=True in fm.notify allows you to print error messages: 47 | if not os.path.exists(target_filename): 48 | self.fm.notify("The given file does not exist!", bad=True) 49 | return 50 | 51 | # This executes a function from ranger.core.acitons, a module with a 52 | # variety of subroutines that can help you construct commands. 53 | # Check out the source, or run "pydoc ranger.core.actions" for a list. 54 | self.fm.edit_file(target_filename) 55 | 56 | # The tab method is called when you press tab, and should return a list of 57 | # suggestions that the user will tab through. 58 | # tabnum is 1 for and -1 for by default 59 | def tab(self, tabnum): 60 | # This is a generic tab-completion function that iterates through the 61 | # content of the current directory. 62 | return self._tab_directory_content() 63 | -------------------------------------------------------------------------------- /.config/ranger/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.config/ranger/plugins/__init__.py -------------------------------------------------------------------------------- /.config/ranger/plugins/devicons.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # coding=UTF-8 3 | # These glyphs, and the mapping of file extensions to glyphs 4 | # has been copied from the vimscript code that is present in 5 | # https://github.com/ryanoasis/vim-devicons 6 | import re; 7 | import os; 8 | 9 | # all those glyphs will show as weird squares if you don't have the correct patched font 10 | # My advice is to use NerdFonts which can be found here: 11 | # https://github.com/ryanoasis/nerd-fonts 12 | file_node_extensions = { 13 | '7z' : '', 14 | 'a' : '', 15 | 'ai' : '', 16 | 'apk' : '', 17 | 'asm' : '', 18 | 'asp' : '', 19 | 'aup' : '', 20 | 'avi' : '', 21 | 'bat' : '', 22 | 'bmp' : '', 23 | 'bz2' : '', 24 | 'c' : '', 25 | 'c++' : '', 26 | 'cab' : '', 27 | 'cbr' : '', 28 | 'cbz' : '', 29 | 'cc' : '', 30 | 'class' : '', 31 | 'clj' : '', 32 | 'cljc' : '', 33 | 'cljs' : '', 34 | 'cmake' : '', 35 | 'coffee' : '', 36 | 'conf' : '', 37 | 'cp' : '', 38 | 'cpio' : '', 39 | 'cpp' : '', 40 | 'cs' : '', 41 | 'css' : '', 42 | 'cue' : '', 43 | 'cvs' : '', 44 | 'cxx' : '', 45 | 'd' : '', 46 | 'dart' : '', 47 | 'db' : '', 48 | 'deb' : '', 49 | 'diff' : '', 50 | 'dll' : '', 51 | 'doc' : '', 52 | 'docx' : '', 53 | 'dump' : '', 54 | 'edn' : '', 55 | 'efi' : '', 56 | 'ejs' : '', 57 | 'elf' : '', 58 | 'elm' : '', 59 | 'epub' : '', 60 | 'erl' : '', 61 | 'ex' : '', 62 | 'exe' : '', 63 | 'exs' : '', 64 | 'eex' : '', 65 | 'f#' : '', 66 | 'fifo' : '|', 67 | 'fish' : '', 68 | 'flac' : '', 69 | 'flv' : '', 70 | 'fs' : '', 71 | 'fsi' : '', 72 | 'fsscript' : '', 73 | 'fsx' : '', 74 | 'gem' : '', 75 | 'gif' : '', 76 | 'go' : '', 77 | 'gz' : '', 78 | 'gzip' : '', 79 | 'h' : '', 80 | 'hbs' : '', 81 | 'hrl' : '', 82 | 'hs' : '', 83 | 'htaccess' : '', 84 | 'htpasswd' : '', 85 | 'htm' : '', 86 | 'html' : '', 87 | 'ico' : '', 88 | 'img' : '', 89 | 'ini' : '', 90 | 'iso' : '', 91 | 'jar' : '', 92 | 'java' : '', 93 | 'jl' : '', 94 | 'jpeg' : '', 95 | 'jpg' : '', 96 | 'js' : '', 97 | 'json' : '', 98 | 'jsx' : '', 99 | 'key' : '', 100 | 'less' : '', 101 | 'lha' : '', 102 | 'lhs' : '', 103 | 'log' : '', 104 | 'lua' : '', 105 | 'lzh' : '', 106 | 'lzma' : '', 107 | 'm4a' : '', 108 | 'm4v' : '', 109 | 'markdown' : '', 110 | 'md' : '', 111 | 'mkv' : '', 112 | 'ml' : 'λ', 113 | 'mli' : 'λ', 114 | 'mov' : '', 115 | 'mp3' : '', 116 | 'mp4' : '', 117 | 'mpeg' : '', 118 | 'mpg' : '', 119 | 'msi' : '', 120 | 'mustache' : '', 121 | 'o' : '', 122 | 'ogg' : '', 123 | 'pdf' : '', 124 | 'php' : '', 125 | 'pl' : '', 126 | 'pm' : '', 127 | 'png' : '', 128 | 'pub' : '', 129 | 'ppt' : '', 130 | 'pptx' : '', 131 | 'psb' : '', 132 | 'psd' : '', 133 | 'py' : '', 134 | 'pyc' : '', 135 | 'pyd' : '', 136 | 'pyo' : '', 137 | 'rar' : '', 138 | 'rb' : '', 139 | 'rc' : '', 140 | 'rlib' : '', 141 | 'rom' : '', 142 | 'rpm' : '', 143 | 'rs' : '', 144 | 'rss' : '', 145 | 'rtf' : '', 146 | 's' : '', 147 | 'so' : '', 148 | 'scala' : '', 149 | 'scss' : '', 150 | 'sh' : '', 151 | 'slim' : '', 152 | 'sln' : '', 153 | 'sql' : '', 154 | 'styl' : '', 155 | 'suo' : '', 156 | 't' : '', 157 | 'tar' : '', 158 | 'tgz' : '', 159 | 'ts' : '', 160 | 'twig' : '', 161 | 'vim' : '', 162 | 'vimrc' : '', 163 | 'wav' : '', 164 | 'webm' : '', 165 | 'xbps' : '', 166 | 'xhtml' : '', 167 | 'xls' : '', 168 | 'xlsx' : '', 169 | 'xml' : '', 170 | 'xul' : '', 171 | 'xz' : '', 172 | 'yaml' : '', 173 | 'yml' : '', 174 | 'zip' : '', 175 | } 176 | 177 | dir_node_exact_matches = { 178 | # English 179 | '.git' : '', 180 | 'Desktop' : '', 181 | 'Documents' : '', 182 | 'Downloads' : '', 183 | 'Dotfiles' : '', 184 | 'Dropbox' : '', 185 | 'Music' : '', 186 | 'Pictures' : '', 187 | 'Public' : '', 188 | 'Templates' : '', 189 | 'Videos' : '', 190 | # Spanish 191 | 'Escritorio' : '', 192 | 'Documentos' : '', 193 | 'Descargas' : '', 194 | 'Música' : '', 195 | 'Imágenes' : '', 196 | 'Público' : '', 197 | 'Plantillas' : '', 198 | 'Vídeos' : '', 199 | # French 200 | 'Bureau' : '', 201 | 'Documents' : '', 202 | 'Images' : '', 203 | 'Musique' : '', 204 | 'Publique' : '', 205 | 'Téléchargements' : '', 206 | 'Vidéos' : '', 207 | # Portuguese 208 | 'Documentos' : '', 209 | 'Imagens' : '', 210 | 'Modelos' : '', 211 | 'Música' : '', 212 | 'Público' : '', 213 | 'Vídeos' : '', 214 | 'Área de trabalho' : '', 215 | # Italian 216 | 'Documenti' : '', 217 | 'Immagini' : '', 218 | 'Modelli' : '', 219 | 'Musica' : '', 220 | 'Pubblici' : '', 221 | 'Scaricati' : '', 222 | 'Scrivania' : '', 223 | 'Video' : '', 224 | # German 225 | 'Bilder' : '', 226 | 'Dokumente' : '', 227 | 'Musik' : '', 228 | 'Schreibtisch' : '', 229 | 'Vorlagen' : '', 230 | 'Öffentlich' : '', 231 | # Hungarian 232 | 'Dokumentumok' : '', 233 | 'Képek' : '', 234 | 'Modelli' : '', 235 | 'Zene' : '', 236 | 'Letöltések' : '', 237 | 'Számítógép' : '', 238 | 'Videók' : '', 239 | } 240 | 241 | file_node_exact_matches = { 242 | '.Xauthority' : '', 243 | '.Xdefaults' : '', 244 | '.Xresources' : '', 245 | '.bash_aliases' : '', 246 | '.bashprofile' : '', 247 | '.bash_profile' : '', 248 | '.bash_logout' : '', 249 | '.bash_history' : '', 250 | '.bashrc' : '', 251 | '.dmrc' : '', 252 | '.DS_Store' : '', 253 | '.fasd' : '', 254 | '.fehbg' : '', 255 | '.gitconfig' : '', 256 | '.gitattributes' : '', 257 | '.gitignore' : '', 258 | '.inputrc' : '', 259 | '.jack-settings' : '', 260 | '.mime.types' : '', 261 | '.nvidia-settings-rc' : '', 262 | '.pam_environment' : '', 263 | '.profile' : '', 264 | '.recently-used' : '', 265 | '.selected_editor' : '', 266 | '.vim' : '', 267 | '.vimrc' : '', 268 | '.viminfo' : '', 269 | '.xinitrc' : '', 270 | '.xinputrc' : '', 271 | 'config' : '', 272 | 'Dockerfile' : '', 273 | 'docker-compose.yml' : '', 274 | 'dropbox' : '', 275 | 'exact-match-case-sensitive-1.txt' : 'X1', 276 | 'exact-match-case-sensitive-2' : 'X2', 277 | 'favicon.ico' : '', 278 | 'a.out' : '', 279 | 'bspwmrc' : '', 280 | 'sxhkdrc' : '', 281 | 'Makefile' : '', 282 | 'Makefile.in' : '', 283 | 'Makefile.ac' : '', 284 | 'config.mk' : '', 285 | 'config.m4' : '', 286 | 'config.ac' : '', 287 | 'configure' : '', 288 | 'Rakefile' : '', 289 | 'gruntfile.coffee' : '', 290 | 'gruntfile.js' : '', 291 | 'gruntfile.ls' : '', 292 | 'gulpfile.coffee' : '', 293 | 'gulpfile.js' : '', 294 | 'gulpfile.ls' : '', 295 | 'ini' : '', 296 | 'ledger' : '', 297 | 'package.json' : '', 298 | 'package-lock.json' : '', 299 | '.ncmpcpp' : '', 300 | 'playlists' : '', 301 | 'known_hosts' : '', 302 | 'authorized_keys' : '', 303 | 'license' : '', 304 | 'LICENSE.md' : '', 305 | 'LICENSE' : '', 306 | 'LICENSE.txt' : '', 307 | 'mimeapps.list' : '', 308 | 'node_modules' : '', 309 | 'procfile' : '', 310 | 'react.jsx' : '', 311 | 'README.rst' : '', 312 | 'README.md' : '', 313 | 'README.markdown' : '', 314 | 'README' : '', 315 | 'README.txt' : '', 316 | 'user-dirs.dirs' : '', 317 | 'webpack.config.js' : '', 318 | } 319 | 320 | def devicon(file): 321 | if file.is_directory: return dir_node_exact_matches.get(file.relative_path, '') 322 | return file_node_exact_matches.get(os.path.basename(file.relative_path), file_node_extensions.get(file.extension, '')) 323 | -------------------------------------------------------------------------------- /.config/ranger/plugins/devicons_linemode.py: -------------------------------------------------------------------------------- 1 | import ranger.api 2 | from ranger.core.linemode import LinemodeBase 3 | from .devicons import * 4 | 5 | @ranger.api.register_linemode 6 | class DevIconsLinemode(LinemodeBase): 7 | name = "devicons" 8 | 9 | uses_metadata = False 10 | 11 | def filetitle(self, file, metadata): 12 | return devicon(file) + ' ' + file.relative_path 13 | 14 | @ranger.api.register_linemode 15 | class DevIconsLinemodeFile(LinemodeBase): 16 | name = "filename" 17 | 18 | def filetitle(self, file, metadata): 19 | return devicon(file) + ' ' + file.relative_path 20 | -------------------------------------------------------------------------------- /.config/ranger/scope.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o noclobber -o noglob -o nounset -o pipefail 4 | IFS=$'\n' 5 | 6 | # If the option `use_preview_script` is set to `true`, 7 | # then this script will be called and its output will be displayed in ranger. 8 | # ANSI color codes are supported. 9 | # STDIN is disabled, so interactive scripts won't work properly 10 | 11 | # This script is considered a configuration file and must be updated manually. 12 | # It will be left untouched if you upgrade ranger. 13 | 14 | # Meanings of exit codes: 15 | # code | meaning | action of ranger 16 | # -----+------------+------------------------------------------- 17 | # 0 | success | Display stdout as preview 18 | # 1 | no preview | Display no preview at all 19 | # 2 | plain text | Display the plain content of the file 20 | # 3 | fix width | Don't reload when width changes 21 | # 4 | fix height | Don't reload when height changes 22 | # 5 | fix both | Don't ever reload 23 | # 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview 24 | # 7 | image | Display the file directly as an image 25 | 26 | # Script arguments 27 | FILE_PATH="${1}" # Full path of the highlighted file 28 | PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) 29 | PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) 30 | IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview 31 | PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. 32 | 33 | FILE_EXTENSION="${FILE_PATH##*.}" 34 | FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]') 35 | 36 | # Settings 37 | HIGHLIGHT_SIZE_MAX=262143 # 256KiB 38 | HIGHLIGHT_TABWIDTH=8 39 | HIGHLIGHT_STYLE='pablo' 40 | PYGMENTIZE_STYLE='autumn' 41 | 42 | 43 | handle_extension() { 44 | case "${FILE_EXTENSION_LOWER}" in 45 | # Archive 46 | a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ 47 | rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) 48 | atool --list -- "${FILE_PATH}" && exit 5 49 | bsdtar --list --file "${FILE_PATH}" && exit 5 50 | exit 1;; 51 | rar) 52 | # Avoid password prompt by providing empty password 53 | unrar lt -p- -- "${FILE_PATH}" && exit 5 54 | exit 1;; 55 | 7z) 56 | # Avoid password prompt by providing empty password 57 | 7z l -p -- "${FILE_PATH}" && exit 5 58 | exit 1;; 59 | 60 | # PDF 61 | pdf) 62 | # Preview as text conversion 63 | pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5 64 | mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5 65 | exiftool "${FILE_PATH}" && exit 5 66 | exit 1;; 67 | 68 | # BitTorrent 69 | torrent) 70 | transmission-show -- "${FILE_PATH}" && exit 5 71 | exit 1;; 72 | 73 | # OpenDocument 74 | odt|ods|odp|sxw) 75 | # Preview as text conversion 76 | odt2txt "${FILE_PATH}" && exit 5 77 | exit 1;; 78 | 79 | # HTML 80 | htm|html|xhtml) 81 | # Preview as text conversion 82 | w3m -dump "${FILE_PATH}" && exit 5 83 | lynx -dump -- "${FILE_PATH}" && exit 5 84 | elinks -dump "${FILE_PATH}" && exit 5 85 | ;; # Continue with next handler on failure 86 | esac 87 | } 88 | 89 | handle_image() { 90 | local mimetype="${1}" 91 | case "${mimetype}" in 92 | # SVG 93 | # image/svg+xml) 94 | # convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 95 | # exit 1;; 96 | 97 | # Image 98 | image/*) 99 | local orientation 100 | orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" 101 | # If orientation data is present and the image actually 102 | # needs rotating ("1" means no rotation)... 103 | if [[ -n "$orientation" && "$orientation" != 1 ]]; then 104 | # ...auto-rotate the image according to the EXIF data. 105 | convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 106 | fi 107 | 108 | # `w3mimgdisplay` will be called for all images (unless overriden as above), 109 | # but might fail for unsupported types. 110 | exit 7;; 111 | 112 | # Video 113 | # video/*) 114 | # # Thumbnail 115 | # ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 116 | # exit 1;; 117 | # PDF 118 | # application/pdf) 119 | # pdftoppm -f 1 -l 1 \ 120 | # -scale-to-x 1920 \ 121 | # -scale-to-y -1 \ 122 | # -singlefile \ 123 | # -jpeg -tiffcompression jpeg \ 124 | # -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ 125 | # && exit 6 || exit 1;; 126 | 127 | # Preview archives using the first image inside. 128 | # (Very useful for comic book collections for example.) 129 | # application/zip|application/x-rar|application/x-7z-compressed|\ 130 | # application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) 131 | # local fn=""; local fe="" 132 | # local zip=""; local rar=""; local tar=""; local bsd="" 133 | # case "${mimetype}" in 134 | # application/zip) zip=1 ;; 135 | # application/x-rar) rar=1 ;; 136 | # application/x-7z-compressed) ;; 137 | # *) tar=1 ;; 138 | # esac 139 | # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ 140 | # { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \ 141 | # { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \ 142 | # { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return 143 | # 144 | # fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \ 145 | # [ print(l, end='') for l in sys.stdin if \ 146 | # (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\ 147 | # sort -V | head -n 1) 148 | # [ "$fn" = "" ] && return 149 | # [ "$bsd" ] && fn=$(printf '%b' "$fn") 150 | # 151 | # [ "$tar" ] && tar --extract --to-stdout \ 152 | # --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6 153 | # fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g') 154 | # [ "$bsd" ] && bsdtar --extract --to-stdout \ 155 | # --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6 156 | # [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}" 157 | # [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \ 158 | # "${IMAGE_CACHE_PATH}" && exit 6 159 | # [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \ 160 | # "${IMAGE_CACHE_PATH}" && exit 6 161 | # [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" 162 | # ;; 163 | esac 164 | } 165 | 166 | handle_mime() { 167 | local mimetype="${1}" 168 | case "${mimetype}" in 169 | # Text 170 | text/* | */xml) 171 | # Syntax highlight 172 | if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then 173 | exit 2 174 | fi 175 | if [[ "$( tput colors )" -ge 256 ]]; then 176 | local pygmentize_format='terminal256' 177 | local highlight_format='xterm256' 178 | else 179 | local pygmentize_format='terminal' 180 | local highlight_format='ansi' 181 | fi 182 | highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \ 183 | --style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5 184 | # pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5 185 | exit 2;; 186 | 187 | # Image 188 | image/*) 189 | # Preview as text conversion 190 | # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 191 | exiftool "${FILE_PATH}" && exit 5 192 | exit 1;; 193 | 194 | # Video and audio 195 | video/* | audio/*) 196 | mediainfo "${FILE_PATH}" && exit 5 197 | exiftool "${FILE_PATH}" && exit 5 198 | exit 1;; 199 | esac 200 | } 201 | 202 | handle_fallback() { 203 | echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 204 | exit 1 205 | } 206 | 207 | 208 | MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" 209 | if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then 210 | handle_image "${MIMETYPE}" 211 | fi 212 | handle_extension 213 | handle_mime "${MIMETYPE}" 214 | handle_fallback 215 | 216 | exit 1 217 | -------------------------------------------------------------------------------- /.config/spicetify/Themes/Jellybeans/color.ini: -------------------------------------------------------------------------------- 1 | [Base] 2 | ; Dark Purple - morpho theme 3 | main_fg = adadad 4 | secondary_fg = e8e8de 5 | main_bg = 121212 6 | sidebar_and_player_bg = 121212 7 | cover_overlay_and_shadow = 000000 8 | indicator_fg_and_button_bg = adadad 9 | pressing_fg = d8ad4c 10 | slider_bg = 3b3b3b 11 | sidebar_indicator_and_hover_button_bg = adadad 12 | scrollbar_fg_and_selected_row_bg = 3b3b3b 13 | pressing_button_fg = e8e8de 14 | pressing_button_bg = 3b3b3b 15 | selected_button = adadad 16 | miscellaneous_bg = 3b3b3b 17 | miscellaneous_hover_bg = 3b3b3b 18 | preserve_1 = FFFFFF 19 | 20 | -------------------------------------------------------------------------------- /.config/spicetify/config.ini: -------------------------------------------------------------------------------- 1 | [Setting] 2 | inject_css = 1 3 | replace_colors = 1 4 | overwrite_assets = 0 5 | spotify_path = /opt/spotify 6 | prefs_path = /home/mark/.config/spotify/prefs 7 | current_theme = Jellybeans 8 | color_scheme = 9 | 10 | [Preprocesses] 11 | disable_sentry = 1 12 | disable_ui_logging = 1 13 | remove_rtl_rule = 1 14 | expose_apis = 1 15 | 16 | [AdditionalOptions] 17 | experimental_features = 0 18 | fastUser_switching = 0 19 | home = 0 20 | lyric_force_no_sync = 0 21 | new_feedback_ui = 0 22 | radio = 0 23 | song_page = 0 24 | custom_apps = 25 | lyric_always_show = 0 26 | made_for_you_hub = 0 27 | search_in_sidebar = 0 28 | visualization_high_framerate = 0 29 | extensions = 30 | minimal_ui = 0 31 | tastebuds = 0 32 | 33 | ; DO NOT CHANGE! 34 | [Backup] 35 | version = 1.1.10.546.ge08ef575 36 | 37 | -------------------------------------------------------------------------------- /.config/zathura/zathurarc: -------------------------------------------------------------------------------- 1 | # Disable statusbar. Default is "s" 2 | set guioptions "" 3 | # Show a tilde instead of the full home path 4 | set statusbar-home-tilde "true" 5 | set statusbar-h-padding 0 6 | set statusbar-v-padding 0 7 | set page-padding 2 8 | set selection-clipboard clipboard 9 | map K zoom in 10 | map J zoom out 11 | map u scroll half-up 12 | map d scroll half-down 13 | map D toggle_page_mode 14 | set recolor true 15 | set default-bg "#121212" 16 | set default-fg "#ababab" 17 | set statusbar-bg "#121212" 18 | set statusbar-fg "#ababab" 19 | set recolor-darkcolor "#ababab" 20 | set recolor-lightcolor "#121212" 21 | -------------------------------------------------------------------------------- /.fonts/Font Awesome 5 Brands-Regular-400.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Font Awesome 5 Brands-Regular-400.otf -------------------------------------------------------------------------------- /.fonts/Font Awesome 5 Free-Regular-400.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Font Awesome 5 Free-Regular-400.otf -------------------------------------------------------------------------------- /.fonts/Font Awesome 5 Free-Solid-900.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Font Awesome 5 Free-Solid-900.otf -------------------------------------------------------------------------------- /.fonts/Hermit-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Hermit-Bold.otf -------------------------------------------------------------------------------- /.fonts/Hermit-BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Hermit-BoldItalic.otf -------------------------------------------------------------------------------- /.fonts/Hermit-Light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Hermit-Light.otf -------------------------------------------------------------------------------- /.fonts/Hermit-LightItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Hermit-LightItalic.otf -------------------------------------------------------------------------------- /.fonts/Hermit-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Hermit-Regular.otf -------------------------------------------------------------------------------- /.fonts/Hermit-RegularItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/.fonts/Hermit-RegularItalic.otf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .config/ranger/plugins/__pycache__ -------------------------------------------------------------------------------- /.zshrc: -------------------------------------------------------------------------------- 1 | # If you come from bash you might have to change your $PATH. 2 | # export PATH=$HOME/bin:/usr/local/bin:$PATH 3 | 4 | # Path to your oh-my-zsh installation. 5 | export ZSH="/home/mark/.oh-my-zsh" 6 | 7 | # Set name of the theme to load. Optionally, if you set this to "random" 8 | # it'll load a random theme each time that oh-my-zsh is loaded. 9 | # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 10 | ZSH_THEME="terminalparty" 11 | 12 | # Set list of themes to load 13 | # Setting this variable when ZSH_THEME=random 14 | # cause zsh load theme from this variable instead of 15 | # looking in ~/.oh-my-zsh/themes/ 16 | # An empty array have no effect 17 | # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) 18 | 19 | # Uncomment the following line to use case-sensitive completion. 20 | # CASE_SENSITIVE="true" 21 | 22 | # Uncomment the following line to use hyphen-insensitive completion. Case 23 | # sensitive completion must be off. _ and - will be interchangeable. 24 | # HYPHEN_INSENSITIVE="true" 25 | 26 | # Uncomment the following line to disable bi-weekly auto-update checks. 27 | # DISABLE_AUTO_UPDATE="true" 28 | 29 | # Uncomment the following line to change how often to auto-update (in days). 30 | # export UPDATE_ZSH_DAYS=13 31 | 32 | # Uncomment the following line to disable colors in ls. 33 | # DISABLE_LS_COLORS="true" 34 | 35 | # Uncomment the following line to disable auto-setting terminal title. 36 | # DISABLE_AUTO_TITLE="true" 37 | 38 | # Uncomment the following line to enable command auto-correction. 39 | # ENABLE_CORRECTION="true" 40 | 41 | # Uncomment the following line to display red dots whilst waiting for completion. 42 | COMPLETION_WAITING_DOTS="true" 43 | 44 | # Uncomment the following line if you want to disable marking untracked files 45 | # under VCS as dirty. This makes repository status check for large repositories 46 | # much, much faster. 47 | # DISABLE_UNTRACKED_FILES_DIRTY="true" 48 | 49 | # Uncomment the following line if you want to change the command execution time 50 | # stamp shown in the history command output. 51 | # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" 52 | HIST_STAMPS="yyyy-mm-dd" 53 | 54 | # Would you like to use another custom folder than $ZSH/custom? 55 | # ZSH_CUSTOM=/path/to/new-custom-folder 56 | 57 | # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) 58 | # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ 59 | # Example format: plugins=(rails git textmate ruby lighthouse) 60 | # Add wisely, as too many plugins slow down shell startup. 61 | plugins=( 62 | extract 63 | ) 64 | 65 | source $ZSH/oh-my-zsh.sh 66 | 67 | alias mv="mv -i" 68 | alias rm="rm -i" 69 | 70 | alias vim="nvim" 71 | alias v="nvim" 72 | alias d="ranger" 73 | alias term="st -e &" 74 | 75 | # alias colorpanes="~/.i3/scripts/colorpanes.sh" 76 | alias uta="cd ~/Work/spr2020" 77 | alias :q="exit" 78 | alias :wq="echo This isn\'t vim, dumbass | cowsay" 79 | alias swm="sudo wifi-menu" 80 | alias setbg="~/.dotfiles/scripts/wallpaper.sh" 81 | 82 | # pacman 83 | alias pacget="sudo pacman -S" 84 | alias pacrm="sudo pacman -Rns" 85 | alias pacstat="yay -Ps" 86 | 87 | # Git 88 | alias gc="git clone" 89 | alias gs="git status" 90 | alias ga="git add" 91 | alias gm="git commit -m" 92 | 93 | export BROWSER=/usr/bin/firefox 94 | VISUAL=nvim; export VISUAL EDITOR=nvim; export EDITOR 95 | 96 | # Java 97 | # export PATH=$PATH:/usr/lib/jvm/java-12-openjdk/bin/ 98 | 99 | # Android 100 | # export _JAVA_AWT_WM_NONREPARENTING=1 101 | # export ANDROID_HOME=$HOME/Android/Sdk 102 | # export PATH=$PATH:$ANDROID_HOME/emulator 103 | # export PATH=$PATH:$ANDROID_HOME/tools 104 | # export PATH=$PATH:$ANDROID_HOME/tools/bin 105 | # export PATH=$PATH:$ANDROID_HOME/platform-tools 106 | 107 | # Go 108 | export GOPATH=$HOME/go 109 | export GOBIN=$GOPATH/bin 110 | export PATH=$GOPATH:$GOBIN:$PATH 111 | 112 | # ignore files for nvim and vim 113 | zstyle ':completion:*:*:vim:*' file-patterns '^*.(aux|log|pdf|db|pyc|out):source-files' '*:all-files' 114 | zstyle ':completion:*:*:nvim:*' file-patterns '^*.(aux|log|pdf|db|pyc|out):source-files' '*:all-files' 115 | 116 | # Make cow say short and offensive things from fortune 117 | # fortune -so | cowsay 118 | # echo DWM | figlet | lolcat 119 | # echo DWM | figlet 120 | 121 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # My Dotfiles 2 | 3 | ![screenshot dwm](dwm_screenshot.png) 4 | 5 | ## Wallpaper 6 | 7 | ![wallpaper](wallpaper.png) 8 | 9 | ## [Old Rice](./old_rice) 10 | 11 | ![Old Screenshot](old_rice/screenshot.png) 12 | -------------------------------------------------------------------------------- /diffs/dmenu.diff: -------------------------------------------------------------------------------- 1 | --- dmenu_org/config.def.h 2020-04-14 09:19:51.719896844 -0500 2 | +++ dmenu/config.def.h 2020-04-23 21:58:29.885544659 -0500 3 | @@ -4,17 +4,19 @@ 4 | static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ 5 | /* -fn option overrides fonts[0]; default X11 font or font set */ 6 | static const char *fonts[] = { 7 | - "monospace:size=10" 8 | + "Hermit-Regular:size=12:antialias=true:autohint=true" 9 | }; 10 | static const char *prompt = NULL; /* -p option; prompt to the left of input field */ 11 | +#include "../colors.h" 12 | static const char *colors[SchemeLast][2] = { 13 | - /* fg bg */ 14 | - [SchemeNorm] = { "#bbbbbb", "#222222" }, 15 | - [SchemeSel] = { "#eeeeee", "#005577" }, 16 | - [SchemeOut] = { "#000000", "#00ffff" }, 17 | + /* fg bg */ 18 | + [SchemeNorm] = { col_foreground, col_background }, 19 | + [SchemeSel] = { col_background, col_theme }, 20 | + [SchemeOut] = { col_foreground, col_background }, 21 | }; 22 | /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ 23 | static unsigned int lines = 0; 24 | +static unsigned int lineheight = 29; /* -h option; minimum height of a menu line */ 25 | 26 | /* 27 | * Characters not considered part of a word while deleting words 28 | --- dmenu_org/dmenu.1 2020-04-14 09:19:51.719896844 -0500 29 | +++ dmenu/dmenu.1 2020-04-05 11:52:53.075668073 -0500 30 | @@ -50,6 +50,9 @@ 31 | .BI \-l " lines" 32 | dmenu lists items vertically, with the given number of lines. 33 | .TP 34 | +.BI \-h " height" 35 | +dmenu uses a menu line of at least 'height' pixels tall, but no less than 8. 36 | +.TP 37 | .BI \-m " monitor" 38 | dmenu is displayed on the monitor number supplied. Monitor numbers are starting 39 | from 0. 40 | --- dmenu_org/dmenu.c 2020-04-14 09:19:51.719896844 -0500 41 | +++ dmenu/dmenu.c 2020-04-05 11:52:53.075668073 -0500 42 | @@ -131,7 +131,7 @@ 43 | { 44 | unsigned int curpos; 45 | struct item *item; 46 | - int x = 0, y = 0, w; 47 | + int x = 0, y = 0, fh = drw->fonts->h, w; 48 | 49 | drw_setscheme(drw, scheme[SchemeNorm]); 50 | drw_rect(drw, 0, 0, mw, mh, 1, 1); 51 | @@ -148,7 +148,7 @@ 52 | curpos = TEXTW(text) - TEXTW(&text[cursor]); 53 | if ((curpos += lrpad / 2 - 1) < w) { 54 | drw_setscheme(drw, scheme[SchemeNorm]); 55 | - drw_rect(drw, x + curpos, 2, 2, bh - 4, 1, 0); 56 | + drw_rect(drw, x + curpos, 2 + (bh-fh)/2, 2, fh - 4, 1, 0); 57 | } 58 | 59 | if (lines > 0) { 60 | @@ -609,6 +609,7 @@ 61 | 62 | /* calculate menu geometry */ 63 | bh = drw->fonts->h + 2; 64 | + bh = MAX(bh,lineheight); /* make a menu line AT LEAST 'lineheight' tall */ 65 | lines = MAX(lines, 0); 66 | mh = (lines + 1) * bh; 67 | #ifdef XINERAMA 68 | @@ -690,6 +691,7 @@ 69 | usage(void) 70 | { 71 | fputs("usage: dmenu [-bfiv] [-l lines] [-p prompt] [-fn font] [-m monitor]\n" 72 | + " [-h height]\n" 73 | " [-nb color] [-nf color] [-sb color] [-sf color] [-w windowid]\n", stderr); 74 | exit(1); 75 | } 76 | @@ -723,6 +725,10 @@ 77 | prompt = argv[++i]; 78 | else if (!strcmp(argv[i], "-fn")) /* font or font set */ 79 | fonts[0] = argv[++i]; 80 | + else if(!strcmp(argv[i], "-h")) { /* minimum height of one menu line */ 81 | + lineheight = atoi(argv[++i]); 82 | + lineheight = MAX(lineheight,8); /* reasonable default in case of value too small/negative */ 83 | + } 84 | else if (!strcmp(argv[i], "-nb")) /* normal background color */ 85 | colors[SchemeNorm][ColBg] = argv[++i]; 86 | else if (!strcmp(argv[i], "-nf")) /* normal foreground color */ 87 | -------------------------------------------------------------------------------- /dwm_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/dwm_screenshot.png -------------------------------------------------------------------------------- /old_rice/.Xresources: -------------------------------------------------------------------------------- 1 | !--------------! 2 | ! URXVT CONFIG ! 3 | !--------------! 4 | 5 | URxvt.internalBorder: 0 6 | URxvt.scrollBar: false 7 | URxvt.letterSpace: -1 8 | URxvt.cursorColor: #f1f1f0 9 | URxvt.font: xft:Monofur:size=14, xft:IBM 3270:size=14, xft:Fira Mono:size=11, xft:Font Awesome 5 Free Solid:size=10 10 | !! Larger history limit 11 | urxvt.saveLines: 1000000 12 | 13 | !! Perl extensions 14 | urxvt.perl-ext-common: default,matcher,font-size,clipboard 15 | !! Open urls in browser with Control-Click 16 | urxvt.urlLauncher: /usr/bin/firefox 17 | urxvt.matcher.button: C1 18 | !! Change font size on Control-Plus/Minus 19 | URxvt.keysym.Control-0x2b: perl:font-size:increase 20 | URxvt.keysym.Control-0x2d: perl:font-size:decrease 21 | URxvt.copyCommand: xclip -i -selection clipboard 22 | URxvt.pasteCommand: xclip -o -selection clipboard 23 | URxvt.keysym.m-c: perl:clipboard:copy 24 | URxvt.keysym.m-v: perl:clipboard:paste 25 | 26 | ! YoRHa 27 | ! special 28 | *.foreground: #3c3836 29 | *.background: #f2e5bc 30 | *.cursorColor: #3c3836 31 | 32 | ! black 33 | *.color0: #fbf1c7 34 | *.color8: #928374 35 | 36 | ! red 37 | *.color1: #cc241d 38 | *.color9: #9d0006 39 | 40 | ! green 41 | *.color2: #98971a 42 | *.color10: #79740e 43 | 44 | ! yellow 45 | *.color3: #d79921 46 | *.color11: #b57614 47 | 48 | ! blue 49 | *.color4: #458588 50 | *.color12: #076678 51 | 52 | ! magenta 53 | *.color5: #b16286 54 | *.color13: #8f3f71 55 | 56 | ! cyan 57 | *.color6: #689d6a 58 | *.color14: #427b58 59 | 60 | ! white 61 | *.color7: #7c6f64 62 | *.color15: #3c3836 63 | 64 | ! Palenight 65 | ! special 66 | ! *.foreground: #eceff1 67 | ! *.background: #292d3e 68 | ! *.cursorColor: #eceff1 69 | ! 70 | ! ! black 71 | ! *.color0: #546e7a 72 | ! *.color8: #546e7a 73 | ! 74 | ! ! red 75 | ! *.color1: #ff5370 76 | ! *.color9: #ff5370 77 | ! 78 | ! ! green 79 | ! *.color2: #c3e88d 80 | ! *.color10: #c3e88d 81 | ! 82 | ! ! yellow 83 | ! *.color3: #ffcb6b 84 | ! *.color11: #ffcb6b 85 | ! 86 | ! ! blue 87 | ! *.color4: #82aaff 88 | ! *.color12: #82aaff 89 | ! 90 | ! ! magenta 91 | ! *.color5: #c792ea 92 | ! *.color13: #c792ea 93 | ! 94 | ! ! cyan 95 | ! *.color6: #89ddff 96 | ! *.color14: #89ddff 97 | ! 98 | ! ! white 99 | ! *.color7: #ffffff 100 | ! *.color15: #ffffff 101 | 102 | 103 | ! Black color that will not be affected by bold highlighting. 104 | *.color66: #000000 105 | *color66: #000000 106 | 107 | -------------------------------------------------------------------------------- /old_rice/.config/bat/config: -------------------------------------------------------------------------------- 1 | --theme="base16" 2 | -------------------------------------------------------------------------------- /old_rice/.config/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | alignment = left 3 | allow_markup = yes 4 | bounce_freq = 0 5 | browser = /usr/bin/firefox --new-tab 6 | dmenu = /usr/bin/dmenu -fn "Monofur:size=14" -nb "#292d3e" -nb "#292d3e" -nf "#eceff1" -sf "#292d3e" -sb "#c3e88d" -p dunst: 7 | follow = none 8 | font = IBM 3270 12 9 | format = "%a\n%s\n%b" 10 | icon_folders = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/:/usr/share/icons/Adwaita/16x16/apps/ 11 | # geometry [{width}]x{height}][+/-{x}+/-{y}] 12 | geometry = "300x8-9+30" 13 | history_length = 20 14 | horizontal_padding = 8 15 | idle_threshold = 120 16 | ignore_newline = no 17 | indicate_hidden = yes 18 | icons_show = left 19 | show_icons = yes 20 | line_height = 0 21 | monitor = 0 22 | padding = 5 23 | separator_color = frame 24 | separator_height = 1 25 | show_age_threshold = 60 26 | show_indicators = yes 27 | shrink = no 28 | sort = yes 29 | startup_notification = false 30 | sticky_history = no 31 | transparency = 0 32 | word_wrap = no 33 | 34 | [frame] 35 | width = 2 36 | color = "#3c3836" 37 | 38 | [shortcuts] 39 | close = mod4+x 40 | close_all = mod4+ctrl+x 41 | history = mod4+grave 42 | context = ctrl+shift+period 43 | 44 | [urgency_low] 45 | background = "#f2e5bc" 46 | foreground = "#3c3836" 47 | timeout = 8 48 | 49 | [urgency_normal] 50 | background = "#f2e5bc" 51 | foreground = "#3c3836" 52 | timeout = 10 53 | 54 | [urgency_critical] 55 | background = "#ff5370" 56 | foreground = "#3c3836" 57 | timeout = 13 58 | 59 | -------------------------------------------------------------------------------- /old_rice/.config/pulseaudio-ctl/config: -------------------------------------------------------------------------------- 1 | # 2 | # $HOME/.config/pulseaudio-ctl/config 3 | # 4 | 5 | # The default setting is for pulseaudio-ctl to NOT increase to volume level 6 | # above 100 % but Some users may wish exceed this level. If this describes 7 | # your use case, uncomment the UPPER_THRESHOLD variable below setting it to 8 | # the new upper threshold. 9 | # 10 | UPPER_THRESHOLD=100 11 | 12 | # Push output through libnotify. Set to any value to enable this feature 13 | # and note that you must have /usr/bin/notify-send to use this. On Arch 14 | # libnotify provides this. Other distros may not name it as such. 15 | # 16 | #NOTIFY=yes 17 | 18 | # Show a graphical progress-bar type visualization of the volume level in 19 | # libnotify. No setting or commented out will show a simply percentage but 20 | # a setting will convert the percentage to a progress-bar in libnotify. 21 | # 22 | #BARCHART=yes 23 | 24 | # Use KDE OSD notification. Set to any value to enable this feature. 25 | #KDE_OSD=yes 26 | -------------------------------------------------------------------------------- /old_rice/.config/ranger/commands.py: -------------------------------------------------------------------------------- 1 | # This is a sample commands.py. You can add your own commands here. 2 | # 3 | # Please refer to commands_full.py for all the default commands and a complete 4 | # documentation. Do NOT add them all here, or you may end up with defunct 5 | # commands when upgrading ranger. 6 | 7 | # A simple command for demonstration purposes follows. 8 | # ----------------------------------------------------------------------------- 9 | 10 | from __future__ import (absolute_import, division, print_function) 11 | 12 | # You can import any python module as needed. 13 | import os 14 | 15 | # You always need to import ranger.api.commands here to get the Command class: 16 | from ranger.api.commands import Command 17 | 18 | 19 | # Any class that is a subclass of "Command" will be integrated into ranger as a 20 | # command. Try typing ":my_edit" in ranger! 21 | class my_edit(Command): 22 | # The so-called doc-string of the class will be visible in the built-in 23 | # help that is accessible by typing "?c" inside ranger. 24 | """:my_edit 25 | 26 | A sample command for demonstration purposes that opens a file in an editor. 27 | """ 28 | 29 | # The execute method is called when you run this command in ranger. 30 | def execute(self): 31 | # self.arg(1) is the first (space-separated) argument to the function. 32 | # This way you can write ":my_edit somefilename". 33 | if self.arg(1): 34 | # self.rest(1) contains self.arg(1) and everything that follows 35 | target_filename = self.rest(1) 36 | else: 37 | # self.fm is a ranger.core.filemanager.FileManager object and gives 38 | # you access to internals of ranger. 39 | # self.fm.thisfile is a ranger.container.file.File object and is a 40 | # reference to the currently selected file. 41 | target_filename = self.fm.thisfile.path 42 | 43 | # This is a generic function to print text in ranger. 44 | self.fm.notify("Let's edit the file " + target_filename + "!") 45 | 46 | # Using bad=True in fm.notify allows you to print error messages: 47 | if not os.path.exists(target_filename): 48 | self.fm.notify("The given file does not exist!", bad=True) 49 | return 50 | 51 | # This executes a function from ranger.core.acitons, a module with a 52 | # variety of subroutines that can help you construct commands. 53 | # Check out the source, or run "pydoc ranger.core.actions" for a list. 54 | self.fm.edit_file(target_filename) 55 | 56 | # The tab method is called when you press tab, and should return a list of 57 | # suggestions that the user will tab through. 58 | # tabnum is 1 for and -1 for by default 59 | def tab(self, tabnum): 60 | # This is a generic tab-completion function that iterates through the 61 | # content of the current directory. 62 | return self._tab_directory_content() 63 | -------------------------------------------------------------------------------- /old_rice/.config/ranger/scope.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o noclobber -o noglob -o nounset -o pipefail 4 | IFS=$'\n' 5 | 6 | # If the option `use_preview_script` is set to `true`, 7 | # then this script will be called and its output will be displayed in ranger. 8 | # ANSI color codes are supported. 9 | # STDIN is disabled, so interactive scripts won't work properly 10 | 11 | # This script is considered a configuration file and must be updated manually. 12 | # It will be left untouched if you upgrade ranger. 13 | 14 | # Meanings of exit codes: 15 | # code | meaning | action of ranger 16 | # -----+------------+------------------------------------------- 17 | # 0 | success | Display stdout as preview 18 | # 1 | no preview | Display no preview at all 19 | # 2 | plain text | Display the plain content of the file 20 | # 3 | fix width | Don't reload when width changes 21 | # 4 | fix height | Don't reload when height changes 22 | # 5 | fix both | Don't ever reload 23 | # 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview 24 | # 7 | image | Display the file directly as an image 25 | 26 | # Script arguments 27 | FILE_PATH="${1}" # Full path of the highlighted file 28 | PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) 29 | PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) 30 | IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview 31 | PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. 32 | 33 | FILE_EXTENSION="${FILE_PATH##*.}" 34 | FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]') 35 | 36 | # Settings 37 | HIGHLIGHT_SIZE_MAX=262143 # 256KiB 38 | HIGHLIGHT_TABWIDTH=8 39 | HIGHLIGHT_STYLE='pablo' 40 | PYGMENTIZE_STYLE='autumn' 41 | 42 | 43 | handle_extension() { 44 | case "${FILE_EXTENSION_LOWER}" in 45 | # Archive 46 | a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ 47 | rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) 48 | atool --list -- "${FILE_PATH}" && exit 5 49 | bsdtar --list --file "${FILE_PATH}" && exit 5 50 | exit 1;; 51 | rar) 52 | # Avoid password prompt by providing empty password 53 | unrar lt -p- -- "${FILE_PATH}" && exit 5 54 | exit 1;; 55 | 7z) 56 | # Avoid password prompt by providing empty password 57 | 7z l -p -- "${FILE_PATH}" && exit 5 58 | exit 1;; 59 | 60 | # PDF 61 | pdf) 62 | # Preview as text conversion 63 | pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5 64 | mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5 65 | exiftool "${FILE_PATH}" && exit 5 66 | exit 1;; 67 | 68 | # BitTorrent 69 | torrent) 70 | transmission-show -- "${FILE_PATH}" && exit 5 71 | exit 1;; 72 | 73 | # OpenDocument 74 | odt|ods|odp|sxw) 75 | # Preview as text conversion 76 | odt2txt "${FILE_PATH}" && exit 5 77 | exit 1;; 78 | 79 | # HTML 80 | htm|html|xhtml) 81 | # Preview as text conversion 82 | w3m -dump "${FILE_PATH}" && exit 5 83 | lynx -dump -- "${FILE_PATH}" && exit 5 84 | elinks -dump "${FILE_PATH}" && exit 5 85 | ;; # Continue with next handler on failure 86 | esac 87 | } 88 | 89 | handle_image() { 90 | local mimetype="${1}" 91 | case "${mimetype}" in 92 | # SVG 93 | # image/svg+xml) 94 | # convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 95 | # exit 1;; 96 | 97 | # Image 98 | image/*) 99 | local orientation 100 | orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" 101 | # If orientation data is present and the image actually 102 | # needs rotating ("1" means no rotation)... 103 | if [[ -n "$orientation" && "$orientation" != 1 ]]; then 104 | # ...auto-rotate the image according to the EXIF data. 105 | convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 106 | fi 107 | 108 | # `w3mimgdisplay` will be called for all images (unless overriden as above), 109 | # but might fail for unsupported types. 110 | exit 7;; 111 | 112 | # Video 113 | # video/*) 114 | # # Thumbnail 115 | # ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 116 | # exit 1;; 117 | # PDF 118 | # application/pdf) 119 | # pdftoppm -f 1 -l 1 \ 120 | # -scale-to-x 1920 \ 121 | # -scale-to-y -1 \ 122 | # -singlefile \ 123 | # -jpeg -tiffcompression jpeg \ 124 | # -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ 125 | # && exit 6 || exit 1;; 126 | 127 | # Preview archives using the first image inside. 128 | # (Very useful for comic book collections for example.) 129 | # application/zip|application/x-rar|application/x-7z-compressed|\ 130 | # application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) 131 | # local fn=""; local fe="" 132 | # local zip=""; local rar=""; local tar=""; local bsd="" 133 | # case "${mimetype}" in 134 | # application/zip) zip=1 ;; 135 | # application/x-rar) rar=1 ;; 136 | # application/x-7z-compressed) ;; 137 | # *) tar=1 ;; 138 | # esac 139 | # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ 140 | # { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \ 141 | # { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \ 142 | # { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return 143 | # 144 | # fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \ 145 | # [ print(l, end='') for l in sys.stdin if \ 146 | # (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\ 147 | # sort -V | head -n 1) 148 | # [ "$fn" = "" ] && return 149 | # [ "$bsd" ] && fn=$(printf '%b' "$fn") 150 | # 151 | # [ "$tar" ] && tar --extract --to-stdout \ 152 | # --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6 153 | # fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g') 154 | # [ "$bsd" ] && bsdtar --extract --to-stdout \ 155 | # --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6 156 | # [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}" 157 | # [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \ 158 | # "${IMAGE_CACHE_PATH}" && exit 6 159 | # [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \ 160 | # "${IMAGE_CACHE_PATH}" && exit 6 161 | # [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" 162 | # ;; 163 | esac 164 | } 165 | 166 | handle_mime() { 167 | local mimetype="${1}" 168 | case "${mimetype}" in 169 | # Text 170 | text/* | */xml) 171 | # Syntax highlight 172 | if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then 173 | exit 2 174 | fi 175 | if [[ "$( tput colors )" -ge 256 ]]; then 176 | local pygmentize_format='terminal256' 177 | local highlight_format='xterm256' 178 | else 179 | local pygmentize_format='terminal' 180 | local highlight_format='ansi' 181 | fi 182 | highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \ 183 | --style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5 184 | # pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5 185 | exit 2;; 186 | 187 | # Image 188 | image/*) 189 | # Preview as text conversion 190 | # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 191 | exiftool "${FILE_PATH}" && exit 5 192 | exit 1;; 193 | 194 | # Video and audio 195 | video/* | audio/*) 196 | mediainfo "${FILE_PATH}" && exit 5 197 | exiftool "${FILE_PATH}" && exit 5 198 | exit 1;; 199 | esac 200 | } 201 | 202 | handle_fallback() { 203 | echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 204 | exit 1 205 | } 206 | 207 | 208 | MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" 209 | if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then 210 | handle_image "${MIMETYPE}" 211 | fi 212 | handle_extension 213 | handle_mime "${MIMETYPE}" 214 | handle_fallback 215 | 216 | exit 1 217 | -------------------------------------------------------------------------------- /old_rice/.config/termite/config: -------------------------------------------------------------------------------- 1 | [options] 2 | allow_bold = true 3 | # font = IBM 3270 14 4 | font = monofur 15 5 | # font = VT323 15 6 | 7 | # YoRHa 8 | [colors] 9 | background = #f2e5bc 10 | foreground = #3c3836 11 | foreground_bold = #3c3836 12 | 13 | # light0 + gray 14 | color0 = #fbf1c7 15 | color8 = #928374 16 | 17 | # neutral_red + faded_red 18 | color1 = #cc241d 19 | color9 = #9d0006 20 | 21 | # neutral_green + faded_green 22 | color2 = #98971a 23 | color10 = #79740e 24 | 25 | # neutral_yellow + faded_yellow 26 | color3 = #d79921 27 | color11 = #b57614 28 | 29 | # neutral_blue + faded_blue 30 | color4 = #458588 31 | color12 = #076678 32 | 33 | # neutral_purple + faded_purple 34 | color5 = #b16286 35 | color13 = #8f3f71 36 | 37 | # neutral_aqua + faded_aqua 38 | color6 = #689d6a 39 | color14 = #427b58 40 | 41 | # dark4 + dark1 42 | color7 = #7c6f64 43 | color15 = #3c3836 44 | 45 | # Palenight 46 | # [colors] 47 | # 48 | # # special 49 | # foreground = #eceff1 50 | # foreground_bold = #eceff1 51 | # cursor = #eceff1 52 | # background = #292d3e 53 | # 54 | # # black 55 | # color0 = #546e7a 56 | # color8 = #546e7a 57 | # 58 | # # red 59 | # color1 = #ff5370 60 | # color9 = #ff5370 61 | # 62 | # # green 63 | # color2 = #c3e88d 64 | # color10 = #c3e88d 65 | # 66 | # # yellow 67 | # color3 = #ffcb6b 68 | # color11 = #ffcb6b 69 | # 70 | # # blue 71 | # color4 = #82aaff 72 | # color12 = #82aaff 73 | # 74 | # # magenta 75 | # color5 = #c792ea 76 | # color13 = #c792ea 77 | # 78 | # # cyan 79 | # color6 = #89ddff 80 | # color14 = #89ddff 81 | # 82 | # # white 83 | # color7 = #ffffff 84 | # color15 = #ffffff 85 | # 86 | -------------------------------------------------------------------------------- /old_rice/.config/vis/colors/dracula: -------------------------------------------------------------------------------- 1 | #f8f8f2 2 | #282a36 3 | #000000 4 | #4d4d4d 5 | #ff5555 6 | #ff6e67 7 | #50fa7b 8 | #5af78e 9 | #f1fa8c 10 | #f4f99d 11 | #bd93f9 12 | #caa9fa 13 | #ff79c6 14 | #ff92d0 15 | #8be9fd 16 | #9aedfe 17 | #bfbfbf 18 | #e6e6e6 19 | 20 | -------------------------------------------------------------------------------- /old_rice/.config/vis/colors/gruvbox: -------------------------------------------------------------------------------- 1 | #f2e5bc 2 | #7c6f64 3 | #928374 4 | #3c3836 5 | #cc241d 6 | #9d0006 7 | #98971a 8 | #79740e 9 | #d79921 10 | #b57614 11 | #458588 12 | #076678 13 | #b16286 14 | #8f3f71 15 | #689d6a 16 | #427b58 17 | -------------------------------------------------------------------------------- /old_rice/.config/vis/colors/material: -------------------------------------------------------------------------------- 1 | #eceff1 2 | #292d3e 3 | #546e7a 4 | #ff5370 5 | #c3e88d 6 | #ffcb6b 7 | #82aaff 8 | #c792ea 9 | #89ddff 10 | #ffffff 11 | 12 | -------------------------------------------------------------------------------- /old_rice/.config/vis/colors/rei: -------------------------------------------------------------------------------- 1 | #2a2e38 2 | #6d7b8b 3 | #d08785 4 | #fdf8ce 5 | #f8cc7d 6 | #6f98b3 7 | #fcdbd9 8 | #04f0f1 9 | #f0fdff 10 | -------------------------------------------------------------------------------- /old_rice/.config/vis/config: -------------------------------------------------------------------------------- 1 | colors.scheme=gruvbox 2 | visualizer.spectrum.bar.width=2 3 | visualizer.spectrum.bar.spacing=1 4 | -------------------------------------------------------------------------------- /old_rice/.config/vis/vis.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/old_rice/.config/vis/vis.log -------------------------------------------------------------------------------- /old_rice/.config/zathura/zathurarc: -------------------------------------------------------------------------------- 1 | # Disable statusbar. Default is "s" 2 | set guioptions "" 3 | # Show a tilde instead of the full home path 4 | set statusbar-home-tilde "true" 5 | set statusbar-h-padding 0 6 | set statusbar-v-padding 0 7 | set page-padding 2 8 | set selection-clipboard clipboard 9 | map K zoom in 10 | map J zoom out 11 | map u scroll half-up 12 | map d scroll half-down 13 | map D toggle_page_mode 14 | set recolor true 15 | set default-bg "#292d3e" 16 | set default-fg "#eceff1" 17 | set statusbar-bg "#292d3e" 18 | set statusbar-fg "#eceff1" 19 | set recolor-darkcolor "#eceff1" 20 | set recolor-lightcolor "#292d3e" 21 | -------------------------------------------------------------------------------- /old_rice/.gitignore: -------------------------------------------------------------------------------- 1 | */* 2 | 3 | !guides/* 4 | !scripts/* 5 | !wallpapers/* 6 | !.vim/* 7 | !.config/* 8 | !.fonts/* 9 | 10 | !.vim/bundle/vim_modules.sh 11 | 12 | !dwm/config.h 13 | !dwm/patches/ 14 | !slock/config.h 15 | !slstatus/config.h 16 | !st/config.h 17 | -------------------------------------------------------------------------------- /old_rice/.vim/.netrwhist: -------------------------------------------------------------------------------- 1 | let g:netrw_dirhistmax =10 2 | let g:netrw_dirhist_cnt =9 3 | let g:netrw_dirhist_1='/home/mark/.config/zathura/zathura' 4 | let g:netrw_dirhist_2='/usr/share/dbus-1/services' 5 | let g:netrw_dirhist_3='/home/mark/Code/go/src/github.com/ameyrk99/gophercises_quiz' 6 | let g:netrw_dirhist_4='/home/mark/Code/go/src/github.com/ameyrk99/goexp/_examples' 7 | let g:netrw_dirhist_5='/home/mark/Code/go/src/github.com/ameyrk99/sony_screensaver' 8 | let g:netrw_dirhist_6='/home/mark/Code/go/src/github.com/ameyrk99/goexp' 9 | let g:netrw_dirhist_7='/home/mark/Code/go/src/github.com/ameyrk99/the_game' 10 | let g:netrw_dirhist_8='/home/mark/Code/go/src/github.com/ameyrk99/gophercises_quiz' 11 | let g:netrw_dirhist_9='/home/mark/.dwm/scripts' 12 | -------------------------------------------------------------------------------- /old_rice/.vim/.ycm_extra_conf.py: -------------------------------------------------------------------------------- 1 | # Partially stolen from https://bitbucket.org/mblum/libgp/src/2537ea7329ef/.ycm_extra_conf.py 2 | import os 3 | import ycm_core 4 | 5 | # These are the compilation flags that will be used in case there's no 6 | # compilation database set (by default, one is not set). 7 | # CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR. 8 | flags = [ 9 | '-Wall', 10 | '-Wextra', 11 | '-Werror', 12 | '-Wno-long-long', 13 | '-Wno-variadic-macros', 14 | '-fexceptions', 15 | # THIS IS IMPORTANT! Without a "-std=" flag, clang won't know which 16 | # language to use when compiling headers. So it will guess. Badly. So C++ 17 | # headers will be compiled as C headers. You don't want that so ALWAYS specify 18 | # a "-std=". 19 | # For a C project, you would set this to something like 'c99' instead of 20 | # 'c++11'. 21 | '-std=c++14', 22 | # ...and the same thing goes for the magic -x option which specifies the 23 | # language that the files to be compiled are written in. This is mostly 24 | # relevant for c++ headers. 25 | # For a C project, you would set this to 'c' instead of 'c++'. 26 | '-x', 'c++', 27 | # This path will only work on OS X, but extra paths that don't exist are not 28 | # harmful 29 | '-isystem', '/System/Library/Frameworks/Python.framework/Headers', 30 | '-isystem', '/usr/local/include', 31 | '-isystem', '/usr/local/include/eigen3', 32 | '-I', 'include', 33 | '-I.', 34 | ] 35 | 36 | # Set this to the absolute path to the folder (NOT the file!) containing the 37 | # compile_commands.json file to use that instead of 'flags'. See here for 38 | # more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html 39 | # 40 | # Most projects will NOT need to set this to anything; you can just change the 41 | # 'flags' list of compilation flags. Notice that YCM itself uses that approach. 42 | compilation_database_folder = '' 43 | 44 | if compilation_database_folder: 45 | database = ycm_core.CompilationDatabase( compilation_database_folder ) 46 | else: 47 | database = None 48 | 49 | 50 | def DirectoryOfThisScript(): 51 | return os.path.dirname( os.path.abspath( __file__ ) ) 52 | 53 | 54 | def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): 55 | if not working_directory: 56 | return list( flags ) 57 | new_flags = [] 58 | make_next_absolute = False 59 | path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] 60 | for flag in flags: 61 | new_flag = flag 62 | 63 | if make_next_absolute: 64 | make_next_absolute = False 65 | if not flag.startswith( '/' ): 66 | new_flag = os.path.join( working_directory, flag ) 67 | 68 | for path_flag in path_flags: 69 | if flag == path_flag: 70 | make_next_absolute = True 71 | break 72 | 73 | if flag.startswith( path_flag ): 74 | path = flag[ len( path_flag ): ] 75 | new_flag = path_flag + os.path.join( working_directory, path ) 76 | break 77 | 78 | if new_flag: 79 | new_flags.append( new_flag ) 80 | return new_flags 81 | 82 | 83 | def FlagsForFile( filename ): 84 | if database: 85 | # Bear in mind that compilation_info.compiler_flags_ does NOT return a 86 | # python list, but a "list-like" StringVec object 87 | compilation_info = database.GetCompilationInfoForFile( filename ) 88 | final_flags = MakeRelativePathsInFlagsAbsolute( 89 | compilation_info.compiler_flags_, 90 | compilation_info.compiler_working_dir_ ) 91 | else: 92 | # relative_to = DirectoryOfThisScript() 93 | relative_to = os.path.dirname(os.path.abspath(filename)) 94 | final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) 95 | 96 | return { 97 | 'flags': final_flags, 98 | 'do_cache': True 99 | } 100 | 101 | -------------------------------------------------------------------------------- /old_rice/.vim/autoload/pathogen.vim: -------------------------------------------------------------------------------- 1 | " pathogen.vim - path option manipulation 2 | " Maintainer: Tim Pope 3 | " Version: 2.4 4 | 5 | " Install in ~/.vim/autoload (or ~\vimfiles\autoload). 6 | " 7 | " For management of individually installed plugins in ~/.vim/bundle (or 8 | " ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your 9 | " .vimrc is the only other setup necessary. 10 | " 11 | " The API is documented inline below. 12 | 13 | if exists("g:loaded_pathogen") || &cp 14 | finish 15 | endif 16 | let g:loaded_pathogen = 1 17 | 18 | " Point of entry for basic default usage. Give a relative path to invoke 19 | " pathogen#interpose() or an absolute path to invoke pathogen#surround(). 20 | " Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all 21 | " subdirectories inside "bundle" inside all directories in the runtime path. 22 | " If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}" 23 | " on versions of Vim without native package support. 24 | function! pathogen#infect(...) abort 25 | if a:0 26 | let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")') 27 | else 28 | let paths = ['bundle/{}', 'pack/{}/start/{}'] 29 | endif 30 | if has('packages') 31 | call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"') 32 | endif 33 | let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$' 34 | for path in filter(copy(paths), 'v:val =~# static') 35 | call pathogen#surround(path) 36 | endfor 37 | for path in filter(copy(paths), 'v:val !~# static') 38 | if path =~# '^\%([$~\\/]\|\w:[\\/]\)' 39 | call pathogen#surround(path) 40 | else 41 | call pathogen#interpose(path) 42 | endif 43 | endfor 44 | call pathogen#cycle_filetype() 45 | if pathogen#is_disabled($MYVIMRC) 46 | return 'finish' 47 | endif 48 | return '' 49 | endfunction 50 | 51 | " Split a path into a list. 52 | function! pathogen#split(path) abort 53 | if type(a:path) == type([]) | return a:path | endif 54 | if empty(a:path) | return [] | endif 55 | let split = split(a:path,'\\\@]','\\&','') 250 | endif 251 | endfunction 252 | 253 | " Like findfile(), but hardcoded to use the runtimepath. 254 | function! pathogen#runtime_findfile(file,count) abort 255 | let rtp = pathogen#join(1,pathogen#split(&rtp)) 256 | let file = findfile(a:file,rtp,a:count) 257 | if file ==# '' 258 | return '' 259 | else 260 | return fnamemodify(file,':p') 261 | endif 262 | endfunction 263 | 264 | " vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': 265 | -------------------------------------------------------------------------------- /old_rice/.vim/bundle/vim_modules.sh: -------------------------------------------------------------------------------- 1 | git clone https://github.com/w0rp/ale.git 2 | git clone https://github.com/jiangmiao/auto-pairs.git 3 | git clone https://github.com/lilydjwg/colorizer.git 4 | git clone https://github.com/junegunn/goyo.vim.git 5 | git clone https://github.com/Yggdroot/indentLine.git 6 | git clone https://github.com/itchyny/lightline.vim.git 7 | git clone https://github.com/kaicataldo/material.vim.git 8 | git clone https://github.com/scrooloose/nerdcommenter.git 9 | git clone https://github.com/tmhedberg/SimpylFold.git 10 | git clone https://github.com/ervandew/supertab.git 11 | git clone https://github.com/vim-syntastic/syntastic.git 12 | git clone https://github.com/godlygeek/tabular.git 13 | git clone https://github.com/airblade/vim-gitgutter.git 14 | git clone https://github.com/terryma/vim-multiple-cursors.git 15 | git clone https://github.com/mhinz/vim-startify.git 16 | git clone https://github.com/Valloric/YouCompleteMe.git 17 | git clone https://github.com/fatih/vim-go.git 18 | git clone https://github.com/scrooloose/nerdtree.git 19 | -------------------------------------------------------------------------------- /old_rice/.vim/colors/2Bcolors.vim: -------------------------------------------------------------------------------- 1 | " Special 2 | let wallpaper = "/home/mark/Downloads/purge/wallhaven-242480.jpg" 3 | let background = "#111114" 4 | let foreground = "#e0e0e2" 5 | let cursor = "#e0e0e2" 6 | 7 | " Colors 8 | let color0 = "#111114" 9 | let color1 = "#636974" 10 | let color2 = "#A97774" 11 | let color3 = "#727986" 12 | let color4 = "#7B8493" 13 | let color5 = "#969AA5" 14 | let color6 = "#BAB8C2" 15 | let color7 = "#e0e0e2" 16 | let color8 = "#9c9c9e" 17 | let color9 = "#636974" 18 | let color10 = "#A97774" 19 | let color11 = "#727986" 20 | let color12 = "#7B8493" 21 | let color13 = "#969AA5" 22 | let color14 = "#BAB8C2" 23 | let color15 = "#e0e0e2" 24 | -------------------------------------------------------------------------------- /old_rice/.vim/colors/alabaster.vim: -------------------------------------------------------------------------------- 1 | " Vim colorscheme 2 | " Author: Alexander Gudulin 3 | " Maintainer: Alexander Gudulin 4 | " Notes: Based on Alabaster BG theme by Nikita Prokopov https://github.com/tonsky/sublime-scheme-alabaster/ 5 | 6 | set background=light 7 | 8 | highlight clear 9 | if exists("syntax_on") 10 | syntax reset 11 | endif 12 | let g:colors_name="alabaster" 13 | 14 | "---------------------------------------------------------- 15 | " -- local -- vim -- iterm2 -- tonsky | 16 | "---------------------------------------------------------- 17 | let s:none = "none" 18 | let s:black = "black" " normal black -- #000000 19 | let s:white = "white" " bright white -- #ffffff 20 | let s:magenta = "magenta" " bright magenta -- #f9e0ff 21 | let s:yellow = "yellow" " bright yellow -- #fffabc 22 | let s:red = "darkred" " normal red -- #ffe0e0 23 | let s:orange = "red" " bright red -- #ffbc5d 24 | let s:blue = "blue" " bright blue -- #dbf1ff 25 | let s:cyan = "cyan" " bright cyan -- #dbecb6 26 | let s:green = "green" " bright green -- #f1fadf 27 | let s:darkgreen = "darkgreen" " normal green -- #dbecb6 28 | 29 | " -------------------------------- 30 | " Editor settings 31 | " -------------------------------- 32 | exe "hi! Normal" "ctermfg=".s:black "ctermbg=".s:white "cterm=".s:none 33 | exe "hi! Cursor" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 34 | exe "hi! CursorLine" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 35 | exe "hi! LineNr" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 36 | exe "hi! CursorLineNR" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 37 | 38 | " ----------------- 39 | " - Number column - 40 | " ----------------- 41 | exe "hi! CursorColumn" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 42 | exe "hi! FoldColumn" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 43 | exe "hi! SignColumn" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 44 | exe "hi! Folded" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 45 | 46 | " ------------------------- 47 | " - Window/Tab delimiters - 48 | " ------------------------- 49 | exe "hi! VertSplit" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 50 | exe "hi! ColorColumn" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 51 | exe "hi! TabLine" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 52 | exe "hi! TabLineFill" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 53 | exe "hi! TabLineSel" "ctermfg=".s:none "ctermbg=".s:cyan "cterm=".s:none 54 | 55 | " ------------------------------- 56 | " - File Navigation / Searching - 57 | " ------------------------------- 58 | exe "hi! Directory" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 59 | exe "hi! Search" "ctermfg=".s:none "ctermbg=".s:orange "cterm=".s:none 60 | exe "hi! IncSearch" "ctermfg=".s:none "ctermbg=".s:orange "cterm=".s:none 61 | 62 | " ----------------- 63 | " - Prompt/Status - 64 | " ----------------- 65 | exe "hi! StatusLine" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 66 | exe "hi! StatusLineNC" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 67 | exe "hi! WildMenu" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 68 | exe "hi! Quesion" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 69 | exe "hi! Title" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 70 | exe "hi! ModeMsg" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 71 | exe "hi! MoreMsg" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 72 | 73 | " -------------- 74 | " - Visual aid - 75 | " -------------- 76 | exe "hi! MatchParen" "ctermfg=".s:none "ctermbg=".s:blue "cterm=".s:none 77 | exe "hi! Visual" "ctermfg=".s:none "ctermbg=".s:cyan "cterm=".s:none 78 | exe "hi! VisualNOS" "ctermfg=".s:none "ctermbg=".s:cyan "cterm=".s:none 79 | exe "hi! NonText" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 80 | 81 | exe "hi! Todo" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 82 | exe "hi! Underlined" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 83 | exe "hi! Error" "ctermfg=".s:black "ctermbg=".s:red "cterm=".s:none 84 | exe "hi! ErrorMsg" "ctermfg=".s:black "ctermbg=".s:red "cterm=".s:none 85 | exe "hi! WarningMsg" "ctermfg=".s:black "ctermbg=".s:yellow "cterm=".s:none 86 | exe "hi! Ignore" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 87 | exe "hi! SpecialKey" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 88 | 89 | " -------------------------------- 90 | " Variable types 91 | " -------------------------------- 92 | exe "hi! Constant" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 93 | exe "hi! String" "ctermfg=".s:none "ctermbg=".s:green "cterm=".s:none 94 | exe "hi! StringDelimiter" "ctermfg=".s:none "ctermbg=".s:green "cterm=".s:none 95 | exe "hi! Character" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 96 | exe "hi! Number" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 97 | exe "hi! Boolean" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 98 | exe "hi! Float" "ctermfg=".s:none "ctermbg=".s:magenta "cterm=".s:none 99 | 100 | exe "hi! Identifier" "ctermfg=".s:none "ctermbg=".s:blue "cterm=".s:none 101 | exe "hi! Function" "ctermfg=".s:none "ctermbg=".s:blue "cterm=".s:none 102 | 103 | exe "hi! jsVariableDef" "ctermfg=".s:none "ctermbg=".s:blue "cterm=".s:none 104 | 105 | " -------------------------------- 106 | " Language constructs 107 | " -------------------------------- 108 | exe "hi! Statement" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 109 | exe "hi! Conditional" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 110 | exe "hi! Repeat" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 111 | exe "hi! Label" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 112 | exe "hi! Operator" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 113 | exe "hi! Keyword" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 114 | exe "hi! Exception" "ctermfg=".s:none "ctermbg=".s:red "cterm=".s:none 115 | exe "hi! Comment" "ctermfg=".s:none "ctermbg=".s:yellow "cterm=".s:none 116 | 117 | exe "hi! Special" "ctermfg=".s:none "ctermbg=".s:darkgreen "cterm=".s:none 118 | exe "hi! SpecialChar" "ctermfg=".s:none "ctermbg=".s:darkgreen "cterm=".s:none 119 | exe "hi! Tag" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 120 | exe "hi! Delimiter" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 121 | exe "hi! SpecialComment" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 122 | exe "hi! Debug" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 123 | 124 | " ---------- 125 | " - C like - 126 | " ---------- 127 | exe "hi! PreProc" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 128 | exe "hi! Include" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 129 | exe "hi! Define" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 130 | exe "hi! Macro" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 131 | exe "hi! PreCondit" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 132 | 133 | exe "hi! Type" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 134 | exe "hi! StorageClass" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 135 | exe "hi! Structure" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 136 | exe "hi! Typedef" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 137 | 138 | " -------------------------------- 139 | " Diff 140 | " -------------------------------- 141 | exe "hi! DiffAdd" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 142 | exe "hi! DiffChange" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 143 | exe "hi! DiffDelete" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 144 | exe "hi! DiffText" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 145 | 146 | " -------------------------------- 147 | " Completion menu 148 | " -------------------------------- 149 | exe "hi! Pmenu" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 150 | exe "hi! PmenuSel" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 151 | exe "hi! PmenuSbar" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 152 | exe "hi! PmenuThumb" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 153 | 154 | " -------------------------------- 155 | " Spelling 156 | " -------------------------------- 157 | exe "hi! SpellBad" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 158 | exe "hi! SpellCap" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 159 | exe "hi! SpellLocal" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none 160 | exe "hi! SpellRare" "ctermfg=".s:none "ctermbg=".s:none "cterm=".s:none -------------------------------------------------------------------------------- /old_rice/.vim/colors/codeschool.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " Converted from my Textmate Code School theme using Coloration 3 | " http://astonj.com 4 | 5 | set background=dark 6 | highlight clear 7 | 8 | if exists("syntax_on") 9 | syntax reset 10 | endif 11 | 12 | let g:colors_name = "codeschool" 13 | 14 | hi Cursor ctermfg=16 ctermbg=145 cterm=NONE guifg=#182227 guibg=#9ea7a6 gui=NONE 15 | hi Visual ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#3f4b52 gui=NONE 16 | hi CursorLine ctermfg=NONE ctermbg=23 cterm=NONE guifg=NONE guibg=#2e373b gui=NONE 17 | hi CursorColumn ctermfg=NONE ctermbg=23 cterm=NONE guifg=NONE guibg=#2e373b gui=NONE 18 | hi ColorColumn ctermfg=NONE ctermbg=23 cterm=NONE guifg=NONE guibg=#2e373b gui=NONE 19 | hi LineNr ctermfg=102 ctermbg=23 cterm=NONE guifg=#84898c guibg=#2a343a gui=NONE 20 | hi VertSplit ctermfg=59 ctermbg=59 cterm=NONE guifg=#252c31 guibg=#252c31 gui=NONE 21 | hi MatchParen ctermfg=180 ctermbg=NONE cterm=underline guifg=#dda790 guibg=NONE gui=underline 22 | hi StatusLine ctermfg=231 ctermbg=59 cterm=bold guifg=#f0f0f0 guibg=#575e61 gui=bold 23 | hi StatusLineNC ctermfg=231 ctermbg=59 cterm=NONE guifg=#f0f0f0 guibg=#575e61 gui=NONE 24 | hi Pmenu ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE 25 | hi PmenuSel ctermfg=NONE ctermbg=59 cterm=NONE guifg=NONE guibg=#3f4b52 gui=NONE 26 | hi IncSearch ctermfg=16 ctermbg=107 cterm=NONE guifg=#182227 guibg=#8bb664 gui=NONE 27 | hi Search ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline 28 | hi Directory ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 29 | hi Folded ctermfg=247 ctermbg=16 cterm=NONE guifg=#9a9a9a guibg=#182227 gui=NONE 30 | 31 | hi Normal ctermfg=231 ctermbg=16 cterm=NONE guifg=#f0f0f0 guibg=#252c31 gui=NONE 32 | hi Boolean ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 33 | hi Character ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 34 | hi Comment ctermfg=247 ctermbg=NONE cterm=NONE guifg=#9a9a9a guibg=NONE gui=italic 35 | hi Conditional ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 36 | hi Constant ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 37 | hi Define ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 38 | hi DiffAdd ctermfg=231 ctermbg=64 cterm=bold guifg=#f0f0f0 guibg=#43820d gui=bold 39 | hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE guifg=#880708 guibg=NONE gui=NONE 40 | hi DiffChange ctermfg=231 ctermbg=23 cterm=NONE guifg=#f0f0f0 guibg=#1c3657 gui=NONE 41 | hi DiffText ctermfg=231 ctermbg=24 cterm=bold guifg=#f0f0f0 guibg=#204a87 gui=bold 42 | hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 43 | hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 44 | hi Float ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 45 | hi Function ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE 46 | hi Identifier ctermfg=113 ctermbg=NONE cterm=NONE guifg=#99cf50 guibg=NONE gui=NONE 47 | hi Keyword ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 48 | hi Label ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE 49 | hi NonText ctermfg=59 ctermbg=17 cterm=NONE guifg=#414e58 guibg=#232c31 gui=NONE 50 | hi Number ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 51 | hi Operator ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 52 | hi PreProc ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 53 | hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f0f0f0 guibg=NONE gui=NONE 54 | hi SpecialKey ctermfg=59 ctermbg=23 cterm=NONE guifg=#414e58 guibg=#252c31 gui=NONE 55 | hi Statement ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 56 | hi StorageClass ctermfg=113 ctermbg=NONE cterm=NONE guifg=#99cf50 guibg=NONE gui=NONE 57 | hi String ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE 58 | hi Tag ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE 59 | hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f0f0f0 guibg=NONE gui=bold 60 | hi Todo ctermfg=247 ctermbg=NONE cterm=inverse,bold guifg=#9a9a9a guibg=NONE gui=inverse,bold,italic 61 | hi Type ctermfg=153 ctermbg=NONE cterm=NONE guifg=#b5d8f6 guibg=NONE gui=NONE 62 | hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline 63 | hi rubyClass ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 64 | hi rubyFunction ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE 65 | hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 66 | hi rubySymbol ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 67 | hi rubyConstant ctermfg=146 ctermbg=NONE cterm=NONE guifg=#bfabcb guibg=NONE gui=NONE 68 | hi rubyStringDelimiter ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE 69 | hi rubyBlockParameter ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 70 | hi rubyInstanceVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 71 | hi rubyInclude ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 72 | hi rubyGlobalVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 73 | hi rubyRegexp ctermfg=179 ctermbg=NONE cterm=NONE guifg=#e9c062 guibg=NONE gui=NONE 74 | hi rubyRegexpDelimiter ctermfg=179 ctermbg=NONE cterm=NONE guifg=#e9c062 guibg=NONE gui=NONE 75 | hi rubyEscape ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 76 | hi rubyControl ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 77 | hi rubyClassVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 78 | hi rubyOperator ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 79 | hi rubyException ctermfg=180 ctermbg=NONE cterm=NONE guifg=#dda790 guibg=NONE gui=NONE 80 | hi rubyPseudoVariable ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 81 | hi rubyRailsUserClass ctermfg=146 ctermbg=NONE cterm=NONE guifg=#bfabcb guibg=NONE gui=NONE 82 | hi rubyRailsARAssociationMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE 83 | hi rubyRailsARMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE 84 | hi rubyRailsRenderMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE 85 | hi rubyRailsMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE 86 | hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 87 | hi erubyComment ctermfg=247 ctermbg=NONE cterm=NONE guifg=#9a9a9a guibg=NONE gui=italic 88 | hi erubyRailsMethod ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE 89 | hi htmlTag ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE 90 | hi htmlEndTag ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE 91 | hi htmlTagName ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE 92 | hi htmlArg ctermfg=111 ctermbg=NONE cterm=NONE guifg=#89bdff guibg=NONE gui=NONE 93 | hi htmlSpecialChar ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 94 | hi javaScriptFunction ctermfg=113 ctermbg=NONE cterm=NONE guifg=#99cf50 guibg=NONE gui=NONE 95 | hi javaScriptRailsFunction ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE 96 | hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 97 | hi yamlKey ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE 98 | hi yamlAnchor ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 99 | hi yamlAlias ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 100 | hi yamlDocumentHeader ctermfg=107 ctermbg=NONE cterm=NONE guifg=#8bb664 guibg=NONE gui=NONE 101 | hi cssURL ctermfg=74 ctermbg=NONE cterm=NONE guifg=#68a9eb guibg=NONE gui=NONE 102 | hi cssFunctionName ctermfg=186 ctermbg=NONE cterm=NONE guifg=#dad085 guibg=NONE gui=NONE 103 | hi cssColor ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 104 | hi cssPseudoClassId ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE 105 | hi cssClassName ctermfg=153 ctermbg=NONE cterm=NONE guifg=#bcdbff guibg=NONE gui=NONE 106 | hi cssValueLength ctermfg=68 ctermbg=NONE cterm=NONE guifg=#3c98d9 guibg=NONE gui=NONE 107 | hi cssCommonAttr ctermfg=151 ctermbg=NONE cterm=NONE guifg=#a7cfa3 guibg=NONE gui=NONE 108 | hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 109 | -------------------------------------------------------------------------------- /old_rice/.vim/colors/forgotten-dark.vim: -------------------------------------------------------------------------------- 1 | " forgotten-dark, a vim colourscheme by nightsense 2 | " 3 | " generated with a theme template adapted from 4 | " base16-vim (https://github.com/chriskempson/base16-vim) 5 | " by Chris Kempson (http://chriskempson.com) 6 | 7 | 8 | "=== SET COLOUR VARIABLES ===================================================== 9 | 10 | " GUI colours 11 | let s:g0 = '1d242b' 12 | let s:g1 = '2c333b' 13 | let s:g2 = '616b75' 14 | let s:g3 = '77808a' 15 | let s:g4 = '8b959e' 16 | let s:g5 = 'a3acb5' 17 | let s:g6 = 'dde6f0' 18 | let s:g7 = 'f0f8ff' 19 | let s:g8 = 'bf5858' 20 | let s:g9 = 'b56f45' 21 | let s:gA = 'ab8e38' 22 | let s:gB = '508a50' 23 | let s:gC = '458a8a' 24 | let s:gD = '557b9e' 25 | let s:gE = '8b6a9e' 26 | let s:gF = 'ab6a7a' 27 | 28 | " terminal colours 29 | let s:t0 = '00' 30 | let s:t3 = '08' 31 | let s:t5 = '07' 32 | let s:t7 = '15' 33 | let s:t8 = '01' 34 | let s:tA = '03' 35 | let s:tB = '02' 36 | let s:tC = '06' 37 | let s:tD = '04' 38 | let s:tE = '05' 39 | let s:t1 = '10' 40 | let s:t2 = '11' 41 | let s:t4 = '12' 42 | let s:t6 = '13' 43 | let s:t9 = '09' 44 | let s:tF = '14' 45 | 46 | " neovim colours 47 | if has('nvim') 48 | let g:terminal_color_0 = '#1d242b' 49 | let g:terminal_color_1 = '#bf5858' 50 | let g:terminal_color_2 = '#508a50' 51 | let g:terminal_color_3 = '#ab8e38' 52 | let g:terminal_color_4 = '#557b9e' 53 | let g:terminal_color_5 = '#8b6a9e' 54 | let g:terminal_color_6 = '#458a8a' 55 | let g:terminal_color_7 = '#a3acb5' 56 | let g:terminal_color_8 = '#77808a' 57 | let g:terminal_color_9 = '#b56f45' 58 | let g:terminal_color_10 = '#2c333b' 59 | let g:terminal_color_11 = '#616b75' 60 | let g:terminal_color_12 = '#8b959e' 61 | let g:terminal_color_13 = '#dde6f0' 62 | let g:terminal_color_14 = '#ab6a7a' 63 | let g:terminal_color_15 = '#f0f8ff' 64 | endif 65 | 66 | 67 | "=== OTHER PREPARATION ======================================================== 68 | 69 | " run theme-setting script if using terminal vim 70 | if filereadable(expand('~/.nightshell/forgotten-dark')) 71 | if !has('gui_running') 72 | execute 'silent !/bin/sh $HOME/.nightshell/forgotten-dark' 73 | endif 74 | endif 75 | 76 | " clear old theme 77 | hi clear 78 | syntax reset 79 | 80 | " set new theme 81 | set background=dark 82 | augroup NightsenseThemeSet 83 | autocmd! 84 | autocmd CursorMoved * execute 'if !exists("colors_name") | 85 | \ colorscheme forgotten-dark | endif' 86 | augroup END 87 | let colors_name = 'forgotten-dark' 88 | 89 | " highlighting function 90 | fun! h(x, gf, gb, cf, cb, a, s) 91 | if a:gf != '' | exe 'hi ' . a:x . ' guifg=#' . a:gf | endif 92 | if a:gb != '' | exe 'hi ' . a:x . ' guibg=#' . a:gb | endif 93 | if a:cf != '' | exe 'hi ' . a:x . ' ctermfg=' . a:cf | endif 94 | if a:cb != '' | exe 'hi ' . a:x . ' ctermbg=' . a:cb | endif 95 | if a:a != '' | exe 'hi ' . a:x . ' gui=' . a:a . ' cterm=' . a:a | endif 96 | if a:s != '' | exe 'hi ' . a:x . ' guisp=#' . a:s | endif 97 | endfun 98 | 99 | 100 | "=== BASIC HIGHLIGHTING ======================================================= 101 | 102 | " cursor + status line + selected tab 103 | cal h('Cursor' , s:g0 , s:g8 , s:t0 , s:t8 , 'none' , '' ) 104 | cal h('StatusLine' , s:g0 , s:g8 , s:t0 , s:t8 , 'none' , '' ) 105 | cal h('StatusLineTerm' , s:g0 , s:g8 , s:t0 , s:t8 , 'none' , '' ) 106 | cal h('TabLineSel' , s:g0 , s:g8 , s:t0 , s:t8 , 'none' , '' ) 107 | cal h('TermCursor' , s:g0 , s:g8 , s:t0 , s:t8 , 'none' , '' ) 108 | 109 | " line numbers 110 | cal h('CursorLineNr' , s:g0 , s:g3 , s:t0 , s:t3 , 'none' , '' ) 111 | cal h('LineNr' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 112 | 113 | " basic text 114 | cal h('Bold' , '' , '' , '' , '' , 'bold' , '' ) 115 | cal h('Directory' , s:g5 , '' , s:t5 , '' , 'bold' , '' ) 116 | cal h('Italic' , '' , '' , '' , '' , 'italic' , '' ) 117 | cal h('Normal' , s:g5 , s:g0 , s:t5 , s:t0 , 'none' , '' ) 118 | cal h('Underlined' , s:g5 , '' , s:t5 , '' , 'underline' , '' ) 119 | 120 | " commented-out text 121 | cal h('Comment' , s:g3 , '' , s:t3 , '' , 'none' , '' ) 122 | cal h('Conceal' , s:g3 , '' , s:t3 , '' , 'none' , '' ) 123 | cal h('EndOfBuffer' , s:g3 , '' , s:t3 , '' , 'none' , '' ) 124 | cal h('Ignore' , s:g3 , '' , s:t3 , '' , 'none' , '' ) 125 | cal h('NonText' , s:g3 , '' , s:t3 , '' , 'none' , '' ) 126 | 127 | " highlighted background 128 | cal h('ColorColumn' , '' , s:g1 , '' , s:t1 , 'none' , '' ) 129 | cal h('CursorColumn' , '' , s:g1 , '' , s:t1 , 'none' , '' ) 130 | cal h('CursorLine' , '' , s:g1 , '' , s:t1 , 'none' , '' ) 131 | cal h('QuickFixLine' , '' , s:g1 , '' , s:t1 , 'none' , '' ) 132 | cal h('StatusLineNC' , s:g5 , s:g1 , s:t5 , s:t1 , 'none' , '' ) 133 | cal h('StatusLineTermNC' , s:g5 , s:g1 , s:t5 , s:t1 , 'none' , '' ) 134 | cal h('TabLineFill' , '' , s:g1 , '' , s:t1 , 'none' , '' ) 135 | cal h('TermCursorNC' , '' , s:g1 , '' , s:t1 , 'none' , '' ) 136 | 137 | " muted text on highlighted background 138 | cal h('DiffChange' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 139 | cal h('FoldColumn' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 140 | cal h('Folded' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 141 | cal h('SignColumn' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 142 | cal h('TabLine' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 143 | cal h('VisualNOS' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 144 | 145 | " strongly highlighted background 146 | cal h('MatchParen' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) 147 | cal h('Pmenu' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) 148 | cal h('Visual' , s:g6 , s:g2 , s:t6 , s:t2 , 'none' , '' ) 149 | 150 | " selected menu item 151 | cal h('PmenuSel' , s:g0 , s:g5 , s:t0 , s:t5 , 'none' , '' ) 152 | cal h('WildMenu' , s:g0 , s:g6 , s:t0 , s:t6 , 'none' , '' ) 153 | 154 | " solid lines 155 | cal h('PmenuSbar' , s:g1 , s:g1 , s:t1 , s:t1 , 'none' , '' ) 156 | cal h('PmenuThumb' , s:g4 , s:g4 , s:t4 , s:t4 , 'none' , '' ) 157 | cal h('VertSplit' , s:g2 , s:g2 , s:t2 , s:t2 , 'none' , '' ) 158 | 159 | 160 | "=== ALERT/SYNTAX HIGHLIGHTING ================================================ 161 | 162 | " RED for warning elements 163 | cal h('DiffDelete' , s:g8 , s:g0 , s:t8 , s:t0 , 'reverse' , '' ) 164 | cal h('Error' , s:g8 , s:g0 , s:t8 , s:t0 , 'reverse' , '' ) 165 | cal h('ErrorMsg' , s:g8 , s:g0 , s:t8 , s:t0 , 'none' , '' ) 166 | cal h('SpellBad' , '' , '' , s:t0 , s:t8 , 'undercurl' , s:g8) 167 | cal h('TooLong' , s:g8 , '' , s:t8 , '' , 'none' , '' ) 168 | cal h('WarningMsg' , s:g8 , s:g0 , s:t8 , s:t0 , 'none' , '' ) 169 | 170 | " ORANGE for preliminary elements 171 | cal h('Define' , s:g9 , '' , s:t9 , '' , 'none' , '' ) 172 | cal h('IncSearch' , s:g9 , s:g0 , s:t9 , s:t0 , 'reverse' , '' ) 173 | cal h('Include' , s:g9 , '' , s:t9 , '' , 'none' , '' ) 174 | cal h('Macro' , s:g9 , '' , s:t9 , '' , 'none' , '' ) 175 | cal h('PreCondit' , s:g9 , '' , s:t9 , '' , 'none' , '' ) 176 | cal h('PreProc' , s:g9 , '' , s:t9 , '' , 'none' , '' ) 177 | cal h('SpellCap' , '' , '' , s:t0 , s:t9 , 'undercurl' , s:g9) 178 | cal h('Title' , s:g9 , '' , s:t9 , '' , 'none' , '' ) 179 | 180 | " YELLOW for highlighted elements 181 | cal h('DiffText' , s:gA , s:g0 , s:tA , s:t0 , 'reverse' , '' ) 182 | cal h('Search' , s:gA , s:g0 , s:tA , s:t0 , 'reverse' , '' ) 183 | cal h('Todo' , s:gA , s:g0 , s:tA , s:t0 , 'reverse' , '' ) 184 | 185 | " GREEN for action elements 186 | cal h('Conditional' , s:gB , '' , s:tB , '' , 'none' , '' ) 187 | cal h('DiffAdd' , s:gB , s:g0 , s:tB , s:t0 , 'reverse' , '' ) 188 | cal h('Exception' , s:gB , '' , s:tB , '' , 'none' , '' ) 189 | cal h('Keyword' , s:gB , '' , s:tB , '' , 'none' , '' ) 190 | cal h('Label' , s:gB , '' , s:tB , '' , 'none' , '' ) 191 | cal h('ModeMsg' , s:gB , '' , s:tB , '' , 'none' , '' ) 192 | cal h('MoreMsg' , s:gB , '' , s:tB , '' , 'none' , '' ) 193 | cal h('Operator' , s:gB , '' , s:tB , '' , 'none' , '' ) 194 | cal h('Question' , s:gB , '' , s:tB , '' , 'none' , '' ) 195 | cal h('Repeat' , s:gB , '' , s:tB , '' , 'none' , '' ) 196 | cal h('Statement' , s:gB , '' , s:tB , '' , 'none' , '' ) 197 | 198 | " TEAL for object types 199 | cal h('SpellLocal' , '' , '' , s:t0 , s:tC , 'undercurl' , s:gC) 200 | cal h('StorageClass' , s:gC , '' , s:tC , '' , 'none' , '' ) 201 | cal h('Structure' , s:gC , '' , s:tC , '' , 'none' , '' ) 202 | cal h('Type' , s:gC , '' , s:tC , '' , 'none' , '' ) 203 | cal h('Typedef' , s:gC , '' , s:tC , '' , 'none' , '' ) 204 | 205 | " BLUE for constants 206 | cal h('Boolean' , s:gD , '' , s:tD , '' , 'none' , '' ) 207 | cal h('Character' , s:gD , '' , s:tD , '' , 'none' , '' ) 208 | cal h('Constant' , s:gD , '' , s:tD , '' , 'none' , '' ) 209 | cal h('Float' , s:gD , '' , s:tD , '' , 'none' , '' ) 210 | cal h('Number' , s:gD , '' , s:tD , '' , 'none' , '' ) 211 | cal h('String' , s:gD , '' , s:tD , '' , 'none' , '' ) 212 | 213 | " PURPLE for special text 214 | cal h('Debug' , s:gE , '' , s:tE , '' , 'none' , '' ) 215 | cal h('Delimiter' , s:gE , '' , s:tE , '' , 'none' , '' ) 216 | cal h('Special' , s:gE , '' , s:tE , '' , 'none' , '' ) 217 | cal h('SpecialChar' , s:gE , '' , s:tE , '' , 'none' , '' ) 218 | cal h('SpecialComment' , s:gE , '' , s:tE , '' , 'none' , '' ) 219 | cal h('SpecialKey' , s:gE , '' , s:tE , '' , 'none' , '' ) 220 | cal h('SpellRare' , '' , '' , s:t0 , s:tE , 'undercurl' , s:gE) 221 | cal h('Tag' , s:gE , '' , s:tE , '' , 'none' , '' ) 222 | 223 | " PINK for object names 224 | cal h('Function' , s:gF , '' , s:tF , '' , 'none' , '' ) 225 | cal h('Identifier' , s:gF , '' , s:tF , '' , 'none' , '' ) 226 | 227 | 228 | "=== OPTIONS ================================================================== 229 | 230 | " disable highlighted CursorLineNr 231 | if exists('g:forgotten_dark_CursorLineNr') 232 | if g:forgotten_dark_CursorLineNr == 'off' 233 | cal h('CursorLineNr' , s:g4 , s:g1 , s:t4 , s:t1 , 'none' , '' ) 234 | endif 235 | endif 236 | 237 | " disable LineNr background altogether 238 | if exists('g:forgotten_dark_LineNr') 239 | if g:forgotten_dark_LineNr == 'off' 240 | cal h('CursorLineNr' , s:g4 , s:g0 , s:t4 , s:t0 , 'none' , '' ) 241 | cal h('LineNr' , s:g4 , s:g0 , s:t4 , s:t0 , 'none' , '' ) 242 | endif 243 | endif 244 | -------------------------------------------------------------------------------- /old_rice/.vim/vimty.vim: -------------------------------------------------------------------------------- 1 | function! Typewriter () 2 | let a:cursor_pos = getpos(".") 3 | let g:cx = a:cursor_pos[2] 4 | let g:cy = a:cursor_pos[1] 5 | let g:topline = line("w0") 6 | 7 | " Screen size. 8 | let mx = system("xrandr -q --current | head -n2 | tail -n1 | cut --delimiter=' ' -f4 | cut --delimiter='x' -f1") 9 | let my = system("xrandr -q --current | head -n2 | tail -n1 | cut --delimiter=' ' -f4 | cut --delimiter='x' -f2 | cut --delimiter='+' -f1") 10 | 11 | " Current X window ID 12 | let curwin = system("xdotool getactivewindow | head -n1 | awk '{printf $0}'") 13 | " Current X window w,h 14 | let winwidth = system("xwininfo -id " . curwin . " | grep Width | xargs | cut --delimiter=' ' -f2") 15 | let winheight = system("xwininfo -id " . curwin . " | grep Height | xargs | cut --delimiter=' ' -f2") 16 | 17 | " Figuring out character width&height 18 | let g:pxW = winwidth / &columns 19 | let g:pxH = winheight / &lines 20 | 21 | " Midpoint of screen 22 | let midX = mx / 2 23 | let midY = my / 2 24 | 25 | " Where the top-left of the window needs to be 26 | let left = midX - (g:pxW * (g:cx+4)) - (g:pxW / 2) 27 | let top = midY - (g:pxH * (g:cy - g:topline)) - (g:pxH / 2) 28 | 29 | " Set it! 30 | let k = system("i3-msg move window position".left."px ".top."px") 31 | 32 | call TypewriterMove() 33 | 34 | endfunction 35 | 36 | function! TypewriterMove() 37 | " Figure out the cursor delta from last positioning. 38 | let a:cursor_pos = getpos(".") 39 | let cx_new = a:cursor_pos[2] 40 | let cy_new = a:cursor_pos[1] 41 | let topline_new = line("w0") 42 | 43 | " Figure out the adjustment to the location of the window. 44 | let left = g:pxW * (cx_new - g:cx) 45 | let up = g:pxH * (cy_new - g:cy - topline_new + g:topline) 46 | 47 | " Account for negative 'leftness' 48 | if left > 0 49 | let k = system("i3-msg move window left ".left."px ") 50 | elseif left < 0 51 | let left = 0 - left 52 | let k = system("i3-msg move window right ".left."px ") 53 | endif 54 | 55 | " Account for negative 'topness' 56 | if up > 0 57 | let k = system("i3-msg move window up ".up."px ") 58 | elseif up < 0 59 | let up = 0 - up 60 | let k = system("i3-msg move window down ".up."px ") 61 | endif 62 | 63 | " Update values 64 | let g:cx = cx_new 65 | let g:cy = cy_new 66 | let g:topline = topline_new 67 | let g:left = left 68 | let g:up = up 69 | endfunction 70 | 71 | 72 | function! TypeText() 73 | " Doing anything here causes my Vim to go mad. 74 | " This is where it SHOULD go, though! 75 | 76 | " up = 1 ie move down one line 77 | "if g:up == g:pxH 78 | " DoQuietly paplay $HOME/Scripts/ding.wav 79 | " 80 | " left = 1 ie move right one column 81 | "if g:left == g:pxW 82 | " DoQuietly paplay $HOME/type.wav 83 | "endif 84 | endfunction 85 | 86 | 87 | call Typewriter() 88 | autocmd InsertEnter * :call Typewriter() 89 | autocmd VimResized * :call Typewriter() 90 | autocmd CursorMoved * :call TypewriterMove() 91 | autocmd CursorMovedI * :call TypewriterMove() 92 | autocmd TextChangedI * :call TypeText() 93 | -------------------------------------------------------------------------------- /old_rice/.vimrc: -------------------------------------------------------------------------------- 1 | " Vim config by Amey Khairnar 2 | 3 | execute pathogen#infect() 4 | 5 | set nocompatible 6 | 7 | set history=500 8 | 9 | " Base 16 theme to use terminal colors 10 | set background=light 11 | set termguicolors 12 | " colorscheme breezy 13 | colorscheme gruvbox 14 | " let g:material_theme_style = 'palenight' 15 | " let g:material_terminal_italics = 1 16 | 17 | filetype plugin on 18 | filetype indent on 19 | filetype on 20 | syntax on 21 | 22 | set autoread 23 | set hidden 24 | set nowrap 25 | set smartindent 26 | set autoindent 27 | set tabstop=4 28 | set shiftwidth=4 29 | set expandtab 30 | " set colorcolumn=100 31 | 32 | " Show matching brackets when text indicator is over them 33 | set showmatch 34 | " How many tenths of a second to blink when matching brackets 35 | set mat=2 36 | set number 37 | set wildmenu 38 | set ruler 39 | 40 | " For regular expressions turn magic on 41 | set magic 42 | 43 | " Add a bit extra margin to the left 44 | set foldcolumn=1 45 | 46 | "Vim will highlight searched words 47 | set hlsearch 48 | 49 | set ai "Auto indent 50 | set si "Smart indent 51 | set wrap "Wrap lines 52 | 53 | "Get backspace to work 54 | set backspace=indent,eol,start 55 | 56 | " Change shell 57 | set shell=/bin/zsh 58 | 59 | " Ignore compiled files 60 | set wildignore=*.o,*~,*.pyc 61 | 62 | " Return to last edit position when opening files 63 | au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif 64 | 65 | augroup litecorrect 66 | autocmd! 67 | autocmd FileType markdown,mkd call litecorrect#init() 68 | autocmd FileType textile call litecorrect#init() 69 | augroup END 70 | 71 | 72 | """""""""""""""""""""""""""""" 73 | " => Mapping 74 | """""""""""""""""""""""""""""" 75 | let mapleader= " " 76 | nmap w :w! " Fast saving 77 | nmap g :Goyo " Toggle goyo 78 | nmap ty :source ~/.vim/vimty.vim " Typewriter mode 79 | nmap m * " Find all the words below cursor 80 | " Replace stuff 81 | nmap r :%s/ 82 | " Fix indentation 83 | nmap i =i{ 84 | " Add lines without exiting normal" 85 | nmap ok 86 | 87 | "Copy to system clipboard 88 | noremap tsc "+y 89 | "Paste from system clipboard 90 | map fsp o"+Pk 91 | 92 | "Navigation between window panes 93 | nmap :wincmd k 94 | nmap :wincmd j 95 | nmap :wincmd h 96 | nmap :wincmd l 97 | 98 | "split 99 | set splitbelow 100 | set splitright 101 | nnoremap 102 | nnoremap 103 | nnoremap 104 | nnoremap 105 | 106 | " Pressing ss will toggle and untoggle spell checking 107 | map ss :setlocal spell! 108 | 109 | "cancel search with escape 110 | nnoremap ,, :nohlsearch 111 | 112 | " Using the Guides 113 | inoremap /<++>"_c4l 114 | inoremap 115 | vnoremap /<++>"_c4l 116 | vnoremap 117 | map /<++>"_c4l 118 | map 119 | 120 | """""""""""""""""""""""""""""" 121 | " => SimpleFold 122 | """""""""""""""""""""""""""""" 123 | set foldmethod=indent 124 | set foldlevel=99 125 | nnoremap F za 126 | let g:SimpylFold_docstring_preview=1 127 | 128 | """""""""""""""""""""""""""""" 129 | " => Status line 130 | """""""""""""""""""""""""""""" 131 | " Always show the status line 132 | set laststatus=2 133 | 134 | " set noshowmode 135 | 136 | " set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%04l,%04v][%p%%]\ [LEN=%L] 137 | 138 | let g:lightline = { 139 | \ 'colorscheme': 'gruvbox', 140 | \ 'active': { 141 | \ 'left': [ [ 'mode', 'paste' ], 142 | \ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ] 143 | \ }, 144 | \ 'component_function': { 145 | \ 'gitbranch': 'fugitive#head' 146 | \ }, 147 | \ } 148 | 149 | """""""""""""""""""""""""""""" 150 | " => Syntastic 151 | """""""""""""""""""""""""""""" 152 | let g:stntastic_alwayspopulate_loc_list=1 153 | let g:stntastic_auto_loc_list=1 154 | let g:stntastic_check_on_open=1 155 | let g:stntastic_check_on_wq=1 156 | 157 | """""""""""""""""""""""""""""" 158 | " => Nerd Tree 159 | """""""""""""""""""""""""""""" 160 | map f :NERDTreeToggle 161 | let NERDTreeMapActivateNode='' 162 | let NERDTreeShowHidden=1 163 | nmap j :NERDTreeFind 164 | "autocmd VimEnter * NERDTree 165 | "autocmd VimEnter * wincmd p 166 | 167 | """""""""""""""""""""""""""""" 168 | " => YouCompleteMe 169 | """""""""""""""""""""""""""""" 170 | let g:ycm_confirm_extra_conf = 0 171 | let g:ycm_global_ycm_extra_conf = "~/.vim/.ycm_extra_conf.py" 172 | let g:ycm_key_list_select_completion=[] 173 | let g:ycm_key_list_previous_completion=[] 174 | let g:ycm_error_symbol = '>>' 175 | let g:ycm_warning_symbol = '>' 176 | nnoremap yj :YcmCompleter GoToDefinitionElseDeclaration 177 | nnoremap yg :YcmCompleter GoTo 178 | nnoremap yi :YcmCompleter GoToImplementationElseDeclaration 179 | nnoremap yt :YcmCompleter GetTypeImprecise 180 | nnoremap yd :YcmCompleter GetDoc 181 | nnoremap yf :YcmCompleter FixIt 182 | nnoremap ys :YcmDiags 183 | nnoremap yD :YcmForceCompileAndDiagnostics 184 | nnoremap yR :YcmRestartServer 185 | 186 | """""""""""""""""""""""""""""" 187 | " => Multiple Cursors 188 | """""""""""""""""""""""""""""" 189 | let g:multi_cursor_use_default_mapping = 0 190 | let g:multi_cursor_start_word_key = '' 191 | let g:multi_cursor_select_all_word_key = 'fwa' 192 | let g:multi_cursor_start_key = 'g' 193 | let g:multi_cursor_select_all_key = 'g' 194 | let g:multi_cursor_next_key = '' 195 | let g:multi_cursor_prev_key = '' 196 | let g:multi_cursor_skip_key = '' 197 | let g:multi_cursor_quit_key = '' 198 | """""""""""""""""""""""""""""" 199 | " => NerdCommenter 200 | """""""""""""""""""""""""""""" 201 | let g:NERDSpaceDelims = 1 202 | let g:NERDCompactSexyComs = 1 203 | let g:NERDDefaultAlign = 'left' 204 | let g:NERDCommentEmptyLines = 1 205 | let g:NERDTrimTrailingWhitespace = 1 206 | let g:NERDToggleCheckAllLines = 1 207 | 208 | """""""""""""""""""""""""""""" 209 | " => Vim Markdown 210 | """""""""""""""""""""""""""""" 211 | let g:vim_markdown_conceal = 0 212 | 213 | let g:tex_conceal = "" 214 | 215 | " Tex 216 | let g:livepreview_previewer = 'zathura' 217 | 218 | " let vim_markdown_preview_github=1 219 | 220 | """""""""""""""""""""""""""""" 221 | " => Latex Files 222 | """""""""""""""""""""""""""""" 223 | autocmd FileType tex map \gs o\smel{<++>}{<++>}{<++>}0 224 | autocmd FileType tex map \go o\onln{<++>}{<++>}{<++>}0 225 | autocmd FileType tex map \tb i\textbf{<++>}0 226 | autocmd FileType tex map \ti i\textit{<++>}0 227 | autocmd FileType tex map \ss o\[\begin{split}\end{split}O<++> & = <++>jo\]3k$ 228 | autocmd FileType tex map \sm o\begin{minipage}<++>\end{minipage}\begin{minipage}<++>\end{minipage}5k$ 229 | autocmd FileType tex map l i\documentclass[<++>, margin=<++>]{<++>}\title{<++>}\author{<++>}\begin{document}\maketitle<++>\end{document}gg 230 | autocmd FileType tex map \sf :w!:!pdflatex % 231 | 232 | """""""""""""""""""""""""""""" 233 | " => C, C++ 234 | """""""""""""""""""""""""""""" 235 | autocmd FileType c,cpp set colorcolumn=100 236 | autocmd FileType c,cpp map \mi oint main(int argc, char** argv) {return 0;}3k$/main,,o 237 | autocmd FileType c,cpp map \fi o<++>(<++>) {return <++>;}3k$ 238 | autocmd FileType c,cpp map \if oif(<++>) {<++>}3k$ 239 | autocmd FileType c,cpp map \ie oif(<++>) {<++>} else {<++>}6k$ 240 | autocmd FileType c,cpp map \lf ofor(<++>; <++>; <++>) {<++>}3k$ 241 | autocmd FileType c,cpp map \lw owhile(<++>) {<++>}3k$ 242 | autocmd FileType c,cpp map \ld odo {<++>} while(<++>);2k$ 243 | autocmd FileType c,cpp map \sp oprintf("<++>", <++>);0 244 | autocmd FileType c,cpp map \si o#include <<++>>0 245 | autocmd FileType c,cpp map \cf o/*=== FUNCTION ================================================================== Name: <++>Description: <++>0wlxxxxxxxo=================================================================================0wlxxA/5k$ 246 | autocmd FileType c,cpp map \cc o/*--------------------------------------------------------------------------<++>-------------------------------------------------------------------------*/2k 247 | -------------------------------------------------------------------------------- /old_rice/.xinitrc: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | exec dwm 4 | # exec startkde 5 | 6 | # export XDG_CURRENT_DESKTOP=Budgie:GNOME 7 | # exec budgie-desktop 8 | 9 | # print_bat(){ 10 | # hash acpi || return 0 11 | # charge="$(awk '{ sum += $1 } END { print sum }' /sys/class/power_supply/BAT*/capacity)" 12 | # echo -e "${charge}" 13 | # } 14 | # 15 | # print_date(){ 16 | # date "+%a %m-%d %T%:::z" 17 | # } 18 | # 19 | # print_updates(){ 20 | # echo -e "$(checkupdates | wc -l)" 21 | # } 22 | # 23 | # while true 24 | # do 25 | # xsetroot -name "$(print_updates) | $(print_bat) | $(print_date) " 26 | # sleep 1m 27 | # done 28 | -------------------------------------------------------------------------------- /old_rice/.zshrc: -------------------------------------------------------------------------------- 1 | # If you come from bash you might have to change your $PATH. 2 | # export PATH=$HOME/bin:/usr/local/bin:$PATH 3 | 4 | # Path to your oh-my-zsh installation. 5 | export ZSH="/home/mark/.oh-my-zsh" 6 | 7 | # Set name of the theme to load. Optionally, if you set this to "random" 8 | # it'll load a random theme each time that oh-my-zsh is loaded. 9 | # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 10 | ZSH_THEME="ys" 11 | 12 | # Set list of themes to load 13 | # Setting this variable when ZSH_THEME=random 14 | # cause zsh load theme from this variable instead of 15 | # looking in ~/.oh-my-zsh/themes/ 16 | # An empty array have no effect 17 | # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) 18 | 19 | # Uncomment the following line to use case-sensitive completion. 20 | # CASE_SENSITIVE="true" 21 | 22 | # Uncomment the following line to use hyphen-insensitive completion. Case 23 | # sensitive completion must be off. _ and - will be interchangeable. 24 | # HYPHEN_INSENSITIVE="true" 25 | 26 | # Uncomment the following line to disable bi-weekly auto-update checks. 27 | # DISABLE_AUTO_UPDATE="true" 28 | 29 | # Uncomment the following line to change how often to auto-update (in days). 30 | # export UPDATE_ZSH_DAYS=13 31 | 32 | # Uncomment the following line to disable colors in ls. 33 | # DISABLE_LS_COLORS="true" 34 | 35 | # Uncomment the following line to disable auto-setting terminal title. 36 | # DISABLE_AUTO_TITLE="true" 37 | 38 | # Uncomment the following line to enable command auto-correction. 39 | # ENABLE_CORRECTION="true" 40 | 41 | # Uncomment the following line to display red dots whilst waiting for completion. 42 | COMPLETION_WAITING_DOTS="true" 43 | 44 | # Uncomment the following line if you want to disable marking untracked files 45 | # under VCS as dirty. This makes repository status check for large repositories 46 | # much, much faster. 47 | # DISABLE_UNTRACKED_FILES_DIRTY="true" 48 | 49 | # Uncomment the following line if you want to change the command execution time 50 | # stamp shown in the history command output. 51 | # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" 52 | HIST_STAMPS="yyyy-mm-dd" 53 | 54 | # Would you like to use another custom folder than $ZSH/custom? 55 | # ZSH_CUSTOM=/path/to/new-custom-folder 56 | 57 | # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) 58 | # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ 59 | # Example format: plugins=(rails git textmate ruby lighthouse) 60 | # Add wisely, as too many plugins slow down shell startup. 61 | plugins=( 62 | extract 63 | ) 64 | 65 | source $ZSH/oh-my-zsh.sh 66 | 67 | # Change terminal colors 68 | # (cat ~/.cache/wal/sequences &) 69 | 70 | # alias colorpanes="~/.i3/scripts/colorpanes.sh" 71 | alias uta="cd ~/UTA" 72 | alias omega="ssh ark7991@omega.uta.edu" 73 | alias :q="exit" 74 | alias weather="curl -s https://us.wttr.in | head -n 17" 75 | alias swm="sudo wifi-menu" 76 | 77 | # wall 78 | # alias wal2b="wal -q -i ~/.i3/wallpapers/fan_art/2B.png" 79 | # alias wal2bv="wal -q -i ~/.i3/wallpapers/2bvapor.png" 80 | # alias walmr="wal -q -i ~/.i3/wallpapers/fan_art/mercylix.jpg" 81 | # alias walme="wal -q -i ~/.i3/wallpapers/mercyevil.png" 82 | # alias walnr="wal -q -i ~/.i3/wallpapers/fan_art/narugang.png" 83 | # alias waldk="wal -q -i ~/.i3/wallpapers/fan_art/adk.jpg" 84 | # alias waldual="wal -q -i ~/.i3/wallpapers/tigre.png" 85 | 86 | function gitpush() { 87 | git status 88 | git add . 89 | git commit -m $1 90 | git push origin $2 91 | } 92 | 93 | export BROWSER=/usr/bin/firefox 94 | VISUAL=vim; export VISUAL EDITOR=vim; export EDITOR 95 | 96 | # Android 97 | export _JAVA_AWT_WM_NONREPARENTING=1 98 | export ANDROID_HOME=$HOME/Android/Sdk 99 | export PATH=$PATH:$ANDROID_HOME/emulator 100 | export PATH=$PATH:$ANDROID_HOME/tools 101 | export PATH=$PATH:$ANDROID_HOME/tools/bin 102 | export PATH=$PATH:$ANDROID_HOME/platform-tools 103 | 104 | # Go 105 | export GOPATH=$HOME/go 106 | export GOBIN=$GOPATH/bin 107 | export PATH=$GOPATH:$GOBIN:$PATH 108 | 109 | [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh 110 | 111 | -------------------------------------------------------------------------------- /old_rice/README.md: -------------------------------------------------------------------------------- 1 | # DWM Rice 2 | 3 | ![Screenshot](screenshot.png) 4 | -------------------------------------------------------------------------------- /old_rice/autostart.sh: -------------------------------------------------------------------------------- 1 | /home/mark/.dwm/scripts/autostart.sh -------------------------------------------------------------------------------- /old_rice/colors.h: -------------------------------------------------------------------------------- 1 | static const char col_gray1[] = "#f2e5bc"; 2 | static const char col_gray2[] = "#7c6f64"; 3 | static const char col_gray3[] = "#3c3836"; 4 | static const char col_gray4[] = "#3c3836"; 5 | static const char col_theme[] = "#458588"; 6 | static const char col_urgn[] = "#cc241d"; 7 | -------------------------------------------------------------------------------- /old_rice/compton.conf: -------------------------------------------------------------------------------- 1 | # Thank you code_nomad: http://9m.no/ꪯ鵞 2 | # and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton 3 | 4 | ################################# 5 | # 6 | # Backend 7 | # 8 | ################################# 9 | 10 | # Backend to use: "xrender" or "glx". 11 | # GLX backend is typically much faster but depends on a sane driver. 12 | backend = "glx"; 13 | 14 | ################################# 15 | # 16 | # GLX backend 17 | # 18 | ################################# 19 | 20 | glx-no-stencil = true; 21 | 22 | # GLX backend: Copy unmodified regions from front buffer instead of redrawing them all. 23 | # My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified, 24 | # but a 20% increase when only 1/4 is. 25 | # My tests on nouveau show terrible slowdown. 26 | glx-copy-from-front = false; 27 | 28 | # GLX backend: Use MESA_copy_sub_buffer to do partial screen update. 29 | # My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated. 30 | # May break VSync and is not available on some drivers. 31 | # Overrides --glx-copy-from-front. 32 | # glx-use-copysubbuffermesa = true; 33 | 34 | # GLX backend: Avoid rebinding pixmap on window damage. 35 | # Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe). 36 | # Recommended if it works. 37 | # glx-no-rebind-pixmap = true; 38 | 39 | # GLX backend: GLX buffer swap method we assume. 40 | # Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1). 41 | # undefined is the slowest and the safest, and the default value. 42 | # copy is fastest, but may fail on some drivers, 43 | # 2-6 are gradually slower but safer (6 is still faster than 0). 44 | # Usually, double buffer means 2, triple buffer means 3. 45 | # buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers. 46 | # Useless with --glx-use-copysubbuffermesa. 47 | # Partially breaks --resize-damage. 48 | # Defaults to undefined. 49 | #glx-swap-method = "undefined"; 50 | 51 | ################################# 52 | # 53 | # Shadows 54 | # 55 | ################################# 56 | 57 | # Enabled client-side shadows on windows. 58 | shadow = true; 59 | # The blur radius for shadows. (default 12) 60 | shadow-radius = 5; 61 | # The left offset for shadows. (default -15) 62 | shadow-offset-x = -5; 63 | # The top offset for shadows. (default -15) 64 | shadow-offset-y = -5; 65 | # The translucency for shadows. (default .75) 66 | shadow-opacity = 0.5; 67 | 68 | # Set if you want different colour shadows 69 | # shadow-red = 0.0; 70 | # shadow-green = 0.0; 71 | # shadow-blue = 0.0; 72 | 73 | # The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches 74 | # (most applications are fine, only apps that do weird things with xshapes or argb are affected). 75 | # This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher. 76 | shadow-exclude = [ 77 | "! name~=''", 78 | "name = 'Notification'", 79 | "name = 'Plank'", 80 | "name = 'Docky'", 81 | "name = 'Kupfer'", 82 | "name = 'xfce4-notifyd'", 83 | "name *= 'VLC'", 84 | "name *= 'compton'", 85 | "name *= 'Chromium'", 86 | "name *= 'Chrome'", 87 | "class_g = 'Firefox' && argb", 88 | "class_g = 'Conky'", 89 | "class_g = 'Kupfer'", 90 | "class_g = 'Synapse'", 91 | "class_g ?= 'Notify-osd'", 92 | "class_g ?= 'Cairo-dock'", 93 | "class_g ?= 'Xfce4-notifyd'", 94 | "class_g ?= 'Xfce4-power-manager'", 95 | "_GTK_FRAME_EXTENTS@:c", 96 | "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" 97 | ]; 98 | # Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners) 99 | shadow-ignore-shaped = false; 100 | 101 | ################################# 102 | # 103 | # Opacity 104 | # 105 | ################################# 106 | 107 | inactive-opacity = 1; 108 | active-opacity = 1; 109 | frame-opacity = 1; 110 | inactive-opacity-override = false; 111 | 112 | # Dim inactive windows. (0.0 - 1.0) 113 | # inactive-dim = 0.2; 114 | # Do not let dimness adjust based on window opacity. 115 | # inactive-dim-fixed = true; 116 | # Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred. 117 | # blur-background = true; 118 | # Blur background of opaque windows with transparent frames as well. 119 | # blur-background-frame = true; 120 | # Do not let blur radius adjust based on window opacity. 121 | blur-background-fixed = false; 122 | blur-background-exclude = [ 123 | "window_type = 'dock'", 124 | "window_type = 'desktop'" 125 | ]; 126 | 127 | ################################# 128 | # 129 | # Fading 130 | # 131 | ################################# 132 | 133 | # Fade windows during opacity changes. 134 | fading = true; 135 | # The time between steps in a fade in milliseconds. (default 10). 136 | fade-delta = 4; 137 | # Opacity change between steps while fading in. (default 0.028). 138 | fade-in-step = 0.03; 139 | # Opacity change between steps while fading out. (default 0.03). 140 | fade-out-step = 0.03; 141 | # Fade windows in/out when opening/closing 142 | # no-fading-openclose = true; 143 | 144 | # Specify a list of conditions of windows that should not be faded. 145 | fade-exclude = [ ]; 146 | 147 | ################################# 148 | # 149 | # Other 150 | # 151 | ################################# 152 | 153 | # Try to detect WM windows and mark them as active. 154 | mark-wmwin-focused = true; 155 | # Mark all non-WM but override-redirect windows active (e.g. menus). 156 | mark-ovredir-focused = true; 157 | # Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events. 158 | # Usually more reliable but depends on a EWMH-compliant WM. 159 | use-ewmh-active-win = true; 160 | # Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on. 161 | detect-rounded-corners = true; 162 | 163 | # Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows. 164 | # This prevents opacity being ignored for some apps. 165 | # For example without this enabled my xfce4-notifyd is 100% opacity no matter what. 166 | detect-client-opacity = true; 167 | 168 | # Specify refresh rate of the screen. 169 | # If not specified or 0, compton will try detecting this with X RandR extension. 170 | refresh-rate = 0; 171 | 172 | # Vertical synchronization: match the refresh rate of the monitor 173 | vsync = true; 174 | 175 | # Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. 176 | # Reported to have no effect, though. 177 | dbe = false; 178 | 179 | # Limit compton to repaint at most once every 1 / refresh_rate second to boost performance. 180 | # This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already, 181 | # unless you wish to specify a lower refresh rate than the actual value. 182 | #sw-opti = true; 183 | 184 | # Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games. 185 | # Known to cause flickering when redirecting/unredirecting windows. 186 | unredir-if-possible = false; 187 | 188 | # Specify a list of conditions of windows that should always be considered focused. 189 | focus-exclude = [ ]; 190 | 191 | # Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time. 192 | detect-transient = true; 193 | # Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time. 194 | # WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too. 195 | detect-client-leader = true; 196 | 197 | ################################# 198 | # 199 | # Window type settings 200 | # 201 | ################################# 202 | 203 | wintypes: 204 | { 205 | tooltip = 206 | { 207 | # fade: Fade the particular type of windows. 208 | fade = true; 209 | # shadow: Give those windows shadow 210 | shadow = false; 211 | # opacity: Default opacity for the type of windows. 212 | opacity = 0.85; 213 | # focus: Whether to always consider windows of this type focused. 214 | focus = true; 215 | }; 216 | }; 217 | 218 | ###################### 219 | # 220 | # XSync 221 | # See: https://github.com/yshui/compton/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d 222 | # 223 | ###################### 224 | 225 | # Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users. 226 | xrender-sync-fence = true; 227 | -------------------------------------------------------------------------------- /old_rice/dwm/config.h: -------------------------------------------------------------------------------- 1 | /* See LICENSE file for copyright and license details. */ 2 | 3 | /* appearance */ 4 | static const unsigned int borderpx = 2; /* border pixel of windows */ 5 | static const unsigned int snap = 30; /* snap pixel */ 6 | static const unsigned int gappx = 10; /* Gap size */ 7 | static const int showbar = 1; /* 0 means no bar */ 8 | static const int topbar = 1; /* 0 means bottom bar */ 9 | static const char *fonts[] = { "Monofur:size=14", "IBM 3270:size=14" }; 10 | static const char dmenufont[] = "Monofur:size=14"; 11 | /* static const char dmenufont[] = "IBM 3270:size=14"; */ 12 | 13 | #include "/home/mark/.dwm/colors.h" 14 | static const char *colors[][3] = { 15 | /* fg bg border */ 16 | [SchemeNorm] = { col_gray4, col_gray1, col_gray2 }, 17 | [SchemeSel] = { col_gray1, col_theme, col_theme }, 18 | }; 19 | 20 | /* tagging */ 21 | static const char *tags[] = { "一", "二", "三", "四", "五", "六", "七", "八", "九" }; 22 | 23 | static const Rule rules[] = { 24 | /* xprop(1): 25 | * WM_CLASS(STRING) = instance, class 26 | * WM_NAME(STRING) = title 27 | */ 28 | /* class instance title tags mask isfloating monitor */ 29 | { "Firefox", NULL, NULL, 1 << 1, 0, -1 }, 30 | { "Google-chrome", NULL, NULL, 1 << 1, 0, -1 }, 31 | { NULL, NULL, "Picture in picture", 1 << 1, 1, -1 }, 32 | { "Spotify", "spotify", NULL, 1 << 2, 0, -1 }, 33 | { "code-oss", NULL, NULL, 1 << 3, 0, -1 }, 34 | { "Gimp", NULL, NULL, 1 << 4, 0, -1 }, 35 | { "discord", NULL, NULL, 1 << 5, 0, -1 }, 36 | { "Lazyman-lazyman", NULL, NULL, 1 << 6, 1, -1 }, 37 | { "vlc", NULL, NULL, 1 << 6, 1, -1 }, 38 | }; 39 | 40 | /* layout(s) */ 41 | static const float mfact = 0.50; /* factor of master area size [0.05..0.95] */ 42 | static const int nmaster = 1; /* number of clients in master area */ 43 | static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */ 44 | 45 | #include "fibonacci.c" 46 | #include "gaplessgrid.c" 47 | static const Layout layouts[] = { 48 | /* symbol arrange function */ 49 | { "[]=", tile }, /* first entry is default */ 50 | { "><>", NULL }, /* no layout function means floating behavior */ 51 | { "[M]", monocle }, 52 | { "[@]", spiral }, 53 | { "[\\]", dwindle }, 54 | { "###", gaplessgrid }, 55 | { NULL, NULL }, 56 | }; 57 | 58 | /* key definitions */ 59 | #define MODKEY Mod1Mask 60 | #define MODSUP Mod4Mask 61 | #define TAGKEYS(KEY,TAG) \ 62 | { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ 63 | { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ 64 | { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ 65 | { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, 66 | 67 | /* helper for spawning shell commands in the pre dwm-5.0 fashion */ 68 | #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } 69 | 70 | /* commands */ 71 | static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ 72 | static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray4, "-sb", col_theme, "-sf", col_gray1, NULL }; 73 | static const char *termcmd[] = { "termite", NULL }; 74 | static const char *alttermcmd[] = { "urxvt", NULL }; 75 | 76 | static const char *gchromecmd[] = { "google-chrome-stable", NULL }; 77 | static const char *ffoxcmd[] = { "firefox", NULL }; 78 | static const char *filescmd[] = { "nautilus", NULL }; 79 | static const char *rangercmd[] = { "urxvt", "-e", "ranger", NULL }; 80 | static const char *htopcmd[] = { "urxvt", "-e", "htop", NULL }; 81 | 82 | static const char *volumeup[] = { "amixer", "-q", "sset", "Master", "3+", NULL }; 83 | static const char *volumedown[] = { "amixer", "-q", "sset", "Master", "3-", NULL }; 84 | static const char *volumemute[] = { "amixer", "-q", "sset", "Master", "toggle", NULL }; 85 | 86 | static const char *powermenucmd[] = { "/home/mark/.dwm/scripts/powermenu.sh", NULL }; 87 | static const char *displaymenucmd[] = { "/home/mark/.dwm/scripts/displaymenu.sh", NULL }; 88 | static const char *screenshotcmd[] = { "/home/mark/.dwm/scripts/screenshot.sh", NULL }; 89 | 90 | static const char *flashwindow[] = { "flash_window", NULL }; 91 | 92 | #include 93 | 94 | static Key keys[] = { 95 | /* modifier key function argument */ 96 | { MODKEY, XK_n, spawn, {.v = flashwindow } }, 97 | { MODKEY, XK_p, spawn, {.v = dmenucmd } }, 98 | { MODSUP, XK_Return, spawn, {.v = termcmd } }, 99 | { MODKEY|ShiftMask, XK_Return, spawn, {.v = alttermcmd } }, 100 | { MODSUP, XK_f, spawn, {.v = ffoxcmd } }, 101 | { MODSUP, XK_g, spawn, {.v = gchromecmd } }, 102 | { MODSUP, XK_n, spawn, {.v = filescmd } }, 103 | { MODSUP, XK_w, spawn, {.v = rangercmd } }, 104 | { MODSUP, XK_i, spawn, {.v = htopcmd } }, 105 | { MODKEY, XK_b, togglebar, {0} }, 106 | { MODKEY|ShiftMask, XK_j, rotatestack, {.i = +1 } }, 107 | { MODKEY|ShiftMask, XK_k, rotatestack, {.i = -1 } }, 108 | { MODKEY, XK_j, focusstack, {.i = +1 } }, 109 | { MODKEY, XK_k, focusstack, {.i = -1 } }, 110 | { MODKEY, XK_i, incnmaster, {.i = +1 } }, 111 | { MODKEY, XK_d, incnmaster, {.i = -1 } }, 112 | { MODKEY, XK_h, setmfact, {.f = -0.05} }, 113 | { MODKEY, XK_l, setmfact, {.f = +0.05} }, 114 | { MODKEY, XK_Return, zoom, {0} }, 115 | { MODKEY, XK_Tab, view, {0} }, 116 | { MODKEY|ShiftMask, XK_c, killclient, {0} }, 117 | { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, 118 | { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, 119 | { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, 120 | { MODKEY, XK_s, setlayout, {.v = &layouts[3]} }, 121 | { MODKEY, XK_w, setlayout, {.v = &layouts[4]} }, 122 | { MODKEY, XK_g, setlayout, {.v = &layouts[5]} }, 123 | { MODKEY|ControlMask, XK_comma, cyclelayout, {.i = -1 } }, 124 | { MODKEY|ControlMask, XK_period, cyclelayout, {.i = +1 } }, 125 | { MODKEY, XK_space, setlayout, {0} }, 126 | { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, 127 | { MODKEY, XK_0, view, {.ui = ~0 } }, 128 | { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, 129 | { MODKEY, XK_comma, focusmon, {.i = -1 } }, 130 | { MODKEY, XK_period, focusmon, {.i = +1 } }, 131 | { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, 132 | { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, 133 | { 0, XF86XK_AudioLowerVolume, spawn, {.v = volumedown } }, 134 | { 0, XF86XK_AudioMute, spawn, {.v = volumemute } }, 135 | { 0, XF86XK_AudioRaiseVolume, spawn, {.v = volumeup } }, 136 | { MODKEY|ControlMask, XK_p, spawn, {.v = powermenucmd } }, 137 | { MODKEY|ControlMask, XK_m, spawn, {.v = displaymenucmd } }, 138 | { MODKEY|ControlMask, XK_s, spawn, {.v = screenshotcmd } }, 139 | TAGKEYS( XK_1, 0) 140 | TAGKEYS( XK_2, 1) 141 | TAGKEYS( XK_3, 2) 142 | TAGKEYS( XK_4, 3) 143 | TAGKEYS( XK_5, 4) 144 | TAGKEYS( XK_6, 5) 145 | TAGKEYS( XK_7, 6) 146 | TAGKEYS( XK_8, 7) 147 | TAGKEYS( XK_9, 8) 148 | { MODKEY|ShiftMask, XK_l, quit, {0} }, 149 | }; 150 | 151 | /* button definitions */ 152 | /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ 153 | static Button buttons[] = { 154 | /* click event mask button function argument */ 155 | { ClkLtSymbol, 0, Button1, setlayout, {0} }, 156 | { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, 157 | { ClkWinTitle, 0, Button2, zoom, {0} }, 158 | { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, 159 | { ClkClientWin, MODKEY, Button1, movemouse, {0} }, 160 | { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, 161 | { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, 162 | { ClkTagBar, 0, Button1, view, {0} }, 163 | { ClkTagBar, 0, Button3, toggleview, {0} }, 164 | { ClkTagBar, MODKEY, Button1, tag, {0} }, 165 | { ClkTagBar, MODKEY, Button3, toggletag, {0} }, 166 | }; 167 | 168 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-attachaside.diff: -------------------------------------------------------------------------------- 1 | diff --git a/dwm.c b/dwm.c 2 | index 0362114..be7e7a6 100644 3 | --- a/dwm.c 4 | +++ b/dwm.c 5 | @@ -49,7 +49,8 @@ 6 | #define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask)) 7 | #define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \ 8 | * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) 9 | -#define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) 10 | +#define ISVISIBLEONTAG(C, T) ((C->tags & T)) 11 | +#define ISVISIBLE(C) ISVISIBLEONTAG(C, C->mon->tagset[C->mon->seltags]) 12 | #define LENGTH(X) (sizeof X / sizeof X[0]) 13 | #define MOUSEMASK (BUTTONMASK|PointerMotionMask) 14 | #define WIDTH(X) ((X)->w + 2 * (X)->bw) 15 | @@ -147,6 +148,7 @@ static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interac 16 | static void arrange(Monitor *m); 17 | static void arrangemon(Monitor *m); 18 | static void attach(Client *c); 19 | +static void attachaside(Client *c); 20 | static void attachstack(Client *c); 21 | static void buttonpress(XEvent *e); 22 | static void checkotherwm(void); 23 | @@ -184,6 +186,7 @@ static void maprequest(XEvent *e); 24 | static void monocle(Monitor *m); 25 | static void motionnotify(XEvent *e); 26 | static void movemouse(const Arg *arg); 27 | +static Client *nexttagged(Client *c); 28 | static Client *nexttiled(Client *c); 29 | static void pop(Client *); 30 | static void propertynotify(XEvent *e); 31 | @@ -406,6 +409,17 @@ attach(Client *c) 32 | } 33 | 34 | void 35 | +attachaside(Client *c) { 36 | + Client *at = nexttagged(c); 37 | + if(!at) { 38 | + attach(c); 39 | + return; 40 | + } 41 | + c->next = at->next; 42 | + at->next = c; 43 | +} 44 | + 45 | +void 46 | attachstack(Client *c) 47 | { 48 | c->snext = c->mon->stack; 49 | @@ -1076,7 +1090,7 @@ manage(Window w, XWindowAttributes *wa) 50 | c->isfloating = c->oldstate = trans != None || c->isfixed; 51 | if (c->isfloating) 52 | XRaiseWindow(dpy, c->win); 53 | - attach(c); 54 | + attachaside(c); 55 | attachstack(c); 56 | XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend, 57 | (unsigned char *) &(c->win), 1); 58 | @@ -1210,6 +1224,16 @@ movemouse(const Arg *arg) 59 | } 60 | 61 | Client * 62 | +nexttagged(Client *c) { 63 | + Client *walked = c->mon->clients; 64 | + for(; 65 | + walked && (walked->isfloating || !ISVISIBLEONTAG(walked, c->tags)); 66 | + walked = walked->next 67 | + ); 68 | + return walked; 69 | +} 70 | + 71 | +Client * 72 | nexttiled(Client *c) 73 | { 74 | for (; c && (c->isfloating || !ISVISIBLE(c)); c = c->next); 75 | @@ -1434,7 +1458,7 @@ sendmon(Client *c, Monitor *m) 76 | detachstack(c); 77 | c->mon = m; 78 | c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ 79 | - attach(c); 80 | + attachaside(c); 81 | attachstack(c); 82 | focus(NULL); 83 | arrange(NULL); 84 | @@ -1891,7 +1915,7 @@ updategeom(void) 85 | m->clients = c->next; 86 | detachstack(c); 87 | c->mon = mons; 88 | - attach(c); 89 | + attachaside(c); 90 | attachstack(c); 91 | } 92 | if (m == selmon) 93 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-autostart.diff: -------------------------------------------------------------------------------- 1 | commit 5918623c5bd7fda155bf9dc3d33890c4ae1722d0 2 | Author: Simon Bremer 3 | Date: Thu Dec 22 17:31:07 2016 +0100 4 | 5 | Applied and fixed autostart patch for previous version; 6 | 7 | diff --git a/dwm.c b/dwm.c 8 | index d27cb67..066ed71 100644 9 | --- a/dwm.c 10 | +++ b/dwm.c 11 | @@ -194,6 +194,7 @@ static void resizeclient(Client *c, int x, int y, int w, int h); 12 | static void resizemouse(const Arg *arg); 13 | static void restack(Monitor *m); 14 | static void run(void); 15 | +static void runAutostart(void); 16 | static void scan(void); 17 | static int sendevent(Client *c, Atom proto); 18 | static void sendmon(Client *c, Monitor *m); 19 | @@ -1386,6 +1387,12 @@ run(void) 20 | } 21 | 22 | void 23 | +runAutostart(void) { 24 | + system("cd ~/.dwm; ./autostart_blocking.sh"); 25 | + system("cd ~/.dwm; ./autostart.sh &"); 26 | +} 27 | + 28 | +void 29 | scan(void) 30 | { 31 | unsigned int i, num; 32 | @@ -2145,6 +2152,7 @@ main(int argc, char *argv[]) 33 | checkotherwm(); 34 | setup(); 35 | scan(); 36 | + runAutostart(); 37 | run(); 38 | cleanup(); 39 | XCloseDisplay(dpy); 40 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-centeredwindowname.diff: -------------------------------------------------------------------------------- 1 | From bd6efd81eabab77c91a3e95b528b19db2d58525b Mon Sep 17 00:00:00 2001 2 | From: Sacules 3 | Date: Sun, 9 Sep 2018 17:12:58 -0300 4 | Subject: [PATCH] Centers windows names on status bar. 5 | 6 | --- 7 | dwm.c | 3 ++- 8 | 1 file changed, 2 insertions(+), 1 deletion(-) 9 | 10 | diff --git a/dwm.c b/dwm.c 11 | index 4465af1..9d5ef7a 100644 12 | --- a/dwm.c 13 | +++ b/dwm.c 14 | @@ -730,8 +730,9 @@ drawbar(Monitor *m) 15 | 16 | if ((w = m->ww - sw - x) > bh) { 17 | if (m->sel) { 18 | + int mid = (m->ww - TEXTW(m->sel->name)) / 2 - x; 19 | drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); 20 | - drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); 21 | + drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0); 22 | if (m->sel->isfloating) 23 | drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); 24 | } else { 25 | -- 26 | 2.18.0 27 | 28 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-cmdcustomize-20180504-3bd8466.diff: -------------------------------------------------------------------------------- 1 | diff --git a/dwm.1 b/dwm.1 2 | index e3b2c38..76011c7 100644 3 | --- a/dwm.1 4 | +++ b/dwm.1 5 | @@ -3,7 +3,27 @@ 6 | dwm \- dynamic window manager 7 | .SH SYNOPSIS 8 | .B dwm 9 | -.RB [ \-v ] 10 | +.RB [ \-vh ] 11 | +.RB [ \-fn 12 | +.IR font ] 13 | +.RB [ \-nb 14 | +.IR color ] 15 | +.RB [ \-nf 16 | +.IR color ] 17 | +.RB [ \-sb 18 | +.IR color ] 19 | +.RB [ \-sf 20 | +.IR color ] 21 | +.RB [ \-df 22 | +.IR font ] 23 | +.RB [ \-dnb 24 | +.IR color ] 25 | +.RB [ \-dnf 26 | +.IR color ] 27 | +.RB [ \-dsb 28 | +.IR color ] 29 | +.RB [ \-dsf 30 | +.IR color ] 31 | .SH DESCRIPTION 32 | dwm is a dynamic window manager for X. It manages windows in tiled, monocle 33 | and floating layouts. Either layout can be applied dynamically, optimising the 34 | @@ -34,6 +54,43 @@ dwm draws a small border around windows to indicate the focus state. 35 | .TP 36 | .B \-v 37 | prints version information to standard output, then exits. 38 | +.TP 39 | +.B \-h --help 40 | +prints short help 41 | +.TP 42 | +.BI \-fn " font" 43 | +defines the font or font set used. 44 | +.TP 45 | +.BI \-nb " color" 46 | +defines the normal background color. 47 | +.IR #RGB , 48 | +.IR #RRGGBB , 49 | +and X color names are supported. 50 | +.TP 51 | +.BI \-nf " color" 52 | +defines the normal foreground color. 53 | +.TP 54 | +.BI \-sb " color" 55 | +defines the selected background color. 56 | +.TP 57 | +.BI \-sf " color" 58 | +defines the selected foreground color. 59 | +.TP 60 | +.BI \-df " font" 61 | +defines the font used in dmenu_run. 62 | +.TP 63 | +.BI \-dnb " color" 64 | +defines the normal background color in dmenu_run. 65 | +.TP 66 | +.BI \-dnf " color" 67 | +defines the normal foreground color in dmenu_run. 68 | +.TP 69 | +.BI \-dsb " color" 70 | +defines the selected background color in dmenu_run. 71 | +.TP 72 | +.BI \-dsf " color" 73 | +defines the selected foreground color in dmenu_run. 74 | +.TP 75 | .SH USAGE 76 | .SS Status bar 77 | .TP 78 | diff --git a/dwm.c b/dwm.c 79 | index c98678d..dc1a679 100644 80 | --- a/dwm.c 81 | +++ b/dwm.c 82 | @@ -174,6 +174,7 @@ static long getstate(Window w); 83 | static int gettextprop(Window w, Atom atom, char *text, unsigned int size); 84 | static void grabbuttons(Client *c, int focused); 85 | static void grabkeys(void); 86 | +static char* help(); 87 | static void incnmaster(const Arg *arg); 88 | static void keypress(XEvent *e); 89 | static void killclient(const Arg *arg); 90 | @@ -963,6 +964,12 @@ grabkeys(void) 91 | } 92 | } 93 | 94 | +char* 95 | +help(void) 96 | +{ 97 | + return "usage: dwm [-hv] [-fn font] [-nb color] [-nf color] [-sb color] [-sf color]\n[-df font] [-dnf color] [-dnb color] [-dsf color] [-dsb color]\n"; 98 | +} 99 | + 100 | void 101 | incnmaster(const Arg *arg) 102 | { 103 | @@ -2127,10 +2134,32 @@ zoom(const Arg *arg) 104 | int 105 | main(int argc, char *argv[]) 106 | { 107 | - if (argc == 2 && !strcmp("-v", argv[1])) 108 | - die("dwm-"VERSION); 109 | - else if (argc != 1) 110 | - die("usage: dwm [-v]"); 111 | + for(int i=1;i 3 | Date: Thu, 24 May 2018 00:56:56 -0400 4 | Subject: [PATCH] Function to cycle through available layouts. 5 | 6 | MOD-CTRL-, and MOD-CTRL-. 7 | cycle backwards and forwards through available layouts. 8 | Probably only useful if you have a lot of additional layouts. 9 | The NULL, NULL layout should always be the last layout in your list, 10 | in order to guarantee consistent behavior. 11 | --- 12 | config.def.h | 3 +++ 13 | dwm.1 | 6 ++++++ 14 | dwm.c | 18 ++++++++++++++++++ 15 | 3 files changed, 27 insertions(+) 16 | 17 | diff --git a/config.def.h b/config.def.h 18 | index a9ac303..153b880 100644 19 | --- a/config.def.h 20 | +++ b/config.def.h 21 | @@ -41,6 +41,7 @@ static const Layout layouts[] = { 22 | { "[]=", tile }, /* first entry is default */ 23 | { "><>", NULL }, /* no layout function means floating behavior */ 24 | { "[M]", monocle }, 25 | + { NULL, NULL }, 26 | }; 27 | 28 | /* key definitions */ 29 | @@ -76,6 +77,8 @@ static Key keys[] = { 30 | { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, 31 | { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, 32 | { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, 33 | + { MODKEY|ControlMask, XK_comma, cyclelayout, {.i = -1 } }, 34 | + { MODKEY|ControlMask, XK_period, cyclelayout, {.i = +1 } }, 35 | { MODKEY, XK_space, setlayout, {0} }, 36 | { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, 37 | { MODKEY, XK_0, view, {.ui = ~0 } }, 38 | diff --git a/dwm.1 b/dwm.1 39 | index 13b3729..165891b 100644 40 | --- a/dwm.1 41 | +++ b/dwm.1 42 | @@ -92,6 +92,12 @@ Sets monocle layout. 43 | .B Mod1\-space 44 | Toggles between current and previous layout. 45 | .TP 46 | +.B Mod1\-Control\-, 47 | +Cycles backwards in layout list. 48 | +.TP 49 | +.B Mod1\-Control\-. 50 | +Cycles forwards in layout list. 51 | +.TP 52 | .B Mod1\-j 53 | Focus next window. 54 | .TP 55 | diff --git a/dwm.c b/dwm.c 56 | index bb95e26..db73000 100644 57 | --- a/dwm.c 58 | +++ b/dwm.c 59 | @@ -157,6 +157,7 @@ static void configure(Client *c); 60 | static void configurenotify(XEvent *e); 61 | static void configurerequest(XEvent *e); 62 | static Monitor *createmon(void); 63 | +static void cyclelayout(const Arg *arg); 64 | static void destroynotify(XEvent *e); 65 | static void detach(Client *c); 66 | static void detachstack(Client *c); 67 | @@ -645,6 +646,23 @@ createmon(void) 68 | } 69 | 70 | void 71 | +cyclelayout(const Arg *arg) { 72 | + Layout *l; 73 | + for(l = (Layout *)layouts; l != selmon->lt[selmon->sellt]; l++); 74 | + if(arg->i > 0) { 75 | + if(l->symbol && (l + 1)->symbol) 76 | + setlayout(&((Arg) { .v = (l + 1) })); 77 | + else 78 | + setlayout(&((Arg) { .v = layouts })); 79 | + } else { 80 | + if(l != layouts && (l - 1)->symbol) 81 | + setlayout(&((Arg) { .v = (l - 1) })); 82 | + else 83 | + setlayout(&((Arg) { .v = &layouts[LENGTH(layouts) - 2] })); 84 | + } 85 | +} 86 | + 87 | +void 88 | destroynotify(XEvent *e) 89 | { 90 | Client *c; 91 | -- 92 | 2.7.4 93 | 94 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-fibonacci.diff: -------------------------------------------------------------------------------- 1 | diff --git a/config.def.h b/config.def.h 2 | index cca37df..91b91aa 100644 3 | --- a/config.def.h 4 | +++ b/config.def.h 5 | @@ -29,1 +29,2 @@ 6 | +#include "fibonacci.c" 7 | static const Layout layouts[] = { 8 | @@ -34,3 +35,5 @@ 9 | + { "[@]", spiral }, 10 | + { "[\\]", dwindle }, 11 | }; 12 | 13 | /* key definitions */ 14 | diff --git a/fibonacci.c b/fibonacci.c 15 | new file mode 100644 16 | index 0000000..fce0a57 17 | --- /dev/null 18 | +++ b/fibonacci.c 19 | @@ -0,0 +1,66 @@ 20 | +void 21 | +fibonacci(Monitor *mon, int s) { 22 | + unsigned int i, n, nx, ny, nw, nh; 23 | + Client *c; 24 | + 25 | + for(n = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next), n++); 26 | + if(n == 0) 27 | + return; 28 | + 29 | + nx = mon->wx; 30 | + ny = 0; 31 | + nw = mon->ww; 32 | + nh = mon->wh; 33 | + 34 | + for(i = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next)) { 35 | + if((i % 2 && nh / 2 > 2 * c->bw) 36 | + || (!(i % 2) && nw / 2 > 2 * c->bw)) { 37 | + if(i < n - 1) { 38 | + if(i % 2) 39 | + nh /= 2; 40 | + else 41 | + nw /= 2; 42 | + if((i % 4) == 2 && !s) 43 | + nx += nw; 44 | + else if((i % 4) == 3 && !s) 45 | + ny += nh; 46 | + } 47 | + if((i % 4) == 0) { 48 | + if(s) 49 | + ny += nh; 50 | + else 51 | + ny -= nh; 52 | + } 53 | + else if((i % 4) == 1) 54 | + nx += nw; 55 | + else if((i % 4) == 2) 56 | + ny += nh; 57 | + else if((i % 4) == 3) { 58 | + if(s) 59 | + nx += nw; 60 | + else 61 | + nx -= nw; 62 | + } 63 | + if(i == 0) 64 | + { 65 | + if(n != 1) 66 | + nw = mon->ww * mon->mfact; 67 | + ny = mon->wy; 68 | + } 69 | + else if(i == 1) 70 | + nw = mon->ww - nw; 71 | + i++; 72 | + } 73 | + resize(c, nx, ny, nw - 2 * c->bw, nh - 2 * c->bw, False); 74 | + } 75 | +} 76 | + 77 | +void 78 | +dwindle(Monitor *mon) { 79 | + fibonacci(mon, 1); 80 | +} 81 | + 82 | +void 83 | +spiral(Monitor *mon) { 84 | + fibonacci(mon, 0); 85 | +} 86 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-focusurgent.diff: -------------------------------------------------------------------------------- 1 | Author: Jan Christoph Ebersbach 2 | URL: http://dwm.suckless.org/patches/focusurgent 3 | focusurgent selects the next window having the urgent flag regardless of the tag 4 | it is on. The urgent flag can be artificially set with the following xdotool 5 | command on any window: xdotool selectwindow -- set_window --urgency 1 6 | 7 | Index: clean/dwm/config.def.h 8 | =================================================================== 9 | --- a/config.def.h 10 | +++ b/config.def.h 11 | @@ -59,6 +59,7 @@ static char dmenumon[2] = "0"; /* compon 12 | static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; 13 | static const char *termcmd[] = { "st", NULL }; 14 | 15 | +#include "focusurgent.c" 16 | static Key keys[] = { 17 | /* modifier key function argument */ 18 | { MODKEY, XK_p, spawn, {.v = dmenucmd } }, 19 | @@ -94,6 +95,7 @@ static Key keys[] = { 20 | TAGKEYS( XK_8, 7) 21 | TAGKEYS( XK_9, 8) 22 | { MODKEY|ShiftMask, XK_q, quit, {0} }, 23 | + { MODKEY, XK_u, focusurgent, {0} }, 24 | }; 25 | 26 | /* button definitions */ 27 | Index: clean/dwm/focusurgent.c 28 | =================================================================== 29 | --- /dev/null 30 | +++ b/focusurgent.c 31 | @@ -0,0 +1,14 @@ 32 | +static void 33 | +focusurgent(const Arg *arg) { 34 | + Client *c; 35 | + int i; 36 | + for(c=selmon->clients; c && !c->isurgent; c=c->next); 37 | + if(c) { 38 | + for(i=0; i < LENGTH(tags) && !((1 << i) & c->tags); i++); 39 | + if(i < LENGTH(tags)) { 40 | + const Arg a = {.ui = 1 << i}; 41 | + view(&a); 42 | + focus(c); 43 | + } 44 | + } 45 | +} 46 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-gaplessgrid.diff: -------------------------------------------------------------------------------- 1 | URL: http://dwm.suckless.org/patches/gapless_grid 2 | Add gapless grid layout. 3 | 4 | Index: dwm/gaplessgrid.c 5 | =================================================================== 6 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 7 | +++ dwm/gaplessgrid.c 2014-02-09 15:24:17.132117105 +0100 8 | @@ -0,0 +1,35 @@ 9 | +void 10 | +gaplessgrid(Monitor *m) { 11 | + unsigned int n, cols, rows, cn, rn, i, cx, cy, cw, ch; 12 | + Client *c; 13 | + 14 | + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++) ; 15 | + if(n == 0) 16 | + return; 17 | + 18 | + /* grid dimensions */ 19 | + for(cols = 0; cols <= n/2; cols++) 20 | + if(cols*cols >= n) 21 | + break; 22 | + if(n == 5) /* set layout against the general calculation: not 1:2:2, but 2:3 */ 23 | + cols = 2; 24 | + rows = n/cols; 25 | + 26 | + /* window geometries */ 27 | + cw = cols ? m->ww / cols : m->ww; 28 | + cn = 0; /* current column number */ 29 | + rn = 0; /* current row number */ 30 | + for(i = 0, c = nexttiled(m->clients); c; i++, c = nexttiled(c->next)) { 31 | + if(i/rows + 1 > cols - n%cols) 32 | + rows = n/cols + 1; 33 | + ch = rows ? m->wh / rows : m->wh; 34 | + cx = m->wx + cn*cw; 35 | + cy = m->wy + rn*ch; 36 | + resize(c, cx, cy, cw - 2 * c->bw, ch - 2 * c->bw, False); 37 | + rn++; 38 | + if(rn >= rows) { 39 | + rn = 0; 40 | + cn++; 41 | + } 42 | + } 43 | +} 44 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-rotatestack.diff: -------------------------------------------------------------------------------- 1 | diff --git a/config.def.h b/config.def.h 2 | index fd77a07..09737d7 100644 3 | --- a/config.def.h 4 | +++ b/config.def.h 5 | @@ -64,6 +64,8 @@ static Key keys[] = { 6 | { MODKEY, XK_p, spawn, {.v = dmenucmd } }, 7 | { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, 8 | { MODKEY, XK_b, togglebar, {0} }, 9 | + { MODKEY|ShiftMask, XK_j, rotatestack, {.i = +1 } }, 10 | + { MODKEY|ShiftMask, XK_k, rotatestack, {.i = -1 } }, 11 | { MODKEY, XK_j, focusstack, {.i = +1 } }, 12 | { MODKEY, XK_k, focusstack, {.i = -1 } }, 13 | { MODKEY, XK_i, incnmaster, {.i = +1 } }, 14 | diff --git a/dwm.c b/dwm.c 15 | index 421bf27..1ec8b10 100644 16 | --- a/dwm.c 17 | +++ b/dwm.c 18 | @@ -165,6 +165,8 @@ static void detachstack(Client *c); 19 | static Monitor *dirtomon(int dir); 20 | static void drawbar(Monitor *m); 21 | static void drawbars(void); 22 | +static void enqueue(Client *c); 23 | +static void enqueuestack(Client *c); 24 | static void enternotify(XEvent *e); 25 | static void expose(XEvent *e); 26 | static void focus(Client *c); 27 | @@ -194,6 +196,7 @@ static void resize(Client *c, int x, int y, int w, int h, int interact); 28 | static void resizeclient(Client *c, int x, int y, int w, int h); 29 | static void resizemouse(const Arg *arg); 30 | static void restack(Monitor *m); 31 | +static void rotatestack(const Arg *arg); 32 | static void run(void); 33 | static void scan(void); 34 | static int sendevent(Client *c, Atom proto); 35 | @@ -765,6 +768,28 @@ drawbars(void) 36 | } 37 | 38 | void 39 | +enqueue(Client *c) 40 | +{ 41 | + Client *l; 42 | + for (l = c->mon->clients; l && l->next; l = l->next); 43 | + if (l) { 44 | + l->next = c; 45 | + c->next = NULL; 46 | + } 47 | +} 48 | + 49 | +void 50 | +enqueuestack(Client *c) 51 | +{ 52 | + Client *l; 53 | + for (l = c->mon->stack; l && l->snext; l = l->snext); 54 | + if (l) { 55 | + l->snext = c; 56 | + c->snext = NULL; 57 | + } 58 | +} 59 | + 60 | +void 61 | enternotify(XEvent *e) 62 | { 63 | Client *c; 64 | @@ -1390,6 +1415,38 @@ restack(Monitor *m) 65 | } 66 | 67 | void 68 | +rotatestack(const Arg *arg) 69 | +{ 70 | + Client *c = NULL, *f; 71 | + 72 | + if (!selmon->sel) 73 | + return; 74 | + f = selmon->sel; 75 | + if (arg->i > 0) { 76 | + for (c = nexttiled(selmon->clients); c && nexttiled(c->next); c = nexttiled(c->next)); 77 | + if (c){ 78 | + detach(c); 79 | + attach(c); 80 | + detachstack(c); 81 | + attachstack(c); 82 | + } 83 | + } else { 84 | + if ((c = nexttiled(selmon->clients))){ 85 | + detach(c); 86 | + enqueue(c); 87 | + detachstack(c); 88 | + enqueuestack(c); 89 | + } 90 | + } 91 | + if (c){ 92 | + arrange(selmon); 93 | + //unfocus(f, 1); 94 | + focus(f); 95 | + restack(selmon); 96 | + } 97 | +} 98 | + 99 | +void 100 | run(void) 101 | { 102 | XEvent ev; 103 | -------------------------------------------------------------------------------- /old_rice/dwm/patches/dwm-uselessgap.diff: -------------------------------------------------------------------------------- 1 | --- dwm/dwm.c.orig 2015-11-22 13:26:16.664650238 -0700 2 | +++ dwm/dwm.c 2015-11-22 13:25:57.407984351 -0700 3 | @@ -52,8 +52,8 @@ 4 | #define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) 5 | #define LENGTH(X) (sizeof X / sizeof X[0]) 6 | #define MOUSEMASK (BUTTONMASK|PointerMotionMask) 7 | -#define WIDTH(X) ((X)->w + 2 * (X)->bw) 8 | -#define HEIGHT(X) ((X)->h + 2 * (X)->bw) 9 | +#define WIDTH(X) ((X)->w + 2 * (X)->bw + gappx) 10 | +#define HEIGHT(X) ((X)->h + 2 * (X)->bw + gappx) 11 | #define TAGMASK ((1 << LENGTH(tags)) - 1) 12 | #define TEXTW(X) (drw_text(drw, 0, 0, 0, 0, (X), 0) + drw->fonts[0]->h) 13 | 14 | @@ -1293,12 +1293,36 @@ void 15 | resizeclient(Client *c, int x, int y, int w, int h) 16 | { 17 | XWindowChanges wc; 18 | + unsigned int n; 19 | + unsigned int gapoffset; 20 | + unsigned int gapincr; 21 | + Client *nbc; 22 | 23 | - c->oldx = c->x; c->x = wc.x = x; 24 | - c->oldy = c->y; c->y = wc.y = y; 25 | - c->oldw = c->w; c->w = wc.width = w; 26 | - c->oldh = c->h; c->h = wc.height = h; 27 | wc.border_width = c->bw; 28 | + 29 | + /* Get number of clients for the selected monitor */ 30 | + for (n = 0, nbc = nexttiled(selmon->clients); nbc; nbc = nexttiled(nbc->next), n++); 31 | + 32 | + /* Do nothing if layout is floating */ 33 | + if (c->isfloating || selmon->lt[selmon->sellt]->arrange == NULL) { 34 | + gapincr = gapoffset = 0; 35 | + } else { 36 | + /* Remove border and gap if layout is monocle or only one client */ 37 | + if (selmon->lt[selmon->sellt]->arrange == monocle || n == 1) { 38 | + gapoffset = 0; 39 | + gapincr = -2 * borderpx; 40 | + wc.border_width = 0; 41 | + } else { 42 | + gapoffset = gappx; 43 | + gapincr = 2 * gappx; 44 | + } 45 | + } 46 | + 47 | + c->oldx = c->x; c->x = wc.x = x + gapoffset; 48 | + c->oldy = c->y; c->y = wc.y = y + gapoffset; 49 | + c->oldw = c->w; c->w = wc.width = w - gapincr; 50 | + c->oldh = c->h; c->h = wc.height = h - gapincr; 51 | + 52 | XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); 53 | configure(c); 54 | XSync(dpy, False); 55 | -------------------------------------------------------------------------------- /old_rice/guides/ArchGuideEFI.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Arch Install EFI 3 | author: Amey Khairnar 4 | date: \today 5 | geometry: margin=1.5cm 6 | fontsize: 10pt 7 | linkcolor: blue 8 | urlcolor: blue 9 | --- 10 | 11 | \tableofcontents 12 | 13 | \pagebreak 14 | 15 | 16 | # Using Disk Destroyer to create a live USB 17 | - Download ISO from [here](https://www.archlinux.org/download/) 18 | - Plug in usb and check with `lsblk`. Should be `sdx`. 19 | - Enter superuser by 20 | 21 | ``` 22 | # sudo su 23 | ``` 24 | - Create live using 25 | 26 | ```{sh} 27 | # dd if=$iso_location of=/dev/sdx status="progress" 28 | ``` 29 | 30 | # Boot into the USB 31 | - Select boot menu on start and select the USB. 32 | - Select the option to boot into live ISO 33 | 34 | # Live ISO 35 | 36 | ## Setting up network 37 | - Check your internet connection using `ifconfig` and `ping`. Example: 38 | 39 | ``` 40 | # ping -c 3 google.com 41 | ``` 42 | - If you don't find connection, use 43 | 44 | ``` 45 | # wifi-config 46 | ``` 47 | 48 | ## Disk Partitioning 49 | 50 | ### Check partitions 51 | Check your partitions using anyof these: 52 | 53 | `# cat /proc/partitions` 54 | 55 | `# ls /dev/[s|x|v]d*` 56 | 57 | `# lsblk` 58 | 59 | `# fdisk -l` 60 | 61 | 62 | ### Paritions Sizes and Formats 63 | - EFI System parition (`/dev/sda1`): `300 M` | `FAT32`. 64 | - Swap partition (`/dev/sda2`): `2xRAM | RAM/2`. 65 | - Root parition (`/dev/sda3`): At least `20 G` | `ext4`. 66 | 67 | ### Partitioning 68 | Run 69 | ```{sh} 70 | # cfdisk /dev/sda 71 | ``` 72 | - EFI: `New` > `300M` > `Type` > `EFI System` 73 | - Swap: `New` > `20G` > `Type` > `Linux sawp` 74 | - Root: `New` > `900G` > `Type` > `Linux filesystem` 75 | 76 | Then do: `Write` > `yes` > `Quit` 77 | 78 | Check your partitions using `fdisk -l` or `lsblk`. 79 | 80 | ### Formating partitions 81 | Run these to format newly created partitions 82 | 83 | ```{sh} 84 | # mkfs.fat -F32 /dev/sda1 85 | # mkswap /dev/sda2 86 | # mkfs.ext4 /dev/sda3 87 | ``` 88 | 89 | Check your partitions using `fdisk -l` or `lsblk`. 90 | 91 | ## Installing Arch Linux 92 | 93 | ### Mounting root and EFI; Swap 94 | ```{sh} 95 | # mount /dev/sda3 /mnt 96 | # swapon /dev/sda2 97 | 98 | # mkdir /mnt/boot/EFI 99 | # mount /dev/sda1 /boot/EFI 100 | ``` 101 | 102 | ### fstab file 103 | Check fstab using: 104 | ```{sh} 105 | # genfstab -U /mnt 106 | ``` 107 | 108 | See that all the grives are where they're are supposed to be, and then do 109 | ```{sh} 110 | # genfstab -U /mnt >> /mnt/etc/fstab 111 | ``` 112 | 113 | ### Pacman Config 114 | - For more speed, change your mirrors in `/etc/pacman.d/mirrorlist` 115 | - Enable multilib by uncommenting parts in `/etc/pacman.conf` 116 | ```{conf} 117 | [multilib] 118 | Include = /etc/pacman.d/mirrorlist 119 | ``` 120 | 121 | ### Install Arch Linux 122 | Use `# pacstrap /mnt base base-devel vim dialog` to install Arch Linux on `root`. I put `vim` because i like it. You don't have to. `dialog` is for wifi-menu, but that's for later. 123 | 124 | # Arch Linux System Configuration 125 | 126 | To change root and add hostname, use 127 | ```{sh} 128 | # arch-chroot /mnt 129 | # echo "$hostname" > /etc/hostname 130 | ``` 131 | 132 | ## Locale settings 133 | 134 | ### System Language 135 | Uncomment in `/etc/locale.gen`: 136 | ```{conf} 137 | en_US.UTF-8 UTF-8 138 | en_US ISO-8859-1 139 | ``` 140 | 141 | Generate system language layout: 142 | ```{sh} 143 | # locale-gen 144 | # echo LANG=en_US,UTF-8 > /etc/locale.conf 145 | # export LANG=en_US.UTF-8 146 | ``` 147 | 148 | ### System Time 149 | Check timezone using `# ls /usr/share/zoneinfo` 150 | 151 | And use `# ln -s /usr/share/zoneinfo/US/Central /etc/localtime` 152 | 153 | Set hardware clock using `# hwclock --systohc --cdt` 154 | 155 | ### Repositories 156 | Enable multilib like before in `/etc/pacman.conf` 157 | 158 | Put `ILoveCandy` in the same file under options if you want the pacman thing for package manger. 159 | 160 | Sychronize and update database mirrors and packages using 161 | ```{sh} 162 | # pacman -Syu 163 | ``` 164 | ### Root Privilages 165 | Set root password, create group `wheel` user and force user to change password on first login by 166 | ```{sh} 167 | # passwd 168 | # useradd -mg users -G wheel,storage,power -s /bin/bash $user 169 | # passwd $user 170 | # chage -d 0 $user 171 | ``` 172 | 173 | #### Add user to sudoers 174 | ```{sh} 175 | # pacman -S sudo 176 | # visudo 177 | ``` 178 | 179 | Uncomment the appropriate line to look like this: 180 | ```{conf} 181 | %wheel All=(ALL) ALL 182 | ``` 183 | 184 | # Bootloader 185 | We will use `grub` as our bootloader. Use this: 186 | ```{sh} 187 | # pacman -S grub efibootmgr dosfstools os-prober mtools 188 | # grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck --efi-directory=/mnt/efi 189 | ``` 190 | 191 | Create grub config using 192 | ```{sh} 193 | # grub-mkconfig -o /boot/grub/grub.cfg 194 | ``` 195 | 196 | # Done!!! 197 | Your installation is complete. Use these commands to unmount paritions and reboot: 198 | ```{sh} 199 | # exit 200 | # umount -a 201 | # telinit 6 202 | ``` 203 | 204 | Select `Arch Linux` in grub menu and Ta Da! You're done. 205 | 206 | Check out my i3gaps [config](https://github.com/ameyrk99/i3wm-dots) if you choose to go with i3 as your wm. 207 | 208 | -------------------------------------------------------------------------------- /old_rice/guides/ArchGuideEFI.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/old_rice/guides/ArchGuideEFI.pdf -------------------------------------------------------------------------------- /old_rice/guides/LearnVim.txt: -------------------------------------------------------------------------------- 1 | 2 | vim # Open in vim 3 | :help # Open up built-in help docs about if any exists 4 | :q # Quit vim 5 | :w # Save current file 6 | :wq # Save file and quit vim 7 | ZZ # Save file and quit vim 8 | :q! # Quit vim without saving file 9 | # ! *forces* :q to execute, hence quiting vim without saving 10 | :x # Save file and quit vim, shorter version of :wq 11 | 12 | u # Undo 13 | CTRL+R # Redo 14 | 15 | h # Move left one character 16 | j # Move down one line 17 | k # Move up one line 18 | l # Move right one character 19 | 20 | Ctrl+B # Move back one full screen 21 | Ctrl+F # Move forward one full screen 22 | Ctrl+D # Move forward 1/2 a screen 23 | Ctrl+U # Move back 1/2 a screen 24 | 25 | # Moving within the line 26 | 27 | 0 # Move to beginning of line 28 | $ # Move to end of line 29 | ^ # Move to first non-blank character in line 30 | 31 | # Searching in the text 32 | 33 | /word # Highlights all occurrences of word after cursor 34 | ?word # Highlights all occurrences of word before cursor 35 | n # Moves cursor to next occurrence of word after search 36 | N # Moves cursor to previous occerence of word 37 | 38 | :%s/foo/bar/g # Change 'foo' to 'bar' on every line in the file 39 | :s/foo/bar/g # Change 'foo' to 'bar' on the current line 40 | :%s/\n/\r/g # Replace new line characters with new line characters 41 | 42 | # Jumping to characters 43 | 44 | f # Jump forward and land on 45 | t # Jump forward and land right before 46 | 47 | # For example, 48 | f< # Jump forward and land on < 49 | t< # Jump forward and land right before < 50 | 51 | # Moving by word 52 | 53 | w # Move forward by one word 54 | b # Move back by one word 55 | e # Move to end of current word 56 | 57 | # Other characters for moving around 58 | 59 | gg # Go to the top of the file 60 | G # Go to the bottom of the file 61 | :NUM # Go to line number NUM (NUM is any number) 62 | H # Move to the top of the screen 63 | M # Move to the middle of the screen 64 | L # Move to the bottom of the screen 65 | 66 | i # Puts vim into insert mode, before the cursor position 67 | a # Puts vim into insert mode, after the cursor position 68 | v # Puts vim into visual mode 69 | : # Puts vim into ex mode 70 | # 'Escapes' from whichever mode you're in, into Command mode 71 | 72 | # Copying and pasting text 73 | 74 | y # Yank whatever is selected 75 | yy # Yank the current line 76 | d # Delete whatever is selected 77 | dd # Delete the current line 78 | p # Paste the copied text after the current cursor position 79 | P # Paste the copied text before the current cursor position 80 | x # Deleting character under current cursor position 81 | 82 | # 'Verbs' 83 | 84 | d # Delete 85 | c # Change 86 | y # Yank (copy) 87 | v # Visually select 88 | 89 | # 'Modifiers' 90 | 91 | i # Inside 92 | a # Around 93 | NUM # Number (NUM is any number) 94 | f # Searches for something and lands on it 95 | t # Searches for something and stops before it 96 | / # Finds a string from cursor onwards 97 | ? # Finds a string before cursor 98 | 99 | # 'Nouns' 100 | 101 | w # Word 102 | s # Sentence 103 | p # Paragraph 104 | b # Block 105 | 106 | # Sample 'sentences' or commands 107 | 108 | d2w # Delete 2 words 109 | cis # Change inside sentence 110 | yip # Yank inside paragraph (copy the para you're in) 111 | ct< # Change to open bracket 112 | # Change the text from where you are to the next open bracket 113 | d$ # Delete till end of line 114 | 115 | > # Indent selection by one block 116 | < # Dedent selection by one block 117 | :earlier 15m # Reverts the document back to how it was 15 minutes ago 118 | :later 15m # Reverse above command 119 | ddp # Swap position of consecutive lines, dd then p 120 | . # Repeat previous action 121 | :w !sudo tee % # Save the current file as root 122 | :set syntax=c # Set syntax highlighting to 'c' 123 | :sort # Sort all lines 124 | :sort! # Sort all lines in reverse 125 | :sort u # Sort all lines and remove duplicates 126 | ~ # Toggle letter case of selected text 127 | u # Selected text to lower case 128 | U # Selected text to upper case 129 | 130 | # Fold text 131 | zf # Create fold from selected text 132 | zo # Open current fold 133 | zc # Close current fold 134 | zR # Open all folds 135 | zM # Close all folds 136 | 137 | qa # Start recording a macro named 'a' 138 | q # Stop recording 139 | @a # Play back the macro 140 | 141 | " Example ~/.vimrc 142 | " 2015.10 143 | 144 | " Required for vim to be iMproved 145 | set nocompatible 146 | 147 | " Determines filetype from name to allow intelligent auto-indenting, etc. 148 | filetype indent plugin on 149 | 150 | " Enable syntax highlighting 151 | syntax on 152 | 153 | " Better command-line completion 154 | set wildmenu 155 | 156 | " Use case insensitive search except when using capital letters 157 | set ignorecase 158 | set smartcase 159 | 160 | " When opening a new line and no file-specific indenting is enabled, 161 | " keep same indent as the line you're currently on 162 | set autoindent 163 | 164 | " Display line numbers on the left 165 | set number 166 | 167 | " Indentation options, change according to personal preference 168 | 169 | " Number of visual spaces per TAB 170 | set tabstop=4 171 | 172 | " Number of spaces in TAB when editing 173 | set softtabstop=4 174 | 175 | " Number of spaces indented when reindent operations (>> and <<) are used 176 | set shiftwidth=4 177 | 178 | " Convert TABs to spaces 179 | set expandtab 180 | 181 | " Enable intelligent tabbing and spacing for indentation and alignment 182 | set smarttab 183 | 184 | -------------------------------------------------------------------------------- /old_rice/guides/c-hotkeys.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/old_rice/guides/c-hotkeys.pdf -------------------------------------------------------------------------------- /old_rice/guides/cli-cmds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/old_rice/guides/cli-cmds.jpg -------------------------------------------------------------------------------- /old_rice/guides/latexsheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/old_rice/guides/latexsheet.pdf -------------------------------------------------------------------------------- /old_rice/guides/undergradmath.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/old_rice/guides/undergradmath.pdf -------------------------------------------------------------------------------- /old_rice/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/old_rice/screenshot.png -------------------------------------------------------------------------------- /old_rice/scripts/autostart.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | slstatus & 4 | nitrogen --restore & 5 | compton -CGb & 6 | flashfocus & 7 | xinput disable "pointer:ELAN0732:00 04F3:2537" 8 | xinput set-prop "SynPS/2 Synaptics TouchPad" "libinput Tapping Enabled" 1 9 | dunst & 10 | xrdb ~/.Xresources 11 | 12 | -------------------------------------------------------------------------------- /old_rice/scripts/displaymenu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$(echo -e "Laptop\nMonitor\nDuplicate\nMonitorDown\nMonitorUp" | dmenu \ 4 | -fn "Monofur:size=14" \ 5 | -nb "${COLOR_BACKGROUND:-#f2e5bc}" \ 6 | -nb "${COLOR_BACKGROUND:-#f2e5bc}" \ 7 | -nf "${COLOR_DEFAULT:-#3c3836}" \ 8 | -sf "${COLOR_HIGHLIGHT:-#f2e5bc}" \ 9 | -sb "#458588" \ 10 | -i -p \ 11 | "Display:" )" in 12 | Laptop) exec xrandr --output DP-1 --off --output eDP-1 --auto;; 13 | Monitor) exec xrandr --output DP-1 --auto --output eDP-1 --off;; 14 | Duplicate) exec xrandr --output DP-1 --auto --output eDP-1 --auto;; 15 | MonitorDown) exec xrandr --output DP-1 --auto --output eDP-1 --below DP-1;; 16 | MonitorUp) exec xrandr --output DP-1 --auto --output eDP-1 --above DP-1;; 17 | esac 18 | 19 | -------------------------------------------------------------------------------- /old_rice/scripts/powermenu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$(echo -e "Shutdown\nRestart\nLogout\nSuspend\nLock" | dmenu \ 4 | -fn "Monofur:size=14" \ 5 | -nb "${COLOR_BACKGROUND:-#f2e5bc}" \ 6 | -nb "${COLOR_BACKGROUND:-#f2e5bc}" \ 7 | -nf "${COLOR_DEFAULT:-#3c3836}" \ 8 | -sf "${COLOR_HIGHLIGHT:-#f2e5bc}" \ 9 | -sb "#458588" \ 10 | -i -p \ 11 | "Power:" )" in 12 | Shutdown) exec systemctl poweroff;; 13 | Restart) exec systemctl reboot;; 14 | Logout) kill -HUP $XDG_SESSION_PID;; 15 | Suspend) exec slock & systemctl suspend;; 16 | Lock) exec slock;; 17 | esac 18 | 19 | -------------------------------------------------------------------------------- /old_rice/scripts/screenshot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | scrot 'Screenshot-%Y-%m-%d-%H_%M.png' -q 80 && mv /home/$USER/*.png /home/$USER/Pictures/Screenshots/ 3 | -------------------------------------------------------------------------------- /old_rice/scripts/volume: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (C) 2014 Julien Bonjean 3 | # Copyright (C) 2014 Alexander Keller 4 | 5 | # This program is free software: you can redistribute it and/or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | 18 | #------------------------------------------------------------------------ 19 | 20 | # The second parameter overrides the mixer selection 21 | # For PulseAudio users, use "pulse" 22 | # For Jack/Jack2 users, use "jackplug" 23 | # For ALSA users, you may use "default" for your primary card 24 | # or you may use hw:# where # is the number of the card desired 25 | MIXER="default" 26 | [ -n "$(lsmod | grep pulse)" ] && MIXER="pulse" 27 | [ -n "$(lsmod | grep jack)" ] && MIXER="jackplug" 28 | MIXER="${2:-$MIXER}" 29 | 30 | # The instance option sets the control to report and configure 31 | # This defaults to the first control of your selected mixer 32 | # For a list of the available, use `amixer -D $Your_Mixer scontrols` 33 | SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols | 34 | sed -n "s/Simple mixer control '\([A-Za-z ]*\)',0/\1/p" | 35 | head -n1 36 | )}" 37 | 38 | # The first parameter sets the step to change the volume by (and units to display) 39 | # This may be in in % or dB (eg. 5% or 3dB) 40 | STEP="${1:-5%}" 41 | 42 | #------------------------------------------------------------------------ 43 | 44 | capability() { # Return "Capture" if the device is a capture device 45 | amixer -D $MIXER get $SCONTROL | 46 | sed -n "s/ Capabilities:.*cvolume.*/Capture/p" 47 | } 48 | 49 | volume() { 50 | amixer -D $MIXER get $SCONTROL $(capability) 51 | } 52 | 53 | format() { 54 | perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)' 55 | perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "' 56 | # If dB was selected, print that instead 57 | perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1') 58 | perl_filter+='"; exit}' 59 | perl -ne "$perl_filter" 60 | } 61 | 62 | #------------------------------------------------------------------------ 63 | 64 | case $BLOCK_BUTTON in 65 | 3) amixer -q -D $MIXER sset $SCONTROL $(capability) toggle ;; # right click, mute/unmute 66 | 4) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;; # scroll up, increase 67 | 5) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;; # scroll down, decrease 68 | esac 69 | 70 | volume | format 71 | -------------------------------------------------------------------------------- /old_rice/slock/config.h: -------------------------------------------------------------------------------- 1 | /* user and group to drop privileges to */ 2 | static const char *user = "mark"; 3 | static const char *group = "wheel"; 4 | 5 | #include "/home/mark/.dwm/colors.h" 6 | static const char *colorname[NUMCOLS] = { 7 | [INIT] = col_gray1, /* after initialization */ 8 | [INPUT] = col_theme, /* during input */ 9 | [FAILED] = col_urgn, /* wrong password */ 10 | }; 11 | 12 | /* treat a cleared input like a wrong password (color) */ 13 | static const int failonclear = 1; 14 | -------------------------------------------------------------------------------- /old_rice/slstatus/config.h: -------------------------------------------------------------------------------- 1 | /* See LICENSE file for copyright and license details. */ 2 | 3 | /* interval between updates (in ms) */ 4 | const unsigned int interval = 5000; 5 | 6 | /* text to show if no value can be retrieved */ 7 | static const char unknown_str[] = "NA"; 8 | 9 | /* maximum output string length */ 10 | #define MAXLEN 2048 11 | 12 | /* 13 | * function description argument (example) 14 | * 15 | * battery_perc battery percentage battery name (BAT0) 16 | * NULL on OpenBSD/FreeBSD 17 | * battery_state battery charging state battery name (BAT0) 18 | * NULL on OpenBSD/FreeBSD 19 | * battery_remaining battery remaining HH:MM battery name (BAT0) 20 | * NULL on OpenBSD/FreeBSD 21 | * cpu_perc cpu usage in percent NULL 22 | * cpu_freq cpu frequency in MHz NULL 23 | * datetime date and time format string (%F %T) 24 | * disk_free free disk space in GB mountpoint path (/) 25 | * disk_perc disk usage in percent mountpoint path (/) 26 | * disk_total total disk space in GB mountpoint path (/") 27 | * disk_used used disk space in GB mountpoint path (/) 28 | * entropy available entropy NULL 29 | * gid GID of current user NULL 30 | * hostname hostname NULL 31 | * ipv4 IPv4 address interface name (eth0) 32 | * ipv6 IPv6 address interface name (eth0) 33 | * kernel_release `uname -r` NULL 34 | * keyboard_indicators caps/num lock indicators format string (c?n?) 35 | * see keyboard_indicators.c 36 | * keymap layout (variant) of current NULL 37 | * keymap 38 | * load_avg load average NULL 39 | * netspeed_rx receive network speed interface name (wlan0) 40 | * netspeed_tx transfer network speed interface name (wlan0) 41 | * num_files number of files in a directory path 42 | * (/home/foo/Inbox/cur) 43 | * ram_free free memory in GB NULL 44 | * ram_perc memory usage in percent NULL 45 | * ram_total total memory size in GB NULL 46 | * ram_used used memory in GB NULL 47 | * run_command custom shell command command (echo foo) 48 | * swap_free free swap in GB NULL 49 | * swap_perc swap usage in percent NULL 50 | * swap_total total swap size in GB NULL 51 | * swap_used used swap in GB NULL 52 | * temp temperature in degree celsius sensor file 53 | * (/sys/class/thermal/...) 54 | * NULL on OpenBSD 55 | * thermal zone on FreeBSD 56 | * (tz0, tz1, etc.) 57 | * uid UID of current user NULL 58 | * uptime system uptime NULL 59 | * username username of current user NULL 60 | * vol_perc OSS/ALSA volume in percent mixer file (/dev/mixer) 61 | * wifi_perc WiFi signal in percent interface name (wlan0) 62 | * wifi_essid WiFi ESSID interface name (wlan0) 63 | */ 64 | static const struct arg args[] = { 65 | /* function arguments */ 66 | { run_command, " VOL %s ", "/home/mark/.dwm/scripts/volume" }, 67 | { battery_perc, " BAT %s", "BAT0" }, 68 | { battery_state, "%s ", "BAT0" }, 69 | { datetime, " %s ", "%a, %d %b %H:%M" }, 70 | }; 71 | -------------------------------------------------------------------------------- /scripts/displaymenu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$(echo -e "Laptop\nExternal\nDuplicate\nExtLeft\nExtRight" | dmenu -i -p \ 4 | "Display:" )" in 5 | Laptop) 6 | xrandr --output DP1 --off 7 | xrandr --output eDP1 --auto 8 | ;; 9 | External) 10 | xrandr --output DP1 --auto 11 | xrandr --output eDP1 --off 12 | ;; 13 | Duplicate) 14 | xrandr --output DP1 --auto --output eDP1 --auto 15 | ;; 16 | ExtLeft) 17 | xrandr --output DP1 --auto --left-of eDP1 --primary 18 | ;; 19 | ExtRight) 20 | xrandr --output eDP1 --auto --left-of DP1 --primary 21 | ;; 22 | esac 23 | 24 | -------------------------------------------------------------------------------- /scripts/powermenu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | case "$(echo -e "Suspend\nLock\nShutdown\nRestart" | dmenu -i -p \ 4 | "Power:" )" in 5 | Suspend) exec slock systemctl suspend -i;; 6 | Lock) exec slock;; 7 | Shutdown) exec systemctl poweroff;; 8 | Restart) exec systemctl reboot;; 9 | esac 10 | 11 | -------------------------------------------------------------------------------- /scripts/screenshot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | scrot 'Screenshot-%Y-%m-%d-%H_%M.png' -q 100 && mv /home/$USER/*.png /home/$USER/Pictures/Screenshots/ 3 | -------------------------------------------------------------------------------- /scripts/status.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Status for dwm 4 | send_warning() { 5 | notify-send "BATTERY CRITICAL $bat_perc%" 6 | sleep 5s 7 | } 8 | 9 | read_battery() { 10 | read -r now < "/sys/class/power_supply/BAT0/charge_now" 11 | read -r full < "/sys/class/power_supply/BAT0/charge_full" 12 | read -r status < "/sys/class/power_supply/BAT0/status" 13 | 14 | bat_perc=$(((now * 100) / full)) 15 | 16 | bat="" 17 | if [ "$bat_perc" -le 10 ]; then 18 | # use warning colors 19 | bat+="\x04  $bat_perc" 20 | send_warning 21 | elif [ "$bat_perc" -le 15 ]; then 22 | # use urgent colors 23 | bat+="\x03  $bat_perc" 24 | elif [ "$bat_perc" -le 25 ]; then 25 | bat+="\x06  $bat_perc" 26 | elif [ "$bat_perc" -le 50 ]; then 27 | bat+="\x06  $bat_perc" 28 | elif [ "$bat_perc" -le 75 ]; then 29 | bat+="\x06  $bat_perc" 30 | else 31 | bat+="\x06  $bat_perc" 32 | fi 33 | 34 | case "$status" in 35 | "Charging") bat+=" ";; 36 | esac 37 | 38 | echo -e "$bat \x01 " 39 | } 40 | 41 | read_volume() { 42 | var=$(amixer get Master) 43 | 44 | vol="" 45 | case $var in 46 | *'[on]') var=${var#*[}; var=${var%\%*}; var=${var%\%*}; vol+="$var";; 47 | *'[off]') vol+="MUTE";; 48 | esac 49 | 50 | if ([ "$vol" -le 33 ]) 2>/dev/null; then 51 | vol="\x03  $vol" 52 | elif ([ "$vol" -le 67 ]) 2>/dev/null; then 53 | vol="\x03  $vol" 54 | elif ([ "$vol" -le 100 ]) 2>/dev/null; then 55 | vol="\x03  $vol" 56 | elif [ "$vol"=="MUTE" ]; then 57 | vol="\x04  " 58 | fi 59 | 60 | # echo -e "$vol" 61 | echo -e "$vol \x01 " 62 | } 63 | 64 | read_spotify() { 65 | spot=$(playerctl metadata title) 66 | if [ $? -eq 0 ]; then 67 | if [[ ${#spot} -ge 20 ]]; then 68 | echo -e "\x05  ${spot:0:20} ... \x01 " 69 | else 70 | echo -e "\x05  ${spot} \x01 " 71 | fi 72 | fi 73 | } 74 | 75 | echo_date() { 76 | # istd=$(env TZ=Asia/Kolkata date +'%H:%M') 77 | var=$(date +'%a %d  %H:%M') 78 | # echo -e "US $var IN $istd" 79 | # var=$(date +'%a %d %H:%M') 80 | echo -e "\x07  ${var}" 81 | } 82 | 83 | # Test 84 | # dstatus="$(read_battery)$(read_volume)$(read_spotify)$(echo_date)" 85 | # xsetroot -name "${dstatus^^}" 86 | 87 | while true; do 88 | dstatus="$(read_battery)$(read_volume)$(read_spotify)$(echo_date) " 89 | xsetroot -name "${dstatus^^}" 90 | sleep 1s 91 | done & 92 | 93 | -------------------------------------------------------------------------------- /scripts/volumectl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ $1 == 1 ] 4 | then 5 | amixer -q -D pulse sset Master 5%+ 6 | notify-send "VOL UP 5%" 7 | elif [ $1 == -1 ] 8 | then 9 | amixer -q -D pulse sset Master 5%- 10 | notify-send "VOL DOWN 5%" 11 | else 12 | amixer -q sset Master toggle 13 | notify-send "VOL MUTE TOGGLE" 14 | fi 15 | 16 | -------------------------------------------------------------------------------- /scripts/wallpaper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # If the argument is file, cp to right loc and update wallpaper 4 | [ -f "$1" ] && cp "$1" ~/.dotfiles/wallpaper.png && notify-send "Wallpaper changed" 5 | 6 | # If the argument is dir, random select one file (png/jpg), cp to right loc and update the wallpaper 7 | [ -d "$1" ] && cp "$(find $1 -name "*.png" -o -name "*jpg" -type f | shuf -n 1)" ~/.dotfiles/wallpaper.png && notify-send "Wallpaper changed" 8 | 9 | feh --bg-fill ~/.dotfiles/wallpaper.png 10 | 11 | -------------------------------------------------------------------------------- /suckless/autostart.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # picom -bf & 4 | xcompmgr -c & 5 | dunst & 6 | xrdb ~/.Xresources 7 | xinput disable "pointer:ELAN0732:00 04F3:2537" 8 | xinput set-prop "SynPS/2 Synaptics TouchPad" "libinput Tapping Enabled" 1 9 | ~/.dotfiles/scripts/status.sh 10 | # feh --bg-scale /home/mark/.dotfiles/wallpaper.png 11 | ~/.dotfiles/scripts/wallpaper.sh 12 | 13 | -------------------------------------------------------------------------------- /suckless/colors.h: -------------------------------------------------------------------------------- 1 | // Jellybeans 2 | static const char col_background[] = "#121212"; 3 | static const char col_foreground[] = "#e8e8e8"; 4 | static const char col_theme[] = "#e8e8e8"; 5 | static const char col_red[] = "#d75f5f"; 6 | static const char col_yellow[] = "#d8ad4c"; 7 | static const char col_green[] = "#72a25a"; 8 | static const char col_blue[] = "#597bc5"; 9 | static const char col_cyan[] = "#4a8382"; 10 | static const char col_magenta[] = "#8787af"; 11 | 12 | -------------------------------------------------------------------------------- /suckless/dmenu/config.h: -------------------------------------------------------------------------------- 1 | /* See LICENSE file for copyright and license details. */ 2 | /* Default settings; can be overriden by command line. */ 3 | 4 | static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ 5 | /* -fn option overrides fonts[0]; default X11 font or font set */ 6 | static const char *fonts[] = { 7 | "Hermit-Regular:size=12:antialias=true:autohint=true" 8 | }; 9 | static const char *prompt = NULL; /* -p option; prompt to the left of input field */ 10 | #include "../colors.h" 11 | static const char *colors[SchemeLast][2] = { 12 | /* fg bg */ 13 | [SchemeNorm] = { col_foreground, col_background }, 14 | [SchemeSel] = { col_background, col_theme }, 15 | [SchemeOut] = { col_foreground, col_background }, 16 | }; 17 | /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ 18 | static unsigned int lines = 0; 19 | static unsigned int lineheight = 29; /* -h option; minimum height of a menu line */ 20 | 21 | /* 22 | * Characters not considered part of a word while deleting words 23 | * for example: " /?\"&[]" 24 | */ 25 | static const char worddelimiters[] = " "; 26 | -------------------------------------------------------------------------------- /suckless/dwm/config.h: -------------------------------------------------------------------------------- 1 | /* See LICENSE file for copyright and license details. */ 2 | 3 | /* appearance */ 4 | static const unsigned int borderpx = 3; /* border pixel of windows */ 5 | static const unsigned int snap = 0; /* snap pixel */ 6 | static const unsigned int gappx = 5; /* gap pixel between windows */ 7 | static const int showbar = 1; /* 0 means no bar */ 8 | static const int topbar = 1; /* 0 means bottom bar */ 9 | static const int viewontag = 1; /* Switch view on tag switch */ 10 | static const char *fonts[] = { 11 | "Hermit-Regular:size=12:antialias=true:autohint=true", 12 | "Symbols Nerd Font:size=12:antialias=true:autohint=true" 13 | }; 14 | 15 | #include "../colors.h" 16 | static const char *colors[][3] = { 17 | /* fg bg border */ 18 | [SchemeNorm] = { col_foreground, col_background, col_background }, 19 | [SchemeSel] = { col_background, col_theme, col_theme }, 20 | [SchemeYellow] = { col_background, col_yellow, col_yellow }, 21 | [SchemeRed] = { col_background, col_red, col_red }, 22 | [SchemeGreen] = { col_background, col_green, col_green }, 23 | [SchemeBlue] = { col_background, col_blue, col_blue }, 24 | [SchemeMagenta] = { col_background, col_magenta, col_magenta }, 25 | [SchemeCyan] = { col_foreground, col_cyan, col_cyan }, 26 | }; 27 | 28 | /* tagging */ 29 | /* static const char *tags[] = { "一", "二", "三", "四", "五", "六", "七", "八", "九" }; */ 30 | /* static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; */ 31 | /* static const char *tags[] = { "HOME", "WEB", "MUSIC", "CODE", "EDIT", "GAME", "OFFICE", "MISC", "HMM" }; */ 32 | static const char *tags[] = { "", "", "", "", "", "", "", "", "" }; 33 | /* static const char *alttags[] = { " HOME", " WEB", " MUSIC", " CODE", " EDIT", " GAME", " OFFICE", " MISC", " HMM" }; */ 34 | 35 | static const Rule rules[] = { 36 | /* xprop(1): 37 | * WM_CLASS(STRING) = instance, class 38 | * WM_NAME(STRING) = title 39 | */ 40 | /* class instance title tags mask isfloating monitor */ 41 | { "firefox", NULL, NULL, 1 << 1, 0, -1 }, 42 | { "Brave-browser", NULL, NULL, 1 << 1, 0, -1 }, 43 | { "Spotify", NULL, NULL, 1 << 2, 0, -1 }, 44 | { "code-oss", NULL, NULL, 1 << 3, 0, -1 }, 45 | { "Gimp", NULL, NULL, 1 << 4, 0, -1 }, 46 | { "discord", NULL, NULL, 1 << 5, 0, -1 }, 47 | { "Steam", NULL, NULL, 1 << 5, 0, -1 }, 48 | { NULL, "libreoffice", NULL, 1 << 6, 0, -1 }, 49 | { "Tor Browser", NULL, NULL, 1 << 8, 0, -1 }, 50 | }; 51 | 52 | /* layout(s) */ 53 | static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ 54 | static const int nmaster = 1; /* number of clients in master area */ 55 | static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */ 56 | 57 | #include "fibonacci.c" 58 | static const Layout layouts[] = { 59 | /* symbol arrange function */ 60 | { "", spiral }, 61 | { "", NULL }, 62 | { "", tile }, 63 | { "[M]", monocle }, 64 | { "", dwindle }, 65 | }; 66 | 67 | /* key definitions */ 68 | #define MODKEY Mod1Mask 69 | #define MODSUP Mod4Mask 70 | #define TAGKEYS(KEY,TAG) \ 71 | { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ 72 | { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ 73 | { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ 74 | { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, 75 | 76 | /* helper for spawning shell commands in the pre dwm-5.0 fashion */ 77 | #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } 78 | 79 | /* Applications */ 80 | static const char *termcmd[] = { "st", NULL }; 81 | static const char *ffoxcmd[] = { "firefox", NULL }; 82 | // static const char *gchromecmd[] = { "google-chrome-stable", NULL }; 83 | static const char *rangercmd[] = { "st", "-e", "ranger", NULL }; 84 | static const char *htopcmd[] = { "st", "-e", "htop", NULL }; 85 | static const char *vimcmd[] = { "st", "-e", "vim", NULL }; 86 | 87 | /* Sys Controls */ 88 | static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ 89 | /* static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-h", "29", "-fn", dmenufont, "-nb", col_background, 90 | * "-nf", col_foreground, "-sb", col_theme, "-sf", col_background, NULL }; */ 91 | static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, NULL }; 92 | static const char *screenshotcmd[] = { "/home/mark/.dotfiles/scripts/screenshot.sh", NULL }; 93 | 94 | /* Volume Controls */ 95 | static const char *volumeup[] = { "/home/mark/.dotfiles/scripts/volumectl.sh", "1", NULL }; 96 | static const char *volumedown[] = { "/home/mark/.dotfiles/scripts/volumectl.sh", "-1", NULL }; 97 | static const char *volumemute[] = { "/home/mark/.dotfiles/scripts/volumectl.sh", "0", NULL }; 98 | 99 | /* Player controls */ 100 | static const char *playpause[] = { "playerctl", "play-pause", NULL }; 101 | static const char *playnext[] = { "playerctl", "next", NULL }; 102 | static const char *playprevious[] = { "playerctl", "previous", NULL }; 103 | 104 | /* Dmenu menus */ 105 | static const char *powermenucmd[] = { "/home/mark/.dotfiles/scripts/powermenu.sh", NULL }; 106 | static const char *displaymenucmd[] = { "/home/mark/.dotfiles/scripts/displaymenu.sh", NULL }; 107 | 108 | /* Keyboard Shortcuts */ 109 | #include 110 | static Key keys[] = { 111 | /* modifier key function argument */ 112 | { MODKEY, XK_p, spawn, {.v = dmenucmd } }, 113 | { MODKEY, XK_r, spawn, {.v = dmenucmd } }, 114 | { MODSUP, XK_Return, spawn, {.v = termcmd } }, 115 | { MODSUP, XK_f, spawn, {.v = ffoxcmd } }, 116 | // { MODSUP, XK_g, spawn, {.v = gchromecmd } }, 117 | { MODSUP, XK_w, spawn, {.v = rangercmd } }, 118 | { MODSUP, XK_i, spawn, {.v = htopcmd } }, 119 | { MODSUP, XK_v, spawn, {.v = vimcmd } }, 120 | { MODKEY, XK_b, togglebar, {0} }, 121 | { MODKEY, XK_j, focusstack, {.i = +1 } }, 122 | { MODKEY, XK_k, focusstack, {.i = -1 } }, 123 | { MODKEY, XK_i, incnmaster, {.i = +1 } }, 124 | { MODKEY, XK_d, incnmaster, {.i = -1 } }, 125 | { MODKEY, XK_h, setmfact, {.f = -0.05} }, 126 | { MODKEY, XK_l, setmfact, {.f = +0.05} }, 127 | { MODKEY, XK_Return, zoom, {0} }, 128 | { MODKEY, XK_Tab, view, {0} }, 129 | { MODKEY|ShiftMask, XK_c, killclient, {0} }, 130 | { MODKEY, XK_s, setlayout, {.v = &layouts[0]} }, 131 | { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, 132 | { MODKEY, XK_t, setlayout, {.v = &layouts[2]} }, 133 | { MODKEY, XK_m, setlayout, {.v = &layouts[3]} }, 134 | { MODKEY, XK_w, setlayout, {.v = &layouts[4]} }, 135 | { MODKEY, XK_space, setlayout, {0} }, 136 | { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, 137 | { MODKEY, XK_0, view, {.ui = ~0 } }, 138 | { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, 139 | { MODKEY, XK_comma, focusmon, {.i = -1 } }, 140 | { MODKEY, XK_period, focusmon, {.i = +1 } }, 141 | { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, 142 | { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, 143 | { 0, XF86XK_AudioLowerVolume, spawn, {.v = volumedown } }, 144 | { 0, XF86XK_AudioMute, spawn, {.v = volumemute } }, 145 | { 0, XF86XK_AudioRaiseVolume, spawn, {.v = volumeup } }, 146 | { 0, XF86XK_AudioPlay, spawn, {.v = playpause } }, 147 | { 0, XF86XK_AudioNext, spawn, {.v = playnext } }, 148 | { 0, XF86XK_AudioPrev, spawn, {.v = playprevious } }, 149 | { MODKEY|ControlMask, XK_p, spawn, {.v = powermenucmd } }, 150 | { MODKEY|ControlMask, XK_m, spawn, {.v = displaymenucmd } }, 151 | { MODKEY|ControlMask, XK_s, spawn, {.v = screenshotcmd } }, 152 | TAGKEYS( XK_1, 0) 153 | TAGKEYS( XK_2, 1) 154 | TAGKEYS( XK_3, 2) 155 | TAGKEYS( XK_4, 3) 156 | TAGKEYS( XK_5, 4) 157 | TAGKEYS( XK_6, 5) 158 | TAGKEYS( XK_7, 6) 159 | TAGKEYS( XK_8, 7) 160 | TAGKEYS( XK_9, 8) 161 | { MODKEY|ShiftMask, XK_l, quit, {0} }, 162 | }; 163 | 164 | /* Mouse Click Definitions */ 165 | /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ 166 | static Button buttons[] = { 167 | /* click event mask button function argument */ 168 | { ClkClientWin, MODKEY, Button1, movemouse, {0} }, 169 | { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, 170 | { ClkTagBar, 0, Button1, view, {0} }, 171 | { ClkStatusText, 0, Button1, spawn, {.v = playprevious} }, 172 | { ClkStatusText, 0, Button2, spawn, {.v = playpause} }, 173 | { ClkStatusText, 0, Button3, spawn, {.v = playnext} }, 174 | }; 175 | 176 | -------------------------------------------------------------------------------- /suckless/make_diffs.sh: -------------------------------------------------------------------------------- 1 | # Make dwm diffs 2 | diff -Nau dwm_org/config.def.h dwm/config.def.h > dwm.diff 3 | diff -Nau dwm_org/config.mk dwm/config.mk >> dwm.diff 4 | diff -Nau dwm_org/dwm.c dwm/dwm.c >> dwm.diff 5 | diff -Nau dwm_org/drw.c dwm/drw.c >> dwm.diff 6 | diff -Nau dwm_org/drw.h dwm/drw.h >> dwm.diff 7 | diff -Nau dwm_org/fibonacci.c dwm/fibonacci.c >> dwm.diff 8 | 9 | # Make st diffs 10 | diff -Nau st_org/config.def.h st/config.def.h > st.diff 11 | diff -Nau st_org/st.h st/st.h >> st.diff 12 | diff -Nau st_org/st.c st/st.c >> st.diff 13 | 14 | # Make dmenu diffs 15 | diff -Nau dmenu_org/config.def.h dmenu/config.def.h > dmenu.diff 16 | diff -Nau dmenu_org/dmenu.1 dmenu/dmenu.1 >> dmenu.diff 17 | diff -Nau dmenu_org/dmenu.c dmenu/dmenu.c >> dmenu.diff 18 | 19 | mv *.diff ../diffs 20 | 21 | -------------------------------------------------------------------------------- /suckless/slock/config.h: -------------------------------------------------------------------------------- 1 | /* user and group to drop privileges to */ 2 | static const char *user = "mark"; 3 | static const char *group = "wheel"; 4 | 5 | #include "../colors.h" 6 | static const char *colorname[NUMCOLS] = { 7 | [INIT] = col_background, /* after initialization */ 8 | [INPUT] = col_theme, /* during input */ 9 | [FAILED] = col_yellow, /* wrong password */ 10 | }; 11 | 12 | /* treat a cleared input like a wrong password (color) */ 13 | static const int failonclear = 1; 14 | -------------------------------------------------------------------------------- /wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ameyrk99/dwm_rice/ecea6af2ca410dea8f5d4a2d98bbf1c9e93c4fc5/wallpaper.png --------------------------------------------------------------------------------