From bd9a192b4b0bedc3c8e88812ee7b62ba4aac07ee Mon Sep 17 00:00:00 2001 From: Shawn Anderson Date: Wed, 23 Sep 2020 02:07:49 -0700 Subject: [PATCH] Finally got the structure down for dotfiles with stow. --- README.md | 10 + dotfiles/.config/alacritty/alacritty.yml | 613 ++++++++++++++++++ dotfiles/.config/autostart/essentials.desktop | 8 + dotfiles/.config/cmus/autosave | 211 ++++++ dotfiles/.config/cmus/cache | Bin 0 -> 37778 bytes dotfiles/.config/cmus/command-history | 15 + dotfiles/.config/cmus/lib.pl | 136 ++++ dotfiles/.config/cmus/playlists/LadyZenaida | 11 + dotfiles/.config/cmus/playlists/default | 38 ++ dotfiles/.config/cmus/search-history | 43 ++ dotfiles/.config/fish | 1 + .../hunter/actions/Add Action?type?name!.sh | 84 +++ .../hunter/actions/application/extract.sh | 10 + .../hunter/actions/compress?archive_name.sh | 3 + dotfiles/.config/hunter/actions/synchtop!.sh | 3 + .../.config/hunter/actions/text/firefox.sh | 3 + dotfiles/.config/hunter/actions/text/nano!.sh | 3 + dotfiles/.config/hunter/actions/video/mpv.sh | 3 + .../hunter/actions/youtube_music?url.sh | 15 + dotfiles/.config/hunter/config | 10 + dotfiles/.config/hunter/hunter_cd.sh | 6 + dotfiles/.config/hunter/keys | 109 ++++ dotfiles/.config/hunter/keys~ | 109 ++++ dotfiles/.config/hunter/previewers/7z | 1 + dotfiles/.config/hunter/previewers/Z | 1 + dotfiles/.config/hunter/previewers/bz | 1 + dotfiles/.config/hunter/previewers/bz2 | 1 + dotfiles/.config/hunter/previewers/cab | 1 + dotfiles/.config/hunter/previewers/cpio | 1 + dotfiles/.config/hunter/previewers/deb | 1 + .../hunter/previewers/definitions/archive | 55 ++ .../hunter/previewers/definitions/html | 6 + .../hunter/previewers/definitions/openoffice | 3 + .../.config/hunter/previewers/definitions/pdf | 5 + .../hunter/previewers/definitions/pdf.g | 8 + .../hunter/previewers/definitions/text | 9 + dotfiles/.config/hunter/previewers/gz | 1 + dotfiles/.config/hunter/previewers/htm | 1 + dotfiles/.config/hunter/previewers/html | 1 + dotfiles/.config/hunter/previewers/jar | 1 + dotfiles/.config/hunter/previewers/jzma | 1 + dotfiles/.config/hunter/previewers/lha | 1 + dotfiles/.config/hunter/previewers/lzo | 1 + dotfiles/.config/hunter/previewers/odt | 1 + dotfiles/.config/hunter/previewers/pdf | 5 + dotfiles/.config/hunter/previewers/pdf.g | 1 + dotfiles/.config/hunter/previewers/rar | 1 + dotfiles/.config/hunter/previewers/rpm | 1 + dotfiles/.config/hunter/previewers/tar | 1 + dotfiles/.config/hunter/previewers/xhtm | 1 + dotfiles/.config/hunter/previewers/xhtml | 1 + dotfiles/.config/hunter/previewers/xpi | 1 + dotfiles/.config/hunter/previewers/zip | 1 + dotfiles/.config/monitors.xml | 438 +++++++++++++ dotfiles/.config/nvim/readme.md | 0 dotfiles/.config/ranger/rc.conf | 4 + dotfiles/.config/scdl/scdl.cfg | 3 + dotfiles/.config/sefr/config.toml | 111 ++++ dotfiles/.config/tmux | 1 + dotfiles/.profile | 33 + dotfiles/.tmux.conf | 185 ++++++ stow | 1 + 62 files changed, 2334 insertions(+) create mode 100644 README.md create mode 100644 dotfiles/.config/alacritty/alacritty.yml create mode 100755 dotfiles/.config/autostart/essentials.desktop create mode 100644 dotfiles/.config/cmus/autosave create mode 100644 dotfiles/.config/cmus/cache create mode 100644 dotfiles/.config/cmus/command-history create mode 100644 dotfiles/.config/cmus/lib.pl create mode 100644 dotfiles/.config/cmus/playlists/LadyZenaida create mode 100644 dotfiles/.config/cmus/playlists/default create mode 100644 dotfiles/.config/cmus/search-history create mode 160000 dotfiles/.config/fish create mode 100755 dotfiles/.config/hunter/actions/Add Action?type?name!.sh create mode 100755 dotfiles/.config/hunter/actions/application/extract.sh create mode 100755 dotfiles/.config/hunter/actions/compress?archive_name.sh create mode 100755 dotfiles/.config/hunter/actions/synchtop!.sh create mode 100755 dotfiles/.config/hunter/actions/text/firefox.sh create mode 100755 dotfiles/.config/hunter/actions/text/nano!.sh create mode 100755 dotfiles/.config/hunter/actions/video/mpv.sh create mode 100755 dotfiles/.config/hunter/actions/youtube_music?url.sh create mode 100644 dotfiles/.config/hunter/config create mode 100644 dotfiles/.config/hunter/hunter_cd.sh create mode 100644 dotfiles/.config/hunter/keys create mode 100644 dotfiles/.config/hunter/keys~ create mode 120000 dotfiles/.config/hunter/previewers/7z create mode 120000 dotfiles/.config/hunter/previewers/Z create mode 120000 dotfiles/.config/hunter/previewers/bz create mode 120000 dotfiles/.config/hunter/previewers/bz2 create mode 120000 dotfiles/.config/hunter/previewers/cab create mode 120000 dotfiles/.config/hunter/previewers/cpio create mode 120000 dotfiles/.config/hunter/previewers/deb create mode 100755 dotfiles/.config/hunter/previewers/definitions/archive create mode 100755 dotfiles/.config/hunter/previewers/definitions/html create mode 100755 dotfiles/.config/hunter/previewers/definitions/openoffice create mode 100755 dotfiles/.config/hunter/previewers/definitions/pdf create mode 100755 dotfiles/.config/hunter/previewers/definitions/pdf.g create mode 100755 dotfiles/.config/hunter/previewers/definitions/text create mode 120000 dotfiles/.config/hunter/previewers/gz create mode 120000 dotfiles/.config/hunter/previewers/htm create mode 120000 dotfiles/.config/hunter/previewers/html create mode 120000 dotfiles/.config/hunter/previewers/jar create mode 120000 dotfiles/.config/hunter/previewers/jzma create mode 120000 dotfiles/.config/hunter/previewers/lha create mode 120000 dotfiles/.config/hunter/previewers/lzo create mode 120000 dotfiles/.config/hunter/previewers/odt create mode 100755 dotfiles/.config/hunter/previewers/pdf create mode 120000 dotfiles/.config/hunter/previewers/pdf.g create mode 120000 dotfiles/.config/hunter/previewers/rar create mode 120000 dotfiles/.config/hunter/previewers/rpm create mode 120000 dotfiles/.config/hunter/previewers/tar create mode 120000 dotfiles/.config/hunter/previewers/xhtm create mode 120000 dotfiles/.config/hunter/previewers/xhtml create mode 120000 dotfiles/.config/hunter/previewers/xpi create mode 120000 dotfiles/.config/hunter/previewers/zip create mode 100644 dotfiles/.config/monitors.xml create mode 100644 dotfiles/.config/nvim/readme.md create mode 100644 dotfiles/.config/ranger/rc.conf create mode 100644 dotfiles/.config/scdl/scdl.cfg create mode 100644 dotfiles/.config/sefr/config.toml create mode 160000 dotfiles/.config/tmux create mode 100644 dotfiles/.profile create mode 100755 dotfiles/.tmux.conf create mode 100755 stow diff --git a/README.md b/README.md new file mode 100644 index 0000000..8869e26 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Dotfiles of Shawn Anderson +A repository the dotfiles that I hack on. Can easily be installed to your ~/.config/ by using the gnu stow utility. + +To install: + 1. Clone the repo + `git clone git@github.com:LinuxIsCool/dotfiles.git` + + 2. Symlink into ~/.config using stow + `cd dotfiles` + `sh stow` diff --git a/dotfiles/.config/alacritty/alacritty.yml b/dotfiles/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..1748c55 --- /dev/null +++ b/dotfiles/.config/alacritty/alacritty.yml @@ -0,0 +1,613 @@ +# Shawn's Configuration for Alacritty, the GPU enhanced terminal emulator. +# References: +# https://github.com/jwilm/alacritty +# ------------------------------------------------------------------------------ +# Set environment variables +env: + TERM: alacritty + PAGER: nvim +# ------------------------------------------------------------------------------ +# Background opacity #ant-transparency +background_opacity: 0.95 +# ------------------------------------------------------------------------------ +window: + padding: + x: 10 + y: 10 + dynamic_padding: true + decorations: full + startup_mode: Fullscreen + dynamic_title: true + +scrolling: + # Maximum number of lines in the scrollback buffer. + # Specifying '0' will disable scrolling. + history: 10000 + + # Scrolling distance multiplier. + # Seems to not work behind tmux + # Max value is 255 + multiplier: 3 +# ------------------------------------------------------------------------------ +# Font configuration +font: + normal: + family: "Hack Nerd Font" + style: "Book" + bold: + family: "Hack Nerd Font" + style: "Bold" + italic: + family: "Hack Nerd Font" + style: Italic + bold_italic: + family: "Hack Nerd Font" + style: "Bold Italic" + size: 11.0 +# ------------------------------------------------------------------------------ +# Colors (Blood Moon) +draw_bold_text_with_bright_colors: false +colors: + # Default colors + primary: + background: '#10100E' + foreground: '#C6C6C4' + # dim_foreground: '#828482' + # bright_foreground: '#eaeaea' + + # Normal colors + normal: + black: '#10100E' + red: '#C40233' + green: '#009F6B' + yellow: '#FFD700' + blue: '#0087BD' + magenta: '#9A4EAE' + cyan: '#20B2AA' + white: '#C6C6C4' + + # Bright colors + bright: + black: '#696969' + red: '#FF2400' + green: '#03C03C' + yellow: '#FDFF00' + blue: '#007FFF' + magenta: '#FF1493' + cyan: '#00CCCC' + white: '#FFFAFA' + + # Dim colors + dim: + black: '#131415' + red: '#864343' + green: '#777c44' + yellow: '#9e824c' + blue: '#556a7d' + magenta: '#75617b' + cyan: '#5b7d78' + white: '#828482' + + # Indexed Colors + # The indexed colors include all colors from 16 to 256. + # When these are not set, they're filled with sensible defaults. + # Example: + indexed_colors: + - { index: 16, color: '#fbaabf' } + + # Cursor Colors + # Allowed values are CellForeground and CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + #cursor: + # text: CellBackground + # cursor: CellForeground + + # Colors for the cursor when the vi mode is active. + #vi_mode_cursor: + # text: CellBackground + # cursor: CellForeground + + # Selection colors + #selection: + # text: CellBackground + # background: CellForeground + + # Search colors + # Colors used for the search bar and match highlighting. + #search: + #matches: + # foreground: '#000000' + # background: '#ffffff' + + #bar: + # background: '#c5c8c6' + # foreground: '#1d1f21' + +# ------------------------------------------------------------------------------ +# Bell +# The bell is rung every time the BEL control character is received. +# +# Visual Bell Animation +# Animation effect for flashing the screen when the visual bell is rung. +# Values for `animation`: +# - Ease +# - EaseOut +# - EaseOutSine +# - EaseOutQuad +# - EaseOutCubic +# - EaseOutQuart +# - EaseOutQuint +# - EaseOutExpo +# - EaseOutCirc +# - Linear +bell: + animation: EaseOutCirc + + # Duration of the visual bell flash. A `duration` of `0` will disable the + # visual bell animation. + duration: 10 + + # Visual bell animation color. + color: '#ffffff' + + # Bell Command + # This program is executed whenever the bell is rung. + # When set to `command: None`, no command will be executed. + # Example: + # command: + # program: notify-send + # args: ["Bell Rung!"] + # + #command: None + + +#selection: + # This string contains all characters that are used as separators for "semantic words" in Alacritty. + #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" + + # When set to `true`, selected text will be copied to the primary clipboard. + #save_to_clipboard: false + +#cursor: + # Cursor style + # + # Values for `style`: + # - ▇ Block + # - _ Underline + # - | Beam + #style: Block + + # Vi mode cursor style + # + # If the vi mode cursor style is `None` or not specified, it will fall back to + # the style of the active value of the normal cursor. + # + # See `cursor.style` for available options. + #vi_mode_style: None + + # If this is `true`, the cursor will be rendered as a hollow box when the + # window is not focused. + unfocused_hollow: true + + # Thickness of the cursor relative to the cell width as floating point number + # from `0.0` to `1.0`. + # thickness: 0.15 + +# 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. +# +# Default: +# - (macOS) /bin/bash --login +# - (Linux/BSD) user login shell +# - (Windows) powershell +shell: + program: /usr/bin/fish +# args: +# - --login + +# Startup directory +# +# Directory the shell is started in. If this is unset, or `None`, the working +# directory of the parent process will be used. +#working_directory: None + +# WinPTY backend (Windows only) +# +# Alacritty defaults to using the newer ConPTY backend if it is available, +# since it resolves a lot of bugs and is quite a bit faster. If it is not +# available, the WinPTY backend will be used instead. +# +# Setting this option to `true` makes Alacritty use the legacy WinPTY backend, +# even if the ConPTY backend is available. +#winpty_backend: false + +# Send ESC (\x1b) before characters when alt is pressed. +#alt_send_esc: true + +#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 } + + # If this is `true`, the cursor is temporarily hidden when typing. + #hide_when_typing: false + + #url: + # URL launcher + # + # This program is executed when clicking on a text which is recognized as a URL. + # The URL is always added to the command as the last parameter. + # + # When set to `launcher: None`, URL launching will be disabled completely. + # + # Default: + # - (macOS) open + # - (Linux/BSD) xdg-open + # - (Windows) explorer + #launcher: + # program: xdg-open + # args: [] + + # URL modifiers + # + # These are the modifiers that need to be held down for opening URLs when clicking + # on them. The available modifiers are documented in the key binding section. + #modifiers: None + +# Mouse bindings +# +# Mouse bindings are specified as a list of objects, much like the key +# bindings further below. +# +# To trigger mouse bindings when an application running within Alacritty captures the mouse, the +# `Shift` modifier is automatically added as a requirement. +# +# Each mouse binding will specify a: +# +# - `mouse`: +# +# - Middle +# - Left +# - Right +# - Numeric identifier such as `5` +# +# - `action` (see key bindings) +# +# And optionally: +# +# - `mods` (see key bindings) +#mouse_bindings: +# - { mouse: Middle, action: PasteSelection } + +# Key bindings +# +# Key bindings are specified as a list of objects. For example, this is the +# default paste binding: +# +# `- { key: V, mods: Control|Shift, action: Paste }` +# +# Each key binding will specify a: +# +# - `key`: Identifier of the key pressed +# +# - A-Z +# - F1-F24 +# - Key0-Key9 +# +# A full list with available key codes can be found here: +# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants +# +# Instead of using the name of the keys, the `key` field also supports using +# the scancode of the desired key. Scancodes have to be specified as a +# decimal number. This command will allow you to display the hex scancodes +# for certain keys: +# +# `showkey --scancodes`. +# +# Then exactly one of: +# +# - `chars`: Send a byte sequence to the running application +# +# The `chars` field writes the specified string to the terminal. This makes +# it possible to pass escape sequences. To find escape codes for bindings +# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside +# of tmux. Note that applications use terminfo to map escape sequences back +# to keys. It is therefore required to update the terminfo when changing an +# escape sequence. +# +# - `action`: Execute a predefined action +# +# - ToggleViMode +# - SearchForward +# Start searching toward the right of the search origin. +# - SearchBackward +# Start searching toward the left of the search origin. +# - Copy +# - Paste +# - IncreaseFontSize +# - DecreaseFontSize +# - ResetFontSize +# - ScrollPageUp +# - ScrollPageDown +# - ScrollHalfPageUp +# - ScrollHalfPageDown +# - ScrollLineUp +# - ScrollLineDown +# - ScrollToTop +# - ScrollToBottom +# - ClearHistory +# Remove the terminal's scrollback history. +# - Hide +# Hide the Alacritty window. +# - Minimize +# Minimize the Alacritty window. +# - Quit +# Quit Alacritty. +# - ToggleFullscreen +# - SpawnNewInstance +# Spawn a new instance of Alacritty. +# - ClearLogNotice +# Clear Alacritty's UI warning and error notice. +# - ClearSelection +# Remove the active selection. +# - ReceiveChar +# - None +# +# (`mode: Vi` only): +# - Open +# Open URLs at the cursor location with the launcher configured in `url.launcher`. +# - Up +# Move the vi mode cursor up by one line. +# - Down +# Move the vi mode cursor down by one line. +# - Left +# Move the vi mode cursor left by one character. +# - Right +# Move the vi mode cursor right by one character. +# - First +# Move the vi mode cursor to the start of the line, searching across newlines if it is already at the beginning. +# - Last +# Move the vi mode cursor to the end of the line, searching across newlines if it is already at the end. +# - FirstOccupied +# Move the vi mode cursor to the first non-empty cell in this line, searching across newlines if it is already at the first one. +# - High +# Move the vi mode cursor to the top of the screen. +# - Middle +# Move the vi mode cursor to the middle of the screen. +# - Low +# Move the vi mode cursor to the bottom of the screen. +# - SemanticLeft +# Move the vi mode cursor to the start of the previous semantically separated word. +# - SemanticRight +# Move the vi mode cursor to the start of the next semantically separated word. +# - SemanticLeftEnd +# Move the vi mode cursor to the end of the previous semantically separated word. +# - SemanticRightEnd +# Move the vi mode cursor to the end of the next semantically separated word. +# - WordLeft +# Move the vi mode cursor to the start of the previous whitespace separated word. +# - WordRight +# Move the vi mode cursor to the start of the next whitespace separated word. +# - WordLeftEnd +# Move the vi mode cursor to the end of the previous whitespace separated word. +# - WordRightEnd +# Move the vi mode cursor to the end of the next whitespace separated word. +# - Bracket +# Move the vi mode cursor to the next character that matches the bracket at the cursor's +# current location. +# - ToggleNormalSelection +# - ToggleLineSelection +# - ToggleBlockSelection +# - ToggleSemanticSelection +# Toggle semantic selection based on `selection.semantic_escape_chars`. +# - SearchNext +# Jump to the beginning of the next match. +# - SearchPrevious +# Jump to the beginning of the previous match. +# - SearchStart +# Jump to the next start of a match to the left of the vi mode cursor. +# - SearchEnd +# Jump to the next end of a match to the left of the vi mode cursor. +# +# (macOS only): +# - ToggleSimpleFullscreen +# Enter fullscreen without occupying another space. +# +# (Linux/BSD only): +# - CopySelection +# Copy from the selection buffer. +# - PasteSelection +# Paste from the selection buffer. +# +# - `command`: Fork and execute a specified command plus arguments +# +# The `command` field must be a map containing a `program` string and an +# `args` array of command line parameter strings. For example: +# `{ program: "alacritty", args: ["-e", "vttest"] }` +# +# And optionally: +# +# - `mods`: Key modifiers to filter binding actions +# +# - Command +# - Control +# - Option +# - Super +# - Shift +# - Alt +# +# Multiple `mods` can be combined using `|` like this: +# `mods: Control|Shift`. +# Whitespace and capitalization are relevant and must match the example. +# +# - `mode`: Indicate a binding for only specific terminal reported modes +# +# This is mainly used to send applications the correct escape sequences +# when in different modes. +# +# - AppCursor +# - AppKeypad +# - Alt +# - Vi +# +# A `~` operator can be used before a mode to apply the binding whenever +# the mode is *not* active, e.g. `~Alt`. +# +# Bindings are always filled by default, but will be replaced when a new +# binding with the same triggers is defined. To unset a default binding, it can +# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for +# a no-op if you do not wish to receive input characters for that binding. +# +# If the same trigger is assigned to multiple actions, all of them are executed +# in the order they were defined in. +#key_bindings: + #- { key: Paste, action: Paste } + #- { key: Copy, action: Copy } + #- { key: L, mods: Control, action: ClearLogNotice } + #- { key: L, mods: Control, mode: ~Vi, chars: "\x0c" } + #- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, } + #- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown } + #- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, } + #- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } + + # Vi Mode + #- { key: Space, mods: Shift|Control, mode: Vi, action: ScrollToBottom } + #- { key: Space, mods: Shift|Control, action: ToggleViMode } + #- { key: Escape, mode: Vi, action: ClearSelection } + #- { key: I, mode: Vi, action: ScrollToBottom } + #- { key: I, mode: Vi, action: ToggleViMode } + #- { key: C, mods: Control, mode: Vi, action: ToggleViMode } + #- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp } + #- { key: E, mods: Control, mode: Vi, action: ScrollLineDown } + #- { key: G, mode: Vi, action: ScrollToTop } + #- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom } + #- { key: B, mods: Control, mode: Vi, action: ScrollPageUp } + #- { key: F, mods: Control, mode: Vi, action: ScrollPageDown } + #- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp } + #- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown } + #- { key: Y, mode: Vi, action: Copy } + #- { key: Y, mode: Vi, action: ClearSelection } + #- { key: Copy, mode: Vi, action: ClearSelection } + #- { key: V, mode: Vi, action: ToggleNormalSelection } + #- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection } + #- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection } + #- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection } + #- { key: Return, mode: Vi, action: Open } + #- { key: K, mode: Vi, action: Up } + #- { key: J, mode: Vi, action: Down } + #- { key: H, mode: Vi, action: Left } + #- { key: L, mode: Vi, action: Right } + #- { key: Up, mode: Vi, action: Up } + #- { key: Down, mode: Vi, action: Down } + #- { key: Left, mode: Vi, action: Left } + #- { key: Right, mode: Vi, action: Right } + #- { key: Key0, mode: Vi, action: First } + #- { key: Key4, mods: Shift, mode: Vi, action: Last } + #- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied } + #- { key: H, mods: Shift, mode: Vi, action: High } + #- { key: M, mods: Shift, mode: Vi, action: Middle } + #- { key: L, mods: Shift, mode: Vi, action: Low } + #- { key: B, mode: Vi, action: SemanticLeft } + #- { key: W, mode: Vi, action: SemanticRight } + #- { key: E, mode: Vi, action: SemanticRightEnd } + #- { key: B, mods: Shift, mode: Vi, action: WordLeft } + #- { key: W, mods: Shift, mode: Vi, action: WordRight } + #- { key: E, mods: Shift, mode: Vi, action: WordRightEnd } + #- { key: Key5, mods: Shift, mode: Vi, action: Bracket } + #- { key: Slash, mode: Vi, action: SearchForward } + #- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward } + #- { key: N, mode: Vi, action: SearchNext } + #- { key: N, mods: Shift, mode: Vi, action: SearchPrevious } + + # (Windows, Linux, and BSD only) + #- { key: V, mods: Control|Shift, action: Paste } + #- { key: C, mods: Control|Shift, action: Copy } + #- { key: F, mods: Control|Shift, action: SearchForward } + #- { key: B, mods: Control|Shift, action: SearchBackward } + #- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection } + #- { key: Insert, mods: Shift, action: PasteSelection } + #- { key: Key0, mods: Control, action: ResetFontSize } + #- { key: Equals, mods: Control, action: IncreaseFontSize } + #- { key: Add, mods: Control, action: IncreaseFontSize } + #- { key: Subtract, mods: Control, action: DecreaseFontSize } + #- { key: Minus, mods: Control, action: DecreaseFontSize } + + # (Windows only) + #- { key: Return, mods: Alt, action: ToggleFullscreen } + + # (macOS only) + #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } + #- { key: Key0, mods: Command, action: ResetFontSize } + #- { key: Equals, mods: Command, action: IncreaseFontSize } + #- { key: Add, mods: Command, action: IncreaseFontSize } + #- { key: Minus, mods: Command, action: DecreaseFontSize } + #- { key: K, mods: Command, action: ClearHistory } + #- { key: V, mods: Command, action: Paste } + #- { key: C, mods: Command, action: Copy } + #- { key: C, mods: Command, mode: Vi, action: ClearSelection } + #- { key: H, mods: Command, action: Hide } + #- { key: M, mods: Command, action: Minimize } + #- { key: Q, mods: Command, action: Quit } + #- { key: W, mods: Command, action: Quit } + #- { key: N, mods: Command, action: SpawnNewInstance } + #- { key: F, mods: Command|Control, action: ToggleFullscreen } + #- { key: F, mods: Command, action: SearchForward } + #- { key: B, mods: Command, action: SearchBackward } + +#debug: + # Display the time it takes to redraw each frame. + #render_timer: false + + # Keep the log file after quitting Alacritty. + #persistent_logging: false + + # Log level + # + # Values for `log_level`: + # - None + # - Error + # - Warn + # - Info + # - Debug + # - Trace + #log_level: Warn + + # Print all received window events. + #print_events: false +# colors: +# primary: +# background: '0x000000' +# foreground: '0xD8DEE9' +# cursor: +# text: '0x2E3440' +# cursor: '0xD8DEE9' +# normal: +# black: '0x3B4252' +# red: '0xBF616A' +# green: '0xA3BE8C' +# yellow: '0xEBCB8B' +# blue: '0x81A1C1' +# magenta: '0xB48EAD' +# cyan: '0x88C0D0' +# white: '0xE5E9F0' +# bright: +# black: '0x4C566A' +# red: '0xBF616A' +# green: '0xA3BE8C' +# yellow: '0xEBCB8B' +# blue: '0x81A1C1' +# magenta: '0xB48EAD' +# cyan: '0x8FBCBB' +# white: '0xECEFF4' +# # +# + diff --git a/dotfiles/.config/autostart/essentials.desktop b/dotfiles/.config/autostart/essentials.desktop new file mode 100755 index 0000000..e931375 --- /dev/null +++ b/dotfiles/.config/autostart/essentials.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Essentials +Comment="important start up script" +Exec="/home/ygg/.local/bin/essentials" +Hidden=false +NoDisplay=false +X-GNOME-Autostart-enabled=true diff --git a/dotfiles/.config/cmus/autosave b/dotfiles/.config/cmus/autosave new file mode 100644 index 0000000..61657f6 --- /dev/null +++ b/dotfiles/.config/cmus/autosave @@ -0,0 +1,211 @@ +set aaa_mode=artist +set altformat_current= %F +set altformat_playlist= %f%= %d +set altformat_title=%f +set altformat_trackwin= %f%= %d +set auto_expand_albums_follow=true +set auto_expand_albums_search=true +set auto_expand_albums_selcur=true +set auto_reshuffle=true +set buffer_seconds=10 +set color_cmdline_attr=default +set color_cmdline_bg=default +set color_cmdline_fg=default +set color_cur_sel_attr=default +set color_error=lightred +set color_info=lightyellow +set color_separator=blue +set color_statusline_attr=default +set color_statusline_bg=gray +set color_statusline_fg=black +set color_titleline_attr=default +set color_titleline_bg=blue +set color_titleline_fg=white +set color_trackwin_album_attr=bold +set color_trackwin_album_bg=default +set color_trackwin_album_fg=default +set color_win_attr=default +set color_win_bg=default +set color_win_cur=lightyellow +set color_win_cur_attr=default +set color_win_cur_sel_attr=default +set color_win_cur_sel_bg=blue +set color_win_cur_sel_fg=lightyellow +set color_win_dir=lightblue +set color_win_fg=default +set color_win_inactive_cur_sel_attr=default +set color_win_inactive_cur_sel_bg=gray +set color_win_inactive_cur_sel_fg=lightyellow +set color_win_inactive_sel_attr=default +set color_win_inactive_sel_bg=gray +set color_win_inactive_sel_fg=black +set color_win_sel_attr=default +set color_win_sel_bg=blue +set color_win_sel_fg=white +set color_win_title_attr=default +set color_win_title_bg=blue +set color_win_title_fg=white +set confirm_run=true +set continue=true +set device=/dev/cdrom +set display_artist_sort_name=false +set dsp.alsa.device= +set dsp.ao.buffer_size=16384 +set dsp.ao.device_interface= +set dsp.ao.driver= +set dsp.ao.wav_counter=1 +set dsp.ao.wav_dir=/home/ygg +set dsp.jack.resampling_quality=2 +set dsp.jack.server_name= +set follow=false +set format_current= %a - %l -%3n. %t%= %y +set format_playlist= %-21%a %3n. %t%= %y %d %{?X!=0?%3X ? } +set format_playlist_va= %-21%A %3n. %t (%a)%= %y %d %{?X!=0?%3X ? } +set format_statusline= %{status} %{?show_playback_position?%{position} %{?duration?/ %{duration} }?%{?duration?%{duration} }}- %{total} %{?bpm>0?at %{bpm} BPM }%{?volume>=0?vol: %{?lvolume!=rvolume?%{lvolume},%{rvolume} ?%{volume} }}%{?stream?buf: %{buffer} }%{?show_current_bitrate & bitrate>=0? %{bitrate} kbps }%=%{?repeat_current?repeat current?%{?play_library?%{playlist_mode} from %{?play_sorted?sorted }library?playlist}} | %1{continue}%1{follow}%1{repeat}%1{shuffle} +set format_title=%a - %l - %t (%y) +set format_trackwin=%3n. %t%= %y %d +set format_trackwin_album= %l %= %{albumduration} +set format_trackwin_va=%3n. %t (%a)%= %y %d +set format_treewin= %l +set format_treewin_artist=%a +set icecast_default_charset=ISO-8859-1 +set id3_default_charset=ISO-8859-1 +set input.aac.priority=50 +set input.cdio.cddb_url=freedb.freedb.org:8880 +set input.cdio.priority=50 +set input.cue.priority=50 +set input.ffmpeg.priority=30 +set input.flac.priority=50 +set input.mad.priority=55 +set input.modplug.priority=50 +set input.mpc.priority=50 +set input.opus.priority=50 +set input.vorbis.priority=50 +set input.wav.priority=50 +set input.wavpack.priority=50 +set lib_add_filter= +set lib_sort=albumartist date album discnumber tracknumber title filename play_count +set mixer.alsa.channel= +set mixer.alsa.device= +set mixer.pulse.restore_volume=1 +set mouse=false +set mpris=true +set output_plugin=pulse +set passwd=pop-os +set pl_sort= +set play_library=true +set play_sorted=false +set repeat=true +set repeat_current=false +set replaygain=disabled +set replaygain_limit=true +set replaygain_preamp=0.000000 +set resume=false +set rewind_offset=5 +set scroll_offset=2 +set set_term_title=true +set show_all_tracks=true +set show_current_bitrate=false +set show_hidden=false +set show_playback_position=true +set show_remaining_time=false +set shuffle=false +set skip_track_info=false +set smart_artist_sort=true +set softvol=false +set softvol_state=0 0 +set start_view=tree +set status_display_program= +set time_show_leading_zero=true +set wrap_search=true +bind browser backspace browser-up +bind browser i toggle show_hidden +bind browser space win-activate +bind browser u win-update +bind common ! push shell +bind common + vol +10% +bind common , seek -1m +bind common - vol -10% +bind common . seek +1m +bind common / search-start +bind common 1 view tree +bind common 2 view sorted +bind common 3 view playlist +bind common 4 view queue +bind common 5 view browser +bind common 6 view filters +bind common 7 view settings +bind common = vol +10% +bind common ? search-b-start +bind common C toggle continue +bind common D win-remove +bind common E win-add-Q +bind common F push filter +bind common G win-bottom +bind common I echo {} +bind common L push live-filter +bind common M toggle play_library +bind common N search-prev +bind common P win-mv-before +bind common U win-update-cache +bind common [ vol +1% +0 +bind common ] vol +0 +1% +bind common ^B win-page-up +bind common ^C echo Type :quit to exit cmus. +bind common ^D win-half-page-down +bind common ^E win-scroll-down +bind common ^F win-page-down +bind common ^L refresh +bind common ^N pl-create +bind common ^R toggle repeat_current +bind common ^U win-half-page-up +bind common ^Y win-scroll-up +bind common a win-add-l +bind common b player-next +bind common c player-pause +bind common delete win-remove +bind common down win-down +bind common e win-add-q +bind common end win-bottom +bind common enter win-activate +bind common f toggle follow +bind common g win-top +bind common h seek -5 +bind common home win-top +bind common i win-sel-cur +bind common j win-down +bind common k win-up +bind common l seek +5 +bind common left seek -5 +bind common m toggle aaa_mode +bind common mlb_click_selected win-activate +bind common mouse_scroll_down win-down +bind common mouse_scroll_up win-up +bind common n search-next +bind common o toggle play_sorted +bind common p win-mv-after +bind common page_down win-page-down +bind common page_up win-page-up +bind common q quit -i +bind common r toggle repeat +bind common right seek +5 +bind common s toggle shuffle +bind common space win-toggle +bind common t toggle show_remaining_time +bind common tab win-next +bind common u update-cache +bind common up win-up +bind common v player-stop +bind common x player-play +bind common y win-add-p +bind common z player-prev +bind common { vol -1% -0 +bind common } vol -0 -1% +fset 90s=date>=1990&date<2000 +fset classical=genre="Classical" +fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1) +fset mp3=filename="*.mp3" +fset ogg=filename="*.ogg" +fset ogg-or-mp3=ogg|mp3 +fset unheard=play_count=0 +factivate diff --git a/dotfiles/.config/cmus/cache b/dotfiles/.config/cmus/cache new file mode 100644 index 0000000000000000000000000000000000000000..59e52d2dbbdbdc979285e7f2485b2acf5e91eb9b GIT binary patch literal 37778 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 ehoBdi!DO^gL7VfAx>Y?$Ot;H pl-rename +pl-create my-playlist +bind common ^N pl-create +bind common pl-create ^N +bind common pl-create +bind common bind +save diff --git a/dotfiles/.config/cmus/lib.pl b/dotfiles/.config/cmus/lib.pl new file mode 100644 index 0000000..99f5bb1 --- /dev/null +++ b/dotfiles/.config/cmus/lib.pl @@ -0,0 +1,136 @@ +/home/ygg/Music/1 Hour of the Best Professor Layton Music (Part 2)--g53oLQgmN8.opus +/home/ygg/Music/Animals of The Earth Vol​.​1 (Ethnotronic, World, Ethnic, Tribal, folktronica, Acoustic, Chill Out)-bWrNxOA5NI4.opus +/home/ygg/Music/a storm of songs _ zelda ost + thunderstorm ambience-3FzJHsri8Zw.opus +/home/ygg/Music/Avatar - The Last Airbender Theme _ EPIC VERSION-6N9SS6L0TDU.opus +/home/ygg/Music/'Back To The 80's' _ Best of Synthwave And Retro Electro Music Mix for 1 Hour _ Vol. 16-XI5Bvplb7pQ.opus +/home/ygg/Music/Beautiful & Relaxing The Legend of Zelda Music-DM8gE6EMwhE.opus +/home/ygg/Music/Best Drum & Bass Mix 2020 (Melodic_Liquid Drum and Bass)-7j4WQ5qOBZY.opus +/home/ygg/Music/Buddha Deep Club (Compiled by Salvo Migliorini)-l1slyzGQ1yc.opus +/home/ygg/Music/Burning Man 2015 Deep Tunes for Deep playa Vol5-A-jUKBd0zF4.opus +/home/ygg/Music/Camo & Krooked - Loa-kYfua2wRajY.opus +/home/ygg/Music/Carbon Based Lifeforms - Derelicts _ Full Album-5o_uF1L5l6o.mkv +/home/ygg/Music/Carbon Based Lifeforms - Derelicts _ Full Album-5o_uF1L5l6o.opus +/home/ygg/Music/CharlestheFirst - Out of the Dark (45 Minutes of Original Music)-fhpA9Mp9_xc.webm +/home/ygg/Music/Charlotte de Witte ‘New Form’ Livestream-3cOOu52n26c.opus +/home/ygg/Music/Chill Out Music Mix 🌷 Best Chill Trap, Indie, Deep House ♫-rj73lCWeZQw.opus +/home/ygg/Music/CloZee 4_26_2020 Full Set-5_rlxHXY0pI.mp3 +/home/ygg/Music/CloZee - Lollapalooza 2020 Set-j48gxPylyqo.opus +/home/ygg/Music/Cosmic Flux - Psychill, PsyTrance, Psybient Mix-grWRSyptTnk.opus +/home/ygg/Music/Creative Music vol 01 - Dwarves of the First Age-GNwv4cH-i5k.opus +/home/ygg/Music/Entheogenic - Animism [2020] (Full Album Tryptology Mixtape)-oDlxH2Jl3rs.opus +/home/ygg/Music/Fantasy Bard_Tavern Music Compilation-wLlovxa3VJ0.opus +/home/ygg/Music/Fernanda Pistelli @ Garden Sessions for 5uinto-DokOdAjPtLw.m4a +/home/ygg/Music/Final Fantasy ~ Jazz _ Brass Mix-7nI8Xuy363k.opus +/home/ygg/Music/Final Fantasy VIII - Complete Soundtrack-X6kAwpgW29M.opus +/home/ygg/Music/Flamingo’s healing journey-dN0uIGVi04U.opus +/home/ygg/Music/Full Hour of Avatar the Last Airbender and Korra Amazing Soundtracks!--_727Gt43xE.opus +/home/ygg/Music/Ghost of Me A Chill Trap and Future Bass Mix-7hpHZGOaNs0.opus +/home/ygg/Music/Globular & Geoglyph - Messages From The Resonator (Psychedelic Dub _ World Music)-Nq6M_Lod9RQ.mp3 +/home/ygg/Music/Indie_Pop_Folk Compilation - August 2020 (1½-Hour Playlist)-pNfhQsMeIP4.opus +/home/ygg/Music/Jackson Lewis - Found In Love (Mose, San Miguel & more Remixes) [Folktronica]-hBDQ2FSRxnA.opus +/home/ygg/Music/Jakare - Apu (EP Mix) [Folktronica _ Downtempo]-c6rkYrwudww.opus +/home/ygg/Music/Jakare - Schizophonia (EP Mix) [Folktronica _ Shamanic Downtempo]-yFv6t9_-_24.f251.webm +/home/ygg/Music/Jakare - Schizophonia (EP Mix) [Folktronica _ Shamanic Downtempo]-yFv6t9_-_24.opus +/home/ygg/Music/Jakare - Schizophonia (EP Mix) [Folktronica _ Shamanic Downtempo]-yFv6t9_-_24.webm +/home/ygg/Music/Jules Urbach explains OTOY's real-time graphics rendering-sCLFaoDhQPU.m4a +/home/ygg/Music/Kingdom Hearts 2 OST Collection-d7b-cpSpS9A.opus +/home/ygg/Music/Leaves From The Vine (Little Soldier Boy) _ CINEMATIC ORCHESTRAL VERSION 🍃-vu9Bl4ZMOd0.opus +/home/ygg/Music/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.opus +/home/ygg/Music/Liquid Bloom - Live @ Chill Out Gardens - Boom Festival 2018-uiYk1d9jL_w.opus +/home/ygg/Music/Moontricks - Home-BhAyt7g5tNs.opus +/home/ygg/Music/Mose - Cacao Dance @ Eagles Nest Atitlán-wKI-ngRQJ90.opus +/home/ygg/Music/NUMA - Fuego Sagrado (Mix) [Folktronica _ Tribal Downtempo _ Shamanic]-BKPQ_S71poE.opus +/home/ygg/Music/Ollie Mundy - Come Down with Me - The Full Moon Mix-X-KbDIfiRoI.opus +/home/ygg/Music/Relaxing and Emotional Zelda Music Mix (2020)-imO26FzxRro.opus +/home/ygg/Music/Relaxing The Legend of Zelda Jazz Covers--4OxmD4AocU.opus +/home/ygg/Music/Relaxing The Legend of Zelda - The Wind Waker Music-0r12JCTpEt0.opus +/home/ygg/Music/Sahalé - Djiin (6 hours)-nIsrrgF-xGE.opus +/home/ygg/Music/Sanctuary _ Chillstep Mix-0CDbtwIiW3A.opus +/home/ygg/Music/Seba - Painted Skies (Parallax Extended Remix)-zswXWHqzFkM.opus +/home/ygg/Music/Tales Of Symphonia Complete Soundtrack-o_PCgbplpj4.opus +/home/ygg/Music/The Last Agni Kai - Avatar the Last Airbender - One Hour-bLkQU60B-IA.opus +/home/ygg/Music/tribe_vibe/Brian Cid - Margarette (Buddha Bar by Armen Miran & Ravin 2017) (Original Mix)-oK-vkCEiwOI.mp3 +/home/ygg/Music/tribe_vibe/Deya Dova - Return Of The Bird Tribes (saQi Remix)-DwT59_MfvyU.mp3 +/home/ygg/Music/tribe_vibe/Ethnic Deep House Vol#10 (Armen Miran _Davi_ Oceanvs Orientalis )-134NlN8tdyc.mp3 +/home/ygg/Music/tribe_vibe/Gerra G - A Mascara (Rodrigo Gallardo Remix) _ Exotic Refreshment LTD-ch8T2EULjxU.mp3 +/home/ygg/Music/tribe_vibe/Go Dugong - Vidita (El Búho Remix)-ealqZDkQqXY.mp3 +/home/ygg/Music/tribe_vibe/Honra (Original)-nDq-r2X9uFI.mp3 +/home/ygg/Music/tribe_vibe/Ipek Ipekcioglu feat. Petra Nachtmanova - Uyan Uyan _ Kater130-9-ZsLSxWuhw.mp3 +/home/ygg/Music/tribe_vibe/Jacob Groening, Zigan Aldi - Checkpoint-qKVtqwiRAdQ.mp3 +/home/ygg/Music/tribe_vibe/Kazuma Akasaki - I Can Find You [Melodic Techno House Mix]-NfOGsZwwdjg.mp3 +/home/ygg/Music/tribe_vibe/Layne Redmond & Tommy Brunjes - Morrocan Moon-YqmJoiHj8NE.mp3 +/home/ygg/Music/tribe_vibe/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.mp3 +/home/ygg/Music/tribe_vibe/Lee Jones - One Grain-mIAtmjq0jC4.mp3 +/home/ygg/Music/tribe_vibe/Moontricks - Solar Therapy-u2ltkcGOz_c.mp3 +/home/ygg/Music/tribe_vibe/Mumbai Madness-bzXgX_V0Q0Y.mp3 +/home/ygg/Music/tribe_vibe/NenaHelena - La Ka Ruba Ft. Akil [E008]-amj-LmHyGXM.mp3 +/home/ygg/Music/tribe_vibe/Nostalgia (Extended)-L-3sPvjaUzM.mp3 +/home/ygg/Music/tribe_vibe/Oceanvs Orientalis - Khronos (Full EP)-mDGCSZ8VTuw.mp3 +/home/ygg/Music/tribe_vibe/Peter Power - Sun Sun Damba [Multi Culti]-aRC_7AE8DhI.mp3 +/home/ygg/Music/tribe_vibe/Raz Ohara - El Zahir (Original Mix)-wKDmzUYKV9Q.mp3 +/home/ygg/Music/tribe_vibe/Reaching Rujum-mYM4hasoo4o.mp3 +/home/ygg/Music/tribe_vibe/Rej Senhor (Original Version)-fBkVbYDLJDM.mp3 +/home/ygg/Music/tribe_vibe/Roots of Wisdom (Original)-e8luC8BR9i8.mp3 +/home/ygg/Music/tribe_vibe/Satori (NL) feat. Miou Amadée - Days Without You (Crussen Remix)-qFMEKS0ZWn0.mp3 +/home/ygg/Music/tribe_vibe/Theme For Namgar (Crussen Edit)-5oHPgSuKLZo.mp3 +/home/ygg/Music/tribe_vibe/Timboletti - Helva Selva (feat. Ziski & Pophop Remix)-pAcFzVFzjKs.mp3 +/home/ygg/Music/tribe_vibe/Traumer - Classroom-fyKY3tfyAVY.mp3 +/home/ygg/Music/tribe_vibe/Unspoken Word (Intro)-ePayp_lvzV8.mp3 +/home/ygg/Music/tribe_vibe/Vesaire-lLFYPPGcG-Q.mp3 +/home/ygg/Music/tribe_vibe/Vidita Ft. Miriam García (El Buho Remix)-o2TgDfnPmZI.mp3 +/home/ygg/Music/tribe_vibe/War Cry-J2sZUeasZkY.mp3 +/home/ygg/Music/tribe_vibe/Yet Another Day Thinking About You-zEOe-ckZjJc.mp3 +/home/ygg/Music/tribe_vibe/YokoO - Yet Another Day Thinking About You feat JoKe & Mauve [ADIDA001]-xOss6oP8xiY.mp3 +/home/ygg/Music/Xenia - Live @ Radio Intense Kyiv 7.4.2020 _ Techno Mix-r3DMXRWcmCI.opus +/home/ygg/Music/yoga/Grounding Into Gratitude - Root Chakra Yoga - Yoga With Adriene-0pbuvhbg7po.f251.webm +/home/ygg/Music/yoga/Grounding Into Gratitude - Root Chakra Yoga - Yoga With Adriene-0pbuvhbg7po.mkv +/home/ygg/Music/yoga/Grounding Into Gratitude - Root Chakra Yoga - Yoga With Adriene-0pbuvhbg7po.opus +/home/ygg/Music/yoga/Grounding Root Chakra Guided Meditation - Stress Relief Meditation _ Chakra Challenge-cX6b6v1k0QQ.opus +/home/ygg/Music/Zelda Music To Relax_Study_Work_Game-W5AZeNGB6Ds.opus +/home/ygg/Music/Zelda Ocarina of Time - MASSIVE MEDLEY! - Super Guitar Bros-NFw-FrYmAEw.opus +/home/ygg/Music/zenaida/audio/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a +/home/ygg/Music/zenaida/audio/“Clean up the Ocean” DNCE re-write cover-yeTdj45wbLo.m4a +/home/ygg/Music/zenaida/audio/Dream a little Dream - DIY Bee Condo-wgF-lzB_lSQ.m4a +/home/ygg/Music/zenaida/audio/'Friend Like Me' Cover - Lady Zenaida-eHK-u1-nLq8.opus +/home/ygg/Music/zenaida/audio/Lady Zenaida «  Everybody wants to be a Cat » Cover-PazfkBSaubI.m4a +/home/ygg/Music/zenaida/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a +/home/ygg/Music/zenaida/Zenaida_FB_Altspace_Concert_10000000_249474506347465_7360425835515086942_n.mp4 +/home/ygg/Music/zenaida/Zenaida_FB_Altspace_Concert_10000000_335146147822030_4963841038274551466_n.mp4 +/home/ygg/Music/654-BitcoinIsPsychedelic.mp3 +/home/ygg/Music/Summer Firefly feat. Deepakalypse (Prod. Stephan Jacobs).mp3 +/home/ygg/Music/Electro House 2016 Best Festival Party Video Mix. New EDM, Dance Charts Songs. Club Music Remix.mp3 +/home/ygg/Music/zenaida/audio/Humanite Uni Toi - demo.mp3 +/home/ygg/Music/zenaida/Humanite Uni Toi - demo.mp3 +/home/ygg/Music/zenaida/audio/Rainbow Warriors -Demo.mp3 +/home/ygg/Music/zenaida/Rainbow Warriors -Demo.mp3 +/home/ygg/Music/zenaida/audio/Save Me From Myself.mp3 +/home/ygg/Music/zenaida/Save Me From Myself.mp3 +/home/ygg/Music/zenaida/audio/Mastered- Let It Go -Lady ZenAida.mp3 +/home/ygg/Music/zenaida/Mastered- Let It Go -Lady ZenAida.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 1 Ethan Buchman.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 2 John Henry Clippinger.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 3 Chris Goes.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 4 Daniel Christian Wahl.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 5 Jack Zampolin.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 6 Delton Chen.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 7 Dan Mapes.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 8 Martin Wainstein.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Current Events Special with Rhamis Kent.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 10 Cosmuhammad Bitcoin Jaesustein.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 11 David McConville and Dawn Danby.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 12 Joe Brewer.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 13 Amanda Joy Ravenhill.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 14 John Henry Clippinger (Encore).mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 15 Coronavirus Special.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 16 Loren Cardeli.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 17 Dr. Dorn Cox.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 18 Larry Kopald.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 19 Tom Newmark.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 20 Michel Bauwens.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 21 Frank Van Gansbeke.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 23 Jim Rutt.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 24 Wenzl McGowen.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 25 Jeff Emmett.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 26 Shaun Conway.mp3 +/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 9 Neal Spackman.mp3 +/home/ygg/Music/VibeSquaD-and-ProjectAspect-LITTLE-DAB (2013).mp3 diff --git a/dotfiles/.config/cmus/playlists/LadyZenaida b/dotfiles/.config/cmus/playlists/LadyZenaida new file mode 100644 index 0000000..e1f2eb6 --- /dev/null +++ b/dotfiles/.config/cmus/playlists/LadyZenaida @@ -0,0 +1,11 @@ +/home/ygg/Music/zenaida/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a +/home/ygg/Music/zenaida/Humanite Uni Toi - demo.mp3 +/home/ygg/Music/zenaida/Rainbow Warriors -Demo.mp3 +/home/ygg/Music/zenaida/Save Me From Myself.mp3 +/home/ygg/Music/zenaida/Mastered- Let It Go -Lady ZenAida.mp3 +/home/ygg/Music/zenaida/audio/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a +/home/ygg/Music/zenaida/audio/“Clean up the Ocean” DNCE re-write cover-yeTdj45wbLo.m4a +/home/ygg/Music/zenaida/audio/Dream a little Dream - DIY Bee Condo-wgF-lzB_lSQ.m4a +/home/ygg/Music/zenaida/audio/'Friend Like Me' Cover - Lady Zenaida-eHK-u1-nLq8.opus +/home/ygg/Music/zenaida/audio/Lady Zenaida «  Everybody wants to be a Cat » Cover-PazfkBSaubI.m4a +/home/ygg/Music/zenaida/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a diff --git a/dotfiles/.config/cmus/playlists/default b/dotfiles/.config/cmus/playlists/default new file mode 100644 index 0000000..826cf49 --- /dev/null +++ b/dotfiles/.config/cmus/playlists/default @@ -0,0 +1,38 @@ +/home/ygg/Music/Kingdom Hearts 2 OST Collection-d7b-cpSpS9A.opus +/home/ygg/Music/Final Fantasy VIII - Complete Soundtrack-X6kAwpgW29M.opus +/home/ygg/Music/Final Fantasy VIII - Complete Soundtrack-X6kAwpgW29M.opus +/home/ygg/Music/Final Fantasy ~ Jazz _ Brass Mix-7nI8Xuy363k.opus +/home/ygg/Music/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.opus +/home/ygg/Music/tribe_vibe/Brian Cid - Margarette (Buddha Bar by Armen Miran & Ravin 2017) (Original Mix)-oK-vkCEiwOI.mp3 +/home/ygg/Music/tribe_vibe/Deya Dova - Return Of The Bird Tribes (saQi Remix)-DwT59_MfvyU.mp3 +/home/ygg/Music/tribe_vibe/Ethnic Deep House Vol#10 (Armen Miran _Davi_ Oceanvs Orientalis )-134NlN8tdyc.mp3 +/home/ygg/Music/tribe_vibe/Gerra G - A Mascara (Rodrigo Gallardo Remix) _ Exotic Refreshment LTD-ch8T2EULjxU.mp3 +/home/ygg/Music/tribe_vibe/Go Dugong - Vidita (El Búho Remix)-ealqZDkQqXY.mp3 +/home/ygg/Music/tribe_vibe/Honra (Original)-nDq-r2X9uFI.mp3 +/home/ygg/Music/tribe_vibe/Ipek Ipekcioglu feat. Petra Nachtmanova - Uyan Uyan _ Kater130-9-ZsLSxWuhw.mp3 +/home/ygg/Music/tribe_vibe/Jacob Groening, Zigan Aldi - Checkpoint-qKVtqwiRAdQ.mp3 +/home/ygg/Music/tribe_vibe/Kazuma Akasaki - I Can Find You [Melodic Techno House Mix]-NfOGsZwwdjg.mp3 +/home/ygg/Music/tribe_vibe/Layne Redmond & Tommy Brunjes - Morrocan Moon-YqmJoiHj8NE.mp3 +/home/ygg/Music/tribe_vibe/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.mp3 +/home/ygg/Music/tribe_vibe/Lee Jones - One Grain-mIAtmjq0jC4.mp3 +/home/ygg/Music/tribe_vibe/Moontricks - Solar Therapy-u2ltkcGOz_c.mp3 +/home/ygg/Music/tribe_vibe/Mumbai Madness-bzXgX_V0Q0Y.mp3 +/home/ygg/Music/tribe_vibe/NenaHelena - La Ka Ruba Ft. Akil [E008]-amj-LmHyGXM.mp3 +/home/ygg/Music/tribe_vibe/Nostalgia (Extended)-L-3sPvjaUzM.mp3 +/home/ygg/Music/tribe_vibe/Oceanvs Orientalis - Khronos (Full EP)-mDGCSZ8VTuw.mp3 +/home/ygg/Music/tribe_vibe/Peter Power - Sun Sun Damba [Multi Culti]-aRC_7AE8DhI.mp3 +/home/ygg/Music/tribe_vibe/Raz Ohara - El Zahir (Original Mix)-wKDmzUYKV9Q.mp3 +/home/ygg/Music/tribe_vibe/Reaching Rujum-mYM4hasoo4o.mp3 +/home/ygg/Music/tribe_vibe/Rej Senhor (Original Version)-fBkVbYDLJDM.mp3 +/home/ygg/Music/tribe_vibe/Roots of Wisdom (Original)-e8luC8BR9i8.mp3 +/home/ygg/Music/tribe_vibe/Satori (NL) feat. Miou Amadée - Days Without You (Crussen Remix)-qFMEKS0ZWn0.mp3 +/home/ygg/Music/tribe_vibe/Theme For Namgar (Crussen Edit)-5oHPgSuKLZo.mp3 +/home/ygg/Music/tribe_vibe/Timboletti - Helva Selva (feat. Ziski & Pophop Remix)-pAcFzVFzjKs.mp3 +/home/ygg/Music/tribe_vibe/Traumer - Classroom-fyKY3tfyAVY.mp3 +/home/ygg/Music/tribe_vibe/Unspoken Word (Intro)-ePayp_lvzV8.mp3 +/home/ygg/Music/tribe_vibe/Vesaire-lLFYPPGcG-Q.mp3 +/home/ygg/Music/tribe_vibe/Vidita Ft. Miriam García (El Buho Remix)-o2TgDfnPmZI.mp3 +/home/ygg/Music/tribe_vibe/War Cry-J2sZUeasZkY.mp3 +/home/ygg/Music/tribe_vibe/Yet Another Day Thinking About You-zEOe-ckZjJc.mp3 +/home/ygg/Music/tribe_vibe/YokoO - Yet Another Day Thinking About You feat JoKe & Mauve [ADIDA001]-xOss6oP8xiY.mp3 +/home/ygg/Music/Xenia - Live @ Radio Intense Kyiv 7.4.2020 _ Techno Mix-r3DMXRWcmCI.opus diff --git a/dotfiles/.config/cmus/search-history b/dotfiles/.config/cmus/search-history new file mode 100644 index 0000000..6be3d6a --- /dev/null +++ b/dotfiles/.config/cmus/search-history @@ -0,0 +1,43 @@ +alt +altspace +zenaida +z +musi +zen +mu +live +edit +track +renam +view +move +cent +zenaid +pl-c +pl +vol +N +create +cre +playl +new +lady +let it go +zena +born t +kick +step +good +foot +final +final fant +tribe +lee +jon +perf +perfec +seba +fina +kingdom +sah +zelda diff --git a/dotfiles/.config/fish b/dotfiles/.config/fish new file mode 160000 index 0000000..8972c47 --- /dev/null +++ b/dotfiles/.config/fish @@ -0,0 +1 @@ +Subproject commit 8972c47f1f17109e34b7d80a1ac6b18f9f281819 diff --git a/dotfiles/.config/hunter/actions/Add Action?type?name!.sh b/dotfiles/.config/hunter/actions/Add Action?type?name!.sh new file mode 100755 index 0000000..6a322bc --- /dev/null +++ b/dotfiles/.config/hunter/actions/Add Action?type?name!.sh @@ -0,0 +1,84 @@ +#!/bin/sh + + +errecho() { + echo ${@} >&2 +} + +check_dir() { + DIR=${1} + + [ -d ${DIR} ] || + mkdir -p ${DIR} || + (echo "Can't create directory: ${DIR}" && exit 1) +} + +populate_file() { + FILE=${1} + + # Don't try to overwrite existing file + test -e ${FILE} && return + + + + cat > ${FILE} << EOF +#!/bin/sh + +# Selected files are stored here +FILES=\${@} + +# You can interate over them one by one +for FILE in \${FILES}; do + echo \$FILE +done + +# Or process them all at once +echo "\${FILES}" +EOF +} + + +## Starting point + +FILE=${1} +MIME=`hunter -m $FILE` +STATUS=$? + + +# MIME detection failed, bail out unless type is base +[ $STATUS != 0 ] && [ $type != "uni" ] && + echo $MIME && + exit 1 + +# Laziy not using XGD here because of OSX +ACTDIR="$HOME/.config/hunter/actions/" + +MIME_BASE=`echo $MIME | cut -d "/" -f 1` +MIME_SUB=`echo $MIME | cut -d "/" -f 2` + + +case $type in + uni) + AFILE="${ACTDIR}/${name}.sh" + check_dir "${ACTDIR}" + populate_file "${AFILE}" + $EDITOR "${AFILE}" + test -e "${AFILE}" && chmod +x "${AFILE}" + ;; + base) + BASEDIR="${ACTDIR}/$MIME_BASE" + AFILE="${BASEDIR}/${name}.sh" + check_dir "${BASEDIR}" + populate_file "${AFILE}" + $EDITOR "${AFILE}" + test -e ${AFILE} && chmod +x "${ACTDIR}/$name" + ;; + sub) + SUBDIR="${ACTDIR}/${MIME_BASE}/${MIME_SUB}" + AFILE="${SUBDIR}/${name}.sh" + check_dir ${SUBDIR} + populate_file "${AFILE}" + $EDITOR "${AFILE}" + test -e ${AFILE} && chmod+ +x ${AFILE} + ;; +esac diff --git a/dotfiles/.config/hunter/actions/application/extract.sh b/dotfiles/.config/hunter/actions/application/extract.sh new file mode 100755 index 0000000..51c8c0f --- /dev/null +++ b/dotfiles/.config/hunter/actions/application/extract.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +which 7z >/dev/null && EXTRACTOR="7z x" +# Prefer aunpack +which aunpack >/dev/null && EXTRACTOR=aunpack + + +for file in "$@"; do + echo $EXTRACTOR "$file"; +done diff --git a/dotfiles/.config/hunter/actions/compress?archive_name.sh b/dotfiles/.config/hunter/actions/compress?archive_name.sh new file mode 100755 index 0000000..17c0d6a --- /dev/null +++ b/dotfiles/.config/hunter/actions/compress?archive_name.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +7z a $archive_name "$@" diff --git a/dotfiles/.config/hunter/actions/synchtop!.sh b/dotfiles/.config/hunter/actions/synchtop!.sh new file mode 100755 index 0000000..5e1f9f7 --- /dev/null +++ b/dotfiles/.config/hunter/actions/synchtop!.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec htop diff --git a/dotfiles/.config/hunter/actions/text/firefox.sh b/dotfiles/.config/hunter/actions/text/firefox.sh new file mode 100755 index 0000000..a03ee81 --- /dev/null +++ b/dotfiles/.config/hunter/actions/text/firefox.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +firefox "$@" diff --git a/dotfiles/.config/hunter/actions/text/nano!.sh b/dotfiles/.config/hunter/actions/text/nano!.sh new file mode 100755 index 0000000..2b03d6c --- /dev/null +++ b/dotfiles/.config/hunter/actions/text/nano!.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +nano "$@" diff --git a/dotfiles/.config/hunter/actions/video/mpv.sh b/dotfiles/.config/hunter/actions/video/mpv.sh new file mode 100755 index 0000000..87da718 --- /dev/null +++ b/dotfiles/.config/hunter/actions/video/mpv.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec mpv "$@" diff --git a/dotfiles/.config/hunter/actions/youtube_music?url.sh b/dotfiles/.config/hunter/actions/youtube_music?url.sh new file mode 100755 index 0000000..8881499 --- /dev/null +++ b/dotfiles/.config/hunter/actions/youtube_music?url.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +FORMATS=`youtube-dl -F "$url"` + +echo $FORMATS + +echo $FORMATS | grep "251 " && + youtube-dl -x -f 251 "$url" && + exit 0 + +echo $FORMATS | grep "171 " && + youtube-dl -x -f 171 "$url" && + exit 0 + +exit 1 diff --git a/dotfiles/.config/hunter/config b/dotfiles/.config/hunter/config new file mode 100644 index 0000000..018efdc --- /dev/null +++ b/dotfiles/.config/hunter/config @@ -0,0 +1,10 @@ +animation=on +show_hidden=off +select_cmd=find -type f | fzf -m +cd_cmd=find -type d | fzf +icons=off +ratios=20,30,49 +media_autostart=off +media_mute=off +media_previewer=hunter-media +graphics=auto diff --git a/dotfiles/.config/hunter/hunter_cd.sh b/dotfiles/.config/hunter/hunter_cd.sh new file mode 100644 index 0000000..6d73be1 --- /dev/null +++ b/dotfiles/.config/hunter/hunter_cd.sh @@ -0,0 +1,6 @@ +function hunter() { + env hunter + test -e ~/.hunter_cwd && + source ~/.hunter_cwd && + rm ~/.hunter_cwd && cd $HUNTER_CWD +} diff --git a/dotfiles/.config/hunter/keys b/dotfiles/.config/hunter/keys new file mode 100644 index 0000000..44862d1 --- /dev/null +++ b/dotfiles/.config/hunter/keys @@ -0,0 +1,109 @@ +[movement] +Up(1)=k, Up +Down(1)=j, Down +Left=b, Left +Right=f, Right +Top=<, Home +Bottom=>, End +Up(10)=K +Down(10)=J +PageUp=C-v, PageUp +PageDown=M-v, PageDown + +[filebrowser] +Quit=q +QuitWithDir=Q +LeftColumnDown=] +LeftColumnUp=[ +GotoHome=~ +TurboCd=/ +SelectExternal=M-Space +EnterDirExternal=M-/ +RunInBackground=F +GotoPrevCwd=- +ShowBookmarks=` +AddBookmark=b +ShowProcesses=w +ShowLog=g +ShowQuickActions=a +RunSubshell=z +ToggleColumns=c +ExecCmd=! + +[filelist] +Search=S +SearchNext=M-s +SearchPrev=M-S +Filter=C-f +Select=Space +InvertSelection=v +ClearSelection=V +FilterSelection=M-V +ToggleTag=t +ToggleHidden=h +ReverseSort=r +CycleSort=s +ToNextMtime=K +ToPrevMtime=k +ToggleDirsFirst=d + + + +[tabs] +NewTab=C-t +CloseTab=C-w +NextTab=Tab +PrevTab=BackTab +GotoTab(_)=F_ + + +[media] +TogglePause=M-m +ToggleMute=M-M +SeekForward=M-> +SeekBackward=M-< + +[bookmarks] +GotoLastCwd=` +Goto(_)=_ +Delete(_)=M-_ + +[processes] +Close=w, Esc +Remove=d +Kill=k +FollowOutput=f +ScrollOutputUp=C-p +ScrollOutputDown=C-n +ScrollOutputPageUp=C-V +ScrollOutputPageDown=C-v +ScrollOutputTop=C-< +ScrollOutputBottom=> + +[minibuffer] +InsertChar(_)=_ +InsertTab(_)=F_ +Cancel=C-c, Esc +Finish=Enter +Complete=Tab +DeleteChar=C-d, Delete +BackwardDeleteChar=Backspace +CursorLeft=C-b, Left +CursorRight=C-f, Right +HistoryUp=C-p, M-p, Up +HistoryDown=C-n, M-n, Down +ClearLine=C-u +DeleteWord=C-h +CursorToStart=C-a, Home +CursorToEnd=C-e, End + + +[fold] +ToggleFold=t,Tab + +[log] +Close=g,Esc + +[quickaction] +Close=a, Esc, C-a +SelectOrRun(_)=_ diff --git a/dotfiles/.config/hunter/keys~ b/dotfiles/.config/hunter/keys~ new file mode 100644 index 0000000..9ebba53 --- /dev/null +++ b/dotfiles/.config/hunter/keys~ @@ -0,0 +1,109 @@ +[movement] +Up(1)=k, Up +Down(1)=j, Down +Left=b, Left +Right=f, Right +Top=<, Home +Bottom=>, End +Up(10)=K +Down(10)=J +PageUp=C-v, PageUp +PageDown=M-v, PageDown + +[filebrowser] +Quit=q +QuitWithDir=Q +LeftColumnDown=] +LeftColumnUp=[ +GotoHome=~ +TurboCd=/ +SelectExternal=M-Space +EnterDirExternal=M-/ +RunInBackground=F +GotoPrevCwd=- +ShowBookmarks=` +AddBookmark=b +ShowProcesses=w +ShowLog=g +ShowQuickActions=a +RunSubshell=z +ToggleColumns=c +ExecCmd=! + +[filelist] +Search=S +SearchNext=M-s +SearchPrev=M-S +Filter=C-f +Select=Space +InvertSelection=v +ClearSelection=V +FilterSelection=M-v +ToggleTag=t +ToggleHidden=h +ReverseSort=r +CycleSort=s +ToNextMtime=K +ToPrevMtime=k +ToggleDirsFirst=d + + + +[tabs] +NewTab=C-t +CloseTab=C-w +NextTab=Tab +PrevTab=BackTab +GotoTab(_)=F_ + + +[media] +TogglePause=M-m +ToggleMute=M-M +SeekForward=M-> +SeekBackward=M-< + +[bookmarks] +GotoLastCwd=` +Goto(_)=_ +Delete(_)=M-_ + +[processes] +Close=w, Esc +Remove=d +Kill=k +FollowOutput=f +ScrollOutputUp=C-p +ScrollOutputDown=C-n +ScrollOutputPageUp=C-V +ScrollOutputPageDown=C-v +ScrollOutputTop=C-< +ScrollOutputBottom=> + +[minibuffer] +InsertChar(_)=_ +InsertTab(_)=F_ +Cancel=C-c, Esc +Finish=Enter +Complete=Tab +DeleteChar=C-d, Delete +BackwardDeleteChar=Backspace +CursorLeft=C-b, Left +CursorRight=C-f, Right +HistoryUp=C-p, M-p, Up +HistoryDown=C-n, M-n, Down +ClearLine=C-u +DeleteWord=C-h +CursorToStart=C-a, Home +CursorToEnd=C-e, End + + +[fold] +ToggleFold=t,Tab + +[log] +Close=g,Esc + +[quickaction] +Close=a, Esc, C-a +SelectOrRun(_)=_ diff --git a/dotfiles/.config/hunter/previewers/7z b/dotfiles/.config/hunter/previewers/7z new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/7z @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/Z b/dotfiles/.config/hunter/previewers/Z new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/Z @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/bz b/dotfiles/.config/hunter/previewers/bz new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/bz @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/bz2 b/dotfiles/.config/hunter/previewers/bz2 new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/bz2 @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/cab b/dotfiles/.config/hunter/previewers/cab new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/cab @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/cpio b/dotfiles/.config/hunter/previewers/cpio new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/cpio @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/deb b/dotfiles/.config/hunter/previewers/deb new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/deb @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/definitions/archive b/dotfiles/.config/hunter/previewers/definitions/archive new file mode 100755 index 0000000..ef62060 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/definitions/archive @@ -0,0 +1,55 @@ +#!/bin/sh + +FILE="${1}" + +function exists() { + command -v "${1}" >/dev/null + return $? +} + + +function run_other { + exists 7z && + 7z l -p -- "${FILE}" | tail --lines="+11" && exit $? + exists als && + als "${FILE}" && exit $? || + echo "Can't find bsdtar, 7z, or atools!" && exit 1 + +} + + +# Parse output and rearrange it to be more suitable for possibly narrow column +function run_bsdtar() { + # Check if bsdtar is present + exists bsdtar || return 1 + + bsdtar -v -t -f "${FILE}" 2>/dev/null | + awk '{ + # Only show two digits + CONVFMT = "%2.2f" + + # Calculate human reatable size + split( "B KB MB GB" , v ); + s=1; + while( $5>1024 ) { + $5/=1024; + s++ + } + + # Print everything with tab as separator + print $(9) $(10) $(11) "\t" \ + $(1) "\t" $(2) "\t" $(3) "\t" $(4) "\t" \ + $(5) v[s] "\t" \ + $(6) "\t" $(7) "\t" $(8) + }' | + column -t \ + -N NAME,PERMISSION,XATTR,USER,GROUP,SIZE,MON,DAY,TIME \ + -O name,size,permission,user,group,mon,day,time,xattr \ + -R permission,xattr,user,group,size,mon,day,time \ + -H xattr \ + -T name,permission,user,group,size,mon,day,time \ + -W name +} + +# Try bsdtar, if it fails try the others +run_bsdtar "${1}" || run_other "${1}" diff --git a/dotfiles/.config/hunter/previewers/definitions/html b/dotfiles/.config/hunter/previewers/definitions/html new file mode 100755 index 0000000..0f5e48a --- /dev/null +++ b/dotfiles/.config/hunter/previewers/definitions/html @@ -0,0 +1,6 @@ +#!/bin/sh + +w3m -dump "${1}" || +links -dump "${1}" || +elinks -dump "${1}" || +lynx -dump "${1}" \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/definitions/openoffice b/dotfiles/.config/hunter/previewers/definitions/openoffice new file mode 100755 index 0000000..91e56b0 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/definitions/openoffice @@ -0,0 +1,3 @@ +#!/bin/sh + +odt2text "${1}" 2> /dev/null \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/definitions/pdf b/dotfiles/.config/hunter/previewers/definitions/pdf new file mode 100755 index 0000000..162edba --- /dev/null +++ b/dotfiles/.config/hunter/previewers/definitions/pdf @@ -0,0 +1,5 @@ +#!/bin/sh + +pdftotext -l 10 -layout -nopgbrk -q "${1}" -|| +mutool draw -F txt -i -- "${1}" || +exiftool "${1}" 2> /dev/null diff --git a/dotfiles/.config/hunter/previewers/definitions/pdf.g b/dotfiles/.config/hunter/previewers/definitions/pdf.g new file mode 100755 index 0000000..e43c4ca --- /dev/null +++ b/dotfiles/.config/hunter/previewers/definitions/pdf.g @@ -0,0 +1,8 @@ +#!/bin/sh + +FILE="${1}" +BASENAME=`basename -s ".pdf" "${FILE}"` + +mkdir /tmp/hunter-previews +pdftoppm -singlefile -singlefile "${FILE}" /tmp/hunter-previews/"${BASENAME}" || exit 1 +echo /tmp/hunter-previews/"${BASENAME}".ppm diff --git a/dotfiles/.config/hunter/previewers/definitions/text b/dotfiles/.config/hunter/previewers/definitions/text new file mode 100755 index 0000000..e76f920 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/definitions/text @@ -0,0 +1,9 @@ +#!/bin/sh + +bat --plain --color=always --paging=never "${1}" --line-range 1:100 --tabs 8 +2>/dev/null && exit 5 + +highlight --replace-tabs=4 --force -- "${1}" +2>/dev/null && exit 5 + +cat "${1}" diff --git a/dotfiles/.config/hunter/previewers/gz b/dotfiles/.config/hunter/previewers/gz new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/gz @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/htm b/dotfiles/.config/hunter/previewers/htm new file mode 120000 index 0000000..40f18c0 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/htm @@ -0,0 +1 @@ +definitions/html \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/html b/dotfiles/.config/hunter/previewers/html new file mode 120000 index 0000000..40f18c0 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/html @@ -0,0 +1 @@ +definitions/html \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/jar b/dotfiles/.config/hunter/previewers/jar new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/jar @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/jzma b/dotfiles/.config/hunter/previewers/jzma new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/jzma @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/lha b/dotfiles/.config/hunter/previewers/lha new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/lha @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/lzo b/dotfiles/.config/hunter/previewers/lzo new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/lzo @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/odt b/dotfiles/.config/hunter/previewers/odt new file mode 120000 index 0000000..5605427 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/odt @@ -0,0 +1 @@ +definitions/openoffice \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/pdf b/dotfiles/.config/hunter/previewers/pdf new file mode 100755 index 0000000..162edba --- /dev/null +++ b/dotfiles/.config/hunter/previewers/pdf @@ -0,0 +1,5 @@ +#!/bin/sh + +pdftotext -l 10 -layout -nopgbrk -q "${1}" -|| +mutool draw -F txt -i -- "${1}" || +exiftool "${1}" 2> /dev/null diff --git a/dotfiles/.config/hunter/previewers/pdf.g b/dotfiles/.config/hunter/previewers/pdf.g new file mode 120000 index 0000000..90dee50 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/pdf.g @@ -0,0 +1 @@ +definitions/pdf.g \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/rar b/dotfiles/.config/hunter/previewers/rar new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/rar @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/rpm b/dotfiles/.config/hunter/previewers/rpm new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/rpm @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/tar b/dotfiles/.config/hunter/previewers/tar new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/tar @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/xhtm b/dotfiles/.config/hunter/previewers/xhtm new file mode 120000 index 0000000..40f18c0 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/xhtm @@ -0,0 +1 @@ +definitions/html \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/xhtml b/dotfiles/.config/hunter/previewers/xhtml new file mode 120000 index 0000000..40f18c0 --- /dev/null +++ b/dotfiles/.config/hunter/previewers/xhtml @@ -0,0 +1 @@ +definitions/html \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/xpi b/dotfiles/.config/hunter/previewers/xpi new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/xpi @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/hunter/previewers/zip b/dotfiles/.config/hunter/previewers/zip new file mode 120000 index 0000000..c3bda0c --- /dev/null +++ b/dotfiles/.config/hunter/previewers/zip @@ -0,0 +1 @@ +definitions/archive \ No newline at end of file diff --git a/dotfiles/.config/monitors.xml b/dotfiles/.config/monitors.xml new file mode 100644 index 0000000..de93b3f --- /dev/null +++ b/dotfiles/.config/monitors.xml @@ -0,0 +1,438 @@ + + + + 0 + 0 + 1 + yes + + + HDMI-1-2 + ACI + ASUS VP247 + G8LMTF182920 + + + 1920 + 1080 + 60 + + + + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + + + + 0 + 0 + 1 + yes + + + HDMI-1-2 + GSM + LG TV + 0x00000000 + + + 1920 + 1080 + 60 + + + + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + + + + 0 + 768 + 1 + + + DVI-I-3-2 + ACI + ASUS VP247 + G8LMTF182920 + + + 1920 + 1080 + 60 + + + + + 1668 + 0 + 1 + + + HDMI-1-2 + WET + 0x6486 + 0x00000000 + + + 1366 + 768 + 59.789539337158203 + + + + + 1920 + 768 + 1 + yes + + + DVI-I-2-1 + ACI + ASUS VH242H + B3LMTF142005 + + + 1920 + 1080 + 60 + + + + + + + 0 + 0 + 1 + yes + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + 1920 + 1080 + 59.999214172363281 + + + + + + DVI-I-2-1 + ACI + ASUS VH242H + B3LMTF142005 + + + + + + 0 + 0 + 1 + yes + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + 1920 + 1080 + 59.999214172363281 + + + + + + HDMI-1-1 + TSB + ScreenXpert- + 0x88888800 + + + + + + 1920 + 0 + 1 + yes + + + HDMI-1-2 + ACI + ASUS VH242H + B3LMTF142005 + + + 1920 + 1080 + 60 + + + + + 0 + 0 + 1 + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + 1920 + 1080 + 59.999214172363281 + + + + + + + 0 + 0 + 1 + + + DVI-I-3-2 + ACI + ASUS VP247 + G8LMTF182920 + + + 1920 + 1080 + 60 + + + + + 1920 + 0 + 1 + yes + + + HDMI-1-2 + WET + 0x6486 + 0x00000000 + + + 1920 + 1080 + 23.976079940795898 + + + + + + + 0 + 0 + 1 + yes + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + 1920 + 1080 + 59.999214172363281 + + + + + HDMI-1-2 + GSM + LG TV + 0x0000ea0a + + + 1920 + 1080 + 60 + + + + + + + 0 + 0 + 1 + yes + + + HDMI-1-2 + GSM + LG TV + 0x01010101 + + + 1920 + 1080 + 60 + + + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + 1920 + 1080 + 59.999214172363281 + + + + + + + 1920 + 0 + 1 + + + DVI-I-2-1 + DLM + No Monitor + USB_4307-U3D2 + + + 1920 + 1080 + 60 + + + + + 0 + 0 + 1 + yes + + + DVI-I-3-2 + ACI + ASUS VP247 + G8LMTF182920 + + + 1920 + 1080 + 60 + + + + + + + 0 + 0 + 1 + yes + + + eDP-1-1 + BOE + 0x07d8 + 0x00000000 + + + 1920 + 1080 + 119.93699645996094 + + + + + + + 0 + 768 + 1 + yes + + + DVI-I-3-2 + ACI + ASUS VP247 + G8LMTF182920 + + + 1920 + 1080 + 60 + + + + + 1920 + 768 + 1 + + + DVI-I-2-1 + DLM + No Monitor + USB_4307-U3D2 + + + 1920 + 1080 + 60 + + + + + 1661 + 0 + 1 + + + HDMI-1-2 + WET + 0x6486 + 0x00000000 + + + 1366 + 768 + 59.789539337158203 + + + + + diff --git a/dotfiles/.config/nvim/readme.md b/dotfiles/.config/nvim/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/dotfiles/.config/ranger/rc.conf b/dotfiles/.config/ranger/rc.conf new file mode 100644 index 0000000..5ea6871 --- /dev/null +++ b/dotfiles/.config/ranger/rc.conf @@ -0,0 +1,4 @@ +set preview_images true +set preview_images_method ueberzug +default_linemode devicons +set show_hidden true diff --git a/dotfiles/.config/scdl/scdl.cfg b/dotfiles/.config/scdl/scdl.cfg new file mode 100644 index 0000000..15c6137 --- /dev/null +++ b/dotfiles/.config/scdl/scdl.cfg @@ -0,0 +1,3 @@ +[scdl] +auth_token = +path = . diff --git a/dotfiles/.config/sefr/config.toml b/dotfiles/.config/sefr/config.toml new file mode 100644 index 0000000..f9597e2 --- /dev/null +++ b/dotfiles/.config/sefr/config.toml @@ -0,0 +1,111 @@ +[engines._default] +name = "Google" +search_url = "https://www.google.com/search?q=%s" +suggestion_url = "https://www.google.com/complete/search?client=chrome&q=%s" + +[engines._default.prompt] +icon = " g " +icon_bg = "Blue" +icon_fg = "White" +text = " Google " +text_bg = "White" +text_fg = "Black" + +[engines.ddg] +name = "DuckDuckGo" +search_url = "https://duckduckgo.com/?q=%s" +suggestion_url = "https://duckduckgo.com/ac/?q=%s&type=list" + +[engines.ddg.prompt] +icon = " ♞ " +icon_bg = [222, 88, 51] +icon_fg = "White" +text_bg = "White" +text_fg = "Black" + +[engines.g] +name = "Google (I'm Feeling Lucky)" +search_url = "https://www.google.com/search?btnI&q=%s" +suggestion_url = "https://www.google.com/complete/search?client=chrome&q=%s" + +[engines.g.prompt] +icon = " g " +icon_bg = "Blue" +icon_fg = "White" +text = " I'm Feeling Lucky " +text_bg = "White" +text_fg = "Black" + +[engines.r] +name = "Subreddit" +search_url = "https://www.reddit.com/r/%s" +space_becomes = "" +suggestion_url = "https://us-central1-subreddit-suggestions.cloudfunctions.net/suggest?query=%s" + +[engines.r.prompt] +icon = " ⬬ " +icon_bg = [255, 69, 0] +icon_fg = "White" +text_bg = "White" +text_fg = "Black" + +[engines.red] +name = "Reddit" +search_url = "https://www.google.com/search?q=site:reddit.com+%s" +suggestion_url = "https://www.google.com/complete/search?client=chrome&q=%s" + +[engines.red.prompt] +icon = " ⬬ " +icon_bg = [255, 69, 0] +icon_fg = "White" +text_bg = "White" +text_fg = "Black" + +[engines.w] +name = "Wikipedia" +search_url = "https://www.wikipedia.org/search-redirect.php?family=wikipedia&language=en&search=%s&language=en&go=Go" +suggestion_url = "https://en.wikipedia.org/w/api.php?action=opensearch&search=%s&limit=15&namespace=0&format=json" + +[engines.w.prompt] +icon = " W " +icon_bg = "White" +icon_fg = "Black" +text_bg = "White" +text_fg = "Black" + +[engines.wkt] +name = "Wiktionary" +search_url = "https://www.wiktionary.org/search-redirect.php?family=wiktionary&language=en&search=%s&go=Go" +suggestion_url = "https://en.wiktionary.org/w/api.php?action=opensearch&search=%s&limit=15&namespace=0&format=json" + +[engines.wkt.prompt] +icon = "['w]" +icon_bg = "White" +icon_fg = "Black" +text_bg = "White" +text_fg = "Black" + +[engines.yt] +name = "YouTube" +search_url = "https://www.youtube.com/results?q=%s" +suggestion_url = "http://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=%s" + +[engines.yt.prompt] +icon = " ▶ " +icon_bg = "Red" +icon_fg = "White" +text_bg = "White" +text_fg = "Black" + +[keybinds] +"" = "SelectPrev" +"" = "DeleteChar" +"" = "Exit" +"" = "SelectNext" +"" = "SelectPrev" +"" = "DeleteWord" +"" = "Submit" +"" = "SelectNext" +"" = "Exit" +"" = "SelectNext" +"" = "SelectPrev" diff --git a/dotfiles/.config/tmux b/dotfiles/.config/tmux new file mode 160000 index 0000000..562bd53 --- /dev/null +++ b/dotfiles/.config/tmux @@ -0,0 +1 @@ +Subproject commit 562bd539a3593e12d7a5e16d4ecbf48bcf293395 diff --git a/dotfiles/.profile b/dotfiles/.profile new file mode 100644 index 0000000..b07a123 --- /dev/null +++ b/dotfiles/.profile @@ -0,0 +1,33 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. +# see /usr/share/doc/bash/examples/startup-files for examples. +# the files are located in the bash-doc package. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +#umask 022 + +# if running bash +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + . "$HOME/.bashrc" + fi +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/.local/bin" ] ; then + PATH="$HOME/.local/bin:$PATH" +fi + +# Default programs: +export EDITOR="nvim" +export TERMINAL="gnome-terminal" +export BROWSER="firefox" +export READER="zathura" diff --git a/dotfiles/.tmux.conf b/dotfiles/.tmux.conf new file mode 100755 index 0000000..d4b3073 --- /dev/null +++ b/dotfiles/.tmux.conf @@ -0,0 +1,185 @@ +# Changed prefix to C-Space October 10th +# Set prefix to Ctrl-Space +# unbind C-b +# set -g prefix C-Space +# bind Space send-prefix +# Set the prefix to ^A +unbind C-b +set -g prefix ^A + +# change pane numbers to start with 1 instead of 0 +set -g base-index 1 +set -g pane-base-index 1 + +# Set fish as default shell +set -g default-shell /usr/bin/fish + +# screen ^C c +unbind ^C +bind ^C new-window -c '#{pane_current_path}' +bind c new-window -c '#{pane_current_path}' + + +# No lag after ESC. +set -sg escape-time 5 + +set -g visual-bell on + +#urxvt tab like window switching (-n: no prior escape seq) +bind -n S-down new-window +bind -n S-left prev +bind -n S-right next +bind -n C-left swap-window -t -1 +bind -n C-right swap-window -t +1 + + +# zoom a pane into a new window for temporary work +# unbind + +# bind + new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \; swap-pane -s tmux-zoom.0 \; select-window -t tmux-zoom +# unbind - +# bind - last-window \; swap-pane -s tmux-zoom.0 \; kill-window -t tmux-zoom + +# dont automatically rename windows +set-option -g allow-rename off + +#detach ^D d +unbind ^D +bind ^D detach + +unbind p +bind p previous-window + +# Break pane into it's own window +unbind b +bind b break-pane + +#remove prompt from kill +unbind x +bind x kill-pane +# -a is for all panes except current +bind C-x kill-pane -a + +# windows ^W w +unbind ^W +bind ^W list-windows +unbind w +bind w list-windows + +#redisplay ^L l +unbind ^L +bind ^L refresh-client + +#quick reload and edit config +bind-key r source-file ~/.config/serious-tmux/serious.tmux.conf \; display-message "Tmux config reloaded" +bind-key e split-window -h "vim ~/.config/serious-tmux/serious.tmux.conf" + +# split windows like vim +bind s split-window -v -c '#{pane_current_path}' +bind v split-window -h -c '#{pane_current_path}' + +# move around panes with hjkl +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +unbind l +bind l select-pane -R + +#activate mouse +set -g mouse on + +# From https://github.com/tmux/tmux/issues/1320 +# Emulate scrolling by sending up and down keys if these commands are running in the pane +tmux_commands_with_legacy_scroll="nano less more man git" + +bind-key -T root WheelUpPane \ + if-shell -Ft= '#{?mouse_any_flag,1,#{pane_in_mode}}' \ + 'send -Mt=' \ + 'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \ + "send -t= Up" "copy-mode -et="' + +bind-key -T root WheelDownPane \ + if-shell -Ft = '#{?pane_in_mode,1,#{mouse_any_flag}}' \ + 'send -Mt=' \ + 'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \ + "send -t= Down" "send -Mt="' + + + +# vi-style controls for copy-mode +setw -g mode-keys vi +setw -g xterm-keys on + +# Get 24 bit colors +set -ga terminal-overrides ",xterm-256color:Tc" +# set -ga terminal-overrides 'xterm*:smcup@:rmcup@' + +# Recommended by nvim from ':checkhealth' +set-option -sg escape-time 0 + +# Nord Theme +# Powerline +run-shell "powerline-daemon -q" +# source "$/home/shawn/.config/powerline/themes/tmux///tmux/powerline.conf" +# set -g status-right '' + +# set -g @plugin "arcticicestudio/nord-tmux" +set -g @plugin 'tmux-plugins/tmux-prefix-highlight' +set -g @plugin 'tmux-plugins/tmux-resurrect' +set -g @continuum-save-interval '15' +set -g @continuum-restore 'off' +set -g @plugin 'tmux-plugins/tmux-continuum' +run -b "~/.config/serious-tmux/serious/plugins/tpm/tpm" + +set -g status-right-length 240 +set -g status-left-length 140 + +set -g status-right 'Continuum status: #{continuum_status}' +# set -g status-left 'Continuum status: #{continuum_status}' + +set -g status-right "#{pane_current_path} " +set -ag status-right "#{prefix_highlight}" +set -ag status-right '#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] Continuum: #{@continuum-restore} #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] ' +run -b "~/.config/serious-tmux/serious/plugins/tpm/tpm" +run-shell "~/.config/serious-tmux/serious/plugins/nord-tmux/nord.tmux" +# set -ag status-left "#{prefix_highlight}" + +# set -g pane-border-status on +set -g pane-border-style "bg=default,fg=default" +set -g pane-active-border-style "bg=default,fg=green" +# Pane naming +# toggle pane title visibility from https://github.com/tmux/tmux/issues/680 +bind H run 'zsh -c "arr=( off top ) && tmux setw pane-border-status \${arr[\$(( \${arr[(I)#{pane-border-status}]} % 2 + 1 ))]}"' + +# rename pane +bind P command-prompt -p "(rename-pane)" -I "#T" "select-pane -T '%%'" + +# Choose Tree +unbind T +bind T choose-tree + +# The following 10 lines are all from https://gitlab.com/protesilaos/dotfiles/blob/master/tmux/.tmux.conf +# copy mode +# Vim copy-paste behaviour using the clipboard +# bind -T copy-mode-vi v send-keys -X begin-selection +unbind -T copy-mode-vi v +# bind -T copy-mode-vi y send-keys -X copy-pipe "xclip -selection clipboard -i" +unbind -T copy-mode-vi y +# bind -T copy-mode-vi r send-keys -X rectangle-toggle +unbind -T copy-mode-vi r +# For vi copy mode bindings +# bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe "xclip -selection clipboard -i" +unbind -T copy-mode-vi MouseDragEnd1Pane +# For emacs copy mode bindings +# bind -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe "xclip -selection clipboard -i" +unbind -T copy-mode MouseDragEnd1Pane + + +# set -g status-utf9 on +# set -ag window-status-current-format "#[fg=black,bg=white,nobold,noitalics,nounderscore]" +# set -ag window-status-current-format "#[fg=black,bg=white]#P #{pane-border-status} #{pane-current-command}" +# set -ag window-status-current-format "#[fg=black,bg=white,nobold,noitalics,nounderscore]" +# set -ag window-status-current-format "#[fg=black,bg=white]#{pane_current_command}" +# set -ag window-status-current-format "#[fg=white,bg=black,nobold,noitalics,nounderscore]" +# set -ag window-status-current-format "#[fg=red,bg=black] #{pane_current_path}" +# set -ag window-status-current-format ' ' + diff --git a/stow b/stow new file mode 100755 index 0000000..3d30407 --- /dev/null +++ b/stow @@ -0,0 +1 @@ +stow -v -R dotfiles -t ~/