From 473c43a508f4f790f93725c1e813a4915c592f91 Mon Sep 17 00:00:00 2001 From: tristaan Date: Sat, 11 Nov 2023 20:00:39 +0100 Subject: [PATCH] Cleanup unused files --- .Xresources | 7 - .chunkwmrc | 117 ---- .config/alacritty/alacritty.yml | 4 +- .config/alacritty/alacritty_ranger.yml | 361 ---------- .config/conky/conkyrc | 203 ------ .config/dunst/dunstrc | 245 ------- .config/i3/boot.mp3 | Bin 1032 -> 0 bytes .config/i3/config | 234 ------- .config/i3/custom.map | 6 - .config/i3/layouts/gimp-layout.json | 73 --- .config/i3/layouts/workspace-3.json | 101 --- .config/i3/mboot.mp3 | Bin 77640 -> 0 bytes .config/i3/scripts/claw | Bin 54440 -> 0 bytes .config/i3/scripts/kbd_layout.sh | 8 - .config/i3/scripts/locker.sh | 29 - .config/i3/scripts/polybar_launch.sh | 23 - .config/i3/scripts/rotate_background.sh | 9 - .config/i3/scripts/shutdown_menu | 40 -- .config/i3/scripts/term_runner.sh | 7 - .config/i3/scripts/volume_set.sh | 18 - .config/i3/scripts/wan-or-not.sh | 13 - .config/i3/scripts/workspace.sh | 2 - .config/polybar/config | 351 ---------- .config/ranger/.gitignore | 2 - .config/ranger/bookmarks | 1 - .config/ranger/commands.py | 100 --- .config/ranger/devicons.py | 194 ------ .config/ranger/plugins/__init__.py | 0 .config/ranger/plugins/devicons_linemode.py | 19 - .config/ranger/rc.conf | 619 ------------------ .config/ranger/rifle.conf | 211 ------ .config/ranger/scope.sh | 121 ---- .../systemd/user/background-rotate.service | 9 - .config/systemd/user/background-rotate.timer | 13 - .dmrc | 3 - .gitconfig | 16 - .mozilla/firefox/chrome/userChrome.css | 3 - .oh-my-zsh | 2 +- .skhdrc | 40 -- .taskrc | 31 - .zsh-update | 1 - .zshrc | 28 +- install.sh | 86 ++- 43 files changed, 48 insertions(+), 3302 deletions(-) delete mode 100644 .Xresources delete mode 100644 .chunkwmrc delete mode 100644 .config/alacritty/alacritty_ranger.yml delete mode 100644 .config/conky/conkyrc delete mode 100644 .config/dunst/dunstrc delete mode 100644 .config/i3/boot.mp3 delete mode 100644 .config/i3/config delete mode 100644 .config/i3/custom.map delete mode 100644 .config/i3/layouts/gimp-layout.json delete mode 100644 .config/i3/layouts/workspace-3.json delete mode 100644 .config/i3/mboot.mp3 delete mode 100755 .config/i3/scripts/claw delete mode 100755 .config/i3/scripts/kbd_layout.sh delete mode 100755 .config/i3/scripts/locker.sh delete mode 100755 .config/i3/scripts/polybar_launch.sh delete mode 100755 .config/i3/scripts/rotate_background.sh delete mode 100755 .config/i3/scripts/shutdown_menu delete mode 100755 .config/i3/scripts/term_runner.sh delete mode 100755 .config/i3/scripts/volume_set.sh delete mode 100755 .config/i3/scripts/wan-or-not.sh delete mode 100755 .config/i3/scripts/workspace.sh delete mode 100644 .config/polybar/config delete mode 100755 .config/ranger/.gitignore delete mode 100644 .config/ranger/bookmarks delete mode 100644 .config/ranger/commands.py delete mode 100644 .config/ranger/devicons.py delete mode 100755 .config/ranger/plugins/__init__.py delete mode 100755 .config/ranger/plugins/devicons_linemode.py delete mode 100644 .config/ranger/rc.conf delete mode 100644 .config/ranger/rifle.conf delete mode 100644 .config/ranger/scope.sh delete mode 100644 .config/systemd/user/background-rotate.service delete mode 100644 .config/systemd/user/background-rotate.timer delete mode 100644 .dmrc delete mode 100755 .mozilla/firefox/chrome/userChrome.css delete mode 100644 .skhdrc delete mode 100644 .taskrc delete mode 100644 .zsh-update diff --git a/.Xresources b/.Xresources deleted file mode 100644 index 06e31fb..0000000 --- a/.Xresources +++ /dev/null @@ -1,7 +0,0 @@ -! Xft Settings (font) -Xft.lcdfilter: lcddefault -Xft.antialias: true -Xft.rgba:rgba -Xft.hinting: true -Xft.hintstyle: hintfull -Xft.dpi: 92 diff --git a/.chunkwmrc b/.chunkwmrc deleted file mode 100644 index 8b6a192..0000000 --- a/.chunkwmrc +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/bash - -# -# NOTE: specify the absolutepath of the file to use for logging. -# 'stdout' and 'stderr' are valid values. -# - -chunkc core::log_file stdout - -# -# NOTE: specify the desired level of logging. -# -# - none, debug, warn, error -# - -chunkc core::log_level error - -# -# NOTE: specify the absolutepath to the directory to use when -# loading a plugin. '~' expansion is supported. -# - -chunkc core::plugin_dir ~/.chunkwm_plugins - -# -# NOTE: if enabled, chunkwm will monitor the specified plugin_dir -# and automatically reload any '.so' file that is changed. -# - -chunkc core::hotload 0 - -# -# NOTE: the following are config variables for the chunkwm-tiling plugin. -# - -chunkc set global_desktop_mode bsp -chunkc set global_desktop_offset_top 20 -chunkc set global_desktop_offset_bottom 20 -chunkc set global_desktop_offset_left 20 -chunkc set global_desktop_offset_right 20 -chunkc set global_desktop_offset_gap 15 - -# -# NOTE: syntax for desktop-specific settings -# -# chunkc set 2_desktop_mode monocle -# chunkc set 5_desktop_mode float -# chunkc set 3_desktop_offset_top 190 -# chunkc set 3_desktop_offset_bottom 190 -# chunkc set 3_desktop_offset_left 190 -# chunkc set 3_desktop_offset_right 190 -# chunkc set 3_desktop_offset_gap 30 -# - -chunkc set desktop_padding_step_size 10.0 -chunkc set desktop_gap_step_size 5.0 - -chunkc set bsp_spawn_left 1 -chunkc set bsp_optimal_ratio 1.618 -chunkc set bsp_split_mode optimal -chunkc set bsp_split_ratio 0.5 - -chunkc set monitor_focus_cycle 1 -chunkc set window_focus_cycle monitor - -chunkc set mouse_follows_focus intrinsic -chunkc set window_float_next 0 -chunkc set window_region_locked 1 - -chunkc set mouse_move_window \"fn 1\" -chunkc set mouse_resize_window \"fn 2\" - -chunkc set preselect_border_color 0xffd75f5f -chunkc set preselect_border_width 5 -chunkc set preselect_border_radius 0 - -# -# NOTE: these settings require chwm-sa. -# (https://github.com/koekeishiya/chwm-sa) -# - -chunkc set window_float_topmost 0 -chunkc set window_fade_inactive 0 -chunkc set window_fade_alpha 0.85 -chunkc set window_fade_duration 0.25 -chunkc set window_use_cgs_move 0 - -# -# NOTE: the following are config variables for the chunkwm-border plugin. -# - -chunkc set focused_border_color 0xff0f6288 -chunkc set focused_border_width 5 -chunkc set focused_border_radius 0 -chunkc set focused_border_skip_floating 0 - -# -# NOTE: the following are config variables for the chunkwm-ffm plugin. -# - -chunkc set mouse_modifier fn - -# -# NOTE: specify plugins to load when chunkwm starts. -# if chunkc plugin_dir is not set, the absolutepath is necessary. -# - -chunkc core::load border.so -chunkc core::load tiling.so -chunkc core::load ffm.so - -# -# NOTE: sample rules for the tiling plugin -# - -chunkc tiling::rule --owner Finder --name Copy --state float -chunkc tiling::rule --owner \"App Store\" --state float diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml index dd85b2f..90b097a 100644 --- a/.config/alacritty/alacritty.yml +++ b/.config/alacritty/alacritty.yml @@ -18,8 +18,8 @@ env: # (changes require restart) window: dimensions: - columns: 80 - lines: 24 + columns: 100 + lines: 30 # Adds this many blank pixels of padding around the window # Units are physical pixels; this is not DPI aware. diff --git a/.config/alacritty/alacritty_ranger.yml b/.config/alacritty/alacritty_ranger.yml deleted file mode 100644 index 42d1cc8..0000000 --- a/.config/alacritty/alacritty_ranger.yml +++ /dev/null @@ -1,361 +0,0 @@ -# Configuration for Alacritty, the GPU enhanced terminal emulator - - -# Any items in the `env` entry below will be added as -# environment variables. Some entries may override variables -# set by alacritty it self. -env: - # TERM env customization. - # If this property is not set, alacritty will set it to xterm-256color. - # - # Note that some xterm terminfo databases don't declare support for italics. - # You can verify this by checking for the presence of `smso` and `sitm` in - # `infocmp xterm-256color`. - TERM: xterm-256color - -# Window dimensions in character columns and lines -# Falls back to size specified by window manager if set to 0x0. -# (changes require restart) -window: - dimensions: - columns: 80 - lines: 24 - - # Adds this many blank pixels of padding around the window - # Units are physical pixels; this is not DPI aware. - # (change requires restart) - padding: - x: 2 - y: 0 - -# Display tabs using this many cells (changes require restart) -tabspaces: 4 - -# When true, bold text is drawn using the bright variant of colors. -draw_bold_text_with_bright_colors: true - -# Font configuration (changes require restart) -# -# Important font attributes like antialiasing, subpixel aa, and hinting can be -# controlled through fontconfig. Specifically, the following attributes should -# have an effect: -# -# * hintstyle -# * antialias -# * lcdfilter -# * rgba -# -# For instance, if you wish to disable subpixel antialiasing, you might set the -# rgba property to "none". If you wish to completely disable antialiasing, you -# can set antialias to false. -# -# Please see these resources for more information on how to use fontconfig -# -# * https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration -# * file:///usr/share/doc/fontconfig/fontconfig-user.html -font: - # The normal (roman) font face to use. - normal: - family: "xos4 Terminess Powerline" # should be "Menlo" or something on macOS. - # Style can be specified to pick a specific face. - style: Regular - - # The bold font face - bold: - family: "xos4 Terminess Powerline" # should be "Menlo" or something on macOS. - # Style can be specified to pick a specific face. - style: Bold - - # The italic font face - italic: - family: "xos4 Terminess Powerline" # should be "Menlo" or something on macOS. - # Style can be specified to pick a specific face. - # style: Italic - - # Point size of the font - size: 18.0 - - # Offset is the extra space around each character. offset.y can be thought of - # as modifying the linespacing, and offset.x as modifying the letter spacing. - offset: - x: 0 - y: 0 - - # Glyph offset determines the locations of the glyphs within their cells with - # the default being at the bottom. Increase the x offset to move the glyph to - # the right, increase the y offset to move the glyph upward. - glyph_offset: - x: 0 - y: 0 - - # OS X only: use thin stroke font rendering. Thin strokes are suitable - # for retina displays, but for non-retina you probably want this set to - # false. - use_thin_strokes: true - -# Should display the render timer -render_timer: false - -# Colors (Tomorrow Night Bright) -colors: - # Default colors - primary: - background: '0x1d1f21' - foreground: '0xd1d4d2' - - # Colors the cursor will use if `custom_cursor_colors` is true - cursor: - text: '0x1d1f21' - cursor: '0xd1d4d2' - - # Normal colors - normal: - black: '0x1d1d1d' - red: '0xd73555' - green: '0x35d755' - yellow: '0xd7d755' - blue: '0x3555d7' - magenta: '0xd755d7' - cyan: '0x55b7b7' - white: '0xe7e7e7' - - # Bright colors - bright: - black: '0x303030' - red: '0xc76484' - green: '0x64c784' - yellow: '0xc7c784' - blue: '0x6484c7' - magenta: '0x7355d7' - cyan: '0x84c7c7' - white: '0xd7d7d7' - - # Dim colors (Optional) - dim: - black: '0x050505' - red: '0xf2777a' - green: '0x99cc99' - yellow: '0xffcc66' - blue: '0x6699cc' - magenta: '0xcc99cc' - cyan: '0x66cccc' - white: '0xdddddd' - -# Visual Bell -# -# Any time the BEL code is received, Alacritty "rings" the visual bell. Once -# rung, the terminal background will be set to white and transition back to the -# default background color. You can control the rate of this transition by -# setting the `duration` property (represented in milliseconds). You can also -# configure the transition function by setting the `animation` property. -# -# Possible values for `animation` -# `Ease` -# `EaseOut` -# `EaseOutSine` -# `EaseOutQuad` -# `EaseOutCubic` -# `EaseOutQuart` -# `EaseOutQuint` -# `EaseOutExpo` -# `EaseOutCirc` -# `Linear` -# -# To completely disable the visual bell, set its duration to 0. -# -visual_bell: - animation: EaseOutExpo - duration: 0 - -# Background opacity -background_opacity: 1.0 - -# Mouse bindings -# -# Currently doesn't support modifiers. Both the `mouse` and `action` fields must -# be specified. -# -# Values for `mouse`: -# - Middle -# - Left -# - Right -# - Numeric identifier such as `5` -# -# Values for `action`: -# - Paste -# - PasteSelection -# - Copy (TODO) -mouse_bindings: - - { mouse: Middle, action: PasteSelection } - -mouse: - double_click: { threshold: 300 } - triple_click: { threshold: 300 } - hide_when_typing: true - -selection: - semantic_escape_chars: ",│`|:\"' ()[]{}<>" - - -# Style of the cursor -# -# Values for 'cursor_style': -# - Block -# - Underline -# - Beam -cursor: - style: Block - -# 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. -# -# 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: 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: Control, chars: "\x1b[5;5~" } - - { key: PageUp, chars: "\x1b[5~" } - #- { key: PageUp, mods: Shift, action: PageUp } - #- { key: PageDown, mods: Shift, action: PageDown } - - { 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/.config/conky/conkyrc b/.config/conky/conkyrc deleted file mode 100644 index 47d7dad..0000000 --- a/.config/conky/conkyrc +++ /dev/null @@ -1,203 +0,0 @@ -conky.config = { - -------------------------------------- --- Generic Settings -------------------------------------- -background=false, -update_interval=1, -double_buffer=true, -no_buffers=true, -imlib_cache_size=10, - -draw_shades=false, -draw_outline=false, -draw_borders=false, -draw_graph_borders=false, -default_graph_height=26, -default_graph_width=80, -show_graph_scale=false, -show_graph_range=false, - - -------------------------------------- --- Window Specifications -------------------------------------- --- gap_x=100, --- gap_y=70, -minimum_height=620, -minimum_width=268, -own_window=true, -own_window_type="override", -own_window_transparent=true, -own_window_hints="undecorated,below,sticky,skip_taskbar,skip_pager", -border_inner_margin=0, -border_outer_margin=0, -alignment="top_right", ---own_window_argb_visual=true, ---own_window_argb_value=0, - - -------------------------------------- --- Text Settings -------------------------------------- -use_xft=true, -xftalpha=1, -font="Droid Sans:size=8", -text_buffer_size=256, -override_utf8_locale=true, - -short_units=true, -short_units=true, -pad_percents=2, -top_name_width=7, - - -------------------------------------- --- Color Scheme -------------------------------------- -default_color="FFFFFF", -color1="FFFFFF", -color2="FFFFFF", -color3="FFFFFF", -color4="FFFFFF", -color5="DCDCDC", -color6="FFFFFF", -color7="FFFFFF", -color8="FFFFFF", - - -------------------------------------- --- API Key -------------------------------------- -template6="2a44967bd3377edc7fe39db81c72e0d8", - - -------------------------------------- --- City ID -------------------------------------- -template7="3196359", - - -------------------------------------- --- Temp Unit (default, metric, imperial) -------------------------------------- -template8="metric", - - -------------------------------------- --- Locale (e.g. "es_ES.UTF-8") --- Leave empty for default -------------------------------------- -template9="" - -} - - ---------------------------------------------------- ---------------------------------------------------- - - -conky.text = [[ -\ -\ -${execi 300 ~/.harmattan-assets/get_weather ${template6} ${template7} ${template8} ${template9}}\ -\ -\ -\ -\ -\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/separator-v.png -p 95,185 -s 1x76}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/separator-v.png -p 172,185 -s 1x76}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/separator-h.png -p 33,90 -s 202x1}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/separator-h.png -p 33,176 -s 202x1}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/separator-h.png -p 33,269 -s 202x1}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/separator-h.png -p 33,369 -s 202x1}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/separator-h.png -p 33,474 -s 202x1}\ -\ -\ -\ -\ -${color3}${voffset 187}${alignc 77}${execi 300 LANG=${template9} LC_TIME=${template9} date +%^a}${color} -${color3}${voffset -13}${alignc}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +1day +%^a}${color} -${color3}${voffset -13}${alignc -77}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +2day +%^a}${color} -\ -\ -\ -\ -${color2}${voffset 51}${alignc 77}${execi 300 ~/.harmattan-assets/parse_weather 'avg' '.main.temp_min' '0'}${if_match "$template8" == "metric"} °C${else}${if_match "$template8" == "imperial"} °F${else}${if_match "$template8" == "default"} K${endif}${endif}${endif}/${execi 300 ~/.harmattan-assets/parse_weather 'avg' '.main.temp_max' '0'}${if_match "$template8" == "metric"} °C${else}${if_match "$template8" == "imperial"} °F${else}${if_match "$template8" == "default"} K${endif}${endif}${endif}${color} -${color2}${voffset -13}${alignc}${execi 300 ~/.harmattan-assets/parse_weather 'avg' '.main.temp_min' '1'}${if_match "$template8" == "metric"} °C${else}${if_match "$template8" == "imperial"} °F${else}${if_match "$template8" == "default"} K${endif}${endif}${endif}/${execi 300 ~/.harmattan-assets/parse_weather 'avg' '.main.temp_max' '1'}${if_match "$template8" == "metric"} °C${else}${if_match "$template8" == "imperial"} °F${else}${if_match "$template8" == "default"} K${endif}${endif}${endif}${color} -${color2}${voffset -13}${alignc -77}${execi 300 ~/.harmattan-assets/parse_weather 'avg' '.main.temp_min' '2'}${if_match "$template8" == "metric"} °C${else}${if_match "$template8" == "imperial"} °F${else}${if_match "$template8" == "default"} K${endif}${endif}${endif}/${execi 300 ~/.harmattan-assets/parse_weather 'avg' '.main.temp_max' '2'}${if_match "$template8" == "metric"} °C${else}${if_match "$template8" == "imperial"} °F${else}${if_match "$template8" == "default"} K${endif}${endif}${endif}${color} -\ -\ -\ -\ -${goto 36}${voffset -172}${font Droid Sans :size=36}${color1}${execi 300 jq -r .main.temp ~/.cache/harmattan-conky/weather.json | awk '{print int($1+0.5)}' # round num}${if_match "$template8" == "metric"} °C${else}${if_match "$template8" == "imperial"} °F${else}${if_match "$template8" == "default"} K${endif}${endif}${endif}${font}${color} -${goto 46}${voffset 14}${font Droid Sans :size=12}${color1}${execi 300 jq -r .weather[0].description ~/.cache/harmattan-conky/weather.json | sed "s|\<.|\U&|g"}${font}${color} -${color1}${alignr 62}${voffset -73}${execi 300 jq -r .main.pressure ~/.cache/harmattan-conky/weather.json | awk '{print int($1+0.5)}' # round num} hPa -${color1}${alignr 62}${voffset 7}${execi 300 jq -r .main.humidity ~/.cache/harmattan-conky/weather.json | awk '{print int($1+0.5)}' # round num} %${color} -${color1}${alignr 62}${voffset 7}${execi 300 jq -r .wind.speed ~/.cache/harmattan-conky/weather.json | awk '{print int($1+0.5)}' # round num}${if_match "$template8" == "metric"} m/s${else}${if_match "$template8" == "default"} m/s${else}${if_match "$template8" == "imperial"} mi/h${endif}${endif}${endif}${color} -\ -\ -\ -\ -${voffset -117}${font Droid Sans Mono :size=22}${alignc}${color2}${time %H:%M}${font}${color} -${voffset 4}${font Droid Sans :size=10}${alignc}${color6}${execi 300 LANG=${template9} LC_TIME=${template9} date +"%A, %B %-d"}${font}${color} -\ -\ -\ -\ -${voffset 294}${goto 40}${color2}Cpu:${color} -${voffset 4}${goto 40}${color2}Mem:${color} -${voffset 4}${goto 40}${color2}Uptime:${color} -${voffset -47}${alignr 39}${color2}${cpu cpu0}%${color} -${voffset 4}${alignr 39}${color2}${memperc}%${color} -${voffset 4}${alignr 39}${color2}${uptime_short}${color} -${voffset -47}${alignc}${color2}${cpubar 5,36}${color} -${voffset 4}${alignc}${color2}${membar 5,36}${color} -${voffset 29}${goto 40}${loadgraph 26,190 FFFFFF FFFFFF -l} -\ -\ -\ -\ -${voffset 26}${goto 40}${color2}${top_mem name 1}${color} -${voffset 4}${goto 40}${color2}${top_mem name 2}${color} -${voffset 4}${goto 40}${color2}${top_mem name 3}${color} -${voffset 4}${goto 40}${color2}${top_mem name 4}${color} -${voffset 4}${goto 40}${color2}${top_mem name 5}${color} -${voffset -81}${alignc}${color5}${top_mem mem 1}%${color} -${voffset 4}${alignc}${color5}${top_mem mem 2}%${color} -${voffset 4}${alignc}${color5}${top_mem mem 3}%${color} -${voffset 4}${alignc}${color5}${top_mem mem 4}%${color} -${voffset 4}${alignc}${color5}${top_mem mem 5}%${color} -${voffset -81}${alignr 39}${color6}${top_mem mem_res 1}${color} -${voffset 4}${alignr 39}${color6}${top_mem mem_res 2}${color} -${voffset 4}${alignr 39}${color6}${top_mem mem_res 3}${color} -${voffset 4}${alignr 39}${color6}${top_mem mem_res 4}${color} -${voffset 4}${alignr 39}${color6}${top_mem mem_res 5}${color} -${voffset -104}${goto 40}${color1}Proc${color} -${voffset -13}${alignc}${color1}Mem%${color} -${voffset -13}${alignr 39}${color1}Mem${color} -\ -\ -\ -\ -${if_existing /proc/net/route enp11s0} -${voffset -230}${goto 40}${color5}Up: ${color2}${upspeed enp11s0}${color5}${goto 150}Down: ${color2}${downspeed enp11s0} -${voffset 10}${goto 40}${upspeedgraph enp11s0 26,80 FFFFFF FFFFFF}${goto 150}${downspeedgraph enp11s0 26,80 FFFFFF FFFFFF} -${voffset 9}${goto 40}${color5}Sent: ${color2}${totalup enp11s0}${color5}${goto 150}Received: ${color2}${totaldown enp11s0} -${else} -${voffset -311}${goto 40}${color5}Network disconnected${color} -${image ~/.harmattan-assets/misc/Transparent/God-Mode/offline.png -p 44,284 -s 16x16} -${endif} -\ -\ -\ -\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/pressure.png -p 210,95 -s 16x16}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/humidity.png -p 210,115 -s 16x16}\ -${image ~/.harmattan-assets/misc/Transparent/God-Mode/wind-2.png -p 210,136 -s 16x16}\ -${execi 300 cp -f ~/.harmattan-assets/icons/#fff__32/$(~/.harmattan-assets/parse_weather 'first' '.weather[0].id' '0').png ~/.cache/harmattan-conky/weather-1.png}${image ~/.cache/harmattan-conky/weather-1.png -p 41,207 -s 32x32}\ -${execi 300 cp -f ~/.harmattan-assets/icons/#fff__32/$(~/.harmattan-assets/parse_weather 'first' '.weather[0].id' '1').png ~/.cache/harmattan-conky/weather-2.png}${image ~/.cache/harmattan-conky/weather-2.png -p 119,207 -s 32x32}\ -${execi 300 cp -f ~/.harmattan-assets/icons/#fff__32/$(~/.harmattan-assets/parse_weather 'first' '.weather[0].id' '2').png ~/.cache/harmattan-conky/weather-3.png}${image ~/.cache/harmattan-conky/weather-3.png -p 195,207 -s 32x32}${font}${voffset -120}\ -]] - diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc deleted file mode 100644 index 8e164ee..0000000 --- a/.config/dunst/dunstrc +++ /dev/null @@ -1,245 +0,0 @@ -[global] - font = Hack-Regular 9 - - # Allow a small subset of html markup: - # bold - # italic - # strikethrough - # underline - # - # For a complete reference see - # . - # If markup is not allowed, those tags will be stripped out of the - # message. - allow_markup = yes - - # The format of the message. Possible variables are: - # %a appname - # %s summary - # %b body - # %i iconname (including its path) - # %I iconname (without its path) - # %p progress value if set ([ 0%] to [100%]) or nothing - # Markup is allowed - format = "%s\n%b" - - # Sort messages by urgency. - sort = yes - - # Show how many messages are currently hidden (because of geometry). - indicate_hidden = yes - - # Alignment of message text. - # Possible values are "left", "center" and "right". - alignment = left - - # The frequency with wich text that is longer than the notification - # window allows bounces back and forth. - # This option conflicts with "word_wrap". - # Set to 0 to disable. - bounce_freq = 0 - - # Show age of message if message is older than show_age_threshold - # seconds. - # Set to -1 to disable. - show_age_threshold = 60 - - # Split notifications into multiple lines if they don't fit into - # geometry. - word_wrap = yes - - # Ignore newlines '\n' in notifications. - ignore_newline = no - - - # The geometry of the window: - # [{width}]x{height}[+/-{x}+/-{y}] - # The geometry of the message window. - # The height is measured in number of notifications everything else - # in pixels. If the width is omitted but the height is given - # ("-geometry x2"), the message window expands over the whole screen - # (dmenu-like). If width is 0, the window expands to the longest - # message displayed. A positive x is measured from the left, a - # negative from the right side of the screen. Y is measured from - # the top and down respectevly. - # The width can be negative. In this case the actual width is the - # screen width minus the width defined in within the geometry option. - geometry = "300x10-20+30" - - # Shrink window if it's smaller than the width. Will be ignored if - # width is 0. - shrink = no - - # The transparency of the window. Range: [0; 100]. - # This option will only work if a compositing windowmanager is - # present (e.g. xcompmgr, compiz, etc.). - transparency = 0 - - # Don't remove messages, if the user is idle (no mouse or keyboard input) - # for longer than idle_threshold seconds. - # Set to 0 to disable. - idle_threshold = 120 - - # Which monitor should the notifications be displayed on. - monitor = 0 - - # Display notification on focused monitor. Possible modes are: - # mouse: follow mouse pointer - # keyboard: follow window with keyboard focus - # none: don't follow anything - # - # "keyboard" needs a windowmanager that exports the - # _NET_ACTIVE_WINDOW property. - # This should be the case for almost all modern windowmanagers. - # - # If this option is set to mouse or keyboard, the monitor option - # will be ignored. - follow = mouse - - # Should a notification popped up from history be sticky or timeout - # as if it would normally do. - sticky_history = yes - - # Maximum amount of notifications kept in history - history_length = 20 - - # Display indicators for URLs (U) and actions (A). - show_indicators = yes - - # The height of a single line. If the height is smaller than the - # font height, it will get raised to the font height. - # This adds empty space above and under the text. - line_height = 0 - - # Draw a line of "separatpr_height" pixel height between two - # notifications. - # Set to 0 to disable. - separator_height = 2 - - # Padding between text and separator. - padding = 4 - - # Horizontal padding. - horizontal_padding = 4 - - # Define a color for the separator. - # possible values are: - # * auto: dunst tries to find a color fitting to the background; - # * foreground: use the same color as the foreground; - # * frame: use the same color as the frame; - # * anything else will be interpreted as a X color. - separator_color = frame - - # Print a notification on startup. - # This is mainly for error detection, since dbus (re-)starts dunst - # automatically after a crash. - startup_notification = false - - # dmenu path. - dmenu = /usr/bin/rofi -dmenu -p dunst: - - # Browser for opening urls in context menu. - browser = /usr/bin/firefox-nightly -new-tab - - # Align icons left/right/off - icon_position = left - - # Paths to default icons. - icon_folders = /usr/share/icons/Numix-Circle/16/panel:/usr/share/icons/Numix/16/devices:/usr/share/icons/Numix/16/status - -[frame] - width = 3 - color = "#225396" - -[shortcuts] - - # Shortcuts are specified as [modifier+][modifier+]...key - # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", - # "mod3" and "mod4" (windows-key). - # Xev might be helpful to find names for keys. - - # Close notification. -# close = mod4+mod2+space - - # Close all notifications. -# close_all = mod4+mod2+shift+space - - # Redisplay last message(s). - # On the US keyboard layout "grave" is normally above TAB and left - # of "1". -# history = mod4+mod2+grave - - # Context menu. -# context = mod4+mod2+shift+period - -[urgency_low] - # IMPORTANT: colors have to be defined in quotation marks. - # Otherwise the "#" and following would be interpreted as a comment. - background = "#0c0c0c" - foreground = "#ffffff" - timeout = 10 - -[urgency_normal] - background = "#15325A" - foreground = "#ffffff" - timeout = 10 - -[urgency_critical] - background = "#CC0033" - foreground = "#ffffff" - timeout = 0 - - -# Every section that isn't one of the above is interpreted as a rules to -# override settings for certain messages. -# Messages can be matched by "appname", "summary", "body", "icon", "category", -# "msg_urgency" and you can override the "timeout", "urgency", "foreground", -# "background", "new_icon" and "format". -# Shell-like globbing will get expanded. -# -# SCRIPTING -# You can specify a script that gets run when the rule matches by -# setting the "script" option. -# The script will be called as follows: -# script appname summary body icon urgency -# where urgency can be "LOW", "NORMAL" or "CRITICAL". -# -# NOTE: if you don't want a notification to be displayed, set the format -# to "". -# NOTE: It might be helpful to run dunst -print in a terminal in order -# to find fitting options for rules. - -#[espeak] -# summary = "*" -# script = dunst_espeak.sh - -#[script-test] -# summary = "*script*" -# script = dunst_test.sh - -#[ignore] -# # This notification will not be displayed -# summary = "foobar" -# format = "" - -#[signed_on] -# appname = Pidgin -# summary = "*signed on*" -# urgency = low -# -#[signed_off] -# appname = Pidgin -# summary = *signed off* -# urgency = low -# -#[says] -# appname = Pidgin -# summary = *says* -# urgency = critical -# -#[twitter] -# appname = Pidgin -# summary = *twitter.com* -# urgency = normal -# -# vim: ft=cfg diff --git a/.config/i3/boot.mp3 b/.config/i3/boot.mp3 deleted file mode 100644 index 6381e6388ed4abc92eb96126969c783accb7b416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1032 zcmezWxg~`G9Ykd2r31zIftZznfrW#C9Sh*Y0-CXaA6USDOaQdY(#O%))mYEcvWO`U zcDg&|rPTEE8!s0xkv;YF zm`#3=+LN2{|Chi2?#m+RapB|MX|osJpCx*-*_lZr!i%=8mi4Ul+r@8+_;fx0UKKeS zVkvu~e*3$nJ0;aCr`G@Zwri)Tp=F$gulE1nfm2ye6#qChv8Ur*kgQ>enC0D{j)_*c zGW80*LO5n^D2UNuU}R`w4VcOq@W)M2!cpOZghg6#@E;bRLS3V&sp zrTeq{&Yodh<{XrAcSZ!`oc~8^*c#d_oINk4H=Jkqo!}C%OU*AS^@}w4{jr zF*vw=*TtatKb8sm6)!V7v@cM;cuMJEck^>@S#HiR)4IdD_Wuc5l*6scGeP%_^oNOE z0gizybT%@!DDqA);D{`KS+d$a{Qp03J24ld$CG3Q`VMn-aH$FwvG#Om$Qsl*`!w}= z3P|d|{gu1J>`TKUFD52t9s`c14a!-JrJs8qDka6ga|wz&Q2%Cv56i+U;XmzeSRd42 zKm2+B**ACYK3VXkn|=L1-}93-A87G;FdSiV;r~CGFRg8=Q0MBUBK!Y4Jp7Tk`*XQ> ze~jh*|Nrv7&z^6oZ<3bDX|{0f%Iy08|37;rF4mLCuiW{&`sv1^=LOFTUV`$}`|5LH t841iSa_>3Kv={wUdl(AKQ+lSMAOOl2z %title" -for_window [class=".*"] border pixel 2 -for_window [class="Pavucontrol"] floating enable -for_window [class="octopi"] floating enable -for_window [class="lxappearance"] floating enable -for_window [class="mojo"] floating enable -for_window [class="nitrogen"] floating enable -for_window [title="Hold On*"] floating enable -for_window [title="Cerebro*"] floating enable -for_window [title="florence"] floating enable -for_window [title="Starting Unity...*"] floating enable -for_window [window_role="pop-up"] floating enable -for_window [window_role="task_dialog"] floating enable -assign [class="^ranger$"] → $WS4 -assign [title="^ncmpcpp$"] → $WS5 -assign [class="^URxvt$"] → $WS3 -assign [class="^Termite$"] → $WS3 -assign [class="^Alacritty$"] → $WS3 -assign [class="^Firefox$"] → $WS2 -assign [class="^Steam*"] → $WSW2 -assign [class="^Gimp$"] → $WSW4 -#//WINDOW-SETTINGS//# - -#--CONTAINERS+WINDOWS--# -bindsym $mod+Shift+q kill -bindsym --release button2 kill -bindsym $mod+f fullscreen toggle - -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right - -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l move right - -bindsym $mod+p focus parent -bindsym $mod+a layout toggle split -bindsym $mod+s layout stacking -bindsym $mod+v layout tabbed -bindsym $mod+x split h -bindsym $mod+c split v - -bindsym $mod+u border pixel 4 - -bindsym $mod+Shift+space floating toggle -#//CONTAINERS+WINDOWS//# - -#--CUSTOM COMMANDS--# -#KEYBOARD LAYOUT SWITCHING -bindsym $mod+space exec --no-startup-id ~/.config/i3/scripts/kbd_layout.sh - -#LAUNCH PROGRAM -bindsym $mod+d exec --no-startup-id rofi -color-enabled -show run -font "xos4 Terminus 18" -bindsym $mod+Shift+d exec --no-startup-id rofi -show drun -font "xos4 Terminus 18" -o 85 -p "Run:" -bindsym $alt+Tab exec --no-startup-id rofi -show window -font "xos4 Terminus 18" - -bindsym $mod+t exec alacritty -bindsym $mod+w exec firefox -bindsym $mod+Shift+f exec alacritty --config-file "$HOME/.config/alacritty/alacritty_ranger.yml" -t ranger -e ranger ~ -bindsym $mod+m exec alacritty -e ncmpcpp - -#INTEGRATED-SETTINGS -bindsym XF86AudioPlay exec mpc toggle -bindsym XF86AudioStop exec mpc stop -bindsym XF86AudioNext exec mpc next -bindsym XF86AudioPrev exec mpc previous -bindsym XF86AudioMute exec ~/.config/i3/scripts/volume_set.sh mute -bindsym XF86AudioRaiseVolume exec ~/.config/i3/scripts/volume_set.sh up -bindsym XF86AudioLowerVolume exec ~/.config/i3/scripts/volume_set.sh down -bindsym XF86MonBrightnessUp exec xbacklight +5 -bindsym XF86MonBrightnessDown exec xbacklight -5 -bindsym XF86KbdBrightnessUp exec asus-kbd-backlight up -bindsym XF86KbdBrightnessDown exec asus-kbd-backlight down -bindsym XF86Sleep exec ~/.config/i3/scripts/locker.sh & systemctl suspend -bindsym $mod+Shift+p exec ~/.config/i3/scripts/locker.sh & systemctl suspend -bindsym $mod+Shift+o exec ~/.config/i3/scripts/locker.sh - -#SHUTDOWN+RESTART -bindsym $mod+Shift+c reload -bindsym $mod+Shift+r restart -bindsym $mod+Shift+z exec "i3-msg exit" -bindsym $mod+Shift+e exec ~/.config/i3/scripts/locker.sh - -#//CUSTOM COMMANDS//# - -#--WORKSPACES--# -workspace_auto_back_and_forth yes -workspace $WS1 output primary - -#Primary workspaces -set $WS1 "1:" -set $WS2 "2:" -set $WS3 "3:" -set $WS4 "4:" -set $WS5 "5:" -bindsym $mod+1 workspace $WS1 -bindsym $mod+2 workspace $WS2 -bindsym $mod+3 workspace $WS3 -bindsym $mod+4 workspace $WS4 -bindsym $mod+5 workspace $WS5 -bindsym $mod+Shift+1 move container to workspace $WS1 -bindsym $mod+Shift+2 move container to workspace $WS2 -bindsym $mod+Shift+3 move container to workspace $WS3 -bindsym $mod+Shift+4 move container to workspace $WS4 -bindsym $mod+Shift+5 move container to workspace $WS5 -bindsym $m+1 workspace $WS1 -bindsym $m+2 workspace $WS2 -bindsym $m+3 workspace $WS3 -bindsym $m+4 workspace $WS4 -bindsym $m+5 workspace $WS5 -bindsym $m+Shift+1 move container to workspace $WS1 -bindsym $m+Shift+2 move container to workspace $WS2 -bindsym $m+Shift+3 move container to workspace $WS3 -bindsym $m+Shift+4 move container to workspace $WS4 -bindsym $m+Shift+5 move container to workspace $WS5 - -#Secondary workspaces -set $WSW1 "6:" -set $WSW2 "7:" -set $WSW3 "8:" -set $WSW4 "9:" -bindsym $mod+F1 workspace $WSW1 -bindsym $mod+F2 workspace $WSW2 -bindsym $mod+F3 workspace $WSW3 -bindsym $mod+F4 workspace $WSW4 -bindsym $mod+Shift+F1 move container to workspace $WSW1 -bindsym $mod+Shift+F2 move container to workspace $WSW2 -bindsym $mod+Shift+F3 move container to workspace $WSW3 -bindsym $mod+Shift+F4 move container to workspace $WSW4 -bindsym $m+F1 workspace $WSW1 -bindsym $m+F2 workspace $WSW2 -bindsym $m+F3 workspace $WSW3 -bindsym $m+F4 workspace $WSW4 -bindsym $m+Shift+F1 move container to workspace $WSW1 -bindsym $m+Shift+F2 move container to workspace $WSW2 -bindsym $m+Shift+F3 move container to workspace $WSW3 -bindsym $m+Shift+F4 move container to workspace $WSW4 - -#Multiple screens -bindsym $mod+Left move container to output left -bindsym $mod+Right move container to output right -bindsym $mod+Shift+Left move workspace to output left -bindsym $mod+Shift+Right move workspace to output right -bindsym $mod+Up move container to output up -bindsym $mod+Down move container to output down -bindsym $mod+Shift+Up move workspace to output up -bindsym $mod+Shift+Down move workspace to output down -#//WORKSPACES//# - -#--BORDER--# -default_border pixel 2 -default_floating_border normal 4 -smart_borders on -gaps inner 4 -gaps outer 10 -smart_gaps on -#//BORDER//# - -#--LAYOUTS--# -#bindsym $alt+Shift+l exec $HOME/.i3/scripts/workspace.sh "$HOME/.i3/layouts/workspace-3.json" "$HOME/build/doc24_backend" -#//LAYOUTS//# - -# resize window (you can also use the mouse for that) -mode "resize" { - bindsym h resize shrink width 10 px or 10 ppt - bindsym j resize grow height 10 px or 10 ppt - bindsym k resize shrink height 10 px or 10 ppt - bindsym l resize grow width 10 px or 10 ppt - - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -mode "ignore" { - bindsym $alt+Shift+i mode "default" - -} -bindsym $alt+i mode "ignore" -# vim:filetype=i3 diff --git a/.config/i3/custom.map b/.config/i3/custom.map deleted file mode 100644 index e1b5b48..0000000 --- a/.config/i3/custom.map +++ /dev/null @@ -1,6 +0,0 @@ -clear mod4 -clear mod3 -keycode 94 = Hyper_L Hyper_L Hyper_L Hyper_L Hyper_L Hyper_L Hyper_L -keycode 135 = Super_R Super_R Super_R Super_R Super_R Super_R Super_R -add mod3 = Hyper_L -add mod4 = Super_L Super_R diff --git a/.config/i3/layouts/gimp-layout.json b/.config/i3/layouts/gimp-layout.json deleted file mode 100644 index 9378dcd..0000000 --- a/.config/i3/layouts/gimp-layout.json +++ /dev/null @@ -1,73 +0,0 @@ -// vim:ts=4:sw=4:et -{ - "border": "normal", - "current_border_width": 5, - "floating": "user_off", - "geometry": { - "height": 820, - "width": 210, - "x": 3599, - "y": 0 - }, - "name": "Layers - Brushes", - "percent": 0.1078125, - "swallows": [ - { - // "class": "^Gimp$", - // "instance": "^gimp$", - // "title": "^Layers\\ \\-\\ Brushes$", - // "transient_for": "^$", - // "window_role": "^gimp\\-dock$" - } - ], - "type": "con" -} - -{ - "border": "pixel", - "current_border_width": 5, - "floating": "user_off", - "geometry": { - "height": 200, - "width": 620, - "x": 410, - "y": 370 - }, - "name": "*[progress_bar] (imported)-1.0 (RGB color, 1 layer) 192x12 – GIMP", - "percent": 0.777083333333333, - "swallows": [ - { - // "class": "^Gimp$", - // "instance": "^gimp$", - // "title": "^\\*\\[progress_bar\\]\\ \\(imported\\)\\-1\\.0\\ \\(RGB\\ color\\,\\ 1\\ layer\\)\\ 192x12\\ \\–\\ GIMP$", - // "transient_for": "^$", - // "window_role": "^gimp\\-image\\-window$" - } - ], - "type": "con" -} - -{ - "border": "normal", - "current_border_width": 5, - "floating": "user_off", - "geometry": { - "height": 820, - "width": 170, - "x": 0, - "y": 0 - }, - "name": "Toolbox - Tool Options", - "percent": 0.115104166666667, - "swallows": [ - { - // "class": "^Gimp$", - // "instance": "^gimp$", - // "title": "^Toolbox\\ \\-\\ Tool\\ Options$", - // "transient_for": "^$", - // "window_role": "^gimp\\-toolbox$" - } - ], - "type": "con" -} - diff --git a/.config/i3/layouts/workspace-3.json b/.config/i3/layouts/workspace-3.json deleted file mode 100644 index 5fcafdf..0000000 --- a/.config/i3/layouts/workspace-3.json +++ /dev/null @@ -1,101 +0,0 @@ -// vim:ts=4:sw=4:et -{ - // stacked split container with 2 children - "border": "pixel", - "floating": "auto_off", - "layout": "stacked", - "percent": 0.7, - "type": "con", - "nodes": [ - { - "border": "none", - "current_border_width": 4, - "floating": "auto_off", - "geometry": { - "height": 768, - "width": 1024, - "x": 0, - "y": 0 - }, - "name": "tristan@T-i3: ~/build/doc24_backend", - "percent": 0.5, - "swallows": [ - { - "class": "^Alacritty$", - "instance": "^alacritty$" - } - ], - "type": "con" - }, - { - "border": "none", - "current_border_width": 4, - "floating": "auto_off", - "geometry": { - "height": 768, - "width": 1024, - "x": 0, - "y": 0 - }, - "name": "i3-save-tree --workspace 3 > ~/.i3/layouts/workspace-3.json", - "percent": 0.5, - "swallows": [ - { - "class": "^Alacritty$", - "instance": "^alacritty$" - } - ], - "type": "con" - } - ] -} - -{ - // splitv split container with 2 children - "border": "pixel", - "floating": "auto_off", - "layout": "splitv", - "percent": 0.3, - "type": "con", - "nodes": [ - { - "border": "none", - "current_border_width": 4, - "floating": "auto_off", - "geometry": { - "height": 768, - "width": 1024, - "x": 0, - "y": 0 - }, - "name": "tristan@T-i3: ~", - "percent": 0.5, - "swallows": [ - { - "class": "^Alacritty$" - } - ], - "type": "con" - }, - { - "border": "none", - "current_border_width": 4, - "floating": "auto_off", - "geometry": { - "height": 768, - "width": 1024, - "x": 0, - "y": 0 - }, - "name": "tristan@T-i3: ~/build/doc24_backend", - "percent": 0.5, - "swallows": [ - { - "class": "^Alacritty$" - } - ], - "type": "con" - } - ] -} - diff --git a/.config/i3/mboot.mp3 b/.config/i3/mboot.mp3 deleted file mode 100644 index 077dbf3cfe9bb9e7e2d3cc0dfa0ddf467c967739..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77640 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�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%0Dd) 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 nG~)39J}5yEPs4?XmNms*>tb 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 diff --git a/.config/i3/scripts/kbd_layout.sh b/.config/i3/scripts/kbd_layout.sh deleted file mode 100755 index 27eb563..0000000 --- a/.config/i3/scripts/kbd_layout.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -CURR_MAP=$(setxkbmap -query | grep layout | sed 's/layout: //g') -if [ "$CURR_MAP" = "si" ] -then - setxkbmap us altgr-intl -else - setxkbmap si -fi diff --git a/.config/i3/scripts/locker.sh b/.config/i3/scripts/locker.sh deleted file mode 100755 index e76bdd1..0000000 --- a/.config/i3/scripts/locker.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -ARGS=( -"--screen=0" -"--blur=5" -# "-i${HOME}/Pictures/bg_1440p/Linux-Wallpapers-19-2560-x-1920.png" -# "-i${HOME}/Pictures/backgrounds/0c7e1f_5775038.jpg" -"--clock" -"--timecolor=dfdfdfff" -"--datecolor=dfdfdfff" -"--insidevercolor=35d75588" -"--insidewrongcolor=d7355588" -"--insidecolor=00000000" -"--ringvercolor=64c784ff" -"--ringwrongcolor=c76484ff" -"--ringcolor=3555d7ff" -"--linecolor=00000000" -"--radius=30" -"--indpos=x+200:h-70" -"--timepos=x+90:h-70" -"--datepos=tx:ty+25" -"--statuspos=ix:iy+10" -"--separatorcolor=6484c7ff" -"--keyhlcolor=35d755ff" -"--bshlcolor=d73555ff" -"--veriftext=V" "--wrongtext=E") - -i3lock "${ARGS[@]}" & -i3lockpid=$! -sleep 2 diff --git a/.config/i3/scripts/polybar_launch.sh b/.config/i3/scripts/polybar_launch.sh deleted file mode 100755 index bb12b13..0000000 --- a/.config/i3/scripts/polybar_launch.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -# Terminate already running bar instances -killall -q polybar - -# Wait until the processes have been shut down -while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done - -if type "xrandr"; then - for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do - export COLOR_CYAN="#8be9fd" - export COLOR_BLUE="#6272a4" - export COLOR_GREEN="#50fa7b" - export LABEL_MOUNTED="%{F$COLOR_CYAN}%mountpoint%%{F-}:%free%" - export LABEL_NETWORK_CONNECTED="%{F$COLOR_CYAN}%local_ip%%{F-}:%downspeed:4%" - MONITOR=$m polybar --reload top & - MONITOR=$m polybar --reload bottom & - done -else - polybar --reload top & -fi - -echo "Bars launched..." diff --git a/.config/i3/scripts/rotate_background.sh b/.config/i3/scripts/rotate_background.sh deleted file mode 100755 index a85e187..0000000 --- a/.config/i3/scripts/rotate_background.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash -WALLPAPERS="/home/tristan/Pictures/bg_1440p" -ALIST=( `ls -w1 $WALLPAPERS` ) -RANGE=${#ALIST[@]} -let "number = $RANDOM" -let LASTNUM="`cat $WALLPAPERS/.last` + $number" -let "number = $LASTNUM % $RANGE" -echo $number > $WALLPAPERS/.last -nitrogen --set-scaled --save $WALLPAPERS/${ALIST[$number]} diff --git a/.config/i3/scripts/shutdown_menu b/.config/i3/scripts/shutdown_menu deleted file mode 100755 index f8706ce..0000000 --- a/.config/i3/scripts/shutdown_menu +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -#LOCKSCRIPT="i3lock-extra -m pixelize" -FG_COLOR="#d7d7d7" -BG_COLOR="#15325A" -SF_COLOR="#3555d7" -SB_COLOR="#6484c7" -color="-bg $BG_COLOR -fg $FG_COLOR -hlfg $SF_COLOR -hlbg $SB_COLOR -bw 0" - -# menu defined as an associative array -typeset -A menu - -# Menu with keys/commands -menu=( - [Shutdown]="systemctl poweroff" - [Reboot]="systemctl reboot" - [Hibernate]="systemctl hibernate" - [Suspend]="systemctl suspend" - [Halt]="systemctl halt" - [Lock]="~/.i3/scripts/locker.sh" - [Logout]="exit" - [Cancel]="Cancel" -) - -# Menu entries that may trigger a confirmation message -menu_confirm="Shutdown Reboot Hibernate Suspend Halt Logout" -launcher="rofi -dmenu -hide-scrollbar -width 10" -launcher_opt="-i -yoffset 23 -location 3 $color" -selection=$(printf '%s\n' ${!menu[@]} | sort | eval '$launcher $launcher_opt -font "Hack-Regular 12" -lines 8') -if [ $selection == "Cancel" ] || [ -z $selection ]; then - exit 1 -else - if [[ ${menu_confirm[*]} =~ $selection ]]; then - confirm=$(printf 'Yes\nNo\n' | eval '$launcher $launcher_opt -l 2 -font "Hack-Regular 12"') - if [[ $confirm == 'Yes' ]]; then - i3-msg -q "exec ${menu[${selection}]}" - fi - else - i3-msg -q "exec ${menu[${selection}]}" - fi -fi diff --git a/.config/i3/scripts/term_runner.sh b/.config/i3/scripts/term_runner.sh deleted file mode 100755 index 79943ad..0000000 --- a/.config/i3/scripts/term_runner.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -while getopts "d:" option; do - case "${option}" in - d) - alacritty --working-directory ${OPTARG} & ;; - esac -done diff --git a/.config/i3/scripts/volume_set.sh b/.config/i3/scripts/volume_set.sh deleted file mode 100755 index 432efb4..0000000 --- a/.config/i3/scripts/volume_set.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -if [ "$1" == "up" ] -then - pulsemixer --change-volume +5 - TEXT="Volume: $(pulsemixer --get-volume | cut -d' ' -f 1 | sed 's/\(\[\|\]\)//g')" -elif [ "$1" == "down" ] -then - pulsemixer --change-volume -5 - TEXT="Volume: $(pulsemixer --get-volume | cut -d' ' -f 1 | sed 's/\(\[\|\]\)//g')" -elif [ "$1" == "mute" ] -then - pulsemixer --toggle-mute - TEXT="Mute: $(pulsemixer --get-mute | cut -d' ' -f 1 | sed 's/\(\[\|\]\)//g')" -else - echo "usage volume_set.sh {up|down|mute}" -fi - -dunstify -r 33223 "Volume changed" "$TEXT" diff --git a/.config/i3/scripts/wan-or-not.sh b/.config/i3/scripts/wan-or-not.sh deleted file mode 100755 index 4157837..0000000 --- a/.config/i3/scripts/wan-or-not.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/zsh -#First arg is icon for WAN IP, Second argument is icon for local IP, third for offline -wanip=$(dig +short myip.opendns.com @resolver1.opendns.com); -if [[ $wanip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then - echo "$1:$wanip" -else - wanip=$(ip addr show dev wlan0 | grep "inet " | awk '{print $2}') - if [[ $wanip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]]; then - echo "$2:$wanip" - else - echo "$3" - fi -fi diff --git a/.config/i3/scripts/workspace.sh b/.config/i3/scripts/workspace.sh deleted file mode 100755 index 4e0e39b..0000000 --- a/.config/i3/scripts/workspace.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -i3-msg "append_layout $1" && bash $HOME/.i3/scripts/term_runner.sh -d "$2" -d "$2" -d "$2" -d "$HOME" diff --git a/.config/polybar/config b/.config/polybar/config deleted file mode 100644 index eb53eb4..0000000 --- a/.config/polybar/config +++ /dev/null @@ -1,351 +0,0 @@ -;===================================================== -; -; To learn more about how to configure Polybar -; go to https://github.com/jaagr/polybar -; -; The README contains alot of information -; -;===================================================== - -[colors] -black = #0a0a0a -dark_gray = #404040 -white = #f2f8f8 -blue = ${env:COLOR_BLUE} -cyan = ${env:COLOR_CYAN} -pink = #ff79c6 -purple = #bd93f9 -green = ${env:COLOR_GREEN} -orange = #ffb86c -red = #ff5555 -yellow = #f1fa8c - -;++++++++++++++++++++++ - -background = ${colors.dark_gray} -background-alt = ${colors.black} -foreground = ${colors.white} -foreground-alt = ${colors.white} -primary = ${colors.purple} -secondary = ${colors.white} -alert = ${colors.red} - -[bar/top] -monitor = ${env:MONITOR} -width = 100% -height = 30 -;offset-x = 1% -;offset-y = 1% -radius = 0 -fixed-center = false - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 1 -line-color = #f00 - -border-size = 0 -border-color = ${colors.background-alt} - -spacing = 1 -padding = 1 - -module-margin-left = 2 -module-margin-right = 0 - -font-0 = "xos4 Terminess Powerline:pixelsize=16;3" -font-1 = "Font Awesome 5 Free:style=Solid:pixelsize=16;3" -font-2 = "Font Awesome 5 Brands:style=Regular:pixelsize=16;3" - -modules-left = filesystem wired-network wireless-network volume -modules-center = xwindow -modules-right = battery xkeyboard date - -tray-position = right -tray-padding = 0 -tray-background = ${colors.background} -tray-transparent = true -scroll-up = i3wm-wsnext -scroll-down = i3wm-wsprev - -cursor-click = pointer -cursor-scroll = ns-resize - -[bar/bottom] -monitor = ${env:MONITOR} -bottom = true -width = 100% -height = 30 - -background = ${colors.background} -foreground = ${colors.foreground} - -line-color = ${bar/top.background} -line-size = 2 - -font-0 = "xos4 Terminess Powerline:pixelsize=16;2" -font-1 = "Font Awesome 5 Free:style=Solid:pixelsize=16;3" -font-2 = "Font Awesome 5 Brands:style=Regular:pixelsize=16;3" - -spacing = 0 -padding = 1 -module-margin-left = 1 -module-margin-right = 1 - -modules-left = i3 -modules-right = cpu memory powermenu - -border-size = 0 -border-color = ${colors.background} - -[module/i3] -type = internal/i3 -format = -index-sort = true -wrapping-scroll = false -strip-wsnumbers = true - -; Only show workspaces on the same output as the bar -pin-workspaces = true - -label-mode-padding = 1 -label-mode-foreground = ${colors.foreground} -label-mode-background = ${colors.background-alt2} - -; focused = Active workspace on focused monitor -label-focused = %name% -label-focused-background = ${colors.background-alt} -label-focused-underline= ${colors.primary} -label-focused-padding = 1 - -; unfocused = Inactive workspace on any monitor -label-unfocused = %index% -label-unfocused-padding = 1 - -; visible = Active workspace on unfocused monitor -label-visible = %index% -label-visible-background = ${self.label-focused-background} -label-visible-underline = ${self.label-focused-underline} -label-visible-padding = ${self.label-focused-padding} - -; urgent = Workspace with urgency hint set -label-urgent = %index% -label-urgent-background = ${colors.alert} -label-urgent-padding = 2 - -[module/xwindow] -type = internal/xwindow -label = %title:0:30:...% -format-foreground = ${colors.foreground-alt} - -[module/xkeyboard] -type = internal/xkeyboard -blacklist-0 = num lock -blacklist-1 = scroll lock -blacklist-2 = caps lock - -label-layout = %layout% - -[module/filesystem] -type = internal/fs -interval = 25 - -format-mounted = -format-unmounted = - -mount-0 = / -mount-2 = /home -mount-1 = /media -spacing = 1 - -label-mounted = ${env:LABEL_MOUNTED} -label-unmounted = -label-unmounted-foreground = ${colors.foreground-alt} - -[module/cpu] -type = internal/cpu -interval = 2 -format = -format-prefix = -format-prefix-foreground = ${colors.foreground-alt} -ramp-coreload-0 = ▁ -ramp-coreload-1 = ▂ -ramp-coreload-2 = ▃ -ramp-coreload-3 = ▄ -ramp-coreload-4 = ▅ -ramp-coreload-5 = ▆ -ramp-coreload-6 = ▇ -ramp-coreload-7 = █ - -[module/memory] -type = internal/memory -interval = 2 -format = -format-prefix = -format-prefix-foreground = ${colors.foreground-alt} -label = %gb_used%/%gb_total% - -bar-used-indicator = -bar-used-width = 12 -bar-used-foreground-0 = ${colors.green} -bar-used-foreground-1 = ${colors.foreground} -bar-used-foreground-2 = ${colors.orange} -bar-used-foreground-3 = ${colors.red} -bar-used-fill = ▐ -bar-used-empty = ▐ -bar-used-empty-foreground = ${colors.foreground-alt} - -[module/wireless-network] -type = internal/network -interface-type = wireless -interval = 1.0 - -udspeed-minwidth = 5 -accumulate-stats = true -format-connected = %{A:networkmanager_dmenu&:} %{A} -format-disconnected = %{A:networkmanager_dmenu&:}%{A} -format-packetloss = - -label-connected = %essid% -label-connected-foreground = ${colors.green} -label-disconnected = %ifname% -label-disconnected-foreground = ${colors.alert} - -ramp-signal-0 = ▁ -ramp-signal-1 = ▃ -ramp-signal-2 = ▄ -ramp-signal-3 = ▅ -ramp-signal-4 = ▆ -ramp-signal-5 = █ -; Only applies if is used -animation-packetloss-0 =  -animation-packetloss-0-foreground = ${colors.yellow} -animation-packetloss-1 =  -animation-packetloss-1-foreground = ${colors.foreground-alt} -; Framerate in milliseconds -animation-packetloss-framerate = 500 - -[module/wired-network] -type = internal/network -interface-type = wired -interval = 2 - -udspeed-minwidth = 2 -accumulate-stats = true -format-connected = -format-disconnected = -format-packetloss = - -label-connected = ${env:LABEL_NETWORK_CONNECTED} -label-connected-foreground = ${colors.green} -label-disconnected = %ifname% -label-disconnected-foreground = ${colors.alert} -; Only applies if is used -animation-packetloss-0 =  -animation-packetloss-0-foreground = ${colors.yellow} -animation-packetloss-1 =  -animation-packetloss-1-foreground = ${colors.foreground-alt} -; Framerate in milliseconds -animation-packetloss-framerate = 500 - -[module/battery] -type = internal/battery -full-at = 99 -battery = BAT0 -adapter = ADP1 -time-format = %H:%M - -format-charging = -format-discharging = -format-full-foreground = ${colors.green} -format-charging-foreground = ${colors.yellow} -format-discharging-foreground = ${colors.green} -label-charging = %percentage%% -label-discharging = %time% -label-full =  - -ramp-capacity-0 =  -ramp-capacity-1 =  -ramp-capacity-2 =  -ramp-capacity-3 =  -ramp-capacity-4 =  -bar-capacity-width = 10 -animation-charging-0 =  -animation-charging-1 =  -animation-charging-2 =  -animation-charging-3 =  -animation-charging-4 =  -; Framerate in milliseconds -animation-charging-framerate = 500 -poll-interval = 5 - -[module/date] -type = internal/date -interval = 5 - -date = -date-alt = " %d/%m/%Y" - -time = %H:%M -time-alt = %H:%M:%S - -label = %time%%date% - -[module/volume] -type = internal/pulseaudio - -format-volume = -label-muted = : MUTE -label-muted-foreground = ${colors.foreground-alt} - -ramp-volume-foreground = ${colors.white} -ramp-volume-0 =  -ramp-volume-1 =  -ramp-volume-2 =  -ramp-volume-3 =  - -[module/powermenu] -type = custom/menu - -expand-right = true - -format-spacing = 1 -label-open =  -label-open-foreground = ${colors.red} -label-close =  cancel -label-close-foreground = ${colors.red} -label-separator = | -label-separator-foreground = ${colors.foreground-alt} - -menu-0-0 =  Power -menu-0-0-exec = menu-open-1 -menu-0-1 =  User -menu-0-1-exec = menu-open-2 - -menu-1-0 = Reboot -menu-1-0-exec = systemctl reboot -menu-1-1 = Shutdown -menu-1-1-exec = systemctl poweroff -menu-1-2 = Hibernate -menu-1-2-exec = systemctl hibernate -menu-1-3 = Suspend -menu-1-3-exec = systemctl suspend - -menu-2-0 =  Lock -menu-2-0-exec = bash ~/.i3/scripts/locker.sh -menu-2-1 =  Logout -menu-2-1-exec = i3-msg exit - -[settings] -screenchange-reload = true -;compositing-background = xor -;compositing-background = screen -;compositing-foreground = source -;compositing-border = over - -[global/wm] -margin-top = 0 -margin-bottom = 3 - -; vim:ft=dosini diff --git a/.config/ranger/.gitignore b/.config/ranger/.gitignore deleted file mode 100755 index 6ac0594..0000000 --- a/.config/ranger/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/history -tagged diff --git a/.config/ranger/bookmarks b/.config/ranger/bookmarks deleted file mode 100644 index 9a3c048..0000000 --- a/.config/ranger/bookmarks +++ /dev/null @@ -1 +0,0 @@ -n:/home/tristan/build/sneider.si/assets/css/images diff --git a/.config/ranger/commands.py b/.config/ranger/commands.py deleted file mode 100644 index dfb3405..0000000 --- a/.config/ranger/commands.py +++ /dev/null @@ -1,100 +0,0 @@ -# This is a sample commands.py. You can add your own commands here. -# -# Please refer to commands_full.py for all the default commands and a complete -# documentation. Do NOT add them all here, or you may end up with defunct -# commands when upgrading ranger. - -# You always need to import ranger.api.commands here to get the Command class: -from ranger.api.commands import * - -# A simple command for demonstration purposes follows. -# ----------------------------------------------------------------------------- - -# You can import any python module as needed. -from ranger.core.loader import CommandLoader -import os - -# Any class that is a subclass of "Command" will be integrated into ranger as a -# command. Try typing ":my_edit" in ranger! - - -class my_edit(Command): - # The so-called doc-string of the class will be visible in the built-in - # help that is accessible by typing "?c" inside ranger. - """:my_edit - - A sample command for demonstration purposes that opens a file in an editor. - """ - - # The execute method is called when you run this command in ranger. - def execute(self): - # self.arg(1) is the first (space-separated) argument to the function. - # This way you can write ":my_edit somefilename". - if self.arg(1): - # self.rest(1) contains self.arg(1) and everything that follows - target_filename = self.rest(1) - else: - # self.fm is a ranger.core.filemanager.FileManager object and gives - # you access to internals of ranger. - # self.fm.thisfile is a ranger.container.file.File object and is a - # reference to the currently selected file. - target_filename = self.fm.thisfile.path - - # This is a generic function to print text in ranger. - self.fm.notify("Let's edit the file " + target_filename + "!") - - # Using bad=True in fm.notify allows you to print error messages: - if not os.path.exists(target_filename): - self.fm.notify("The given file does not exist!", bad=True) - return - - # This executes a function from ranger.core.acitons, a module with a - # variety of subroutines that can help you construct commands. - # Check out the source, or run "pydoc ranger.core.actions" for a list. - self.fm.edit_file(target_filename) - - # The tab method is called when you press tab, and should return a list of - # suggestions that the user will tab through. - # tabnum is 1 for and -1 for by default - def tab(self, tabnum): - # This is a generic tab-completion function that iterates through the - # content of the current directory. - return self._tab_directory_content() - -class extracthere(Command): - def execute(self): - """ Extract copied files to current directory """ - copied_files = tuple(self.fm.copy_buffer) - - if not copied_files: - return - - def refresh(_): - cwd = self.fm.get_directory(original_path) - cwd.load_content() - - one_file = copied_files[0] - cwd = self.fm.thisdir - original_path = cwd.path - au_flags = ['-X', cwd.path] - au_flags += self.line.split()[1:] - au_flags += ['-e'] - - self.fm.copy_buffer.clear() - self.fm.cut_buffer = False - if len(copied_files) == 1: - descr = "extracting: " + os.path.basename(one_file.path) - else: - descr = "extracting files from: " + os.path.basename(one_file.dirname) - obj = CommandLoader(args=['atool'] + au_flags \ - + [f.path for f in copied_files], descr=descr) - - obj.signal_bind('after', refresh) - self.fm.loader.add(obj) - -class nvir(Command): - def execute(self): - cf = self.fm.thisfile - n= ['nvr','--servername','/tmp/nvimsocket','--remote'] - n.extend([f.realpath for f in self.fm.thistab.get_selection()]) - self.fm.execute_command(n) diff --git a/.config/ranger/devicons.py b/.config/ranger/devicons.py deleted file mode 100644 index 0d2c4f0..0000000 --- a/.config/ranger/devicons.py +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/python -# coding=UTF-8 -# These glyphs, and the mapping of file extensions to glyphs -# has been copied from the vimscript code that is present in -# https://github.com/ryanoasis/vim-devicons -import re; -import os; - -# all those glyphs will show as weird squares if you don't have the correct patched font -# My advice is to use NerdFonts which can be found here: -# https://github.com/ryanoasis/nerd-fonts -file_node_extensions = { - 'styl' : '', - 'scss' : '', - 'htm' : '', - 'html' : '', - 'slim' : '', - 'ejs' : '', - 'css' : '', - 'less' : '', - 'md' : '', - 'markdown' : '', - 'json' : '', - 'js' : '', - 'jsx' : '', - 'rb' : '', - 'php' : '', - 'py' : '', - 'pyc' : '', - 'pyo' : '', - 'pyd' : '', - 'coffee' : '', - 'mustache' : '', - 'hbs' : '', - 'conf' : '', - 'ini' : '', - 'yml' : '', - 'bat' : '', - 'jpg' : '', - 'jpeg' : '', - 'bmp' : '', - 'png' : '', - 'gif' : '', - 'ico' : '', - 'twig' : '', - 'cpp' : '', - 'c++' : '', - 'cxx' : '', - 'cc' : '', - 'cp' : '', - 'c' : '', - 'hs' : '', - 'lhs' : '', - 'lua' : '', - 'java' : '', - 'sh' : '', - 'fish' : '', - 'ml' : 'λ', - 'mli' : 'λ', - 'diff' : '', - 'db' : '', - 'sql' : '', - 'dump' : '', - 'clj' : '', - 'cljc' : '', - 'cljs' : '', - 'edn' : '', - 'scala' : '', - 'go' : '', - 'dart' : '', - 'xul' : '', - 'sln' : '', - 'suo' : '', - 'pl' : '', - 'pm' : '', - 't' : '', - 'rss' : '', - 'f#' : '', - 'fsscript' : '', - 'fsx' : '', - 'fs' : '', - 'fsi' : '', - 'rs' : '', - 'rlib' : '', - 'd' : '', - 'erl' : '', - 'hrl' : '', - 'vim' : '', - 'vimrc' : '', - 'ai' : '', - 'psd' : '', - 'psb' : '', - 'ts' : '', - 'jl' : '', - 'rc' : '', - 'xml' : '', - 'log' : '', - 'avi' : '', - 'mpeg' : '', - 'mpg' : '', - 'mkv' : '', - 'flv' : '', - 'mp4' : '', - 'mp3' : '', - 'flac' : '', - 'wav' : '', - 'ogg' : '', - 'epub' : '', - 'pdf' : '', - '7z' : '', - 'apk' : '', - 'bz2' : '', - 'cab' : '', - 'cpio' : '', - 'deb' : '', - 'gem' : '', - 'gz' : '', - 'gzip' : '', - 'lha' : '', - 'lzh' : '', - 'lzma' : '', - 'rar' : '', - 'rpm' : '', - 'tar' : '', - 'tgz' : '', - 'xz' : '', - 'zip' : '' -} - -dir_node_exact_matches = { -# English - '.git' : '', - 'Desktop' : '', - 'Documents' : '', - 'Downloads' : '', - 'Dropbox' : '', - 'Music' : '', - 'Pictures' : '', - 'Public' : '', - 'Templates' : '', - 'Videos' : '', -# French - 'Bureau' : '', - 'Documents' : '', - 'Téléchargements' : '', - 'Musique' : '', - 'Images' : '', - 'Publique' : '', - 'Vidéos' : '', -} - -file_node_exact_matches = { - 'exact-match-case-sensitive-1.txt' : 'X1', - 'exact-match-case-sensitive-2' : 'X2', - 'gruntfile.coffee' : '', - 'gruntfile.js' : '', - 'gruntfile.ls' : '', - 'gulpfile.coffee' : '', - 'gulpfile.js' : '', - 'gulpfile.ls' : '', - 'dropbox' : '', - '.ds_store' : '', - '.gitconfig' : '', - '.gitignore' : '', - '.bashrc' : '', - '.bashprofile' : '', - 'favicon.ico' : '', - 'license' : '', - 'node_modules' : '', - 'react.jsx' : '', - 'procfile' : '', - '.Xdefaults' : '', - '.Xresources' : '', - '.dmrc' : '', - '.fasd' : '', - '.gitconfig' : '', - '.jack-settings' : '', - '.mime.types' : '', - '.nvidia-settings-rc' : '', - '.pam_environment' : '', - '.profile' : '', - '.recently-used' : '', - '.selected_editor' : '', - '.vimrc' : '', - '.xinputrc' : '', - 'mimeapps.list' : '', - 'user-dirs.dirs' : '', - 'ini' : '', - 'config' : '' -} - -def devicon(file): - if file.is_directory: return dir_node_exact_matches.get(file.relative_path, '') - return file_node_exact_matches.get(file.relative_path, file_node_extensions.get(file.extension, '')) diff --git a/.config/ranger/plugins/__init__.py b/.config/ranger/plugins/__init__.py deleted file mode 100755 index e69de29..0000000 diff --git a/.config/ranger/plugins/devicons_linemode.py b/.config/ranger/plugins/devicons_linemode.py deleted file mode 100755 index 1ebc559..0000000 --- a/.config/ranger/plugins/devicons_linemode.py +++ /dev/null @@ -1,19 +0,0 @@ -import ranger.api -from ranger.core.linemode import LinemodeBase -from devicons import * - -@ranger.api.register_linemode -class DevIconsLinemode(LinemodeBase): - name = "devicons" - - uses_metadata = False - - def filetitle(self, file, metadata): - return devicon(file) + ' ' + file.relative_path - -@ranger.api.register_linemode -class DevIconsLinemodeFile(LinemodeBase): - name = "filename" - - def filetitle(self, file, metadata): - return devicon(file) + ' ' + file.relative_path \ No newline at end of file diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf deleted file mode 100644 index cb1c7ad..0000000 --- a/.config/ranger/rc.conf +++ /dev/null @@ -1,619 +0,0 @@ -# =================================================================== -# This file contains the default startup commands for ranger. -# To change them, it is recommended to create the file -# ~/.config/ranger/rc.conf and add your custom commands there. -# -# If you copy this whole file there, you may want to set the environment -# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice. -# -# The purpose of this file is mainly to define keybindings and settings. -# For running more complex python code, please create a plugin in "plugins/" or -# a command in "commands.py". -# -# Each line is a command that will be run before the user interface -# is initialized. As a result, you can not use commands which rely -# on the UI such as :delete or :mark. -# =================================================================== - -# =================================================================== -# == Options -# =================================================================== - -# Which viewmode should be used? Possible values are: -# miller: Use miller columns which show multiple levels of the hierarchy -# multipane: Midnight-commander like multipane view showing all tabs next -# to each other -set viewmode miller -#set viewmode multipane - -# How many columns are there, and what are their relative widths? -set column_ratios 2,3,5 - -# Which files should be hidden? (regular expression) -set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$ - -# Show hidden files? You can toggle this by typing 'zh' -set show_hidden false - -# Ask for a confirmation when running the "delete" command? -# Valid values are "always", "never", "multiple" (default) -# With "multiple", ranger will ask only if you delete multiple files at once. -set confirm_on_delete multiple - -# Which script is used to generate file previews? -# ranger ships with scope.sh, a script that calls external programs (see -# README.md for dependencies) to preview images, archives, etc. -set preview_script ~/.config/ranger/scope.sh - -# Use the external preview script or display simple plain text or image previews? -set use_preview_script true - -# Automatically count files in the directory, even before entering them? -set automatically_count_files true - -# Open all images in this directory when running certain image viewers -# like feh or sxiv? You can still open selected files by marking them. -set open_all_images true - -# Be aware of version control systems and display information. -set vcs_aware false - -# State of the three backends git, hg, bzr. The possible states are -# disabled, local (only show local info), enabled (show local and remote -# information). -set vcs_backend_git enabled -set vcs_backend_hg disabled -set vcs_backend_bzr disabled - -# Use one of the supported image preview protocols -set preview_images true - -# Set the preview image method. Supported methods: -# -# * w3m (default): -# Preview images in full color with the external command "w3mimgpreview"? -# This requires the console web browser "w3m" and a supported terminal. -# It has been successfully tested with "xterm" and "urxvt" without tmux. -# -# * iterm2: -# Preview images in full color using iTerm2 image previews -# (http://iterm2.com/images.html). This requires using iTerm2 compiled -# with image preview support. -# -# * urxvt: -# Preview images in full color using urxvt image backgrounds. This -# requires using urxvt compiled with pixbuf support. -# -# * urxvt-full: -# The same as urxvt but utilizing not only the preview pane but the -# whole terminal window. -set preview_images_method w3m - -# Use a unicode "..." character to mark cut-off filenames? -set unicode_ellipsis false - -# Show dotfiles in the bookmark preview box? -set show_hidden_bookmarks true - -# Which colorscheme to use? These colorschemes are available by default: -# default, jungle, snow, solarized -set colorscheme default - -# Preview files on the rightmost column? -# And collapse (shrink) the last column if there is nothing to preview? -set preview_files true -set preview_directories true -set collapse_preview true - -# Save the console history on exit? -set save_console_history true - -# Draw the status bar on top of the browser window (default: bottom) -set status_bar_on_top false - -# Draw a progress bar in the status bar which displays the average state of all -# currently running tasks which support progress bars? -set draw_progress_bar_in_status_bar true - -# Draw borders around columns? -set draw_borders false - -# Display the directory name in tabs? -set dirname_in_tabs false - -# Enable the mouse support? -set mouse_enabled true - -# Display the file size in the main column or status bar? -set display_size_in_main_column true -set display_size_in_status_bar true - -# Display files tags in all columns or only in main column? -set display_tags_in_all_columns true - -# Set a title for the window? -set update_title false - -# Set the title to "ranger" in the tmux program? -set update_tmux_title false - -# Shorten the title if it gets long? The number defines how many -# directories are displayed at once, 0 turns off this feature. -set shorten_title 3 - -# Abbreviate $HOME with ~ in the titlebar (first line) of ranger? -set tilde_in_titlebar false - -# How many directory-changes or console-commands should be kept in history? -set max_history_size 20 -set max_console_history_size 50 - -# Try to keep so much space between the top/bottom border when scrolling: -set scroll_offset 8 - -# Flush the input after each key hit? (Noticeable when ranger lags) -set flushinput true - -# Padding on the right when there's no preview? -# This allows you to click into the space to run the file. -set padding_right true - -# Save bookmarks (used with mX and `X) instantly? -# This helps to synchronize bookmarks between multiple ranger -# instances but leads to *slight* performance loss. -# When false, bookmarks are saved when ranger is exited. -set autosave_bookmarks true - -# You can display the "real" cumulative size of directories by using the -# command :get_cumulative_size or typing "dc". The size is expensive to -# calculate and will not be updated automatically. You can choose -# to update it automatically though by turning on this option: -set autoupdate_cumulative_size false - -# Turning this on makes sense for screen readers: -set show_cursor false - -# One of: size, natural, basename, atime, ctime, mtime, type, random -set sort natural - -# Additional sorting options -set sort_reverse false -set sort_case_insensitive true -set sort_directories_first true -set sort_unicode false - -# Enable this if key combinations with the Alt Key don't work for you. -# (Especially on xterm) -set xterm_alt_key false - -# Whether to include bookmarks in cd command -set cd_bookmarks true - -# Avoid previewing files larger than this size, in bytes. Use a value of 0 to -# disable this feature. -set preview_max_size 0 - -# Add the highlighted file to the path in the titlebar -set show_selection_in_titlebar true - -# The delay that ranger idly waits for user input, in milliseconds, with a -# resolution of 100ms. Lower delay reduces lag between directory updates but -# increases CPU load. -set idle_delay 2000 - -# When the metadata manager module looks for metadata, should it only look for -# a ".metadata.json" file in the current directory, or do a deep search and -# check all directories above the current one as well? -set metadata_deep_search false - -# Clear all existing filters when leaving a directory -set clear_filters_on_dir_change false - -# Disable displaying line numbers in main column -set line_numbers false - -# =================================================================== -# == Local Options -# =================================================================== -# You can set local options that only affect a single directory. - -# Examples: - -setlocal path=/media preview_files=False -setlocal path=/media preview_directories=False - -# =================================================================== -# == Command Aliases in the Console -# =================================================================== - -alias e edit -alias q quit -alias q! quitall -alias qa quitall -alias qall quitall -alias setl setlocal - -alias filter scout -prt -alias find scout -aeit -alias mark scout -mr -alias unmark scout -Mr -alias search scout -rs -alias search_inc scout -rts -alias travel scout -aefiklst - -# =================================================================== -# == Define keys for the browser -# =================================================================== - -# Basic -map Q quit! -map q quit -copymap q ZZ ZQ - -map R reload_cwd -map reset -map redraw_window -map abort -map change_mode normal -map ~ set viewmode! - -map i display_file -map ? help -map W display_log -map w taskview_open -map S shell $SHELL - -map : console -map ; console -map ! console shell%space -map @ console -p6 shell %%s -map # console shell -p%space -map s console shell%space -map r chain draw_possible_programs; console open_with%%space -map f console find%space -map cd console cd%space - -# Change the line mode -map Mf linemode filename -map Mi linemode fileinfo -map Mm linemode mtime -map Mp linemode permissions -map Ms linemode sizemtime -map Mt linemode metatitle - -# Tagging / Marking -map t tag_toggle -map ut tag_remove -map " tag_toggle tag=%any -map mark_files toggle=True -map v mark_files all=True toggle=True -map uv mark_files all=True val=False -map V toggle_visual_mode -map uV toggle_visual_mode reverse=True - -# For the nostalgics: Midnight Commander bindings -map help -map display_file -map edit -map copy -map cut -map console mkdir%space -map console delete -map exit - -# In case you work on a keyboard with dvorak layout -map move up=1 -map move down=1 -map move left=1 -map move right=1 -map move to=0 -map move to=-1 -map move down=1 pages=True -map move up=1 pages=True -map move right=1 -#map console delete -map console touch%space - -# VIM-like -copymap k -copymap j -copymap h -copymap l -copymap gg -copymap G -copymap -copymap - -map J move down=0.5 pages=True -map K move up=0.5 pages=True -copymap J -copymap K - -# Jumping around -map H history_go -1 -map L history_go 1 -map ] move_parent 1 -map [ move_parent -1 -map } traverse - -map gh cd ~ -map ge cd /etc -map gu cd /usr -map gd cd /dev -map gl cd -r . -map gL cd -r %f -map go cd /opt -map gv cd /var -map gm cd /media -map gM cd /mnt -map gs cd /srv -map gr cd / -map gR eval fm.cd(ranger.RANGERDIR) -map g/ cd / -map g? cd /usr/share/doc/ranger - -# External Programs -map E edit -map du shell -p du --max-depth=1 -h --apparent-size -map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh -map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b -map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b -map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b - -# Filesystem Operations -map = chmod - -map cw console rename%space -map a rename_append -map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%")) -map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7) - -map pp paste -map po paste overwrite=True -map pP paste append=True -map pO paste overwrite=True append=True -map pl paste_symlink relative=False -map pL paste_symlink relative=True -map phl paste_hardlink -map pht paste_hardlinked_subtree - -map dD console delete - -map dd cut -map ud uncut -map da cut mode=add -map dr cut mode=remove -map dt cut mode=toggle - -map yy copy -map uy uncut -map ya copy mode=add -map yr copy mode=remove -map yt copy mode=toggle - -# Temporary workarounds -map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier) -map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier) -map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier) -map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier) -map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier) -map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier) -map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier) -map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier) - -# Searching -map / console search%space -map n search_next -map N search_next forward=False -map ct search_next order=tag -map cs search_next order=size -map ci search_next order=mimetype -map cc search_next order=ctime -map cm search_next order=mtime -map ca search_next order=atime - -# Tabs -map tab_new ~ -map tab_close -map tab_move 1 -map tab_move -1 -map tab_move 1 -map tab_move -1 -map gt tab_move 1 -map gT tab_move -1 -map gn tab_new ~ -map gc tab_close -map uq tab_restore -map tab_open 1 -map tab_open 2 -map tab_open 3 -map tab_open 4 -map tab_open 5 -map tab_open 6 -map tab_open 7 -map tab_open 8 -map tab_open 9 - -# Sorting -map or set sort_reverse! -map oz set sort=random -map os chain set sort=size; set sort_reverse=False -map ob chain set sort=basename; set sort_reverse=False -map on chain set sort=natural; set sort_reverse=False -map om chain set sort=mtime; set sort_reverse=False -map oc chain set sort=ctime; set sort_reverse=False -map oa chain set sort=atime; set sort_reverse=False -map ot chain set sort=type; set sort_reverse=False -map oe chain set sort=extension; set sort_reverse=False - -map oS chain set sort=size; set sort_reverse=True -map oB chain set sort=basename; set sort_reverse=True -map oN chain set sort=natural; set sort_reverse=True -map oM chain set sort=mtime; set sort_reverse=True -map oC chain set sort=ctime; set sort_reverse=True -map oA chain set sort=atime; set sort_reverse=True -map oT chain set sort=type; set sort_reverse=True -map oE chain set sort=extension; set sort_reverse=True - -map dc get_cumulative_size - -# Settings -map zc set collapse_preview! -map zd set sort_directories_first! -map zh set show_hidden! -map set show_hidden! -map zI set flushinput! -map zi set preview_images! -map zm set mouse_enabled! -map zp set preview_files! -map zP set preview_directories! -map zs set sort_case_insensitive! -map zu set autoupdate_cumulative_size! -map zv set use_preview_script! -map zf console filter%space - -# Bookmarks -map ` enter_bookmark %any -map ' enter_bookmark %any -map m set_bookmark %any -map um unset_bookmark %any - -map m draw_bookmarks -copymap m um ` ' - -# Generate all the chmod bindings with some python help: -eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg)) - -eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg)) - -# =================================================================== -# == Define keys for the console -# =================================================================== -# Note: Unmapped keys are passed directly to the console. - -# Basic -cmap eval fm.ui.console.tab() -cmap eval fm.ui.console.tab(-1) -cmap eval fm.ui.console.close() -cmap eval fm.ui.console.execute() -cmap redraw_window - -copycmap -copycmap - -# Move around -cmap eval fm.ui.console.history_move(-1) -cmap eval fm.ui.console.history_move(1) -cmap eval fm.ui.console.move(left=1) -cmap eval fm.ui.console.move(right=1) -cmap eval fm.ui.console.move(right=0, absolute=True) -cmap eval fm.ui.console.move(right=-1, absolute=True) -cmap eval fm.ui.console.move_word(left=1) -cmap eval fm.ui.console.move_word(right=1) - -# Line Editing -cmap eval fm.ui.console.delete(-1) -cmap eval fm.ui.console.delete(0) -cmap eval fm.ui.console.delete_word() -cmap eval fm.ui.console.delete_word(backward=False) -cmap eval fm.ui.console.delete_rest(1) -cmap eval fm.ui.console.delete_rest(-1) -cmap eval fm.ui.console.paste() - -# And of course the emacs way -copycmap -copycmap -copycmap -copycmap -copycmap -copycmap -copycmap -copycmap - -# Note: There are multiple ways to express backspaces. (code 263) -# and (code 127). To be sure, use both. -copycmap - -# This special expression allows typing in numerals: -cmap false - -# =================================================================== -# == Pager Keybindings -# =================================================================== - -# Movement -pmap pager_move down=1 -pmap pager_move up=1 -pmap pager_move left=4 -pmap pager_move right=4 -pmap pager_move to=0 -pmap pager_move to=-1 -pmap pager_move down=1.0 pages=True -pmap pager_move up=1.0 pages=True -pmap pager_move down=0.5 pages=True -pmap pager_move up=0.5 pages=True - -copypmap k -copypmap j -copypmap h -copypmap l -copypmap g -copypmap G -copypmap d -copypmap u -copypmap n f -copypmap p b - -# Basic -pmap redraw_window -pmap pager_close -copypmap q Q i -pmap E edit_file - -# =================================================================== -# == Taskview Keybindings -# =================================================================== - -# Movement -tmap taskview_move up=1 -tmap taskview_move down=1 -tmap taskview_move to=0 -tmap taskview_move to=-1 -tmap taskview_move down=1.0 pages=True -tmap taskview_move up=1.0 pages=True -tmap taskview_move down=0.5 pages=True -tmap taskview_move up=0.5 pages=True - -copytmap k -copytmap j -copytmap g -copytmap G -copytmap u -copytmap n f -copytmap p b - -# Changing priority and deleting tasks -tmap J eval -q fm.ui.taskview.task_move(-1) -tmap K eval -q fm.ui.taskview.task_move(0) -tmap dd eval -q fm.ui.taskview.task_remove() -tmap eval -q fm.ui.taskview.task_move(-1) -tmap eval -q fm.ui.taskview.task_move(0) -tmap eval -q fm.ui.taskview.task_remove() - -# Basic -tmap redraw_window -tmap taskview_close -copytmap q Q w - -map pe extracthere -map gM cd /run/media/tristan -map e nvir -default_linemode devicons diff --git a/.config/ranger/rifle.conf b/.config/ranger/rifle.conf deleted file mode 100644 index aadc2f2..0000000 --- a/.config/ranger/rifle.conf +++ /dev/null @@ -1,211 +0,0 @@ -# vim: ft=cfg -# -# This is the configuration file of "rifle", ranger's file executor/opener. -# Each line consists of conditions and a command. For each line the conditions -# are checked and if they are met, the respective command is run. -# -# Syntax: -# , , ... = command -# -# The command can contain these environment variables: -# $1-$9 | The n-th selected file -# $@ | All selected files -# -# If you use the special command "ask", rifle will ask you what program to run. -# -# Prefixing a condition with "!" will negate its result. -# These conditions are currently supported: -# match | The regexp matches $1 -# ext | The regexp matches the extension of $1 -# mime | The regexp matches the mime type of $1 -# name | The regexp matches the basename of $1 -# path | The regexp matches the absolute path of $1 -# has | The program is installed (i.e. located in $PATH) -# env | The environment variable "variable" is non-empty -# file | $1 is a file -# directory | $1 is a directory -# number | change the number of this command to n -# terminal | stdin, stderr and stdout are connected to a terminal -# X | $DISPLAY is not empty (i.e. Xorg runs) -# -# There are also pseudo-conditions which have a "side effect": -# flag | Change how the program is run. See below. -# label