├── .gitignore ├── README.md ├── Xmodmap ├── colors ├── archascii └── panes2 ├── compton.conf ├── gtk ├── gtk-3.0 │ ├── bookmarks │ ├── gtk.css │ └── settings.ini └── gtkrc-2.0 ├── i3 ├── config ├── custom_dmenu_run.sh ├── dmenuconfig.sh └── playpause.sh ├── i3blocks.conf ├── i3blocks ├── battery ├── bluetooth ├── brightness ├── calendar ├── cpu ├── lock ├── logout ├── memory ├── network ├── restart ├── shutdown ├── temperature ├── time ├── touchpad ├── volume └── windowtitle ├── install.sh ├── lemonbar ├── bar.sh ├── blocks │ ├── battery │ ├── bluetooth │ ├── brightness │ ├── brightnessold │ ├── brightnessslider │ ├── calendar │ ├── cpu │ ├── lock │ ├── logout │ ├── memory │ ├── music.py │ ├── network │ ├── restart │ ├── shutdown │ ├── temperature │ ├── time │ ├── touchpad │ ├── volume │ └── windowtitle ├── brightness.sh ├── events.py ├── events │ └── resize.sh ├── music.sh ├── testing.sh └── volume.sh ├── powerline ├── colors.json ├── colorschemes │ ├── default.json │ ├── ipython │ │ └── __main__.json │ ├── pdb │ │ ├── __main__.json │ │ ├── default.json │ │ └── solarized.json │ ├── shell │ │ ├── __main__.json │ │ ├── default.json │ │ └── solarized.json │ ├── solarized.json │ ├── tmux │ │ ├── default.json │ │ └── solarized.json │ └── vim │ │ ├── __main__.json │ │ ├── default.json │ │ ├── solarized.json │ │ └── solarizedlight.json ├── config.json └── themes │ ├── ascii.json │ ├── ipython │ ├── in.json │ ├── in2.json │ ├── out.json │ └── rewrite.json │ ├── pdb │ └── default.json │ ├── powerline.json │ ├── powerline_unicode7.json │ ├── shell │ ├── __main__.json │ ├── continuation.json │ ├── default.json │ ├── default_leftonly.json │ └── select.json │ ├── tmux │ └── default.json │ ├── unicode.json │ ├── unicode_terminus.json │ ├── unicode_terminus_condensed.json │ ├── vim │ ├── __main__.json │ ├── cmdwin.json │ ├── default.json │ ├── help.json │ ├── plugin_commandt.json │ ├── plugin_gundo-preview.json │ ├── plugin_gundo.json │ ├── plugin_nerdtree.json │ ├── quickfix.json │ └── tabline.json │ └── wm │ └── default.json ├── termite ├── colorconfig ├── config ├── infraredconfig ├── lightconfig ├── mountainconfig ├── redconfig ├── roadconfig ├── someconfig └── winterconfig ├── tmux.conf ├── vim ├── .VimballRecord ├── .netrwhist ├── autoload │ ├── pathogen.vim │ └── pythoncomplete.vim ├── bundle │ └── vim-clang │ │ ├── COPYING │ │ ├── README.md │ │ ├── doc │ │ └── clang.txt │ │ ├── plugin │ │ └── clang.vim │ │ └── stdafx.h ├── plugin │ └── clang.vim └── vimrc ├── xlock ├── blacknew.png ├── blurlock.sh ├── iconblack.png ├── iconwhite.png ├── keyblack.png ├── keywhite.png ├── lock.sh ├── mylock.sh ├── newblack.png ├── oldlock.sh ├── test.py └── whitenew.png └── zshrc /.gitignore: -------------------------------------------------------------------------------- 1 | vim/bundle/ctrlp.vim/ 2 | vim/bundle/indentpython.vim/ 3 | vim/bundle/nerdtree/ 4 | vim/bundle/python-mode/ 5 | vim/bundle/vim-nerdtree-tabs/ 6 | vim/bundle/vim-sensible/ 7 | vim/bundle/ 8 | termite/pinkconfig 9 | termite/realconfig 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # dotfiles 2 | 3 | Clone repo into $HOME/.dotfiles. 4 | The install script will symlink from .dotfiles, but only create symlinks if the files/directories does not exist. 5 | -------------------------------------------------------------------------------- /Xmodmap: -------------------------------------------------------------------------------- 1 | ! Unmap capslock 2 | clear Lock 3 | keycode 66 = Mode_switch 4 | 5 | ! Leave mod4 as windows key _only_ 6 | ! remove mod4 = Hyper_L 7 | 8 | ! Set mod3 to capslock 9 | 10 | keycode 25 = w W XF86AudioPlay W lstroke Lstroke lstroke Lstroke w W lstroke Lstroke w W lstroke Lstroke 11 | keycode 24 = q Q XF86AudioPrev Q at Greek_OMEGA at Greek_OMEGA q Q at Greek_OMEGA q Q at Greek_OMEGA 12 | keycode 26 = e E XF86AudioNext E EuroSign cent EuroSign cent e E EuroSign cent e E EuroSign cent 13 | keycode 39 = s S XF86AudioLowerVolume S ssharp section ssharp section s S ssharp section s S ssharp section 14 | keycode 40 = d D XF86AudioRaiseVolume D eth ETH eth ETH d D eth ETH d D eth ETH 15 | keycode 41 = f F XF86AudioMute F dstroke ordfeminine dstroke ordfeminine f F dstroke ordfeminine f F dstroke ordfeminine 16 | keycode 38 = a A Caps_Lock A ordfeminine masculine ordfeminine masculine a A ordfeminine masculine 17 | keycode 43 = h H Left H hstroke Hstroke hstroke 18 | keycode 44 = j J Down J dead_hook dead_horn dead_hook 19 | keycode 45 = k K Up K kra ampersand kra 20 | keycode 46 = l L Right L lstroke Lstroke lstroke 21 | -------------------------------------------------------------------------------- /colors/archascii: -------------------------------------------------------------------------------- 1 | ${c3} 2 | . 3 | o 4 | oxo${c2} ${c3} 5 | oxXxo${c2} ${c3} 6 | oxXA${c2}Xxo ${c3} 7 | oxp'${c2} 'qxo ${c3} 8 | oxoA${c2} Aoxo ${c3} 9 | oo'${c2} 'oo ${c3} 10 | o${c2} o 11 | -------------------------------------------------------------------------------- /colors/panes2: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Author: patdan 4 | # Source: github.com/patdan 5 | 6 | f=3 b=4 7 | for j in f b; do 8 | for i in {0..7}; do 9 | printf -v $j$i %b "\e[${!j}${i}m" 10 | done 11 | done 12 | d=$'\e[1m' 13 | t=$'\e[0m' 14 | v=$'\e[7m' 15 | 16 | 17 | cat << EOF 18 | 19 | $f1███▊$f2███▊$f3███▊$f4███▊$f5███▊$f6███▊$f7███▊ 20 | $f1███▊$f2███▊$f3███▊$f4███▊$f5███▊$f6███▊$f7███▊ 21 | $f1███▊$f2███▊$f3███▊$f4███▊$f5███▊$f6███▊$f7███▊ 22 | $f1███▊$f2███▊$f3███▊$f4███▊$f5███▊$f6███▊$f7███▊ 23 | $f1███▊$f2███▊$f3███▊$f4███▊$f5███▊$f6███▊$f7███▊ 24 | $f1███▊$f2███▊$f3███▊$f4███▊$f5███▊$f6███▊$f7███▊ 25 | 26 | EOF 27 | -------------------------------------------------------------------------------- /compton.conf: -------------------------------------------------------------------------------- 1 | # Shadow 2 | shadow = true; # Enabled client-side shadows on windows. 3 | no-dock-shadow = false; # Avoid drawing shadows on dock/panel windows. 4 | no-dnd-shadow = true; # Don't draw shadows on DND windows. 5 | clear-shadow = true; # Zero the part of the shadow's mask behind the window (experimental). 6 | shadow-radius = 7; # The blur radius for shadows. (default 12) 7 | shadow-offset-x = -7; # The left offset for shadows. (default -15) 8 | shadow-offset-y = -7; # The top offset for shadows. (default -15) 9 | shadow-exclude = [ "n:e:Notification", "g:e:Synapse", "g:e:Conky", "n:w:*Firefox*", "class_g ?= 'polybar'", "n:w:*Chromium*", "class_g ?= 'Xfce4-notifyd'", "class_g ?= 'Xfce4-power-manager'"]; 10 | 11 | # Fading 12 | #fading = true; # Fade windows during opacity changes. 13 | #fade-delta = 5; # The time between steps in a fade in milliseconds. (default 10). 14 | #fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028). 15 | #fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03). 16 | # no-fading-openclose = true; # Fade windows in/out when opening/closing 17 | 18 | #detect-rounded-corners = true; 19 | 20 | # Window type settings 21 | opacity-rule = [ 22 | "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" 23 | ]; 24 | 25 | 26 | ## Opacity 27 | #menu-opacity = 0.8; 28 | #inactive-opacity = 0.8; 29 | ## active-opacity = 0.8; 30 | #frame-opacity = 0.7; 31 | #inactive-opacity-override = false; 32 | #alpha-step = 0.06; 33 | #inactive-dim = 0.2; 34 | #inactive-dim-fixed = true; 35 | #blur-background = true; 36 | #blur-background-frame = true; 37 | #blur-kern = "3x3box"; 38 | #blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; 39 | #blur-background-fixed = true; 40 | #blur-background-exclude = [ 41 | # "window_type = 'dock'", 42 | # "window_type = 'desktop'", 43 | # "_GTK_FRAME_EXTENTS@:c" 44 | #]; 45 | #opacity-rule = [ "80:class_g = 'Termite'" ]; 46 | wintypes: 47 | { 48 | tooltip = { fade = true; shadow = false; }; 49 | }; 50 | 51 | -------------------------------------------------------------------------------- /gtk/gtk-3.0/bookmarks: -------------------------------------------------------------------------------- 1 | file:/// 2 | file:///home/patrik/Documents 3 | file:///home/patrik/Pictures 4 | file:///home/patrik/Downloads 5 | -------------------------------------------------------------------------------- /gtk/gtk-3.0/gtk.css: -------------------------------------------------------------------------------- 1 | VteTerminal, vte-terminal { 2 | padding: 8px; 3 | } 4 | -------------------------------------------------------------------------------- /gtk/gtk-3.0/settings.ini: -------------------------------------------------------------------------------- 1 | [Settings] 2 | gtk-theme-name=Arc-Dark 3 | gtk-icon-theme-name=Numix-Circle 4 | gtk-application-prefer-dark-theme=0 5 | -------------------------------------------------------------------------------- /gtk/gtkrc-2.0: -------------------------------------------------------------------------------- 1 | gtk-theme-name="Arc-Dark" 2 | gtk-icon-theme-name="Numix-Circle" 3 | -------------------------------------------------------------------------------- /i3/config: -------------------------------------------------------------------------------- 1 | # exec --no-startup-id xset fp+ $HOME/.local/share/fonts/ohsnap 2 | # exec --no-startup-id xset fp+ $HOME/.local/share/fonts/misc 3 | 4 | # Font for window titles. Will also be used by the bar unless a different font 5 | # is used in the bar {} block below. 6 | font pango:Hack, Awesome 10 7 | #font pango:DejaVu Sans Mono 8 8 | 9 | # Before i3 v4.8, we used to recommend this one as the default: 10 | # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 11 | # The font above is very space-efficient, that is, it looks good, sharp and 12 | # clear in small sizes. However, its unicode glyph coverage is limited, the old 13 | # X core.local/share/fonts rendering does not support right-to-left and this being a bitmap 14 | # font, it doesn’t scale on retina/hidpi displays. 15 | 16 | # use these keys for focus, movement, and resize directions when reaching for 17 | # the arrows is not convenient 18 | set $up k 19 | set $down j 20 | set $left h 21 | set $right l 22 | 23 | # class border backgr. text indicator 24 | client.focused #2C313B #272C33 #ffffff #272C33 25 | client.focused_inactive #2C313B #272C33 #bbbbbb #272C33 26 | client.unfocused #2C313B #272C33 #bbbbbb #272C33 27 | #client.unfocused #272C33F0 #67727E #bbbbbb #272C33 28 | client.urgent #2C313B #272C33 #ffffff #272C33 29 | # use Mouse+Mod1 to drag floating windows to their wanted position 30 | floating_modifier Mod4 31 | for_window [class="feh"] floating enable 32 | 33 | exec --no-startup-id xmodmap /home/patrik/.Xmodmap 34 | 35 | # start a terminal 36 | bindsym Mod4+Return exec --no-startup-id termite 37 | 38 | # kill focused window 39 | bindsym Mod4+Shift+q kill 40 | 41 | 42 | # start dmenu (a program launcher) 43 | bindsym Mod4+Shift+d exec --no-startup-id /home/patrik/.i3/dmenuconfig.sh dmenu_run 44 | bindsym Mod4+d exec --no-startup-id /home/patrik/.i3/dmenuconfig.sh custom_dmenu_run 45 | # There also is the (new) i3-dmenu-desktop which only displays applications 46 | # shipping a .desktop file. It is a wrapper around dmenu, so you need that 47 | # installed. 48 | # bindsym Mod1+d exec --no-startup-id i3-dmenu-desktop 49 | # change focus 50 | bindsym Mod4+$left focus left 51 | bindsym Mod4+$down focus down 52 | bindsym Mod4+$up focus up 53 | bindsym Mod4+$right focus right 54 | 55 | # alternatively, you can use the cursor keys: 56 | bindsym Mod4+Left focus left 57 | bindsym Mod4+Down focus down 58 | bindsym Mod4+Up focus up 59 | bindsym Mod4+Right focus right 60 | 61 | # move focused window 62 | bindsym Mod4+Shift+$left move left 63 | bindsym Mod4+Shift+$down move down 64 | bindsym Mod4+Shift+$up move up 65 | bindsym Mod4+Shift+$right move right 66 | 67 | # alternatively, you can use the cursor keys: 68 | bindsym Mod4+Shift+Left move left 69 | bindsym Mod4+Shift+Down move down 70 | bindsym Mod4+Shift+Up move up 71 | bindsym Mod4+Shift+Right move right 72 | 73 | # split in horizontal orientation 74 | bindsym Mod4+g split h 75 | 76 | # split in vertical orientation 77 | bindsym Mod4+v split v 78 | 79 | # enter fullscreen mode for the focused container 80 | bindsym Mod4+f fullscreen toggle 81 | # change container layout (stacked, tabbed, toggle split) 82 | bindsym Mod4+s layout stacking 83 | bindsym Mod4+w layout tabbed 84 | bindsym Mod4+e layout toggle split 85 | 86 | # toggle tiling / floating 87 | bindsym Mod4+Shift+space floating toggle, border toggle 88 | bindsym Mod4+Shift+v border toggle 89 | #bindsym Mod4+Shift+v border toggle 90 | 91 | 92 | 93 | # change focus between tiling / floating windows 94 | bindsym Mod4+space focus mode_toggle 95 | 96 | # focus the parent container 97 | bindsym Mod4+a focus parent 98 | 99 | # focus the child container 100 | #bindsym Mod1+d focus child 101 | 102 | # move the currently focused window to the scratchpad 103 | bindsym Mod4+Shift+minus move scratchpad 104 | 105 | # Show the next scratchpad window or hide the focused scratchpad window. 106 | # If there are multiple scratchpad windows, this command cycles through them. 107 | bindsym Mod4+minus scratchpad show 108 | 109 | 110 | set $mod Mod4 111 | set $ws1 1 112 | set $ws2 2 113 | set $ws3 3 114 | set $ws4 4 115 | set $ws5 5 116 | set $ws6 6 117 | set $ws7 7 118 | set $ws8 8 119 | set $ws9 9 120 | set $ws10 10 121 | # switch to workspace 122 | bindsym $mod+1 exec --no-startup-id i3-msg workspace $ws1 123 | #&& /home/patrik/.config/lemonbar/workspaces.sh 124 | bindsym $mod+2 exec --no-startup-id i3-msg workspace $ws2 125 | bindsym $mod+3 exec --no-startup-id i3-msg workspace $ws3 126 | bindsym $mod+4 exec --no-startup-id i3-msg workspace $ws4 127 | bindsym $mod+5 exec --no-startup-id i3-msg workspace $ws5 128 | bindsym $mod+6 exec --no-startup-id i3-msg workspace $ws6 129 | bindsym $mod+7 exec --no-startup-id i3-msg workspace $ws7 130 | bindsym $mod+8 exec --no-startup-id i3-msg workspace $ws8 131 | bindsym $mod+9 exec --no-startup-id i3-msg workspace $ws9 132 | bindsym $mod+10 exec --no-startup-id i3-msg workspace $ws10 133 | 134 | workspace_auto_back_and_forth yes 135 | bindsym $mod+Tab workspace next 136 | # bindsym $mod+Shift+Tab workspace back_and_forth 137 | 138 | 139 | # move focused container to workspace 140 | bindsym Mod4+Shift+1 exec --no-startup-id i3-msg move container to workspace $ws1 141 | bindsym Mod4+Shift+2 exec --no-startup-id i3-msg move container to workspace $ws2 142 | bindsym Mod4+Shift+3 exec --no-startup-id i3-msg move container to workspace $ws3 143 | bindsym Mod4+Shift+4 exec --no-startup-id i3-msg move container to workspace $ws4 144 | bindsym Mod4+Shift+5 exec --no-startup-id i3-msg move container to workspace $ws5 145 | bindsym Mod4+Shift+6 exec --no-startup-id i3-msg move container to workspace $ws6 146 | bindsym Mod4+Shift+7 exec --no-startup-id i3-msg move container to workspace $ws7 147 | bindsym Mod4+Shift+8 exec --no-startup-id i3-msg move container to workspace $ws8 148 | bindsym Mod4+Shift+9 exec --no-startup-id i3-msg move container to workspace $ws9 149 | bindsym Mod4+Shift+10 exec --no-startup-id i3-msg move container to workspace $ws10 150 | 151 | # reload the configuration file 152 | bindsym Mod4+Shift+c reload 153 | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 154 | bindsym Mod4+Shift+r restart 155 | # exit i3 (logs you out of your X session) 156 | bindsym Mod4+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'" 157 | bindsym Mod4+Shift+w exec "i3-nagbar -t warning -m 'You pressed the shutdown shortcut. Do you really want to shutdown?' -b 'Yes, shutdown' 'shutdown -h now'" 158 | 159 | #Lockscreen settings 160 | exec --no-startup-id xautolock -time 15 -locker /home/patrik/.xlock/lock.sh -detectsleep 161 | exec --no-startup-id xautolock -time 20 -locker "systemctl suspend" -detectsleep 162 | bindsym Mod4+O exec --no-startup-id /home/patrik/.xlock/lock.sh -detectsleep && sleep 1 && xset -display :0.0 dpms force off 163 | bindsym Mod4+Shift+O exec --no-startup-id /home/patrik/.xlock/lock.sh -detectsleep 164 | #exec --no-startup-id xss-lock /home/patrik/.xlock/lock.sh & 165 | 166 | # resize window (you can also use the mouse for that) 167 | mode $resize { 168 | # These bindings trigger as soon as you enter the resize mode 169 | 170 | # Pressing left will shrink the window’s width. 171 | # Pressing right will grow the window’s width. 172 | # Pressing up will shrink the window’s height. 173 | # Pressing down will grow the window’s height. 174 | bindsym $left resize shrink width 10 px or 10 ppt 175 | bindsym $down resize grow height 10 px or 10 ppt 176 | bindsym $up resize shrink height 10 px or 10 ppt 177 | bindsym $right resize grow width 10 px or 10 ppt 178 | 179 | # same bindings, but for the arrow keys 180 | bindsym Left resize shrink width 10 px or 10 ppt 181 | bindsym Down resize grow height 10 px or 10 ppt 182 | bindsym Up resize shrink height 10 px or 10 ppt 183 | bindsym Right resize grow width 10 px or 10 ppt 184 | 185 | # back to normal: Enter or Escape 186 | # bindsym Return exec --no-startup-id /home/patrik/.config/lemonbar/endresize.sh, mode "default" 187 | bindsym Return mode "default" 188 | # bindsym Escape exec --no-startup-id /home/patrik/.config/lemonbar/endresize.sh, mode "default" 189 | bindsym Escape mode "default" 190 | } 191 | 192 | set $status_bg #2E343c00 193 | # bindsym Mod4+r exec --no-startup-id /home/patrik/.config/lemonbar/resize.sh, mode $resize 194 | bindsym Mod4+r mode $resize 195 | # bindsym $mod+r exec --no-startup-id /home/patrik/.config/lemonbar/workspaces.sh 196 | 197 | # i3 bar with i3blocks 198 | #bar { 199 | # position top 200 | ## status_command i3blocks 201 | # i3bar_command i3bar -t 202 | ## #i3bar_command ~/.i3/lemonbar/i3_lemonbar.sh 203 | ## font pango:Hack, Awesome 9 204 | # height 36 205 | ## tray_padding 0 206 | ## tray_output 0 207 | # colors { 208 | # separator #666666 209 | # statusline #dddddd 210 | # background $status_bg 211 | # focused_workspace #6079C000 #6079C000 #ffffff00 212 | # active_workspace #7080a900 #7080a900 #ffffff00 213 | # inactive_workspace $status_bg $status_bg #FFFFFF00 214 | # urgent_workspace #FF6896 #FF6896 #000000 215 | # binding_mode #FF6896 #FF6896 #000000 216 | # } 217 | #} 218 | 219 | bar { 220 | i3bar_command /home/patrik/.config/lemonbar/bar.sh 221 | #i3bar_command xfce4-panel 222 | } 223 | 224 | #exec xfce4-panel --disable-wm-check 225 | 226 | # Gaps 227 | smart_gaps on 228 | smart_borders on 229 | gaps inner 10 230 | gaps outer 0 231 | new_window pixel 0 232 | 233 | # Background and compositor 234 | exec --no-startup-id nitrogen --restore 235 | exec --no-startup-id compton --backend glx --paint-on-overlay --glx-no-stencil --vsync opengl-swc --shadow-exclude "! name~=''" --config ~/.compton.conf -b 236 | 237 | # Touchpad settings 238 | #exec --no-startup-id xinput set-prop 11 277 1 239 | #exec --no-startup-id xinput set-prop 11 287 1 240 | #exec --no-startup-id xinput set-prop 11 286 1 241 | #exec --no-startup-id xinput set-prop 11 278 1 242 | 243 | # Volume control 244 | bindsym XF86AudioRaiseVolume exec --no-startup-id amixer sset Master 8%+ && /home/patrik/.config/lemonbar/volume.sh 245 | bindcode mode_switch+40 exec --no-startup-id amixer sset Master 8%+ && /home/patrik/.config/lemonbar/volume.sh 246 | bindsym XF86AudioLowerVolume exec --no-startup-id amixer sset Master 8%- && /home/patrik/.config/lemonbar/volume.sh 247 | bindcode mode_switch+39 exec --no-startup-id amixer sset Master 8%- && /home/patrik/.config/lemonbar/volume.sh 248 | bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle && /home/patrik/.config/lemonbar/volume.sh 249 | bindcode mode_switch+41 exec --no-startup-id pactl set-sink-mute 0 toggle && /home/patrik/.config/lemonbar/volume.sh 250 | 251 | # Screen brightness controls 252 | bindsym XF86MonBrightnessUp exec --no-startup-id light -A 8 && /home/patrik/.config/lemonbar/brightness.sh 253 | bindsym XF86MonBrightnessDown exec --no-startup-id light -U 8 && /home/patrik/.config/lemonbar/brightness.sh 254 | 255 | 256 | # Media player controls 257 | bindsym XF86AudioPlay exec --no-startup-id playerctl play 258 | bindcode mode_switch+25 exec --no-startup-id /home/patrik/.config/lemonbar/music.sh playpause 259 | bindsym XF86AudioPause exec --no-startup-id playerctl pause 260 | bindsym XF86AudioNext exec --no-startup-id /home/patrik/.config/lemonbar/music.sh next 261 | bindcode mode_switch+26 exec --no-startup-id /home/patrik/.config/lemonbar/music.sh next 262 | bindsym XF86AudioPrev exec --no-startup-id playerctl previous 263 | bindcode mode_switch+24 exec --no-startup-id /home/patrik/.config/lemonbar/music.sh previous 264 | 265 | # exec --no-startup-id nm-applet 266 | # exec --no-startup-id blueman-applet 267 | # 268 | # exec --no-startup-id polybar systray 269 | exec --no-startup-id /etc/profile.d/vte.sh 270 | exec --no-startup-id $HOME/.i3/custom_dmenu_run.sh 271 | exec --no-startup-id /home/patrik/Scripts/Startup/startup.py 272 | exec --no-startup-id /home/patrik/Scripts/Startup/xinput 273 | 274 | # exec --no-startup-id nm-applet 275 | # exec --no-startup-id blueman-applet 276 | # exec --no-startup-id /home/patrik/.config/lemonbar/hideIt.sh/start.sh 277 | 278 | -------------------------------------------------------------------------------- /i3/custom_dmenu_run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | echo "[" > /home/patrik/.cache/custom_dmenu_run 3 | IFS=':' read -ra ADDR <<< "$CUSTOMPATH" 4 | for i in "${ADDR[@]}"; do 5 | echo $i >> /home/patrik/.cache/custom_dmenu_run 6 | done 7 | 8 | bins=$(find /home/patrik/Programs/* -maxdepth 0 -type f && find $HOME/Programs/* -maxdepth 0 -type l) 9 | for i in $bins; do 10 | echo $(basename $i) >> /home/patrik/.cache/custom_dmenu_run 11 | done 12 | temp=$(sort /home/patrik/.cache/custom_dmenu_run) 13 | rm /home/patrik/.cache/custom_dmenu_run 14 | touch /home/patrik/.cache/custom_dmenu_run 15 | for i in $temp; do 16 | echo $i >> /home/patrik/.cache/custom_dmenu_run 17 | done 18 | -------------------------------------------------------------------------------- /i3/dmenuconfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if [[ $# -gt 0 ]] 3 | then 4 | a=$(cat $HOME/.config/termite/config | grep color4 | awk '{print $NF}' | head -1 ) 5 | $1 -fn 'Hack'-11 -h 20 -sb $a -nb '#272C33' -sf '#272C33' -nf '#ffffff' 6 | fi 7 | -------------------------------------------------------------------------------- /i3/playpause.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ $(playerctl status) = "Playing" ] 4 | then 5 | playerctl pause 6 | else 7 | playerctl play 8 | fi 9 | -------------------------------------------------------------------------------- /i3blocks.conf: -------------------------------------------------------------------------------- 1 | separator=false 2 | separator_block_width=0 3 | interval=5 4 | color=#FFFFFF 5 | #background=#252C34F2 6 | background=#2e343c 7 | border_top=0 8 | border_left=0 9 | border_right=0 10 | border_bottom=0 11 | command=~/.config/i3blocks/$BLOCK_NAME 12 | #[windowtitle] 13 | #interval=1 14 | #[extra1] 15 | #min_width=1150 16 | #align=left 17 | #command=echo ' ' 18 | #border_top=0 19 | #border_bottom=0 20 | #border_left=0 21 | #border_right=0 22 | #background=#30303000 23 | [network] 24 | [battery] 25 | [brightness] 26 | interval=10000 27 | signal=2 28 | [volume] 29 | signal=1 30 | interval=10000 31 | #[temperature] 32 | [time] 33 | interval=1 34 | #[lock] 35 | #background=#495258 36 | #color=#FFFFFF 37 | #[logout] 38 | #background=#495258 39 | #color=#FFFFFF 40 | #[restart] 41 | #background=#495258 42 | ##background=#242424 43 | #color=#FFFFFF 44 | #[shutdown] 45 | #background=#495258 46 | #background=#242424 47 | #color=#FFFFFF 48 | -------------------------------------------------------------------------------- /i3blocks/battery: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | INSTANCE="${1:-BAT0}" 4 | ALERT_LOW="${2:-10}" 5 | 6 | if test -e "/sys/class/power_supply/$INSTANCE" 7 | then 8 | status=$(cat /sys/class/power_supply/$INSTANCE/status) 9 | capacity=$(cat /sys/class/power_supply/$INSTANCE/capacity) 10 | case "$status" in 11 | "Discharging") 12 | symbol='' 13 | remaining="$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "time" | cut -d ' ' -f 14-15)" 14 | #remaining="$(acpi)" 15 | ;; 16 | "Charging") 17 | symbol='' 18 | remaining="$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "time" | cut -d ' ' -f 15-16)" 19 | #remaining="$(acpi)" 20 | ;; 21 | "Full") 22 | exit 23 | ;; 24 | esac 25 | if [ $capacity -gt 89 ] 26 | then 27 | baticon='' 28 | else 29 | if [ $capacity -gt 62 ] 30 | then 31 | baticon='' 32 | else 33 | if [ $capacity -gt 35 ] 34 | then 35 | baticon='' 36 | else 37 | if [ $capacity -gt 10 ] 38 | then 39 | baticon='' 40 | else 41 | baticon='' 42 | fi 43 | fi 44 | fi 45 | fi 46 | 47 | # Full text 48 | echo "$baticon $capacity% $remaining" 49 | # Short text 50 | #echo "Ψ $capacity% $symbol" 51 | 52 | # Color 53 | #if test $capacity -le $ALERT_LOW -a $status = "Discharging" 54 | #then 55 | #echo "#F5A3A3" 56 | #fi 57 | #if [ $status = "Charging" ] 58 | #then 59 | #echo "#70CBB6" 60 | #fi 61 | fi 62 | -------------------------------------------------------------------------------- /i3blocks/bluetooth: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) blueman-manager;; 4 | esac 5 | arr=($(bluetooth)) 6 | state=${arr[N-2]} 7 | if [[ $state == off ]] 8 | then 9 | state=Off 10 | else 11 | state=On 12 | fi 13 | echo '  '$state' ' 14 | 15 | -------------------------------------------------------------------------------- /i3blocks/brightness: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "$(printf " %.0f" $(light))%" 4 | -------------------------------------------------------------------------------- /i3blocks/calendar: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | next_appointment 3 | -------------------------------------------------------------------------------- /i3blocks/cpu: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | load="$(cut -d ' ' -f1 /proc/loadavg)" 4 | cpus="$(nproc)" 5 | 6 | # full text 7 | echo " $load" 8 | 9 | # short text 10 | echo " $load" 11 | 12 | # color if load is too high 13 | if [ $(awk 'BEGIN{ print "'$cpus'"<="'$load'" }') -eq 1 ]; then 14 | echo "#FF0000" 15 | fi 16 | -------------------------------------------------------------------------------- /i3blocks/lock: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) /home/patrik/.xlock/lock.sh ;; 4 | esac 5 | echo '' 6 | -------------------------------------------------------------------------------- /i3blocks/logout: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) 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' >/dev/null;; 4 | esac 5 | echo '  ' 6 | -------------------------------------------------------------------------------- /i3blocks/memory: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TYPE="${1:-mem}" 4 | ALERT_MAX="${2:-80}" 5 | 6 | awk -v type=$TYPE -v alert_max=$ALERT_MAX ' 7 | /^MemTotal:/ { 8 | mem_total=$2 9 | } 10 | /^MemFree:/ { 11 | mem_free=$2 12 | } 13 | /^Buffers:/ { 14 | mem_free+=$2 15 | } 16 | /^Cached:/ { 17 | mem_free+=$2 18 | } 19 | /^SwapTotal:/ { 20 | swap_total=$2 21 | } 22 | /^SwapFree:/ { 23 | swap_free=$2 24 | } 25 | END { 26 | mem_used=(mem_total - mem_free)/mem_total*100 27 | 28 | # full text 29 | if (type == "swap") 30 | printf("SWAP: %.1fG\n", (swap_total-swap_free)/1024/1024) 31 | else 32 | printf(" %.1f%\n ", mem_used) 33 | 34 | # TODO: short text 35 | if (type == "swap") 36 | printf("SWAP: %.1fG\n", (swap_total-swap_free)/1024/1024) 37 | else 38 | printf("Ω %.1f%\n", (mem_total - mem_free)/mem_total*100) 39 | 40 | # color 41 | if (+ mem_used > + alert_max) 42 | print "#FF0000" 43 | } 44 | ' /proc/meminfo 45 | -------------------------------------------------------------------------------- /i3blocks/network: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | text='' 4 | 5 | for INTERFACE in $(ls /sys/class/net/); do 6 | state="$(cat /sys/class/net/$INTERFACE/operstate)" 7 | if [ "$state" = "up" ]; then 8 | ipaddr="$(ip addr show $INTERFACE | perl -n -e'/inet (.+)\// && print $1')" 9 | ipaddr="${ipaddr:- -}" 10 | iwid="$(iwgetid -r)" 11 | 12 | if [ "$INTERFACE" = "wlp4s0" ]; then 13 | text=" $text |  $iwid  $ipaddr" 14 | else 15 | text=" $text |  wired  $ipaddr" 16 | fi 17 | fi 18 | done 19 | 20 | if [ -n "$text" ]; then 21 | text=$(echo $text | sed "s/^| //") 22 | echo $text 23 | else 24 | echo ' '"-/->"' ' 25 | fi 26 | -------------------------------------------------------------------------------- /i3blocks/restart: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) i3-nagbar -t warning -m 'You pressed the reboot shortcut. Do you really want to reboot?' -b 'Yes, reboot' 'reboot' >/dev/null;; 4 | esac 5 | echo '  ' 6 | -------------------------------------------------------------------------------- /i3blocks/shutdown: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) i3-nagbar -t warning -m 'You pressed the shutdown shortcut. Do you really want to shutdown?' -b 'Yes, shutdown' 'shutdown -h now' >/dev/null;; 4 | esac 5 | echo '' 6 | -------------------------------------------------------------------------------- /i3blocks/temperature: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # vim:ts=4:sw=4:expandtab 3 | CORE="Core 0" 4 | OUTPUT=$(sensors -Au) 5 | 6 | IFS=$'\n' 7 | DATA=$(echo "${OUTPUT}" | egrep -A4 "${CORE}") 8 | FIRST=$(echo "${DATA}" | grep -Po "(?<=_input: )([0-9]+)") 9 | HIGH=$(echo "${DATA}" | grep -Po "(?<=_max: )([0-9]+)") 10 | #CRIT=$(echo "${DATA}" | grep -Po "(?<=_crit: )([0-9]+)") 11 | 12 | CORE="Core 1" 13 | OUTPUT=$(sensors -Au) 14 | IFS=$'\n' 15 | DATA=$(echo "${OUTPUT}" | egrep -A4 "${CORE}") 16 | CURRENT="$(echo "${DATA}" | grep -Po "(?<=_input: )([0-9]+)") $FIRST" 17 | HIGH=$(echo "${DATA}" | grep -Po "(?<=_max: )([0-9]+)") 18 | 19 | echo ' '" ${CURRENT}"' ' 20 | #[[ "${FIRST}" -lt 50 ]] && echo ''&& echo "#808080" 21 | 22 | [[ "${CURRENT}" -gt "${HIGH}" ]] && exit 33 23 | exit 0 24 | -------------------------------------------------------------------------------- /i3blocks/time: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo -n " $(date "+%d %B")  $(date "+%H:%M:%S")" 4 | -------------------------------------------------------------------------------- /i3blocks/touchpad: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -e '/usr/bin/synclient' ] 4 | then 5 | enable=$(synclient -l | grep -c 'TouchpadOff.*=.*0') 6 | 7 | if [ $enable == 1 ]; then 8 | echo '[ ]' 9 | echo '' 10 | echo '#00FF00' 11 | else 12 | echo '[X]' 13 | echo '' 14 | echo '#FF0000' 15 | fi 16 | fi 17 | -------------------------------------------------------------------------------- /i3blocks/volume: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CARD="${1:-0}" 4 | MIXER="${2:-default}" 5 | trap "echo Booh!" SIGHUP 6 | symbol=$(amixer -c $CARD -M -D $MIXER get Master | grep Playback | grep -q off && echo '' || echo ' '' ') 7 | 8 | amixer -c $CARD -M -D $MIXER get Master | 9 | echo $(sed -n "s/^[^:]*: Playback [0-9]* \[\([0-9]*%\)\] .*/$symbol \1/p" | head -n1) 10 | #echo "" 11 | #echo $(amixer -c $CARD -M -D $MIXER get Master | grep Playback | grep -q off && echo "#F5A3A3" || echo "#EEEEEE") 12 | -------------------------------------------------------------------------------- /i3blocks/windowtitle: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | full=$(xdotool getactivewindow getwindowname) 3 | IFS='-' read -r -a array <<< "$full" 4 | 5 | firstpart=(${array[0]}) 6 | i=0 7 | output="" 8 | if [[ $full == *"-"* ]] 9 | then 10 | for element in "${firstpart[@]}" 11 | do 12 | 13 | if [ $i -lt 3 ] 14 | then 15 | output="$output $element " 16 | fi 17 | i=$((i+1)) 18 | done 19 | fi 20 | size=${#output} 21 | if [ $size -gt 0 ] 22 | then 23 | output="$output-${array[1]}" 24 | else 25 | output="${array[0]}" 26 | fi 27 | echo $output 28 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ ! -e "$HOME/.i3" ]; then 3 | ln -s $HOME/.dotfiles/i3 $HOME/.i3 4 | fi 5 | if [ ! -e "$HOME/.i3blocks.conf" ]; then 6 | ln -s $HOME/.dotfiles/i3blocks.conf $HOME/.i3blocks.conf 7 | fi 8 | if [ ! -e "$HOME/.config/i3blocks" ]; then 9 | ln -s $HOME/.dotfiles/i3blocks $HOME/.config/i3blocks 10 | fi 11 | if [ ! -e "$HOME/.config/termite" ]; then 12 | ln -s $HOME/.dotfiles/termite $HOME/.config/termite 13 | fi 14 | if [ ! -e "$HOME/.tmux.conf" ]; then 15 | ln -s $HOME/.dotfiles/tmux.conf $HOME/.tmux.conf 16 | fi 17 | if [ ! -e "$HOME/.vim" ]; then 18 | ln -s $HOME/.dotfiles/vim $HOME/.vim && 19 | git clone https://github.com/scrooloose/nerdtree.git $HOME/.vim/bundle/nerdtree && 20 | git clone https://github.com/jistr/vim-nerdtree-tabs.git $HOME/.vim/bundle/vim-nerdtree-tabs && 21 | git clone https://github.com/vim-scripts/indentpython.vim.git $HOME/.vim/bundle/indentpython.vim && 22 | git clone https://github.com/ctrlpvim/ctrlp.vim.git $HOME/.vim/bundle/ctrlp.vim && 23 | git clone https://github.com/tpope/vim-sensible.git $HOME/.vim/bundle/vim-sensible 24 | fi 25 | if [ ! -e "$HOME/.vimrc" ]; then 26 | ln -s $HOME/.dotfiles/vim/vimrc $HOME/.vimrc 27 | fi 28 | if [ ! -e "$HOME/.xlock" ]; then 29 | ln -s $HOME/.dotfiles/xlock $HOME/.xlock 30 | fi 31 | if [ ! -e "$HOME/.zshrc" ]; then 32 | ln -s $HOME/.dotfiles/zshrc $HOME/.zshrc 33 | fi 34 | if [ ! -e "$HOME/.config/powerline" ]; then 35 | ln -s $HOME/.dotfiles/powerline $HOME/.config/powerline 36 | fi 37 | if [ ! -e "$HOME/.gtkrc-2.0" ]; then 38 | ln -s $HOME/.dotfiles/gtk/gtkrc-2.0 $HOME/.gtkrc-2.0 39 | fi 40 | if [ ! -e "$HOME/.config/gtk-3.0" ]; then 41 | ln -s $HOME/.dotfiles/gtk/gtk-3.0 $HOME/.config/gtk-3.0 42 | fi 43 | -------------------------------------------------------------------------------- /lemonbar/bar.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | barpid="$$" 4 | trap 'trap - TERM; kill 0' INT TERM QUIT EXIT 5 | if [ $(pgrep -cx lemonbar) -gt 0 ] ; then 6 | printf "%s\n" "The panel is already running." >&2 7 | exit 1 8 | fi 9 | 10 | fifo="/tmp/panel_fifo" 11 | [ -e "$fifo" ] && rm "$fifo" 12 | mkfifo "$fifo" 13 | 14 | windowtitle() { 15 | echo "Windowtitle "$(~/.config/lemonbar/blocks/windowtitle) 16 | } 17 | clock() { 18 | echo "Clock %{+u +o}%{B-}%{U#272C33}$(~/.config/lemonbar/blocks/calendar) $(~/.config/lemonbar/blocks/time)%{B-}%{U-}%{-u -o}" 19 | } 20 | battery() { 21 | echo "Battery "$(~/.config/lemonbar/blocks/battery) 22 | #echo 'Battery  96%' && sleep 1 && echo 'Battery  96%' && sleep 1 && echo 'Battery  96%' && sleep 1 && echo 'Battery  96%' && sleep 1 && echo 'Battery  96%' && sleep 1 & 23 | } 24 | volume() { 25 | echo "Volume "$(~/.config/lemonbar/blocks/volume) 26 | } 27 | network() { 28 | echo "Network "$(~/.config/lemonbar/blocks/network) 29 | } 30 | spotify() { 31 | if [ $(pgrep -cx spotify) -gt 0 ] ; then 32 | status=$(playerctl status) 33 | echo "Spotify"$(python ~/.config/lemonbar/blocks/music.py $status) 34 | else 35 | echo "Spotify" 36 | fi 37 | } 38 | 39 | while :; do volume; sleep 30s; done > "$fifo" & 40 | while :; do clock; sleep 60s; done > "$fifo" & 41 | while :; do battery; sleep 6s; done > "$fifo" & 42 | while :; do network; sleep 10s; done > "$fifo" & 43 | while :; do spotify; sleep 5s; done > "$fifo" & 44 | 45 | /home/patrik/.config/lemonbar/events.py & 46 | 47 | while read -r line ; do 48 | case $line in 49 | Workspaces*) 50 | ws="${line:11}" 51 | ;; 52 | Volume*) 53 | vl="%{T4}${line:7}%{T-}" 54 | ;; 55 | Clock*) 56 | cl="${line:5}" 57 | ;; 58 | Battery*) 59 | bt="${line:7}" 60 | ;; 61 | Network*) 62 | nt="${line:7}" 63 | ;; 64 | Brightness*) 65 | bn="${line:10}" 66 | ;; 67 | Windowtitle*) 68 | wt="${line:11}" 69 | ;; 70 | resizemode*) 71 | rs="${line:10}" 72 | ;; 73 | defaultmode*) 74 | rs="" 75 | ;; 76 | Spotify*) 77 | sp="${line:7}" 78 | ;; 79 | esac 80 | echo "%{l}%{#FFFFFF}$nt $testinfo$vl $sp $rs%{c}%{T4}$ws%{T-}%{B-}%{r}$bn $bt%{A:gsimplecal &:}$cl%{A}%{F-}" 81 | done < "$fifo" | lemonbar -f "Hack:size=10" -o 0 -f "FontAwesome:size=10" \ 82 | -o -2.5 -f "Material Icons:size=12" -o -1.5 -f "Hack:size=10" -o 0 -f "FontAwesome:size=12" -o 0 -u 0 -U "#FFFFFF" -B "#272C33" -F "#FFFFFF" -g 1920x20+0+0 | sh 83 | 84 | -------------------------------------------------------------------------------- /lemonbar/blocks/battery: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | INSTANCE="${1:-BAT0}" 4 | ALERT_LOW="${2:-10}" 5 | 6 | if test -e "/sys/class/power_supply/$INSTANCE" 7 | then 8 | status=$(cat /sys/class/power_supply/$INSTANCE/status) 9 | capacity=$(cat /sys/class/power_supply/$INSTANCE/capacity) 10 | if [ $capacity -gt 89 ] 11 | then 12 | baticon='' 13 | else 14 | if [ $capacity -gt 62 ] 15 | then 16 | baticon='' 17 | else 18 | if [ $capacity -gt 35 ] 19 | then 20 | baticon='' 21 | else 22 | if [ $capacity -gt 10 ] 23 | then 24 | baticon='' 25 | else 26 | baticon='' 27 | fi 28 | fi 29 | fi 30 | fi 31 | case "$status" in 32 | "Discharging") 33 | symbol='' 34 | remaining="$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "time" | cut -d ' ' -f 14-15)" 35 | #remaining="$(acpi)" 36 | ;; 37 | "Charging") 38 | symbol='' 39 | remaining="$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -E "time" | cut -d ' ' -f 15-16)" 40 | #remaining="$(acpi)" 41 | baticon=' '$baticon 42 | #baticon=' '$baticon 43 | ;; 44 | "Full") 45 | exit 46 | ;; 47 | esac 48 | 49 | # Full text 50 | #echo "$baticon $capacity%" 51 | echo "%{+u +o}%{B-}%{U#272C33} %{T2}$baticon%{T-} $capacity% $remaining %{B-}%{U-}%{-u -o}" 52 | # Short text 53 | #echo "Ψ $capacity% $symbol" 54 | 55 | # Color 56 | #if test $capacity -le $ALERT_LOW -a $status = "Discharging" 57 | #then 58 | #echo "#F5A3A3" 59 | #fi 60 | #if [ $status = "Charging" ] 61 | #then 62 | #echo "#70CBB6" 63 | #fi 64 | fi 65 | -------------------------------------------------------------------------------- /lemonbar/blocks/bluetooth: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) blueman-manager;; 4 | esac 5 | arr=($(bluetooth)) 6 | state=${arr[N-2]} 7 | if [[ $state == off ]] 8 | then 9 | state=Off 10 | else 11 | state=On 12 | fi 13 | echo '  '$state' ' 14 | 15 | -------------------------------------------------------------------------------- /lemonbar/blocks/brightness: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | bn=$(light) 4 | bn=${bn%%.*} 5 | if [ $bn -gt 66 ] 6 | then 7 | echo " $bn%" 8 | elif [ $bn -gt 33 ] 9 | then 10 | echo " $bn%" 11 | else 12 | echo " $bn%" 13 | # if [ $bn -eq 0 ] 14 | # then 15 | # echo "%{+u +o}%{-u -o}%{+u +o}%{-u -o}%{F#777777}━━━━━━━━━━━━━━" 16 | # else 17 | # fi 18 | fi 19 | -------------------------------------------------------------------------------- /lemonbar/blocks/brightnessold: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo " $(printf "%.0f" $(light))%" 4 | -------------------------------------------------------------------------------- /lemonbar/blocks/brightnessslider: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | bn=$(light) 4 | bn=${bn%%.*} 5 | if [ $bn -eq 100 ] 6 | then 7 | echo "%{+u +o}%{-u -o}━━━━━━━━━━━━━━%{+u +o}%{-u -o}%{F#777777}" 8 | elif [ $bn -gt 91 ] 9 | then 10 | echo "%{+u +o}%{-u -o}━━━━━━━━━━━━━%{+u +o}%{-u -o}%{F#777777}━%{F#777777}" 11 | elif [ $bn -gt 83 ] 12 | then 13 | echo "%{+u +o}%{-u -o}━━━━━━━━━━━━%{+u +o}%{-u -o}%{F#777777}━━%{F#777777}" 14 | elif [ $bn -gt 75 ] 15 | then 16 | echo "%{+u +o}%{-u -o}━━━━━━━━━━━%{+u +o}%{-u -o}%{F#777777}━━━%{F#777777}" 17 | elif [ $bn -gt 67 ] 18 | then 19 | echo "%{+u +o}%{-u -o}━━━━━━━━━━%{+u +o}%{-u -o}%{F#777777}━━━━%{F#777777}" 20 | elif [ $bn -gt 59 ] 21 | then 22 | echo "%{+u +o}%{-u -o}━━━━━━━━━%{+u +o}%{-u -o}%{F#777777}━━━━━%{F#777777}" 23 | elif [ $bn -gt 51 ] 24 | then 25 | echo "%{+u +o}%{-u -o}━━━━━━━━%{+u +o}%{-u -o}%{F#777777}━━━━━━%{F#777777}" 26 | elif [ $bn -gt 43 ] 27 | then 28 | echo "%{+u +o}%{-u -o}━━━━━━━%{+u +o}%{-u -o}%{F#777777}━━━━━━━%{F#777777}" 29 | elif [ $bn -gt 35 ] 30 | then 31 | echo "%{+u +o}%{-u -o}━━━━━━%{+u +o}%{-u -o}%{F#777777}━━━━━━━━%{F#777777}" 32 | elif [ $bn -gt 27 ] 33 | then 34 | echo "%{+u +o}%{-u -o}━━━━━%{+u +o}%{-u -o}%{F#777777}━━━━━━━━━%{F#777777}" 35 | elif [ $bn -gt 19 ] 36 | then 37 | echo "%{+u +o}%{-u -o}━━━━%{+u +o}%{-u -o}%{F#777777}━━━━━━━━━━%{F#777777}" 38 | elif [ $bn -gt 11 ] 39 | then 40 | echo "%{+u +o}%{-u -o}━━━%{+u +o}%{-u -o}%{F#777777}━━━━━━━━━━━" 41 | elif [ $bn -gt 3 ] 42 | then 43 | echo "%{+u +o}%{-u -o}━━%{+u +o}%{-u -o}%{F#777777}━━━━━━━━━━━━" 44 | else 45 | # if [ $bn -eq 0 ] 46 | # then 47 | # echo "%{+u +o}%{-u -o}%{+u +o}%{-u -o}%{F#777777}━━━━━━━━━━━━━━" 48 | # else 49 | echo "%{+u +o}%{-u -o}━%{+u +o}%{-u -o}%{F#777777}━━━━━━━━━━━━━" 50 | # fi 51 | fi 52 | -------------------------------------------------------------------------------- /lemonbar/blocks/calendar: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo -n "%{T5}%{T-} $(date "+%d %b")" 4 | # echo -n " $(date "+%d %B")" 5 | -------------------------------------------------------------------------------- /lemonbar/blocks/cpu: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | load="$(cut -d ' ' -f1 /proc/loadavg)" 4 | cpus="$(nproc)" 5 | 6 | # full text 7 | echo " $load" 8 | 9 | # short text 10 | echo " $load" 11 | 12 | # color if load is too high 13 | if [ $(awk 'BEGIN{ print "'$cpus'"<="'$load'" }') -eq 1 ]; then 14 | echo "#FF0000" 15 | fi 16 | -------------------------------------------------------------------------------- /lemonbar/blocks/lock: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) /home/patrik/.xlock/lock.sh ;; 4 | esac 5 | echo '' 6 | -------------------------------------------------------------------------------- /lemonbar/blocks/logout: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) 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' >/dev/null;; 4 | esac 5 | echo '  ' 6 | trap ':' PIPE 7 | -------------------------------------------------------------------------------- /lemonbar/blocks/memory: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TYPE="${1:-mem}" 4 | ALERT_MAX="${2:-80}" 5 | 6 | awk -v type=$TYPE -v alert_max=$ALERT_MAX ' 7 | /^MemTotal:/ { 8 | mem_total=$2 9 | } 10 | /^MemFree:/ { 11 | mem_free=$2 12 | } 13 | /^Buffers:/ { 14 | mem_free+=$2 15 | } 16 | /^Cached:/ { 17 | mem_free+=$2 18 | } 19 | /^SwapTotal:/ { 20 | swap_total=$2 21 | } 22 | /^SwapFree:/ { 23 | swap_free=$2 24 | } 25 | END { 26 | mem_used=(mem_total - mem_free)/mem_total*100 27 | 28 | # full text 29 | if (type == "swap") 30 | printf("SWAP: %.1fG\n", (swap_total-swap_free)/1024/1024) 31 | else 32 | printf(" %.1f%\n ", mem_used) 33 | 34 | # TODO: short text 35 | if (type == "swap") 36 | printf("SWAP: %.1fG\n", (swap_total-swap_free)/1024/1024) 37 | else 38 | printf("Ω %.1f%\n", (mem_total - mem_free)/mem_total*100) 39 | 40 | # color 41 | if (+ mem_used > + alert_max) 42 | print "#FF0000" 43 | } 44 | ' /proc/meminfo 45 | -------------------------------------------------------------------------------- /lemonbar/blocks/music.py: -------------------------------------------------------------------------------- 1 | import dbus 2 | import sys 3 | try: 4 | l = sys.argv 5 | session_bus = dbus.SessionBus() 6 | if len(l) > 1: 7 | if str(l[1]) == "Paused": 8 | musicon="" 9 | mustext="Now playing:" 10 | else: 11 | musicon="" 12 | mustext="Now playing:" 13 | out="%{A:/home/patrik/.config/lemonbar/music.sh previous:}%{A}%{A:/home/patrik/.config/lemonbar/music.sh playpause:}%{T3}"+musicon+"%{T-}%{A}%{A:/home/patrik/.config/lemonbar/music.sh next:}%{}%{A} " 14 | #out="%{A:/home/patrik/.config/lemonbar/music.sh previous:}%{A}%{A:/home/patrik/.config/lemonbar/music.sh playpause:}%{T5}"+musicon+"%{T-}%{A}%{A:/home/patrik/.config/lemonbar/music.sh next:}%{}%{A} " 15 | spotify_bus = session_bus.get_object("org.mpris.MediaPlayer2.spotify", 16 | "/org/mpris/MediaPlayer2") 17 | spotify_properties = dbus.Interface(spotify_bus, 18 | "org.freedesktop.DBus.Properties") 19 | metadata = spotify_properties.Get("org.mpris.MediaPlayer2.Player", 20 | "Metadata") 21 | 22 | # The property Metadata behaves like a python dict 23 | # for key, value in metadata.items(): 24 | # print(str(key) + " " + str(value)) 25 | 26 | # To just print the title 27 | artist = str(metadata['xesam:artist'][0]) 28 | title = str(metadata['xesam:title']) 29 | length = len(artist)+len(title) 30 | if length > 50: 31 | title = title[:50-len(artist)] + "..." 32 | print(out+title + " - " + artist ) 33 | except dbus.exceptions.DBusException: 34 | print() 35 | -------------------------------------------------------------------------------- /lemonbar/blocks/network: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | text='' 4 | 5 | for INTERFACE in $(ls /sys/class/net/); do 6 | state="$(cat /sys/class/net/$INTERFACE/operstate)" 7 | if [ "$state" = "up" ]; then 8 | ipaddr="$(ip addr show $INTERFACE | perl -n -e'/inet (.+)\// && print $1')" 9 | ipaddr="${ipaddr:- -}" 10 | iwid="$(iwgetid -r)" 11 | 12 | if [ "$INTERFACE" = "wlp4s0" ]; then 13 | text=" $text |  $iwid" 14 | #text=" $text |  $iwid $ipaddr" 15 | else 16 | text=" $text |  wired $ipaddr" 17 | #text=" $text |  wired" 18 | fi 19 | fi 20 | if [ "$INTERFACE" = "bnep0" ]; then 21 | if [ "$(ls -A /sys/class/net/$INTERFACE)" ]; then 22 | text=" Bluetooth network" 23 | fi 24 | fi 25 | done 26 | 27 | if [ -n "$text" ]; then 28 | text=$(echo $text | sed "s/^| //") 29 | echo "%{+o}%{B-}%{U#FFFFFF}$text %{B-}%{U-}%{-o}" 30 | else 31 | #echo ' '"-/->"' ' 32 | echo " No connection" 33 | fi 34 | -------------------------------------------------------------------------------- /lemonbar/blocks/restart: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) i3-nagbar -t warning -m 'You pressed the reboot shortcut. Do you really want to reboot?' -b 'Yes, reboot' 'reboot' >/dev/null;; 4 | esac 5 | echo '  ' 6 | trap ':' PIPE 7 | -------------------------------------------------------------------------------- /lemonbar/blocks/shutdown: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | case $BLOCK_BUTTON in 3 | 1) i3-nagbar -t warning -m 'You pressed the shutdown shortcut. Do you really want to shutdown?' -b 'Yes, shutdown' 'shutdown -h now' >/dev/null;; 4 | esac 5 | echo '' 6 | trap ':' PIPE 7 | -------------------------------------------------------------------------------- /lemonbar/blocks/temperature: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # vim:ts=4:sw=4:expandtab 3 | CORE="Core 0" 4 | OUTPUT=$(sensors -Au) 5 | 6 | IFS=$'\n' 7 | DATA=$(echo "${OUTPUT}" | egrep -A4 "${CORE}") 8 | FIRST=$(echo "${DATA}" | grep -Po "(?<=_input: )([0-9]+)") 9 | HIGH=$(echo "${DATA}" | grep -Po "(?<=_max: )([0-9]+)") 10 | #CRIT=$(echo "${DATA}" | grep -Po "(?<=_crit: )([0-9]+)") 11 | 12 | CORE="Core 1" 13 | OUTPUT=$(sensors -Au) 14 | IFS=$'\n' 15 | DATA=$(echo "${OUTPUT}" | egrep -A4 "${CORE}") 16 | CURRENT="$(echo "${DATA}" | grep -Po "(?<=_input: )([0-9]+)") $FIRST" 17 | HIGH=$(echo "${DATA}" | grep -Po "(?<=_max: )([0-9]+)") 18 | 19 | echo ' '" ${CURRENT}"' ' 20 | #[[ "${FIRST}" -lt 50 ]] && echo ''&& echo "#808080" 21 | 22 | [[ "${CURRENT}" -gt "${HIGH}" ]] && exit 33 23 | exit 0 24 | -------------------------------------------------------------------------------- /lemonbar/blocks/time: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo -n "$(date "+%H:%M") " 4 | -------------------------------------------------------------------------------- /lemonbar/blocks/touchpad: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -e '/usr/bin/synclient' ] 4 | then 5 | enable=$(synclient -l | grep -c 'TouchpadOff.*=.*0') 6 | 7 | if [ $enable == 1 ]; then 8 | echo '[ ]' 9 | echo '' 10 | echo '#00FF00' 11 | else 12 | echo '[X]' 13 | echo '' 14 | echo '#FF0000' 15 | fi 16 | fi 17 | -------------------------------------------------------------------------------- /lemonbar/blocks/volume: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # OLDCOLOR = 77777794A5BC 3E4958 3 | 4 | CARD="${1:-0}" 5 | MIXER="${2:-default}" 6 | trap "echo Booh!" SIGHUP 7 | mute=$(amixer -c $CARD -M -D $MIXER get Master | grep Playback | grep -q off && echo 1 || echo 0) 8 | if [ $mute -eq 1 ] 9 | then 10 | slider=" %{F#67727E}%{T4}%{T-}━━━━━━━━━━━━━━%{F-}" 11 | else 12 | # echo "━━━━━━━▊%{F#67727E}━━━━━━━" 13 | pc=$(amixer -c $CARD -M -D $MIXER get Master | 14 | echo $(sed -n "s/^[^:]*: Playback [0-9]* \[\([0-9]*%\)\] .*/$symbol \1/p" | head -n1)) 15 | pc=${pc::-1} 16 | if [ $pc -eq 100 ] 17 | then 18 | slider=" %{F#FFFFFF}━━━━━━━━━━━━━━%{T4}%{T-}%{F#67727E}%{F-}" 19 | elif [ $pc -gt 91 ] 20 | then 21 | slider=" %{F#FFFFFF}━━━━━━━━━━━━━%{T4}%{T-}%{F#67727E}━%{F-}" 22 | elif [ $pc -gt 83 ] 23 | then 24 | slider=" %{F#FFFFFF}━━━━━━━━━━━━%{T4}%{T-}%{F#67727E}━━%{F-}" 25 | elif [ $pc -gt 75 ] 26 | then 27 | slider=" %{F#FFFFFF}━━━━━━━━━━━%{T4}%{T-}%{F#67727E}━━━%{F-}" 28 | elif [ $pc -gt 67 ] 29 | then 30 | slider=" %{F#FFFFFF}━━━━━━━━━━%{T4}%{T-}%{F#67727E}━━━━%{F-}" 31 | elif [ $pc -gt 59 ] 32 | then 33 | slider=" %{F#FFFFFF}━━━━━━━━━%{T4}%{T-}%{F#67727E}━━━━━%{F-}" 34 | elif [ $pc -gt 51 ] 35 | then 36 | slider=" %{F#FFFFFF}━━━━━━━━%{T4}%{T-}%{F#67727E}━━━━━━%{F-}" 37 | elif [ $pc -gt 43 ] 38 | then 39 | slider=" %{F#FFFFFF}━━━━━━━%{T4}%{T-}%{F#67727E}━━━━━━━%{F-}" 40 | elif [ $pc -gt 35 ] 41 | then 42 | slider=" %{F#FFFFFF}━━━━━━%{T4}%{T-}%{F#67727E}━━━━━━━━%{F-}" 43 | elif [ $pc -gt 27 ] 44 | then 45 | slider=" %{F#FFFFFF}━━━━━%{T4}%{T-}%{F#67727E}━━━━━━━━━%{F-}" 46 | elif [ $pc -gt 19 ] 47 | then 48 | slider=" %{F#FFFFFF}━━━━%{T4}%{T-}%{F#67727E}━━━━━━━━━━%{F-}" 49 | elif [ $pc -gt 11 ] 50 | then 51 | slider=" %{F#FFFFFF}━━━%{T4}%{T-}%{F#67727E}━━━━━━━━━━━%{F-}" 52 | elif [ $pc -gt 3 ] 53 | then 54 | slider=" %{F#FFFFFF}━━%{T4}%{T-}%{F#67727E}━━━━━━━━━━━━%{F-}" 55 | elif [ $pc -gt 0 ] 56 | then 57 | slider=" %{F#FFFFFF}━%{T4}%{T-}%{F#67727E}━━━━━━━━━━━━━%{F-}" 58 | else 59 | slider=" %{T4}%{T-}%{F#67727E}━━━━━━━━━━━━━━%{F-}" 60 | fi 61 | fi 62 | 63 | 64 | 65 | 66 | 67 | 68 | echo "%{+u +o}%{B-}%{U#272C33} $slider %{B-}%{U-}%{-u -o}" 69 | 70 | 71 | 72 | 73 | 74 | 75 | #amixer -c $CARD -M -D $MIXER get Master | 76 | #echo $(sed -n "s/^[^:]*: Playback [0-9]* \[\([0-9]*%\)\] .*/$symbol \1/p" | head -n1) 77 | #echo "" 78 | #echo $(amixer -c $CARD -M -D $MIXER get Master | grep Playback | grep -q off && echo "#F5A3A3" || echo "#EEEEEE") 79 | -------------------------------------------------------------------------------- /lemonbar/blocks/windowtitle: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | full=$(xdotool getactivewindow getwindowname) 3 | IFS='-' read -r -a array <<< "$full" 4 | 5 | firstpart=(${array[0]}) 6 | i=0 7 | output="" 8 | if [[ $full == *"-"* ]] 9 | then 10 | for element in "${firstpart[@]}" 11 | do 12 | 13 | if [ $i -lt 3 ] 14 | then 15 | output="$output $element " 16 | fi 17 | i=$((i+1)) 18 | done 19 | fi 20 | size=${#output} 21 | if [ $size -gt 0 ] 22 | then 23 | output="$output-${array[1]}" 24 | else 25 | output="${array[0]}" 26 | fi 27 | echo $full 28 | -------------------------------------------------------------------------------- /lemonbar/brightness.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Brightness "$(~/.config/lemonbar/blocks/brightness) > "/tmp/panel_fifo" 4 | sleep 3 5 | if [ $(pgrep -cx brightness.sh) -lt 2 ] ; then 6 | echo "Brightness" > "/tmp/panel_fifo" 7 | fi 8 | -------------------------------------------------------------------------------- /lemonbar/events.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import time 4 | import i3ipc 5 | from os import environ 6 | resizeinfo = "resizemode%{F#A7B1BD} binding mode %{F#EEEEEE}%{T4}RESIZE \ 7 | %{B-}%{F-}%{T-}" 8 | defaultinfo = "defaultmode" 9 | def write_fifo(msg): 10 | fifo = open('/tmp/panel_fifo','w') 11 | fifo.write("{:s}\n".format(msg)) 12 | fifo.close() 13 | 14 | def on_mode_event(i3, e): 15 | if(format(e.change) == '$resize'): 16 | write_fifo(resizeinfo) 17 | elif(format(e.change) == 'default'): 18 | write_fifo("defaultmode") 19 | 20 | 21 | def update_workspaces(i3): 22 | out = {'mainbar': "Workspaces "} 23 | """ 24 | WSP id,visible,focus,urgent 25 | """ 26 | 27 | i = 0 28 | for wp in i3.get_workspaces(): 29 | for x in range(0, wp.num-i-1): 30 | out['mainbar'] += ("%{F#717C89}%{F-} ") 31 | i = wp.num 32 | if(wp.urgent == 1 ): 33 | out['mainbar'] += "%{F" + redcol + "}%{F-} " 34 | continue 35 | if(wp.visible == 1 ): 36 | out['mainbar'] += " " 37 | continue 38 | out['mainbar'] += " " 39 | #print(" ") 40 | 41 | write_fifo(out['mainbar']) 42 | 43 | 44 | def on_workspace_focus(i3, e): 45 | update_workspaces(i3) 46 | 47 | def on_workspace_init(i3, e): 48 | update_workspaces(i3) 49 | 50 | def on_workspace_urgent(i3, e): 51 | update_workspaces(i3) 52 | 53 | time.sleep(1) 54 | termiteconfig = open('/home/patrik/.config/termite/config', 'r') 55 | info = termiteconfig.read() 56 | 57 | for s in info.splitlines(): 58 | if "color9" in s: 59 | words = s.split() 60 | redcol = words[2] 61 | 62 | termiteconfig.close() 63 | i3 = i3ipc.Connection() 64 | i3.on('mode', on_mode_event) 65 | i3.on('workspace::focus', on_workspace_focus) 66 | i3.on('workspace::init', on_workspace_init) 67 | i3.on('workspace::urgent', on_workspace_urgent) 68 | update_workspaces(i3) 69 | 70 | i3.main() 71 | -------------------------------------------------------------------------------- /lemonbar/events/resize.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | echo "resizemode %{F#A7B1BD} binding mode %{F#EEEEEE}%{T4}RESIZE %{B-}%{F-}%{T-}" 3 | -------------------------------------------------------------------------------- /lemonbar/music.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | if [ $# -gt 0 ]; then 4 | if [ "$1" = "playpause" ]; then 5 | status=$(playerctl status) 6 | playerctl play-pause 7 | if [ $status = "Paused" ] 8 | then 9 | status="Playing" 10 | else 11 | status="Paused" 12 | fi 13 | info="Spotify"$(python ~/.config/lemonbar/blocks/music.py $status) 14 | echo $info > /tmp/panel_fifo 15 | elif [ "$1" = "next" ]; then 16 | status=$(playerctl next && playerctl status) 17 | info="Spotify"$(python ~/.config/lemonbar/blocks/music.py $status next) 18 | echo $info > /tmp/panel_fifo 19 | elif [ "$1" = "previous" ]; then 20 | status=$(playerctl previous && playerctl status) 21 | info="Spotify"$(python ~/.config/lemonbar/blocks/music.py $status) 22 | echo $info > /tmp/panel_fifo 23 | fi 24 | fi 25 | 26 | -------------------------------------------------------------------------------- /lemonbar/testing.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | if [ $# -gt 0 ]; then 4 | if [ "$1" = "next" ]; then 5 | playerctl next 6 | status=$(playerctl status) 7 | info="Spotify"$(python ~/.config/lemonbar/blocks/music.py $status) 8 | echo $info > /tmp/panel_fifo 9 | fi 10 | fi 11 | -------------------------------------------------------------------------------- /lemonbar/volume.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | echo "Volume $($HOME/.config/lemonbar/blocks/volume)" > /tmp/panel_fifo 3 | -------------------------------------------------------------------------------- /powerline/colors.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors": { 3 | "black": 16, 4 | "white": 231, 5 | 6 | "green": 2, 7 | "darkestgreen": 22, 8 | "darkgreen": 28, 9 | "mediumgreen": 70, 10 | "brightgreen": 148, 11 | 12 | "darkestcyan": 23, 13 | "darkcyan": 74, 14 | "mediumcyan": 117, 15 | "brightcyan": 159, 16 | 17 | "darkestblue": 24, 18 | "darkblue": 31, 19 | 20 | "red": 1, 21 | "darkestred": 52, 22 | "darkred": 88, 23 | "mediumred": 124, 24 | "brightred": 160, 25 | "brightestred": 196, 26 | 27 | "darkestpurple": 55, 28 | "mediumpurple": 98, 29 | "brightpurple": 189, 30 | 31 | "darkorange": 94, 32 | "mediumorange": 166, 33 | "brightorange": 208, 34 | "brightestorange": 214, 35 | 36 | "yellow": 11, 37 | "brightyellow": 220, 38 | 39 | "gray0": 233, 40 | "gray1": 235, 41 | "gray2": 236, 42 | "gray3": 239, 43 | "gray4": 240, 44 | "gray5": 241, 45 | "gray6": 244, 46 | "gray7": 245, 47 | "gray8": 247, 48 | "gray9": 250, 49 | "gray10": 252, 50 | 51 | "gray11": 234, 52 | "gray90": 254, 53 | "gray91": 255, 54 | 55 | "gray70": [249, "b3b3b3"], 56 | 57 | "lightyellowgreen": 106, 58 | "gold3": 178, 59 | "orangered": 202, 60 | 61 | "steelblue": 67, 62 | "darkorange3": 166, 63 | "skyblue1": 117, 64 | "khaki1": 228, 65 | 66 | "solarized:base03": [8, "002b36"], 67 | "solarized:base02": [0, "073642"], 68 | "solarized:base01": [10, "586e75"], 69 | "solarized:base00": [11, "657b83"], 70 | "solarized:base0": [12, "839496"], 71 | "solarized:base1": [14, "93a1a1"], 72 | "solarized:base2": [7, "eee8d5"], 73 | "solarized:base3": [15, "fdf6e3"], 74 | "solarized:yellow": [3, "b58900"], 75 | "solarized:orange": [9, "cb4b16"], 76 | "solarized:red": [1, "dc322f"], 77 | "solarized:magenta": [5, "d33682"], 78 | "solarized:violet": [13, "6c71c4"], 79 | "solarized:blue": [4, "268bd2"], 80 | "solarized:cyan": [6, "2aa198"], 81 | "solarized:green": [2, "859900"] 82 | }, 83 | "gradients": { 84 | "dark_GREEN_Orange_red": [ 85 | [22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 94, 94, 94, 94, 94, 94, 94, 88, 52], 86 | ["006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "036000", "076000", "0a6000", "0d6000", "106000", "126000", "146000", "166000", "186000", "1a6000", "1b6000", "1d6000", "1e6000", "206000", "216000", "236000", "246000", "256000", "266000", "286000", "296000", "2a6000", "2b6000", "2c6100", "2d6100", "2f6100", "306100", "316100", "326100", "336100", "346100", "356100", "366100", "376100", "386100", "386100", "396100", "3a6100", "3b6100", "3c6100", "3d6100", "3e6100", "3f6100", "406100", "406100", "416100", "426000", "436000", "446000", "456000", "456000", "466000", "476000", "486000", "496000", "496000", "4a6000", "4b6000", "4c6000", "4d6000", "4d6000", "4e6000", "4f6000", "506000", "506000", "516000", "526000", "536000", "536000", "546000", "556000", "566000", "566000", "576000", "586000", "596000", "596000", "5a6000", "5d6000", "616000", "646000", "686000", "6b6000", "6f6000", "726000", "766000", "796000", "7d6000", "806000", "7e5500", "6f3105", "5d0001"] 87 | ], 88 | "GREEN_Orange_red": [ 89 | [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1], 90 | ["005f00", "015f00", "025f00", "035f00", "045f00", "055f00", "065f00", "075f00", "085f00", "095f00", "0b5f00", "0c5f00", "0d5f00", "0e5f00", "0f5f00", "105f00", "115f00", "125f00", "135f00", "145f00", "165f00", "175f00", "185f00", "195f00", "1a5f00", "1b5f00", "1c5f00", "1d5f00", "1e5f00", "1f5f00", "215f00", "225f00", "235f00", "245f00", "255f00", "265f00", "275f00", "285f00", "295f00", "2a5f00", "2c5f00", "2d5f00", "2e5f00", "2f5f00", "305f00", "315f00", "325f00", "335f00", "345f00", "355f00", "375f00", "385f00", "395f00", "3a5f00", "3b5f00", "3c5f00", "3d5f00", "3e5f00", "3f5f00", "415f00", "425f00", "435f00", "445f00", "455f00", "465f00", "475f00", "485f00", "495f00", "4a5f00", "4c5f00", "4d5f00", "4e5f00", "4f5f00", "505f00", "515f00", "525f00", "535f00", "545f00", "555f00", "575f00", "585f00", "595f00", "5a5f00", "5b5f00", "5c5f00", "5d5f00", "5e5f00", "615f00", "655f00", "685f00", "6c5f00", "6f5f00", "735f00", "765f00", "7a5f00", "7d5f00", "815f00", "845f00", "815200", "702900"] 91 | ], 92 | "green_yellow_red": [ 93 | [190, 184, 178, 172, 166, 160], 94 | ["8ae71c", "8ce71c", "8fe71c", "92e71c", "95e71d", "98e71d", "9ae71d", "9de71d", "a0e71e", "a3e71e", "a6e71e", "a8e71e", "abe71f", "aee71f", "b1e71f", "b4e71f", "b6e720", "b9e720", "bce720", "bfe720", "c2e821", "c3e721", "c5e621", "c7e521", "c9e522", "cbe422", "cde322", "cfe222", "d1e223", "d3e123", "d5e023", "d7df23", "d9df24", "dbde24", "dddd24", "dfdc24", "e1dc25", "e3db25", "e5da25", "e7d925", "e9d926", "e9d626", "e9d426", "e9d126", "e9cf27", "e9cc27", "e9ca27", "e9c727", "e9c528", "e9c228", "e9c028", "e9bd28", "e9bb29", "e9b829", "e9b629", "e9b329", "e9b12a", "e9ae2a", "e9ac2a", "e9a92a", "eaa72b", "eaa42b", "eaa22b", "ea9f2b", "ea9d2c", "ea9b2c", "ea982c", "ea962c", "ea942d", "ea912d", "ea8f2d", "ea8d2d", "ea8a2e", "ea882e", "ea862e", "ea832e", "ea812f", "ea7f2f", "ea7c2f", "ea7a2f", "eb7830", "eb7530", "eb7330", "eb7130", "eb6f31", "eb6c31", "eb6a31", "eb6831", "eb6632", "eb6332", "eb6132", "eb5f32", "eb5d33", "eb5a33", "eb5833", "eb5633", "eb5434", "eb5134", "eb4f34", "eb4d34", "ec4b35"] 95 | ], 96 | "green_yellow_orange_red": [ 97 | [2, 3, 9, 1], 98 | ["719e07", "739d06", "759c06", "779c06", "799b06", "7b9a05", "7d9a05", "7f9905", "819805", "839805", "859704", "879704", "899604", "8b9504", "8d9504", "8f9403", "919303", "949303", "969203", "989102", "9a9102", "9c9002", "9e9002", "a08f02", "a28e01", "a48e01", "a68d01", "a88c01", "aa8c01", "ac8b00", "ae8a00", "b08a00", "b28900", "b58900", "b58700", "b68501", "b78302", "b78102", "b87f03", "b97d04", "b97b04", "ba7905", "bb7806", "bb7606", "bc7407", "bd7208", "bd7008", "be6e09", "bf6c0a", "bf6a0a", "c0690b", "c1670c", "c1650c", "c2630d", "c3610e", "c35f0e", "c45d0f", "c55b10", "c55a10", "c65811", "c75612", "c75412", "c85213", "c95014", "c94e14", "ca4c15", "cb4b16", "cb4a16", "cc4917", "cc4818", "cd4719", "cd4719", "ce461a", "ce451b", "cf441c", "cf441c", "d0431d", "d0421e", "d1411f", "d1411f", "d24020", "d23f21", "d33e22", "d33e22", "d43d23", "d43c24", "d53b25", "d53b25", "d63a26", "d63927", "d73828", "d73828", "d83729", "d8362a", "d9352b", "d9352b", "da342c", "da332d", "db322e", "dc322f"] 99 | ], 100 | "yellow_red": [ 101 | [220, 178, 172, 166, 160], 102 | ["ffd700", "fdd500", "fbd300", "fad200", "f8d000", "f7cf00", "f5cd00", "f3cb00", "f2ca00", "f0c800", "efc700", "edc500", "ebc300", "eac200", "e8c000", "e7bf00", "e5bd00", "e3bb00", "e2ba00", "e0b800", "dfb700", "ddb500", "dbb300", "dab200", "d8b000", "d7af00", "d7ad00", "d7ab00", "d7aa00", "d7a800", "d7a700", "d7a500", "d7a300", "d7a200", "d7a000", "d79f00", "d79d00", "d79b00", "d79a00", "d79800", "d79700", "d79500", "d79300", "d79200", "d79000", "d78f00", "d78d00", "d78b00", "d78a00", "d78800", "d78700", "d78500", "d78300", "d78200", "d78000", "d77f00", "d77d00", "d77b00", "d77a00", "d77800", "d77700", "d77500", "d77300", "d77200", "d77000", "d76f00", "d76d00", "d76b00", "d76a00", "d76800", "d76700", "d76500", "d76300", "d76200", "d76000", "d75f00", "d75b00", "d75700", "d75300", "d74f00", "d74c00", "d74800", "d74400", "d74000", "d73c00", "d73900", "d73500", "d73100", "d72d00", "d72900", "d72600", "d72200", "d71e00", "d71a00", "d71600", "d71300", "d70f00", "d70b00", "d70700"] 103 | ], 104 | "yellow_orange_red": [ 105 | [3, 9, 1], 106 | ["b58900", "b58700", "b58600", "b68501", "b68401", "b78202", "b78102", "b88003", "b87f03", "b87d03", "b97c04", "b97b04", "ba7a05", "ba7805", "bb7706", "bb7606", "bc7507", "bc7307", "bc7207", "bd7108", "bd7008", "be6e09", "be6d09", "bf6c0a", "bf6b0a", "c06a0b", "c0680b", "c0670b", "c1660c", "c1650c", "c2630d", "c2620d", "c3610e", "c3600e", "c35e0e", "c45d0f", "c45c0f", "c55b10", "c55910", "c65811", "c65711", "c75612", "c75412", "c75312", "c85213", "c85113", "c94f14", "c94e14", "ca4d15", "ca4c15", "cb4b16", "cb4a16", "cb4a17", "cc4917", "cc4918", "cc4818", "cd4819", "cd4719", "cd471a", "ce461a", "ce461b", "ce451b", "cf451c", "cf441c", "cf441d", "d0431d", "d0431e", "d0421e", "d1421f", "d1411f", "d14120", "d24020", "d24021", "d23f21", "d33f22", "d33e22", "d33e23", "d43d23", "d43d24", "d43c24", "d53c25", "d53b25", "d53b26", "d63a26", "d63a27", "d63927", "d73928", "d73828", "d73829", "d83729", "d8372a", "d8362a", "d9362b", "d9352b", "d9352c", "da342c", "da342d", "da332d", "db332e"] 107 | ], 108 | "blue_red": [ 109 | [39, 74, 68, 67, 103, 97, 96, 132, 131, 167, 203, 197], 110 | ["19b4fe", "1bb2fc", "1db1fa", "1faff8", "22aef6", "24adf4", "26abf2", "29aaf0", "2ba9ee", "2da7ec", "30a6ea", "32a5e8", "34a3e6", "36a2e4", "39a0e2", "3b9fe1", "3d9edf", "409cdd", "429bdb", "449ad9", "4798d7", "4997d5", "4b96d3", "4d94d1", "5093cf", "5292cd", "5490cb", "578fc9", "598dc7", "5b8cc6", "5e8bc4", "6089c2", "6288c0", "6487be", "6785bc", "6984ba", "6b83b8", "6e81b6", "7080b4", "727eb2", "757db0", "777cae", "797aac", "7b79ab", "7e78a9", "8076a7", "8275a5", "8574a3", "8772a1", "89719f", "8c709d", "8e6e9b", "906d99", "926b97", "956a95", "976993", "996791", "9c668f", "9e658e", "a0638c", "a3628a", "a56188", "a75f86", "a95e84", "ac5c82", "ae5b80", "b05a7e", "b3587c", "b5577a", "b75678", "ba5476", "bc5374", "be5273", "c05071", "c34f6f", "c54e6d", "c74c6b", "ca4b69", "cc4967", "ce4865", "d14763", "d34561", "d5445f", "d7435d", "da415b", "dc4059", "de3f58", "e13d56", "e33c54", "e53a52", "e83950", "ea384e", "ec364c", "ee354a", "f13448", "f33246", "f53144", "f83042", "fa2e40"] 111 | ], 112 | "white_red": [ 113 | [231, 255, 223, 216, 209, 202, 196], 114 | ["ffffff", "fefefe", "fdfdfd", "fdfdfd", "fcfcfc", "fbfbfb", "fafafa", "fafafa", "f9f9f9", "f8f8f8", "f7f7f7", "f7f7f7", "f6f6f6", "f5f5f5", "f4f4f4", "f4f3f4", "f3f3f3", "f2f2f2", "f1f1f1", "f0f0f0", "f0f0f0", "efefef", "eeeeee", "efecea", "f1eae4", "f2e8de", "f3e6d8", "f5e4d3", "f6e2cd", "f7e0c7", "f8dec2", "f9dcbc", "fadab6", "fad8b1", "fbd5ac", "fbd2a9", "fbcea5", "fbcaa1", "fbc79e", "fbc39a", "fbc097", "fbbc93", "fbb88f", "fbb58c", "fab188", "faad85", "faaa81", "fba67e", "fba37a", "fb9f76", "fb9c73", "fb986f", "fb946c", "fb9168", "fa8d65", "fa8961", "fa865c", "fa8256", "fb7f4f", "fb7b48", "fb7841", "fb743a", "fb7133", "fb6d2c", "fa6a23", "fa661a", "fa620e", "fa5f03", "fa5d03", "fa5b03", "fa5a03", "fa5803", "fa5703", "fa5503", "fa5303", "fa5103", "fa4f03", "fa4e03", "fa4c03", "fa4a04", "fa4804", "fa4604", "fa4404", "fa4204", "fa3f04", "fa3d04", "fa3b04", "fa3805", "fa3605", "fa3305", "fb3105", "fb2e05", "fb2a05", "fb2705", "fb2306", "fb1f06", "fb1b06", "fb1506", "fb0e06", "fa0506", "fa0007"] 115 | ], 116 | "dark_green_gray": [ 117 | [70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247], 118 | ["51b000", "52b000", "54b000", "55b002", "56b007", "57b00d", "58b011", "59af15", "5aaf18", "5caf1b", "5daf1e", "5eaf21", "5faf23", "60ae25", "61ae27", "62ae2a", "63ae2c", "64ae2e", "65ae30", "66ae31", "67ad33", "68ad35", "69ad37", "69ad38", "6aad3a", "6bad3c", "6cac3d", "6dac3f", "6eac40", "6fac42", "70ac44", "70ac45", "71ab47", "72ab48", "73ab49", "74ab4b", "75ab4c", "75ab4e", "76aa4f", "77aa51", "78aa52", "79aa53", "79aa55", "7aaa56", "7ba957", "7ca959", "7ca95a", "7da95b", "7ea95d", "7fa95e", "7fa85f", "80a861", "81a862", "81a863", "82a865", "83a766", "83a767", "84a768", "85a76a", "85a76b", "86a66c", "87a66d", "87a66f", "88a670", "89a671", "89a672", "8aa574", "8ba575", "8ba576", "8ca577", "8da579", "8da47a", "8ea47b", "8ea47c", "8fa47d", "90a47f", "90a380", "91a381", "91a382", "92a384", "93a385", "93a286", "94a287", "94a288", "95a28a", "95a18b", "96a18c", "97a18d", "97a18e", "98a190", "98a091", "99a092", "99a093", "9aa094", "9aa096", "9b9f97", "9b9f98", "9c9f99", "9c9f9a", "9d9e9c", "9d9e9d"] 119 | ], 120 | "light_green_gray": [ 121 | [148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250], 122 | ["a3d900", "a4d800", "a4d800", "a5d805", "a5d80d", "a6d714", "a6d719", "a6d71d", "a7d621", "a7d625", "a8d628", "a8d62b", "a8d52e", "a9d531", "a9d533", "aad536", "aad438", "aad43a", "abd43d", "abd33f", "abd341", "acd343", "acd345", "acd247", "add249", "add24b", "add14d", "aed14f", "aed151", "aed152", "afd054", "afd056", "afd058", "b0d059", "b0cf5b", "b0cf5d", "b1cf5e", "b1ce60", "b1ce62", "b1ce63", "b2ce65", "b2cd67", "b2cd68", "b3cd6a", "b3cc6b", "b3cc6d", "b3cc6e", "b4cc70", "b4cb71", "b4cb73", "b4cb75", "b5ca76", "b5ca78", "b5ca79", "b5ca7a", "b6c97c", "b6c97d", "b6c97f", "b6c880", "b6c882", "b7c883", "b7c885", "b7c786", "b7c788", "b7c789", "b8c68a", "b8c68c", "b8c68d", "b8c68f", "b8c590", "b9c591", "b9c593", "b9c494", "b9c496", "b9c497", "b9c498", "bac39a", "bac39b", "bac39d", "bac29e", "bac29f", "bac2a1", "bac2a2", "bac1a4", "bbc1a5", "bbc1a6", "bbc0a8", "bbc0a9", "bbc0aa", "bbc0ac", "bbbfad", "bbbfae", "bbbfb0", "bbbeb1", "bcbeb3", "bcbeb4", "bcbdb5", "bcbdb7", "bcbdb8", "bcbdb9", "bcbcbb"] 123 | ] 124 | } 125 | } 126 | -------------------------------------------------------------------------------- /powerline/colorschemes/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Default", 3 | "groups": { 4 | "information:additional": { "fg": "gray9", "bg": "gray4", "attrs": [] }, 5 | "information:regular": { "fg": "gray10", "bg": "gray4", "attrs": ["bold"] }, 6 | "information:highlighted": { "fg": "white", "bg": "gray4", "attrs": [] }, 7 | "information:priority": { "fg": "brightyellow", "bg": "mediumorange", "attrs": [] }, 8 | "warning:regular": { "fg": "white", "bg": "brightred", "attrs": ["bold"] }, 9 | "critical:failure": { "fg": "white", "bg": "darkestred", "attrs": [] }, 10 | "critical:success": { "fg": "white", "bg": "darkestgreen", "attrs": [] }, 11 | "background": { "fg": "white", "bg": "gray0", "attrs": [] }, 12 | "background:divider": { "fg": "gray5", "bg": "gray0", "attrs": [] }, 13 | "session": { "fg": "black", "bg": "gray10", "attrs": ["bold"] }, 14 | "date": { "fg": "gray8", "bg": "gray2", "attrs": [] }, 15 | "time": { "fg": "gray10", "bg": "gray2", "attrs": ["bold"] }, 16 | "time:divider": { "fg": "gray5", "bg": "gray2", "attrs": [] }, 17 | "email_alert": "warning:regular", 18 | "email_alert_gradient": { "fg": "white", "bg": "yellow_orange_red", "attrs": ["bold"] }, 19 | "hostname": { "fg": "gray0", "bg": "white", "attrs": ["bold"] }, 20 | "weather": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 21 | "weather_temp_gradient": { "fg": "blue_red", "bg": "gray0", "attrs": [] }, 22 | "weather_condition_hot": { "fg": "khaki1", "bg": "gray0", "attrs": [] }, 23 | "weather_condition_snowy": { "fg": "skyblue1", "bg": "gray0", "attrs": [] }, 24 | "weather_condition_rainy": { "fg": "skyblue1", "bg": "gray0", "attrs": [] }, 25 | "uptime": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 26 | "external_ip": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 27 | "internal_ip": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 28 | "network_load": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 29 | "network_load_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] }, 30 | "network_load:divider": "background:divider", 31 | "system_load": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 32 | "system_load_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] }, 33 | "environment": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 34 | "cpu_load_percent": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 35 | "cpu_load_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] }, 36 | "battery": { "fg": "gray8", "bg": "gray0", "attrs": [] }, 37 | "battery_gradient": { "fg": "white_red", "bg": "gray0", "attrs": [] }, 38 | "battery_full": { "fg": "red", "bg": "gray0", "attrs": [] }, 39 | "battery_empty": { "fg": "white", "bg": "gray0", "attrs": [] }, 40 | "player": { "fg": "gray10", "bg": "black", "attrs": [] }, 41 | "user": { "fg": "white", "bg": "darkblue", "attrs": ["bold"] }, 42 | "branch": { "fg": "gray9", "bg": "gray2", "attrs": [] }, 43 | "branch_dirty": { "fg": "brightyellow", "bg": "gray2", "attrs": [] }, 44 | "branch_clean": { "fg": "gray9", "bg": "gray2", "attrs": [] }, 45 | "branch:divider": { "fg": "gray7", "bg": "gray2", "attrs": [] }, 46 | "stash": "branch_dirty", 47 | "stash:divider": "branch:divider", 48 | "cwd": "information:additional", 49 | "cwd:current_folder": "information:regular", 50 | "cwd:divider": { "fg": "gray7", "bg": "gray4", "attrs": [] }, 51 | "virtualenv": { "fg": "white", "bg": "darkcyan", "attrs": [] }, 52 | "attached_clients": { "fg": "gray8", "bg": "gray0", "attrs": [] } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /powerline/colorschemes/ipython/__main__.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "prompt": "information:additional", 4 | "prompt_count": "information:highlighted" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /powerline/colorschemes/pdb/__main__.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "current_code_name": "information:additional", 4 | "current_context": "current_code_name", 5 | "current_line": "information:regular", 6 | "current_file": "information:regular" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /powerline/colorschemes/pdb/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "stack_depth": { "fg": "gray1", "bg": "gray10", "attrs": ["bold"] } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /powerline/colorschemes/pdb/solarized.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "stack_depth": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /powerline/colorschemes/shell/__main__.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "continuation": "cwd", 4 | "continuation:current": "cwd:current_folder", 5 | "exit_fail": "critical:failure", 6 | "exit_success": "critical:success", 7 | "jobnum": "information:priority", 8 | "superuser": "warning:regular" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /powerline/colorschemes/shell/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Default color scheme for shell prompts", 3 | "groups": { 4 | "hostname": { "fg": "brightyellow", "bg": "mediumorange", "attrs": [] }, 5 | "environment": { "fg": "white", "bg": "darkestgreen", "attrs": [] }, 6 | "mode": { "fg": "darkestgreen", "bg": "brightgreen", "attrs": ["bold"] }, 7 | "attached_clients": { "fg": "white", "bg": "darkestgreen", "attrs": [] } 8 | }, 9 | "mode_translations": { 10 | "vicmd": { 11 | "groups": { 12 | "mode": {"fg": "darkestcyan", "bg": "white", "attrs": ["bold"]} 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /powerline/colorschemes/shell/solarized.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Solarized dark for shell", 3 | "groups": { 4 | "mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] } 5 | }, 6 | "mode_translations": { 7 | "vicmd": { 8 | "groups": { 9 | "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] } 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /powerline/colorschemes/solarized.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Solarized dark", 3 | "groups": { 4 | "information:additional": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, 5 | "information:regular": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, 6 | "information:highlighted": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"]}, 7 | "information:priority": { "fg": "solarized:base3", "bg": "solarized:yellow", "attrs": [] }, 8 | "warning:regular": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": [] }, 9 | "critical:failure": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": [] }, 10 | "critical:success": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, 11 | "background": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] }, 12 | "background:divider": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 13 | "user": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }, 14 | "virtualenv": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, 15 | "branch": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 16 | "branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] }, 17 | "branch_clean": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 18 | "stash": "branch_dirty", 19 | "email_alert_gradient": { "fg": "solarized:base3", "bg": "yellow_orange_red", "attrs": [] }, 20 | "email_alert": "warning:regular", 21 | "cwd": "information:additional", 22 | "cwd:current_folder": "information:regular", 23 | "cwd:divider": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] }, 24 | "network_load": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, 25 | "network_load:divider": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, 26 | "hostname": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, 27 | "environment": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, 28 | "attached_clients": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] }, 29 | "date": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 30 | "time": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": ["bold"] }, 31 | "time:divider": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 32 | "system_load": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, 33 | "weather_temp_gradient": { "fg": "blue_red", "bg": "solarized:base03", "attrs": [] }, 34 | "weather": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }, 35 | "uptime": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /powerline/colorschemes/tmux/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "active_window_status": {"fg": "darkblue", "bg": "gray0", "attrs": []}, 4 | "window_status": {"fg": "gray70", "bg": "gray0", "attrs": []}, 5 | "activity_status": {"fg": "yellow", "bg": "gray0", "attrs": []}, 6 | "bell_status": {"fg": "red", "bg": "gray0", "attrs": []}, 7 | "window": {"fg": "gray6", "bg": "gray0", "attrs": []}, 8 | "window:divider": {"fg": "gray4", "bg": "gray0", "attrs": []}, 9 | "window:current": {"fg": "mediumcyan", "bg": "darkblue", "attrs": []}, 10 | "window_name": {"fg": "white", "bg": "darkblue", "attrs": ["bold"]}, 11 | "session": {"fg": "gray0", "bg": "white", "attrs": ["bold"]}, 12 | "session:prefix": {"fg": "gray90", "bg": "darkblue", "attrs": ["bold"]} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /powerline/colorschemes/tmux/solarized.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "active_window_status": { "fg": "solarized:blue", "bg": "solarized:base02", "attrs": [] }, 4 | "window_status": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 5 | "activity_status": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] }, 6 | "bell_status": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] }, 7 | "window": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 8 | "window:divider": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] }, 9 | "window:current": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, 10 | "window_name": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, 11 | "session": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, 12 | "session:prefix": { "fg": "solarized:base01", "bg": "solarized:base3", "attrs": [] } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /powerline/colorschemes/vim/__main__.json: -------------------------------------------------------------------------------- 1 | { 2 | "groups": { 3 | "branch_clean": "branch", 4 | "environment": "information:unimportant", 5 | "file_size": "information:unimportant", 6 | "file_format": "information:unimportant", 7 | "file_encoding": "file_format", 8 | "file_type": "file_format", 9 | "branch": "information:additional", 10 | "file_scheme": "file_name", 11 | "file_directory": "information:additional", 12 | "file_name_empty": "file_directory", 13 | "line_percent": "information:additional", 14 | "line_count": "line_current", 15 | "position": "information:additional", 16 | "single_tab": "line_current", 17 | "many_tabs": "line_current", 18 | "bufnr": "file_directory", 19 | "winnr": "information:unimportant", 20 | "tabnr": "file_directory", 21 | "capslock_indicator": "paste_indicator", 22 | 23 | "csv:column_number": "line_current", 24 | "csv:column_name": "line_current_symbol", 25 | 26 | "tab:background": "background", 27 | "tab:divider": "background:divider", 28 | 29 | "tab_nc:modified_indicator": "modified_indicator", 30 | "tab_nc:file_directory": "information:unimportant", 31 | "tab_nc:file_name": "tab_nc:file_directory", 32 | "tab_nc:tabnr": "tab_nc:file_directory", 33 | 34 | "buf_nc:file_directory": "tab_nc:file_directory", 35 | "buf_nc:file_name": "buf_nc:file_directory", 36 | "buf_nc:bufnr": "buf_nc:file_directory", 37 | "buf_nc:modified_indicator": "tab_nc:modified_indicator", 38 | 39 | "buf_nc_mod:file_directory": "tab_nc:file_directory", 40 | "buf_nc_mod:file_name": "buf_nc_mod:file_directory", 41 | "buf_nc_mod:bufnr": "buf_nc_mod:file_directory", 42 | "buf_nc_mod:modified_indicator": "tab_nc:modified_indicator", 43 | 44 | 45 | "commandt:label": "file_name", 46 | "commandt:background": "background", 47 | "commandt:finder": "file_name", 48 | "commandt:path": "file_directory" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /powerline/colorschemes/vim/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Default color scheme", 3 | "groups": { 4 | "information:unimportant": { "fg": "gray8", "bg": "gray2", "attrs": [] }, 5 | "information:additional": { "fg": "gray9", "bg": "gray4", "attrs": [] }, 6 | "background": { "fg": "white", "bg": "gray2", "attrs": [] }, 7 | "background:divider": { "fg": "gray6", "bg": "gray2", "attrs": [] }, 8 | "mode": { "fg": "gray0", "bg": "gray91", "attrs": ["bold"] }, 9 | "visual_range": { "fg": "brightestorange", "bg": "darkorange", "attrs": ["bold"] }, 10 | "modified_indicator": { "fg": "brightyellow", "bg": "gray4", "attrs": ["bold"] }, 11 | "paste_indicator": { "fg": "white", "bg": "mediumorange", "attrs": ["bold"] }, 12 | "readonly_indicator": { "fg": "brightestred", "bg": "gray4", "attrs": [] }, 13 | "branch_dirty": { "fg": "brightyellow", "bg": "gray4", "attrs": [] }, 14 | "branch:divider": { "fg": "gray7", "bg": "gray4", "attrs": [] }, 15 | "file_name": { "fg": "white", "bg": "gray4", "attrs": ["bold"] }, 16 | "window_title": { "fg": "white", "bg": "gray4", "attrs": [] }, 17 | "file_name_no_file": { "fg": "gray9", "bg": "gray4", "attrs": ["bold"] }, 18 | "file_vcs_status": { "fg": "brightestred", "bg": "gray4", "attrs": [] }, 19 | "file_vcs_status_M": { "fg": "brightyellow", "bg": "gray4", "attrs": [] }, 20 | "file_vcs_status_A": { "fg": "brightgreen", "bg": "gray4", "attrs": [] }, 21 | "line_percent": { "fg": "gray9", "bg": "gray4", "attrs": [] }, 22 | "line_percent_gradient": { "fg": "dark_green_gray", "bg": "gray4", "attrs": [] }, 23 | "position": { "fg": "gray9", "bg": "gray4", "attrs": [] }, 24 | "position_gradient": { "fg": "green_yellow_red", "bg": "gray4", "attrs": [] }, 25 | "line_current": { "fg": "gray1", "bg": "gray91", "attrs": ["bold"] }, 26 | "line_current_symbol": { "fg": "gray1", "bg": "gray91", "attrs": [] }, 27 | "virtcol_current_gradient": { "fg": "dark_GREEN_Orange_red", "bg": "gray91", "attrs": [] }, 28 | "col_current": { "fg": "gray6", "bg": "gray10", "attrs": [] }, 29 | "modified_buffers": { "fg": "brightyellow", "bg": "gray2", "attrs": [] }, 30 | "attached_clients": { "fg": "gray8", "bg": "gray2", "attrs": [] }, 31 | "error": { "fg": "brightestred", "bg": "darkred", "attrs": ["bold"] }, 32 | "warning": { "fg": "brightyellow", "bg": "darkorange", "attrs": ["bold"] }, 33 | "current_tag": { "fg": "gray9", "bg": "gray2", "attrs": [] }, 34 | 35 | "tab_nc:modified_indicator": { "fg": "brightyellow", "bg": "gray2", "attrs": ["bold"] } 36 | }, 37 | "mode_translations": { 38 | "nc": { 39 | "colors": { 40 | "brightyellow": "darkorange", 41 | "brightestred": "darkred", 42 | "gray0": "gray0", 43 | "gray1": "gray0", 44 | "gray2": "gray0", 45 | "gray3": "gray1", 46 | "gray4": "gray1", 47 | "gray5": "gray1", 48 | "gray6": "gray1", 49 | "gray7": "gray4", 50 | "gray8": "gray4", 51 | "gray9": "gray4", 52 | "gray10": "gray5", 53 | "white": "gray6", 54 | "dark_green_gray": "gray5" 55 | } 56 | }, 57 | "i": { 58 | "colors": { 59 | "gray0": "darkestblue", 60 | "gray1": "darkestblue", 61 | "gray2": "darkestblue", 62 | "gray3": "darkblue", 63 | "gray4": "darkblue", 64 | "gray5": "darkestcyan", 65 | "gray6": "darkestcyan", 66 | "gray7": "darkestcyan", 67 | "gray8": "mediumcyan", 68 | "gray9": "mediumcyan", 69 | "gray10": "mediumcyan", 70 | "green_yellow_red": "gray5", 71 | "dark_green_gray": "light_green_gray" 72 | }, 73 | "groups": { 74 | "mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] }, 75 | "background:divider": { "fg": "darkcyan", "bg": "darkestblue", "attrs": [] }, 76 | "branch:divider": { "fg": "darkcyan", "bg": "darkblue", "attrs": [] } 77 | } 78 | }, 79 | "v": { 80 | "groups": { 81 | "mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] } 82 | } 83 | }, 84 | "V": { 85 | "groups": { 86 | "mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] } 87 | } 88 | }, 89 | "^V": { 90 | "groups": { 91 | "mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] } 92 | } 93 | }, 94 | "R": { 95 | "groups": { 96 | "mode": { "fg": "white", "bg": "brightred", "attrs": ["bold"] } 97 | } 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /powerline/colorschemes/vim/solarized.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Solarized dark for vim", 3 | "groups": { 4 | "information:additional": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, 5 | "information:unimportant": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, 6 | "background": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] }, 7 | "background:divider": { "fg": "solarized:base00", "bg": "solarized:base02", "attrs": [] }, 8 | "mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] }, 9 | "visual_range": { "fg": "solarized:green", "bg": "solarized:base3", "attrs": ["bold"] }, 10 | "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": ["bold"] }, 11 | "paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, 12 | "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base01", "attrs": [] }, 13 | "branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": [] }, 14 | "branch:divider": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] }, 15 | "stash:divider": "branch:divider", 16 | "file_name": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, 17 | "window_title": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, 18 | "file_name_no_file": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] }, 19 | "file_format": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 20 | "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base01", "attrs": [] }, 21 | "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": [] }, 22 | "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base01", "attrs": [] }, 23 | "line_percent": { "fg": "solarized:base3", "bg": "solarized:base00", "attrs": [] }, 24 | "line_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base00", "attrs": [] }, 25 | "position": { "fg": "solarized:base3", "bg": "solarized:base00", "attrs": [] }, 26 | "position_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base00", "attrs": [] }, 27 | "line_current": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, 28 | "line_current_symbol": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, 29 | "virtcol_current_gradient": { "fg": "GREEN_Orange_red", "bg": "solarized:base2", "attrs": [] }, 30 | "col_current": { "fg": "solarized:base0", "bg": "solarized:base2", "attrs": [] }, 31 | "environment": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 32 | "attached_clients": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] }, 33 | "error": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }, 34 | "warning": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, 35 | "current_tag": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": ["bold"] } 36 | }, 37 | "mode_translations": { 38 | "nc": { 39 | "colors": { 40 | "solarized:base01": "solarized:base02", 41 | "solarized:base00": "solarized:base02", 42 | "solarized:base0": "solarized:base01", 43 | "solarized:base1": "solarized:base00", 44 | "solarized:base2": "solarized:base0", 45 | "solarized:base3": "solarized:base1" 46 | } 47 | }, 48 | "i": { 49 | "groups": { 50 | "background": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] }, 51 | "background:divider": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, 52 | "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }, 53 | "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": ["bold"] }, 54 | "paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, 55 | "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, 56 | "branch": { "fg": "solarized:base01", "bg": "solarized:base2", "attrs": [] }, 57 | "branch:divider": { "fg": "solarized:base00", "bg": "solarized:base2", "attrs": [] }, 58 | "file_directory": { "fg": "solarized:base01", "bg": "solarized:base2", "attrs": [] }, 59 | "file_name": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": ["bold"] }, 60 | "file_size": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, 61 | "file_name_no_file": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": ["bold"] }, 62 | "file_name_empty": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, 63 | "file_format": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] }, 64 | "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, 65 | "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] }, 66 | "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base2", "attrs": [] }, 67 | "line_percent": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, 68 | "line_percent_gradient": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, 69 | "position": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, 70 | "position_gradient": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] }, 71 | "line_current": { "fg": "solarized:base03", "bg": "solarized:base3", "attrs": ["bold"] }, 72 | "line_current_symbol": { "fg": "solarized:base03", "bg": "solarized:base3", "attrs": [] }, 73 | "col_current": { "fg": "solarized:base0", "bg": "solarized:base3", "attrs": [] } 74 | } 75 | }, 76 | "v": { 77 | "groups": { 78 | "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } 79 | } 80 | }, 81 | "V": { 82 | "groups": { 83 | "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } 84 | } 85 | }, 86 | "^V": { 87 | "groups": { 88 | "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } 89 | } 90 | }, 91 | "R": { 92 | "groups": { 93 | "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } 94 | } 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /powerline/colorschemes/vim/solarizedlight.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Solarized light for vim", 3 | "groups": { 4 | "information:additional": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, 5 | "information:unimportant": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] }, 6 | "background": { "fg": "solarized:base03", "bg": "solarized:base01", "attrs": [] }, 7 | "background:divider": { "fg": "solarized:base0", "bg": "solarized:base01", "attrs": [] }, 8 | "mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] }, 9 | "visual_range": { "fg": "solarized:green", "bg": "solarized:base3", "attrs": ["bold"] }, 10 | "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": ["bold"] }, 11 | "paste_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": ["bold"] }, 12 | "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, 13 | "branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] }, 14 | "branch:divider": { "fg": "solarized:base1", "bg": "solarized:base2", "attrs": [] }, 15 | "stash": "branch_dirty", 16 | "stash:divider": "branch:divider", 17 | "file_name": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, 18 | "window_title": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, 19 | "file_size": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, 20 | "file_name_no_file": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, 21 | "file_name_empty": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, 22 | "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] }, 23 | "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] }, 24 | "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base2", "attrs": [] }, 25 | "line_percent": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, 26 | "line_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base2", "attrs": [] }, 27 | "position": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, 28 | "position_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base2", "attrs": [] }, 29 | "line_current": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": ["bold"] }, 30 | "line_current_symbol": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] }, 31 | "virtcol_current_gradient": { "fg": "yellow_orange_red", "bg": "solarized:base02", "attrs": [] }, 32 | "col_current": { "fg": "solarized:base00", "bg": "solarized:base02", "attrs": [] }, 33 | "error": { "fg": "solarized:base03", "bg": "solarized:red", "attrs": ["bold"] }, 34 | "warning": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }, 35 | "current_tag": { "fg": "solarized:base03", "bg": "solarized:base01", "attrs": ["bold"] } 36 | }, 37 | "mode_translations": { 38 | "nc": { 39 | "colors": { 40 | "solarized:base2": "solarized:base01", 41 | "solarized:base0": "solarized:base01", 42 | "solarized:base00": "solarized:base2", 43 | "solarized:base1": "solarized:base0", 44 | "solarized:base02": "solarized:base00", 45 | "solarized:base03": "solarized:base1" 46 | } 47 | }, 48 | "i": { 49 | "groups": { 50 | "background": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] }, 51 | "background:divider": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, 52 | "mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }, 53 | "modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": ["bold"] }, 54 | "paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }, 55 | "readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] }, 56 | "branch": { "fg": "solarized:base2", "bg": "solarized:base02", "attrs": [] }, 57 | "branch:divider": { "fg": "solarized:base0", "bg": "solarized:base02", "attrs": [] }, 58 | "file_directory": { "fg": "solarized:base2", "bg": "solarized:base02", "attrs": [] }, 59 | "file_name": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": ["bold"] }, 60 | "file_size": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] }, 61 | "file_name_no_file": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": ["bold"] }, 62 | "file_name_empty": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] }, 63 | "file_format": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] }, 64 | "file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] }, 65 | "file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] }, 66 | "file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base02", "attrs": [] }, 67 | "line_percent": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, 68 | "line_percent_gradient": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, 69 | "position": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, 70 | "position_gradient": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] }, 71 | "line_current": { "fg": "solarized:base3", "bg": "solarized:base03", "attrs": ["bold"] }, 72 | "line_current_symbol": { "fg": "solarized:base3", "bg": "solarized:base03", "attrs": [] }, 73 | "virtcol_current_gradient": { "fg": "yellow_orange_red", "bg": "solarized:base03", "attrs": [] }, 74 | "col_current": { "fg": "solarized:base00", "bg": "solarized:base03", "attrs": [] } 75 | } 76 | }, 77 | "v": { 78 | "groups": { 79 | "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } 80 | } 81 | }, 82 | "V": { 83 | "groups": { 84 | "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } 85 | } 86 | }, 87 | "^V": { 88 | "groups": { 89 | "mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] } 90 | } 91 | }, 92 | "R": { 93 | "groups": { 94 | "mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] } 95 | } 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /powerline/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "common": { 3 | "term_truecolor": false 4 | }, 5 | "ext": { 6 | "ipython": { 7 | "colorscheme": "default", 8 | "theme": "in", 9 | "local_themes": { 10 | "rewrite": "rewrite", 11 | "out": "out", 12 | "in2": "in2" 13 | } 14 | }, 15 | "pdb": { 16 | "colorscheme": "default", 17 | "theme": "default" 18 | }, 19 | "shell": { 20 | "colorscheme": "default", 21 | "theme": "default", 22 | "local_themes": { 23 | "continuation": "continuation", 24 | "select": "select" 25 | } 26 | }, 27 | "tmux": { 28 | "colorscheme": "default", 29 | "theme": "default" 30 | }, 31 | "vim": { 32 | "colorscheme": "default", 33 | "theme": "default", 34 | "local_themes": { 35 | "__tabline__": "tabline", 36 | 37 | "cmdwin": "cmdwin", 38 | "help": "help", 39 | "quickfix": "quickfix", 40 | 41 | "powerline.matchers.vim.plugin.nerdtree.nerdtree": "plugin_nerdtree", 42 | "powerline.matchers.vim.plugin.commandt.commandt": "plugin_commandt", 43 | "powerline.matchers.vim.plugin.gundo.gundo": "plugin_gundo", 44 | "powerline.matchers.vim.plugin.gundo.gundo_preview": "plugin_gundo-preview" 45 | } 46 | }, 47 | "wm": { 48 | "colorscheme": "default", 49 | "theme": "default" 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /powerline/themes/ascii.json: -------------------------------------------------------------------------------- 1 | { 2 | "use_non_breaking_spaces": false, 3 | "dividers": { 4 | "left": { 5 | "hard": " ", 6 | "soft": "| " 7 | }, 8 | "right": { 9 | "hard": " ", 10 | "soft": " |" 11 | } 12 | }, 13 | "spaces": 1, 14 | "segment_data": { 15 | "branch": { 16 | "before": "BR " 17 | }, 18 | "stash": { 19 | "before": "ST " 20 | }, 21 | "cwd": { 22 | "args": { 23 | "ellipsis": "..." 24 | } 25 | }, 26 | "player": { 27 | "args": { 28 | "state_symbols": { 29 | "fallback": "", 30 | "play": ">", 31 | "pause": "~", 32 | "stop": "X" 33 | } 34 | } 35 | }, 36 | 37 | "line_current_symbol": { 38 | "contents": "LN " 39 | }, 40 | 41 | "time": { 42 | "before": "" 43 | }, 44 | 45 | "powerline.segments.common.net.network_load": { 46 | "args": { 47 | "recv_format": "DL {value:>8}", 48 | "sent_format": "UL {value:>8}" 49 | } 50 | }, 51 | "powerline.segments.common.net.hostname": { 52 | "before": "H " 53 | }, 54 | "powerline.segments.common.bat.battery": { 55 | "args": { 56 | "full_heart": "O", 57 | "empty_heart": "O", 58 | "online": "C", 59 | "offline": " " 60 | } 61 | }, 62 | "powerline.segments.common.sys.uptime": { 63 | "before": "UP " 64 | }, 65 | "powerline.segments.common.mail.email_imap_alert": { 66 | "before": "MAIL " 67 | }, 68 | "powerline.segments.common.env.virtualenv": { 69 | "before": "(e) " 70 | }, 71 | "powerline.segments.common.wthr.weather": { 72 | "args": { 73 | "icons": { 74 | "day": "DAY", 75 | "blustery": "WIND", 76 | "rainy": "RAIN", 77 | "cloudy": "CLOUDS", 78 | "snowy": "SNOW", 79 | "stormy": "STORM", 80 | "foggy": "FOG", 81 | "sunny": "SUN", 82 | "night": "NIGHT", 83 | "windy": "WINDY", 84 | "not_available": "NA", 85 | "unknown": "UKN" 86 | }, 87 | "temp_format": "{temp:.0f} C" 88 | } 89 | }, 90 | "powerline.segments.common.time.fuzzy_time": { 91 | "args": { 92 | "unicode_text": false 93 | } 94 | }, 95 | 96 | "powerline.segments.vim.mode": { 97 | "args": { 98 | "override": { 99 | "n": "NORMAL", 100 | "no": "N-OPER", 101 | "v": "VISUAL", 102 | "V": "V-LINE", 103 | "^V": "V-BLCK", 104 | "s": "SELECT", 105 | "S": "S-LINE", 106 | "^S": "S-BLCK", 107 | "i": "INSERT", 108 | "R": "RPLACE", 109 | "Rv": "V-RPLC", 110 | "c": "COMMND", 111 | "cv": "VIM-EX", 112 | "ce": "NRM-EX", 113 | "r": "PROMPT", 114 | "rm": "-MORE-", 115 | "r?": "CNFIRM", 116 | "!": "!SHELL" 117 | } 118 | } 119 | }, 120 | "powerline.segments.vim.visual_range": { 121 | "args": { 122 | "CTRL_V_text": "{rows} x {vcols}", 123 | "v_text_oneline": "C:{vcols}", 124 | "v_text_multiline": "L:{rows}", 125 | "V_text": "L:{rows}" 126 | } 127 | }, 128 | "powerline.segments.vim.readonly_indicator": { 129 | "args": { 130 | "text": "RO" 131 | } 132 | }, 133 | "powerline.segments.vim.modified_indicator": { 134 | "args": { 135 | "text": "+" 136 | } 137 | }, 138 | 139 | "powerline.segments.i3wm.scratchpad": { 140 | "args": { 141 | "icons": { 142 | "fresh": "O", 143 | "changed": "X" 144 | } 145 | } 146 | } 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /powerline/themes/ipython/in.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "function": "powerline.segments.common.env.virtualenv", 6 | "priority": 10 7 | }, 8 | { 9 | "type": "string", 10 | "contents": "In [", 11 | "draw_soft_divider": false, 12 | "highlight_groups": ["prompt"] 13 | }, 14 | { 15 | "function": "powerline.segments.ipython.prompt_count", 16 | "draw_soft_divider": false 17 | }, 18 | { 19 | "type": "string", 20 | "contents": "]", 21 | "highlight_groups": ["prompt"] 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /powerline/themes/ipython/in2.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "type": "string", 6 | "contents": "", 7 | "width": "auto", 8 | "highlight_groups": ["prompt"] 9 | } 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /powerline/themes/ipython/out.json: -------------------------------------------------------------------------------- 1 | { 2 | "default_module": "powerline.segments.ipython", 3 | "segments": { 4 | "left": [ 5 | { 6 | "type": "string", 7 | "contents": "Out[", 8 | "draw_soft_divider": false, 9 | "width": "auto", 10 | "align": "r", 11 | "highlight_groups": ["prompt"] 12 | }, 13 | { 14 | "function": "prompt_count", 15 | "draw_soft_divider": false 16 | }, 17 | { 18 | "type": "string", 19 | "contents": "]", 20 | "highlight_groups": ["prompt"] 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /powerline/themes/ipython/rewrite.json: -------------------------------------------------------------------------------- 1 | { 2 | "default_module": "powerline.segments.ipython", 3 | "segments": { 4 | "left": [ 5 | { 6 | "type": "string", 7 | "contents": "", 8 | "draw_soft_divider": false, 9 | "width": "auto", 10 | "highlight_groups": ["prompt"] 11 | }, 12 | { 13 | "function": "prompt_count", 14 | "draw_soft_divider": false 15 | }, 16 | { 17 | "type": "string", 18 | "contents": ">", 19 | "highlight_groups": ["prompt"] 20 | } 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /powerline/themes/pdb/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "default_module": "powerline.segments.pdb", 3 | "segments": { 4 | "left": [ 5 | { 6 | "function": "stack_depth" 7 | }, 8 | { 9 | "type": "segment_list", 10 | "function": "powerline.listers.pdb.frame_lister", 11 | "segments": [ 12 | { 13 | "function": "current_file", 14 | "after": ":" 15 | }, 16 | { 17 | "function": "current_line", 18 | "after": " " 19 | }, 20 | { 21 | "function": "current_code_name" 22 | } 23 | ] 24 | } 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /powerline/themes/powerline.json: -------------------------------------------------------------------------------- 1 | { 2 | "dividers": { 3 | "left": { 4 | "hard": " ", 5 | "soft": "│ " 6 | }, 7 | "right": { 8 | "hard": " ", 9 | "soft": " │" 10 | } 11 | }, 12 | "spaces": 1, 13 | "segment_data": { 14 | "branch": { 15 | "before": " " 16 | }, 17 | "stash": { 18 | "before": "⌆ " 19 | }, 20 | "cwd": { 21 | "args": { 22 | "ellipsis": "⋯" 23 | } 24 | }, 25 | 26 | "line_current_symbol": { 27 | "contents": " " 28 | }, 29 | "player": { 30 | "args": { 31 | "state_symbols": { 32 | "fallback": "♫", 33 | "play": "▶", 34 | "pause": "▮▮", 35 | "stop": "■" 36 | } 37 | } 38 | }, 39 | 40 | "time": { 41 | "before": "⌚ " 42 | }, 43 | 44 | "powerline.segments.common.net.network_load": { 45 | "args": { 46 | "recv_format": "⬇ {value:>8}", 47 | "sent_format": "⬆ {value:>8}" 48 | } 49 | }, 50 | "powerline.segments.common.net.hostname": { 51 | "before": " " 52 | }, 53 | "powerline.segments.common.bat.battery": { 54 | "args": { 55 | "full_heart": "♥", 56 | "empty_heart": "♥", 57 | "online": "⚡︎", 58 | "offline": " " 59 | } 60 | }, 61 | "powerline.segments.common.sys.uptime": { 62 | "before": "⇑ " 63 | }, 64 | "powerline.segments.common.mail.email_imap_alert": { 65 | "before": "✉ " 66 | }, 67 | "powerline.segments.common.env.virtualenv": { 68 | "before": "ⓔ " 69 | }, 70 | "powerline.segments.common.wthr.weather": { 71 | "args": { 72 | "icons": { 73 | "day": "〇", 74 | "blustery": "⚑", 75 | "rainy": "☔", 76 | "cloudy": "☁", 77 | "snowy": "❅", 78 | "stormy": "☈", 79 | "foggy": "≡", 80 | "sunny": "☼", 81 | "night": "☾", 82 | "windy": "☴", 83 | "not_available": "�", 84 | "unknown": "⚠" 85 | } 86 | } 87 | }, 88 | "powerline.segments.common.time.fuzzy_time": { 89 | "args": { 90 | "unicode_text": true 91 | } 92 | }, 93 | 94 | "powerline.segments.vim.mode": { 95 | "args": { 96 | "override": { 97 | "n": "NORMAL", 98 | "no": "N·OPER", 99 | "v": "VISUAL", 100 | "V": "V·LINE", 101 | "^V": "V·BLCK", 102 | "s": "SELECT", 103 | "S": "S·LINE", 104 | "^S": "S·BLCK", 105 | "i": "INSERT", 106 | "R": "RPLACE", 107 | "Rv": "V·RPLC", 108 | "c": "COMMND", 109 | "cv": "VIM·EX", 110 | "ce": "NRM·EX", 111 | "r": "PROMPT", 112 | "rm": "-MORE-", 113 | "r?": "CNFIRM", 114 | "!": "!SHELL" 115 | } 116 | } 117 | }, 118 | "powerline.segments.vim.visual_range": { 119 | "args": { 120 | "CTRL_V_text": "{rows} × {vcols}", 121 | "v_text_oneline": "C:{vcols}", 122 | "v_text_multiline": "L:{rows}", 123 | "V_text": "L:{rows}" 124 | } 125 | }, 126 | "powerline.segments.vim.readonly_indicator": { 127 | "args": { 128 | "text": "" 129 | } 130 | }, 131 | "powerline.segments.vim.modified_indicator": { 132 | "args": { 133 | "text": "+" 134 | } 135 | }, 136 | 137 | "powerline.segments.i3wm.scratchpad": { 138 | "args": { 139 | "icons": { 140 | "fresh": "●", 141 | "changed": "○" 142 | } 143 | } 144 | } 145 | } 146 | } 147 | -------------------------------------------------------------------------------- /powerline/themes/powerline_unicode7.json: -------------------------------------------------------------------------------- 1 | { 2 | "dividers": { 3 | "left": { 4 | "hard": " ", 5 | "soft": "| " 6 | }, 7 | "right": { 8 | "hard": " ", 9 | "soft": " |" 10 | } 11 | }, 12 | "spaces": 1, 13 | "segment_data": { 14 | "branch": { 15 | "before": "🔀 " 16 | }, 17 | "stash": { 18 | "before": "📝" 19 | }, 20 | "cwd": { 21 | "args": { 22 | "ellipsis": "⋯" 23 | } 24 | }, 25 | 26 | "line_current_symbol": { 27 | "contents": " " 28 | }, 29 | "player": { 30 | "args": { 31 | "state_symbols": { 32 | "fallback": "♫", 33 | "play": "⏵", 34 | "pause": "⏸", 35 | "stop": "⏹" 36 | } 37 | } 38 | }, 39 | 40 | "time": { 41 | "before": "🕐 " 42 | }, 43 | 44 | "powerline.segments.common.net.network_load": { 45 | "args": { 46 | "recv_format": "⬇ {value:>8}", 47 | "sent_format": "⬆ {value:>8}" 48 | } 49 | }, 50 | "powerline.segments.common.net.hostname": { 51 | "before": "🏠 " 52 | }, 53 | "powerline.segments.common.bat.battery": { 54 | "args": { 55 | "full_heart": "💙", 56 | "empty_heart": "💛", 57 | "online": "⚡️", 58 | "offline": " " 59 | } 60 | }, 61 | "powerline.segments.common.sys.uptime": { 62 | "before": "⇑ " 63 | }, 64 | "powerline.segments.common.mail.email_imap_alert": { 65 | "before": "✉ " 66 | }, 67 | "powerline.segments.common.env.virtualenv": { 68 | "before": "🐍 " 69 | }, 70 | "powerline.segments.common.wthr.weather": { 71 | "args": { 72 | "icons": { 73 | "tornado": "🌪", 74 | "hurricane": "🌀", 75 | "showers": "☔", 76 | "scattered_showers": "☔", 77 | "thunderstorms": "🌩", 78 | "isolated_thunderstorms": "🌩", 79 | "scattered_thunderstorms": "🌩", 80 | "dust": "🌫", 81 | "fog": "🌫", 82 | "cold": "❄", 83 | "partly_cloudy_day": "🌤", 84 | "mostly_cloudy_day": "🌥", 85 | "sun": "🌣", 86 | "hot": "♨", 87 | "day": "☀", 88 | "blustery": "⚑", 89 | "rainy": "☂", 90 | "cloudy": "☁", 91 | "snowy": "☃", 92 | "stormy": "☈", 93 | "foggy": "🌁", 94 | "sunny": "🌣", 95 | "night": "☾", 96 | "windy": "☴", 97 | "not_available": "�", 98 | "unknown": "⚠" 99 | } 100 | } 101 | }, 102 | "powerline.segments.common.time.fuzzy_time": { 103 | "args": { 104 | "unicode_text": true 105 | } 106 | }, 107 | 108 | "powerline.segments.vim.mode": { 109 | "args": { 110 | "override": { 111 | "n": "NORMAL", 112 | "no": "N·OPER", 113 | "v": "VISUAL", 114 | "V": "V·LINE", 115 | "^V": "V·BLCK", 116 | "s": "SELECT", 117 | "S": "S·LINE", 118 | "^S": "S·BLCK", 119 | "i": "INSERT", 120 | "R": "RPLACE", 121 | "Rv": "V·RPLC", 122 | "c": "COMMND", 123 | "cv": "VIM·EX", 124 | "ce": "NRM·EX", 125 | "r": "PROMPT", 126 | "rm": "-MORE-", 127 | "r?": "CNFIRM", 128 | "!": "!SHELL" 129 | } 130 | } 131 | }, 132 | "powerline.segments.vim.visual_range": { 133 | "args": { 134 | "CTRL_V_text": "{rows} × {vcols}", 135 | "v_text_oneline": "C:{vcols}", 136 | "v_text_multiline": "L:{rows}", 137 | "V_text": "L:{rows}" 138 | } 139 | }, 140 | "powerline.segments.vim.readonly_indicator": { 141 | "args": { 142 | "text": "🔏" 143 | } 144 | }, 145 | "powerline.segments.vim.modified_indicator": { 146 | "args": { 147 | "text": "🖫⃥" 148 | } 149 | }, 150 | 151 | "powerline.segments.i3wm.scratchpad": { 152 | "args": { 153 | "icons": { 154 | "fresh": "●", 155 | "changed": "○" 156 | } 157 | } 158 | } 159 | } 160 | } 161 | -------------------------------------------------------------------------------- /powerline/themes/shell/__main__.json: -------------------------------------------------------------------------------- 1 | { 2 | "segment_data": { 3 | "hostname": { 4 | "args": { 5 | "only_if_ssh": true 6 | } 7 | }, 8 | "cwd": { 9 | "args": { 10 | "dir_limit_depth": 3 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /powerline/themes/shell/continuation.json: -------------------------------------------------------------------------------- 1 | { 2 | "default_module": "powerline.segments.shell", 3 | "segments": { 4 | "left": [ 5 | { 6 | "function": "continuation" 7 | } 8 | ], 9 | "right": [ 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /powerline/themes/shell/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "function": "powerline.segments.shell.mode" 6 | }, 7 | { 8 | "function": "powerline.segments.common.net.hostname", 9 | "priority": 10 10 | }, 11 | { 12 | "function": "powerline.segments.common.env.user", 13 | "priority": 30 14 | }, 15 | { 16 | "function": "powerline.segments.common.env.virtualenv", 17 | "priority": 50 18 | }, 19 | { 20 | "function": "powerline.segments.shell.cwd", 21 | "priority": 10 22 | }, 23 | { 24 | "function": "powerline.segments.shell.jobnum", 25 | "priority": 20 26 | } 27 | ], 28 | "right": [ 29 | { 30 | "function": "powerline.segments.shell.last_pipe_status", 31 | "priority": 10 32 | }, 33 | { 34 | "function": "powerline.segments.common.vcs.stash", 35 | "priority": 50 36 | }, 37 | { 38 | "function": "powerline.segments.common.vcs.branch", 39 | "priority": 40 40 | } 41 | ] 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /powerline/themes/shell/default_leftonly.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "function": "powerline.segments.common.net.hostname", 6 | "priority": 10 7 | }, 8 | { 9 | "function": "powerline.segments.common.env.user", 10 | "priority": 30 11 | }, 12 | { 13 | "function": "powerline.segments.common.env.virtualenv", 14 | "priority": 50 15 | }, 16 | { 17 | "function": "powerline.segments.common.vcs.branch", 18 | "priority": 40 19 | }, 20 | { 21 | "function": "powerline.segments.shell.cwd", 22 | "priority": 10 23 | }, 24 | { 25 | "function": "powerline.segments.shell.jobnum", 26 | "priority": 20 27 | }, 28 | { 29 | "function": "powerline.segments.shell.last_status", 30 | "priority": 10 31 | } 32 | ] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /powerline/themes/shell/select.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "type": "string", 6 | "contents": "Select variant", 7 | "width": "auto", 8 | "align": "r", 9 | "highlight_groups": ["continuation:current"] 10 | } 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /powerline/themes/tmux/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "right": [ 4 | { 5 | "function": "powerline.segments.common.sys.uptime", 6 | "priority": 50 7 | }, 8 | { 9 | "function": "powerline.segments.common.sys.system_load", 10 | "priority": 50 11 | }, 12 | { 13 | "function": "powerline.segments.common.time.date" 14 | }, 15 | { 16 | "function": "powerline.segments.common.time.date", 17 | "name": "time", 18 | "args": { 19 | "format": "%H:%M", 20 | "istime": true 21 | } 22 | }, 23 | { 24 | "function": "powerline.segments.common.net.hostname" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /powerline/themes/unicode.json: -------------------------------------------------------------------------------- 1 | { 2 | "dividers": { 3 | "left": { 4 | "hard": "▌ ", 5 | "soft": "│ " 6 | }, 7 | "right": { 8 | "hard": " ▐", 9 | "soft": " │" 10 | } 11 | }, 12 | "spaces": 1, 13 | "segment_data": { 14 | "branch": { 15 | "before": "⎇ " 16 | }, 17 | "stash": { 18 | "before": "⌆" 19 | }, 20 | "cwd": { 21 | "args": { 22 | "ellipsis": "⋯" 23 | } 24 | }, 25 | "player": { 26 | "args": { 27 | "state_symbols": { 28 | "fallback": "♫", 29 | "play": "▶", 30 | "pause": "▮▮", 31 | "stop": "■" 32 | } 33 | } 34 | }, 35 | 36 | "line_current_symbol": { 37 | "contents": "␤ " 38 | }, 39 | 40 | "time": { 41 | "before": "⌚ " 42 | }, 43 | 44 | "powerline.segments.common.net.network_load": { 45 | "args": { 46 | "recv_format": "⬇ {value:>8}", 47 | "sent_format": "⬆ {value:>8}" 48 | } 49 | }, 50 | "powerline.segments.common.net.hostname": { 51 | "before": "⌂ " 52 | }, 53 | "powerline.segments.common.bat.battery": { 54 | "args": { 55 | "full_heart": "♥", 56 | "empty_heart": "♥", 57 | "online": "⚡︎", 58 | "offline": " " 59 | } 60 | }, 61 | "powerline.segments.common.sys.uptime": { 62 | "before": "⇑ " 63 | }, 64 | "powerline.segments.common.mail.email_imap_alert": { 65 | "before": "✉ " 66 | }, 67 | "powerline.segments.common.env.virtualenv": { 68 | "before": "ⓔ " 69 | }, 70 | "powerline.segments.common.wthr.weather": { 71 | "args": { 72 | "icons": { 73 | "day": "〇", 74 | "blustery": "⚑", 75 | "rainy": "☔", 76 | "cloudy": "☁", 77 | "snowy": "❅", 78 | "stormy": "☈", 79 | "foggy": "≡", 80 | "sunny": "☼", 81 | "night": "☾", 82 | "windy": "☴", 83 | "not_available": "�", 84 | "unknown": "⚠" 85 | } 86 | } 87 | }, 88 | "powerline.segments.common.time.fuzzy_time": { 89 | "args": { 90 | "unicode_text": true 91 | } 92 | }, 93 | 94 | "powerline.segments.vim.mode": { 95 | "args": { 96 | "override": { 97 | "n": "NORMAL", 98 | "no": "N·OPER", 99 | "v": "VISUAL", 100 | "V": "V·LINE", 101 | "^V": "V·BLCK", 102 | "s": "SELECT", 103 | "S": "S·LINE", 104 | "^S": "S·BLCK", 105 | "i": "INSERT", 106 | "R": "RPLACE", 107 | "Rv": "V·RPLC", 108 | "c": "COMMND", 109 | "cv": "VIM·EX", 110 | "ce": "NRM·EX", 111 | "r": "PROMPT", 112 | "rm": "-MORE-", 113 | "r?": "CNFIRM", 114 | "!": "!SHELL" 115 | } 116 | } 117 | }, 118 | "powerline.segments.vim.visual_range": { 119 | "args": { 120 | "CTRL_V_text": "{rows} × {vcols}", 121 | "v_text_oneline": "C:{vcols}", 122 | "v_text_multiline": "L:{rows}", 123 | "V_text": "L:{rows}" 124 | } 125 | }, 126 | "powerline.segments.vim.readonly_indicator": { 127 | "args": { 128 | "text": "⊗" 129 | } 130 | }, 131 | "powerline.segments.vim.modified_indicator": { 132 | "args": { 133 | "text": "+" 134 | } 135 | }, 136 | 137 | "powerline.segments.i3wm.scratchpad": { 138 | "args": { 139 | "icons": { 140 | "fresh": "●", 141 | "changed": "○" 142 | } 143 | } 144 | } 145 | } 146 | } 147 | -------------------------------------------------------------------------------- /powerline/themes/unicode_terminus.json: -------------------------------------------------------------------------------- 1 | { 2 | "dividers": { 3 | "left": { 4 | "hard": "▌ ", 5 | "soft": "│ " 6 | }, 7 | "right": { 8 | "hard": " ▐", 9 | "soft": " │" 10 | } 11 | }, 12 | "spaces": 1, 13 | "segment_data": { 14 | "branch": { 15 | "before": "BR " 16 | }, 17 | "stash": { 18 | "before": "ST " 19 | }, 20 | "cwd": { 21 | "args": { 22 | "ellipsis": "…" 23 | } 24 | }, 25 | 26 | "line_current_symbol": { 27 | "contents": "␤ " 28 | }, 29 | "player": { 30 | "args": { 31 | "state_symbols": { 32 | "fallback": "♫", 33 | "play": "▶", 34 | "pause": "▮▮", 35 | "stop": "■" 36 | } 37 | } 38 | }, 39 | 40 | "time": { 41 | "before": "" 42 | }, 43 | 44 | "powerline.segments.common.net.network_load": { 45 | "args": { 46 | "recv_format": "⇓ {value:>8}", 47 | "sent_format": "⇑ {value:>8}" 48 | } 49 | }, 50 | "powerline.segments.common.net.hostname": { 51 | "before": "⌂ " 52 | }, 53 | "powerline.segments.common.bat.battery": { 54 | "args": { 55 | "full_heart": "♥", 56 | "empty_heart": "♥", 57 | "online": "⚡︎", 58 | "offline": " " 59 | } 60 | }, 61 | "powerline.segments.common.sys.uptime": { 62 | "before": "↑ " 63 | }, 64 | "powerline.segments.common.mail.email_imap_alert": { 65 | "before": "MAIL " 66 | }, 67 | "powerline.segments.common.env.virtualenv": { 68 | "before": "(e) " 69 | }, 70 | "powerline.segments.common.wthr.weather": { 71 | "args": { 72 | "icons": { 73 | "day": "DAY", 74 | "blustery": "WIND", 75 | "rainy": "RAIN", 76 | "cloudy": "CLOUDS", 77 | "snowy": "SNOW", 78 | "stormy": "STORM", 79 | "foggy": "FOG", 80 | "sunny": "SUN", 81 | "night": "NIGHT", 82 | "windy": "WINDY", 83 | "not_available": "NA", 84 | "unknown": "UKN" 85 | } 86 | } 87 | }, 88 | "powerline.segments.common.time.fuzzy_time": { 89 | "args": { 90 | "unicode_text": true 91 | } 92 | }, 93 | 94 | "powerline.segments.vim.mode": { 95 | "args": { 96 | "override": { 97 | "n": "NORMAL", 98 | "no": "N·OPER", 99 | "v": "VISUAL", 100 | "V": "V·LINE", 101 | "^V": "V·BLCK", 102 | "s": "SELECT", 103 | "S": "S·LINE", 104 | "^S": "S·BLCK", 105 | "i": "INSERT", 106 | "R": "RPLACE", 107 | "Rv": "V·RPLC", 108 | "c": "COMMND", 109 | "cv": "VIM·EX", 110 | "ce": "NRM·EX", 111 | "r": "PROMPT", 112 | "rm": "-MORE-", 113 | "r?": "CNFIRM", 114 | "!": "!SHELL" 115 | } 116 | } 117 | }, 118 | "powerline.segments.vim.visual_range": { 119 | "args": { 120 | "CTRL_V_text": "{rows} × {vcols}", 121 | "v_text_oneline": "C:{vcols}", 122 | "v_text_multiline": "L:{rows}", 123 | "V_text": "L:{rows}" 124 | } 125 | }, 126 | "powerline.segments.vim.readonly_indicator": { 127 | "args": { 128 | "text": "RO" 129 | } 130 | }, 131 | "powerline.segments.vim.modified_indicator": { 132 | "args": { 133 | "text": "+" 134 | } 135 | }, 136 | 137 | "powerline.segments.i3wm.scratchpad": { 138 | "args": { 139 | "icons": { 140 | "fresh": "●", 141 | "changed": "○" 142 | } 143 | } 144 | } 145 | } 146 | } 147 | -------------------------------------------------------------------------------- /powerline/themes/unicode_terminus_condensed.json: -------------------------------------------------------------------------------- 1 | { 2 | "dividers": { 3 | "left": { 4 | "hard": "▌", 5 | "soft": "│" 6 | }, 7 | "right": { 8 | "hard": "▐", 9 | "soft": "│" 10 | } 11 | }, 12 | "spaces": 0, 13 | "segment_data": { 14 | "branch": { 15 | "before": "B " 16 | }, 17 | "stash": { 18 | "before": "S " 19 | }, 20 | "cwd": { 21 | "args": { 22 | "use_path_separator": true, 23 | "ellipsis": "…" 24 | } 25 | }, 26 | 27 | "line_current_symbol": { 28 | "contents": "␤" 29 | }, 30 | "player": { 31 | "args": { 32 | "state_symbols": { 33 | "fallback": "♫", 34 | "play": "▶", 35 | "pause": "▮▮", 36 | "stop": "■" 37 | } 38 | } 39 | }, 40 | 41 | "time": { 42 | "before": "" 43 | }, 44 | 45 | "powerline.segments.common.net.network_load": { 46 | "args": { 47 | "recv_format": "⇓{value:>8}", 48 | "sent_format": "⇑{value:>8}" 49 | } 50 | }, 51 | "powerline.segments.common.net.hostname": { 52 | "before": "⌂" 53 | }, 54 | "powerline.segments.common.bat.battery": { 55 | "args": { 56 | "full_heart": "♥", 57 | "empty_heart": "♥", 58 | "online": "⚡︎", 59 | "offline": " " 60 | } 61 | }, 62 | "powerline.segments.common.sys.uptime": { 63 | "before": "↑" 64 | }, 65 | "powerline.segments.common.mail.email_imap_alert": { 66 | "before": "M " 67 | }, 68 | "powerline.segments.common.env.virtualenv": { 69 | "before": "E " 70 | }, 71 | "powerline.segments.common.wthr.weather": { 72 | "args": { 73 | "icons": { 74 | "day": "D", 75 | "blustery": "W", 76 | "rainy": "R", 77 | "cloudy": "c", 78 | "snowy": "*", 79 | "stormy": "S", 80 | "foggy": "f", 81 | "sunny": "s", 82 | "night": "N", 83 | "windy": "w", 84 | "not_available": "-", 85 | "unknown": "!" 86 | } 87 | } 88 | }, 89 | "powerline.segments.common.time.fuzzy_time": { 90 | "args": { 91 | "unicode_text": true 92 | } 93 | }, 94 | 95 | "powerline.segments.vim.mode": { 96 | "args": { 97 | "override": { 98 | "n": "NML", 99 | "no": "NOP", 100 | "v": "VIS", 101 | "V": "VLN", 102 | "^V": "VBL", 103 | "s": "SEL", 104 | "S": "SLN", 105 | "^S": "SBL", 106 | "i": "INS", 107 | "R": "REP", 108 | "Rv": "VRP", 109 | "c": "CMD", 110 | "cv": "VEX", 111 | "ce": " EX", 112 | "r": "PRT", 113 | "rm": "MOR", 114 | "r?": "CON", 115 | "!": " SH" 116 | } 117 | } 118 | }, 119 | "powerline.segments.vim.visual_range": { 120 | "args": { 121 | "CTRL_V_text": "{rows}×{vcols}", 122 | "v_text_oneline": "C:{vcols}", 123 | "v_text_multiline": "L:{rows}", 124 | "V_text": "L:{rows}" 125 | } 126 | }, 127 | "powerline.segments.vim.readonly_indicator": { 128 | "args": { 129 | "text": "RO" 130 | } 131 | }, 132 | "powerline.segments.vim.modified_indicator": { 133 | "args": { 134 | "text": "+" 135 | } 136 | }, 137 | 138 | "powerline.segments.i3wm.scratchpad": { 139 | "args": { 140 | "icons": { 141 | "fresh": "●", 142 | "changed": "○" 143 | } 144 | } 145 | } 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /powerline/themes/vim/__main__.json: -------------------------------------------------------------------------------- 1 | { 2 | "segment_data": { 3 | "line_percent": { 4 | "args": { 5 | "gradient": true 6 | }, 7 | "after": "%" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /powerline/themes/vim/cmdwin.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "type": "string", 6 | "contents": "Command Line", 7 | "highlight_groups": ["file_name"] 8 | }, 9 | { 10 | "type": "string", 11 | "highlight_groups": ["background"], 12 | "draw_soft_divider": false, 13 | "draw_hard_divider": false, 14 | "width": "auto" 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /powerline/themes/vim/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "function": "mode", 6 | "exclude_modes": ["nc"] 7 | }, 8 | { 9 | "function": "visual_range", 10 | "include_modes": ["v", "V", "^V", "s", "S", "^S"], 11 | "priority": 10 12 | }, 13 | { 14 | "function": "paste_indicator", 15 | "exclude_modes": ["nc"], 16 | "priority": 10 17 | }, 18 | { 19 | "function": "powerline.segments.vim.plugin.capslock.capslock_indicator", 20 | "include_modes": ["i", "R", "Rv"], 21 | "priority": 10 22 | }, 23 | { 24 | "function": "branch", 25 | "exclude_modes": ["nc"], 26 | "priority": 30 27 | }, 28 | { 29 | "function": "readonly_indicator", 30 | "draw_soft_divider": false, 31 | "after": " " 32 | }, 33 | { 34 | "function": "file_scheme", 35 | "priority": 20 36 | }, 37 | { 38 | "function": "file_directory", 39 | "priority": 40, 40 | "draw_soft_divider": false 41 | }, 42 | { 43 | "function": "file_name", 44 | "draw_soft_divider": false 45 | }, 46 | { 47 | "function": "file_vcs_status", 48 | "before": " ", 49 | "draw_soft_divider": false 50 | }, 51 | { 52 | "function": "modified_indicator", 53 | "before": " " 54 | }, 55 | { 56 | "exclude_modes": ["i", "R", "Rv"], 57 | "function": "trailing_whitespace", 58 | "display": false, 59 | "priority": 60 60 | }, 61 | { 62 | "exclude_modes": ["nc"], 63 | "function": "powerline.segments.vim.plugin.syntastic.syntastic", 64 | "priority": 50 65 | }, 66 | { 67 | "exclude_modes": ["nc"], 68 | "function": "powerline.segments.vim.plugin.tagbar.current_tag", 69 | "draw_soft_divider": false, 70 | "priority": 50 71 | }, 72 | { 73 | "type": "string", 74 | "highlight_groups": ["background"], 75 | "draw_soft_divider": false, 76 | "draw_hard_divider": false, 77 | "width": "auto" 78 | } 79 | ], 80 | "right": [ 81 | { 82 | "function": "file_format", 83 | "draw_soft_divider": false, 84 | "exclude_modes": ["nc"], 85 | "priority": 60 86 | }, 87 | { 88 | "function": "file_encoding", 89 | "exclude_modes": ["nc"], 90 | "priority": 60 91 | }, 92 | { 93 | "function": "file_type", 94 | "exclude_modes": ["nc"], 95 | "priority": 60 96 | }, 97 | { 98 | "function": "line_percent", 99 | "priority": 50, 100 | "width": 4, 101 | "align": "r" 102 | }, 103 | { 104 | "function": "csv_col_current", 105 | "priority": 30 106 | }, 107 | { 108 | "type": "string", 109 | "name": "line_current_symbol", 110 | "highlight_groups": ["line_current_symbol", "line_current"] 111 | }, 112 | { 113 | "function": "line_current", 114 | "draw_soft_divider": false, 115 | "width": 3, 116 | "align": "r" 117 | }, 118 | { 119 | "function": "virtcol_current", 120 | "draw_soft_divider": false, 121 | "priority": 20, 122 | "before": ":", 123 | "width": 3, 124 | "align": "l" 125 | } 126 | ] 127 | } 128 | } 129 | -------------------------------------------------------------------------------- /powerline/themes/vim/help.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "function": "file_name", 6 | "draw_soft_divider": false 7 | }, 8 | { 9 | "type": "string", 10 | "highlight_groups": ["background"], 11 | "draw_soft_divider": false, 12 | "draw_hard_divider": false, 13 | "width": "auto" 14 | } 15 | ], 16 | "right": [ 17 | { 18 | "function": "line_percent", 19 | "priority": 30, 20 | "width": 4, 21 | "align": "r" 22 | }, 23 | { 24 | "type": "string", 25 | "name": "line_current_symbol", 26 | "highlight_groups": ["line_current_symbol", "line_current"] 27 | }, 28 | { 29 | "function": "line_current", 30 | "draw_soft_divider": false, 31 | "width": 3, 32 | "align": "r" 33 | } 34 | ] 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /powerline/themes/vim/plugin_commandt.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "type": "string", 6 | "contents": "Command-T", 7 | "highlight_groups": ["commandt:label"] 8 | }, 9 | { 10 | "function": "powerline.segments.vim.plugin.commandt.finder" 11 | }, 12 | { 13 | "function": "powerline.segments.vim.plugin.commandt.path" 14 | }, 15 | { 16 | "type": "string", 17 | "highlight_groups": ["commandt:background"], 18 | "draw_soft_divider": false, 19 | "draw_hard_divider": false, 20 | "width": "auto" 21 | } 22 | ], 23 | "right": [ 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /powerline/themes/vim/plugin_gundo-preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "type": "string", 6 | "highlight_groups": ["gundo:name", "file_name"], 7 | "contents": "Undo diff" 8 | }, 9 | { 10 | "type": "string", 11 | "highlight_groups": ["gundo:background", "background"], 12 | "draw_soft_divider": false, 13 | "draw_hard_divider": false, 14 | "width": "auto" 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /powerline/themes/vim/plugin_gundo.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "left": [ 4 | { 5 | "type": "string", 6 | "highlight_groups": ["gundo:name", "file_name"], 7 | "contents": "Undo tree" 8 | }, 9 | { 10 | "type": "string", 11 | "highlight_groups": ["gundo:background", "background"], 12 | "draw_soft_divider": false, 13 | "draw_hard_divider": false, 14 | "width": "auto" 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /powerline/themes/vim/plugin_nerdtree.json: -------------------------------------------------------------------------------- 1 | { 2 | "default_module": "powerline.segments.vim.plugin.nerdtree", 3 | "segments": { 4 | "left": [ 5 | { 6 | "function": "nerdtree" 7 | }, 8 | { 9 | "type": "string", 10 | "highlight_groups": ["background"], 11 | "draw_soft_divider": false, 12 | "draw_hard_divider": false, 13 | "width": "auto" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /powerline/themes/vim/quickfix.json: -------------------------------------------------------------------------------- 1 | { 2 | "segment_data": { 3 | "buffer_name": { 4 | "contents": "Location List" 5 | } 6 | }, 7 | "segments": { 8 | "left": [ 9 | { 10 | "type": "string", 11 | "name": "buffer_name", 12 | "highlight_groups": ["file_name"] 13 | }, 14 | { 15 | "function": "window_title", 16 | "draw_soft_divider": false 17 | }, 18 | { 19 | "type": "string", 20 | "highlight_groups": ["background"], 21 | "draw_soft_divider": false, 22 | "draw_hard_divider": false, 23 | "width": "auto" 24 | } 25 | ], 26 | "right": [ 27 | { 28 | "type": "string", 29 | "name": "line_current_symbol", 30 | "highlight_groups": ["line_current_symbol", "line_current"] 31 | }, 32 | { 33 | "function": "line_current", 34 | "draw_soft_divider": false, 35 | "width": 3, 36 | "align": "r" 37 | } 38 | ] 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /powerline/themes/vim/tabline.json: -------------------------------------------------------------------------------- 1 | { 2 | "default_module": "powerline.segments.vim", 3 | "segments": { 4 | "left": [ 5 | { 6 | "type": "segment_list", 7 | "function": "powerline.listers.vim.tablister", 8 | "exclude_function": "single_tab", 9 | "segments": [ 10 | { 11 | "function": "tab" 12 | }, 13 | { 14 | "function": "tabnr", 15 | "after": " ", 16 | "priority": 5 17 | }, 18 | { 19 | "function": "file_directory", 20 | "priority": 40 21 | }, 22 | { 23 | "function": "file_name", 24 | "args": { 25 | "display_no_file": true 26 | }, 27 | "priority": 10 28 | }, 29 | { 30 | "function": "tab_modified_indicator", 31 | "priority": 5 32 | } 33 | ] 34 | }, 35 | { 36 | "function": "tab", 37 | "args": { 38 | "end": true 39 | } 40 | }, 41 | { 42 | "type": "segment_list", 43 | "function": "powerline.listers.vim.bufferlister", 44 | "include_function": "single_tab", 45 | "segments": [ 46 | { 47 | "function": "bufnr", 48 | "after": " ", 49 | "priority": 5 50 | }, 51 | { 52 | "function": "file_directory", 53 | "priority": 40 54 | }, 55 | { 56 | "function": "file_name", 57 | "args": { 58 | "display_no_file": true 59 | }, 60 | "priority": 10 61 | }, 62 | { 63 | "function": "modified_indicator", 64 | "priority": 5 65 | } 66 | ] 67 | }, 68 | { 69 | "type": "string", 70 | "highlight_groups": ["tab:background"], 71 | "draw_soft_divider": false, 72 | "draw_hard_divider": false, 73 | "width": "auto" 74 | } 75 | ], 76 | "right": [ 77 | { 78 | "type": "string", 79 | "contents": "Bufs", 80 | "name": "single_tab", 81 | "highlight_groups": ["single_tab"], 82 | "include_function": "single_tab" 83 | }, 84 | { 85 | "type": "string", 86 | "contents": "Tabs", 87 | "name": "many_tabs", 88 | "highlight_groups": ["many_tabs"], 89 | "exclude_function": "single_tab" 90 | } 91 | ] 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /powerline/themes/wm/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "segments": { 3 | "right": [ 4 | { 5 | "function": "powerline.segments.common.wthr.weather", 6 | "priority": 50 7 | }, 8 | { 9 | "function": "powerline.segments.common.time.date" 10 | }, 11 | { 12 | "function": "powerline.segments.common.time.date", 13 | "name": "time", 14 | "args": { 15 | "format": "%H:%M", 16 | "istime": true 17 | } 18 | }, 19 | { 20 | "function": "powerline.segments.common.mail.email_imap_alert", 21 | "priority": 10, 22 | "args": { 23 | "username": "", 24 | "password": "" 25 | } 26 | } 27 | ] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /termite/colorconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Hack 12 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | background = rgba(39, 44, 51, 1) 9 | foreground = #DDDDDD 10 | foreground_bold = #DDDDDD 11 | #cursor = #DDDDDD 12 | 13 | # 16 color space 14 | 15 | 16 | 17 | # black 18 | color0 = #282a2e 19 | color8 = #373b41 20 | 21 | # red 22 | color1 = #da866d 23 | color9 = #da866d 24 | 25 | # green 26 | color2 = #7b9b86 27 | color10 = #7b9b86 28 | 29 | # yellow 30 | color3 = #e9cb9e 31 | color11 = #e9cb9e 32 | 33 | # blue 34 | color4 = #7b98b3 35 | color12 = #7b98b3 36 | #color12 = #75a2c1 37 | 38 | # magenta 39 | #color5 = #aa9ca9 40 | color5 = #b4a3ac 41 | #color5 = #ffa193 42 | color13 = #b4a3ac 43 | 44 | # cyan 45 | color6 = #9db9cb 46 | color14 = #9db9cb 47 | 48 | # white 49 | #color7 = #707880 50 | color7 = #ffffff 51 | #color15 = #c5c8c6 52 | color15 = #ffffff 53 | 54 | # 256 color space 55 | color16 = #C7C795 56 | color17 = #C7C795 57 | color18 = #393F45 58 | color19 = #565E65 59 | color20 = #ADB3BA 60 | color21 = #DFE2E5 61 | color22 = #252C34 62 | 63 | -------------------------------------------------------------------------------- /termite/config: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Hack 12 3 | 4 | 5 | 6 | [colors] 7 | # Base16 Ashes 8 | # Scheme: Jannik Siebert (https://github.com/janniks) 9 | 10 | background = rgba(39, 44, 51, 1) 11 | foreground = #DDDDDD 12 | foreground_bold = #DDDDDD 13 | #cursor = #DDDDDD 14 | 15 | # 16 color space 16 | 17 | 18 | 19 | # black 20 | color0 = #282a2e 21 | color8 = #373b41 22 | 23 | # red 24 | color1 = #c6927c 25 | color9 = #c6927c 26 | 27 | # green 28 | # color2 = #c4bfbe 29 | color2 = #f1cf9f 30 | color10 = #f1cf9f 31 | 32 | # yellow 33 | color3 = #dab99f 34 | color11 = #dab99f 35 | 36 | # blue 37 | color4 = #9a97a8 38 | color12 = #9a97a8 39 | #color12 = #75a2c1 40 | 41 | # magenta 42 | #color5 = #aa9ca9 43 | color5 = #ded1d2 44 | #color5 = #ffa193 45 | color13 = #ded1d2 46 | 47 | # cyan 48 | color6 = #b7cfe1 49 | color14 = #b7cfe1 50 | 51 | # white 52 | #color7 = #707880 53 | color7 = #ffffff 54 | #color15 = #c5c8c6 55 | color15 = #ffffff 56 | 57 | # 256 color space 58 | color16 = #C7C795 59 | color17 = #C7C795 60 | color18 = #393F45 61 | color19 = #565E65 62 | color20 = #ADB3BA 63 | color21 = #DFE2E5 64 | color22 = #252C34 65 | 66 | -------------------------------------------------------------------------------- /termite/infraredconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Hack 12 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | background = rgba(39, 44, 51, 1) 9 | # background = rgba(46, 52, 60, 1) 10 | foreground = #DDDDDD 11 | foreground_bold = #DDDDDD 12 | #cursor = #DDDDDD 13 | 14 | # 16 color space 15 | 16 | #dark blue 17 | color0 = #1C2023 18 | color8 = #747C84 19 | #red 20 | color1 = #f6887a 21 | color9 = #CE7266 22 | #aquamarine 23 | color2 = #84cdc9 24 | color10 = #6CA7A4 25 | #light brown 26 | color3 = #b0aca9 27 | color11 = #8B8886 28 | #green 29 | color4 = #729597 30 | color12 = #5D7A7C 31 | #brown 32 | color5 = #8A9FA3 33 | color13 = #8A9FA3 34 | #ice blue 35 | color6 = #797474 36 | color14 = #797474 37 | #grey ice blue 38 | color7 = #FFFFFF 39 | color15 = #DEDEDE 40 | 41 | # 256 color space 42 | color16 = #C7C795 43 | color17 = #C7C795 44 | color18 = #393F45 45 | color19 = #565E65 46 | color20 = #ADB3BA 47 | color21 = #DFE2E5 48 | color22 = #252C34 49 | 50 | -------------------------------------------------------------------------------- /termite/lightconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Droid Sans Mono Dotted for Powerline 11 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | #background = rgba(45, 48, 53, 0.95) 9 | background = rgba(37, 44, 52, 0.95) 10 | #foreground = #C7CCD1 11 | foreground = #DDDDDD 12 | foreground_bold = #DDDDDD 13 | cursor = #DDDDDD 14 | 15 | # 16 color space 16 | 17 | #dark blue 18 | color0 = #1C2023 19 | #royal blue 20 | color1 = #69A5E5 21 | #aquamarine 22 | #color2 = #70CBB6 23 | color2 = #8FD3C3 24 | #light pink 25 | #color3 = #ACBC6C 26 | color3 = #EAB9CD 27 | #expired peach 28 | color4 = #F5A3A3 29 | #light purple 30 | color5 = #E4CEFF 31 | #ice blue 32 | color6 = #BFDFFF 33 | #grey ice blue 34 | color7 = #C7CCD1 35 | #blue grey 36 | color8 = #747C84 37 | #royal blue 38 | color9 = #69A5E5 39 | #aquamarine 40 | color10 = #8FD3C3 41 | #pink 42 | color11 = #EAB9CD 43 | #expired peach 44 | color12 = #F5A3A3 45 | #light purple 46 | color13 = #E4CEFF 47 | #ice blue 48 | color14 = #BFDFFF 49 | #white 50 | color15 = #FFFFFF 51 | 52 | # 256 color space 53 | color16 = #C7C795 54 | color17 = #C7C795 55 | color18 = #393F45 56 | color19 = #565E65 57 | color20 = #ADB3BA 58 | color21 = #DFE2E5 59 | 60 | color22 = #252C34 61 | 62 | #NONUSEDCOLORS 63 | #light forest green 64 | #color2 = #AEE0C7 65 | #light topaz 66 | #color3 = #F5F3E2 67 | #dirty gold 68 | #color3 = #D3C379 69 | 70 | #NORMAL 71 | #color22 = #000000 72 | -------------------------------------------------------------------------------- /termite/mountainconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Hack 12 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | background = rgba(39, 44, 51, 1) 9 | foreground = #E6E6E6 10 | foreground_bold = #DDDDDD 11 | #cursor = #DDDDDD 12 | 13 | # 16 color space 14 | 15 | 16 | 17 | # black 18 | color0 = #282a2e 19 | color8 = #373b41 20 | 21 | 22 | 23 | color1 = #E78686 24 | color9 = #E78686 25 | 26 | # green 27 | color2 = #f4c6bb 28 | color10 = #f4c6bb 29 | 30 | # yellow 31 | color3 = #FFE5B9 32 | color11 = #FFE5B9 33 | 34 | # blue 35 | color4 = #B1C9DD 36 | color12 = #B1C9DD 37 | 38 | # magenta 39 | color6 = #9E9E9E 40 | color14 = #9E9E9E 41 | 42 | # cyan 43 | color5 = #d8a1af 44 | color13 = #d8a1af 45 | 46 | # white 47 | #color7 = #707880 48 | color7 = #ffffff 49 | #color15 = #c5c8c6 50 | color15 = #ffffff 51 | 52 | # 256 color space 53 | color16 = #272C33 54 | color17 = #C7C795 55 | color18 = #393F45 56 | color19 = #565E65 57 | color20 = #ADB3BA 58 | color21 = #DFE2E5 59 | color22 = #252C34 60 | 61 | -------------------------------------------------------------------------------- /termite/redconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Hack 12 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | background = rgba(6, 25, 34, 1) 9 | foreground = #E6E6E6 10 | foreground_bold = #DDDDDD 11 | #cursor = #DDDDDD 12 | 13 | # 16 color space 14 | 15 | 16 | 17 | # black 18 | color0 = #282a2e 19 | color8 = #373b41 20 | 21 | 22 | 23 | color1 = #fc4114 24 | color9 = #fc4114 25 | 26 | # green 27 | color2 = #457581 28 | color10 = #457581 29 | 30 | # yellow 31 | color3 = #6e636b 32 | color11 = #6e636b 33 | 34 | # blue 35 | color4 = #8a9ba1 36 | color12 = #8a9ba1 37 | 38 | # magenta 39 | color6 = #9E9E9E 40 | color14 = #9E9E9E 41 | 42 | # cyan 43 | color5 = #71695d 44 | color13 = #71695d 45 | 46 | # white 47 | #color7 = #707880 48 | color7 = #ffffff 49 | #color15 = #c5c8c6 50 | color15 = #ffffff 51 | 52 | # 256 color space 53 | color16 = #272C33 54 | color17 = #C7C795 55 | color18 = #393F45 56 | color19 = #565E65 57 | color20 = #ADB3BA 58 | color21 = #DFE2E5 59 | color22 = #252C34 60 | 61 | -------------------------------------------------------------------------------- /termite/roadconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Droid Sans Mono Dotted for Powerline 11 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | background = rgba(39, 44, 51, 0.97) 9 | foreground = #DDDDDD 10 | foreground_bold = #DDDDDD 11 | #cursor = #DDDDDD 12 | 13 | # 16 color space 14 | 15 | 16 | 17 | # black 18 | color0 = #282a2e 19 | color8 = #373b41 20 | 21 | # red 22 | color1 = #aa9ea3 23 | color9 = #aa9ea3 24 | 25 | # green 26 | color2 = #568897 27 | color10 = #568897 28 | 29 | # yellow 30 | color3 = #d2d6c4 31 | color11 = #d2d6c4 32 | 33 | # blue 34 | color4 = #627192 35 | color12 = #627192 36 | #color12 = #75a2c1 37 | 38 | # magenta 39 | color5 = #79738a 40 | #color5 = #717d9d 41 | color13 = #79738a 42 | 43 | # cyan 44 | color6 = #9ab6c6 45 | color14 = #9ab6c6 46 | 47 | # white 48 | #color7 = #707880 49 | color7 = #ffffff 50 | #color15 = #c5c8c6 51 | color15 = #ffffff 52 | 53 | # 256 color space 54 | color16 = #C7C795 55 | color17 = #C7C795 56 | color18 = #393F45 57 | color19 = #565E65 58 | color20 = #ADB3BA 59 | color21 = #DFE2E5 60 | color22 = #252C34 61 | 62 | -------------------------------------------------------------------------------- /termite/someconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Droid Sans Mono Dotted for Powerline 11 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | background = rgba(39, 44, 51, 0.98) 9 | foreground = #DDDDDD 10 | foreground_bold = #DDDDDD 11 | #cursor = #DDDDDD 12 | 13 | # 16 color space 14 | 15 | #dark blue 16 | color0 = #1C2023 17 | #pink petals 18 | color1 = #FF6896 19 | #aquamarine 20 | color2 = #8FD3C3 21 | #light pink 22 | color3 = #FFA9D4 23 | #royal blue 24 | color4 = #69A5E5 25 | #lavender 26 | color5 = #CA8FEB 27 | #ice blue 28 | color6 = #BFDFFF 29 | #grey ice blue 30 | #color7 = #C7CCD1 31 | color7 = #FFFFFF 32 | #blue grey 33 | color8 = #747C84 34 | #pink petals 35 | color9 = #FF6896 36 | #aquamarine 37 | color10 = #8FD3C3 38 | #light pink 39 | color11 = #FFA9D4 40 | #royal blue 41 | color12 = #69A5E5 42 | #lavender 43 | color13 = #CA8FEB 44 | #ice blue 45 | color14 = #BFDFFF 46 | #white 47 | color15 = #FFFFFF 48 | 49 | # 256 color space 50 | color16 = #C7C795 51 | color17 = #C7C795 52 | color18 = #393F45 53 | color19 = #565E65 54 | color20 = #ADB3BA 55 | color21 = #DFE2E5 56 | color22 = #252C34 57 | 58 | -------------------------------------------------------------------------------- /termite/winterconfig: -------------------------------------------------------------------------------- 1 | [options] 2 | font = Droid Sans Mono Dotted for Powerline 11 3 | 4 | [colors] 5 | # Base16 Ashes 6 | # Scheme: Jannik Siebert (https://github.com/janniks) 7 | 8 | background = rgba(39, 44, 51, 0.97) 9 | foreground = #DDDDDD 10 | foreground_bold = #DDDDDD 11 | #cursor = #DDDDDD 12 | 13 | # 16 color space 14 | 15 | #dark blue 16 | color0 = #1C2023 17 | #red 18 | # color1 = #a3898c 19 | color1 = #f6887a 20 | #aquamarine 21 | color2 = #84cdc9 22 | #light brown 23 | color3 = #b0aca9 24 | #green 25 | color4 = #729597 26 | #brown 27 | color5 = #908a8a 28 | #ice blue 29 | color6 = #aac3c8 30 | #grey ice blue 31 | #color7 = #C7CCD1 32 | color7 = #FFFFFF 33 | #blue grey 34 | color8 = #747C84 35 | #red 36 | color9 = #f6887a 37 | #aquamarine 38 | color10 = #84cdc9 39 | #light brown 40 | color11 = #b0aca9 41 | #green 42 | color12 = #729597 43 | #brown 44 | color13 = #908a8a 45 | #ice blue 46 | color14 = #aac3c8 47 | #white 48 | color15 = #FFFFFF 49 | 50 | # 256 color space 51 | color16 = #C7C795 52 | color17 = #C7C795 53 | color18 = #393F45 54 | color19 = #565E65 55 | color20 = #ADB3BA 56 | color21 = #DFE2E5 57 | color22 = #252C34 58 | 59 | -------------------------------------------------------------------------------- /tmux.conf: -------------------------------------------------------------------------------- 1 | #source /usr/lib/python3.6/site-packages/powerline/bindings/tmux/powerline.conf 2 | #set -g status off 3 | set-option -g default-terminal "screen-256color" 4 | set -g mouse on 5 | # Set prefix to Ctrl-Space 6 | unbind C-b 7 | set -g prefix C-Space 8 | bind Space send-prefix 9 | 10 | 11 | is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ 12 | | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" 13 | bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" 14 | bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" 15 | bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" 16 | bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" 17 | bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" 18 | bind-key -T copy-mode-vi C-h select-pane -L 19 | bind-key -T copy-mode-vi C-j select-pane -D 20 | bind-key -T copy-mode-vi C-k select-pane -U 21 | bind-key -T copy-mode-vi C-l select-pane -R 22 | bind-key -T copy-mode-vi C-\ select-pane -l 23 | -------------------------------------------------------------------------------- /vim/.VimballRecord: -------------------------------------------------------------------------------- 1 | clang_complete.vmb: call delete('/home/patrik/.vim/bin/cc_args.py')|call delete('/home/patrik/.vim/doc/clang_complete.txt')|call delete('/home/patrik/.vim/plugin/clang/__init__.py')|call delete('/home/patrik/.vim/plugin/clang/cindex.py')|call delete('/home/patrik/.vim/plugin/clang/enumerations.py')|call delete('/home/patrik/.vim/plugin/clang_complete.vim')|call delete('/home/patrik/.vim/plugin/libclang.py')|call delete('/home/patrik/.vim/plugin/snippets/__init__.py')|call delete('/home/patrik/.vim/plugin/snippets/clang_complete.py')|call delete('/home/patrik/.vim/plugin/snippets/dummy.py')|call delete('/home/patrik/.vim/plugin/snippets/ultisnips.py') 2 | -------------------------------------------------------------------------------- /vim/.netrwhist: -------------------------------------------------------------------------------- 1 | let g:netrw_dirhistmax =10 2 | let g:netrw_dirhist_cnt =9 3 | let g:netrw_dirhist_1='/home/patrik' 4 | let g:netrw_dirhist_2='/home/patrik/.AndroidStudio2.2' 5 | let g:netrw_dirhist_3='/home/patrik' 6 | let g:netrw_dirhist_4='/home/patrik/.dotfiles/vim/bundle/vimwiki/doc' 7 | let g:netrw_dirhist_5='/home/patrik' 8 | let g:netrw_dirhist_6='/home/patrik/Documents' 9 | let g:netrw_dirhist_7='/home/patrik' 10 | let g:netrw_dirhist_8='/home/patrik/Documents' 11 | let g:netrw_dirhist_9='/home/patrik/.wikivim' 12 | -------------------------------------------------------------------------------- /vim/autoload/pathogen.vim: -------------------------------------------------------------------------------- 1 | " pathogen.vim - path option manipulation 2 | " Maintainer: Tim Pope 3 | " Version: 2.4 4 | 5 | " Install in ~/.vim/autoload (or ~\vimfiles\autoload). 6 | " 7 | " For management of individually installed plugins in ~/.vim/bundle (or 8 | " ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your 9 | " .vimrc is the only other setup necessary. 10 | " 11 | " The API is documented inline below. 12 | 13 | if exists("g:loaded_pathogen") || &cp 14 | finish 15 | endif 16 | let g:loaded_pathogen = 1 17 | 18 | " Point of entry for basic default usage. Give a relative path to invoke 19 | " pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke 20 | " pathogen#surround(). Curly braces are expanded with pathogen#expand(): 21 | " "bundle/{}" finds all subdirectories inside "bundle" inside all directories 22 | " in the runtime path. 23 | function! pathogen#infect(...) abort 24 | for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}'] 25 | if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]' 26 | call pathogen#surround(path) 27 | elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)' 28 | call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') 29 | call pathogen#surround(path . '/{}') 30 | elseif path =~# '[{}*]' 31 | call pathogen#interpose(path) 32 | else 33 | call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') 34 | call pathogen#interpose(path . '/{}') 35 | endif 36 | endfor 37 | call pathogen#cycle_filetype() 38 | if pathogen#is_disabled($MYVIMRC) 39 | return 'finish' 40 | endif 41 | return '' 42 | endfunction 43 | 44 | " Split a path into a list. 45 | function! pathogen#split(path) abort 46 | if type(a:path) == type([]) | return a:path | endif 47 | if empty(a:path) | return [] | endif 48 | let split = split(a:path,'\\\@]','\\&','') 244 | endif 245 | endfunction 246 | 247 | " Like findfile(), but hardcoded to use the runtimepath. 248 | function! pathogen#runtime_findfile(file,count) abort 249 | let rtp = pathogen#join(1,pathogen#split(&rtp)) 250 | let file = findfile(a:file,rtp,a:count) 251 | if file ==# '' 252 | return '' 253 | else 254 | return fnamemodify(file,':p') 255 | endif 256 | endfunction 257 | 258 | " Section: Deprecated 259 | 260 | function! s:warn(msg) abort 261 | echohl WarningMsg 262 | echomsg a:msg 263 | echohl NONE 264 | endfunction 265 | 266 | " Prepend all subdirectories of path to the rtp, and append all 'after' 267 | " directories in those subdirectories. Deprecated. 268 | function! pathogen#runtime_prepend_subdirectories(path) abort 269 | call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')') 270 | return pathogen#surround(a:path . pathogen#slash() . '{}') 271 | endfunction 272 | 273 | function! pathogen#incubate(...) abort 274 | let name = a:0 ? a:1 : 'bundle/{}' 275 | call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')') 276 | return pathogen#interpose(name) 277 | endfunction 278 | 279 | " Deprecated alias for pathogen#interpose(). 280 | function! pathogen#runtime_append_all_bundles(...) abort 281 | if a:0 282 | call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')') 283 | else 284 | call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()') 285 | endif 286 | return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}') 287 | endfunction 288 | 289 | if exists(':Vedit') 290 | finish 291 | endif 292 | 293 | let s:vopen_warning = 0 294 | 295 | function! s:find(count,cmd,file,lcd) 296 | let rtp = pathogen#join(1,pathogen#split(&runtimepath)) 297 | let file = pathogen#runtime_findfile(a:file,a:count) 298 | if file ==# '' 299 | return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'" 300 | endif 301 | if !s:vopen_warning 302 | let s:vopen_warning = 1 303 | let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE' 304 | else 305 | let warning = '' 306 | endif 307 | if a:lcd 308 | let path = file[0:-strlen(a:file)-2] 309 | execute 'lcd `=path`' 310 | return a:cmd.' '.pathogen#fnameescape(a:file) . warning 311 | else 312 | return a:cmd.' '.pathogen#fnameescape(file) . warning 313 | endif 314 | endfunction 315 | 316 | function! s:Findcomplete(A,L,P) 317 | let sep = pathogen#slash() 318 | let cheats = { 319 | \'a': 'autoload', 320 | \'d': 'doc', 321 | \'f': 'ftplugin', 322 | \'i': 'indent', 323 | \'p': 'plugin', 324 | \'s': 'syntax'} 325 | if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0]) 326 | let request = cheats[a:A[0]].a:A[1:-1] 327 | else 328 | let request = a:A 329 | endif 330 | let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*' 331 | let found = {} 332 | for path in pathogen#split(&runtimepath) 333 | let path = expand(path, ':p') 334 | let matches = split(glob(path.sep.pattern),"\n") 335 | call map(matches,'isdirectory(v:val) ? v:val.sep : v:val') 336 | call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]') 337 | for match in matches 338 | let found[match] = 1 339 | endfor 340 | endfor 341 | return sort(keys(found)) 342 | endfunction 343 | 344 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(,'edit',,0) 345 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',,0) 346 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,1) 347 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',,1) 348 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',,1) 349 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',,1) 350 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',,1) 351 | command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',,1) 352 | 353 | " vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': 354 | -------------------------------------------------------------------------------- /vim/bundle/vim-clang/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, Mao Jianjun 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /vim/bundle/vim-clang/README.md: -------------------------------------------------------------------------------- 1 | vim-clang 2 | --------------- 3 | 4 | [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/justmao945/vim-clang?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 5 | 6 | 7 | Use of clang to parse and complete C/C++ source files. 8 | 9 | 10 | ![C source](http://justmao945.github.io/static/vim-clang/2014-01-12-async.gif) 11 | 12 | 13 | Installation 14 | ------------- 15 | * Require executable `clang` installed. 16 | * Put the file `plugin/clang.vim` into `~/.vim/plugin` is OK. 17 | * [pathogen.vim][4] `cd ~/.vim/bundle; git clone https://github.com/justmao945/vim-clang.git` is recommended. 18 | 19 | 20 | Why 21 | --------------- 22 | I was a user of clang\_compelete and it's really a good job, but someday I found that 23 | I must write another plugin to overcome some _drawbacks_ of it... 24 | 25 | vim-clang VS [Rip-Rip/clang_complete][1] 26 | --------------- 27 | 28 | 1. User options can be set for different file types in vim-clang. 29 | 30 | let g:clang_c_options = '-std=gnu11' 31 | let g:clang_cpp_options = '-std=c++11 -stdlib=libc++' 32 | 33 | 2. vim-clang is faster than clang_complete(not use libclang). 34 | vim-clang does not support libclang now, and I don't think it's a good idea to use cindex.py(python binding for clang) directly. 35 | If you use clang_complete with libclang and open many C/C++ source files, you'll find that VIM eats up **hundreds** of MB RAM... 36 | * vim-clang caches output of clang and reuses if the completion point is not changed and without errors. 37 | * vim-clang only runs clang once to get completions and diagnostics. 38 | 39 | 3. vim-clang is more friendly than clang_complete. 40 | * vim-clang uses the preview window to show prototypes for C/C++ sources. 41 | Generally, C++ source has many overload functions and most of completions are very complex, 42 | which is not good to put this into OmniComplete popup menu. 43 | * vim-clang uses a split window to show the caret diagnostics from clang. 44 | clang_complete uses quickfix window to show diagnostics without caret, but that's not the best choice... 45 | Because the caret diagnostics of clang including many useful infomation. 46 | 47 | 4. vim-clang supports relative include path in .clang configuration file. 48 | 49 | proj/ 50 | |-- .clang 51 | |-- include/ 52 | |-- main.h 53 | |-- src/ 54 | |-- main.c 55 | |-- test/ 56 | |-- main_test.c 57 | 58 | $ cat .clang 59 | -I. 60 | 61 | 5. Better PCH support. vim-clang will find stdafx.h.pch automatically. 62 | 63 | vim-clang VS [Valloric/YouCompleteMe][5] 64 | -------------------- 65 | [YouCompleteMe][5] is more powerful than vim-clang, that has a well designed client-server 66 | architecture to deal the memory problem in clang_complete. 67 | 68 | 69 | Asynchronized mode [new] 70 | -------------------- 71 | * Now vim-clang supports to call clang executable asynchronously that it won't block 72 | vim during the completion. This is very useful if your project is large and the machine 73 | is not very powerful to parse them in tens of milliseconds. In synchronized mode you'll 74 | find that's too 'slow' to wait the completion... 75 | 76 | * This mode is implemented by starting another vim process to notify the finish of the 77 | completion, so `+clientserver` option is required to compile the vim(generally added). 78 | 79 | * GVIM is required to use this mode, seems given `--servername ???` to `vim` is not working. 80 | 81 | * Job control is used to run clang when in neovim, which is really very nice! Thank you 82 | [syswow][6]. 83 | 84 | Compile commands [new] 85 | -------------------- 86 | * Use `cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1` to generate `compile_commands.json` 87 | 88 | * To use the compile commands database in vim-clang, set the `g:clang_compilation_database` 89 | variable in your vimrc to your cmake build path. 90 | 91 | let g:clang_compilation_database = './build' 92 | 93 | Neomake integration [new] 94 | ------------------------- 95 | * vim-clang now adds the compilation arguments parsed from .clang and .clang.ow 96 | to Neomake configuration variables. This means that the include search paths 97 | (`-I`) that are in the .clang files will be passed down to the clang and gcc 98 | makers from Neomake whithout overriding your configuration. 99 | * vim-clang will also set the directory from where the maker will run, which is 100 | the directory where the first .clang or .clang.ow is. 101 | 102 | The variables that are affected are: 103 | * `g:neomake_cpp_clang_maker` 104 | * `g:neomake_cpp_gcc_maker` 105 | * `g:neomake_c_clang_maker` 106 | * `g:neomake_c_gcc_maker` 107 | 108 | Options and Commands 109 | -------------------- 110 | `:h clang.txt` 111 | 112 | OS requirement 113 | -------------------- 114 | Tested on 115 | * Ubuntu 14.04 116 | * Mac OS X 10.10 117 | * Windows 7 118 | 119 | [1]: https://github.com/Rip-Rip/clang_complete 120 | [2]: http://www.ishani.org 121 | [3]: http://www.ishani.org/web/articles/code/clang-win32/ 122 | [4]: https://github.com/tpope/vim-pathogen 123 | [5]: https://github.com/Valloric/YouCompleteMe 124 | [6]: https://github.com/syswow 125 | [7]: https://github.com/Shougo/neocomplete 126 | -------------------------------------------------------------------------------- /vim/bundle/vim-clang/doc/clang.txt: -------------------------------------------------------------------------------- 1 | *clang.txt* Code completion for C/C++ 2 | 3 | CONTENTS *clang-contents* 4 | Introduction |clang-introduction| 5 | Config |clang-config| 6 | Variables |clang-variables| 7 | Commands |clang-commands| 8 | FAQ |clang-faq| 9 | Changelog |clang-changelog| 10 | Credits |clang-credits| 11 | ============================================================================== 12 | INTRODUCTION *clang-introduction* 13 | This is a plugin to complete C/C++ source code using Clang. 14 | 15 | - Requirements 16 | - Executable 17 | Clang - http://clang.llvm.org 18 | 19 | ============================================================================== 20 | CONFIG *clang-config* 21 | 22 | Vim-clang uses a file named ".clang" (same as .clang_complete for clang_complete) 23 | in the project root to save Clang options. Relative path is recommended when 24 | configure the include directory, so we can move the project to anywhere... 25 | Here is a tree to show the location of file '.clang' 26 | . 27 | ├── build/ 28 | ├── .clang 29 | ├── CMakeLists.txt 30 | ├── COPYING 31 | ├── .git/ 32 | ├── .gitignore 33 | ├── raw-test/ 34 | ├── README.md 35 | ├── src/ 36 | ├── test/ 37 | └── yacl/ 38 | 39 | The file ".clang" only contains: "-I." to include files in directory "./". 40 | So that the source file should use #include "yacl/xxx.h" to include files. 41 | 42 | Now a new similar file named ".clang.ow" is added to deal with the special 43 | case that one want to overwrite all clang options, which means the one don't 44 | need automatically generated options for clang by the plugin. 45 | See |g:clang_dotfile_overwrite| for more details. 46 | 47 | Please note that all options in ".clang" and ".clang.ow" must be safe 48 | to be used by the 'shell', that means special chars should always be 49 | escaped correctly. See |shellescape()| for more details. 50 | 51 | ============================================================================== 52 | VARIABLES *clang-variables* 53 | g:clang_auto *g:clang_auto* 54 | If equals to 1, automatically complete after ->, ., :: 55 | Default: > 56 | let g:clang_auto = 1 57 | < 58 | g:clang_c_options *g:clang_c_options* 59 | Options added at the end of clang command for C sources. 60 | Note: Please make sure options are safe to be used by 'shell', 61 | which means you should escape special chars. 62 | See |shellescape()| for more details. 63 | Default: > 64 | let g:clang_c_options = '' 65 | < 66 | g:clang_c_completeopt g:clang_c_completeopt* 67 | Local |completeopt| version for C sources. 68 | Default: > 69 | " No preview window for C 70 | let g:clang_c_completeopt = 'longest,menuone' 71 | < 72 | g:clang_cpp_options *g:clang_cpp_options* 73 | Options added at the end of clang command for C++ sources. 74 | Note: Please make sure options are safe to be used by |shell|, 75 | which means you should escape special chars. 76 | See |shellescape()| for more details. 77 | Default: > 78 | let g:clang_cpp_options = '' 79 | < 80 | To support c++0x features and use libcxx: > 81 | let g:clang_cpp_options = '-std=c++ -stdlib=libc++' 82 | < 83 | g:clang_cpp_completeopt *g:clang_cpp_completeopt* 84 | Local |completeopt| version for C++ sources. 85 | Default: > 86 | " Have preview window for C++ as its complex prototypes 87 | let g:clang_cpp_completeopt = 'longest,menuone,preview' 88 | < 89 | g:clang_diagsopt *g:clang_diagsopt* 90 | This option is a string combined with split mode, colon, 91 | and max height of the split window. Colon and max height are 92 | optional. 93 | e.g. > 94 | let g:clang_diagsopt = 'rightbelow:6' 95 | let g:clang_diagsopt = 'rightbelow' 96 | let g:clang_diagsopt = '' " <- disable diagnostics 97 | < 98 | If it equals '', disable clang diagnostics after completion, 99 | otherwise diagnostics will be put in a split window/viewport. 100 | Split policy indicators and their corresponding modes are: > 101 | " disable diagnostics window 102 | let g:clang_diagsopt = '' 103 | 104 | " split SCREEN horizontally, with new split on the top 105 | let g:clang_diagsopt = 'topleft' 106 | 107 | " split SCREEN horizontally, with new split on the bottom 108 | let g:clang_diagsopt = 'botright' 109 | 110 | " split VIEWPORT horizontally, with new split on the bottom 111 | let g:clang_diagsopt = 'rightbelow' 112 | 113 | " split VIEWPORT horizontally, with new split on the top 114 | let g:clang_diagsopt = 'leftabove' 115 | < 116 | Default: > 117 | let g:clang_diagsopt = 'rightbelow:6' 118 | < 119 | g:clang_dotfile *g:clang_dotfile* 120 | Each project can have a dot file at his root, containing 121 | the compiler options. This is useful if you're using some 122 | non-standard include paths. 123 | Note: Relative include and library path is recommended. 124 | Default: > 125 | let g:clang_dotfile = '.clang' 126 | < 127 | g:clang_dotfile_overwrite *g:clang_dotfile_overwrite* 128 | Same as |g:clang_dotfile| but has higher priority than it. 129 | Options in |g:clang_dotfile| will be appended to discovered 130 | options that from |g:clang_c_options|, |g:clang_cpp_options| 131 | and |g:clang_include_sysheaders|. But if |g:clang_dotfile_overwrite| 132 | file is exist, plugin will not do the discovery anymore, only add 133 | the minimum of options and append |g:clang_dotfile_overwrite| 134 | to them before calling clang. 135 | Note: This is very useful if you are doing some cross-platform 136 | projects, they may have different include directories and options. 137 | Default: > 138 | let g:clang_dotfile_overwrite = '.clang.ow' 139 | < 140 | g:clang_exec *g:clang_exec* 141 | Name or path of executable clang. Use this if clang has a 142 | non-standard name, or isn't in the path. 143 | Default: > 144 | let g:clang_exec = 'clang' 145 | 146 | g:clang_gcc_exec *g:clang_gcc_exec* 147 | Name or path of executable gcc. Use this if gcc has a 148 | non-standard name, or isn't in the path. It's used to search the 149 | system default include directories of gcc. 150 | Default: > 151 | let g:clang_gcc_exec = 'gcc' 152 | < 153 | g:clang_format_auto *g:clang_format_auto* 154 | If equals to 1, automatically format current file when save file. 155 | Default: > 156 | let g:clang_format_auto = 0 157 | < 158 | g:clang_format_exec *g:clang_format_exec* 159 | Name or path of executable clang-format. Use this if clang-format 160 | has a non-standard name, or isn't in the path. 161 | Default: > 162 | let g:clang_format_exec = 'clang-format' 163 | < 164 | g:clang_format_style *g:clang_format_style* 165 | Style can be LLVM, Google, Chromium, Mozilla, WebKit 166 | Default: > 167 | let g:clang_format_style = 'LLVM' 168 | 169 | g:clang_check_syntax_auto *g:clang_check_syntax_auto* 170 | If equals to 1, automatically check the syntax of the current file 171 | when saving the file. 172 | Default: > 173 | let g:clang_check_syntax_auto = 0 174 | 175 | g:clang_include_sysheaders *g:clang_include_sysheaders* 176 | Discover default system C/C++ headers automatically. 177 | Set 0 to disable it. 178 | Default: > 179 | let g:clang_include_sysheaders = 1 180 | < 181 | g:clang_include_sysheaders_from_gcc *g:clang_include_sysheaders_from_gcc* 182 | Discover default system C/C++ headers automatically for g:clang_gcc_exec 183 | instead of g:clang_exec. 184 | Set 1 to enable it. 185 | Default: > 186 | let g:clang_include_sysheaders_from_gcc = 0 187 | < 188 | g:clang_load_if_clang_dotfile g:clang_load_if_clang_dotfile 189 | If equals to 1, this plugin will be loaded only if g:clang_dotfile or 190 | g:clang_dotfile_overwrite file is found in the at his root. 191 | Default: > 192 | let g:clang_load_if_clang_dotfile = 0 193 | < 194 | g:clang_pwheight *g:clang_pwheight* 195 | Maximum height of completion preview window if has it. 196 | A local version of |previewheight| that only affect current view. 197 | Default: > 198 | let g:clang_pwheight = 4 199 | < 200 | g:clang_sh_exec *g:clang_sh_exec* 201 | Set |shell| before execute command. 202 | Default: > 203 | " on windows 204 | let g:clang_sh_exec = 'C:\Windows\system32\cmd.exe' 205 | " otherwise 206 | let g:clang_sh_exec = 'bash' 207 | < 208 | g:clang_statusline *g:clang_statusline* 209 | Status line showed in preview window and diagnostics window. 210 | The first %s is the place to hold messages generated by clang. 211 | Default: > 212 | " Something like '1 error generated. | 1/5 | 20%' 213 | let g:clang_statusline = '%s\ \|\ %%l/\%%L\ \|\ %%p%%%%' 214 | < 215 | g:clang_stdafx_h *g:clang_stdafx_h* 216 | Clang default header file name to generate PCH. Clang will find 217 | the stdafx header to speed up completion. 218 | Note: Only find this file in clang root and its sub directory 219 | "include". If it is not in mentioned dirs, it must be defined 220 | in the dotclang file "-include-pch /path/to/stdafx.h.pch". 221 | Additionally, only find PCH file stdafx for C++, but not for C. 222 | Default: > 223 | let g:clang_stdafx_h = 'stdafx.h' 224 | < 225 | g:clang_use_path *g:clang_use_path* 226 | Add |path| to include paths for clang completion. 227 | Default: > 228 | let g:clang_use_path = 1 229 | < 230 | g:clang_verbose_pmenu *g:clang_verbose_pmenu* 231 | Control the verbose level of popup menu, which is similar to Youcompleteme. 232 | For example, the popup menu would show 'push_back(const_reference __x) f [O] void' 233 | instead of 'push_back' if is set to 1. 234 | Default: > 235 | let g:clang_verbose_pmenu = 0 236 | < 237 | g:clang_vim_exec *g:clang_vim_exec* 238 | Name or path of executable vim. 239 | Note: This option is used in async mode to startup a new vim 240 | process. Please add vim to your system PATH or overwrite this var. 241 | Attention that default the command 'vim' will not act as a server, 242 | instead you must add '--servername XX' to start a unique server. 243 | Default: > 244 | " Linux 245 | let g:clang_vim_exec = 'vim' 246 | 247 | " Mac OSX 248 | let g:clang_vim_exec = 'mvim' 249 | < 250 | g:clang_compilation_database *g:clang_compilation_database* 251 | Path to be used for the compile commands database. 252 | Default: > 253 | let g:clang_compilation_database = '' 254 | < 255 | g:clang_enable_format_command *g:clang_enable_format_command* 256 | If equals to 1, enable ClangFormat command. 257 | Default: > 258 | let g:clang_enable_format_command = 1 259 | < 260 | ============================================================================== 261 | COMMANDS *clang-commands* 262 | 263 | ClangCloseWindow *ClangCloseWindow* 264 | Close preview and diagnostics window for current buffer. 265 | Or uses a leader map to do this this: > 266 | map c :ClangClosePreviewDiagWindow 267 | < 268 | ClangCompleteInit *ClangCompleteInit* 269 | Re-initialize the plugin, very useful to reload the plugin after 270 | chaging configuration or |g:clang_dotfile|. Use ':e' to reload file 271 | is OK, too. 272 | 273 | ClangFormat *ClangFormat* 274 | Format current file '%', need execute ':e' to reload file ? 275 | 276 | ClangGenPCHFromFile *ClangGenPCHFromFile* 277 | Generate PCH file from the give file name , which can 278 | be '%' (aka current file name). 279 | 280 | ClangSyntaxCheck *ClangSyntaxCheck* 281 | Run syntax check mannually. Syntax checker will be called when save 282 | file if |g:clang_check_syntax_auto| is set to 1, and diagnostics 283 | window will be opened if has error. 284 | 285 | ============================================================================== 286 | FAQ *clang-faq* 287 | 288 | Q: How to open diagnostics window ? 289 | A: Diagnostics window will be opened automatically when some errors occured 290 | in your source code, and dismissed when they are fixed or change buffers. 291 | 292 | Q: How to complete head files ? 293 | A: Please use with neocomplete, they can work well together. 294 | 295 | " disable auto completion for vim-clang 296 | let g:clang_auto = 0 297 | " default 'longest' can not work with neocomplete 298 | let g:clang_c_completeopt = 'menuone,preview' 299 | let g:clang_cpp_completeopt = 'menuone,preview' 300 | 301 | " use neocomplete 302 | " input patterns 303 | if !exists('g:neocomplete#force_omni_input_patterns') 304 | let g:neocomplete#force_omni_input_patterns = {} 305 | endif 306 | 307 | " for c and c++ 308 | let g:neocomplete#force_omni_input_patterns.c = 309 | \ '[^.[:digit:] *\t]\%(\.\|->\)\w*' 310 | let g:neocomplete#force_omni_input_patterns.cpp = 311 | \ '[^.[:digit:] *\t]\%(\.\|->\)\w*\|\h\w*::\w*' 312 | 313 | 314 | ============================================================================== 315 | CHANGELOG *clang-changelog* 316 | 0.4.1 317 | * support Windows 318 | * bug fix 319 | 320 | 0.4.0 321 | * improve job control for neovim [syswow] 322 | * support auto-close diagnostics window when leave 323 | * support syntax check when save source file 324 | * support neocomplete for header files completion 325 | * support clang-format 326 | 327 | 0.3.0 328 | * support job control for neovim [syswow] 329 | * no need to write source file to disk before completion [mlen] 330 | * fix init plugin when create new file 331 | * bug fix 332 | 333 | 0.2.8 334 | * bug fix on var set and restore 335 | * refactor DiagnosticsWindowClose 336 | 337 | 0.2.7 338 | * fix restore global var when call ClangComplete 339 | 340 | 0.2.6 341 | * import include path from &path [thawk] 342 | * do not initialize plugin for non readable files [jreybert] 343 | * fix "can't remove clang warning #16" issue [jreybert] 344 | * add an option to load vim-clang only if .clang file is found [jreybert] 345 | 346 | 0.2.5 347 | * update doc 348 | 349 | 0.2.4 350 | * ? 351 | 352 | 0.23 353 | * Add g:clang_c_completeopt and g:clang_cpp_completeopt 354 | * Add g:clang_include_sysheaders 355 | * Add g:clang_dotfile_overwrite 356 | * Add ClangCompleteInit 357 | * Fix bugs 358 | 359 | 0.22 360 | * Change g:clang_diagsopt 361 | * Show diagnostics window before popup completion window 362 | * Add debug mode g:clang_debug 363 | * Fix bugs 364 | 365 | 0.21 366 | * Add async mode to execute clang 367 | * Add g:clang_pwheight, g:clang_statusline, g:clang_vim_exec 368 | * Add command "ClangClosePreviewDiagWindow" 369 | * Fix bugs 370 | 371 | 0.1 372 | * Initial version 373 | 374 | ============================================================================== 375 | CREDITS *clang-credits* 376 | 377 | Thanks to following people for suggestions and patches: 378 | * adelarsq 379 | * jreybert 380 | * mattn 381 | * mlen 382 | * RageCooky 383 | * syswow 384 | * wookayin 385 | * yuquan23459 386 | 387 | ============================================================================== 388 | vim:tw=78:ts=8:ft=help:norl 389 | -------------------------------------------------------------------------------- /vim/bundle/vim-clang/stdafx.h: -------------------------------------------------------------------------------- 1 | // 2 | // This header file is used to generate PCH. 3 | // Execute 4 | // :ClangGenPCHFromFile % 5 | // to generate PCH file stdafx.h.pch 6 | // 7 | #ifndef STDAFX_H 8 | #define STDAFX_H 9 | #ifdef __cplusplus 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #if __cplusplus >= 201103L // C++11 19 | #include 20 | #include 21 | #include 22 | #endif 23 | #endif 24 | #endif // STDAFX_H 25 | -------------------------------------------------------------------------------- /vim/vimrc: -------------------------------------------------------------------------------- 1 | set nocompatible 2 | " filetype off 3 | " filetype plugin on 4 | filetype plugin indent on 5 | syntax on 6 | 7 | " Powerline 8 | set rtp+=/usr/lib/python3.5/site-packages/powerline/bindings/vim/ 9 | 10 | "" Lazy 11 | " set lazyredraw 12 | " 13 | "" Pathogen 14 | execute pathogen#infect() 15 | " 16 | "" Always show statusline 17 | "" set laststatus=2 18 | set laststatus=2 19 | " 20 | let s:hidden_all = 0 21 | function! ToggleHiddenAll() 22 | if s:hidden_all == 0 23 | let s:hidden_all = 1 24 | set noshowmode 25 | set noruler 26 | set laststatus=0 27 | set noshowcmd 28 | else 29 | let s:hidden_all = 0 30 | set showmode 31 | set ruler 32 | set laststatus=2 33 | set showcmd 34 | endif 35 | endfunction 36 | 37 | nnoremap h :call ToggleHiddenAll() 38 | 39 | " Use 256 colours 40 | set t_Co=256 41 | 42 | " Autoreload .vimrc 43 | autocmd! bufwritepost .vimrc source % 44 | 45 | " Mapleader 46 | let mapleader ="\" 47 | 48 | " Move lines 49 | let c='a' 50 | while c <= 'z' 51 | exec "set =\e".c 52 | exec "imap \e".c." " 53 | let c = nr2char(1+char2nr(c)) 54 | 0 55 | endw 56 | 57 | set timeout ttimeoutlen=50 58 | 59 | nnoremap :m .+1== 60 | nnoremap :m .-2== 61 | inoremap :m .+1==gi 62 | inoremap :m .-2==gi 63 | vnoremap :m '>+1gv=gv 64 | vnoremap :m '<-2gv=gv 65 | 66 | " Save and/or exit 67 | map w :w 68 | map x :x! 69 | map q :q! 70 | 71 | " Save in sudo 72 | map W :w !sudo tee > /dev/null % 73 | 74 | function! PanSave() 75 | :w 76 | :Pandoc html 77 | :!tmux new -d "tmux send-keys -t browse R" 78 | endfunction 79 | 80 | "Pandoc 81 | nnoremap p :exec PanSave() 82 | 83 | " Copy paste 84 | " set clipboard=unnamedplus 85 | vmap "+y 86 | vmap "+c 87 | vmap c"+p 88 | imap "+pa 89 | 90 | " Delete will delete, leader delete will cut 91 | nnoremap x "_x 92 | nnoremap d "_d 93 | nnoremap D "_D 94 | vnoremap d "_d 95 | 96 | nnoremap d ""d 97 | nnoremap D ""D 98 | vnoremap d ""d 99 | 100 | " Mouse 101 | " set mouse=a 102 | 103 | " Showing line numbers and length 104 | set number 105 | set tw=79 106 | set nowrap 107 | set fo-=t 108 | 109 | "Save marks between sessions 110 | set viminfo='1000,f1 111 | 112 | " C settings 113 | set exrc 114 | set secure 115 | let &path.="src/include,/usr/include/AL," 116 | nnoremap e :silent !clear :!./%< 117 | nnoremap m :make! 118 | 119 | " C++ settings 120 | nnoremap g :make! 121 | nnoremap G :!./%< 122 | 123 | " Autoclose function documentation in autocomplete 124 | autocmd CursorMovedI * if pumvisible() == 0|pclose|endif 125 | autocmd InsertLeave * if pumvisible() == 0|pclose|endif 126 | 127 | " Visible line for line length 128 | set colorcolumn=81 129 | 130 | " Color settings 131 | set background=dark 132 | highlight ColorColumn ctermbg=236 133 | highlight linenr ctermfg=244 134 | highlight CursorLineNr ctermfg=244 135 | highlight NonText ctermfg=16 136 | highlight PreProc ctermfg=3 137 | highlight Special ctermfg=4 138 | highlight Type ctermfg=2 139 | highlight VertSplit ctermfg=238 140 | highlight VertSplit ctermbg=238 141 | highlight StatusLineNC ctermfg=240 142 | highlight Directory ctermfg=6 143 | highlight Title ctermfg=15 144 | highlight Statement ctermfg=1 145 | highlight MoreMsg ctermfg=2 146 | highlight Question ctermfg=2 147 | set relativenumber 148 | 149 | "Nerdtree settings 150 | map n NERDTreeTabsToggle 151 | let g:NERDTreeWinPos = "right" 152 | let g:NERDTreeWinSize = 22 153 | 154 | "Split navigations 155 | nnoremap 156 | nnoremap 157 | nnoremap 158 | nnoremap 159 | 160 | "Make textblocks 161 | set foldmethod=marker 162 | 163 | "General file settings 164 | set tabstop=4 165 | set softtabstop=4 166 | set shiftwidth=4 167 | set expandtab 168 | 169 | "Buffers 170 | nnoremap b :bnext 171 | nnoremap v :bdelete 172 | 173 | "Dont use escape! 174 | :imap jk 175 | 176 | let g:netrw_banner = 0 177 | let g:netrw_liststyle = 0 178 | let g:netrw_browse_split = 4 179 | let g:netrw_altv=1 180 | let g:netrw_winsize = 25 181 | augroup ProjectDrawer 182 | autocmd! 183 | augroup END 184 | 185 | function! NetToggle() 186 | :Vexplore! 187 | " let g:netrw_chgwin = 0 188 | endf 189 | 190 | nnoremap a :call NetToggle() 191 | 192 | " set cursor shapes by mode 193 | let &t_SI = "\[6 q" 194 | let &t_SR = "\[4 q" 195 | let &t_EI = "\[2 q" 196 | 197 | "Python settings 198 | au BufNewFile,BufRead *.py set tabstop=4 199 | au BufNewFile,BufRead *.py set softtabstop=4 200 | au BufNewFile,BufRead *.py set shiftwidth=4 201 | au BufNewFile,BufRead *.py set textwidth=79 202 | au BufNewFile,BufRead *.py set expandtab 203 | au BufNewFile,BufRead *.py set autoindent 204 | au BufNewFile,BufRead *.py set fileformat=unix 205 | 206 | "C settings 207 | au BufNewFile,BufRead *.c set tabstop=8 208 | au BufNewFile,BufRead *.c set softtabstop=8 209 | au BufNewFile,BufRead *.c set shiftwidth=8 210 | au BufNewFile,BufRead *.c set expandtab 211 | au BufNewFile,BufRead *.c nnoremap c :!./%< 212 | au BufNewFile,BufRead *.c nnoremap C :!gcc % -o %< 213 | 214 | "Scala settings 215 | au BufNewFile,BufRead *.py set tabstop=4 216 | au BufNewFile,BufRead *.py set softtabstop=4 217 | au BufNewFile,BufRead *.py set shiftwidth=4 218 | au BufNewFile,BufRead *.py set textwidth=79 219 | au BufNewFile,BufRead *.py set expandtab 220 | au BufNewFile,BufRead *.py set autoindent 221 | 222 | "Rust settings 223 | au BufNewFile,BufRead *.rs set tabstop=4 224 | au BufNewFile,BufRead *.rs set softtabstop=4 225 | au BufNewFile,BufRead *.rs set shiftwidth=4 226 | au BufNewFile,BufRead *.rs set textwidth=79 227 | au BufNewFile,BufRead *.rs set expandtab 228 | au BufNewFile,BufRead *.rs set autoindent 229 | au BufNewFile,BufRead *.rs set hidden 230 | au BufNewFile,BufRead *.rs let g:racer_cmd = "/home/patrik/.cargo/bin/racer" 231 | 232 | "Javascript settings 233 | au BufNewFile,BufRead *.js set tabstop=2 234 | au BufNewFile,BufRead *.js set softtabstop=2 235 | au BufNewFile,BufRead *.js set shiftwidth=2 236 | au BufNewFile,BufRead *.js set textwidth=79 237 | au BufNewFile,BufRead *.js set expandtab 238 | au BufNewFile,BufRead *.js let g:syntastic_always_populate_loc_list = 1 239 | au BufNewFile,BufRead *.js let g:syntastic_auto_loc_list = 1 240 | au BufNewFile,BufRead *.js let g:syntastic_check_on_open = 1 241 | au BufNewFile,BufRead *.js let g:syntastic_check_on_wq = 0 242 | au BufNewFile,BufRead *.js let g:syntastic_javascript_checkers = ['eslint'] 243 | 244 | "Haskell settings 245 | au BufNewFile,BufRead *.hs set tabstop=8 "A tab is 8 spaces 246 | au BufNewFile,BufRead *.hs set expandtab "Always uses spaces instead of tabs 247 | au BufNewFile,BufRead *.hs nnoremap c :! ghci % 248 | 249 | "Markdown settings 250 | au BufNewFile,BufRead *.md set nornu 251 | au BufNewFile,BufRead *.md set nonumber 252 | " au BufNewFile,BufRead *.md highlight FoldColumn ctermbg=236 253 | let g:vimwiki_list = [{'path': '~/.wikivim/', 'syntax': 'markdown', 'ext': '.md'}] 254 | let g:pandoc#modules#disabled = ["spell"] 255 | 256 | nnoremap 257 | nnoremap 258 | nnoremap 259 | nnoremap 260 | noremap 261 | 262 | "Vimwiki mappings 263 | nmap sw VimwikiIndex 264 | nmap st VimwikiTabIndex 265 | nmap ss VimwikiUISelect 266 | nmap si VimwikiDiaryIndex 267 | nmap sw VimwikiMakeDiaryNote 268 | nmap st VimwikiTabMakeDiaryNote 269 | nmap sy VimwikiMakeYesterdayDiaryNote 270 | nmap sh Vimwiki2HTML 271 | nmap shh Vimwiki2HTMLBrowse 272 | nmap si VimwikiDiaryGenerateLinks 273 | nmap sd VimwikiDeleteLink 274 | nmap sr VimwikiRenameLink 275 | 276 | 277 | 278 | " let g:airline_powerline_fonts = 0 279 | " let g:airline_theme='monochrome' 280 | " 281 | " 282 | let g:jedi#usages_command = "k" 283 | -------------------------------------------------------------------------------- /xlock/blacknew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatDan/dotfiles/195650d82ebf0d4fcb1fe31a96cad773cab8ec59/xlock/blacknew.png -------------------------------------------------------------------------------- /xlock/blurlock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | TMPBG=/tmp/screen.png 3 | AVGPX=/tmp/average.txt 4 | 5 | scrot $TMPBG 6 | 7 | # convert $TMPBG -scale 10% -scale 1000% $TMPBG 8 | ffmpeg -loglevel quiet -y -i $TMPBG -vf "gblur=sigma=8" $TMPBG 9 | 10 | convert $TMPBG -resize 1x1 $AVGPX 11 | lineout=$(awk '/#/{i++}i==2' $AVGPX) 12 | index=`expr index "$lineout" "#"` 13 | rgb=${lineout:$index:6} 14 | red=$((16#${rgb:0:2})) 15 | green=$((16#${rgb:2:2})) 16 | blue=$((16#${rgb:4:2})) 17 | brightness=$(python -c "print(round(float('$red')*0.3+float('$green')*0.59+float('$blue')*0.11))") 18 | if [ $brightness -gt 100 ] 19 | then 20 | ICON=$HOME/.xlock/iconblack.png 21 | color=11111188 22 | else 23 | ICON=$HOME/.xlock/iconwhite.png 24 | color=EEEEEE44 25 | vercolor=FFFFFF99 26 | fi 27 | 28 | convert $TMPBG $ICON -gravity center -composite -matte $TMPBG 29 | #i3lock --insidevercolor=ff000000 --insidewrongcolor=ff000000 --insidecolor=ff000000 --ringvercolor=ff000000 --ringwrongcolor=ff000000 --ringcolor=$color --linecolor=$color --textcolor=ff000000 --keyhlcolor=$vercolor --bshlcolor=ffff00ff -i $TMPBG 30 | i3lock -u -i $TMPBG 31 | #-matte before composite 32 | -------------------------------------------------------------------------------- /xlock/iconblack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatDan/dotfiles/195650d82ebf0d4fcb1fe31a96cad773cab8ec59/xlock/iconblack.png -------------------------------------------------------------------------------- /xlock/iconwhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatDan/dotfiles/195650d82ebf0d4fcb1fe31a96cad773cab8ec59/xlock/iconwhite.png -------------------------------------------------------------------------------- /xlock/keyblack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatDan/dotfiles/195650d82ebf0d4fcb1fe31a96cad773cab8ec59/xlock/keyblack.png -------------------------------------------------------------------------------- /xlock/keywhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatDan/dotfiles/195650d82ebf0d4fcb1fe31a96cad773cab8ec59/xlock/keywhite.png -------------------------------------------------------------------------------- /xlock/lock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | TMPBG=/tmp/screen.png 3 | AVGPX=/tmp/average.txt 4 | 5 | scrot /tmp/screen.png 6 | 7 | convert $TMPBG -scale 10% -scale 1000% $TMPBG 8 | 9 | convert $TMPBG -resize 1x1 $AVGPX 10 | lineout=$(awk '/#/{i++}i==2' $AVGPX) 11 | index=`expr index "$lineout" "#"` 12 | rgb=${lineout:$index:6} 13 | red=$((16#${rgb:0:2})) 14 | green=$((16#${rgb:2:2})) 15 | blue=$((16#${rgb:4:2})) 16 | brightness=$(python -c "print(round(float('$red')*0.3+float('$green')*0.59+float('$blue')*0.11))") 17 | if [ $brightness -gt 100 ] 18 | then 19 | ICON=$HOME/.xlock/keyblack.png 20 | ringcol=000000B2 21 | vercolor=FFFFFFB2 22 | else 23 | ICON=$HOME/.xlock/keywhite.png 24 | ringcol=FFFFFFB2 25 | vercolor=000000B2 26 | fi 27 | 28 | wrongcolor=888888B2 29 | rightcolor=888888B2 30 | hide=00000000 31 | backslash=888888FF 32 | # backslash=FFFF88B2 33 | 34 | convert $TMPBG $ICON -gravity center -composite -matte $TMPBG 35 | 36 | 37 | i3lock --insidevercolor=$hide --insidewrongcolor=$hide --insidecolor=$hide \ 38 | --ringvercolor=$rightcolor --ringwrongcolor=$wrongcolor --ringcolor=$ringcol \ 39 | --linecolor=$hide --textcolor=$hide --keyhlcolor=$vercolor \ 40 | --bshlcolor=$backslash -i $TMPBG 41 | 42 | #i3lock -u -i $TMPBG 43 | -------------------------------------------------------------------------------- /xlock/mylock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | TMPBG=/tmp/screen.png 3 | AVGPX=/tmp/average.txt 4 | 5 | scrot /tmp/screen.png 6 | 7 | convert $TMPBG -scale 10% -scale 1000% $TMPBG 8 | 9 | convert $TMPBG -resize 1x1 $AVGPX 10 | lineout=$(awk '/#/{i++}i==2' $AVGPX) 11 | index=`expr index "$lineout" "#"` 12 | rgb=${lineout:$index:6} 13 | red=$((16#${rgb:0:2})) 14 | green=$((16#${rgb:2:2})) 15 | blue=$((16#${rgb:4:2})) 16 | brightness=$(python -c "print(round(float('$red')*0.3+float('$green')*0.59+float('$blue')*0.11))") 17 | if [ $brightness -gt 100 ] 18 | then 19 | ICON=$HOME/.xlock/iconblack.png 20 | else 21 | ICON=$HOME/.xlock/iconwhite.png 22 | fi 23 | 24 | convert $TMPBG $ICON -gravity center -composite -matte $TMPBG 25 | i3lock -u -i $TMPBG 26 | #-matte before composite 27 | -------------------------------------------------------------------------------- /xlock/newblack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatDan/dotfiles/195650d82ebf0d4fcb1fe31a96cad773cab8ec59/xlock/newblack.png -------------------------------------------------------------------------------- /xlock/oldlock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | TMPBG=/tmp/screen.png 3 | AVGPX=/tmp/average.txt 4 | 5 | scrot /tmp/screen.png 6 | 7 | convert $TMPBG -scale 10% -scale 1000% $TMPBG 8 | 9 | convert $TMPBG -resize 1x1 $AVGPX 10 | lineout=$(awk '/#/{i++}i==2' $AVGPX) 11 | index=`expr index "$lineout" "#"` 12 | rgb=${lineout:$index:6} 13 | red=$((16#${rgb:0:2})) 14 | green=$((16#${rgb:2:2})) 15 | blue=$((16#${rgb:4:2})) 16 | brightness=$(python -c "print(round(float('$red')*0.3+float('$green')*0.59+float('$blue')*0.11))") 17 | if [ $brightness -gt 100 ] 18 | then 19 | ICON=$HOME/.xlock/iconblack.png 20 | else 21 | ICON=$HOME/.xlock/iconwhite.png 22 | fi 23 | 24 | convert $TMPBG $ICON -gravity center -composite -matte $TMPBG 25 | i3lock -u -i $TMPBG 26 | #-matte before composite 27 | -------------------------------------------------------------------------------- /xlock/test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.7 2 | # -*- coding: utf-8 -*- 3 | # vim:ts=2:sw=2:expandtab 4 | 5 | import os 6 | import xcb 7 | from xcb.xproto import * 8 | from PIL import Image 9 | 10 | XCB_MAP_STATE_VIEWABLE = 2 11 | 12 | def screenshot(): 13 | os.system('import -window root /tmp/.i3lock.png') 14 | 15 | def xcb_fetch_windows(): 16 | """ Returns an array of rects of currently visible windows. """ 17 | 18 | x = xcb.connect() 19 | root = x.get_setup().roots[0].root 20 | 21 | rects = [] 22 | 23 | # iterate through top-level windows 24 | for child in x.core.QueryTree(root).reply().children: 25 | # make sure we only consider windows that are actually visible 26 | attributes = x.core.GetWindowAttributes(child).reply() 27 | if attributes.map_state != XCB_MAP_STATE_VIEWABLE: 28 | continue 29 | 30 | rects += [x.core.GetGeometry(child).reply()] 31 | 32 | return rects 33 | 34 | def obscure_image(image): 35 | """ Obscures the given image. """ 36 | size = image.size 37 | pixel_size = 9 38 | 39 | image = image.resize((size[0] / pixel_size, size[1] / pixel_size), Image.NEAREST) 40 | image = image.resize((size[0], size[1]), Image.NEAREST) 41 | 42 | return image 43 | 44 | def obscure(rects): 45 | """ Takes an array of rects to obscure from the screenshot. """ 46 | image = Image.open('/tmp/.i3lock.png') 47 | 48 | for rect in rects: 49 | area = ( 50 | rect.x, rect.y, 51 | rect.x + rect.width, 52 | rect.y + rect.height 53 | ) 54 | 55 | cropped = image.crop(area) 56 | cropped = obscure_image(cropped) 57 | image.paste(cropped, area) 58 | 59 | image.save('/tmp/.i3lock.png') 60 | 61 | def lock_screen(): 62 | os.system('i3lock -u -i /tmp/.i3lock.png') 63 | 64 | if __name__ == '__main__': 65 | # 1: Take a screenshot. 66 | screenshot() 67 | 68 | # 2: Get the visible windows. 69 | rects = xcb_fetch_windows() 70 | 71 | # 3: Process the screenshot. 72 | obscure(rects) 73 | 74 | # 4: Lock the screen 75 | lock_screen() 76 | -------------------------------------------------------------------------------- /xlock/whitenew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatDan/dotfiles/195650d82ebf0d4fcb1fe31a96cad773cab8ec59/xlock/whitenew.png -------------------------------------------------------------------------------- /zshrc: -------------------------------------------------------------------------------- 1 | # Completion 2 | autoload -Uz compinit 3 | compinit 4 | zstyle ':completion:*' menu select 5 | setopt completeinword 6 | zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 7 | zstyle ':completion:*' matcher-list '' \ 8 | 'm:{a-z\-}={A-Z\_}' \ 9 | 'r:[^[:alpha:]]||[[:alpha:]]=** r:|=* m:{a-z\-}={A-Z\_}' \ 10 | 'r:|?=** m:{a-z\-}={A-Z\_}' 11 | 12 | # Colors and prompt 13 | autoload -Uz colors && colors 14 | autoload -Uz promptinit 15 | promptinit 16 | if [[ -x "`whence -p dircolors`" ]]; then 17 | eval `dircolors` 18 | alias ls='ls --color=tty' 19 | else 20 | alias ls='ls -F' 21 | fi 22 | 23 | 24 | alias w3mpan='tmux new-session -s browse w3m' 25 | 26 | # Editor 27 | export EDITOR=vim 28 | export BROWSER=chromium 29 | # export BROWSER=chromium 30 | 31 | # History 32 | # 33 | setopt inc_append_history 34 | setopt share_history 35 | #setopt APPEND_HISTORY 36 | SAVEHIST=10000 37 | HISTSILZE=10000 38 | HISTFILE=~/.cache/zsh_history 39 | 40 | # Git prompt 41 | setopt prompt_subst 42 | #autoload colors zsh/terminfo 43 | #colors 44 | function __git_prompt { 45 | local DIRTY="%{$fg[red]%}" 46 | local CLEAN="%{$fg[green]%}" 47 | local UNMERGED="%{$fg[magenta]%}" 48 | local RESET="%{$terminfo[sgr0]%}" 49 | git rev-parse --git-dir >& /dev/null 50 | if [[ $? == 0 ]] 51 | then 52 | echo -n "" 53 | if [[ `git ls-files -u >& /dev/null` == '' ]] 54 | then 55 | git diff --quiet >& /dev/null 56 | if [[ $? == 1 ]] 57 | then 58 | echo -n $DIRTY" [" 59 | else 60 | git diff --cached --quiet >& /dev/null 61 | if [[ $? == 1 ]] 62 | then 63 | echo -n $DIRTY" [" 64 | else 65 | echo -n $CLEAN" [" 66 | fi 67 | fi 68 | else 69 | echo -n $UNMERGED 70 | fi 71 | echo -n `git branch | grep '* ' | sed 's/..//'` 72 | echo -n "]" 73 | # #echo -n $RESET 74 | fi 75 | } 76 | 77 | # Left prompt 78 | GIT='$(__git_prompt)' 79 | if [[ -z "$SSH_CLIENT" ]]; then 80 | prompt_host="" 81 | else 82 | prompt_host=%{$fg_no_bold[magenta]%}%n%{$reset_color%}@%{$fg_no_bold[purple]%}%m 83 | fi 84 | 85 | PROMPT="$prompt_host %{$fg_bold[blue]%}%~$GIT %{$fg_no_bold[magenta]%}➤%{$fg_no_bold[green]%} %{$reset_color%}" 86 | #PROMPT="$prompt_host %{$fg_bold[blue]%}%~$GIT %{$fg_no_bold[white]%}%# %{$reset_color%}" 87 | 88 | zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}" 89 | 90 | alias grep='grep --color=auto' 91 | 92 | # Globbing 93 | setopt extended_glob 94 | --------------------------------------------------------------------------------