diff --git a/alacritty/.config/alacritty/alacritty.yml b/alacritty/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..1aae148 --- /dev/null +++ b/alacritty/.config/alacritty/alacritty.yml @@ -0,0 +1,251 @@ +font: + # The normal (roman) font face to use. + size: 11 + normal: + family: Droid Sans Mono Slashed for Powerline + # Style can be specified to pick a specific face. + style: Regular + + # The bold font face + bold: + family: Droid Sans Mono Slashed for Powerline + # Style can be specified to pick a specific face. + # style: Bold + + # The italic font face + italic: + family: Droid Sans Mono Slashed for Powerline + # Style can be specified to pick a specific face. + # style: Italic + +colors: + # Default colors + primary: + background: '0x002b36' + foreground: '0x839496' + + # Normal colors + normal: + black: '0x073642' + red: '0xdc322f' + green: '0x859900' + yellow: '0xb58900' + blue: '0x268bd2' + magenta: '0xd33682' + cyan: '0x2aa198' + white: '0xeee8d5' + + # Bright colors + bright: + black: '0x002b36' + red: '0xcb4b16' + green: '0x586e75' + yellow: '0x657b83' + blue: '0x839496' + magenta: '0x6c71c4' + cyan: '0x93a1a1' + white: '0xfdf6e3' + +visual_bell: + animation: EaseOutExpo + duration: 0 + +mouse_bindings: + - { mouse: Middle, action: PasteSelection } + +mouse: + # Click settings + # + # The `double_click` and `triple_click` settings control the time + # alacritty should wait for accepting multiple clicks as one double + # or triple click. + double_click: { threshold: 300 } + triple_click: { threshold: 300 } + + # Faux Scrollback + # + # The `faux_scrollback_lines` setting controls the number + # of lines the terminal should scroll when the alternate + # screen buffer is active. This is used to allow mouse + # scrolling for applications like `man`. + # + # To disable this completely, set `faux_scrollback_lines` to 0. + faux_scrolling_lines: 1 + +selection: + semantic_escape_chars: ",│`|:\"' ()[]{}<>" + +dynamic_title: true + +hide_cursor_when_typing: false + +# Style of the cursor +# +# Values for 'cursor_style': +# - Block +# - Underline +# - Beam +cursor_style: Block + +# Whether the cursor should be a hollow block on window focus loss +unfocused_hollow_cursor: true + +# Live config reload (changes require restart) +live_config_reload: true + +# Shell +# +# You can set shell.program to the path of your favorite shell, e.g. /bin/fish. +# Entries in shell.args are passed unmodified as arguments to the shell. +# +# shell: +# program: /bin/bash +# args: +# - --login + +# Key bindings +# +# Each binding is defined as an object with some properties. Most of the +# properties are optional. All of the alphabetical keys should have a letter for +# the `key` value such as `V`. Function keys are probably what you would expect +# as well (F1, F2, ..). The number keys above the main keyboard are encoded as +# `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`, +# etc. These all match the glutin::VirtualKeyCode variants. +# +# A list with all available `key` names can be found here: +# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants +# +# Possible values for `mods` +# `Command`, `Super` refer to the super/command/windows key +# `Control` for the control key +# `Shift` for the Shift key +# `Alt` and `Option` refer to alt/option +# +# mods may be combined with a `|`. For example, requiring control and shift +# looks like: +# +# mods: Control|Shift +# +# The parser is currently quite sensitive to whitespace and capitalization - +# capitalization must match exactly, and piped items must not have whitespace +# around them. +# +# Either an `action`, `chars`, or `command` field must be present. +# `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`. +# `chars` writes the specified string every time that binding is activated. +# These should generally be escape sequences, but they can be configured to +# send arbitrary strings of bytes. +# `command` must be a map containing a `program` string, and `args` array of +# strings. For example: +# - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } } +# +# Want to add a binding (e.g. "PageUp") but are unsure what the X sequence +# (e.g. "\x1b[5~") is? Open another terminal (like xterm) without tmux, +# then run `showkey -a` to get the sequence associated to a key combination. +key_bindings: + - { key: V, mods: Control|Shift, action: Paste } + - { key: C, mods: Control|Shift, action: Copy } + - { key: Paste, action: Paste } + - { key: Copy, action: Copy } + - { key: Q, mods: Command, action: Quit } + - { key: W, mods: Command, action: Quit } + - { key: Insert, mods: Shift, action: PasteSelection } + - { key: Key0, mods: Control, action: ResetFontSize } + - { key: Equals, mods: Control, action: IncreaseFontSize } + - { key: Subtract, mods: Control, action: DecreaseFontSize } + - { key: Home, chars: "\x1bOH", mode: AppCursor } + - { key: Home, chars: "\x1b[H", mode: ~AppCursor } + - { key: End, chars: "\x1bOF", mode: AppCursor } + - { key: End, chars: "\x1b[F", mode: ~AppCursor } + - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } + - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } + - { key: PageUp, chars: "\x1b[5~" } + - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } + - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } + - { key: PageDown, chars: "\x1b[6~" } + - { key: Tab, mods: Shift, chars: "\x1b[Z" } + - { key: Back, chars: "\x7f" } + - { key: Back, mods: Alt, chars: "\x1b\x7f" } + - { key: Insert, chars: "\x1b[2~" } + - { key: Delete, chars: "\x1b[3~" } + - { key: Left, mods: Shift, chars: "\x1b[1;2D" } + - { key: Left, mods: Control, chars: "\x1b[1;5D" } + - { key: Left, mods: Alt, chars: "\x1b[1;3D" } + - { key: Left, chars: "\x1b[D", mode: ~AppCursor } + - { key: Left, chars: "\x1bOD", mode: AppCursor } + - { key: Right, mods: Shift, chars: "\x1b[1;2C" } + - { key: Right, mods: Control, chars: "\x1b[1;5C" } + - { key: Right, mods: Alt, chars: "\x1b[1;3C" } + - { key: Right, chars: "\x1b[C", mode: ~AppCursor } + - { key: Right, chars: "\x1bOC", mode: AppCursor } + - { key: Up, mods: Shift, chars: "\x1b[1;2A" } + - { key: Up, mods: Control, chars: "\x1b[1;5A" } + - { key: Up, mods: Alt, chars: "\x1b[1;3A" } + - { key: Up, chars: "\x1b[A", mode: ~AppCursor } + - { key: Up, chars: "\x1bOA", mode: AppCursor } + - { key: Down, mods: Shift, chars: "\x1b[1;2B" } + - { key: Down, mods: Control, chars: "\x1b[1;5B" } + - { key: Down, mods: Alt, chars: "\x1b[1;3B" } + - { key: Down, chars: "\x1b[B", mode: ~AppCursor } + - { key: Down, chars: "\x1bOB", mode: AppCursor } + - { key: F1, chars: "\x1bOP" } + - { key: F2, chars: "\x1bOQ" } + - { key: F3, chars: "\x1bOR" } + - { key: F4, chars: "\x1bOS" } + - { key: F5, chars: "\x1b[15~" } + - { key: F6, chars: "\x1b[17~" } + - { key: F7, chars: "\x1b[18~" } + - { key: F8, chars: "\x1b[19~" } + - { key: F9, chars: "\x1b[20~" } + - { key: F10, chars: "\x1b[21~" } + - { key: F11, chars: "\x1b[23~" } + - { key: F12, chars: "\x1b[24~" } + - { key: F1, mods: Shift, chars: "\x1b[1;2P" } + - { key: F2, mods: Shift, chars: "\x1b[1;2Q" } + - { key: F3, mods: Shift, chars: "\x1b[1;2R" } + - { key: F4, mods: Shift, chars: "\x1b[1;2S" } + - { key: F5, mods: Shift, chars: "\x1b[15;2~" } + - { key: F6, mods: Shift, chars: "\x1b[17;2~" } + - { key: F7, mods: Shift, chars: "\x1b[18;2~" } + - { key: F8, mods: Shift, chars: "\x1b[19;2~" } + - { key: F9, mods: Shift, chars: "\x1b[20;2~" } + - { key: F10, mods: Shift, chars: "\x1b[21;2~" } + - { key: F11, mods: Shift, chars: "\x1b[23;2~" } + - { key: F12, mods: Shift, chars: "\x1b[24;2~" } + - { key: F1, mods: Control, chars: "\x1b[1;5P" } + - { key: F2, mods: Control, chars: "\x1b[1;5Q" } + - { key: F3, mods: Control, chars: "\x1b[1;5R" } + - { key: F4, mods: Control, chars: "\x1b[1;5S" } + - { key: F5, mods: Control, chars: "\x1b[15;5~" } + - { key: F6, mods: Control, chars: "\x1b[17;5~" } + - { key: F7, mods: Control, chars: "\x1b[18;5~" } + - { key: F8, mods: Control, chars: "\x1b[19;5~" } + - { key: F9, mods: Control, chars: "\x1b[20;5~" } + - { key: F10, mods: Control, chars: "\x1b[21;5~" } + - { key: F11, mods: Control, chars: "\x1b[23;5~" } + - { key: F12, mods: Control, chars: "\x1b[24;5~" } + - { key: F1, mods: Alt, chars: "\x1b[1;6P" } + - { key: F2, mods: Alt, chars: "\x1b[1;6Q" } + - { key: F3, mods: Alt, chars: "\x1b[1;6R" } + - { key: F4, mods: Alt, chars: "\x1b[1;6S" } + - { key: F5, mods: Alt, chars: "\x1b[15;6~" } + - { key: F6, mods: Alt, chars: "\x1b[17;6~" } + - { key: F7, mods: Alt, chars: "\x1b[18;6~" } + - { key: F8, mods: Alt, chars: "\x1b[19;6~" } + - { key: F9, mods: Alt, chars: "\x1b[20;6~" } + - { key: F10, mods: Alt, chars: "\x1b[21;6~" } + - { key: F11, mods: Alt, chars: "\x1b[23;6~" } + - { key: F12, mods: Alt, chars: "\x1b[24;6~" } + - { key: F1, mods: Super, chars: "\x1b[1;3P" } + - { key: F2, mods: Super, chars: "\x1b[1;3Q" } + - { key: F3, mods: Super, chars: "\x1b[1;3R" } + - { key: F4, mods: Super, chars: "\x1b[1;3S" } + - { key: F5, mods: Super, chars: "\x1b[15;3~" } + - { key: F6, mods: Super, chars: "\x1b[17;3~" } + - { key: F7, mods: Super, chars: "\x1b[18;3~" } + - { key: F8, mods: Super, chars: "\x1b[19;3~" } + - { key: F9, mods: Super, chars: "\x1b[20;3~" } + - { key: F10, mods: Super, chars: "\x1b[21;3~" } + - { key: F11, mods: Super, chars: "\x1b[23;3~" } + - { key: F12, mods: Super, chars: "\x1b[24;3~" } + diff --git a/bash/.bashrc b/bash/.bashrc index 391bdf9..f6309a6 100644 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -151,6 +151,7 @@ GIT_PS1_SHOWUNTRACKEDFILES="auto" GIT_PS1_STATESEPARATOR=" " #source /home/jfm/Repositories/bash-git-prompt/gitprompt.sh source /usr/share/git/completion/git-prompt.sh +eval "$(pipenv --completion)" PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' #Disable CapsLock @@ -182,4 +183,4 @@ alias tdc="cd /home/jfm/Customers/TDC" alias prod="ssh -fN sochi" alias top="htop" alias ssh="TERM=xterm-256color ssh" -alias vim="nvim" +alias vim="nvr -s --remote" diff --git a/i3/.i3/config b/i3/.i3/config index d789b12..8f277b6 100644 --- a/i3/.i3/config +++ b/i3/.i3/config @@ -27,7 +27,7 @@ font xft:DejaVu Sans Mono for Powerline 14 floating_modifier $mod # start a terminal -bindsym $mod+Return exec kitty +bindsym $mod+Return exec termite # kill focused window bindsym $mod+Shift+q kill @@ -129,7 +129,7 @@ bindsym $mod+Ctrl+Left workspace prev # to display names or symbols instead of plain workspace numbers you can use # something like: set $ws1 1:mail # set $ws2 2: -set $ws0 0:TimeWaste +set $ws0 0:IRC set $ws1 1:Comms set $ws2 2:Web set $ws3 3:IDE @@ -190,6 +190,7 @@ bindsym $mod+Ctrl+0 exec --no-startup-id ~/.i3/workspaces/ws00.sh for_window [class="Nitrogen"] floating enable sticky enable border normal for_window [class="feh"] floating enable sticky enable border normal for_window [class="mpv"] floating enable sticky enable border normal +for_window [class="vlc"] floating enable sticky enable border normal # reload the configuration file bindsym $mod+Shift+c reload diff --git a/i3/.i3/layouts/workspace0-irc.json b/i3/.i3/layouts/workspace0-irc.json new file mode 100644 index 0000000..a63e874 --- /dev/null +++ b/i3/.i3/layouts/workspace0-irc.json @@ -0,0 +1,21 @@ +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 434, + "width": 738, + "x": 0, + "y": 0 + }, + "name": "WeeChat", + "percent": 1, + "swallows": [ + { + "class": "^Termite$", + "title": "^weechat$" + } + ], + "type": "con" +} + diff --git a/i3/.i3/layouts/workspace0-timewaste.json b/i3/.i3/layouts/workspace0-timewaste.json index 2fd37e4..e22fce8 100644 --- a/i3/.i3/layouts/workspace0-timewaste.json +++ b/i3/.i3/layouts/workspace0-timewaste.json @@ -19,7 +19,7 @@ "percent": 0.5, "swallows": [ { - "class": "^kitty$", + "class": "^Termite$", "title": "^hackernews$" } ], @@ -40,7 +40,7 @@ "percent": 0.5, "swallows": [ { - "class": "^kitty$", + "class": "^Termite$", "title": "^rtv$", } ], diff --git a/i3/.i3/layouts/workspace4-work.json b/i3/.i3/layouts/workspace4-work.json index 2c92a80..5d4ec5e 100644 --- a/i3/.i3/layouts/workspace4-work.json +++ b/i3/.i3/layouts/workspace4-work.json @@ -11,7 +11,7 @@ "x": 1920, "y": 0 }, - "name": "Shell 1", + "name": "VIM", "percent": 0.6, "swallows": [ { @@ -36,7 +36,7 @@ "x": 0, "y": 0 }, - "name": "jfm@moerks: ~", + "name": "shell1", "percent": 0.5, "swallows": [ { @@ -56,7 +56,7 @@ "x": 0, "y": 0 }, - "name": "Shell 2", + "name": "shell2", "percent": 0.5, "swallows": [ { diff --git a/i3/.i3/layouts/workspace9-news.json b/i3/.i3/layouts/workspace9-news.json index 7d3c789..0bf0a1d 100644 --- a/i3/.i3/layouts/workspace9-news.json +++ b/i3/.i3/layouts/workspace9-news.json @@ -1,30 +1,11 @@ { + "border": "pixel", "floating": "auto_off", "layout": "splitv", - "percent": 1, + "percent": 0.5, "type": "con", "nodes": [ - { - "border": "pixel", - "current_border_width": 1, - "floating": "auto_off", - "geometry": { - "height": 410, - "width": 654, - "x": 0, - "y": 0 - }, - "name": "newsboat", - "percent": 0.5, - "swallows": [ - { - "instance": "^kitty$", - "title": "^newsboat$" - } - ], - "type": "con" - }, { "border": "pixel", "current_border_width": 1, @@ -39,12 +20,60 @@ "percent": 0.5, "swallows": [ { - "instance": "^kitty$", - "title": "^weechat$" + "class": "^Termite$", + "title": "^newsboat$" } ], "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "layout": "splith", + "percent": 0.5, + "type": "con", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 434, + "width": 738, + "x": 0, + "y": 0 + }, + "name": "Reddit", + "percent": 0.5, + "swallows": [ + { + "class": "^Termite$", + "title": "^rtv$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 434, + "width": 738, + "x": 0, + "y": 0 + }, + "name": "Hacker News", + "percent": 0.5, + "swallows": [ + { + "class": "^Termite$", + "title": "^hackernews$" + } + ], + "type": "con" + } + ] } ] } - diff --git a/i3/.i3/scripts/home-layout.sh b/i3/.i3/scripts/home-layout.sh index a6f03fa..695249f 100755 --- a/i3/.i3/scripts/home-layout.sh +++ b/i3/.i3/scripts/home-layout.sh @@ -4,8 +4,8 @@ ENV_FILE="/home/jfm/.i3/env" /bin/cat <$ENV_FILE export LAPTOP="eDP1" -export PRIMARY="HDMI1" -export SECONDARY="eDP1" +export PRIMARY="eDP1" +export SECONDARY="HDMI1" export LDPI_PROFILE="default" export HDPI_PROFILE="laptop" diff --git a/i3/.i3/workspaces/ws00.sh b/i3/.i3/workspaces/ws00.sh index 02ee99a..6f06cc1 100755 --- a/i3/.i3/workspaces/ws00.sh +++ b/i3/.i3/workspaces/ws00.sh @@ -1,6 +1,5 @@ #!/bin/bash . ~/.i3/env -i3-msg "workspace 0:TimeWaste; append_layout ~/.i3/layouts/workspace0-timewaste.json" -i3-msg "workspace 0:TimeWaste; exec kitty -T hackernews hn" -i3-msg "workspace 0:TimeWaste; exec kitty -T rtv rtv --enable-media" -i3-msg "workspace 0:TimeWaste; move workspace to output $SECONDARY" +i3-msg "workspace 0:IRC; append_layout ~/.i3/layouts/workspace0-irc.json" +i3-msg "workspace 0:IRC; exec termite -t weechat -e weechat" +i3-msg "workspace 0:IRC; move workspace to output $SECONDARY" diff --git a/i3/.i3/workspaces/ws04.sh b/i3/.i3/workspaces/ws04.sh index da1ff38..44a04fc 100755 --- a/i3/.i3/workspaces/ws04.sh +++ b/i3/.i3/workspaces/ws04.sh @@ -4,5 +4,5 @@ i3-msg "workspace 4:Work; append_layout ~/.i3/layouts/workspace4-work.json" i3-msg "workspace 4:Work; exec termite -t shell1" i3-msg "workspace 4:Work; exec termite -t shell2" -i3-msg "workspace 4:Work; exec termite -t vim -e nvim" +i3-msg "workspace 4:Work; exec termite -t vim -e 'nvr -s --remote'" i3-msg "workspace 4:Work; move workspace to output $PRIMARY" diff --git a/i3/.i3/workspaces/ws09.sh b/i3/.i3/workspaces/ws09.sh index 585dd89..e53cf2c 100755 --- a/i3/.i3/workspaces/ws09.sh +++ b/i3/.i3/workspaces/ws09.sh @@ -1,6 +1,7 @@ #!/bin/bash . ~/.i3/env i3-msg "workspace 9:News; append_layout ~/.i3/layouts/workspace9-news.json" -i3-msg "workspace 9:News; exec kitty -T newsboat newsboat" -i3-msg "workspace 9:News; exec kitty -T weechat weechat" +i3-msg "workspace 9:News; exec termite -t newsboat -e newsboat" +i3-msg "workspace 9:News; exec termite -t hackernews -d '/home/jfm/Repositories/bark' -e 'pipenv run python Bark.py'" +i3-msg "workspace 9:News; exec termite -t rtv -e 'rtv --enable-media --theme solarized-dark'" i3-msg "workspace 9:News; move workspace to output $SECONDARY" diff --git a/neovim/.config/nvim/init.vim b/neovim/.config/nvim/init.vim index 935be47..0c1e13e 100644 --- a/neovim/.config/nvim/init.vim +++ b/neovim/.config/nvim/init.vim @@ -10,6 +10,7 @@ set tabstop=2 set expandtab set number set autoread +set hidden set background=dark set rtp^=/usr/share/vim/vimfiles/ colorscheme solarized @@ -25,7 +26,7 @@ let g:airline_solarized_bg='dark' let g:ycm_python_binary_path = '/usr/bin/python3' let g:ycm_server_python_interpreter = 'python2' let g:ycm_autoclose_preview_window_after_completion=1 -let g:ycm_min_num_of_chars_for_completion=10 +let g:ycm_min_num_of_chars_for_completion=5 "Mappings :nmap :w