1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | # Author: VeganGaro
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesn’t scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
#reload duntrc
# bindsym $mod+Shift+d --release exec --no-startup-id killall dunst;notify-send foo
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
#default
#bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
# bindsym $mod+p exec --no-startup-id dmenu_run -b -fn '-*-fixed-*-*-*-*-10-*-*-*-*-*-*-*' -nb '#111111' -nf '#555555' -sb '#111111' -sf '#aadb0f'
# default menu
bindsym $mod+shift+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# Focus container on the left, bottom, top, right
bindsym $mod+h focus left
bindsym $mod+k focus down
bindsym $mod+j focus up
bindsym $mod+l focus right
# focus the parent container
bindsym $mod+u focus parent
# Focus last floating/tiling container
bindsym $mod+space focus mode_toggle
# Focus the output right to the current one
bindsym $mod+x focus output right
# focus the child container
# bindsym $mod+shift+d focus child
# 4.21. Focus follows mouse
# focus_follows_mouse no
# 4.24. Focus wrapping
# force_focus_wrapping yes
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# 6.2. Splitting containers
bindsym $mod+b split horizontal
bindsym $mod+g split vertical
# Toggle fullscreen
bindsym $mod+f fullscreen toggle
# 6.3. Manipulating layout
bindsym $mod+shift+s layout stacking
bindsym $mod+shift+t layout tabbed
bindsym $mod+e layout toggle split
# Toggle between stacking/tabbed/splith/splitv:
# bindsym $mod+x layout toggle all
# Toggle floating/tiling
bindsym $mod+Shift+space floating toggle
# 6.5. Moving containers
# 6.7.1. Named workspaces
set $WS1 " Shell "
set $WS2 " Code "
set $WS3 " Browser "
set $WS4 " Tools "
set $WS5 " Media "
set $WS6 " Gaming "
set $WS7 " Settings "
# 6.7.2. Renaming workspaces
# i3-msg 'rename workspace to "8: mail"'
# switch to workspace
bindsym $mod+1 workspace $WS1
bindsym $mod+2 workspace $WS2
bindsym $mod+3 workspace $WS3
bindsym $mod+4 workspace $WS4
bindsym $mod+5 workspace $WS5
bindsym $mod+6 workspace $WS6
bindsym $mod+7 workspace $WS7
# Force apps to open in an determined workspace
assign [class="(?i)urxvt|xterm"] → $WS1
assign [class="(?i)st|clion|xfce4-terminal|lxterminal|emacs|codelite|qtcreator|codeblocks|gvim"] → $WS2
assign [class="(?i)firefox|chromium|google-chrome-stable|google-chrome"] → $WS3
assign [class="(?i)ranger|virtualbox|libreoffice"] → $WS4
assign [class="(?i)mpv|feh|mpd|spotify"] → $WS5
assign [class="(?i)steam"] → $WS6
assign [title="OpenGL"] $ws6
for_window [class="Steam"] move to workspace $WS6
assign [class="(?i)qbittorrent"] → $WS7
set $mode_launcher Launch: [c]hromium [f]irefox [g]vim [l]xterminal [s]potify [u]rxvt [v]irtualbox x[t]erm [x]fce4-terminal
bindsym $mod+o mode "$mode_launcher"
mode "$mode_launcher"
{
bindsym c exec chromium
bindsym f exec firefox
bindsym g exec gvim
bindsym l exec lxterminal
bindsym q exec qtcreator
bindsym s exec spotify
bindsym u exec urxvt
bindsym v exec virtualbox
bindsym x exec xfce4-terminal
bindsym t exec xterm
bindsym Esc mode "default"
bindsym Return mode "default"
}
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $WS1
bindsym $mod+Shift+2 move container to workspace $WS2
bindsym $mod+Shift+3 move container to workspace $WS3
bindsym $mod+Shift+4 move container to workspace $WS4
bindsym $mod+Shift+5 move container to workspace $WS5
bindsym $mod+Shift+6 move container to workspace $WS6
bindsym $mod+Shift+7 move container to workspace $WS7
# 6.7. switch to the next and previous workspace
bindsym Mod4+a workspace prev
bindsym Mod4+d workspace next
# 4.26. Automatic back-and-forth when switching to the current workspace
bindsym Mod4+c workspace back_and_forth
# 6.11. Resizing containers/windows
# for_window [class="urxvt"] resize set 640 480
# Automatically starting applications on i3 startup
# exec firefox
exec chromium
exec chromium-browser
# exec_always ~/my_script.sh
# Execute the terminal emulator urxvt, which is not yet startup-notification aware.
exec --no-startup-id urxvt
exec --no-startup-id steam
exec --no-startup-id spotify
exec --no-startup-id dropbox
exec --no-startup-id xset r rate 300 75 &
# exec --no-startup-id urxvtd -q -f -o &
# exec --no-startup-id compton -bc &
# exec --no-startup-id compton --config ~/.compton.conf
# exec --no-startup-id nm-applet
# exec --no-startup-id dunst &
# Launch the VirtualBox guest services
# exec --no-startup-id VBoxClient-all &
# exec --no-startup-id feh --bg-fill ~/dotfiles/Images/Walls/gorilla.jpg
#Spotify tweaks
for_window [class="Spotify"] move to workspace $WS5
# Remove the titlebar.
for_window [class="mpv|URxvt|Chromium|Firefox"] border pixel 1
# if you want to kill all windows which have the class Firefox, use:
# bindsym $mod+x [class="Firefox"] kill
# set floating mode when applications started
for_window [class="urxvt"] floating enable
for_window [class="feh|mpv|mumble|pavucontrol|spotify"] floating enable
# for_window [class="Gcolor2"] floating enable
# for_window [class="Gkamus"] floating enable
# https://github.com/ValveSoftware/steam-for-linux/issues/1040
for_window [class="^Steam$" title="^Friends$"] floating enable
for_window [class="^Steam$" title="Steam - News"] floating enable
for_window [class="^Steam$" title=".* - Chat"] floating enable
for_window [class="^Steam$" title="^Settings$"] floating enable
for_window [class="^Steam$" title=".* - event started"] floating enable
for_window [class="^Steam$" title=".* CD key"] floating enable
for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
for_window [title="^Steam Keyboard$"] floating enable
# shortcut applications
# bindsym $mod+F1 exec urxvt
# bindsym $mod+F2 workspace $WS2; exec
# bindsym $mod+F3 workspace $WS3; exec firefox
# bindsym $mod+F4 workspace $WS3; exec chromium-browser
# 4.18. Automatically putting workspaces on specific screens
# workspace 1 output LVDS1
# workspace 5 output VGA1
# workspace "2: vim" output VGA1
# class border backgr. text indicator
client.focused #849492 #849492 #ffffff #2e9ef4
client.focused_inactive #6e686f #6e686f #ffffff #484e50
client.unfocused #6e686f #6e686f #888888 #292d2e
client.urgent #e9e6e6 #BFB8B0 #ffffff #900000
client.placeholder #000000 #0c0c0c #ffffff #000000
# client.background #ffffff
# window border settings
new_window pixel 0
new_float normal 0
hide_edge_borders none
# Volume controls
bindsym Mod4+s exec amixer set Master -q 5%-
bindsym Mod4+w exec amixer set Master -q 5%+
bindsym Mod4+q exec amixer set Master -q 100%-
# The middle button and a modifer over any part of the window kills the window
bindsym --release button2 kill
# bindsym --whole-window button2 kill
# # shortcut to change window border
# bindsym Mod4+t border normal 0
# bindsym Mod4+y border pixel 1
# bindsym Mod4+u border none
# The right button toggles floating
# bindsym button3 floating toggle
# bindsym $mod+button3 floating toggle
# # The side buttons move the window around
# bindsym button9 move left
# bindsym button8 move right
# Press $mod+o followed by either f, g, Esc or Return to launch firefox,
# # gvim or return to the default mode, respectively.
# Shutdown, reboot, lock screen
set $Locker i3lock && sleep 1
set $mode_system System (l) lock, (e) logout, (r) reboot, (s) shutdown, (shift+s) suspend, (shift+h) hibernate
mode "$mode_system" {
bindsym l exec --no-startup-id $Locker, mode "default"
bindsym e exec --no-startup-id i3-msg exit, mode "default"
bindsym shitf+s exec --no-startup-id $Locker && systemctl suspend, mode "default"
bindsym shift-h exec --no-startup-id $Locker && systemctl hibernate, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym s exec --no-startup-id systemctl poweroff -i, mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Pause mode "$mode_system"
# scrot & gpicview - root
bindsym Print exec "scrot -e 'mv $f ~/dotfiles/Images/Terminalscreen/ && feh ~/dotfiles/Images/Terminalscreen/$f'"
# scrot & gpicview - select window or rectangle
bindsym $mod+Print exec "scrot -u -e 'mv $f ~/dotfiles/Images/Terminalscreen/ && feh ~/dotfiles/Images/Terminalscreen/$f'"
# reload the configuration file
bindsym $mod+Shift+w reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# Exit without confirmation
bindsym $mod+Shift+e exec i3-msg exit
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window’s width.
# Pressing right will grow the window’s width.
# Pressing up will shrink the window’s height.
# Pressing down will grow the window’s height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
bar {
id bar-1
position top
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
font pango:DejaVu Sans Mono 11
# 5.12. Workspace buttons
# workspace_buttons no
# strip_workspace_numbers yes
#Show no icon on Status bar of active pacakges
# tray_output none
# Workspace bar options
status_command i3blocks
# status_command i3status
# status_command ~/.conky-i3.sh
# For dash(1) users who want signal handling to work:
# status_command exec ~/.bin/my_status_command
# 5.11. Custom separator symbol
# separator_symbol ":|:"
# Status i3 bar colors
colors {
background #242424
statusline #bfbdbd
# separator #666666
focused_workspace #242424 #D5D5D5 #242424
active_workspace #333333 #5f676a #ffffff
inactive_workspace #242424 #282828 #CCCACA
urgent_workspace #2A1A1A #858774 #1b1b1b
binding_mode #2f343a #900000 #ffffff
}
# Hide i3bar. Show up i3bar when pressing $mod
mode hide
hidden_state hide
modifier $Mod
}
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 | " Highly based on amix/vimrc : https://github.com/amix/vimrc
" Sections:
" -> General
" -> VIM user interface
" -> Colors and Fonts
" -> Files and backups
" -> Text, tab and indent related
" -> Visual mode related
" -> Moving around, tabs and buffers
" -> Status line
" -> Editing mappings
" -> vimgrep searching and cope displaying
" -> Spell checking
" -> Misc
" -> Helper functions
"
"{{{ OS specifics commands
" if has("win64") || has("win32") || has("win16")
" "{{{ Windows
"
" source $VIMRUNTIME/vimrc_example.vim
" source $VIMRUNTIME/mswin.vim
" behave mswin
"
" set diffexpr=MyDiff()
" function! MyDiff()
" let opt = '-a --binary '
" if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
" if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
" let arg1 = v:fname_in
" if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
" let arg2 = v:fname_new
" if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
" let arg3 = v:fname_out
" if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
" if $VIMRUNTIME =~ ' '
" if &sh =~ '\<cmd'
" if empty(&shellxquote)
" let l:shxq_sav = ''
" set shellxquote&
" endif
" let cmd = '"' . $VIMRUNTIME . '\diff"'
" else
" let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
" endif
" else
" let cmd = $VIMRUNTIME . '\diff'
" endif
" silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
" if exists('l:shxq_sav')
" let &shellxquote=l:shxq_sav
" endif
" endfunction
"
" " Turn persistent undo on
" try
" set undodir=%userprofile%\Vim\vimfiles\undodir
" set undofile
" catch
" endtry
"
" "= CPP compile and run commands
"
" augroup CppBuild
" autocmd!
" autocmd filetype cpp nnoremap <c-d> :w <bar> exec '!g++ -std=c++14 -Wall -Wextra -pedantic '.shellescape('%').' -o '.shellescape('%:r').' && '.shellescape('%:r')<CR>
" autocmd filetype cpp nnoremap <c-f> :w <bar> exec '!clang++ -std=c++14 -Wall -pedantic -Werror '.shellescape('%').' -o '.shellescape('%:r').' && .\'.shellescape('%:r')<CR>
" augroup END
"
"
" " Vim default font on gvim
" set guifont=Hack:h18
"
" "}}}
"
" else
"
" " {{{ Linux
"
"Turn persistent undo on means that you can undo even when you close a buffer/VIM
try
set undodir=~/.vim/undodir
set undofile
catch
endtry
" CPP compile and run commands
augroup CppBuild
autocmd!
autocmd filetype cpp nnoremap <leader>d :w <bar> exec '!g++ -std=c++14 -Wall -Wextra -pedantic '.shellescape('%').' -o '.shellescape('%:r').' && ./'.shellescape('%:r')<CR>
autocmd filetype cpp nnoremap <leader>f :w <bar> exec '!clang++ -std=c++14 -stdlib=libc++ -Wall -pedantic -Werror '.shellescape('%').' -o '.shellescape('%:r').' && ./'.shellescape('%:r')<CR>
augroup END
" "}}}
" "
" endif
"
"}}}
" {{{ Plugin Handlers Begin"
" Specify a directory for plugins (for Neovim: ~/.local/share/nvim/plugged)
call plug#begin('~/.vim/plugged')
set nocompatible " be iMproved, required
"filetype off " required
" set the runtime path to include Vundle and initialize
"set rtp+=~/.vim/bundle/Vundle.vim
"call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
" Plugin 'VundleVim/Vundle.vim
" }}}
" {{{ Plugins
Plug 'valloric/youcompleteme'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-fugitive'
Plug 'scrooloose/nerdcommenter'
Plug 'tpope/vim-repeat'
Plug 'majutsushi/tagbar'
Plug 'junegunn/vim-easy-align'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'easymotion/vim-easymotion'
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'ervandew/supertab'
Plug 'xolox/vim-easytags'
Plug 'xolox/vim-misc'
Plug 'myusuf3/numbers.vim'
Plug 'scrooloose/syntastic'
Plug 'zhou13/vim-easyescape'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'scrooloose/nerdtree'
Plug 'terryma/vim-multiple-cursors'
Plug 'mhinz/vim-startify' " The fancy start screen for Vim.
Plug 'christoomey/vim-tmux-navigator'
Plug 'airblade/vim-gitgutter'
" session management
Plug 'tpope/vim-obsession' " Autosave Session.vim
Plug 'dhruvasagar/vim-prosession'
Plug 'gikmx/ctrlp-obsession'
" Airline Plugins
Plug 'itchyny/lightline.vim'
" Plug 'bling/vim-airline'
" ColorScheme Plugins
Plug 'tomasr/molokai'
Plug 'morhetz/gruvbox'
Plug 'NLKNguyen/papercolor-theme'
Plug 'sonph/onehalf', {'rtp': 'vim/'}
Plug 'dikiaap/minimalist'
Plug 'vegangaro/graynito'
" Unused but interesting Plugins
Plug 'vim-airline/vim-airline-themes'
" Plug 'xuhdev/singlecompile'
" Plug 'Yggdroot/indentLine'
" Plug 'tpope/vim-commentary'
" Plug 'benmills/vimux'
" Plug 'tomtom/tcomment_vim'
" Plug 'ctrlpvim/ctrlp.vim'
" Plug 'wincent/command-t'
" Plug 'godlygeek/tabular' " align text
" }}}
" {{{ Plugin Handlers End
" Initialize plugin system
call plug#end()
"Vundle things
" All of your Plugins must be added before the following line
" call vundle#end() " required
" filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
" }}}
" {{{ General
" Sets how many lines of history VIM has to remember
set history=500
" Enable filetype plugins
filetype plugin on
filetype indent on
" Set to auto read when a file is changed from the outside
set autoread
" With a map leader it's possible to do extra key combinations
" like <leader>w saves the current file
let mapleader = ","
let g:mapleader = ","
" Write and quit with c-s and c-q
nnoremap <c-s> :w <cr>
nnoremap <c-q> :q <cr>
" Cut/Copy/Paste to work using the standard hotkeys
vmap <leader>u "+yy
vmap <leader>y "*yy
" vmap <C-v> c<ESC>"+p
" imap <C-v> <C-r><C-o>+
"
" Yanked words to clipboard
vnoremap <leader>k "*y
vnoremap <leader>j "+y
"
" :W sudo saves the files " (useful for handling the permission-denied error)
" command W w !sudo tee % > /dev/null
" A simple mapping to break the line at the cursor by pressing Ctrl+Enter:
" nmap <c-cr> i[Ctrl+V][Enter][Ctrl+V][Esc][Enter]
" }}}
" {{{ VIM user interface
" set 7 lines to the cursor - when moving vertically using j/k
set so=7
" Turn on the WiLd menu
set wildmenu
" Ignore compiled files
set wildignore=*.o,*~,*.pyc
if has("win16") || has("win32")
set wildignore+=.git\*,.hg\*,.svn\*
else
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
endif
"Always show current position
set ruler
" Height of the command bar
set cmdheight=2
" A buffer becomes hidden when it is abandoned
set hid
" Configure backspace so it acts as it should act
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
" Ignore case when searching
set ignorecase
" When searching try to be smart about cases
set smartcase
" Highlight search results
set hlsearch
" Makes search act like search in modern browsers
set incsearch
" Don't redraw while executing macros (good performance config)
set lazyredraw
" For regular expressions turn magic on
set magic
" Show matching brackets when text indicator is over them
set showmatch
" How many tenths of a second to blink when matching brackets
set mat=2
" No annoying sound on errors
set noerrorbells
set novisualbell
set t_vb=
set tm=500
" Properly disable sound on errors on MacVim
if has("gui_macvim")
autocmd GUIEnter * set vb t_vb=
endif
" *****************************
" Add a bit extra margin to the left
set foldcolumn=1
setl foldmethod=marker
" Tweak the color of the fold display column
" au ColorScheme * hi FoldColumn cterm=bold ctermbg=233 ctermfg=146
set nowrap "Don't wrap lines
set linebreak "Wrap lines at convenient points
" call alias inside vim
set shell=/bin/bash\ -i
" }}}
" {{{ colors
" enable syntax highlighting
syntax enable
" set utf8 as standard encoding and en_us as the standard language
set encoding=utf8
" use unix as the standard file type
set ffs=unix,dos,mac
" let g:xxxx_original = 1
"
colorscheme onehalfdark
" status line
set laststatus=2
" lightline themes : :h g:lightline.colorscheme
let g:lightline = {
\ 'colorscheme': 'graynito',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ]
\ },
\ 'component_function': {
\ 'gitbranch': 'fugitive#head'
\ },
\ }
" "airlines themes
" let g:airline_theme='zenburn'
" let g:airline_powerline_fonts = 1
"
" 256 colors
" set t_ut=
" set termguicolors
" set background=light
" set background=dark
set t_co=256
" }}}
" {{{ Files, backups and undo
"
" Turn backup off, since most stuff is in SVN, git et.c anyway...
set nobackup
set nowb
set noswapfile
" }}}
" {{{ Text, tab and indent related
" Use spaces instead of tabs
set expandtab
" Be smart when using tabs ;)
set smarttab
" 1 tab == 4 spaces
set shiftwidth=4
set tabstop=4
" Linebreak on 500 characters
set lbr
set tw=500
set ai "Auto indent
set si "Smart indent
set wrap "Wrap line
"*****************************
"Fix indentation
nnoremap <silent> <F6> mzgg=G`z
" if has('gui_running')
" set list listchars=tab:▶‒,nbsp:∙,trail:∙,extends:▶,precedes:◀
" let &showbreak = '↳'
" else
" set list listchars=tab:>-,nbsp:.,trail:.,extends:>,precedes:<
" let &showbreak = '^'
" endif
"
"
"
" set showbreak=\\
" }}}
" {{{ Visual mode related
" Visual mode pressing * or # searches for the current selection
" Super useful! From an idea by Michael Naumann
vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR
" }}}
" {{{ Moving around, tabs, windows and buffers
" " Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search)
" map <space> /
" map <c-space> ?
"
" Disable highlight when <leader><cr> is pressed
map <silent> <leader><cr> :noh<cr>
"
" Smart way to move between windows
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
" Close the current buffer
map <leader>bd :Bclose<cr>:tabclose<cxr>gT
" Close all the buffers
map <leader>ba :bufdo bd<cr>
map <leader>l :bnext<cr>
map <leader>h :bprevious<cr>
" Useful mappings for managing tabs
map <leader>tn :tabnew<cr>
map <leader>to :tabonly<cr>
map <leader>tc :tabclose<cr>
map <leader>tm :tabmove
map <leader>t<leader> :tabnext
" Let 'tl' toggle between this and the last accessed tab
let g:lasttab = 1
nmap <Leader>tl :exe "tabn ".g:lasttab<CR>
au TabLeave * let g:lasttab = tabpagenr()
" Opens a new tab with the current buffer's path
" Super useful when editing files in the same directory
map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/
" Switch CWD to the directory of the open buffer
map <leader>cd :cd %:p:h<cr>:pwd<cr>
" Specify the behavior when switching between buffers
try
set switchbuf=useopen,usetab,newtab
set stal=2
catch
endtry
" Return to last edit position when opening files (You want this!)
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
" }}}
" {{{ Editing mappings
" Remap VIM 0 to first non-blank character
" map 0 ^
" Delete trailing white space on save, useful for some filetypes ;)
fun! CleanExtraSpaces()
let save_cursor = getpos(".")
let old_query = getreg('/')
silent! %s/\s\+$//e
call setpos('.', save_cursor)
call setreg('/', old_query)
endfun
if has("autocmd")
autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh,*.coffee :call CleanExtraSpaces()
endif
" mapping F5 to remove whitespace trailing
nnoremap <silent> <F5> :let _s=@/ <Bar> :%s/\s\+$//e <Bar> :let @/=_s <Bar> :nohl <Bar> :unlet _s <CR>
" Manually Remove whitespace traling by typing command: / $
" Fix indentation
map <F7> mzgg=G`z
" }}}
" {{{ Spell checking
" Set spell check for en and br
set spelllang=en,br
" Pressing ,ss will toggle and untoggle spell checking
map <leader>ss :setlocal spell!<cr>
" Shortcuts using <leader>
map <leader>sn ]s
map <leader>sp [s
map <leader>sa zg
map <leader>s? z=
" }}}
" {{{ Misc
" Remove the Windows ^M - when the encodings gets messed up
noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
" Quickly open a buffer for scribble
map <leader>q :e ~/buffer<cr>
" Quickly open a markdown buffer for scribble
map <leader>x :e ~/buffer.md<cr>
" Toggle paste mode on and off
" map <leader>pp :setlocal paste!<cr>
" Toggle auto-indenTING FOR CODE PAste
set pastetoggle=<F2>
" }}}
" {{{ Fast editing and reloading of vimrc configs
nnoremap <leader>e :tabedit $MYVIMRC <cr>
" }}}
" {{{ GUI related Fonts GVIM
" Set font according to system
if has("mac") || has("macunix")
set gfn=Hack:h14,Source\ Code\ Pro:h15,Menlo:h15
elseif has("win16") || has("win32")
set gfn=Hack:h14,Source\ Code\ Pro:h12,Bitstream\ Vera\ Sans\ Mono:h11
elseif has("gui_gtk2")
set gfn=Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
elseif has("linux")
set gfn=Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
elseif has("unix")
set gfn=Monospace\ 11
endif
" Disable scrollbars (real hackers don't use scrollbars for navigation!)
:set guioptions-=m "remove menu bar
:set guioptions-=T "remove toolbar
:set guioptions-=r "remove right-hand scroll bar
:set guioptions-=L "remove left-hand scroll bar
" }}}
" {{{ Vim Plugins Specify
"Auto-Reload Your Vimrc
" augroup reload_vimrc " {
" autocmd!
" autocmd BufWritePost $MYVIMRC source $MYVIMRC
" augroup END " }
"
" Start interactive EasyAlign in visual mode (e.g. vipga)
xmap ga <Plug>(EasyAlign)
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
" vim-multiple-cursors
let g:multi_cursor_next_key="\<C-e>"
"vim-cpp
let g:cpp_class_scope_highlight = 1 "Highlighting of class scope is disabled by default. To enable set
let g:cpp_member_variable_highlight = 1 "Highlighting of member variables is disabled by default. To enable set
let g:cpp_experimental_simple_template_highlight = 1 "There are two ways to hightlight template functions. Either
"let g:cpp_experimental_template_highlight = 1 "which is a faster implementation but has some corner cases where it doesn't work.
let g:cpp_concepts_highlight = 1 "Highlighting of library concepts is enabled by
let c_no_curly_error=1 "Braces inside square brackets shown as error
" Tagbar keybinding to F8
nmap <f8> :TagbarOpenAutoClose<cr>
" NERDTree keybinding to CTRL + n
map <leader><tab> :NERDTreeToggle<CR>
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" Use compact syntax for prettified multi-line comments
let g:NERDCompactSexyComs = 1
" Align line-wise comment delimiters flush left instead of following code indentation
let g:NERDDefaultAlign = 'left'
" Set a language to use its alternate delimiters by default
let g:NERDAltDelims_java = 1
" Add your own custom formats or override the defaults
let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } }
" Allow commenting and inverting empty lines (useful when commenting a region)
let g:NERDCommentEmptyLines = 1
" Enable trimming of trailing whitespace when uncommenting
let g:NERDTrimTrailingwhitespace = 1
" syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
"syntastic c++11/14/17
let g:syntastic_cpp_compiler = 'g++'
let g:syntastic_cpp_compiler_options = '-std=c++14'
let g:syntastic_cpp_checkers = ['gcc']
" let g:syntastic_cpp_compiler = 'clang++'
" let g:syntastic_cpp_compiler_options = '-std=c++14 -stdlib=libc++'
" let g:syntastic_cpp_checkers = ['clang_check', 'gcc']
" youcompleteme C- family
let g:ycm_global_ycm_extra_conf = "~/.vim/.ycm_extra_conf.py"
" Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe.
let g:UltiSnipsExpandTrigger="<c-j>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
" If you want :UltiSnipsEdit to split your window.
let g:UltiSnipsEditSplit="vertical"
let g:tmux_navigator_no_mappings = 1
nnoremap <silent> {c-h} :TmuxNavigateLeft<cr>
nnoremap <silent> {c-k} :TmuxNavigateDown<cr>
nnoremap <silent> {c-j} :TmuxNavigateUp<cr>
nnoremap <silent> {c-l} :TmuxNavigateRight<cr>
nnoremap <silent> {c-p} :TmuxNavigatePrevious<cr>
"vim-gitgutter
" let g:gitgutter_override_sign_column_highlight = 0
" And then either update your colorscheme's SignColumn highlight group or set it in your vimrc:
" highlight SignColumn ctermbg=whatever " terminal Vim
"EasyMotion
" map <Leader> <Plug>(easymotion-prefix)
"CtrlP
" let g:ctrlp_map = '<c-p>'
" let g:ctrlp_cmd = 'CtrlP'
" }}}
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | source ~/.aliases
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# History completion
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
#Shorter history
export HISTCONTROL=ignoredups
# Mimic Zsh run-help ability
bind '"\eh": "\C-a\eb\ed\C-y\e#man \C-y\C-m\C-p\C-p\C-a\C-d\C-e"'
export DISPLAY=:0.0
# Define some colors first: Capitals denote bold
red='\e[0;31m'
RED='\e[1;31m'
WHITE='\e[0;37m'
green='\e[0;32m'
GREEN='\e[1;32m'
yellow='\e[0;33m'
YELLOW='\e[1;33m'
blue='\e[0;34m'
BLUE='\e[1;34m'
magenta='\e[0;35m'
MAGENTA='\e[1;35m'
cyan='\e[0;36m'
CYAN='\e[1;36m'
NC='\e[0m' # No Color
# Taken from http://www.opinionatedprogrammer.com/2011/01/colorful-bash-prompt-reflecting-git-status/
function _git_prompt() {
local git_status="`git status -unormal 2>&1`"
if ! [[ "$git_status" =~ Not\ a\ git\ repo ]]; then
if [[ "$git_status" =~ nothing\ to\ commit ]]; then
local ansi=$WHITE
elif [[ "$git_status" =~ nothing\ added\ to\ commit\ but\ untracked\ files\ present ]]; then
local ansi=$RED
else
local ansi=$YELLOW
fi
if [[ "$git_status" =~ On\ branch\ ([^[:space:]]+) ]]; then
branch=${BASH_REMATCH[1]}
#test "$branch" != master || branch=' '
else
# Detached HEAD. (branch=HEAD is a faster alternative.)
branch="(`git describe --all --contains --abbrev=4 HEAD 2> /dev/null ||
echo HEAD`)"
fi
echo -n '[\['"$ansi"'\]'"$branch"'\[\e[0m\]]'
fi
}
function report_status() {
RET_CODE=$?
if [[ $RET_CODE -ne 0 ]] ; then
echo -ne "[\[$RED\]$RET_CODE\[$NC\]]"
fi
}
export _PS1="\[$NC\]\u (\W) "
export PS2="\[$NC\]> "
export PROMPT_COMMAND='_status=$(report_status);export PS1="${_PS1}$(_git_prompt)${_status} \$ ";unset _status;'
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 | # cat << EOF > /dev/null
# https://github.com/gpakosz/.tmux
# (‑●‑●)> released under the WTFPL v2 license, by Gregory Pakosz (@gpakosz)
# /!\ do not edit this file
# instead, override settings in ~/.tmux.conf.local
# -- general -------------------------------------------------------------------
set -g default-terminal "screen-256color" # colors!
setw -g xterm-keys on
set -s escape-time 10 # faster command sequences
set -sg repeat-time 600 # increase repeat timeout
set -s focus-events on
set -g prefix2 C-a # GNU-Screen compatible prefix
bind C-a send-prefix -2
set -q -g status-utf8 on # expect UTF-8 (tmux < 2.2)
setw -q -g utf8 on
set -g history-limit 5000 # boost history
# edit configuration
bind e new-window -n '~/.tmux.conf.local' "sh -c '\${EDITOR:-vim} ~/.tmux.conf.local && tmux source ~/.tmux.conf && tmux display \"~/.tmux.conf sourced\"'"
# reload configuration
bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced'
# set-option -g default-shell "/bin/zsh"
# -- display -------------------------------------------------------------------
set -g base-index 1 # start windows numbering at 1
setw -g pane-base-index 1 # make pane numbering consistent with windows
setw -g automatic-rename on # rename window to reflect current program
set -g renumber-windows on # renumber windows when a window is closed
set -g set-titles on # set terminal title
set -g set-titles-string '#h ❐ #S ● #I #W'
set -g display-panes-time 800 # slightly longer pane indicators display time
set -g display-time 1000 # slightly longer status messages display time
set -g status-interval 10 # redraw status line every 10 seconds
# clear both screen and history
bind -n C-l send-keys C-l \; run 'sleep 0.05 && tmux clear-history'
# activity
set -g monitor-activity on
set -g visual-activity off
# -- navigation ----------------------------------------------------------------
# create session
bind C-c new-session
# find session
bind C-f command-prompt -p find-session 'switch-client -t %%'
# split current window horizontally
bind - split-window -v
# split current window vertically
bind _ split-window -h
# pane navigation
bind -r h select-pane -L # move left
bind -r j select-pane -D # move down
bind -r k select-pane -U # move up
bind -r l select-pane -R # move right
bind > swap-pane -D # swap current pane with the next one
bind < swap-pane -U # swap current pane with the previous one
# pane resizing
bind -r H resize-pane -L 2
bind -r J resize-pane -D 2
bind -r K resize-pane -U 2
bind -r L resize-pane -R 2
# window navigation
unbind n
unbind p
bind -r C-h previous-window # select previous window
bind -r C-l next-window # select next window
bind Tab last-window # move to last active window
# toggle mouse
bind m run "cut -c3- ~/.tmux.conf | sh -s _toggle_mouse"
# -- urlview -------------------------------------------------------------------
bind U run "cut -c3- ~/.tmux.conf | sh -s _urlview #{pane_id}"
# -- facebook pathpicker -------------------------------------------------------
bind F run "cut -c3- ~/.tmux.conf | sh -s _fpp #{pane_id}"
# -- list choice (tmux < 2.4) --------------------------------------------------
# vi-choice is gone in tmux >= 2.4
run -b 'tmux bind -t vi-choice h tree-collapse 2> /dev/null || true'
run -b 'tmux bind -t vi-choice l tree-expand 2> /dev/null || true'
run -b 'tmux bind -t vi-choice K start-of-list 2> /dev/null || true'
run -b 'tmux bind -t vi-choice J end-of-list 2> /dev/null || true'
run -b 'tmux bind -t vi-choice H tree-collapse-all 2> /dev/null || true'
run -b 'tmux bind -t vi-choice L tree-expand-all 2> /dev/null || true'
run -b 'tmux bind -t vi-choice Escape cancel 2> /dev/null || true'
# -- edit mode (tmux < 2.4) ----------------------------------------------------
# vi-edit is gone in tmux >= 2.4
run -b 'tmux bind -ct vi-edit H start-of-line 2> /dev/null || true'
run -b 'tmux bind -ct vi-edit L end-of-line 2> /dev/null || true'
run -b 'tmux bind -ct vi-edit q cancel 2> /dev/null || true'
run -b 'tmux bind -ct vi-edit Escape cancel 2> /dev/null || true'
# -- copy mode -----------------------------------------------------------------
bind Enter copy-mode # enter copy mode
run -b 'tmux bind -t vi-copy v begin-selection 2> /dev/null || true'
run -b 'tmux bind -T copy-mode-vi v send -X begin-selection 2> /dev/null || true'
run -b 'tmux bind -t vi-copy C-v rectangle-toggle 2> /dev/null || true'
run -b 'tmux bind -T copy-mode-vi C-v send -X rectangle-toggle 2> /dev/null || true'
run -b 'tmux bind -t vi-copy y copy-selection 2> /dev/null || true'
run -b 'tmux bind -T copy-mode-vi y send -X copy-selection-and-cancel 2> /dev/null || true'
run -b 'tmux bind -t vi-copy Escape cancel 2> /dev/null || true'
run -b 'tmux bind -T copy-mode-vi Escape send -X cancel 2> /dev/null || true'
run -b 'tmux bind -t vi-copy H start-of-line 2> /dev/null || true'
run -b 'tmux bind -T copy-mode-vi L send -X end-of-line 2> /dev/null || true'
# copy to Mac OSX clipboard
if -b 'command -v reattach-to-user-namespace > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | reattach-to-user-namespace pbcopy"'
# copy to X11 clipboard
if -b 'command -v xsel > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xsel -i -b"'
if -b '! command -v xsel > /dev/null 2>&1 && command -v xclip > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xclip -i -selection clipboard >/dev/null 2>&1"'
# copy to Windows clipboard
if -b 'command -v clip.exe > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | clip.exe"'
if -b '[ -c /dev/clipboard ]' 'bind y run -b "tmux save-buffer - > /dev/clipboard"'
# -- buffers -------------------------------------------------------------------
bind b list-buffers # list paste buffers
bind p paste-buffer # paste from the top paste buffer
bind P choose-buffer # choose which buffer to paste from
# -- user defined overrides ----------------------------------------------------
if '[ -f ~/.tmux.conf.local ]' 'source ~/.tmux.conf.local'
# -- 8< ------------------------------------------------------------------------
run 'cut -c3- ~/.tmux.conf | sh -s _apply_configuration'
# EOF
#
# # exit the script if any statement returns a non-true return value
# set -e
#
# __newline='
# '
#
# _is_enabled() {
# ( ([ x"$1" = x"enabled" ] || [ x"$1" = x"true" ] || [ x"$1" = x"yes" ] || [ x"$1" = x"1" ]) && return 0 ) || return 1
# }
#
# _circled_digit() {
# circled_digits='⓪ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳'
# if [ "$1" -le 20 ] 2>/dev/null; then
# i=$(( $1 + 1 ))
# eval set -- "$circled_digits"
# eval echo "\${$i}"
# else
# echo "$1"
# fi
# }
#
# _maximize_pane() {
# current_session=${1:-$(tmux display -p '#{session_name}')}
# current_pane=${2:-$(tmux display -p '#{pane_id}')}
#
# dead_panes=$(tmux list-panes -s -t "$current_session" -F '#{pane_dead} #{pane_id} #{pane_start_command}' | grep -o '^1 %.\+maximized.\+$' || true)
# restore=$(echo "$dead_panes" | sed -n -E -e "s/^1 $current_pane .+maximized.+(%[0-9]+)$/tmux swap-pane -s \1 -t $current_pane \; kill-pane -t $current_pane/p" -e "s/^1 (%[0-9]+) .+maximized.+$current_pane$/tmux swap-pane -s \1 -t $current_pane \; kill-pane -t \1/p" )
#
# if [ -z "$restore" ]; then
# [ "$(tmux list-panes -t "$current_session:" | wc -l | sed 's/^ *//g')" -eq 1 ] && tmux display "Can't maximize with only one pane" && return
# window=$(tmux new-window -t "$current_session:" -P "exec maximized... 2> /dev/null & tmux setw -t $current_session: remain-on-exit on; printf 'Pane has been maximized, press <prefix>+ to restore. %s' \\$current_pane")
# window=${window%.*}
#
# guard=10
# while [ x"$(tmux list-panes -t "$window" -F '#{session_name}:#{window_index} #{pane_dead}' 2>/dev/null)" != x"$window 1" ] && [ "$guard" -ne 0 ]; do
# sleep 0.01
# guard=$((guard - 1))
# done
# if [ "$guard" -eq 0 ]; then
# tmux display 'Unable to maximize pane'
# fi
#
# new_pane=$(tmux display -p '#{pane_id}')
# tmux setw -t "$window" remain-on-exit off \; swap-pane -s "$current_pane" -t "$new_pane"
# else
# $restore || tmux kill-pane
# fi
# }
#
# _toggle_mouse() {
# if tmux show -g -w | grep -q mode-mouse; then
# old=$(tmux show -g -w | grep mode-mouse | cut -d' ' -f2)
# new=""
#
# if [ "$old" = "on" ]; then
# new="off"
# else
# new="on"
# fi
#
# tmux set -g mode-mouse $new \;\
# set -g mouse-resize-pane $new \;\
# set -g mouse-select-pane $new \;\
# set -g mouse-select-window $new \;\
# display "mouse: $new"
# else
# old=$(tmux show -g | grep mouse | head -n 1 | cut -d' ' -f2)
# new=""
#
# if [ "$old" = "on" ]; then
# new="off"
# else
# new="on"
# fi
#
# tmux set -g mouse $new \;\
# display "mouse: $new"
# fi
# }
#
# _battery() {
# charge=0
# uname_s=$(uname -s)
# case "$uname_s" in
# *Darwin*)
# while IFS= read -r line; do
# if [ x"$discharging" != x"true" ]; then
# discharging=$(printf '%s' "$line" | grep -qi "discharging" && echo "true" || echo "false")
# fi
# percentage=$(printf '%s' "$line" | grep -E -o '[0-9]+%')
# charge=$(awk -v charge="$charge" -v percentage="${percentage%%%}" 'BEGIN { print charge + percentage / 100 }')
# count=$((count + 1))
# done << EOF
# $(pmset -g batt | grep 'InternalBattery')
# EOF
# ;;
# *Linux*)
# while IFS= read -r batpath; do
# if [ x"$discharging" != x"true" ]; then
# discharging=$(grep -qi "discharging" "$batpath/status" && echo "true" || echo "false")
# fi
# bat_capacity="$batpath/capacity"
# if [ -r "$bat_capacity" ]; then
# charge=$(awk -v charge="$charge" -v capacity="$(cat "$bat_capacity")" 'BEGIN { print charge + capacity / 100 }')
# else
# bat_energy_full="$batpath/energy_full"
# bat_energy_now="$batpath/energy_now"
# if [ -r "$bat_energy_full" ] && [ -r "$bat_energy_now" ]; then
# charge=$(awk -v charge="$charge" -v energy_now="$(cat "$bat_energy_now")" -v energy_full="$(cat "$bat_energy_full")" 'BEGIN { print charge + energy_now / energy_full }')
# fi
# fi
# count=$((count + 1))
# done << EOF
# $(find /sys/class/power_supply -maxdepth 1 -iname '*bat*')
# EOF
# ;;
# *CYGWIN*|*MSYS*|*MINGW*)
# while IFS= read -r line; do
# [ -z "$line" ] && continue
# if [ x"$discharging" != x"true" ]; then
# discharging=$(printf '%s' "$line" | awk '{ s = ($1 == 1) ? "true" : "false"; print s }')
# fi
# charge=$(printf '%s' "$line" | awk -v charge="$charge" '{ print charge + $2 / 100 }')
# count=$((count + 1))
# done << EOF
# $(wmic path Win32_Battery get BatteryStatus, EstimatedChargeRemaining | tr -d '\r' | tail -n +2)
# EOF
# ;;
# *OpenBSD*)
# for batid in 0 1 2; do
# sysctl -n "hw.sensors.acpibat$batid.raw0" 2>&1 | grep -q 'not found' && continue
# if [ x"$discharging" != x"true" ]; then
# discharging=$(sysctl -n "hw.sensors.acpibat$batid.raw0" | grep -q 1 && echo "true" || echo "false")
# fi
# if sysctl -n "hw.sensors.acpibat$batid" | grep -q amphour; then
# charge=$(awk -v charge="$charge" -v remaining="$(sysctl -n hw.sensors.acpibat$batid.amphour3 | cut -d' ' -f1)" -v full="$(sysctl -n hw.sensors.acpibat$batid.amphour0 | cut -d' ' -f1)" 'BEGIN { print charge + remaining / full }')
# else
# charge=$(awk -v charge="$charge" -v remaining="$(sysctl -n hw.sensors.acpibat$batid.watthour3 | cut -d' ' -f1)" -v full="$(sysctl -n hw.sensors.acpibat$batid.watthour0 | cut -d' ' -f1)" 'BEGIN { print charge + remaining / full }')
# fi
# count=$((count + 1))
# done
# ;;
# esac
# charge=$(awk -v charge="$charge" -v count="$count" 'BEGIN { print charge / count }')
# if [ "$charge" -eq 0 ]; then
# tmux set -ug '@battery_status' \;\
# set -ug '@battery_bar' \;\
# set -ug '@battery_hbar' \;\
# set -ug '@battery_vbar' \;\
# set -ug '@battery_percentage'
# return
# fi
#
# variables=$(tmux show -gqv '@battery_bar_symbol_full' \;\
# show -gqv '@battery_bar_symbol_empty' \;\
# show -gqv '@battery_bar_length' \;\
# show -gqv '@battery_bar_palette' \;\
# show -gqv '@battery_hbar_palette' \;\
# show -gqv '@battery_vbar_palette' \;\
# show -gqv '@battery_status_charging' \;\
# show -gqv '@battery_status_discharging')
# # shellcheck disable=SC2086
# { set -f; IFS="$__newline"; set -- $variables; unset IFS; set +f; }
#
# battery_bar_symbol_full=$1
# battery_bar_symbol_empty=$2
# battery_bar_length=$3
# battery_bar_palette=$4
# battery_hbar_palette=$5
# battery_vbar_palette=$6
# battery_status_charging=$7
# battery_status_discharging=$8
#
# if [ x"$battery_bar_length" = x"auto" ]; then
# columns=$(tmux -q display -p '#{client_width}' 2> /dev/null || echo 80)
# if [ "$columns" -ge 80 ]; then
# battery_bar_length=10
# else
# battery_bar_length=5
# fi
# fi
#
# if [ x"$discharging" = x"true" ]; then
# battery_status="$battery_status_discharging"
# else
# battery_status="$battery_status_charging"
# fi
#
# if echo "$battery_bar_palette" | grep -q -E '^heat|gradient(,[#a-z0-9]{7,9})?$'; then
# # shellcheck disable=SC2086
# { set -f; IFS=,; set -- $battery_bar_palette; unset IFS; set +f; }
# palette_style=$1
# battery_bg=${2:-none}
# [ x"$palette_style" = x"gradient" ] && \
# palette="196 202 208 214 220 226 190 154 118 82 46"
# [ x"$palette_style" = x"heat" ] && \
# palette="233 234 235 237 239 241 243 245 247 144 143 142 184 214 208 202 196"
#
# palette=$(echo "$palette" | awk -v n="$battery_bar_length" '{ for (i = 0; i < n; ++i) printf $(1 + (i * NF / n))" " }')
# eval set -- "$palette"
#
# full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }")
# battery_bar="#[bg=$battery_bg]"
# # shellcheck disable=SC2046
# [ "$full" -gt 0 ] && \
# battery_bar="$battery_bar$(printf "#[fg=colour%s]$battery_bar_symbol_full" $(echo "$palette" | cut -d' ' -f1-"$full"))"
# # shellcheck disable=SC2046
# empty=$((battery_bar_length - full))
# # shellcheck disable=SC2046
# [ "$empty" -gt 0 ] && \
# battery_bar="$battery_bar$(printf "#[fg=colour%s]$battery_bar_symbol_empty" $(echo "$palette" | cut -d' ' -f$((full + 1))-$((full + empty))))"
# eval battery_bar="$battery_bar#[fg=colour\${$((full == 0 ? 1 : full))}]"
# elif echo "$battery_bar_palette" | grep -q -E '^(([#a-z0-9]{7,9}|none),?){3}$'; then
# # shellcheck disable=SC2086
# { set -f; IFS=,; set -- $battery_bar_palette; unset IFS; set +f; }
# battery_full_fg=$1
# battery_empty_fg=$2
# battery_bg=$3
#
# full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }")
# [ x"$battery_bg" != x"none" ] && \
# battery_bar="#[bg=$battery_bg]"
# #shellcheck disable=SC2046
# [ "$full" -gt 0 ] && \
# battery_bar="$battery_bar#[fg=$battery_full_fg]$(printf "%0.s$battery_bar_symbol_full" $(seq 1 "$full"))"
# empty=$((battery_bar_length - full))
# #shellcheck disable=SC2046
# [ "$empty" -gt 0 ] && \
# battery_bar="$battery_bar#[fg=$battery_empty_fg]$(printf "%0.s$battery_bar_symbol_empty" $(seq 1 "$empty"))" && \
# battery_bar="$battery_bar#[fg=$battery_empty_fg]"
# fi
#
# if echo "$battery_hbar_palette" | grep -q -E '^heat|gradient(,[#a-z0-9]{7,9})?$'; then
# # shellcheck disable=SC2086
# { set -f; IFS=,; set -- $battery_hbar_palette; unset IFS; set +f; }
# palette_style=$1
# [ x"$palette_style" = x"gradient" ] && \
# palette="196 202 208 214 220 226 190 154 118 82 46"
# [ x"$palette_style" = x"heat" ] && \
# palette="233 234 235 237 239 241 243 245 247 144 143 142 184 214 208 202 196"
#
# palette=$(echo "$palette" | awk -v n="$battery_bar_length" '{ for (i = 0; i < n; ++i) printf $(1 + (i * NF / n))" " }')
# eval set -- "$palette"
#
# full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }")
# eval battery_hbar_fg="colour\${$((full == 0 ? 1 : full))}"
# elif echo "$battery_hbar_palette" | grep -q -E '^([#a-z0-9]{7,9},?){3}$'; then
# # shellcheck disable=SC2086
# { set -f; IFS=,; set -- $battery_hbar_palette; unset IFS; set +f; }
#
# # shellcheck disable=SC2046
# eval $(awk "BEGIN { printf \"battery_hbar_fg=$%d\", (($charge) - 0.001) * $# + 1 }")
# fi
#
# eval set -- "▏ ▎ ▍ ▌ ▋ ▊ ▉ █"
# # shellcheck disable=SC2046
# eval $(awk "BEGIN { printf \"battery_hbar_symbol=$%d\", ($charge) * ($# - 1) + 1 }")
# battery_hbar="#[fg=${battery_hbar_fg?}]${battery_hbar_symbol?}"
#
# if echo "$battery_vbar_palette" | grep -q -E '^heat|gradient(,[#a-z0-9]{7,9})?$'; then
# # shellcheck disable=SC2086
# { set -f; IFS=,; set -- $battery_vbar_palette; unset IFS; set +f; }
# palette_style=$1
# [ x"$palette_style" = x"gradient" ] && \
# palette="196 202 208 214 220 226 190 154 118 82 46"
# [ x"$palette_style" = x"heat" ] && \
# palette="233 234 235 237 239 241 243 245 247 144 143 142 184 214 208 202 196"
#
# palette=$(echo "$palette" | awk -v n="$battery_bar_length" '{ for (i = 0; i < n; ++i) printf $(1 + (i * NF / n))" " }')
# eval set -- "$palette"
#
# full=$(awk "BEGIN { printf \"%.0f\", ($charge) * $battery_bar_length }")
# eval battery_vbar_fg="colour\${$((full == 0 ? 1 : full))}"
# elif echo "$battery_vbar_palette" | grep -q -E '^([#a-z0-9]{7,9},?){3}$'; then
# # shellcheck disable=SC2086
# { set -f; IFS=,; set -- $battery_vbar_palette; unset IFS; set +f; }
#
# # shellcheck disable=SC2046
# eval $(awk "BEGIN { printf \"battery_vbar_fg=$%d\", (($charge) - 0.001) * $# + 1 }")
# fi
#
# eval set -- "▁ ▂ ▃ ▄ ▅ ▆ ▇ █"
# # shellcheck disable=SC2046
# eval $(awk "BEGIN { printf \"battery_vbar_symbol=$%d\", ($charge) * ($# - 1) + 1 }")
# battery_vbar="#[fg=${battery_vbar_fg?}]${battery_vbar_symbol?}"
#
# battery_percentage="$(awk "BEGIN { printf \"%.0f%%\", ($charge) * 100 }")"
#
# tmux set -g '@battery_status' "$battery_status" \;\
# set -g '@battery_bar' "$battery_bar" \;\
# set -g '@battery_hbar' "$battery_hbar" \;\
# set -g '@battery_vbar' "$battery_vbar" \;\
# set -g '@battery_percentage' "$battery_percentage"
# }
#
# _username() {
# tty=${1:-$(tmux display -p '#{pane_tty}')}
# ssh_only=$2
# # shellcheck disable=SC2039
# if [ x"$OSTYPE" = x"cygwin" ]; then
# pid=$(ps -a | awk -v tty="${tty##/dev/}" '$5 == tty && /ssh/ && !/vagrant ssh/ && !/autossh/ && !/-W/ { print $1 }')
# [ -n "$pid" ] && ssh_parameters=$(tr '\0' ' ' < "/proc/$pid/cmdline" | sed 's/^ssh //')
# else
# ssh_parameters=$(ps -t "$tty" -o command= | awk '/ssh/ && !/vagrant ssh/ && !/autossh/ && !/-W/ { $1=""; print $0; exit }')
# fi
# if [ -n "$ssh_parameters" ]; then
# # shellcheck disable=SC2086
# username=$(ssh -G $ssh_parameters 2>/dev/null | awk 'NR > 2 { exit } ; /^user / { print $2 }')
# # shellcheck disable=SC2086
# [ -z "$username" ] && username=$(ssh -T -o ControlPath=none -o ProxyCommand="sh -c 'echo %%username%% %r >&2'" $ssh_parameters 2>&1 | awk '/^%username% / { print $2; exit }')
# else
# if ! _is_enabled "$ssh_only"; then
# # shellcheck disable=SC2039
# if [ x"$OSTYPE" = x"cygwin" ]; then
# username=$(whoami)
# else
# username=$(ps -t "$tty" -o user= -o pid= -o ppid= -o command= | awk '
# !/ssh/ { user[$2] = $1; ppid[$3] = 1 }
# END {
# for (i in user)
# if (!(i in ppid))
# {
# print user[i]
# exit
# }
# }
# ')
# fi
# fi
# fi
#
# echo "$username"
# }
#
# _hostname() {
# tty=${1:-$(tmux display -p '#{pane_tty}')}
# ssh_only=$2
# # shellcheck disable=SC2039
# if [ x"$OSTYPE" = x"cygwin" ]; then
# pid=$(ps -a | awk -v tty="${tty##/dev/}" '$5 == tty && /ssh/ && !/vagrant ssh/ && !/autossh/ && !/-W/ { print $1 }')
# [ -n "$pid" ] && ssh_parameters=$(tr '\0' ' ' < "/proc/$pid/cmdline" | sed 's/^ssh //')
# else
# ssh_parameters=$(ps -t "$tty" -o command= | awk '/ssh/ && !/vagrant ssh/ && !/autossh/ && !/-W/ { $1=""; print $0; exit }')
# fi
# if [ -n "$ssh_parameters" ]; then
# # shellcheck disable=SC2086
# hostname=$(ssh -G $ssh_parameters 2>/dev/null | awk 'NR > 2 { exit } ; /^hostname / { print $2 }')
# # shellcheck disable=SC2086
# [ -z "$hostname" ] && hostname=$(ssh -T -o ControlPath=none -o ProxyCommand="sh -c 'echo %%hostname%% %h >&2'" $ssh_parameters 2>&1 | awk '/^%hostname% / { print $2; exit }')
# #shellcheck disable=SC1004
# hostname=$(echo "$hostname" | awk '\
# { \
# if ($1~/^[0-9.:]+$/) \
# print $1; \
# else \
# split($1, a, ".") ; print a[1] \
# }')
# else
# if ! _is_enabled "$ssh_only"; then
# hostname=$(command hostname -s)
# fi
# fi
#
# echo "$hostname"
# }
#
# _root() {
# tty=${1:-$(tmux display -p '#{pane_tty}')}
# username=$(_username "$tty" false)
#
# if [ x"$username" = x"root" ]; then
# tmux show -gqv '@root'
# else
# echo ""
# fi
# }
#
# _uptime() {
# case $(uname -s) in
# *Darwin*)
# boot=$(sysctl -q -n kern.boottime | awk -F'[ ,:]+' '{ print $4 }')
# now=$(date +%s)
# ;;
# *Linux*|*CYGWIN*|*MSYS*|*MINGW*)
# now=$(cut -d' ' -f1 < /proc/uptime)
# ;;
# *OpenBSD*)
# boot=$(sysctl -n kern.boottime)
# now=$(date +%s)
# esac
# # shellcheck disable=SC1004
# awk -v boot="$boot" -v now="$now" '
# BEGIN {
# uptime = now - boot
# d = int(uptime / 86400)
# h = int(uptime / 3600) % 24
# m = int(uptime / 60) % 60
# s = int(uptime) % 60
#
# system("tmux set -g @uptime_d " d + 0 " \\; " \
# "set -g @uptime_h " h + 0 " \\; " \
# "set -g @uptime_m " m + 0 " \\; " \
# "set -g @uptime_s " s + 0)
# }'
# }
#
# _loadavg() {
# case $(uname -s) in
# *Darwin*)
# tmux set -g @loadavg "$(sysctl -q -n vm.loadavg | cut -d' ' -f2)"
# ;;
# *Linux*)
# tmux set -g @loadavg "$(cut -d' ' -f1 < /proc/loadavg)"
# ;;
# *OpenBSD*)
# tmux set -g @loadavg "$(sysctl -q -n vm.loadavg | cut -d' ' -f1)"
# ;;
# esac
# }
#
# _split_window() {
# tty=${1:-$(tmux display -p '#{pane_tty}')}
# shift
# # shellcheck disable=SC2039
# if [ x"$OSTYPE" = x"cygwin" ]; then
# pid=$(ps -a | sort -d | awk -v tty="${tty##/dev/}" '$5 == tty && /ssh/ && !/-W/ { print $1; exit 0 }')
# [ -n "$pid" ] && ssh=$(tr '\0' ' ' < "/proc/$pid/cmdline")
# else
# ssh=$(ps -t "$tty" -o command= | sort -d | awk '/ssh/ && !/-W/ { print $0; exit 0 }')
# fi
# if [ -n "$ssh" ]; then
# # shellcheck disable=SC2046
# tmux split-window "$@" $(echo "$ssh" | sed -e "s/;/\\\\;/g")
# else
# tmux split-window "$@"
# fi
# }
#
# _apply_overrides() {
# tmux_conf_theme_24b_colour=${tmux_conf_theme_24b_colour:-false}
# if _is_enabled "$tmux_conf_theme_24b_colour"; then
# case "$TERM" in
# screen-*|tmux-*)
# ;;
# *)
# tmux set-option -ga terminal-overrides ",$TERM:Tc"
# ;;
# esac
# fi
# }
#
# _apply_bindings() {
# line=$(tmux list-keys | grep new-window | head -1)
# prefix=${line%new-window*}
# column=${#prefix}
#
# tmux_conf_new_window_retain_current_path=${tmux_conf_new_window_retain_current_path:-false}
# while IFS= read -r line; do
# [ -z "$line" ] && continue
# left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g')
# if _is_enabled "$tmux_conf_new_window_retain_current_path"; then
# right=$(printf '%s' "$line" | cut -c"$column-" | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/new-window$/new-window -c "#{pane_current_path}"/g')
# else
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/-c[ \t]+"#\{pane_current_path\}"$//g')
# fi
# eval "tmux $left $right" 2>/dev/null || true
# done << EOF
# $(tmux list-keys 2>/dev/null | grep -e 'new-window\(\s\+-c\s\+"#{pane_current_path}\|$\)')
# EOF
#
# tmux_conf_new_pane_retain_current_path=${tmux_conf_new_pane_retain_current_path:-true}
# while IFS= read -r line; do
# [ -z "$line" ] && continue
# left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g')
# if _is_enabled "$tmux_conf_new_pane_retain_current_path"; then
# right=$(printf '%s' "$line" | cut -c"$column-" | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/split-window([ \t]+-(h|v))?$/& -c "#{pane_current_path}"/g')
# else
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/-c[ \t]+"#\{pane_current_path\}"$//g')
# fi
# eval "tmux $left $right" 2>/dev/null || true
# done << EOF
# $(tmux list-keys 2>/dev/null | grep -e 'split\(-\|_\)window')
# EOF
#
# tmux_conf_new_pane_reconnect_ssh=${tmux_conf_new_pane_reconnect_ssh:-false}
# while IFS= read -r line; do
# [ -z "$line" ] && continue
# left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g')
# if _is_enabled "$tmux_conf_new_pane_reconnect_ssh"; then
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/split-window([^;]+)/run-shell "cut -c3- ~\/\.tmux\.conf | sh -s _split_window #{pane_tty}\1"/g')
# else
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/run-shell "cut -c3- ~\/\.tmux\.conf \| sh -s _split_window #\{pane_tty\}([^;]+)"/split-window\1/g' -e 's/#\{.+\}/\"&\"/g')
# fi
# eval "tmux $left $right" 2>/dev/null || true
# done << EOF
# $(tmux list-keys 2>/dev/null | grep -e 'split\(-\|_\)window')
# EOF
#
# tmux_conf_new_session_prompt=${tmux_conf_new_session_prompt:-false}
# while IFS= read -r line; do
# [ -z "$line" ] && continue
# left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g')
# if _is_enabled "$tmux_conf_new_session_prompt"; then
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e 's/new-session$/command-prompt -p new-session \"new-session -s %%\"/g')
# else
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }'| sed -E -e 's/command-prompt -p new-session[^;]+/new-session/g')
# fi
# eval "tmux $left $right" 2>/dev/null || true
# done << EOF
# $(tmux list-keys 2>/dev/null | grep -e 'new-session')
# EOF
#
# tmux_conf_copy_to_os_clipboard=${tmux_conf_copy_to_os_clipboard:-false}
# command -v pbcopy > /dev/null 2>&1 && command='pbcopy'
# command -v reattach-to-user-namespace > /dev/null 2>&1 && command='reattach-to-user-namespace pbcopy'
# command -v xsel > /dev/null 2>&1 && command='xsel -i -b'
# ! command -v xsel > /dev/null 2>&1 && command -v xclip > /dev/null 2>&1 && command='xclip -i -selection clipboard > \/dev\/null 2>\&1'
# command -v clip.exe > /dev/null 2>&1 && command='clip\.exe'
# [ -c /dev/clipboard ] && command='cat > \/dev\/clipboard'
#
# if [ -n "$command" ]; then
# # shellcheck disable=SC2086
# for table in "" "-t emacs-copy" "-t vi-copy"; do
# line=$(tmux list-keys $table 2>/dev/null | grep -e 'copy-selection\|copy-pipe' | head -1)
# prefix=${line%copy-*}
# column=${#prefix}
# [ -z "$line" ] && continue
#
# while IFS= read -r line; do
# [ -z "$line" ] && continue
# left=$(printf '%s' "$line" | cut -c-"$column" | sed -E -e 's/[^ \ta-zA-Z0-9,._+@%/-]/\\&/g')
# if _is_enabled "$tmux_conf_copy_to_os_clipboard"; then
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e "s/copy-selection(-and-cancel)?$/copy-pipe\1 \"$command\"/g")
# else
# right=$(printf '%s' "$line" | cut -c"$column"- | awk -F'\"' 'BEGIN { OFS = FS } { for (i = 1; i <= NF; i+=2) { gsub(/#{.+}/, "\"&\"", $i) } print }' | sed -E -e "s/copy-pipe(-and-cancel)? \"$command\"$/copy-selection\1/g")
# fi
# eval "tmux $left $right" 2>/dev/null || true
# done << EOF
# $(tmux list-keys $table 2>/dev/null | grep -e 'copy-selection\|copy-pipe')
# EOF
# done
# fi
# }
#
# _apply_theme() {
#
# # -- panes -------------------------------------------------------------
#
# tmux_conf_theme_window_fg=${tmux_conf_theme_window_fg:-default}
# tmux_conf_theme_window_bg=${tmux_conf_theme_window_bg:-default}
# tmux_conf_theme_highlight_focused_pane=${tmux_conf_theme_highlight_focused_pane:-false}
# tmux_conf_theme_focused_pane_fg=${tmux_conf_theme_focused_pane_fg:-'default'} # default
# tmux_conf_theme_focused_pane_bg=${tmux_conf_theme_focused_pane_bg:-'#0087d7'} # light blue
#
# # tmux 1.9 doesn't really like set -q
# if tmux show -g -w | grep -q window-style; then
# tmux setw -g window-style "fg=$tmux_conf_theme_window_fg,bg=$tmux_conf_theme_window_bg"
#
# if _is_enabled "$tmux_conf_theme_highlight_focused_pane"; then
# tmux setw -g window-active-style "fg=$tmux_conf_theme_focused_pane_fg,bg=$tmux_conf_theme_focused_pane_bg"
# else
# tmux setw -g window-active-style default
# fi
# fi
#
# tmux_conf_theme_pane_border_style=${tmux_conf_theme_pane_border_style:-thin}
# tmux_conf_theme_pane_border=${tmux_conf_theme_pane_border:-'#444444'} # light gray
# tmux_conf_theme_pane_active_border=${tmux_conf_theme_pane_active_border:-'#00afff'} # light blue
# tmux_conf_theme_pane_border_fg=${tmux_conf_theme_pane_border_fg:-$tmux_conf_theme_pane_border}
# tmux_conf_theme_pane_active_border_fg=${tmux_conf_theme_pane_active_border_fg:-$tmux_conf_theme_pane_active_border}
# case "$tmux_conf_theme_pane_border_style" in
# fat)
# tmux_conf_theme_pane_border_bg=${tmux_conf_theme_pane_border_bg:-$tmux_conf_theme_pane_border_fg}
# tmux_conf_theme_pane_active_border_bg=${tmux_conf_theme_pane_active_border_bg:-$tmux_conf_theme_pane_active_border_fg}
# ;;
# thin|*)
# tmux_conf_theme_pane_border_bg=${tmux_conf_theme_pane_border_bg:-'default'}
# tmux_conf_theme_pane_active_border_bg=${tmux_conf_theme_pane_active_border_bg:-'default'}
# ;;
# esac
# tmux setw -g pane-border-style "fg=$tmux_conf_theme_pane_border_fg,bg=$tmux_conf_theme_pane_border_bg" \; set -g pane-active-border-style "fg=$tmux_conf_theme_pane_active_border_fg,bg=$tmux_conf_theme_pane_active_border_bg"
#
# tmux_conf_theme_pane_indicator=${tmux_conf_theme_pane_indicator:-'#00afff'} # light blue
# tmux_conf_theme_pane_active_indicator=${tmux_conf_theme_pane_active_indicator:-'#00afff'} # light blue
#
# tmux set -g display-panes-colour "$tmux_conf_theme_pane_indicator" \; set -g display-panes-active-colour "$tmux_conf_theme_pane_active_indicator"
#
# # -- status line -------------------------------------------------------
#
# tmux_conf_theme_left_separator_main=${tmux_conf_theme_left_separator_main-''}
# tmux_conf_theme_left_separator_sub=${tmux_conf_theme_left_separator_sub-'|'}
# tmux_conf_theme_right_separator_main=${tmux_conf_theme_right_separator_main-''}
# tmux_conf_theme_right_separator_sub=${tmux_conf_theme_right_separator_sub-'|'}
#
# tmux_conf_theme_message_fg=${tmux_conf_theme_message_fg:-'#000000'} # black
# tmux_conf_theme_message_bg=${tmux_conf_theme_message_bg:-'#ffff00'} # yellow
# tmux_conf_theme_message_attr=${tmux_conf_theme_message_attr:-'bold'}
# tmux set -g message-style "fg=$tmux_conf_theme_message_fg,bg=$tmux_conf_theme_message_bg,$tmux_conf_theme_message_attr"
#
# tmux_conf_theme_message_command_fg=${tmux_conf_theme_message_command_fg:-'#ffff00'} # yellow
# tmux_conf_theme_message_command_bg=${tmux_conf_theme_message_command_bg:-'#000000'} # black
# tmux_conf_theme_message_command_attr=${tmux_conf_theme_message_command_attr:-'bold'}
# tmux set -g message-command-style "fg=$tmux_conf_theme_message_command_fg,bg=$tmux_conf_theme_message_command_bg,$tmux_conf_theme_message_command_attr"
#
# tmux_conf_theme_mode_fg=${tmux_conf_theme_mode_fg:-'#000000'} # black
# tmux_conf_theme_mode_bg=${tmux_conf_theme_mode_bg:-'#ffff00'} # yellow
# tmux_conf_theme_mode_attr=${tmux_conf_theme_mode_attr:-'bold'}
# tmux setw -g mode-style "fg=$tmux_conf_theme_mode_fg,bg=$tmux_conf_theme_mode_bg,$tmux_conf_theme_mode_attr"
#
# tmux_conf_theme_status_fg=${tmux_conf_theme_status_fg:-'#8a8a8a'} # white
# tmux_conf_theme_status_bg=${tmux_conf_theme_status_bg:-'#080808'} # dark gray
# tmux_conf_theme_status_attr=${tmux_conf_theme_status_attr:-'none'}
# tmux set -g status-style "fg=$tmux_conf_theme_status_fg,bg=$tmux_conf_theme_status_bg,$tmux_conf_theme_status_attr" \;\
# set -g status-left-style "fg=$tmux_conf_theme_status_fg,bg=$tmux_conf_theme_status_bg,$tmux_conf_theme_status_attr" \;\
# set -g status-right-style "fg=$tmux_conf_theme_status_fg,bg=$tmux_conf_theme_status_bg,$tmux_conf_theme_status_attr"
#
# tmux_conf_theme_window_status_fg=${tmux_conf_theme_window_status_fg:-'#8a8a8a'} # white
# tmux_conf_theme_window_status_bg=${tmux_conf_theme_window_status_bg:-'#080808'} # dark gray
# tmux_conf_theme_window_status_attr=${tmux_conf_theme_window_status_attr:-'none'}
# tmux_conf_theme_window_status_format=${tmux_conf_theme_window_status_format:-'#I #W'}
#
# tmux_conf_theme_window_status_current_fg=${tmux_conf_theme_window_status_current_fg:-'#000000'} # black
# tmux_conf_theme_window_status_current_bg=${tmux_conf_theme_window_status_current_bg:-'#00afff'} # light blue
# tmux_conf_theme_window_status_current_attr=${tmux_conf_theme_window_status_current_attr:-'bold'}
# tmux_conf_theme_window_status_current_format=${tmux_conf_theme_window_status_current_format:-'#I #W'}
# if [ x"$(tmux show -g -v status-justify)" = x"right" ]; then
# tmux_conf_theme_window_status_current_format="#[fg=$tmux_conf_theme_window_status_current_bg,bg=$tmux_conf_theme_window_status_bg]$tmux_conf_theme_right_separator_main#[fg=default,bg=default,default] $tmux_conf_theme_window_status_current_format #[fg=$tmux_conf_theme_window_status_bg,bg=$tmux_conf_theme_window_status_current_bg,none]$tmux_conf_theme_right_separator_main"
# else
# tmux_conf_theme_window_status_current_format="#[fg=$tmux_conf_theme_window_status_bg,bg=$tmux_conf_theme_window_status_current_bg]$tmux_conf_theme_left_separator_main#[fg=default,bg=default,default] $tmux_conf_theme_window_status_current_format #[fg=$tmux_conf_theme_window_status_current_bg,bg=$tmux_conf_theme_status_bg,none]$tmux_conf_theme_left_separator_main"
# fi
#
# tmux_conf_theme_window_status_format=$(echo "$tmux_conf_theme_window_status_format" | sed 's%#{circled_window_index}%#(cut -c3- ~/.tmux.conf | sh -s _circled_digit #I)%g')
# tmux_conf_theme_window_status_current_format=$(echo "$tmux_conf_theme_window_status_current_format" | sed 's%#{circled_window_index}%#(cut -c3- ~/.tmux.conf | sh -s _circled_digit #I)%g')
#
# tmux setw -g window-status-style "fg=$tmux_conf_theme_window_status_fg,bg=$tmux_conf_theme_window_status_bg,$tmux_conf_theme_window_status_attr" \;\
# setw -g window-status-format "$tmux_conf_theme_window_status_format" \;\
# setw -g window-status-current-style "fg=$tmux_conf_theme_window_status_current_fg,bg=$tmux_conf_theme_window_status_current_bg,$tmux_conf_theme_window_status_current_attr" \;\
# setw -g window-status-current-format "$tmux_conf_theme_window_status_current_format"
#
# tmux_conf_theme_window_status_activity_fg=${tmux_conf_theme_window_status_activity_fg:-'default'}
# tmux_conf_theme_window_status_activity_bg=${tmux_conf_theme_window_status_activity_bg:-'default'}
# tmux_conf_theme_window_status_activity_attr=${tmux_conf_theme_window_status_activity_attr:-'underscore'}
# tmux setw -g window-status-activity-style "fg=$tmux_conf_theme_window_status_activity_fg,bg=$tmux_conf_theme_window_status_activity_bg,$tmux_conf_theme_window_status_activity_attr"
#
# tmux_conf_theme_window_status_bell_fg=${tmux_conf_theme_window_status_bell_fg:-'#ffff00'} # yellow
# tmux_conf_theme_window_status_bell_bg=${tmux_conf_theme_window_status_bell_bg:-'default'}
# tmux_conf_theme_window_status_bell_attr=${tmux_conf_theme_window_status_bell_attr:-'blink,bold'}
# tmux setw -g window-status-bell-style "fg=$tmux_conf_theme_window_status_bell_fg,bg=$tmux_conf_theme_window_status_bell_bg,$tmux_conf_theme_window_status_bell_attr"
#
# tmux_conf_theme_window_status_last_fg=${tmux_conf_theme_window_status_last_fg:-'#00afff'} # light blue
# tmux_conf_theme_window_status_last_bg=${tmux_conf_theme_window_status_last_bg:-'default'}
# tmux_conf_theme_window_status_last_attr=${tmux_conf_theme_window_status_last_attr:-'none'}
# tmux setw -g window-status-last-style "fg=$tmux_conf_theme_window_status_last_fg,bg=$tmux_conf_theme_window_status_last_bg,$tmux_conf_theme_window_status_last_attr"
#
# # -- indicators
#
# tmux_conf_theme_pairing=${tmux_conf_theme_pairing:-'
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | ###############################################################################
# ceerious i3 status config
# see "man i3status" for documentation.
#
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
###############################################################################
general {
interval = 1
colors = true
color_good = '#88b090'
color_degraded = '#ccdc90'
color_bad = '#baa781'
}
order += "disk /"
order += "disk /home"
order += "disk /data"
order += "volume master"
#order += "run_watch DHCP"
#order += "ipv6"
#order += "run_watch VPN"
order += "wireless wlp4s0"
order += "ethernet enp0s25"
order += "battery 0"
order += "cpu_temperature 0"
order += "cpu_usage 0"
order += "load"
order += "tztime local"
wireless wlp4s0 {
format_up = "%quality %essid %ip"
format_down = ""
}
ethernet enp0s25 {
#if you use %speed, i3status requires root privileges
format_up = "%ip (%speed)"
format_down = ""
}
battery 0 {
format = "%status %percentage %remaining"
format_down = ""
last_full_capacity = true
integer_battery_capacity = true
low_threshold = 11
threshold_type = percentage
hide_seconds = true
status_chr = " "
status_bat = " "
status_unk = " "
status_full = " "
}
run_watch DHCP {
pidfile = "/var/run/dhclient*.pid"
}
run_watch VPN {
pidfile = "/var/run/vpnc/pid"
}
tztime local {
format = "%V %A %e.%B %H:%M:%S"
}
load {
format = " %1min"
}
cpu_usage {
format = " %usage"
}
cpu_temperature 0 {
format = " %degrees°C"
}
disk "/" {
format = " %avail"
prefix_type = custom
low_threshold = 20
threshold_type = percentage_avail
}
disk "/home" {
format = " %avail"
prefix_type = custom
low_threshold = 20
threshold_type = percentage_avail
}
disk "/data" {
format = " %avail"
prefix_type = custom
low_threshold = 20
threshold_type = percentage_avail
}
volume master {
format = " %volume"
format_muted = " %volume"
device = "default"
mixer = "Master"
mixer_idx = 0
}
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | # i3blocks config file
# Please see man i3blocks for a complete reference!
# The man page is also hosted at http://vivien.github.io/i3blocks
# List of valid properties:
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
# Global properties
separator_block_width=16
[pacman]
label=:
command=~/.i3-blocks-contrib/pacman
signal=once
interval=1
[apt]
command=~/.i3-blocks-contrib-vivien/apt-upgrades/apt-upgrades
signal=once
interval=1
[disk-home]
label=
command=/usr/lib/i3blocks/disk $HOME
interval=30
[disk-root]
command=~/.i3-blocks-contrib/disk
interval=30
[volume]
label=
command=/usr/lib/i3blocks/volume
interval=1
[weather]
command=~/.i3-blocks-contrib/weather
interval=3
[memory]
command=~/.i3-blocks-contrib/memory
interval=3
label=
[cpu-temp]
label=
command=/usr/lib/i3blocks/temperature
interval=30
[cpu]
label=
align=right
command=~/.i3-blocks-contrib/cpu
interval=1
interval=10
[gpu]
label=
command=nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader
interval=1
[date]
label=
command=date '+%d/%m/%Y'
interval=3600
[time]
label=
command=date '+%H:%M:%S' # | sed 's/:/h/'
interval=1
# [dunst]
# command=~/.i3blocks_dunst_notify
# signal=12
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #! /bin/sh
# Load Xresources
xrdb ~/.Xresources
# hide mouse coursor when it isn't used
unclutter -root -visible &
# composition manager
compton &
# background
feh --bg-scale --randomize ~/dotfiles/Images/Walls/* &
# [ -e ~/.fehbg ] && source ~/.fehbg
# notification
dunst -config ~/.dunstrc &
# disks automounting
udiskie &
# Network Manager applet
>> /dev/null which nm-applet && nm-applet &
>> /dev/null which blueman-applet && blueman-applet &
# Start MPD on login
[ ! -s ~/.mpd/pid ] && mpd
# Start Moc on login
[ ! -s ~/.moc/config ] && moc
# Launch the VirtualBox guest services
VBoxClient-all &
# Here Xfce is kept as default
session=${1:-i3}
case $session in
i3|i3wm ) exec i3;;
kde ) exec startkde;;
xfce|xfce4 ) exec startxfce4;;
# No known session, try to run it as command
* ) exec $1;;
esac
# exec i3
# i3-regenerate
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | out_to_x no
out_to_console yes
total_run_times 0
if_up_strictness address
update_interval 10
cpu_avg_samples 2
net_avg_samples 4
short_units yes
#format_human_redable yes
override_utf8_locale no
use_xft yes
double_buffer yes
TEXT
[
{ "full_text": "CPU1", "color" : "\#00FF80", "separator" : false, "separator_block_width" : 3 },\
{
"full_text":"${cpu cpu0}%"
${if_match ${cpu cpu0} > 50}, "color" : "\#CE4FF7"${endif}
},\
{ "full_text": "CPU2", "color" : "\#00FF80", "separator" : false, "separator_block_width" : 3 },\
{
"full_text":"${cpu cpu1}%"
${if_match ${cpu cpu1} > 50}, "color" : "\#CE4FF7"${endif}
},\
{ "full_text": "CPU3", "color" : "\#00FF80", "separator" : false, "separator_block_width" : 3 },\
{
"full_text":"${cpu cpu2}%"
${if_match ${cpu cpu2} > 50}, "color" : "\#CE4FF7"${endif}
},\
{ "full_text": "CPU4", "color" : "\#00FF80", "separator" : false, "separator_block_width" : 3 },\
{
"full_text":"${cpu cpu3}%"
${if_match ${cpu cpu3} > 50}, "color" : "\#CE4FF7"${endif}
},\
{
"full_text": "T: ${acpitemp}°"
${if_match ${acpitemp} > 80}, "color" : "\#FF0000"${endif}
},\
{ "full_text": "RAM", "conky_build_archlor" : "\#00F80", "separator" : false, "separator_block_width" : 3 },\
{ "full_text": "${mem}"
${if_match ${memperc} > 80}, "color" : "\#CE4FF7"${endif}
},\
{
"full_text": "${if_up wlp2s0}W: ${addr wlp2s0}", "color" : "\#40FF00",
"short_text": ""
},
{
"full_text": "${if_up enp3s0}E: ${addr enp3s0}", "color" : "\#40FF00",
"short_text": ""
},
{ "full_text" : " ${battery} ${battery_time}" , "color" : ${if_match ${battery_percent}>16}"\#4C7899"${else}"\#FF0000"${endif} },\
{
"full_text": "${time %D}",
"short_text": ""
},\
{
"full_text": "${time %H:%M}",
"short_text": ""
}\
],\
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | [global]
font = Monospace 12
# Allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# If markup is not allowed, those tags will be stripped out of the
# message.
allow_markup = yes
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# Markup is allowed
format = "<b>%s</b>\n%b"
# Sort messages by urgency.
sort = yes
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = right
# The frequency with wich text that is longer than the notification
# window allows bounces back and forth.
# This option conflicts with "word_wrap".
# Set to 0 to disable.
bounce_freq = 0
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Ignore newlines '\n' in notifications.
ignore_newline = no
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectevly.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "1200x5-30+20"
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 1
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
idle_threshold = 120
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a windowmanager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern windowmanagers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
# The height of a single line. If the height is smaller than the
# font height, it will get raised to the font height.
# This adds empty space above and under the text.
line_height = 0
# Draw a line of "separatpr_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
# Align icons left/right/off
icon_position = left
# Paths to default icons.
icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
[frame]
width = 3
color = "#aaaaaa"
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1".
history = ctrl+grave
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#222222"
foreground = "#888888"
timeout = 10
[urgency_normal]
background = "#6d6d6d"
foreground = "#ffffff"
timeout = 10
[urgency_critical]
background = "#ada998"
foreground = "#ffffff"
timeout = 0
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg
[spotify]
appname = *Spotify*
new_icon = spotify-client
urgency = low
#[i3blocks]
# summary = "*"
# script = ~/.i3blocks_dunst_notify
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 | # # An example configuration file for MPD.
# # Read the user manual for documentation: http://www.musicpd.org/doc/user/
#
#
# # Files and directories #######################################################
# #
# # This setting controls the top directory which MPD will search to discover the
# # available audio files and add them to the daemon's online database. This
# # setting defaults to the XDG directory, otherwise the music directory will be
# # be disabled and audio files will only be accepted over ipc socket (using
# # file:// protocol) or streaming files over an accepted protocol.
# #
music_directory "~/music"
# #
# # This setting sets the MPD internal playlist directory. The purpose of this
# # directory is storage for playlists created by MPD. The server will use
# # playlist files not created by the server but only if they are in the MPD
# # format. This setting defaults to playlist saving being disabled.
# #
playlist_directory "~/.mpd/playlists"
# #
# # This setting sets the location of the MPD database. This file is used to
# # load the database at server start up and store the database while the
# # server is not up. This setting defaults to disabled which will allow
# # MPD to accept files over ipc socket (using file:// protocol) or streaming
# # files over an accepted protocol.
# #
db_file "~/.mpd/database"
# #
# # These settings are the locations for the daemon log files for the daemon.
# # These logs are great for troubleshooting, depending on your log_level
# # settings.
# #
# # The special value "syslog" makes MPD use the local syslog daemon. This
# # setting defaults to logging to syslog, otherwise logging is disabled.
# #
log_file "~/.mpd/log"
# #
# # This setting sets the location of the file which stores the process ID
# # for use of mpd --kill and some init scripts. This setting is disabled by
# # default and the pid file will not be stored.
# #
pid_file "~/.mpd/pid"
# #
# # This setting sets the location of the file which contains information about
# # most variables to get MPD back into the same general shape it was in before
# # it was brought down. This setting is disabled by default and the server
# # state will be reset on server start up.
# #
# # state_file "~/.mpd/state"
# #
# # The location of the sticker database. This is a database which
# # manages dynamic information attached to songs.
# #
# # sticker_file "~/.mpd/sticker.sql"
# #
# ###############################################################################
#
#
# # General music daemon options ################################################
# #
# # This setting specifies the user that MPD will run as. MPD should never run as
# # root and you may use this setting to make MPD change its user ID after
# # initialization. This setting is disabled by default and MPD is run as the
# # current user.
# #
# #user "nobody"
# #
# # This setting specifies the group that MPD will run as. If not specified
# # primary group of user specified with "user" setting will be used (if set).
# # This is useful if MPD needs to be a member of group such as "audio" to
# # have permission to use sound card.
# #
# #group "nogroup"
# #
# # This setting sets the address for the daemon to listen on. Careful attention
# # should be paid if this is assigned to anything other then the default, any.
# # This setting can deny access to control of the daemon. Not effective if
# # systemd socket activiation is in use.
# #
# # For network
# #bind_to_address "any"
# #
# # And for Unix Socket
# #bind_to_address "~/.mpd/socket"
# #
# # This setting is the TCP port that is desired for the daemon to get assigned
# # to.
# #
# #port "6600"
# #
# # This setting controls the type of information which is logged. Available
# # setting arguments are "default", "secure" or "verbose". The "verbose" setting
# # argument is recommended for troubleshooting, though can quickly stretch
# # available resources on limited hardware storage.
# #
# #log_level "default"
# #
# # If you have a problem with your MP3s ending abruptly it is recommended that
# # you set this argument to "no" to attempt to fix the problem. If this solves
# # the problem, it is highly recommended to fix the MP3 files with vbrfix
# # (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
# # point gapless MP3 playback can be enabled.
# #
# #gapless_mp3_playback "yes"
# #
# # Setting "restore_paused" to "yes" puts MPD into pause mode instead
# # of starting playback after startup.
# #
# #restore_paused "no"
# #
# # This setting enables MPD to create playlists in a format usable by other
# # music players.
# #
# #save_absolute_paths_in_playlists "no"
# #
# # This setting defines a list of tag types that will be extracted during the
# # audio file discovery process. The complete list of possible values can be
# # found in the user manual.
# #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
# #
# # This setting enables automatic update of MPD's database when files in
# # music_directory are changed.
# #
# #auto_update "yes"
# #
# # Limit the depth of the directories being watched, 0 means only watch
# # the music directory itself. There is no limit by default.
# #
# #auto_update_depth "3"
# #
# ###############################################################################
#
#
# # Symbolic link behavior ######################################################
# #
# # If this setting is set to "yes", MPD will discover audio files by following
# # symbolic links outside of the configured music_directory.
# #
# #follow_outside_symlinks "yes"
# #
# # If this setting is set to "yes", MPD will discover audio files by following
# # symbolic links inside of the configured music_directory.
# #
# #follow_inside_symlinks "yes"
# #
# ###############################################################################
#
#
# # Zeroconf / Avahi Service Discovery ##########################################
# #
# # If this setting is set to "yes", service information will be published with
# # Zeroconf / Avahi.
# #
# #zeroconf_enabled "yes"
# #
# # The argument to this setting will be the Zeroconf / Avahi unique name for
# # this MPD server on the network.
# #
# #zeroconf_name "Music Player"
# #
# ###############################################################################
#
#
# # Permissions #################################################################
# #
# # If this setting is set, MPD will require password authorization. The password
# # setting can be specified multiple times for different password profiles.
# #
# #password "password@read,add,control,admin"
# #
# # This setting specifies the permissions a user has who has not yet logged in.
# #
# #default_permissions "read,add,control,admin"
# #
# ###############################################################################
#
#
# # Database #######################################################################
# #
#
# #database {
# # plugin "proxy"
# # host "other.mpd.host"
# # port "6600"
# #}
#
# # Input #######################################################################
# #
#
# input {
# plugin "curl"
# # proxy "proxy.isp.com:8080"
# # proxy_user "user"
# # proxy_password "password"
# }
#
# #
# ###############################################################################
#
# # Audio Output ################################################################
# #
# # MPD supports various audio output types, as well as playing through multiple
# # audio outputs at the same time, through multiple audio_output settings
# # blocks. Setting this block is optional, though the server will only attempt
# # autodetection for one sound card.
# #
# # An example of an ALSA output:
# #
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
mixer_type "hardware" # optional
# ## mixer_device "default" # optional
# ## mixer_control "PCM" # optional
# ## mixer_index "0" # optional
}
# #
# # An example of an OSS output:
# #
# #audio_output {
# # type "oss"
# # name "My OSS Device"
# ## device "/dev/dsp" # optional
# ## mixer_type "hardware" # optional
# ## mixer_device "/dev/mixer" # optional
# ## mixer_control "PCM" # optional
# #}
# #
# # An example of a shout output (for streaming to Icecast):
# #
# #audio_output {
# # type "shout"
# # encoder "vorbis" # optional
# # name "My Shout Stream"
# # host "localhost"
# # port "8000"
# # mount "/mpd.ogg"
# # password "hackme"
# # quality "5.0"
# # bitrate "128"
# # format "44100:16:1"
# ## protocol "icecast2" # optional
# ## user "source" # optional
# ## description "My Stream Description" # optional
# ## url "http://example.com" # optional
# ## genre "jazz" # optional
# ## public "no" # optional
# ## timeout "2" # optional
# ## mixer_type "software" # optional
# #}
# #
# # An example of a recorder output:
# #
# #audio_output {
# # type "recorder"
# # name "My recorder"
# # encoder "vorbis" # optional, vorbis or lame
# # path "/var/lib/mpd/recorder/mpd.ogg"
# ## quality "5.0" # do not define if bitrate is defined
# # bitrate "128" # do not define if quality is defined
# # format "44100:16:1"
# #}
# #
# # An example of a httpd output (built-in HTTP streaming server):
# #
# #audio_output {
# # type "httpd"
# # name "My HTTP Stream"
# # encoder "vorbis" # optional, vorbis or lame
# # port "8000"
# # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
# ## quality "5.0" # do not define if bitrate is defined
# # bitrate "128" # do not define if quality is defined
# # format "44100:16:1"
# # max_clients "0" # optional 0=no limit
# #}
# #
# # An example of a pulseaudio output (streaming to a remote pulseaudio server)
# #
# #audio_output {
# # type "pulse"
# # name "My Pulse Output"
# ## server "remote_server" # optional
# ## sink "remote_server_sink" # optional
# #}
# #
# # An example of a winmm output (Windows multimedia API).
# #
# #audio_output {
# # type "winmm"
# # name "My WinMM output"
# ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
# # or
# ## device "0" # optional
# ## mixer_type "hardware" # optional
# #}
# #
# # An example of an openal output.
# #
# #audio_output {
# # type "openal"
# # name "My OpenAL output"
# ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
# #}
# #
# # An example of an sndio output.
# #
# #audio_output {
# # type "sndio"
# # name "sndio output"
# # mixer_type "software"
# #}
# #
# # An example of an OS X output:
# #
# #audio_output {
# # type "osx"
# # name "My OS X Device"
# ## device "Built-in Output" # optional
# ## channel_map "-1,-1,0,1" # optional
# #}
# #
# ## Example "pipe" output:
# #
# #audio_output {
# # type "pipe"
# # name "my pipe"
# # command "aplay -f cd 2>/dev/null"
# ## Or if you're want to use AudioCompress
# # command "AudioCompress -m | aplay -f cd 2>/dev/null"
# ## Or to send raw PCM stream through PCM:
# # command "nc example.org 8765"
# # format "44100:16:2"
# #}
# #
# ## An example of a null output (for no audio output):
# #
# #audio_output {
# # type "null"
# # name "My Null Output"
# # mixer_type "none" # optional
# #}
# #
# ###############################################################################
#
#
# # Normalization automatic volume adjustments ##################################
# #
# # This setting specifies the type of ReplayGain to use. This setting can have
# # the argument "off", "album", "track" or "auto". "auto" is a special mode that
# # chooses between "track" and "album" depending on the current state of
# # random playback. If random playback is enabled then "track" mode is used.
# # See <http://www.replaygain.org> for more details about ReplayGain.
# # This setting is off by default.
# #
# #replaygain "album"
# #
# # This setting sets the pre-amp used for files that have ReplayGain tags. By
# # default this setting is disabled.
# #
# #replaygain_preamp "0"
# #
# # This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
# # By default this setting is disabled.
# #
# #replaygain_missing_preamp "0"
# #
# # This setting enables or disables ReplayGain limiting.
# # MPD calculates actual amplification based on the ReplayGain tags
# # and replaygain_preamp / replaygain_missing_preamp setting.
# # If replaygain_limit is enabled MPD will never amplify audio signal
# # above its original level. If replaygain_limit is disabled such amplification
# # might occur. By default this setting is enabled.
# #
# #replaygain_limit "yes"
# #
# # This setting enables on-the-fly normalization volume adjustment. This will
# # result in the volume of all playing audio to be adjusted so the output has
# # equal "loudness". This setting is disabled by default.
# #
# #volume_normalization "no"
# #
# ###############################################################################
#
# # Character Encoding ##########################################################
# #
# # If file or directory names do not display correctly for your locale then you
# # may need to modify this setting.
# #
# #filesystem_charset "UTF-8"
# #
# ###############################################################################
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | " =============================================================================
" Filename: autoload/lightline/colorscheme/graynito.vim
" Author: VeganGaro
" License: MIT License
" Last Change: 2017-07-20
" =============================================================================
let s:red = '#df0000'
let s:green = '#008700'
let s:blue = '#9e927e'
let s:pink = '#afdf00'
let s:olive = '#dfaf5f'
let s:navy = '#df875f'
let s:tenne = '#d75f00'
let s:purple = '#8959a8'
let s:aqua = '#3e999f'
" Basics:
let s:foreground = '#d0d0d0'
let s:background = '#444444'
let s:window = '#efefef'
let s:status = '#c6c6c6'
let s:error = '#5f0000'
" Tabline:
let s:tabline_bg = '#3a3a3a'
let s:tabline_active_fg = '#1c1c1c'
let s:tabline_active_bg = '#9e927e'
let s:tabline_inactive_fg = '#c6c6c6'
let s:tabline_inactive_bg = '#585858'
" Statusline:
let s:statusline_active_fg = '#1c1c1c'
let s:statusline_active_bg = '#878787'
let s:statusline_inactive_fg = '#c6c6c6'
let s:tenne = '#444444'
" Visual:
let s:visual_fg = '#000000'
let s:visual_bg = '#bfb89a'
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:p.normal.left = [ [ s:foreground, s:background ], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
let s:p.normal.right = [ [ s:foreground, s:background ], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
let s:p.normal.middle = [ [ s:statusline_active_fg, s:statusline_active_bg ]]
let s:p.inactive.right = [ [ s:foreground, s:background ], [ s:foreground, s:background ] ]
let s:p.inactive.left = [ [ s:foreground, s:background ], [ s:foreground, s:background ] ]
let s:p.inactive.middle = [ [ s:foreground, s:background ], ]
let s:p.insert.left = [ [ s:background, s:blue], [ s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
let s:p.replace.left = [ [ s:background, s:pink ], [s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
let s:p.visual.left = [ [ s:visual_fg, s:visual_bg ], [s:statusline_active_fg, s:status ], [ s:statusline_active_fg, s:statusline_active_bg ] ]
let s:p.tabline.left = [ [s:tabline_inactive_fg, s:tabline_inactive_bg ]]
let s:p.tabline.tabsel = [ [s:tabline_active_fg, s:tabline_active_bg ] ]
let s:p.tabline.middle = [ [s:tabline_bg, s:tabline_bg]]
let s:p.tabline.right = copy(s:p.normal.right)
let s:p.normal.error = [ [ s:background, s:error ] ]
let g:lightline#colorscheme#graynito_dark#palette = lightline#colorscheme#fill(s:p)
|
x
Notes
VeganGaro dotfiles
[ Arch Linux - i3 - URxvt - Vim - Tmux - C++ - Shell ]
Apps and tools I made:
dots:
Xresource |
Bashrc |
Zsh |
Tmux |
Vimrc |
Wm & DE
i3 config |
i3status |
i3lock |
i3blocks |
xinitrc |
Conky |
rofi |
Apps
Arch Linux i3
Minimal Install |
After Install i3 |
colorschemes & fonts:
i3 : GrayNito
Vim ColorScheme: onehalfdark
Vim LightLine Theme: Graynito
Oh my Tmux Theme: GrayNito
Fonts ProFont
Icons Menda-Circle
Arc Theme
Dobbie03 said about 7 years ago
Most excellent set up.
vegangaro said about 7 years ago
haha. Still working on it!
edited about 7 years ago