Browse Source

Initial commit

master
Observer of Time 2 years ago
commit
bca81582fd
Signed by: chronobserver GPG Key ID: 8A2DEA1DBAEBCA9E
43 changed files with 3731 additions and 0 deletions
  1. +675
    -0
      .XCompose
  2. +73
    -0
      .aria2/aria2.conf
  3. +5
    -0
      .aria2/notif.sh
  4. +81
    -0
      .bash_aliases
  5. +152
    -0
      .bash_funcs
  6. +62
    -0
      .bash_profile
  7. +65
    -0
      .bashrc
  8. +77
    -0
      .clang-format
  9. +191
    -0
      .clang-tidy
  10. +55
    -0
      .config/fontconfig/fonts.conf
  11. +29
    -0
      .config/htop/htoprc
  12. +28
    -0
      .config/konsolerc
  13. +4
    -0
      .config/mpv/input.conf
  14. +93
    -0
      .config/mpv/mpv.conf
  15. +36
    -0
      .config/pip/pip.conf
  16. +3
    -0
      .config/pip/requirements.txt
  17. +14
    -0
      .config/plasma-localerc
  18. +11
    -0
      .config/pycodestyle
  19. +106
    -0
      .config/qutebrowser/config.py
  20. +29
    -0
      .config/yarn/global/package.json
  21. +40
    -0
      .config/yay/config.json
  22. +23
    -0
      .config/youtube-dl/config
  23. +189
    -0
      .dir_colors
  24. +117
    -0
      .eslintrc.json
  25. +36
    -0
      .gitattributes
  26. +141
    -0
      .gitconfig
  27. +56
    -0
      .gitignore
  28. +34
    -0
      .gnupg/gpg.conf
  29. +25
    -0
      .htmlhintrc.json
  30. +219
    -0
      .local/arch/init.sh
  31. +44
    -0
      .local/arch/packages.aur.txt
  32. +125
    -0
      .local/arch/packages.repo.txt
  33. +11
    -0
      .local/ruby/Gemfile
  34. +35
    -0
      .local/share/konsole/Default.profile
  35. +69
    -0
      .local/share/konsole/Gruvbox8.colorscheme
  36. +33
    -0
      .local/share/konsole/NvimTerm.profile
  37. +56
    -0
      .newsboat/config
  38. +5
    -0
      .newsboat/notif.sh
  39. +30
    -0
      .pug-lintrc.json
  40. +117
    -0
      .stylelintrc.json
  41. +391
    -0
      .vifm/vifmrc
  42. +19
    -0
      LICENSE
  43. +127
    -0
      README.md

+ 675
- 0
.XCompose View File

@ -0,0 +1,675 @@
# UTF-8 (Unicode) compose sequence
# {keys...} : "{glyph}" {entity|unicode number} # {unicode name}
# Dashes & spaces {{{
<Multi_key> <underscore> <asciicircum> : "¯" macr # MACRON
<Multi_key> <asciicircum> <underscore> : "¯" macr # MACRON
<Multi_key> <minus> <minus> <period> : "–" ndash # EN DASH
<Multi_key> <minus> <minus> <minus> : "—" mdash # EM DASH
<Multi_key> <minus> <minus> <space> : "­" shy # SOFT HYPHEN
<Multi_key> <space> <space> : " " nbsp # NO-BREAK SPACE
<Multi_key> <minus> <underscore> <minus> : "⍽" U237D # SHOULDERED OPEN BOX
<Multi_key> <asciitilde> <asciitilde> : "〜" U301C # WAVE DASH
<Multi_key> <asciicircum> <asciicircum> : "〰" U3030 # WAVY DASH
<Multi_key> <j> <minus> : "ー" U3007 # KATAKANA-HIRAGANA PROLONGED SOUND MARK
<Multi_key> <j> <asciitilde> : "~" UFF5E # FULLWIDTH TILDE
# }}}
# Dots {{{
<Multi_key> <period> <period> : "…" hellip # HORIZONTAL ELLIPSIS
<Multi_key> <period> <bar> : "⋮" vellip # VERTICAL ELLIPSIS
<Multi_key> <period> <bar> : "⋮" vellip # VERTICAL ELLIPSIS
<Multi_key> <slash> <period> : "⋰" utdot # UP RIGHT DIAGONAL ELLIPSIS
<Multi_key> <period> <slash> : "⋰" utdot # UP RIGHT DIAGONAL ELLIPSIS
<Multi_key> <backslash> <period> : "⋱" dtdot # DOWN RIGHT DIAGONAL ELLIPSIS
<Multi_key> <period> <backslash> : "⋱" dtdot # DOWN RIGHT DIAGONAL ELLIPSIS
<Multi_key> <asciicircum> <period> : "·" middot # MIDDLE DOT
<Multi_key> <period> <asciicircum> : "·" middot # MIDDLE DOT
<Multi_key> <minus> <period> : "•" bullet # BULLET
<Multi_key> <period> <minus> : "•" bullet # BULLET
# }}}
# Quotation marks {{{
<Multi_key> <period> <less> : "‹" lsaquo # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<Multi_key> <period> <greater> : "›" rsaquo # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<Multi_key> <less> <less> : "«" laquo # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<Multi_key> <greater> <greater> : "»" raquo # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<Multi_key> <less> <apostrophe> : "‘" lsquo # LEFT SINGLE QUOTATION MARK
<Multi_key> <apostrophe> <less> : "‘" lsquo # LEFT SINGLE QUOTATION MARK
<Multi_key> <greater> <apostrophe> : "’" rsquo # RIGHT SINGLE QUOTATION MARK
<Multi_key> <apostrophe> <greater> : "’" rsquo # RIGHT SINGLE QUOTATION MARK
<Multi_key> <comma> <apostrophe> : "‚" sbquo # SINGLE LOW-9 QUOTATION MARK
<Multi_key> <apostrophe> <comma> : "‚" sbquo # SINGLE LOW-9 QUOTATION MARK
<Multi_key> <less> <quotedbl> : "“" ldquo # LEFT DOUBLE QUOTATION MARK
<Multi_key> <quotedbl> <less> : "“" ldquo # LEFT DOUBLE QUOTATION MARK
<Multi_key> <greater> <quotedbl> : "”" rdquo # RIGHT DOUBLE QUOTATION MARK
<Multi_key> <quotedbl> <greater> : "”" rdquo # RIGHT DOUBLE QUOTATION MARK
<Multi_key> <comma> <quotedbl> : "„" bdquo # DOUBLE LOW-9 QUOTATION MARK
<Multi_key> <quotedbl> <comma> : "„" bdquo # DOUBLE LOW-9 QUOTATION MARK
<Multi_key> <j> <apostrophe> <less> : "「" U300C # LEFT CORNER BRACKET
<Multi_key> <j> <apostrophe> <greater> : "」" U300D # RIGHT CORNER BRACKET
<Multi_key> <j> <quotedbl> <less> : "『" U300E # LEFT WHITE CORNER BRACKET
<Multi_key> <j> <quotedbl> <greater> : "』" U300F # RIGHT WHITE CORNER BRACKET
# }}}
# Currencies {{{
<Multi_key> <C> <equal> : "€" euro # EURO SIGN
<Multi_key> <equal> <C> : "€" euro # EURO SIGN
<Multi_key> <c> <equal> : "€" euro # EURO SIGN
<Multi_key> <equal> <c> : "€" euro # EURO SIGN
<Multi_key> <E> <equal> : "€" euro # EURO SIGN
<Multi_key> <equal> <E> : "€" euro # EURO SIGN
<Multi_key> <e> <equal> : "€" euro # EURO SIGN
<Multi_key> <equal> <e> : "€" euro # EURO SIGN
<Multi_key> <C> <bar> : "¢" cent # CENT SIGN
<Multi_key> <bar> <C> : "¢" cent # CENT SIGN
<Multi_key> <c> <bar> : "¢" cent # CENT SIGN
<Multi_key> <bar> <c> : "¢" cent # CENT SIGN
<Multi_key> <c> <slash> : "¢" cent # CENT SIGN
<Multi_key> <slash> <c> : "¢" cent # CENT SIGN
<Multi_key> <L> <minus> : "£" pound # POUND SIGN
<Multi_key> <minus> <L> : "£" pound # POUND SIGN
<Multi_key> <l> <minus> : "£" pound # POUND SIGN
<Multi_key> <minus> <l> : "£" pound # POUND SIGN
<Multi_key> <Y> <equal> : "¥" yen # YEN SIGN
<Multi_key> <equal> <Y> : "¥" yen # YEN SIGN
<Multi_key> <y> <equal> : "¥" yen # YEN SIGN
<Multi_key> <equal> <y> : "¥" yen # YEN SIGN
<Multi_key> <Y> <minus> : "¥" yen # YEN SIGN
<Multi_key> <minus> <Y> : "¥" yen # YEN SIGN
<Multi_key> <y> <minus> : "¥" yen # YEN SIGN
<Multi_key> <minus> <y> : "¥" yen # YEN SIGN
<Multi_key> <n> <n> : "₪" U20AA # NEW SHEQEL SIGN
<Multi_key> <N> <N> : "₪" U20AA # NEW SHEQEL SIGN
<Multi_key> <o> <x> : "¤" curren # CURRENCY SIGN
<Multi_key> <x> <o> : "¤" curren # CURRENCY SIGN
<Multi_key> <o> <X> : "¤" curren # CURRENCY SIGN
<Multi_key> <X> <o> : "¤" curren # CURRENCY SIGN
<Multi_key> <O> <X> : "¤" curren # CURRENCY SIGN
<Multi_key> <X> <O> : "¤" curren # CURRENCY SIGN
<Multi_key> <O> <x> : "¤" curren # CURRENCY SIGN
<Multi_key> <x> <O> : "¤" curren # CURRENCY SIGN
# }}}
# Math & logic {{{
<Multi_key> <bar> <C> : "ℂ" complexes # DOUBLE-STRUCK CAPITAL C
<Multi_key> <bar> <N> : "ℕ" naturals # DOUBLE-STRUCK CAPITAL N
<Multi_key> <bar> <P> : "ℙ" primes # DOUBLE-STRUCK CAPITAL P
<Multi_key> <bar> <Q> : "ℚ" rationals # DOUBLE-STRUCK CAPITAL Q
<Multi_key> <bar> <R> : "ℝ" reals # DOUBLE-STRUCK CAPITAL R
<Multi_key> <bar> <Z> : "ℤ" integers # DOUBLE-STRUCK CAPITAL Z
<Multi_key> <f> <comma> : "ƒ" fnof # LATIN SMALL LETTER F WITH HOOK
<Multi_key> <comma> <f> : "ƒ" fnof # LATIN SMALL LETTER F WITH HOOK
<Multi_key> <s> <u> <m> : "∑" sum # N-ARY SUMMATION
<Multi_key> <i> <n> <t> : "∫" int # INTEGRAL
<Multi_key> <I> <n> <t> : "∬" Int # DOUBLE INTEGRAL
<Multi_key> <d> <e> <l> : "∇" nabla # NABLA
<Multi_key> <plus> <minus> : "±" plusmn # PLUS-MINUS SIGN
<Multi_key> <minus> <plus> : "∓" mnplus # MINUS-PLUS SIGN
<Multi_key> <x> <x> : "×" times # MULTIPLICATION SIGN
<Multi_key> <colon> <minus> : "÷" div # DIVISION SIGN
<Multi_key> <minus> <colon> : "÷" div # DIVISION SIGN
<Multi_key> <i> <asciicircum> : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I
<Multi_key> <n> <asciicircum> : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N
<Multi_key> <asciicircum> <0> : "⁰" U2070 # SUPERSCRIPT ZERO
<Multi_key> <asciicircum> <1> : "¹" sup1 # SUPERSCRIPT ONE
<Multi_key> <1> <asciicircum> : "¹" sup1 # SUPERSCRIPT ONE
<Multi_key> <asciicircum> <2> : "²" sup2 # SUPERSCRIPT TWO
<Multi_key> <2> <asciicircum> : "²" sup2 # SUPERSCRIPT TWO
<Multi_key> <asciicircum> <3> : "³" sup3 # SUPERSCRIPT THREE
<Multi_key> <3> <asciicircum> : "³" sup3 # SUPERSCRIPT THREE
<Multi_key> <1> <2> : "½" frac12 # VULGAR FRACTION ONE HALF
<Multi_key> <asciicircum> <plus> : "⁺" U207A # SUPERSCRIPT PLUS SIGN
<Multi_key> <asciicircum> <minus> : "⁻" U207B # SUPERSCRIPT MINUS
<Multi_key> <underscore> <0> : "₀" U2080 # SUBSCRIPT ZERO
<Multi_key> <underscore> <1> : "₁" U2081 # SUBSCRIPT ONE
<Multi_key> <comma> <minus> : "¬" not # NOT SIGN
<Multi_key> <minus> <comma> : "¬" not # NOT SIGN
<Multi_key> <v> <slash> : "√" radic # SQUARE ROOT
<Multi_key> <slash> <v> : "√" radic # SQUARE ROOT
<Multi_key> <s> <q> : "√" radic # SQUARE ROOT
<Multi_key> <8> <8> : "∞" infin # INFINITY
<Multi_key> <E> <E> : "∃" exist # THERE EXISTS
<Multi_key> <slash> <E> : "∄" nexist # THERE DOES NOT EXIST
<Multi_key> <E> <slash> : "∄" nexist # THERE DOES NOT EXIST
<Multi_key> <A> <A> : "∀" forall # FOR ALL
<Multi_key> <0> <slash> : "∅" empty # EMPTY SET
<Multi_key> <slash> <0> : "∅" empty # EMPTY SET
<Multi_key> <braceleft> <braceright> : "∅" empty # EMPTY SET
<Multi_key> <braceleft> <U> : "∪" cup # UNION
<Multi_key> <braceleft> <asciicircum> : "∩" cap # INTERSECTION
<Multi_key> <braceleft> <parenleft> : "⊂" sub # SUBSET OF
<Multi_key> <braceleft> <equal> <parenleft> : "⊆" sube # SUBSET OF OR EQUAL TO
<Multi_key> <braceleft> <parenright> : "⊃" sup # SUPERSET OF
<Multi_key> <braceleft> <equal> <parenright> : "⊇" supe # SUPERSET OF OR EQUAL TO
<Multi_key> <slash> <braceleft> <parenleft> : "⊄" nsub # NOT A SUBSET OF
<Multi_key> <colon> <equal> : "≔" colone # COLON EQUALS
<Multi_key> <equal> <question> : "≟" equest # QUESTIONED EQUAL TO
<Multi_key> <exclam> <equal> : "≠" ne # NOT EQUAL TO
<Multi_key> <slash> <equal> : "≠" ne # NOT EQUAL TO
<Multi_key> <equal> <underscore> : "≡" equiv # IDENTICAL TO
<Multi_key> <asciitilde> <equal> : "≅" cong # APPROXIMATELY EQUAL TO
<Multi_key> <less> <underscore> : "≤" le # LESS-THAN OR EQUAL TO
<Multi_key> <underscore> <less> : "≤" le # LESS-THAN OR EQUAL TO
<Multi_key> <greater> <underscore> : "≥" ge # GREATER-THAN OR EQUAL TO
<Multi_key> <underscore> <greater> : "≥" ge # GREATER-THAN OR EQUAL TO
<Multi_key> <n> <8> : "ℵ" aleph # ALEF SYMBOL
<Multi_key> <asciicircum> <asciicircum> : "∧" and # LOGICAL AND
<Multi_key> <asciicircum> <equal> : "⊼" U22BC # NAND
<Multi_key> <v> <v> : "∨" or # LOGICAL OR
<Multi_key> <v> <minus> : "⊽" U22BD # NOR
<Multi_key> <v> <underscore> : "⊻" veebar # XOR
<Multi_key> <o> <plus> : "⊕" oplus # CIRCLED PLUS
<Multi_key> <O> <plus> : "⊕" oplus # CIRCLED PLUS
# }}}
# Arrows {{{
<Multi_key> <minus> <greater> : "→" rarr # RIGHTWARDS ARROW
<Multi_key> <minus> <less> : "←" larr # LEFTWARDS ARROW
<Multi_key> <minus> <v> : "↓" darr # DOWNWARDS ARROW
<Multi_key> <minus> <asciicircum> : "↑" uarr # UPWARDS ARROW
<Multi_key> <less> <minus> <greater> : "↔" harr # LEFT RIGHT ARROW
<Multi_key> <v> <asciicircum> : "↕" varr # UP DOWN ARROW
<Multi_key> <asciicircum> <v> : "⇵" duarr # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
<Multi_key> <less> <minus> <bar> : "↵" crarr # DOWNWARDS ARROW WITH CORNER LEFTWARDS
<Multi_key> <equal> <greater> : "⇒" rArr # RIGHTWARDS DOUBLE ARROW
<Multi_key> <equal> <less> : "⇐" lArr # LEFTWARDS DOUBLE ARROW
<Multi_key> <equal> <asciicircum> : "⇑" uArr # UPWARDS DOUBLE ARROW
<Multi_key> <equal> <v> : "⇓" dArr # DOWNWARDS DOUBLE ARROW
<Multi_key> <equal> <asciitilde> : "⇔" hArr # LEFT RIGHT DOUBLE ARROW
<Multi_key> <equal> <bar> : "⇕" vArr # UP DOWN DOUBLE ARROW
# }}}
# Musical notes {{{
<Multi_key> <numbersign> <q> : "♩" U2669 # QUARTER NOTE
<Multi_key> <numbersign> <e> : "♪" sung # EIGHTH NOTE
<Multi_key> <numbersign> <B> <minus> : "♫" U266B # BEAMED EIGHTH NOTES
<Multi_key> <numbersign> <B> <equal> : "♬" U266C # BEAMED SIXTEENTH NOTES
<Multi_key> <numbersign> <b> : "♭" flat # MUSIC FLAT SIGN
<Multi_key> <numbersign> <n> : "♮" natur # MUSIC NATURAL SIGN
<Multi_key> <numbersign> <numbersign> : "♯" sharp # MUSIC SHARP SIGN
<Multi_key> <numbersign> <2> : "𝅗𝅥" U1D15E # MUSICAL SYMBOL HALF NOTE
<Multi_key> <numbersign> <4> : "𝅘𝅥" U1D15F # MUSICAL SYMBOL QUARTER NOTE
<Multi_key> <numbersign> <8> : "𝅘𝅥𝅮" U1D160 # MUSICAL SYMBOL EIGHTH NOTE
<Multi_key> <numbersign> <6> : "𝅘𝅥𝅯" U1D161 # MUSICAL SYMBOL SIXTEENTH NOTE
<Multi_key> <numbersign> <3> <2> : "𝅘𝅥𝅰" U1D162 # MUSICAL SYMBOL THIRTY-SECOND NOTE
<Multi_key> <numbersign> <6> <4> : "𝅘𝅥𝅱" U1D163 # MUSICAL SYMBOL SIXTY-FOURTH NOTE
<Multi_key> <numbersign> <1> <2> <8> : "𝅘𝅥𝅲" U1D164 # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
<Multi_key> <numbersign> <m> : "𝆹𝅥" U1D1BB # MUSICAL SYMBOL MINIMA
<Multi_key> <numbesign> <M> : "𝆺𝅥" U1D1BC # MUSICAL SYMBOL MINIMA BLACK
<Multi_key> <numbersign> <s> : "𝆹𝅥𝅮" U1D1BD # MUSICAL SYMBOL SEMIMINIMA WHITE
<Multi_key> <numbersign> <S> : "𝆺𝅥𝅮" U1D1BE # MUSICAL SYMBOL SEMIMINIMA BLACK
<Multi_key> <numbersign> <f> : "𝆹𝅥𝅯" U1D1BF # MUSICAL SYMBOL FUSA WHITE
<Multi_key> <numbersign> <F> : "𝆺𝅥𝅯" U1D1C0 # MUSICAL SYMBOL FUSA BLACK
# }}}
# Intellectual property {{{
<Multi_key> <C> <o> : "©" copy # COPYRIGHT SIGN
<Multi_key> <C> <O> : "©" copy # COPYRIGHT SIGN
<Multi_key> <R> <o> : "®" reg # REGISTERED SIGN
<Multi_key> <R> <O> : "®" reg # REGISTERED SIGN
<Multi_key> <T> <M> : "™" trade # TRADE MARK SIGN
<Multi_key> <t> <m> : "™" trade # TRADE MARK SIGN
<Multi_key> <o> <c> : "🄯" U1F12F # COPYLEFT SIGN
<Multi_key> <O> <C> : "🄯" U1F12F # COPYLEFT SIGN
# }}}
# Card suits {{{
<Multi_key> <less> <3> : "♥" hearts # BLACK HEART SUIT
<Multi_key> <s> <b> <h> : "♥" hearts # BLACK HEART SUIT
<Multi_key> <s> <b> <c> : "♣" clubs # BLACK CLUB SUIT
<Multi_key> <s> <b> <s> : "♠" spades # BLACK SPADE SUIT
<Multi_key> <s> <b> <d> : "♦" diams # BLACK DIAMOND SUIT
<Multi_key> <s> <w> <h> : "♡" U2661 # WHITE HEART SUIT
<Multi_key> <s> <w> <c> : "♧" U2667 # WHITE CLUB SUIT
<Multi_key> <s> <w> <s> : "♤" U2664 # WHITE SPADE SUIT
<Multi_key> <s> <w> <d> : "♢" U2662 # WHITE DIAMOND SUIT
# }}}
# Chess {{{
<Multi_key> <c> <w> <k> : "♔" U2654 # WHITE CHESS KING
<Multi_key> <c> <w> <q> : "♕" U2655 # WHITE CHESS QUEEN
<Multi_key> <c> <w> <r> : "♖" U2656 # WHITE CHESS ROOK
<Multi_key> <c> <w> <b> : "♗" U2657 # WHITE CHESS BISHOP
<Multi_key> <c> <w> <n> : "♘" U2658 # WHITE CHESS KNIGHT
<Multi_key> <c> <w> <p> : "♙" U2659 # WHITE CHESS PAWN
<Multi_key> <c> <b> <k> : "♚" U265A # BLACK CHESS KING
<Multi_key> <c> <b> <q> : "♛" U265B # BLACK CHESS QUEEN
<Multi_key> <c> <b> <r> : "♜" U265C # BLACK CHESS ROOK
<Multi_key> <c> <b> <b> : "♝" U265D # BLACK CHESS BISHOP
<Multi_key> <c> <b> <n> : "♞" U265E # BLACK CHESS KNIGHT
<Multi_key> <c> <b> <p> : "♟" U265F # BLACK CHESS PAWN
# }}}
# Other symbols {{{
<Multi_key> <o> <o> : "°" deg # DEGREE SIGN
<Multi_key> <asterisk> <0> : "°" deg # DEGREE SIGN
<Multi_key> <0> <asterisk> : "°" deg # DEGREE SIGN
<Multi_key> <exclam> <bar> : "¦" brvbar # BROKEN BAR
<Multi_key> <bar> <eclam> : "¦" brvbar # BROKEN BAR
<Multi_key> <bar> <minus> : "†" dagger # DAGGER
<Multi_key> <bar> <equal> : "‡" ddagger # DOUBLE DAGGER
<Multi_key> <bar> <bar> : "‖" Vert # DOUBLE VERTICAL LINE
<Multi_key> <p> <exclam> : "¶" para # PILCROW SIGN
<Multi_key> <P> <exclam> : "¶" para # PILCROW SIGN
<Multi_key> <exclam> <exclam> : "¡" iexcl # INVERTED EXCLAMATION MARK
<Multi_key> <question> <question> : "¿" iquest # INVERTED QUESTION MARK
<Multi_key> <exclam> <question> : "‽" U203D # INTERROBANG
<Multi_key> <question> <exclam> : "⸘" U2E18 # INVERTED INTERROBANG
<Multi_key> <2> <question> : "⁇" U2047 # DOUBLE QUESTION MARK
<Multi_key> <question> <bar> <exclam> : "⁈" U2048 # QUESTION EXCLAMATION MARK
<Multi_key> <exclam> <bar> <question> : "⁉" U2049 # EXCLAMATION QUESTION MARK
<Multi_key> <2> <exclam> : "‼" U203C # DOUBLE EXCLAMATION MARK
<Multi_key> <colon> <colon> : "∷" Proportion # PROPORTION
<Multi_key> <j> <comma> : "、" U3001 # IDEOGRAPHIC COMMA
<Multi_key> <j> <period> : "。" U3002 # IDEOGRAPHIC FULL STOP
<Multi_key> <j> <colon> : ":" UFF1A # FULLWIDTH COLON
<Multi_key> <j> <question> : "?" UFF1F # FULLWIDTH QUESTION MARK
<Multi_key> <j> <exclam> : "!" UFF01 # FULLWIDTH EXCLAMATION MARK
<Multi_key> <s> <o> : "§" sect # SECTION SIGN
<Multi_key> <o> <s> : "§" sect # SECTION SIGN
<Multi_key> <S> <O> : "§" sect # SECTION SIGN
<Multi_key> <O> <S> : "§" sect # SECTION SIGN
<Multi_key> <s> <exclam> : "§" sect # SECTION SIGN
<Multi_key> <S> <exclam> : "§" sect # SECTION SIGN
<Multi_key> <N> <o> : "№" numero # NUMERO SIGN
<Multi_key> <N> <O> : "№" numero # NUMERO SIGN
<Multi_key> <F> <less> : "☚" U261A # BLACK LEFT POINTING INDEX
<Multi_key> <F> <greater> : "☛" U261B # BLACK RIGHT POINTING INDEX
<Multi_key> <f> <less> : "☜" U261C # WHITE LEFT POINTING INDEX
<Multi_key> <f> <asciicircum> : "☝" U261D # WHITE UP POINTING INDEX
<Multi_key> <f> <greater> : "☞" U261E # WHITE RIGHT POINTING INDEX
<Multi_key> <f> <v> : "☟" U261F # WHITE DOWN POINTING INDEX
<Multi_key> <asterisk> <asterisk> : "★" starf # BLACK STAR
<Multi_key> <asterisk> <0> : "☆" star # WHITE STAR
<Multi_key> <asterisk> <x> : "❄" U2744 # SNOWFLAKE
<Multi_key> <C> <C> <C> <P> : "☭" U262D # HAMMER AND SICKLE
<Multi_key> <h> <s> : "☭" U262D # HAMMER AND SICKLE
<Multi_key> <H> <S> : "☭" U262D # HAMMER AND SICKLE
<Multi_key> <at> <slash> : "✓" check # CHECK MARK
<Multi_key> <at> <at> <slash> : "✔" U2714 # HEAVY CHECK MARK
<Multi_key> <at> <X> : "✗" cross # BALLOT X
<Multi_key> <at> <at> <X> : "✘" U2718 # HEAVY BALLOT X
<Multi_key> <o> <f> : "♀" female # FEMALE SIGN
<Multi_key> <o> <m> : "♂" male # MALE SIGN
<Multi_key> <o> <t> : "⚥" U26A5 # MALE AND FEMALE SIGN
<Multi_key> <exclam> <asciicircum> : "⚠" U26A0 # WARNING SIGN
<Multi_key> <bar> <asciicircum> : "☮" U262E # PEACE SYMBOL
<Multi_key> <y> <y> : "☯" U262F # YIN YANG
# }}}
# Hiragana {{{
<Multi_key> <h> <a> : "あ" U3042 # HIRAGANA LETTER A
<Multi_key> <h> <i> : "い" U3044 # HIRAGANA LETTER I
<Multi_key> <h> <u> : "う" U3046 # HIRAGANA LETTER U
<Multi_key> <h> <e> : "え" U3048 # HIRAGANA LETTER E
<Multi_key> <h> <o> : "お" U304A # HIRAGANA LETTER O
<Multi_key> <h> <k> <a> : "か" U304B # HIRAGANA LETTER KA
<Multi_key> <h> <k> <i> : "き" U304D # HIRAGANA LETTER KI
<Multi_key> <h> <k> <u> : "く" U304F # HIRAGANA LETTER KU
<Multi_key> <h> <k> <e> : "け" U3051 # HIRAGANA LETTER KE
<Multi_key> <h> <k> <o> : "こ" U3053 # HIRAGANA LETTER KO
<Multi_key> <h> <s> <a> : "さ" U3055 # HIRAGANA LETTER SA
<Multi_key> <h> <s> <i> : "し" U3057 # HIRAGANA LETTER SI
<Multi_key> <h> <s> <u> : "す" U3059 # HIRAGANA LETTER SU
<Multi_key> <h> <s> <e> : "せ" U305B # HIRAGANA LETTER SE
<Multi_key> <h> <s> <o> : "そ" U305D # HIRAGANA LETTER SO
<Multi_key> <h> <t> <a> : "た" U305F # HIRAGANA LETTER TA
<Multi_key> <h> <t> <i> : "ち" U3061 # HIRAGANA LETTER TI
<Multi_key> <h> <t> <u> : "つ" U3064 # HIRAGANA LETTER TU
<Multi_key> <h> <t> <e> : "て" U3066 # HIRAGANA LETTER TE
<Multi_key> <h> <t> <o> : "と" U3068 # HIRAGANA LETTER TO
<Multi_key> <h> <n> <a> : "な" U306A # HIRAGANA LETTER NA
<Multi_key> <h> <n> <i> : "に" U306B # HIRAGANA LETTER NI
<Multi_key> <h> <n> <u> : "ぬ" U306C # HIRAGANA LETTER NU
<Multi_key> <h> <n> <e> : "ね" U306D # HIRAGANA LETTER NE
<Multi_key> <h> <n> <o> : "の" U306E # HIRAGANA LETTER NO
<Multi_key> <h> <h> <a> : "は" U306F # HIRAGANA LETTER HA
<Multi_key> <h> <h> <i> : "ひ" U3072 # HIRAGANA LETTER HI
<Multi_key> <h> <h> <u> : "ふ" U3075 # HIRAGANA LETTER HU
<Multi_key> <h> <h> <e> : "へ" U3078 # HIRAGANA LETTER HE
<Multi_key> <h> <h> <o> : "ほ" U307B # HIRAGANA LETTER HO
<Multi_key> <h> <m> <a> : "ま" U307E # HIRAGANA LETTER MA
<Multi_key> <h> <m> <i> : "み" U307F # HIRAGANA LETTER MI
<Multi_key> <h> <m> <u> : "む" U3080 # HIRAGANA LETTER MU
<Multi_key> <h> <m> <e> : "め" U3081 # HIRAGANA LETTER ME
<Multi_key> <h> <m> <o> : "も" U3082 # HIRAGANA LETTER MO
<Multi_key> <h> <y> <a> : "や" U3084 # HIRAGANA LETTER YA
<Multi_key> <h> <y> <u> : "ゆ" U3086 # HIRAGANA LETTER YU
<Multi_key> <h> <y> <o> : "よ" U3088 # HIRAGANA LETTER YO
<Multi_key> <h> <r> <a> : "ら" U3089 # HIRAGANA LETTER RA
<Multi_key> <h> <r> <i> : "り" U308A # HIRAGANA LETTER RI
<Multi_key> <h> <r> <u> : "る" U308B # HIRAGANA LETTER RU
<Multi_key> <h> <r> <e> : "れ" U308C # HIRAGANA LETTER RE
<Multi_key> <h> <r> <o> : "ろ" U308D # HIRAGANA LETTER RO
<Multi_key> <h> <w> <a> : "わ" U308F # HIRAGANA LETTER WA
<Multi_key> <h> <w> <i> : "ゐ" U3090 # HIRAGANA LETTER WI
<Multi_key> <h> <w> <e> : "ゑ" U3091 # HIRAGANA LETTER WE
<Multi_key> <h> <w> <o> : "を" U3092 # HIRAGANA LETTER WO
<Multi_key> <h> <n> : "ん" U3093 # HIRAGANA LETTER N
<Multi_key> <h> <l> <y> <a> : "ゃ" U3083 # HIRAGANA LETTER SMALL YA
<Multi_key> <h> <l> <y> <u> : "ゅ" U3085 # HIRAGANA LETTER SMALL YU
<Multi_key> <h> <l> <y> <o> : "ょ" U3087 # HIRAGANA LETTER SMALL YO
<Multi_key> <h> <l> <t> <u> : "っ" U3063 # HIRAGANA LETTER SMALL TU
<Multi_key> <h> <g> <a> : "が" U304C # HIRAGANA LETTER GA
<Multi_key> <h> <g> <i> : "ぎ" U304E # HIRAGANA LETTER GI
<Multi_key> <h> <g> <u> : "ぐ" U3050 # HIRAGANA LETTER GU
<Multi_key> <h> <g> <e> : "げ" U3052 # HIRAGANA LETTER GE
<Multi_key> <h> <g> <o> : "ご" U3054 # HIRAGANA LETTER GO
<Multi_key> <h> <z> <a> : "ざ" U3056 # HIRAGANA LETTER ZA
<Multi_key> <h> <z> <i> : "じ" U3058 # HIRAGANA LETTER ZI
<Multi_key> <h> <z> <u> : "ず" U305A # HIRAGANA LETTER ZU
<Multi_key> <h> <z> <e> : "ぜ" U305C # HIRAGANA LETTER ZE
<Multi_key> <h> <z> <o> : "ぞ" U305E # HIRAGANA LETTER ZO
<Multi_key> <h> <d> <a> : "だ" U3060 # HIRAGANA LETTER DA
<Multi_key> <h> <d> <i> : "ぢ" U3062 # HIRAGANA LETTER DI
<Multi_key> <h> <d> <u> : "づ" U3065 # HIRAGANA LETTER DU
<Multi_key> <h> <d> <e> : "で" U3067 # HIRAGANA LETTER DE
<Multi_key> <h> <d> <o> : "ど" U3069 # HIRAGANA LETTER DO
<Multi_key> <h> <b> <a> : "ば" U3070 # HIRAGANA LETTER BA
<Multi_key> <h> <b> <i> : "び" U3073 # HIRAGANA LETTER BI
<Multi_key> <h> <b> <u> : "ぶ" U3076 # HIRAGANA LETTER BU
<Multi_key> <h> <b> <e> : "べ" U3079 # HIRAGANA LETTER BE
<Multi_key> <h> <b> <o> : "ぼ" U307C # HIRAGANA LETTER BO
<Multi_key> <h> <p> <a> : "ぱ" U3071 # HIRAGANA LETTER PA
<Multi_key> <h> <p> <i> : "ぴ" U3074 # HIRAGANA LETTER PI
<Multi_key> <h> <p> <u> : "ぷ" U3077 # HIRAGANA LETTER PU
<Multi_key> <h> <p> <e> : "ぺ" U307A # HIRAGANA LETTER PE
<Multi_key> <h> <p> <o> : "ぽ" U307D # HIRAGANA LETTER PO
# }}}
# Katakana {{{
<Multi_key> <k> <a> : "ア" U30A2 # KATAKANA LETTER A
<Multi_key> <k> <i> : "イ" U30A4 # KATAKANA LETTER I
<Multi_key> <k> <u> : "ウ" U30A6 # KATAKANA LETTER U
<Multi_key> <k> <e> : "エ" U30A8 # KATAKANA LETTER E
<Multi_key> <k> <o> : "オ" U30AA # KATAKANA LETTER O
<Multi_key> <k> <k> <a> : "カ" U30AB # KATAKANA LETTER KA
<Multi_key> <k> <k> <i> : "キ" U30AD # KATAKANA LETTER KI
<Multi_key> <k> <k> <u> : "ク" U30AF # KATAKANA LETTER KU
<Multi_key> <k> <k> <e> : "ケ" U30B1 # KATAKANA LETTER KE
<Multi_key> <k> <k> <o> : "コ" U30B3 # KATAKANA LETTER KO
<Multi_key> <k> <s> <a> : "サ" U30B5 # KATAKANA LETTER SA
<Multi_key> <k> <s> <i> : "シ" U30B7 # KATAKANA LETTER SI
<Multi_key> <k> <s> <u> : "ス" U30B9 # KATAKANA LETTER SU
<Multi_key> <k> <s> <e> : "セ" U30BB # KATAKANA LETTER SE
<Multi_key> <k> <s> <o> : "ソ" U30BD # KATAKANA LETTER SO
<Multi_key> <k> <t> <a> : "タ" U30BF # KATAKANA LETTER TA
<Multi_key> <k> <t> <i> : "チ" U30C1 # KATAKANA LETTER TI
<Multi_key> <k> <t> <u> : "ツ" U30C4 # KATAKANA LETTER TU
<Multi_key> <k> <t> <e> : "テ" U30C6 # KATAKANA LETTER TE
<Multi_key> <k> <t> <o> : "ト" U30C8 # KATAKANA LETTER TO
<Multi_key> <k> <n> <a> : "ナ" U30CA # KATAKANA LETTER NA
<Multi_key> <k> <n> <i> : "ニ" U30CB # KATAKANA LETTER NI
<Multi_key> <k> <n> <u> : "ヌ" U30CC # KATAKANA LETTER NU
<Multi_key> <k> <n> <e> : "ネ" U30CD # KATAKANA LETTER NE
<Multi_key> <k> <n> <o> : "ノ" U30CE # KATAKANA LETTER NO
<Multi_key> <k> <h> <a> : "ハ" U30CF # KATAKANA LETTER HA
<Multi_key> <k> <h> <i> : "ヒ" U30D2 # KATAKANA LETTER HI
<Multi_key> <k> <h> <u> : "フ" U30D5 # KATAKANA LETTER HU
<Multi_key> <k> <h> <e> : "ヘ" U30D8 # KATAKANA LETTER HE
<Multi_key> <k> <h> <o> : "ホ" U30DB # KATAKANA LETTER HO
<Multi_key> <k> <m> <a> : "マ" U30DE # KATAKANA LETTER MA
<Multi_key> <k> <m> <i> : "ミ" U30DF # KATAKANA LETTER MI
<Multi_key> <k> <m> <u> : "ム" U30E0 # KATAKANA LETTER MU
<Multi_key> <k> <m> <e> : "メ" U30E1 # KATAKANA LETTER ME
<Multi_key> <k> <m> <o> : "モ" U30E2 # KATAKANA LETTER MO
<Multi_key> <k> <y> <a> : "ヤ" U30E4 # KATAKANA LETTER YA
<Multi_key> <k> <y> <u> : "ユ" U30E6 # KATAKANA LETTER YU
<Multi_key> <k> <y> <o> : "ヨ" U30E8 # KATAKANA LETTER YO
<Multi_key> <k> <r> <a> : "ラ" U30E9 # KATAKANA LETTER RA
<Multi_key> <k> <r> <i> : "リ" U30EA # KATAKANA LETTER RI
<Multi_key> <k> <r> <u> : "ル" U30EB # KATAKANA LETTER RU
<Multi_key> <k> <r> <e> : "レ" U30EC # KATAKANA LETTER RE
<Multi_key> <k> <r> <o> : "ロ" U30ED # KATAKANA LETTER RO
<Multi_key> <k> <w> <a> : "ワ" U30EF # KATAKANA LETTER WA
<Multi_key> <k> <w> <i> : "ヰ" U30F0 # KATAKANA LETTER WI
<Multi_key> <k> <w> <e> : "ヱ" U30F1 # KATAKANA LETTER WE
<Multi_key> <k> <w> <o> : "ヲ" U30F2 # KATAKANA LETTER WO
<Multi_key> <k> <n> : "ン" U30F3 # KATAKANA LETTER N
<Multi_key> <k> <l> <y> <a> : "ッ" U30C3 # KATAKANA LETTER SMALL TU
<Multi_key> <k> <l> <y> <u> : "ュ" U30E5 # KATAKANA LETTER SMALL YU
<Multi_key> <k> <l> <y> <o> : "ョ" U30E7 # KATAKANA LETTER SMALL YO
<Multi_key> <k> <l> <t> <u> : "ョ" U30E7 # KATAKANA LETTER SMALL YO
<Multi_key> <k> <g> <a> : "ガ" U30AC # KATAKANA LETTER GA
<Multi_key> <k> <g> <i> : "ギ" U30AE # KATAKANA LETTER GI
<Multi_key> <k> <g> <u> : "グ" U30B0 # KATAKANA LETTER GU
<Multi_key> <k> <g> <e> : "ゲ" U30B2 # KATAKANA LETTER GE
<Multi_key> <k> <g> <o> : "ゴ" U30B4 # KATAKANA LETTER GO
<Multi_key> <k> <z> <a> : "ザ" U30B6 # KATAKANA LETTER ZA
<Multi_key> <k> <z> <i> : "ジ" U30B8 # KATAKANA LETTER ZI
<Multi_key> <k> <z> <u> : "ズ" U30BA # KATAKANA LETTER ZU
<Multi_key> <k> <z> <e> : "ゼ" U30BC # KATAKANA LETTER ZE
<Multi_key> <k> <z> <o> : "ゾ" U30BE # KATAKANA LETTER ZO
<Multi_key> <k> <d> <a> : "ダ" U30C0 # KATAKANA LETTER DA
<Multi_key> <k> <d> <i> : "ヂ" U30C2 # KATAKANA LETTER DI
<Multi_key> <k> <d> <u> : "ヅ" U30C5 # KATAKANA LETTER DU
<Multi_key> <k> <d> <e> : "デ" U30C7 # KATAKANA LETTER DE
<Multi_key> <k> <d> <o> : "ド" U30C9 # KATAKANA LETTER DO
<Multi_key> <k> <b> <a> : "バ" U30D0 # KATAKANA LETTER BA
<Multi_key> <k> <b> <i> : "ビ" U30D3 # KATAKANA LETTER BI
<Multi_key> <k> <b> <u> : "ブ" U30D6 # KATAKANA LETTER BU
<Multi_key> <k> <b> <e> : "ベ" U30D9 # KATAKANA LETTER BE
<Multi_key> <k> <b> <o> : "ボ" U30DC # KATAKANA LETTER BO
<Multi_key> <k> <p> <a> : "パ" U30D1 # KATAKANA LETTER PA
<Multi_key> <k> <p> <i> : "ピ" U30D4 # KATAKANA LETTER PI
<Multi_key> <k> <p> <u> : "プ" U30D7 # KATAKANA LETTER PU
<Multi_key> <k> <p> <e> : "ペ" U30DA # KATAKANA LETTER PE
<Multi_key> <k> <p> <o> : "ポ" U30DD # KATAKANA LETTER PO
# }}}
# Japanese numerals {{{
<Multi_key> <j> <O> : "〇" U3007 # IDEOGRAPHIC NUMBER ZERO
<Multi_key> <j> <0> : "零" U96F6 # CJK Ideograph &#x96F6;
<Multi_key> <j> <1> : "一" U4E00 # <CJK Ideograph, First> &#x4E00;
<Multi_key> <j> <2> : "二" U4E8C # CJK Ideograph &#x4E8C;
<Multi_key> <j> <3> : "三" U4E09 # CJK Ideograph &#x4E09;
<Multi_key> <j> <4> : "四" U56DB # CJK Ideograph &#x56DB;
<Multi_key> <j> <5> : "五" U4E94 # CJK Ideograph &#x4E94;
<Multi_key> <j> <6> : "六" U516D # CJK Ideograph &#x516D;
<Multi_key> <j> <7> : "七" U4E03 # CJK Ideograph &#x4E03;
<Multi_key> <j> <8> : "八" U516B # CJK Ideograph &#x516B;
<Multi_key> <j> <9> : "九" U4E5D # CJK Ideograph &#x4E5D;
<Multi_key> <j> <x> <1> : "十" U5341 # CJK Ideograph &#x5341;
<Multi_key> <j> <x> <2> : "百" U767E # CJK Ideograph &#x767E;
<Multi_key> <j> <x> <3> : "千" U5343 # CJK Ideograph &#x5343;
<Multi_key> <j> <x> <4> : "万" U4E07 # CJK Ideograph &#x4E07;
# }}}
# Roman numerals {{{
<Multi_key> <percent> <0> <1> : "Ⅰ" U2160 # ROMAN NUMERAL ONE
<Multi_key> <percent> <0> <2> : "Ⅱ" U2161 # ROMAN NUMERAL TWO
<Multi_key> <percent> <0> <3> : "Ⅲ" U2162 # ROMAN NUMERAL THREE
<Multi_key> <percent> <0> <4> : "Ⅳ" U2163 # ROMAN NUMERAL FOUR
<Multi_key> <percent> <0> <5> : "Ⅴ" U2164 # ROMAN NUMERAL FIVE
<Multi_key> <percent> <0> <6> : "Ⅵ" U2165 # ROMAN NUMERAL SIX
<Multi_key> <percent> <0> <7> : "Ⅶ" U2166 # ROMAN NUMERAL SEVEN
<Multi_key> <percent> <0> <8> : "Ⅷ" U2167 # ROMAN NUMERAL EIGHT
<Multi_key> <percent> <0> <9> : "Ⅸ" U2168 # ROMAN NUMERAL NINE
<Multi_key> <percent> <X> : "Ⅹ" U2169 # ROMAN NUMERAL TEN
<Multi_key> <percent> <L> : "Ⅼ" U216C # ROMAN NUMERAL FIFTY
<Multi_key> <percent> <C> : "Ⅽ" U216D # ROMAN NUMERAL ONE HUNDRED
<Multi_key> <percent> <D> : "Ⅾ" U216E # ROMAN NUMERAL FIVE HUNDRED
<Multi_key> <percent> <M> : "Ⅿ" U216F # ROMAN NUMERAL ONE THOUSAND
# }}}
# Ligatures {{{
<Multi_key> <o> <e> : "œ" oelig # LATIN SMALL LIGATURE OE
<Multi_key> <O> <E> : "Œ" OElig # LATIN CAPITAL LIGATURE OE
<Multi_key> <a> <e> : "æ" aelig # LATIN SMALL LETTER AE
<Multi_key> <A> <E> : "Æ" AElig # LATIN CAPITAL LETTER AE
<Multi_key> <f> <f> : "ff" fflig # LATIN SMALL LIGATURE FF
<Multi_key> <f> <i> : "fi" filig # LATIN SMALL LIGATURE FI
<Multi_key> <f> <l> : "fl" fllig # LATIN SMALL LIGATURE FL
<Multi_key> <F> <i> : "ffi" ffilig # LATIN SMALL LIGATURE FFI
<Multi_key> <F> <l> : "ffl" ffllig # LATIN SMALL LIGATURE FFL
<Multi_key> <I> <J> : "IJ" IJlig # LATIN CAPITAL LIGATURE IJ
# }}}
# Other letters {{{
<Multi_key> <acute> <A> : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE
<Multi_key> <A> <acute> : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE
<Multi_key> <asciicircum> <A> : "Â" Acirc # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
<Multi_key> <A> <asciicircum> : "Â" Acirc # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
<Multi_key> <grave> <A> : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE
<Multi_key> <A> <grave> : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE
<Multi_key> <underscore> <A> : "Ā" Amacr # LATIN CAPITAL LETTER A WITH MACRON
<Multi_key> <A> <underscore> : "Ā" Amacr # LATIN CAPITAL LETTER A WITH MACRON
<Multi_key> <quotedbl> <A> : "Ä" Auml # LATIN CAPITAL LETTER A WITH DIAERESIS
<Multi_key> <A> <quotedbl> : "Ä" Auml # LATIN CAPITAL LETTER A WITH DIAERESIS
<Multi_key> <comma> <C> : "Ç" Ccedil # LATIN CAPITAL LETTER C WITH CEDILLA
<Multi_key> <C> <comma> : "Ç" Ccedil # LATIN CAPITAL LETTER C WITH CEDILLA
<Multi_key> <minus> <D> : "Đ" Dstrok # LATIN CAPITAL LETTER D WITH STROKE
<Multi_key> <D> <minus> : "Đ" Dstrok # LATIN CAPITAL LETTER D WITH STROKE
<Multi_key> <acute> <E> : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE
<Multi_key> <E> <acute> : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE
<Multi_key> <asciicircum> <E> : "Ê" Ecirc # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
<Multi_key> <E> <asciicircum> : "Ê" Ecirc # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
<Multi_key> <grave> <E> : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE
<Multi_key> <E> <grave> : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE
<Multi_key> <underscore> <E> : "Ē" Emacr # LATIN CAPITAL LETTER E WITH MACRON
<Multi_key> <E> <underscore> : "Ē" Emacr # LATIN CAPITAL LETTER E WITH MACRON
<Multi_key> <quotedbl> <E> : "Ë" Euml # LATIN CAPITAL LETTER E WITH DIAERESIS
<Multi_key> <E> <quotedbl> : "Ë" Euml # LATIN CAPITAL LETTER E WITH DIAERESIS
<Multi_key> <minus> <H> : "Ħ" Hstrok # LATIN CAPITAL LETTER H WITH STROKE
<Multi_key> <H> <minus> : "Ħ" Hstrok # LATIN CAPITAL LETTER H WITH STROKE
<Multi_key> <acute> <I> : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE
<Multi_key> <I> <acute> : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE
<Multi_key> <asciicircum> <I> : "Î" Icirc # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
<Multi_key> <I> <asciicircum> : "Î" Icirc # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
<Multi_key> <grave> <I> : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE
<Multi_key> <I> <grave> : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE
<Multi_key> <underscore> <I> : "Ī" Imacr # LATIN CAPITAL LETTER I WITH MACRON
<Multi_key> <I> <underscore> : "Ī" Imacr # LATIN CAPITAL LETTER I WITH MACRON
<Multi_key> <minus> <I> : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE
<Multi_key> <I> <minus> : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE
<Multi_key> <quotedbl> <I> : "Ï" Iuml # LATIN CAPITAL LETTER I WITH DIAERESIS
<Multi_key> <I> <quotedbl> : "Ï" Iuml # LATIN CAPITAL LETTER I WITH DIAERESIS
<Multi_key> <slash> <L> : "Ł" Lstrok # LATIN CAPITAL LETTER L WITH STROKE
<Multi_key> <L> <slash> : "Ł" Lstrok # LATIN CAPITAL LETTER L WITH STROKE
<Multi_key> <asciitilde> <N> : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE
<Multi_key> <N> <asciitilde> : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE
<Multi_key> <acute> <O> : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE
<Multi_key> <O> <acute> : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE
<Multi_key> <asciicircum> <O> : "Ô" Ocirc # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
<Multi_key> <O> <asciicircum> : "Ô" Ocirc # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
<Multi_key> <grave> <O> : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE
<Multi_key> <O> <grave> : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE
<Multi_key> <underscore> <O> : "Ō" Omacr # LATIN CAPITAL LETTER O WITH MACRON
<Multi_key> <O> <underscore> : "Ō" Omacr # LATIN CAPITAL LETTER O WITH MACRON
<Multi_key> <slash> <O> : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE
<Multi_key> <O> <slash> : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE
<Multi_key> <asciitilde> <O> : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE
<Multi_key> <O> <asciitilde> : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE
<Multi_key> <quotedbl> <O> : "Ö" Ouml # LATIN CAPITAL LETTER O WITH DIAERESIS
<Multi_key> <O> <quotedbl> : "Ö" Ouml # LATIN CAPITAL LETTER O WITH DIAERESIS
<Multi_key> <acute> <U> : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE
<Multi_key> <U> <acute> : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE
<Multi_key> <asciicircum> <U> : "Û" Ucirc # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
<Multi_key> <U> <asciicircum> : "Û" Ucirc # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
<Multi_key> <grave> <U> : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE
<Multi_key> <U> <grave> : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE
<Multi_key> <underscore> <U> : "Ū" Umacr # LATIN CAPITAL LETTER U WITH MACRON
<Multi_key> <U> <underscore> : "Ū" Umacr # LATIN CAPITAL LETTER U WITH MACRON
<Multi_key> <quotedbl> <U> : "Ü" Uuml # LATIN CAPITAL LETTER U WITH DIAERESIS
<Multi_key> <U> <quotedbl> : "Ü" Uuml # LATIN CAPITAL LETTER U WITH DIAERESIS
<Multi_key> <acute> <Y> : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE
<Multi_key> <Y> <acute> : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE
<Multi_key> <asciicircum> <Y> : "Ŷ" Ycirc # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
<Multi_key> <Y> <asciicircum> : "Ŷ" Ycirc # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
<Multi_key> <Y> <grave> : "Ỳ" U1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE
<Multi_key> <grave> <Y> : "Ỳ" U1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE
<Multi_key> <quotedbl> <Y> : "Ÿ" Yuml # LATIN CAPITAL LETTER Y WITH DIAERESIS
<Multi_key> <Y> <quotedbl> : "Ÿ" Yuml # LATIN CAPITAL LETTER Y WITH DIAERESIS
<Multi_key> <acute> <a> : "á" aacute # LATIN SMALL LETTER A WITH ACUTE
<Multi_key> <a> <acute> : "á" aacute # LATIN SMALL LETTER A WITH ACUTE
<Multi_key> <asciicircum> <a> : "â" acirc # LATIN SMALL LETTER A WITH CIRCUMFLEX
<Multi_key> <a> <asciicircum> : "â" acirc # LATIN SMALL LETTER A WITH CIRCUMFLEX
<Multi_key> <grave> <a> : "à" agrave # LATIN SMALL LETTER A WITH GRAVE
<Multi_key> <a> <grave> : "à" agrave # LATIN SMALL LETTER A WITH GRAVE
<Multi_key> <underscore> <a> : "ā" amacr # LATIN SMALL LETTER A WITH MACRON
<Multi_key> <a> <underscore> : "ā" amacr # LATIN SMALL LETTER A WITH MACRON
<Multi_key> <asciitilde> <a> : "ã" atilde # LATIN SMALL LETTER A WITH TILDE
<Multi_key> <a> <asciitilde> : "ã" atilde # LATIN SMALL LETTER A WITH TILDE
<Multi_key> <quotedbl> <a> : "ä" auml # LATIN SMALL LETTER A WITH DIAERESIS
<Multi_key> <a> <quotedbl> : "ä" auml # LATIN SMALL LETTER A WITH DIAERESIS
<Multi_key> <comma> <c> : "ç" ccedil # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <c> <comma> : "ç" ccedil # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <minus> <d> : "đ" dstrok # LATIN SMALL LETTER D WITH STROKE
<Multi_key> <d> <minus> : "đ" dstrok # LATIN SMALL LETTER D WITH STROKE
<Multi_key> <acute> <e> : "é" eacute # LATIN SMALL LETTER E WITH ACUTE
<Multi_key> <e> <acute> : "é" eacute # LATIN SMALL LETTER E WITH ACUTE
<Multi_key> <asciicircum> <e> : "ê" ecirc # LATIN SMALL LETTER E WITH CIRCUMFLEX
<Multi_key> <e> <asciicircum> : "ê" ecirc # LATIN SMALL LETTER E WITH CIRCUMFLEX
<Multi_key> <grave> <e> : "è" egrave # LATIN SMALL LETTER E WITH GRAVE
<Multi_key> <e> <grave> : "è" egrave # LATIN SMALL LETTER E WITH GRAVE
<Multi_key> <underscore> <e> : "ē" emacr # LATIN SMALL LETTER E WITH MACRON
<Multi_key> <e> <underscore> : "ē" emacr # LATIN SMALL LETTER E WITH MACRON
<Multi_key> <quotedbl> <e> : "ë" euml # LATIN SMALL LETTER E WITH DIAERESIS
<Multi_key> <e> <quotedbl> : "ë" euml # LATIN SMALL LETTER E WITH DIAERESIS
<Multi_key> <minus> <h> : "ħ" hstrok # LATIN SMALL LETTER H WITH STROKE
<Multi_key> <h> <minus> : "ħ" hstrok # LATIN SMALL LETTER H WITH STROKE
<Multi_key> <acute> <i> : "í" iacute # LATIN SMALL LETTER I WITH ACUTE
<Multi_key> <i> <acute> : "í" iacute # LATIN SMALL LETTER I WITH ACUTE
<Multi_key> <asciicircum> <i> : "î" icirc # LATIN SMALL LETTER I WITH CIRCUMFLEX
<Multi_key> <i> <asciicircum> : "î" icirc # LATIN SMALL LETTER I WITH CIRCUMFLEX
<Multi_key> <grave> <i> : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE
<Multi_key> <i> <grave> : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE
<Multi_key> <underscore> <i> : "ī" imacr # LATIN SMALL LETTER I WITH MACRON
<Multi_key> <i> <underscore> : "ī" imacr # LATIN SMALL LETTER I WITH MACRON
<Multi_key> <i> <period> : "ı" inodot # LATIN SMALL LETTER DOTLESS I
<Multi_key> <period> <i> : "ı" inodot # LATIN SMALL LETTER DOTLESS I
<Multi_key> <quotedbl> <i> : "ï" iuml # LATIN SMALL LETTER I WITH DIAERESIS
<Multi_key> <i> <quotedbl> : "ï" iuml # LATIN SMALL LETTER I WITH DIAERESIS
<Multi_key> <slash> <l> : "ł" lstrok # LATIN SMALL LETTER L WITH STROKE
<Multi_key> <l> <slash> : "ł" lstrok # LATIN SMALL LETTER L WITH STROKE
<Multi_key> <asciitilde> <n> : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE
<Multi_key> <n> <asciitilde> : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE
<Multi_key> <acute> <o> : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE
<Multi_key> <o> <acute> : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE
<Multi_key> <asciicircum> <o> : "ô" ocirc # LATIN SMALL LETTER O WITH CIRCUMFLEX
<Multi_key> <o> <asciicircum> : "ô" ocirc # LATIN SMALL LETTER O WITH CIRCUMFLEX
<Multi_key> <grave> <o> : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE
<Multi_key> <o> <grave> : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE
<Multi_key> <underscore> <o> : "ō" omacr # LATIN SMALL LETTER O WITH MACRON
<Multi_key> <o> <underscore> : "ō" omacr # LATIN SMALL LETTER O WITH MACRON
<Multi_key> <slash> <o> : "ø" oslash # LATIN SMALL LETTER O WITH STROKE
<Multi_key> <o> <slash> : "ø" oslash # LATIN SMALL LETTER O WITH STROKE
<Multi_key> <asciitilde> <o> : "õ" otilde # LATIN SMALL LETTER O WITH TILDE
<Multi_key> <o> <asciitilde> : "õ" otilde # LATIN SMALL LETTER O WITH TILDE
<Multi_key> <quotedbl> <o> : "ö" ouml # LATIN SMALL LETTER O WITH DIAERESIS
<Multi_key> <o> <quotedbl> : "ö" ouml # LATIN SMALL LETTER O WITH DIAERESIS
<Multi_key> <acute> <u> : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE
<Multi_key> <u> <acute> : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE
<Multi_key> <asciicircum> <u> : "û" ucirc # LATIN SMALL LETTER U WITH CIRCUMFLEX
<Multi_key> <u> <asciicircum> : "û" ucirc # LATIN SMALL LETTER U WITH CIRCUMFLEX
<Multi_key> <grave> <u> : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE
<Multi_key> <u> <grave> : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE
<Multi_key> <underscore> <u> : "ū" umacr # LATIN SMALL LETTER U WITH MACRON
<Multi_key> <u> <underscore> : "ū" umacr # LATIN SMALL LETTER U WITH MACRON
<Multi_key> <quotedbl> <u> : "ü" uuml # LATIN SMALL LETTER U WITH DIAERESIS
<Multi_key> <u> <quotedbl> : "ü" uuml # LATIN SMALL LETTER U WITH DIAERESIS
<Multi_key> <acute> <y> : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE
<Multi_key> <y> <acute> : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE
<Multi_key> <asciicircum> <y> : "ŷ" ycirc # LATIN SMALL LETTER Y WITH CIRCUMFLEX
<Multi_key> <y> <asciicircum> : "ŷ" ycirc # LATIN SMALL LETTER Y WITH CIRCUMFLEX
<Multi_key> <grave> <y> : "ỳ" U1EF3 # LATIN SMALL LETTER Y WITH GRAVE
<Multi_key> <y> <grave> : "ỳ" U1EF3 # LATIN SMALL LETTER Y WITH GRAVE
<Multi_key> <quotedbl> <y> : "ÿ" yuml # LATIN SMALL LETTER Y WITH DIAERESIS
<Multi_key> <y> <quotedbl> : "ÿ" yuml # LATIN SMALL LETTER Y WITH DIAERESIS
<Multi_key> <N> <G> : "Ŋ" ENG # LATIN CAPITAL LETTER ENG
<Multi_key> <n> <g> : "ŋ" eng # LATIN SMALL LETTER ENG
<Multi_key> <D> <H> : "Ð" ETH # LATIN CAPITAL LETTER ETH
<Multi_key> <d> <h> : "ð" eth # LATIN SMALL LETTER ETH
<Multi_key> <T> <H> : "Þ" THORN # LATIN CAPITAL LETTER THORN
<Multi_key> <t> <h> : "þ" thorn # LATIN SMALL LETTER THORN
<Multi_key> <S> <S> : "ẞ" U1E9E # LATIN CAPITAL LETTER SHARP S
<Multi_key> <s> <s> : "ß" szlig # LATIN SMALL LETTER SHARP S
<Multi_key> <f> <s> : "ſ" U017F # LATIN SMALL LETTER LONG S
<Multi_key> <e> <e> : "ə" U0259 # LATIN SMALL LETTER SCHWA
<Multi_key> <s> <h> : "ʃ" U0283 # LATIN SMALL LETTER ESH
<Multi_key> <z> <h> : "ʒ" U0292 # LATIN SMALL LETTER EZH
# }}}
# vim:fdl=0:fdm=marker:ic:scs:

+ 73
- 0
.aria2/aria2.conf View File

@ -0,0 +1,73 @@
# Advanced Options {{{
# Restart download from scratch if the
# corresponding control file doesn’t exist
allow-overwrite=true
# Always resume download.
always-resume=true
# Disable IPv6.
disable-ipv6=true
# Set the command to be executed after
# download completed but before seeding.
on-bt-download-complete=/home/johan/.aria2/notif.sh
# Set interval in seconds to output
# download progress summary.
summary-interval=0
# }}}
# Basic Options {{{
# Continue downloading a partially downloaded file.
continue=true
# }}}
# BitTorrent Specific Options {{{
# A torrent file is not written to
# the disk, but is just kept in memory.
follow-torrent=mem
# }}}
# FTP/SFTP Specific Options {{{
# Use the passive mode in FTP.
ftp-pasv=true
# Reuse connection in FTP.
ftp-reuse-connection=true
# }}}
# HTTP Specific Options {{{
# Send Accept: deflate, gzip request header.
http-accept-gzip=true
# Send HTTP authorization header only
# when it is requested by the server.
http-auth-challenge=true
# Set user agent for HTTP(S) downloads.
user-agent=curl/7.64.1
# }}}
# Metalink Specific Options {{{
# The location of the preferred server.
metalink-location=gr,jp,us,fr
# Specify preferred protocol.
metalink-preferred-protocol=https
# }}}
# vml:fdm=marker:fdl=0:

+ 5
- 0
.aria2/notif.sh View File

@ -0,0 +1,5 @@
#!/bin/sh
notify-send -u normal -t 2000 -i \
emblem-downloads 'Torrent' "Downloaded: $3"

+ 81
- 0
.bash_aliases View File

@ -0,0 +1,81 @@
# Aliases {{{
# Go to parent directory
alias ..='cd ..'
# Copy from file to clipboard
alias fcopy='xclip -sel c -i'
# ffprobe without banner
alias ffprobe='ffprobe -hide_banner'
# ffmpeg without banner
alias ffmpeg='ffmpeg -hide_banner'
# Paste to file from clipboard
alias fpaste='xclip -sel -c -o > '
# fzf with preview
alias fzfp='fzf --preview "rougify --theme base16.monokai.dark {}"'
# git diff for regular files
alias gdiff='git diff --no-index'
# maximum 7z compression
alias ultra7z='7z a -t7z -m0=lzma2:d=1024m -mx=9 -md=32m -ms=on -mfb=64 -aoa'
# vimcat with gruvbox colorscheme
alias vcat='vimcat -c "colors gruvbox"'
# Use neovim instead of vim
alias vim='nvim'
# neovim terminal shell
alias vish='nvim +term'
# youtube-dl download as flac
alias ytdl-flac='youtube-dl -x --audio-format flac --audio-quality 9'
# youtube-dl download as mp3
alias ytdl-mp3='youtube-dl -x --audio-format mp3 --audio-quality 320K'
# maximum zip compression
alias zip-max='7z a -tzip -mm=Deflate -mx=9 -mfb=128 -mpass=10 -aoa'
# }}}
# Enable color support of commands {{{
if test -x /usr/bin/dircolors; then
if test -r ~/.dir_colors; then eval "$(dircolors -b "$_")"
else eval "$(dircolors -b)"; fi
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# }}}
# ls aliases {{{
# -A: do not list implied . and ..
# -B: do not list implied entries ending with ~
# -F: append indicator (one of */=>@|) to entries
# -h: with -l and -s, print sizes like 1K 234M 2G etc.
# -H: follow symbolic links listed on the command line
# -l: use a long listing format
# -N: print entry names without quoting
# -1: list one file per line
alias ll='ls -lhAFH'
alias l1='ls -ANFH1'
alias l='ls -lhNFHB'
# }}}
# Switch between git & hub commands {{{
git() {
case "$1" in
alias|fork|pr) command git "$@" ;;
*) command hub "$@" ;;
esac
}
# }}}
# Add an alert function for long running commands {{{
alert() { # Use like so: sleep 10; alert
# shellcheck disable=SC2181
notify-send --urgency=low -i "$([ $? -eq 0 ] && printf terminal || printf error)" \
"$(history | tail -1 | sed -e 's/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//')"
}
# }}}
# Functions kept separately
test -f ~/.bash_funcs && . "$_"
# Secret ssh aliases
test -f ~/.ssh/aliases && . "$_"
# vim:set fdm=marker fdl=1:

+ 152
- 0
.bash_funcs View File

@ -0,0 +1,152 @@
__usage() {
if (($1 < $2)); then
printf 'Usage: %s %s\n' "${FUNCNAME[1]}" "$3"
return 0
fi
return 1
}
__isnumber() {
[[ $1 == ?([+-])+([0-9])?([.,]+([0-9])) ]]
}
count() { # Counts the number of characters in a string
__usage $# 1 '<string>' && return 1
printf '%d\n' "${#1}"
}
trim() { # Trim leading and trailing whitespace
__usage $# 1 '<string>' && return 1
: "${1#"${1%%[![:space:]]*}"}"
: "${_%"${_##*[![:space:]]}"}"
printf '%s\n' "$_"
}
dtl() { # Deletes the top lines of a file
__usage $# 2 '<file> <number>' && return 1
(($2 == 0)) && return
declare -a file
mapfile -O "$2" -tn 0 file < "$1"
printf '%s\n' "${file[@]}" > "$1"
}
dbl() { # Deletes the bottom lines of a file
__usage $# 2 '<file> <number>' && return 1
(($2 == 0)) && return
declare -a file
mapfile -tn 0 file < "$1"
printf '%s\n' "${file[@]:0:$((${#file[@]}-$2))}" > "$1"
}
rot13() { # Encodes/Decodes string in rot13
__usage $# 1 '<string>' && return 1
tr 'A-Za-z' 'N-ZA-Mn-za-m' <<< "$1"
}
pictshare() { # Uploads image to pictshare
__usage $# 1 '<file>' && return 1
curl -SsX POST -F "postimage=@$1" \
https://pictshare.net/backend.php | \
awk 'BEGIN { FS="\"" } { gsub(/\\/,""); print $16 }'
}
transh() { # Uploads file to transfer.sh
__usage $# 1 '<file> [max days] [name]' && return 1
declare file
if [ -n "${3// }" ]; then file="${3// /_}"
else : "${1%/}"; : "${_##*/}"; file="${_// /%20}"; fi
curl -Ss --upload-file "$1" -H "Max-Days: ${2:1}" \
"https://transfer.sh/$file" && printf '\n'
}
svgmin() { # Minifies and formats svg for css
__usage $# 2 '< -i FILE | -s STRING >' && return 1
declare plugins randstr
plugins="$(svgo --show-plugins | awk '
BEGIN { printf "{" }
/cleanup|remove/ { printf c $2; c="," }
END { printf "}" }')"
randstr=$(tr -cd '[:alnum:]' </dev/urandom | fold -w8 | head -1)
svgo --enable="$plugins" "$@" --datauri=encoded -o "/tmp/$randstr.svg.b64"
printf "'data:image/svg+xml;UTF8,%s'\\n" "$(<"/tmp/$randstr.svg.b64")"
rm "/tmp/$randstr.svg.b64"
}
tempconv() { # Converts Fahrenheit to Celsius and vice versa
__usage $# 2 '<c | f> <degree>' && return 1
if ! __isnumber "$2"; then
printf 'The second argument must be a number.\n' >&2
return 1
fi
case "$1" in
[Ff]) printf '%d \u02DAC\n' "$((($2 - 32) * 5 / 9))"; return ;;
[Cc]) printf '%d \u02DAF\n' "$(($2 * 9 / 5 + 32))"; return ;;
*) __usage 0 1 '<c | f> <degree>' && return 1
esac
}
rgb2hex() { # Converts rgb colour to hex
__usage $# 3 '<red> <green> <blue>' && return 1
printf '#%02x%02x%02x\n' "$1" "$2" "$3"
}
hex2rgb() { # Converts hex colour to rgb
__usage $# 1 '<hex>' && return 1
declare r g b
((r="16#${1:0:2}",g="16#${1:2:2}",b="16#${1:4:2}"))
printf '%s\n' "$r $g $b"
}
shuffle() { # Shuffles letters in string
__usage $# 1 '<string>' && return 1
perl -MList::Util=shuffle -F'' \
-lane 'print shuffle @F' <<< "$1"
}
cht() { # Searches cht.sh cheatsheet
__usage $# 2 '<language> <query>' && return 1
: "${*:2}"; curl -sS4 "cht.sh/$1/${_// /+})?Q"
}
weather() { # Show weather info from wttr.in
__usage $# 1 '<place>' && return 1
curl -sS4 "wttr.in/~${1}+${2:-Greece}" | head -n -1
}
sri() { # Prints the SRI hash of a resource
__usage $# 1 '<URL> [algorithm]' && return 1
declare sha
sha="$(curl -Ss "$1" | shasum -b \
-a "${2:-384}" - | xxd -r -p | base64)"
printf 'sha%d-%s\n' "${2:-384}" "$sha"
}
myip() { # What's my ip
dig +short myip.opendns.com @resolver1.opendns.com
}
urlencode() { # Encodes string for url
__usage $# 1 '<string>' && return 1
declare LANG=C len="${#1}" char i
for ((i = 0; i < len; ++i)); do
char="${1:i:1}"
case $char in
[a-zA-Z0-9.~_-]) printf '%s' "$char" ;;
*) printf '%%%02X' "'$char" ;;
esac
done
}
urldecode() { # Decodes urlencoded string
__usage $# 1 '<string>' && return 1
printf '%b\n' "${*//%/\\x}"
}
utf8decode() { # Decodes =?UTF-8?B?...?= string
__usage $# 1 '<string>' && return 1
[[ $1 =~ ^=\?[Uu][Tt][Ff]-8\?[Bb]\?([^?]+)\?=$ ]]
printf '%s\n' "$(base64 -d <<< "${BASH_REMATCH[1]}")"
}
# vim:set ft=sh fdm=syntax fdl=0:

+ 62
- 0
.bash_profile View File

@ -0,0 +1,62 @@
# shellcheck disable=SC2155
# Print date on login
printf '\e[1m\e[91m%s \e[90m- \e[36m%s\e[m\n\n' \
"$(date +%A,\ %B\ %e,\ %Y)" "$(date +%Z\ %:::z)"
# Ctrl + Space to expand command
bind '\C-Space':magic-space
# Case insensitive completion
bind 'set completion-ignore-case on'
# Include hidden files in glob
shopt -s dotglob
# Save multi-line commands as one command
shopt -s cmdhist
# Set the github & gitlab tokens {{{
test -f ~/.local/tokens/github && export GITHUB_TOKEN="$(<"$_")"
test -f ~/.local/tokens/gitlab && export GITLAB_TOKEN="$(<"$_")"
# }}}
# Set the default command used by fzf
export FZF_DEFAULT_COMMAND='rg --files --hidden --follow --no-ignore'
# Set the default pager to vimpager
export PAGER=vimpager
# Set the default editor to neovim
export EDITOR=nvim
# Set the default browser to firefox
export BROWSER=firefox
# Set the android sdk directory
export ANDROID_HOME=~/.android/sdk/
# Set the path used by go
export GOPATH="$HOME/.local/go"
# Set the paths used by rubygems {{{
export GEM_HOME="$HOME/.local/ruby"
export GEM_SPEC_CACHE="$GEM_HOME/specs"
export GEM_PATH="$GEM_HOME:/usr/lib/ruby/gems/2.6.0"
# }}}
# Set the search path for commands
export PATH="$HOME/.local/bin:$PATH:$GOPATH/bin:$GEM_HOME/bin:$HOME/.yarn/bin"
# Use a 256color terminal if one exists {{{
for t in {konsole,xterm,gnome}-256color; do
[ -f /usr/share/terminfo/${t:0:1}/$t ] && export TERM=$t && break
[ $t == gnome-256color ] && export TERM=xterm
done
# }}}
# Source bashrc
test -f ~/.bashrc && source ~/.bashrc
# vim:set fdm=marker fdl=1:

+ 65
- 0
.bashrc View File

@ -0,0 +1,65 @@
# If not running interactively, don't do anything
[[ $- =~ i ]] || return
# Make less more friendly for non-text input files
[ -x /usr/bin/lesspipe.sh ] && eval "$(SHELL=/bin/sh lesspipe.sh)"
# Define where cd looks for targets
[ -d ~/Documents/Code/GitHub ] && CDPATH='.:~/Documents/Code/GitHub'
__exit_code() {
declare -i ECODE=$?
if [[ $ECODE -ne 0 ]]; then
printf '[\033[m\033[38;5;196m%s\033[0m]──' $ECODE
fi
}
__parse_git() {
declare BRANCH
BRANCH="$(git symbolic-ref HEAD 2>/dev/null)"
if [ -n "$BRANCH" ]; then
if git status 2>/dev/null | grep -q 'nothing to commit'; then
printf ' (%s)' "${BRANCH#refs/heads/}"
else
printf ' {%s}' "${BRANCH#refs/heads/}"
fi
fi
}
# Set the primary prompt string # shellcheck disable=SC1117
PS1="┌──[\[\e[m\]\[\033[38;5;12m\]\t\[\e[m\]\[\e[m\]]──\$(__exit_code)[\[\e[m\]\[\033[38;5;166m\]\u\[\e[m\]\[\e[m\]:\[\e[m\]\[\033[38;5;168m\]\w\[\e[m\]\[\e[m\]\[\033[38;5;150m\]\$(__parse_git)\[\e[m\]]\n└─➤ $ \[\e[m\]"
# Don't record some commands
HISTIGNORE='&:[ ]*:exit:ls:cd:history:clear'
# Remove old duplicate commands
HISTCONTROL='erasedups'
# Get the history file away from $HOME
HISTFILE="$HOME/.cache/.bash_history"
# Print time of command in history
HISTTIMEFORMAT='{%Y-%m-%d %T} '
# Automatically trim long paths in the prompt
PROMPT_DIRTRIM=3
# Don't complete files with the following extensions
FIGNORE='~:.o:.swp:.pyc'
# Alias definitions
test -f ~/.bash_aliases && . "$_"
# Travis completion
test -f ~/.travis/travis.sh && . "$_"
# FZF completion
test -f /usr/share/fzf/completion.bash && . "$_"
# Uni configuration
test -f ~/.unirc.sh && . "$_"
: # ensure 0 exit code
# vim:set wrap lbr bri briopt=shift\:4:

+ 77
- 0
.clang-format View File

@ -0,0 +1,77 @@
---
AccessModifierOffset: 0
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignEscapedNewlines: "DontAlign"
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortFunctionsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: true
AlwaysBreakAfterReturnType: "None"
AlwaysBreakBeforeMultilineStrings: false
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: "None"
BreakBeforeBraces: "Attach"
BreakBeforeTernaryOperators: false
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: "https?://"
DerivePointerAlignment: false
IncludeBlocks: "Regroup"
IncludeCategories:
- Regex: "^<.*"
Priority: 1
- Regex: "^\".*"
Priority: 2
IndentCaseLabels: true
IndentPPDirectives: "AfterHash"
IndentWidth: 4
IndentWrappedFunctionNames: true
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 2
PointerAlignment: "Right"
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: "Never"
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 4
UseTab: "Never"
---
Language: "Cpp"
AlwaysBreakTemplateDeclarations: "No"
BreakConstructorInitializers: "AfterColon"
BreakInheritanceList: "AfterColon"
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
FixNamespaceComments: true
IncludeCategories:
- Regex: "^<.*[.]h"
Priority: 1
- Regex: "^<.*"
Priority: 2
- Regex: "^\".*[.]h"
Priority: 3
- Regex: "^\".*"
Priority: 4
NamespaceIndentation: "All"
SpaceAfterTemplateKeyword: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: false
SpaceBeforeInheritanceColon: true
SpaceBeforeRangeBasedForLoopColon: true
SpacesInAngles: false
Standard: "Cpp11"
# vim:ft=yaml:

+ 191
- 0
.clang-tidy View File

@ -0,0 +1,191 @@
---
# See https://clang.llvm.org/extra/clang-tidy/checks/list.html
# All enabled checks are explicitly defined
Checks: >
bugprone-argument-comment,
bugprone-assert-side-effect,
bugprone-bool-pointer-implicit-conversion,
bugprone-branch-clone,
bugprone-copy-constructor-init,
bugprone-dangling-handle,
bugprone-exception-escape,
bugprone-fold-init-type,
bugprone-forward-declaration-namespace,
bugprone-forwarding-reference-overload,
bugprone-inaccurate-erase,
bugprone-incorrect-roundings,
bugprone-integer-division,
bugprone-lambda-function-name,
bugprone-macro-parentheses,
bugprone-macro-repeated-side-effects,
bugprone-misplaced-operator-in-strlen-in-alloc,
bugprone-misplaced-widening-cast,
bugprone-move-forwarding-reference,
bugprone-multiple-statement-macro,
bugprone-parent-virtual-call,
bugprone-sizeof-container,
bugprone-sizeof-expression,
bugprone-string-constructor,
bugprone-string-integer-assignment,
bugprone-string-literal-with-embedded-nul,
bugprone-suspicious-enum-usage,
bugprone-suspicious-memset-usage,
bugprone-suspicious-missing-comma,
bugprone-suspicious-semicolon,
bugprone-swapped-arguments,
bugprone-terminating-continue,
bugprone-throw-keyword-missing,
bugprone-too-small-loop-variable,
bugprone-undefined-memory-manipulation,
bugprone-undelegated-constructor,
bugprone-unhandled-self-assignment,
bugprone-unused-raii,
bugprone-unused-return-value,
bugprone-use-after-move,
cert-dcl58-cpp,
cert-env33-c,
cert-err34-c,
cert-err52-cpp,
cert-err58-cpp,
cert-err60-cpp,
cert-flp30-c,
cert-msc51-cpp,
cppcoreguidelines-avoid-goto,
cppcoreguidelines-interfaces-global-init,
cppcoreguidelines-narrowing-conversions,
cppcoreguidelines-pro-type-const-cast,
cppcoreguidelines-pro-type-member-init,
cppcoreguidelines-pro-type-static-cast-downcast,
cppcoreguidelines-slicing,
cppcoreguidelines-special-member-functions,
fuchsia-multiple-inheritance,
fuchsia-trailing-return,
fuchsia-virtual-inheritance,
google-explicit-constructor,
google-global-names-in-headers,
google-readability-casting,
google-runtime-references,
hicpp-exception-baseclass,
hicpp-multiway-paths-covered,
llvm-include-order,
llvm-namespace-comment,
misc-definitions-in-headers,
misc-misplaced-const,
misc-new-delete-overloads,
misc-non-copyable-objects,
misc-non-private-member-variables-in-classes,
misc-redundant-expression,
misc-static-assert,
misc-throw-by-value-catch-by-reference,
misc-unconventional-assign-operator,
misc-uniqueptr-reset-release,
misc-unused-alias-decls,
misc-unused-parameters,
misc-unused-using-decls,
modernize-avoid-c-arrays,
modernize-deprecated-headers,
modernize-deprecated-ios-base-aliases,
modernize-loop-convert,
modernize-make-shared,
modernize-pass-by-value,
modernize-raw-string-literal,
modernize-redundant-void-arg,
modernize-replace-auto-ptr,
modernize-return-braced-init-list,
modernize-shrink-to-fit,
modernize-use-auto,
modernize-use-bool-literals,
modernize-use-default-member-init,
modernize-use-emplace,
modernize-use-equals-default,
modernize-use-equals-delete,
modernize-use-override,
modernize-use-uncaught-exceptions,
performance-faster-string-find,
performance-for-range-copy,
performance-implicit-conversion-in-loop,
performance-inefficient-algorithm,
performance-inefficient-string-concatenation,
performance-inefficient-vector-operation,
performance-move-const-arg,
performance-move-constructor-init,
performance-type-promotion-in-math-fn,
performance-unnecessary-copy-initialization,
performance-unnecessary-value-param,
readability-const-return-type,
readability-container-size-empty,
readability-delete-null-pointer,
readability-deleted-default,
readability-implicit-bool-conversion,
readability-inconsistent-declaration-parameter-name,
readability-magic-numbers,
readability-misleading-indentation,
readability-misplaced-array-index,
readability-named-parameter,
readability-non-const-parameter,
readability-redundant-control-flow,
readability-redundant-declaration,
readability-redundant-function-ptr-dereference,
readability-redundant-member-init,
readability-redundant-preprocessor,
readability-redundant-smartptr-get,
readability-redundant-string-cstr,
readability-redundant-string-init,
readability-simplify-boolean-expr,
readability-simplify-subscript-expr,
readability-static-accessed-through-instance,
readability-static-definition-in-anonymous-namespace,
readability-string-compare,
readability-uniqueptr-delete-release
WarningsAsErrors: >
bugprone-assert-side-effect,
bugprone-exception-escape,
bugprone-misplaced-operator-in-strlen-in-alloc,
bugprone-misplaced-widening-cast,
bugprone-multiple-statement-macro,
bugprone-string-constructor,
bugprone-string-literal-with-embedded-nul,
bugprone-suspicious-memset-usage,
cppcoreguidelines-interfaces-global-init,
hicpp-exception-baseclass,
misc-non-copyable-objects,
performance-implicit-conversion-in-loop,
readability-misplaced-array-index,
readability-redundant-declaration,
readability-redundant-function-ptr-dereference
HeaderFilterRegex: .*
FormatStyle: file
CheckOptions:
- key: bugprone-argument-comment.StrictMode
value: true
- key: bugprone-misplaced-widening-cast.CheckImplicitCasts
value: true
- key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression
value: true
- key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison
value: true
- key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
value: true
- key: cppcoreguidelines-pro-type-member-init.UseAssignment
value: true
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
value: true
- key: misc-throw-by-value-catch-by-reference.WarnOnLargeObject
value: true
- key: modernize-use-default-member-init.UseAssignment
value: true
- key: performance-inefficient-string-concatenation.StrictMode
value: true
- key: readability-inconsistent-declaration-parameter-name.Strict
value: true
- key: readability-magic-numbers.IgnoredIntegerValues
value: "1;2;4;8;10"
- key: readability-magic-numbers.IgnoredFloatingPointValues
value: "1.0"
- key: readability-simplify-boolean-expr.ChainedConditionalReturn
value: true
- key: readability-simplify-boolean-expr.ChainedConditionalAssignment
value: true
# vim:ft=yaml:

+ 55
- 0
.config/fontconfig/fonts.conf View File

@ -0,0 +1,55 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<edit mode="assign" name="autohint">
<bool>true</bool>
</edit>
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<alias>
<family>monospace</family>
<prefer>
<family>Hack</family>
<family>Fira Code</family>
<family>Code New Roman</family>
<family>Fantasque Sans Mono</family>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
<alias>
<family>sans</family>
<prefer>
<family>Noto Sans</family>
<family>DejaVu Sans</family>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>DejaVu Serif</family>
<family>Noto Serif CJK JP</family>
</prefer>
</alias>
<dir>~/.local/share/fonts</dir>
</fontconfig>

+ 29
- 0
.config/htop/htoprc View File

@ -0,0 +1,29 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=48
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=1
highlight_megabytes=0
highlight_threads=1
tree_view=1
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=5
delay=15
left_meters=AllCPUs Memory Swap
left_meter_modes=2 2 2
right_meters=CPU LoadAverage Tasks Uptime Clock
right_meter_modes=2 2 2 2 2
# vim:ft=cfg:

+ 28
- 0
.config/konsolerc View File

@ -0,0 +1,28 @@
[Desktop Entry]
DefaultProfile=Default.profile
[DownloadDialog Settings]
Height 768=510
Width 1366=700
[Favorite Profiles]
Favorites=Default.profile,NvimTerm.profile
[FileDialogSize]
Height 768=619
Width 1366=1004
[MainWindow]
Height 1080=619
Height 720=370
Height 768=619
State=AAAA/wAAAAD9AAAAAAAAA+wAAAJNAAAABAAAAAQAAAAIAAAACPwAAAAA
ToolBarsMovable=Disabled
Width 1024=648
Width 1280=640
Width 1366=1004
Width 1920=1004
Window-Maximized 768x1024=true
[TabBar]
TabBarVisibility=ShowTabBarWhenNeeded

+ 4
- 0
.config/mpv/input.conf View File

@ -0,0 +1,4 @@
k add sub-scale -0.1
K add sub-scale +0.1
WHEEL_UP add volume 5
WHEEL_DOWN add volume -5

+ 93
- 0
.config/mpv/mpv.conf View File

@ -0,0 +1,93 @@
# Audio {{{
# Specify the audio output drivers to be used.
ao=alsa
# }}}
# Miscellaneous {{{
# How the player synchronizes audio and video.
video-sync=display-resample
# }}}
# Network {{{
# User agent for HTTP streaming.
user-agent="Mozilla/5.0 (X11; Linux x86_64) mpv/0.29.1"
# }}}
# OSD {{{
# Set the duration of the OSD messages in ms.
osd-duration=750
# Specify font to use for OSD.
osd-font="Fantasque Sans Mono"
# }}}
# Program Behavior {{{
# Makes mpv wait idly instead of quitting
# when there is no file to play.
idle=yes
# Always save the current playback position on quit.
save-position-on-quit=yes
# Video format/quality that is directly passed to youtube-dl.
ytdl-format=bestvideo+bestaudio
# }}}
# Screenshot {{{
# Store screenshots in this directory.
screenshot-directory=~/Pictures/
# Set the image file type used for saving screenshots.
screenshot-format=png
# Set the PNG compression level.
screenshot-png-compression=8
# Specify the filename template used to save screenshots.
screenshot-template=shot_%F_%p
# }}}
# Video {{{
# Specify the hardware video decoding API
# that should be used if possible.
hwdec=vaapi
# Specify the video output backend to be used.
vo=vaapi
# }}}
# Window {{{
# Do not terminate when playing or seeking
# beyond the end of the file.
keep-open=yes
# In multi-monitor configurations, this option
# tells mpv which screen to display the video on.
screen=1
# }}}
# Subtitles {{{
# Specify the position of subtitles on the screen.
sub-pos=95
# }}}
# vim:ft=cfg:fdm=marker:fdl=0:

+ 36
- 0
.config/pip/pip.conf View File

@ -0,0 +1,36 @@
[global]
# Don't periodically check PyPI to determine whether
# a new version of pip is available for download.
disable-pip-version-check = true
[download]
# Include pre-release and development versions.
pre = true
# Do not use binary packages.
no-binary = :all:
# Specify type of progress to be displayed.
progress-bar = pretty
[freeze]
# Exclude editable package from output.
exclude-editable = true
# If in a virtualenv that has global access,
# do not output globally-installed packages.
local = true
[install]
# Compile Python source files to bytecode.
compile = true
# Include pre-release and development versions.
pre = true
# Specify type of progress to be displayed.
progress-bar = pretty
[wheel]
# Include pre-release and development versions.
pre = true
# Specify type of progress to be displayed.
progress-bar = pretty
# vim:cfg=dosini:

+ 3
- 0
.config/pip/requirements.txt View File

@ -0,0 +1,3 @@
glances[cpuinfo,ip,web,wifi]; python_version > '2.7'
ptpython
pynvim

+ 14
- 0
.config/plasma-localerc View File

@ -0,0 +1,14 @@
[Formats]
LANG=en_GB.UTF-8
LC_COLLATE=C
LC_MEASUREMENT=C
LC_MONETARY=el_GR.UTF-8
LC_NUMERIC=C
LC_TIME=C
useDetailed=true
[Translations]
LANGUAGE=en_GB
# vim:ft=cfg:

+ 11
- 0
.config/pycodestyle View File

@ -0,0 +1,11 @@
[pycodestyle]
# W391: blank line at end of file
# W504: line break after binary operator
# E701: multiple statements on one line (colon)
# E704: multiple statements on one line (def)
# E731: do not assign a lambda expression, use a def
ignore = W391,W504,E701,E704,E731
max_line_length = 80
# vim:ft=cfg:

+ 106
- 0
.config/qutebrowser/config.py View File

@ -0,0 +1,106 @@
# Default encoding to use for websites.
c.content.default_encoding = 'utf-8'
# Value to send in the Accept-Language header.
c.content.headers.accept_language = 'en_GB,en'
# User agent to send.
c.content.headers.user_agent = ' '.join([
'Mozilla/5.0',
'(X11; Linux x86_64)',
'QtWebEngine/5.12.3',
'qutebrowser/1.6.2'
])
# Allow JavaScript to read from or write to the clipboard.
c.content.javascript.can_access_clipboard = True
# Allow pdf.js to view PDF files in the browser.
c.content.pdfjs = True
# Validate SSL handshakes.
c.content.ssl_strict = True
# Enable WebGL.
c.content.webgl = False
# Editor (and arguments) to use
# for the open-editor command.
c.editor.command = [
'konsole', '-e',
'nvim', '{file}',
'-c', 'normal {line}G{column0}l'
]
# Default monospace fonts.
c.fonts.monospace = ','.join([
'Hack',
'Fira Code',
'Code New Roman',
'Fantasque Sans Mono',
'DejaVu Sans Mono'
])
# Which Chromium process model to use.
c.qt.process_model = 'process-per-site'
# Languages to use for spell checking.
c.spellcheck.languages = [
'en-GB',
'en-US',
'el-GR'
]
# List of widgets displayed in the statusbar.
c.statusbar.widgets = [
'keypress',
'url',
'history',
'tabs',
'progress'
]
# Page(s) to open at the start.
c.url.start_pages = [ # {{{1
"""https://search.disroot.org/?preferences=
eJx1lMFu2zAMhp9mvhgZtvWwkw_DimEFBrRY0l0FWmJ
szrJoiHIS7-lHJXHsdt3Fhkjx50eKUkQZfRLDwQQ8mg
R19Q28YOGYTERhf8BYiaVNO9bv07HwEJoRGqwwbJ63h
WcLPi8KRwK1R2cGPzYUpCqo131miHyaql0csYAxseV-
8JiwKgT2KAjRttWHIrXYY8ViIRYYXgo9Dhgyi4IaT6G
70daRj4IxU8u7T18fwp4CJTRiI3uvlu-73dNWQ49Rzb
reRbCdBjz__KHWnrU2tf6ifuOpQ9Ny6nDKUlv0e6N6H
HtIxOFiy6w5t4WEDcfJCHq0SX1nxC_Wooi5f3yYUy5N
waCloFT7iFgK79MRIpaOosZnJUNZ5sCQjBG2BL7s0RG
okQIYcyCHnCnGIIMHaTUitzebGubGY6nmqYRhEGP25M
-e-9Epl2kwYITcEGvtJh1Wcg01CgiS1rtaqCPkzxUrT
AD_ydePQtaY809dEwSHp7UW2EZ4XHY0iF2iHuWF9uzt
SY8ut6cECw77rK3Dh8Hm43PU1GkFP2sv1azJ-EA5y83
58bSqQRDdgDoKS2r-rWhvob8RdBNFHUFy66g9RGaT5z
P7PWkr41Rmv5C8kNdpogOWL601pXrUIU3X_kzQZrmVf
tQrQGBXXIm7iRNLyx2EpaIryRJ66fWNvZ96vQMKlyIE
8TrU7q3y52Fqz829Yi2tmN0X8Xn1CumW83qEM-KrbXO
04J8A_RpGjiRi9bqvj8NCiKWkONo0xnzWy6hcHhbLDs
v8makXlUX6493d59O_iGeW21s039-ix9Syq54et7vi-
g7omFVXueL8gm0kTfooem4oJz9sHMTuL4eaCf8=
""".replace('\n', '').replace(' ', '')
] # }}}
# Search engines which can be used via the address bar.
c.url.searchengines = {
'DEFAULT': c.url.start_pages[0] + '&q={}',
'g': 'https://google.com/?q={}',
'q': 'https://qwant.com/?q={}'
}
# Keybindings {{{0
config.bind('<Ctrl-Shift-I>', 'inspector')
config.bind(';m', 'spawn mpv {url}')
config.bind(';M', 'hint links spawn mpv {hint-url}')
# }}}
# Load autoconfig.yml
config.load_autoconfig()
# vim:fdm=marker:fdl=0:fdt=getline(v\:foldstart):

+ 29
- 0
.config/yarn/global/package.json View File

@ -0,0 +1,29 @@
{
"dependencies": {
"@types/node": "^12.0.0",
"american-british-english-translator": "^0.1.2",
"coffeescript": "^2.4.1",
"cssmin": "^0.4.3",
"eslint": "^5.16.0",
"grunt-cli": "^1.3.2",
"gulp-cli": "^2.2.0",
"htmlhint": "^0.11.0",
"livescript": "^1.6.0",
"neovim": "^4.5.0",
"node-sass": "^4.12.0",
"package-json-to-readme": "^2.1.1",
"package-size": "^2.3.0",
"pug-cli": "^1.0.0-alpha6",
"pug-lint": "^2.5.0",
"stylelint": "^10.0.1",
"stylelint-scss": "^3.6.1",
"svgo": "^1.2.2",
"tern": "^0.23.0",
"ts-node": "^8.1.0",
"typescript": "^3.4.5",
"webtorrent-cli": "BlackLight/webtorrent-cli"
},
"resolutions": {
"flatten": "npm:array-flatten"
}
}

+ 40
- 0
.config/yay/config.json View File

@ -0,0 +1,40 @@
{
"aururl": "https://aur.archlinux.org",
"buildDir": "$HOME/.cache/yay",
"editor": "nvim",
"editorflags": "",
"makepkgbin": "makepkg",
"makepkgconf": "/etc/makepkg.conf",
"pacmanbin": "pacman",
"pacmanconf": "/etc/pacman.conf",
"tarbin": "bsdtar",
"redownload": "no",
"rebuild": "no",
"answerclean": "",
"answerdiff": "",
"answeredit": "",
"answerupgrade": "",
"gitbin": "git",
"gpgbin": "gpg2",
"gpgflags": "",
"mflags": "",
"sortby": "votes",