This commit is contained in:
Marco Thomas
2020-09-30 18:46:26 +02:00
parent 8db26833c1
commit 55dc499bab
326 changed files with 0 additions and 1 deletions

View File

@@ -0,0 +1,395 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
env:
TERM: alacritty
window:
#dimensions:
# columns: 0
# lines: 0
#position:
# x: 0
# y: 0
padding:
x: 20
y: 20
dynamic_padding: false
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#decorations: full
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#startup_mode: Windowed
# Window title
title: Alacritty
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
# Set this to `None` to use the default theme variant.
gtk_theme_variant: dark
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Number of lines the viewport will move for every line scrolled when
# scrollback is enabled (history > 0).
#multiplier: 3
# Font configuration
font:
normal:
family: FiraCode Nerd Font Mono
style: Regular
#bold:
#family: InconsolataLGC Nerd Font Mono
#style: Bold
#italic:
#family: InconsolataLGC Nerd Font Mono
#style: Italic
#bold_italic:
#family: InconsolataLGC Nerd Font Mono
#style: Bold Italic
size: 10.0
# Offset is the extra space around each character. `offset.y` can be thought of
# as modifying the line spacing, 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. Increasing `x` moves the glyph to the right,
# increasing `y` moves the glyph upwards.
#glyph_offset:
# x: 0
# y: 0
# Colors (One Dark)
colors:
# Default colors
primary:
background: '0x1e2127'
foreground: '0xabb2bf'
# Normal colors
normal:
black: '0x1e2127'
red: '0xe06c75'
green: '0x98c379'
yellow: '0xd19a66'
blue: '0x61afef'
magenta: '0xc678dd'
cyan: '0x56b6c2'
white: '0xabb2bf'
# Bright colors
bright:
black: '0x5c6370'
red: '0xe06c75'
green: '0x98c379'
yellow: '0xd19a66'
blue: '0x61afef'
magenta: '0xc678dd'
cyan: '0x56b6c2'
white: '0xffffff'
background_opacity: 0.95
selection:
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
save_to_clipboard: true
# Allow terminal applications to change Alacritty's window title.
window.dynamic_title: true
cursor:
# Values for `style`:
# - ▇ Block
# - _ Underline
# - | Beam
style: Block
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
unfocused_hollow: true
# Live config reload (changes require restart)
live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# 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 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: true
#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 `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
#
# - Copy
# - Paste
# - PasteSelection
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# - Hide
# - Minimize
# - Quit
# - ToggleFullscreen
# - SpawnNewInstance
# - ClearLogNotice
# - ReceiveChar
# - None
#
# (macOS only):
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
#
# - `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
#
# 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
# at once.
key_bindings:
# (Windows, Linux, and BSD only)
- { key: V, mods: Control|Shift, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { 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: 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: K, mods: Command, chars: "\x0c" }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { 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: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, chars: "\x0c" }
#- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
#- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
#- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
#- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
#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

324
files/.config/dunst/dunstrc Normal file
View File

@@ -0,0 +1,324 @@
[global]
### Display ###
# 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 window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# 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 respectively.
# 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 = "400x10-8+35"
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# 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 window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 1
# Padding between text and separator.
padding = 20
# Horizontal padding.
horizontal_padding = 20
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 2
# Defines color of the frame around the notification window.
frame_color = "#0A0E14"
# 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
# Sort messages by urgency.
sort = yes
# 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.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### Text ###
font = FiraCode Nerd Font Mono 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 4
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u3
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# 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
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
vertical_alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = -1
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = no
### Icons ###
# Align icons left/right/off
icon_position = left
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 60
# Paths to default icons.
icon_path = /home/marc/.icons/default
### History ###
# 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
### Misc/Advanced ###
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = true
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines action of mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default,
# invoke it. If there are multiple and no default, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
mouse_left_click = close_current
mouse_middle_click = do_action
mouse_right_click = close_all
[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 = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = ctrl+grave
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#0A0E14"
foreground = "#e5e9f0"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#0A0E14"
foreground = "#e5e9f0"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#0A0E14"
foreground = "#e5e9f0"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# 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 (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# timeout
# urgency
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# 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 help#e5e9f0ful to run dunst -print in a terminal in order
# to find fitting options for rules.
#########################################################
# APPLICATION NOTIFICATIONS #
#########################################################
# vim:ft=cfg

184
files/.config/i3/config Normal file
View File

@@ -0,0 +1,184 @@
# ▄▄ ▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄
# █ █▄█ █ █ ▄ █ █ █ ██ █ █ █ █ █ █ █ █ █ █ █ █ █
# █ █ ▄ █ █ █ █ █ █▄▄██ ▄▄▄▄▄█ █ █▄▄▄ █ █ █ ▄ █ █▄█ █ ▄▄▄█ █ ▄▄▄▄█
# █ █ █▄█ █ █▄▄█▄█ ▄▄█ █ █▄▄▄▄▄ █ █▄▄▄█ █ █ ▄▄█ █ █ █ █ █▄▄▄█ █ █ ▄▄
# █ █ █ ▄▄ █ █ █▄▄▄▄▄ █ █ █▄▄▄ █ █ █ █ █▄█ █ ▄ █ ▄▄▄█ █ █ █ █
# █ ██▄██ █ ▄ █ █ █ █ █▄▄ ▄▄▄▄▄█ █ █ █▄▄▄█ █ █ █▄▄█ █ █ █ █ █ █ █ █▄▄█ █
# █▄█ █▄█▄█ █▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█ █▄▄▄▄▄▄▄█ █▄▄▄█▄▄▄▄▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄█ █▄▄█▄▄▄█ █▄▄▄█▄▄▄▄▄▄▄█
# Set Mod Keys
set $mod Mod4
floating_modifier $mod
# Font for Window Titles
font pango:FiraCode Nerd Font Mono 8
# ============================== Keybinds (except workspaces)
#Terminal
bindsym $mod+Return exec --no-startup-id alacritty
bindsym $mod+Ctrl+Return exec --no-startup-id xterm
# Leaving
bindsym $mod+Shift+BackSpace exec "~/scripts/lock.sh"
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Logout?' -B 'Yes!' 'i3-msg exit'"
# Config refresh
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
# Windows
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+Ctrl+l resize grow width 10 px
bindsym $mod+Ctrl+h resize shrink width 10 px
bindsym $mod+Ctrl+j resize shrink height 10 px
bindsym $mod+Ctrl+k resize grow height 10 px
bindsym $mod+Shift+q kill
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+space floating toggle
bindsym $mod+s layout toggle stacking splith
# Create splits just like in vim
bindsym $mod+Shift+s split v
bindsym $mod+Shift+v split h
bindsym $mod+n workspace next
bindsym $mod+p workspace prev
# Rofi and dmenu
# bindsym $mod+space exec rofi -show run
set $fg '#ffffff'
set $bg '#000000'
bindsym $mod+d exec "dmenu_run -fn 'FiraCode Nerd Font Mono' -p 'run ' -nb $bg -sb $fg -nf $fg -sf $bg"
# Screenhot
bindsym $mod+Shift+p exec "flameshot gui"
# Filemanager
bindsym $mod+e exec thunar
# Screen brightness with light
bindsym XF86MonBrightnessUp exec light -A 5 # increase
bindsym XF86MonBrightnessDown exec light -U 5 # decrease
# Volume witg pactl
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +2%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -2%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
# Music Control with playerctl
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# ======================================== Open Applications
mode "Open" {
bindsym f exec firefox
bindsym s exec spotify
bindsym d exec discord; exec Discord
bindsym c exec gsimplecal
bindsym Escape mode "default"
bindsym Return mode "default"
}
bindsym $mod+o mode "Open"
# ======================================== Shutdown
mode "Shutdown" {
bindsym s exec shutdown now
bindsym l exec "~/scripts/lock.sh"
bindsym Escape mode "default"
bindsym Return mode "default"
}
bindsym $mod+BackSpace mode "Shutdown"
# ======================================== Workspaces
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Move to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# Move window to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# ============================== Monitor
set $monitor_1 "DP-3"
set $monitor_2 "DP-1"
workspace $ws1 output $monitor_1
workspace $ws10 output $monitor_2
bindsym $mod+Ctrl+1 move workspace to output $monitor_2
bindsym $mod+Ctrl+2 move workspace to output $monitor_1
# ============================== Design
# Remove title
new_window 1pixel
# Set Border
for_window [class="^.*"] border pixel 1
set $red "#e06c75"
set $termbg "#1e2127"
# class border backgr. text indic. child_border
client.focused #ffffff #ffffff #000000 #ffffff #ffffff
client.focused_inactive $termbg $termbg #ffffff $termbg $termbg
client.unfocused $termbg $termbg #ffffff $termbg $termbg
client.urgent $red $red #ffffff $red $red
client.background #ffffff
gaps inner 0
# ============================== Start
# Keyboard layout
exec setxkbmap -layout za
exec feh --bg-scale $HOME/data/wallpaper/wallpaper.png
exec dunst
exec picom
exec --no-startup-id ~/.config/polybar/launch.sh

View File

@@ -0,0 +1,8 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhistcnt =6
let g:netrw_dirhist_6='/home/marc/.config/dunst'
let g:netrw_dirhist_5='/home/marc/.mutt/user'
let g:netrw_dirhist_4='/home/marc/dots/laptop/.config/rofi'
let g:netrw_dirhist_3='/home/marc/.config/rofi'
let g:netrw_dirhist_2='/home/marc/.config/dunst'
let g:netrw_dirhist_1='/home/marc/dots/laptop/.config/rofi/launchers-git'

View File

@@ -0,0 +1,3 @@
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vimrc

25
files/.config/picom.conf Normal file
View File

@@ -0,0 +1,25 @@
# Opacity
opacity-rule = [
"95:class_g *?= 'Rofi'",
"95:class_g *?= 'XTerm'",
];
#inactive-dim = 0.15;
#inactive-opacity = 0.9;
#detect-rounded-corners = true;
#corner-radius = 0.0;
#rounded-corners-exclude= [
# "class_g = 'i3-frame'",
# "class_g = 'dmenu'"
#];
#
#backend = "glx";
#blur: {
# method: "dual_kawase";
# size = 2;
# strength = 0;
# background = false;
# background-frame = false;
# background-fixed = false;
#}

View File

@@ -0,0 +1,165 @@
# vim:ft=dosini
[colors]
background = #000000
foreground = #ffffff
urgent = #e06c75
[bar/laptop]
monitor = ${env:MONITOR}
font-0 = "FiraCode Nerd Font Mono:pixelsize=9;2"
font-1 = "IPAGothic:fontformat=truetype:antialias=false:pixelsize=9;2"
font-2 = "Siji:size=7;1"
font-3 = "Wuncon Siji:size=7;1"
height = 27px
width = 100%
module-margin-right = 1
module-margin-left = 1
padding-left = 1
padding-right = 1
separator = /
modules-left = i3 xwindow
modules-right = network volume backlight battery date
tray-position = right
tray-padding = 1
foreground = ${colors.foreground}
background = ${colors.background}
wm-name = i3
wm-restack = i3
[bar/desktop]
inherit = bar/laptop
modules-right = networkupdown volume date
[bar/desktop_second]
inherit = bar/desktop
tray-position = none
modules-right = volume date
[module/i3]
type = internal/i3
pin-workspaces = true
wrapping-scroll = false
format = <label-state> <label-mode>
ws-icon-0 = 1;一
ws-icon-1 = 2;二
ws-icon-2 = 3;三
ws-icon-3 = 4;四
ws-icon-4 = 5;五
ws-icon-5 = 6;六
ws-icon-6 = 7;七
ws-icon-7 = 8;八
ws-icon-8 = 9;九
ws-icon-9 = 10;十
ws-icon-default = 
label-focused = "%icon%"
label-focused-foreground = ${colors.background}
label-focused-background = ${colors.foreground}
label-focused-padding = 1
label-unfocused = "%icon%"
label-unfocused-padding = 1
label-visible = "%icon%"
label-visible-padding = 1
label-urgent = "%icon%"
label-urgent-background = ${colors.urgent}
label-urgent-padding = 1
label-mode-padding = 1
label-mode-background = ${colors.urgent}
label-mode-foreground = ${colors.background}
[module/xwindow]
type = internal/xwindow
label = %title%
label-maxlen = 100
[module/date]
type = internal/date
date = %a, %d %H:%M
[module/backlight]
type = internal/backlight
#ls -1 /sys/class/backlight
card = amdgpu_bl0
label =  %percentage%%
[module/battery]
type = internal/battery
battery = BAT0
apdapter = ADP1
format-charging = <animation-charging> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
format-full = <ramp-capacity> <label-full>
label-charging = %percentage%%
label-discharging = %percentage%%
label-full = %percentage%%
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-5 = 
ramp-capacity-6 = 
ramp-capacity-7 = 
ramp-capacity-8 = 
ramp-capacity-9 = 
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-framerate = 750
[module/volume]
type = internal/pulseaudio
format-volume = <ramp-volume> <label-volume>
ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 
ramp-volume-3 = 
ramp-volume-4 = 
ramp-headphones-0 = 
ramp-headphones-1 = 
label-volume = %percentage%%
format-muted-prefix = " "
label-muted = muted
[module/network]
type = internal/network
interface = wlo1
interval = 3.0
accumulate-stats = true
unknown-as-up = true
label-connected =  %essid%
label-disconnected = no wifi
[module/networkupdown]
type = internal/network
interface = enp24s0
interval = 3.0
accumulate-stats = true
unknown-as-up = true
label-connected =  %upspeed%  %downspeed%

View File

@@ -0,0 +1,352 @@
; vim: ft=dosini
[colors]
transparent = #00000000
red = #BF616A
orange = #D08770
yellow = #EBCB8B
green = #A3BE8C
purple = #B48EAD
blue0 = #8FBCBB
blue1 = #88C0D0
blue2 = #81A1C1
blue3 = #5E81AC
nord0 = #2E3440
nord1 = #3b4252
nord2 = #434c5e
nord3 = #4C566A
frost0 = #d8dee9
frost1 = #e5e9f0
frost2 = #ECEFF4
accent = ${colors.green}
foreground = ${colors.frost2}
background = ${colors.nord0}
################################################################################
[bar/global]
monitor = ${env:MONITOR}
font-0 = "FiraCode Nerd Font Mono:pixelsize=9;3"
font-1 = "IPAGothic:fontformat=truetype:antialias=false:pixelsize=11;2"
font-2 = "Siji:size=7;2"
bottom = false
radius = 12
height = 27px
foreground = ${colors.foreground}
background = #2e3440
module-margin= 0
wm-name = i3
wm-restack = i3
################################################################################
[bar/all]
inherit = bar/global
width = 80%
override-redirect = true
padding = 3
offset-x = 10%:-8px
offset-y = 8px
modules-left = i3
modules-center = spotify
modules-right = update backlight volume date
################################################################################
[bar/workspaces]
inherit = bar/global
width = 10%
override-redirect = true
offset-x = 8px
offset-y = 8px
line-size = 3
modules-center = i3
################################################################################
[bar/music]
inherit = bar/global
width = 22%
override-redirect = true
offset-x = 11.5%-8px
offset-y = 8px
modules-center = spotify
################################################################################
[bar/status]
inherit = bar/global
width = 20%
override-redirect = true
fixed-center = true
offset-x = 80%:-8px
offset-y = 8px
module-margin = 1
line-size = 3
modules-center = backlight volume battery date
################################################################################
[bar/tray]
inherit = bar/global
width = 7%
override-redirect = true
fixed-center = true
bottom = true
offset-x = 93%:-8px
offset-y = 8px
tray-position = center
tray-padding = 2
modules-center = update
###############################################################################
[module/i3]
type = internal/i3
pin-workspaces = true
wrapping-scroll = false
format = <label-state> <label-mode>
foreground = ${colors.foreground}
ws-icon-0 = 1;一
ws-icon-1 = 2;二
ws-icon-2 = 3;三
ws-icon-3 = 4;四
ws-icon-4 = 5;五
ws-icon-5 = 6;六
ws-icon-6 = 7;七
ws-icon-7 = 8;八
ws-icon-8 = 9;九
ws-icon-9 = 10;十
ws-icon-default = 
#label-focused = ""
label-focused = "%icon%"
label-focused-padding = 1
label-focused-underline = ${colors.green}
#label-unfocused = ""
label-unfocused = "%icon%"
label-unfocused-padding = 1
label-urgent = "%icon%"
label-urgent-foreground = ${colors.red}
label-urgent-padding = 1
###############################################################################
[module/date]
type = internal/date
interval = 1.0
#time =  %I:%M %p - %A, %d %B %Y
time =  %I:%M %p %d.%m.%Y
time-alt =  %I:%M %p
format = <label>
format-underline = ${colors.blue1}
label = %time%
###############################################################################
[module/title]
type = internal/xwindow
label = %title%
format = <label>
label-maxlen = 80
label-empty = "Yoroshiku!"
###############################################################################
[module/cpu]
type = internal/cpu
interval = 5
format = <label>
format-prefix = 
label = " %percentage%%"
###############################################################################
[module/memory]
type = internal/memory
interval = 3
format = <label>
format-prefix = 
label = " %mb_used%"
###############################################################################
[module/battery]
type = internal/battery
full-at = 99
battery = BAT0
apdapter = ADP1
format-charging = <animation-charging> <label-charging>
format-charging-underline = ${colors.green}
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${colors.green}
format-full = <ramp-capacity> <label-full>
format-full-underline = ${colors.green}
label-charging = %percentage%%
label-discharging = %percentage%%
label-full = 100%
; Only applies if <ramp-capacity> is used
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-5 = 
ramp-capacity-6 = 
ramp-capacity-7 = 
ramp-capacity-8 = 
ramp-capacity-9 = 
; Only applies if <animation-charging> is used
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
; Framerate in milliseconds
animation-charging-framerate = 750
###############################################################################
[module/volume]
type = internal/pulseaudio
format-volume = <ramp-volume> <label-volume>
format-volume-underline = ${colors.orange}
label-volume = %percentage%%
format-muted-prefix = " "
label-muted = "Muted"
ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 
ramp-volume-3 = 
ramp-volume-4 = 
ramp-headphones-0 = 
ramp-headphones-1 = 
###############################################################################
[module/network]
type = internal/network
interface = wlo1
interval = 1.0
accumulate-stats = true
unknown-as-up = true
#format-connected = <ramp-signal> <label-connected>
format-connected =  <label-connected>
format-disconnected = <label-disconnected>
label-connected = %essid%
label-disconnected =  Disconnected
; Only applies if <ramp-signal> is used
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
###############################################################################
[module/backlight]
type = internal/backlight
# ls -1 /sys/class/backlight
card = amdgpu_bl0
format = <label>
format-prefix = ""
label = " %percentage%%"
format-underline = ${colors.yellow}
bar-width = 10
bar-indicator = |
bar-fill = ─
bar-empty= ─
###############################################################################
[module/load]
type = custom/script
exec = ~/.config/polybar/scripts/load.sh
interval = 5.0
###############################################################################
[module/spotify]
type = custom/script
format-prefix = " "
exec = ~/.config/polybar/scripts/song.sh 2>/dev/null || echo "No song is playing"
tail = true
interval = 2
###############################################################################
[module/hostname]
type = custom/script
exec = ~/.config/polybar/scripts/hostname.sh
tail = true
interval = 60
###############################################################################
[module/ip]
type = custom/script
format-prefix = "直 "
exec = ~/.config/polybar/scripts/ip.sh
tail = true
interval = 20
###############################################################################
[module/update]
type = custom/script
exec = echo ' '
interval = 5
tail = true
click-left = alacritty -e bash -c "echo 'Upgrading packages...' && sudo dnf upgrade"

15
files/.config/polybar/launch.sh Executable file
View File

@@ -0,0 +1,15 @@
killall -q polybar
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
if type "xrandr"; then
for mon in $(xrandr --query | grep " connected" | cut -d" " -f1); do
if [ $mon = "eDP-1" ]; then
MONITOR=$mon polybar --reload laptop &
elif [ $mon = "DP-3" ]; then
MONITOR="DP-3" polybar --reload desktop &
MONITOR="DP-1" polybar --reload desktop_second &
fi
done
else
echo "No Bars loaded."
fi

View File

@@ -0,0 +1,18 @@
killall -q polybar
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
if type "xrandr"; then
for mon in $(xrandr --query | grep " connected" | cut -d" " -f1); do
if [ "$1" = "laptop" ]; then
MONITOR=$mon polybar --reload workspaces &
# MONITOR=$mon polybar --reload music &
MONITOR=$mon polybar --reload status &
MONITOR=$mon polybar --reload tray &
fi
if [ "$1" = "all" ]; then
MONITOR=$mon polybar --reload all &
fi
done
else
echo "No Bars loaded."
fi

View File

@@ -0,0 +1,3 @@
#!/bin/bash
echo "$USER@$HOSTNAME"

View File

@@ -0,0 +1,8 @@
#!/bin/bash
PUBLIC_IP=`wget http://ipecho.net/plain -O - -q ; echo`
WLO1=`hostname -I | awk '{print $1}'`
SSID=`iwgetid -r`
echo "$PUBLIC_IP - $WLO1 - $SSID"

View File

@@ -0,0 +1,7 @@
#!/bin/sh
function load() {
echo -n "$(cat /proc/loadavg | awk -F ' ' '{print $1,$2,$3}')"
}
load

View File

@@ -0,0 +1,39 @@
#!/bin/sh
length=20
function scroll () {
prefix="$1"
scrolling="$2"
temp="$(echo "$scrolling"| sed "s/^\(.\{$length\}\)\(.*\)$/\1[\2]/"| sed "s/\[ *\]$//"| sed "s/\[.*\]$//")"
suffix="$3"
if [ "$(echo -n $scrolling |wc -c)" -gt $length ]; then
echo "$prefix%{T7}$temp%{T-}$suffix"
sleep 0.5
zscroll -l $length \
--delay 0.2 \
--before-text "$prefix%{T7}" \
--after-text "%{T-}$suffix" \
--scroll-padding " " \
--update-check true "echo '$(get_title)'" &
wait
else
echo "$prefix%{T8} $temp %{T-}$suffix"
fi
} #
function get_artist () {
echo "$(playerctl -p spotify metadata --format "{{ artist }}"| sed -e "s/[[(]....*[])]*//g" | sed "s/ *$//"| sed "s/^\(.\{$length\}[^ ]*\)\(.*\)$/\1[\2]/"| sed "s/\[ *\]$//"| sed "s/\[.*\]$/.../")"
} #
function get_title () {
echo "$(playerctl -p spotify metadata --format "{{title}}" | sed 's/'\''/\\'\''/g')"
} #
[ ! -z "$(playerctl -p spotify status 2>/dev/null)" ] \
&& artist=$(get_artist) \
&& title=$(get_title) \
&& ([ -z "$artist$title" ] && scroll "" "Spotify is not connected on this pc" "" || scroll "%{F#79e6f3}$artist%{F#FFF} [" "$title" "]%{F-}" ) \
|| exit 1

View File

@@ -0,0 +1,23 @@
#!/bin/sh
main() {
if ! pgrep -x spotify >/dev/null; then
echo ""; exit
fi
cmd="org.freedesktop.DBus.Properties.Get"
domain="org.mpris.MediaPlayer2"
path="/org/mpris/MediaPlayer2"
meta=$(dbus-send --print-reply --dest=${domain}.spotify \
/org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:${domain}.Player string:Metadata)
artist=$(echo "$meta" | sed -nr '/xesam:artist"/,+2s/^ +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g' | sed 's#\/#\\/#g')
album=$(echo "$meta" | sed -nr '/xesam:album"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1| sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
title=$(echo "$meta" | sed -nr '/xesam:title"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
echo "${*:-%artist% - %title%}" | sed "s/%artist%/$artist/g;s/%title%/$title/g;s/%album%/$album/g"i | sed "s/\&/\&/g" | sed "s#\/#\/#g"
}
main "$@"

View File

View File

@@ -0,0 +1,323 @@
#!/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 = {
'7z' : '',
'a' : '',
'ai' : '',
'apk' : '',
'asm' : '',
'asp' : '',
'aup' : '',
'avi' : '',
'bat' : '',
'bmp' : '',
'bz2' : '',
'c' : '',
'c++' : '',
'cab' : '',
'cbr' : '',
'cbz' : '',
'cc' : '',
'class' : '',
'clj' : '',
'cljc' : '',
'cljs' : '',
'cmake' : '',
'coffee' : '',
'conf' : '',
'cp' : '',
'cpio' : '',
'cpp' : '',
'cs' : '',
'css' : '',
'cue' : '',
'cvs' : '',
'cxx' : '',
'd' : '',
'dart' : '',
'db' : '',
'deb' : '',
'diff' : '',
'dll' : '',
'doc' : '',
'docx' : '',
'dump' : '',
'edn' : '',
'efi' : '',
'ejs' : '',
'elf' : '',
'elm' : '',
'epub' : '',
'erl' : '',
'ex' : '',
'exe' : '',
'exs' : '',
'eex' : '',
'f#' : '',
'fifo' : '|',
'fish' : '',
'flac' : '',
'flv' : '',
'fs' : '',
'fsi' : '',
'fsscript' : '',
'fsx' : '',
'gem' : '',
'gif' : '',
'go' : '',
'gz' : '',
'gzip' : '',
'h' : '',
'hbs' : '',
'hpp' : '',
'hrl' : '',
'hs' : '',
'htaccess' : '',
'htpasswd' : '',
'htm' : '',
'html' : '',
'ico' : '',
'img' : '',
'ini' : '',
'iso' : '',
'jar' : '',
'java' : '',
'jl' : '',
'jpeg' : '',
'jpg' : '',
'js' : '',
'json' : '',
'jsx' : '',
'key' : '',
'less' : '',
'lha' : '',
'lhs' : '',
'log' : '',
'lua' : '',
'lzh' : '',
'lzma' : '',
'm4a' : '',
'm4v' : '',
'markdown' : '',
'md' : '',
'mkv' : '',
'ml' : 'λ',
'mli' : 'λ',
'mov' : '',
'mp3' : '',
'mp4' : '',
'mpeg' : '',
'mpg' : '',
'msi' : '',
'mustache' : '',
'o' : '',
'ogg' : '',
'pdf' : '',
'php' : '',
'pl' : '',
'pm' : '',
'png' : '',
'pub' : '',
'ppt' : '',
'pptx' : '',
'psb' : '',
'psd' : '',
'py' : '',
'pyc' : '',
'pyd' : '',
'pyo' : '',
'rar' : '',
'rb' : '',
'rc' : '',
'rlib' : '',
'rom' : '',
'rpm' : '',
'rs' : '',
'rss' : '',
'rtf' : '',
's' : '',
'so' : '',
'scala' : '',
'scss' : '',
'sh' : '',
'slim' : '',
'sln' : '',
'sql' : '',
'styl' : '',
'suo' : '',
't' : '',
'tar' : '',
'tgz' : '',
'ts' : '',
'twig' : '',
'vim' : '',
'vimrc' : '',
'wav' : '',
'webm' : '',
'xbps' : '',
'xhtml' : '',
'xls' : '',
'xlsx' : '',
'xml' : '',
'xul' : '',
'xz' : '',
'yaml' : '',
'yml' : '',
'zip' : '',
}
dir_node_exact_matches = {
# English
'.git' : '',
'Desktop' : '',
'Documents' : '',
'Downloads' : '',
'Dotfiles' : '',
'Dropbox' : '',
'Music' : '',
'Pictures' : '',
'Public' : '',
'Templates' : '',
'Videos' : '',
# Spanish
'Escritorio' : '',
'Documentos' : '',
'Descargas' : '',
'Música' : '',
'Imágenes' : '',
'Público' : '',
'Plantillas' : '',
'Vídeos' : '',
# French
'Bureau' : '',
'Documents' : '',
'Images' : '',
'Musique' : '',
'Publique' : '',
'Téléchargements' : '',
'Vidéos' : '',
# Portuguese
'Documentos' : '',
'Imagens' : '',
'Modelos' : '',
'Música' : '',
'Público' : '',
'Vídeos' : '',
'Área de trabalho' : '',
# Italian
'Documenti' : '',
'Immagini' : '',
'Modelli' : '',
'Musica' : '',
'Pubblici' : '',
'Scaricati' : '',
'Scrivania' : '',
'Video' : '',
# German
'Bilder' : '',
'Dokumente' : '',
'Musik' : '',
'Schreibtisch' : '',
'Vorlagen' : '',
'Öffentlich' : '',
# Hungarian
'Dokumentumok' : '',
'Képek' : '',
'Modelli' : '',
'Zene' : '',
'Letöltések' : '',
'Számítógép' : '',
'Videók' : '',
}
file_node_exact_matches = {
'.Xauthority' : '',
'.Xdefaults' : '',
'.Xresources' : '',
'.bash_aliases' : '',
'.bashprofile' : '',
'.bash_profile' : '',
'.bash_logout' : '',
'.bash_history' : '',
'.bashrc' : '',
'.dmrc' : '',
'.DS_Store' : '',
'.fasd' : '',
'.fehbg' : '',
'.gitconfig' : '',
'.gitattributes' : '',
'.gitignore' : '',
'.inputrc' : '',
'.jack-settings' : '',
'.mime.types' : '',
'.nvidia-settings-rc' : '',
'.pam_environment' : '',
'.profile' : '',
'.recently-used' : '',
'.selected_editor' : '',
'.vim' : '',
'.vimrc' : '',
'.viminfo' : '',
'.xinitrc' : '',
'.xinputrc' : '',
'config' : '',
'Dockerfile' : '',
'docker-compose.yml' : '',
'dropbox' : '',
'exact-match-case-sensitive-1.txt' : 'X1',
'exact-match-case-sensitive-2' : 'X2',
'favicon.ico' : '',
'a.out' : '',
'bspwmrc' : '',
'sxhkdrc' : '',
'Makefile' : '',
'Makefile.in' : '',
'Makefile.ac' : '',
'config.mk' : '',
'config.m4' : '',
'config.ac' : '',
'configure' : '',
'Rakefile' : '',
'gruntfile.coffee' : '',
'gruntfile.js' : '',
'gruntfile.ls' : '',
'gulpfile.coffee' : '',
'gulpfile.js' : '',
'gulpfile.ls' : '',
'ini' : '',
'ledger' : '',
'package.json' : '',
'package-lock.json' : '',
'.ncmpcpp' : '',
'playlists' : '',
'known_hosts' : '',
'authorized_keys' : '',
'license' : '',
'LICENSE.md' : '',
'LICENSE' : '',
'LICENSE.txt' : '',
'mimeapps.list' : '',
'node_modules' : '',
'procfile' : '',
'react.jsx' : '',
'README.rst' : '',
'README.md' : '',
'README.markdown' : '',
'README' : '',
'README.txt' : '',
'user-dirs.dirs' : '',
'webpack.config.js' : '',
}
def devicon(file):
if file.is_directory: return dir_node_exact_matches.get(file.relative_path, '')
return file_node_exact_matches.get(os.path.basename(file.relative_path), file_node_extensions.get(file.extension, ''))

View File

@@ -0,0 +1,19 @@
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

View File

@@ -0,0 +1,11 @@
set preview_images true
set preview_images_method ueberzug
#set preview_images_method w3m
#icons
default_linemode devicons
# separators, outline, both, none
set draw_borders none
set mouse_enabled true

View File

@@ -0,0 +1,50 @@
configuration {
modi: "run,drun,window";
width: 20;
font: "FiraCode Nerd Font 12";
terminal: "alacritty";
disable-history: true;
sidebar-mode: true;
tokenize: true;
m: "-5";
line-margin: 2;
line-padding: 1;
separator-style: "none";
hide-scrollbar: true;
window-format: "{w} {c}";
}
* {
bg: #0F1212;
fg: #e3e3e3;
accent: #131717;
background-color: @bg;
text-color: @fg;
}
window {
padding: 30px;
border-radius: 5px;
}
prompt, entry {
text-color: @fg;
padding: 3px;
}
element {
border-radius: 2px;
padding: 4px;
}
element selected {
background-color: @fg;
text-color: @bg;
}
button selected {
background-color: @fg;
text-color: @bg;
border-radius: 2px;
padding: 3px;
}