Commits

firefly committed d616941

Update music control keymapping, fix grep/less colours in shellrc, mess some
with haskell/j conceals in vim, updates to vimrc & xkb config.

  • Participants
  • Parent commits 0e95c1d

Comments (0)

Files changed (8)

File herbstluftwm/autostart

 hc keybind XF86Display           detect_monitors
 
 # Volume
-hc keybind XF86AudioMute         spawn mute_toggle
-hc keybind XF86AudioLowerVolume  spawn vol_down
-hc keybind XF86AudioRaiseVolume  spawn vol_up
+hc keybind XF86AudioMute         spawn pulseaudio-ctl mute
+hc keybind XF86AudioLowerVolume  spawn pulseaudio-ctl down
+hc keybind XF86AudioRaiseVolume  spawn pulseaudio-ctl up
 
 # XF86Display
 # XF86Launch3
 
 export GREP_OPTIONS='--color=auto' # -P
 #export GREP_COLORS='cx=37'
-export GREP_COLORS="mt=38;5;208:cx=38;5;246"
+export GREP_COLORS="mt=38:5:208:cx=38:5:246"
 
 # see termcap(5)
 export LESS_TERMCAP_md=$'\e[1;33m'
 export LESS_TERMCAP_me=$'\e[m'
 export LESS_TERMCAP_us=$'\e[0;32m'
 export LESS_TERMCAP_ue=$'\e[m'
-export LESS_TERMCAP_so=$'\e[0;40;38m'
+#export LESS_TERMCAP_so=$'\e[0;40;38m'
+export LESS_TERMCAP_so=$'\e[38:5:208m'
 export LESS_TERMCAP_se=$'\e[m'
 
-export PATH="$PATH:$HOME/local/bin:$HOME/node_modules/.bin:$HOME/.cabal/bin"
+export PATH="$PATH:$HOME/local/bin:$HOME/local/bin/interps:$HOME/node_modules/.bin:$HOME/.cabal/bin"
 export NODE_PATH=/usr/lib/jsctags:$NODE_PATH
 
 export DEVKITPRO="/opt/devkitpro"

File vim/.netrwhist

 let g:netrw_dirhistmax  =10
-let g:netrw_dirhist_cnt =8
-let g:netrw_dirhist_1='/home/firefly/.config'
-let g:netrw_dirhist_2='/home/firefly/.config/herbstluftwm'
-let g:netrw_dirhist_3='/home/firefly/Dropbox/prog/own/loggy'
-let g:netrw_dirhist_4='/home/firefly/Dropbox/prog/lang/clj/clodis/src/clodis/irc'
-let g:netrw_dirhist_5='/home/firefly/Dropbox/prog/lang/clj/clodis/src/clodis/olds'
-let g:netrw_dirhist_6='/home/firefly/Dropbox/prog/lang/clj/clodis/src/clodis/irc'
-let g:netrw_dirhist_7='/home/firefly/annat/kth/kurser/åk3/diskmat13'
-let g:netrw_dirhist_8='/home/firefly/Dropbox/prog/repos/dotfiles/herbstluftwm'
+let g:netrw_dirhist_cnt =4
+let g:netrw_dirhist_1='/home/firefly/Desktop'
+let g:netrw_dirhist_2='/home/firefly'
+let g:netrw_dirhist_3='/home/firefly/Dropbox/prog/lang/js/eldis/modules'
+let g:netrw_dirhist_4='/home/firefly/tmp'

File vim/after/syntax/haskell.vim

 
 let concealments =
 \ { '->':          '→',
-  \ '=>':          '⇒',
-  \ '\\':          'λ',
+  \ '=>':          '⊢',
+  \ '<-':          '∈',
   \ '::':          '∷',
   \
   \ '&&':          '∧',
   \ '`elem`':      '∈',
   \ '`notElem`':   '∉' }
 
+" \ '=>':          '⇒',
+
+" \ '\\':          'λ',
 " \ '<-':          '←',
 " \ '\.':          '∘',
-" \ '=>':          '⟾  ',
+" \ '=>':          '⟾ ',
+" \ '=>':          'a ⟾ b',
 " \ '>>=':         '⤜',
 " \ '>=>':         '↣',
 " \ '<=<':         '↢',

File vim/after/syntax/j.vim

 "syn match jOperator "+:"    conceal cchar=⊽
 "syn match jOperator "\*:"   conceal cchar=⊼
 
-syn match jOperator "<\."   conceal cchar=⌈
-syn match jOperator ">\."   conceal cchar=⌊
+syn match jOperator "=:"    conceal cchar=←
+
+syn match jOperator ">\."   conceal cchar=⌈
+syn match jOperator "<\."   conceal cchar=⌊
 syn match jOperator "%:"    conceal cchar=√
 "syn match jOperator "-\."   conceal cchar=∖
 
 syn match jOperator "\<a:"  conceal cchar=⬜
 
 
-syn match jOperator "_[_0-9]\@=" conceal cchar=⁻
-syn match jOperator "_[^.0-9]\@="   conceal cchar=∞
+syn match jOperator "_[_0-9]\@="  conceal cchar=⁻
+syn match jOperator "_[_.0-9]\@!" conceal cchar=∞
 " ~/.vimrc
 
+call pathogen#infect()
+
 """" General settings """""""""""""""""""""""""""""""""""""""""""""""
 set nocompatible
 set encoding=utf-8
 " keycode timeout is 100, mapping timeout is ∞
 set notimeout ttimeout ttimeoutlen=100
 
-set incsearch
+set incsearch "hlsearch
 set hidden                      " Abandoning a buffer makes it hidden instead of
                                 " unloading it.
 set showcmd
 noremap  <C-h> :s/^\s*//<CR>
 inoremap <C-h> <Esc>:s/^\s*//<CR>i
 
-" Better command-line editing shortcuts
 cnoremap <C-a> <Home>
-cnoremap <C-e> <End>
-
-" Fast shortcut for opening files
 nnoremap <C-e> :e 
 
 " Various
 nnoremap <Leader>. :!!<CR>
 map Y y$
 
+" open above/below, but keep column
+nnoremap <Leader>o i<Esc>yypVr<Space>`^jC
+nnoremap <Leader>O i<Esc>yyPVr<Space>`^kC
+
 " Make w!! do a superuser-write of the file
 cnoremap w!! w !sudo dd of=%
 
+" Useful to quickly get rid of hlsearch
+"nnoremap <Esc> :noh<CR><Esc>
+
 " Handy shortcut for pasting -- press F8, paste stuff, move on
 nmap <F8> :set paste<CR>i
 imap <F8> <ESC>:set paste<CR>i<Right>
 set ruler                       " Show scroll percentage even if no statusline
 set cursorline                  " Highlight cursor's line
 
-set textwidth=80
+set textwidth=78
 set nowrap sidescroll=5         " Scroll horizontally 5 chars at a time when
                                 " exceeding screen size.
 set scrolloff=5                 " Keep 5 lines visible vertically
 
 " Use pretty characters for vim's rendering of things.
-" (fillchar/stlnc doesn't support multibyte chars.. :<)
 set list listchars=tab:»\ ,trail:·,nbsp:␣,extends:$,precedes:^
-set fillchars=vert:│",stlnc:─╎║┃
+set fillchars=vert:│,stl:─,stlnc:─
 
 set foldmethod=marker
 
 if version >= 703
-  set colorcolumn=+0            " Highlight 'textwidth'th column
+  set colorcolumn=+2            " Highlight 'textwidth'th column
 end
 syntax on                       " Use syntax highlighting
 
-" In case I end up in the GUI, make it behave more like shell vim.
+" In case I end up in the GUI, make it behave more like what I'm used to.
 set go= gcr+=a:blinkon0
 
 
 " Add a few custom filetypes
-au BufRead,BufNewFile {/usr/share/X11/xkb/*} setf xkb
-au BufRead,BufNewFile {*.md}                 setf markdown
+au BufRead,BufNewFile /usr/share/X11/xkb/* setf xkb
+au BufRead,BufNewFile *.md                 setf markdown
 
-au BufRead,BufNewFile {*.json}               setf json
-au BufRead,BufNewFile {*.note,*.lecnote}     setf note
-au BufRead,BufNewFile {*.selfml}             setf selfml
-au BufRead,BufNewFile {*.ijx}                setf j
-au BufRead,BufNewFile {*.om}                 setf om
-au BufRead,BufNewFile {*.vimp,*.penta}       setf vimperator
-au BufRead            {*/xchatlogs/*.log}    setf irclog | set ro noma
+au BufRead,BufNewFile *.json               setf json
+au BufRead,BufNewFile *.note,*.lecnote     setf note
+au BufRead,BufNewFile *.selfml             setf selfml
+au BufRead,BufNewFile *.ijx                setf j
+au BufRead,BufNewFile *.om                 setf om
+au BufRead,BufNewFile *.vimp,*.penta       setf vimperator
+au BufRead            */xchatlogs/*.log    setf irclog | set ro noma
 
 " Custom filetype-dependent metadata
 au FileType lua  setlocal comments=:--
   set t_SI=[5\ q t_EI=[1\ q
 end
 
-let g:jellybeans_background_color_256 = "NONE"
-let g:jellybeans_background_color     = "02080F"
-color jellybeans
+"let g:jellybeans_background_color_256 = "NONE"
+"let g:jellybeans_background_color     = "02080F"
+"color jellybeans
+color hybrid
 
 let _ = -1 | let NONE = 'NONE'
 let format_overrides = { " ctermfg bg  cterm   guifg   guibg    gui ": [],
   \ 'CursorLine':        [    _,  232,     _ ,     _ , '#000',    _ ],
   \ 'CursorColumn':      [    _,  232,     _ ,     _ , '#000',    _ ],
   \ 'ColorColumn':       [    _,  233,     _ ,     _ , '#111',    _ ],
-  \ 'VertSplit':         [    _, NONE,     _ ,     _ ,  NONE ,    _ ],
-  \ 'StatusLine':        [    3,  236,     _ , '#C93', '#222', NONE ],
-  \ 'StatusLineNC':      [  242,  234,     _ , '#777', '#111', NONE ],
+  \ 'VertSplit':         [  236, NONE,     _ ,     _ ,  NONE ,    _ ],
+  \ 'StatusLine':        [  246, NONE,  NONE ,     _ ,  NONE , NONE ],
+  \ 'StatusLineNC':      [  236, NONE,  NONE ,     _ ,  NONE , NONE ],
   \ 'LineNr':            [  238,    _,     _ , '#555',     _ ,    _ ],
   \ 'CursorLineNr':      [    3,  232,     _ , '#C93', '#000', NONE ],
   \ 'SignColumn':        [    _, NONE,     _ ,     _ ,     _ ,    _ ],
   \ 'Folded':            [    _,  233,     _ ,     _ , '#111',    _ ],
+  \ 'Search':            [    _,  238,     _ ,     _ , '#111',    _ ],
   \ 'ModeMsg':           [    2,    _, 'bold', '#9C3',     _ ,    _ ],
+  \ 'ErrorMsg':          [    7,    1, 'bold', '#9C3',     _ ,    _ ],
   \
   \ 'Conceal':           [   14, NONE,     _ , '#3C9',  NONE ,    _ ],
   \ 'SpecialKey':        [  236, NONE,     _ , '#333',  NONE ,    _ ],
   \
-  \ 'Operator':          [   73,    _,     _ ,     _ ,     _ ,    _ ],
   \ 'markdownCode':      [  175,    _,     _ ,     _ ,     _ ,    _ ],
-  \ 'markdownCodeBlock': [  175,    _,     _ ,     _ ,     _ ,    _ ]
+  \ 'markdownCodeBlock': [  175,    _,     _ ,     _ ,     _ ,    _ ],
+  \ 'Ignore':            [    0,    _,     _ ,     _ ,     _ ,    _ ],
   \ }
+" \ 'Operator':          [   73,    _,     _ ,     _ ,     _ ,    _ ],
+" \ 'StatusLine':        [  237,    3,     _ , '#C93', '#222', NONE ],
+" \ 'StatusLineNC':      [  234,  241,     _ , '#777', '#111', NONE ],
+
+hi link rubyRegexp Constant
 
 let keys = ['ctermfg', 'ctermbg', 'cterm', 'guifg', 'guibg', 'gui']
 for [name, val] in items(format_overrides)
 endfor
 
 
-set conceallevel=2
+set conceallevel=2 concealcursor=ni
 "hi Conceal ctermfg=cyan ctermbg=none
 
 
 """" Status line """"""""""""""""""""""
 set laststatus=0
-"set laststatus=2                " Never mind.  Always display status line.
 
-set statusline=
-set statusline+=%*              " --> highlight
-set statusline+=%<              " truncation location marker
-set statusline+=\ %t\           " space, filename (tail), space
-set statusline+=%#StatusLineNC# " <-- NC styling
-set statusline+=%y%m%r          " space, info (filetype, edited?, readonly?)
-set statusline+=%=              " spacer <==>
-set statusline+=[%2n]\          " 2-char bufno, space
-set statusline+=%-8.(%l,%c%V%)  " group of line# & col#
-set statusline+=\ %*            " --> highlight again (with space)
-set statusline+=\ %P\           " space, percentage in file, space
-
-" Make the ruler also display the bufno
-set rulerformat=%2*%2n\ %-8.(%l,%c%V%)\ %P
+" default ruler (+ fancy style)
+set stl=\ %-8.(%l,%c%V%)\ %P\ %#StatusLineNC#
+set ruf=%#StatusLine#\ %-8.(%l,%c%V%)\ %P
 
 " Title string
-set titlestring="hello"
 set title
 
 
 "let g:airline_right_sep              = '〈' "<▐
 let g:airline_theme                  = 'simple'
 
+" pandoc-syntax
+let g:pandoc_syntax_user_cchars = { "atx": "#" }
 
-call pathogen#infect()
+hi link pandocNoFormatted markdownCodeBlock
+hi link pandocCodeBlock   markdownCodeBlock
+syn match pandocHeaderLine /=/ contained containedin=pandocSetexHeader conceal cchar=═
+syn match pandocHeaderLine /-/ contained containedin=pandocSetexHeader conceal cchar=─
 
 
 """" Scratchpad area """"""""""""""""""""""""""""""""""""""""""""""""

File xkb/firefly.symbols

   include "firefly(firefly-altgr-mixin)"
 //include "firefly(svdvorak-base)"
 //include "firefly(spacecadet-altgr-mixin)"
-  include "firefly(greek-grp2)"
+  include "firefly(greek-alt)"
+  include "firefly(apl-alt-altgr-mixin)"
   include "firefly(keycap-symbols)"
 
   // Map up <CAPS> to act as a <LCTL>
 // │     │ 1 ¡ │ 2 @ │ 3 £ │ 4 $ │ 5   │ 6   │ 7 { │ 8 [ │ 9 ] │ 0 } │ + \ │ é ± ┃   BS    ┃
 // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
 // ┃       ┃   ∀ │   ∃ │   ∈ │   ⊆ │     │     │   ∞ │   ⊥ │   ⊤ │   → │ ; ę │ ê ^ ┃       ┃
-// ┃ Tab   ┃ å ∧ │ ä ∨ │ ö ∩ │ p ∪ │ y   │ f   │ g ∘ │ c 7 │ r 8 │ l 9 │ , √ │ ë ~ ┃       ┃
+// ┃ Tab   ┃ å ∧ │ ä ∨ │ ö ∩ │ p ∪ │ y   │ f   │ g ∘ │ c 7 │ r 8 │ l  │ , √ │ ë ~ ┃       ┃
 // ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  CR  ┃
 // ┃ (Esc)  ┃   Æ │   Ø │   ≈ │     │   ≅ │     │   ← │     │     │     │ _ ē │ * × ┃      ┃
-// ┃ Ctrl_L ┃ a æ │ o ø │ e ≠ │ u   │ i ≡ │ d   │ h   │ t 4 │ n 5 │ s 6 │ - ẹ │ ' ` ┃      ┃
+// ┃ Ctrl_L ┃ a æ │ o ø │ e ≠ │ u   │ i ≡ │ d   │ h  │ t 4 │ n 5 │ s 6 │ - ẹ │ ' ` ┃      ┃
 // ┣━━━━━━┳━┹───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┲━┷━━━━━┻━━━━━━┫
 // ┃      ┃ >   │ : ė │   ⌈ │   ↓ │   ↑ │     │     │     │     │     │     ┃              ┃
 // ┃ Shift┃ < | │ . · │ q ⌊ │ j ↓ │ k ↑ │ x   │ b   │ m 0 │ w 1 │ v 2 │ z 3 ┃              ┃
 };
 
 // Greek (mapped to dvorak), as group 2
-partial alphanumeric_keys alternate_group xkb_symbols "greek-grp2" {
+partial alphanumeric_keys alternate_group xkb_symbols "greek-alt" {
   key <AD04> { [], [      Greek_pi,      Greek_PI ] };
   key <AD05> { [], [ Greek_upsilon, Greek_UPSILON ] };
   key <AD06> { [], [     Greek_phi,     Greek_PHI ] };
   key <AD07> { [ _, _,          jot,     infinity ] }; // ∘ ∞
   key <AD08> { [ _, _,         KP_7,       uptack ] }; // 7 ⊥
   key <AD09> { [ _, _,         KP_8,     downtack ] }; // 8 ⊤
-  key <AD10> { [ _, _,         KP_9,   rightarrow ] }; // 9 →
+  key <AD10> { [ _, _,        Right,   rightarrow ] }; // 9 →
   key <AD11> { [ _, _,      radical,  dead_ogonek ] }; // √ ę
   key <AD12> { [ _, _,   asciitilde,  asciicircum ] }; // ~ ^
 
   key <AC01> { [ _, _,           ae,           AE ] }; // æ Æ
   key <AC02> { [ _, _,       oslash,       Oslash ] }; // ø Ø
-  key <AC03> { [ _, _,     notequal,     approxeq ] }; // ≠ ≈
+  key <AC03> { [ _, _,     approxeq,     notequal ] }; // ≈ ≠
   key <AC04> { [ _, _,           at,           at ] };
   key <AC05> { [ _, _,    identical,        U2245 ] }; // ≡ ≅
   key <AC06> { [ _, _,           at,           at ] };
-  key <AC07> { [ _, _,           at,    leftarrow ] }; //   ←
+  key <AC07> { [ _, _,         Left,    leftarrow ] }; //   ←
   key <AC08> { [ _, _,         KP_4,           at ] }; // 4
   key <AC09> { [ _, _,         KP_5,           at ] }; // 5
   key <AC10> { [ _, _,         KP_6,           at ] }; // 6
   key <AB10> { [ _, _,         KP_3,           at ] }; // 3
 };
 
+// APL characters as third- and fourth-level characters on alt group
+partial alphanumeric_keys alternate_group xkb_symbols "apl-alt-altgr-mixin" {
+  key <AD04> { [], [ _, _,       Greek_pi,      Greek_PI ] };
+  key <AD05> { [], [ _, _,  Greek_upsilon, Greek_UPSILON ] };
+  key <AD06> { [], [ _, _,      Greek_phi,     Greek_PHI ] };
+  key <AD07> { [], [ _, _,    Greek_gamma,   Greek_GAMMA ] };
+  key <AD08> { [], [ _, _,      Greek_psi,     Greek_PSI ] };
+  key <AD09> { [], [ _, _,      Greek_rho,     Greek_RHO ] };
+  key <AD10> { [], [ _, _,   Greek_lambda,  Greek_LAMBDA ] };
+
+  key <AC01> { [], [ _, _,    Greek_alpha,   Greek_ALPHA ] };
+  key <AC02> { [], [ _, _,  Greek_omicron, Greek_OMICRON ] };
+  key <AC03> { [], [ _, _,  Greek_epsilon, Greek_EPSILON ] };
+  key <AC04> { [], [ _, _,    Greek_theta,   Greek_THETA ] };
+  key <AC05> { [], [ _, _,     Greek_iota,    Greek_IOTA ] };
+  key <AC06> { [], [ _, _,    Greek_delta,   Greek_DELTA ] };
+  key <AC07> { [], [ _, _,      Greek_eta,     Greek_ETA ] };
+  key <AC08> { [], [ _, _,      Greek_tau,     Greek_TAU ] };
+  key <AC09> { [], [ _, _,       Greek_nu,      Greek_NU ] };
+  key <AC10> { [], [ _, _,    Greek_sigma,   Greek_SIGMA ] };
+
+  key <AB02> { [], [ _, _,              _,             _ ] };
+  key <AB03> { [], [ _, _,       Greek_xi,      Greek_XI ] };
+  key <AB04> { [], [ _, _,    Greek_kappa,   Greek_KAPPA ] };
+  key <AB05> { [], [ _, _,      Greek_chi,     Greek_CHI ] };
+  key <AB06> { [], [ _, _,     Greek_beta,    Greek_BETA ] };
+  key <AB07> { [], [ _, _,       Greek_mu,      Greek_MU ] };
+  key <AB08> { [], [ _, _, Gk_finalsmallsigma,         _ ] };
+  key <AB09> { [], [ _, _,    Greek_omega,   Greek_OMEGA ] };
+  key <AB10> { [], [ _, _,     Greek_zeta,    Greek_ZETA ] };
+};
+
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │     │ !   │ "   │ #   │ ¤   │ %   │ &   │ /   │ ( ≤ │ ) ≥ │ = ° │ ?   │ è ¬ ┃         ┃
+// │     │ 1 ¡ │ 2 @ │ 3 £ │ 4 $ │ 5   │ 6   │ 7 { │ 8 [ │ 9 ] │ 0 } │ + \ │ é ± ┃   BS    ┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃       ┃   ∀ │   ∃ │   ∈ │   ⊆ │     │     │   ∞ │   ⊥ │   ⊤ │   → │ ; ę │ ê ^ ┃       ┃
+// ┃ Tab   ┃ å ∧ │ ä ∨ │ ö ∩ │ p ∪ │ y   │ f   │ g ∘ │ c 7 │ r 8 │ l → │ , √ │ ë ~ ┃       ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  CR  ┃
+// ┃ (Esc)  ┃   Æ │   Ø │   ≈ │     │   ≅ │     │   ← │     │     │     │ _ ē │ * × ┃      ┃
+// ┃ Ctrl_L ┃ a æ │ o ø │ e ≠ │ u   │ i ≡ │ d   │ h ← │ t 4 │ n 5 │ s 6 │ - ẹ │ ' ` ┃      ┃
+// ┣━━━━━━┳━┹───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┲━┷━━━━━┻━━━━━━┫
+// ┃      ┃ >   │ : ė │   ⌈ │   ↓ │   ↑ │     │     │     │     │     │     ┃              ┃
+// ┃ Shift┃ < | │ . · │ q ⌊ │ j ↓ │ k ↑ │ x   │ b   │ m 0 │ w 1 │ v 2 │ z 3 ┃              ┃
+// ┣━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━━┛
+// ┃      ┃       ┃       ┃                                   ┃       ┃       ┃       ┃
+// ┃      ┃ Mod4  ┃  Alt  ┃               Space               ┃ AltGr ┃ Greek ┃Compose┃
+// ┗━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+
+// ⋆ ○ ⌹ ⌽ ⊖ ⍋ ⍒ ⍟ ⍎ ⍕ ⍉ ⍱ ⍲ ⌿ ⍀ ∼
+// + - × ÷ ? ∈ ⌈ ⌊ ρ ↑ ↓ ⊥ ⊤ | , \ / ι ! < ≤ = ≥ > ≠ ∨ ∧ ~ . ∘.
+
 // Old altgr layout
 hidden partial alphanumeric_keys xkb_symbols "firefly-altgr-old-mixin" {
   key <AD01> { [ _, _,   logicaland,            U2200 ] }; // U+2200 FOR ALL
 RPROMPT='%{$up%}$(rprompt)%{$down%}'
 PS2="%{${fg[yellow]}%}» "
 
-# see also: `precmd` above (for pseudo-RPROMPT)
-
 # History
 export HISTSIZE=2000
 export HISTFILE="$HOME/.history"
 export SAVEHIST="$HISTSIZE"
 setopt hist_ignore_all_dups
+setopt extendedglob
 
 
 #### Aliases ########################################################