config files
This commit is contained in:
commit
e39997c54b
69
.bin/rofi-usb-mount.sh
Executable file
69
.bin/rofi-usb-mount.sh
Executable file
@ -0,0 +1,69 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
purple=#a0b0e8
|
||||||
|
|
||||||
|
usbcheck(){ \
|
||||||
|
mounteddrives="$(lsblk -rpo "name,type,size,mountpoint" | grep -v 'sda' | awk '$2=="part"&&$4!=""{printf "%s (%s)\t ",$1,$3}')"
|
||||||
|
if [ $(echo "$mounteddrives" | wc -w) -gt 0 ]; then
|
||||||
|
echo " $mounteddrives"
|
||||||
|
else
|
||||||
|
if [ $(echo "$usbdrives" | wc -w) -gt 0 ]; then
|
||||||
|
echo %{u"$purple"}%{+u}%{T2}%{F"$purple"} USB%{T-}%{F-}
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
mountusb(){ \
|
||||||
|
chosen=$(echo "$usbdrives" | rofi -dmenu -theme ~/.config/bspwm/themes/mytheme/rofi/menu.rasi -show run -lines 5 -opacity "85" -bw 0 -width 30 -padding 20 -i -p "Mount which drive?" | awk '{print $1}')
|
||||||
|
mountpoint=$(udisksctl mount --no-user-interaction -b "$chosen" 2>/dev/null) && notify-send "💻 USB mounting" "$chosen mounted to $mountpoint" && exit 0
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
umountusb(){ \
|
||||||
|
chosen=$(echo "$mounteddrives" | rofi -dmenu -theme ~/.config/bspwm/themes/mytheme/rofi/menu.rasi -show run -lines 5 -opacity "85" -bw 0 -width 30 -padding 20 -i -p "Unmount which drive?" | awk '{print $1}')
|
||||||
|
mountpoint=$(udisksctl unmount --no-user-interaction -b "$chosen" 2>/dev/null) && notify-send "💻 USB unmounting" "$chosen mounted" && exit 0
|
||||||
|
udisksctl power-off --no-user-interaction -b "$chosen"
|
||||||
|
}
|
||||||
|
|
||||||
|
umountall(){ \
|
||||||
|
for chosen in $(echo $(lsblk -rpo "name,type,size,mountpoint" | grep -v 'sda' | awk '$2=="part"&&$4!=""{printf "%s\n",$1}')); do
|
||||||
|
udisksctl unmount --no-user-interaction -b "$chosen"
|
||||||
|
udisksctl power-off --no-user-interaction -b "$chosen"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep -v 'sda' | awk '$2=="part"&&$4==""{printf "%s (%s)\n",$1,$3}')"
|
||||||
|
mounteddrives="$(lsblk -rpo "name,type,size,mountpoint" | grep -v 'sda' | awk '$2=="part"&&$4!=""{printf "%s (%s)\n",$1,$3}')"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--check)
|
||||||
|
usbcheck
|
||||||
|
;;
|
||||||
|
--mount)
|
||||||
|
if [ $(echo "$usbdrives" | wc -w) -gt 0 ]; then
|
||||||
|
notify-send "USB drive(s) detected."
|
||||||
|
mountusb
|
||||||
|
else
|
||||||
|
notify-send "No USB drive(s) detected." && exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
--umount)
|
||||||
|
if [ $(echo "$mounteddrives" | wc -w) -gt 0 ]; then
|
||||||
|
notify-send "USB drive(s) detected."
|
||||||
|
umountusb
|
||||||
|
else
|
||||||
|
notify-send "No USB drive(s) to unmount." && exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
--umount-all)
|
||||||
|
if [ $(echo "$mounteddrives" | wc -w) -gt 0 ]; then
|
||||||
|
notify-send "Unmounting all USB drives."
|
||||||
|
umountall
|
||||||
|
else
|
||||||
|
notify-send "No USB drive(s) to unmount." && exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
747
.config/alacritty/alacritty.yml
Executable file
747
.config/alacritty/alacritty.yml
Executable file
@ -0,0 +1,747 @@
|
|||||||
|
window:
|
||||||
|
padding:
|
||||||
|
x: 15
|
||||||
|
y: 15
|
||||||
|
opacity: 0.3
|
||||||
|
|
||||||
|
scrolling:
|
||||||
|
history: 100
|
||||||
|
|
||||||
|
font:
|
||||||
|
normal:
|
||||||
|
family: JetBrainsMono
|
||||||
|
style: Bold
|
||||||
|
|
||||||
|
bold:
|
||||||
|
family: JetBrainsMono
|
||||||
|
style: Bold
|
||||||
|
|
||||||
|
size: 10.0
|
||||||
|
|
||||||
|
colors:
|
||||||
|
primary:
|
||||||
|
background: '#2e3440'
|
||||||
|
foreground: '#d8dee9'
|
||||||
|
|
||||||
|
normal:
|
||||||
|
black: '#3b4252'
|
||||||
|
red: '#bf616a'
|
||||||
|
green: '#a3be8c'
|
||||||
|
yellow: '#ebcb8b'
|
||||||
|
blue: '#81a1c1'
|
||||||
|
magenta: '#b48ead'
|
||||||
|
cyan: '#88c0d0'
|
||||||
|
white: '#e5e9f0'
|
||||||
|
bright:
|
||||||
|
black: '#4c566a'
|
||||||
|
red: '#bf616a'
|
||||||
|
green: '#a3be8c'
|
||||||
|
yellow: '#ebcb8b'
|
||||||
|
blue: '#81a1c1'
|
||||||
|
magenta: '#b48ead'
|
||||||
|
cyan: '#8fbcbb'
|
||||||
|
white: '#eceff4'
|
||||||
|
|
||||||
|
# Bright and dim foreground colors
|
||||||
|
#
|
||||||
|
# The dimmed foreground color is calculated automatically if it is not
|
||||||
|
# present. If the bright foreground color is not set, or
|
||||||
|
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
||||||
|
# color will be used.
|
||||||
|
#dim_foreground: '#828482'
|
||||||
|
#bright_foreground: '#eaeaea'
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the terminal cursor.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
cursor:
|
||||||
|
text: CellBackground
|
||||||
|
cursor: CellForeground
|
||||||
|
|
||||||
|
# Vi mode cursor colors
|
||||||
|
#
|
||||||
|
# Colors for the cursor when the vi mode is active.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#vi_mode_cursor:
|
||||||
|
# text: CellBackground
|
||||||
|
# cursor: CellForeground
|
||||||
|
|
||||||
|
# Search colors
|
||||||
|
#
|
||||||
|
# Colors used for the search bar and match highlighting.
|
||||||
|
#search:
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#matches:
|
||||||
|
# foreground: '#000000'
|
||||||
|
# background: '#ffffff'
|
||||||
|
#focused_match:
|
||||||
|
# foreground: '#ffffff'
|
||||||
|
# background: '#000000'
|
||||||
|
|
||||||
|
# Keyboard hints
|
||||||
|
#hints:
|
||||||
|
# First character in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#start:
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
# background: '#e9ff5e'
|
||||||
|
|
||||||
|
# All characters after the first one in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#end:
|
||||||
|
# foreground: '#e9ff5e'
|
||||||
|
# background: '#1d1f21'
|
||||||
|
|
||||||
|
# Line indicator
|
||||||
|
#
|
||||||
|
# Color used for the indicator displaying the position in history during
|
||||||
|
# search and vi mode.
|
||||||
|
#
|
||||||
|
# By default, these will use the opposing primary color.
|
||||||
|
#line_indicator:
|
||||||
|
# foreground: None
|
||||||
|
# background: None
|
||||||
|
|
||||||
|
# Footer bar
|
||||||
|
#
|
||||||
|
# Color used for the footer bar on the bottom, used by search regex input,
|
||||||
|
# hyperlink URI preview, etc.
|
||||||
|
#
|
||||||
|
#footer_bar:
|
||||||
|
# background: '#c5c8c6'
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#selection:
|
||||||
|
# text: CellBackground
|
||||||
|
# background: CellForeground
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
#normal:
|
||||||
|
# black: '#1d1f21'
|
||||||
|
# red: '#cc6666'
|
||||||
|
# green: '#b5bd68'
|
||||||
|
# yellow: '#f0c674'
|
||||||
|
# blue: '#81a2be'
|
||||||
|
# magenta: '#b294bb'
|
||||||
|
# cyan: '#8abeb7'
|
||||||
|
# white: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
#bright:
|
||||||
|
# black: '#666666'
|
||||||
|
# red: '#d54e53'
|
||||||
|
# green: '#b9ca4a'
|
||||||
|
# yellow: '#e7c547'
|
||||||
|
# blue: '#7aa6da'
|
||||||
|
# magenta: '#c397d8'
|
||||||
|
# cyan: '#70c0b1'
|
||||||
|
# white: '#eaeaea'
|
||||||
|
|
||||||
|
# Dim colors
|
||||||
|
#
|
||||||
|
# If the dim colors are not set, they will be calculated automatically based
|
||||||
|
# on the `normal` colors.
|
||||||
|
#dim:
|
||||||
|
# black: '#131415'
|
||||||
|
# red: '#864343'
|
||||||
|
# green: '#777c44'
|
||||||
|
# yellow: '#9e824c'
|
||||||
|
# blue: '#556a7d'
|
||||||
|
# magenta: '#75617b'
|
||||||
|
# cyan: '#5b7d78'
|
||||||
|
# white: '#828482'
|
||||||
|
|
||||||
|
# Indexed Colors
|
||||||
|
#
|
||||||
|
# The indexed colors include all colors from 16 to 256.
|
||||||
|
# When these are not set, they're filled with sensible defaults.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# `- { index: 16, color: '#ff00ff' }`
|
||||||
|
#
|
||||||
|
#indexed_colors: []
|
||||||
|
|
||||||
|
# Transparent cell backgrounds
|
||||||
|
#
|
||||||
|
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||||
|
# the default background. When set to `true` all cells will be transparent
|
||||||
|
# regardless of their background color.
|
||||||
|
#transparent_background_colors: false
|
||||||
|
|
||||||
|
# Bell
|
||||||
|
#
|
||||||
|
# The bell is rung every time the BEL control character is received.
|
||||||
|
#bell:
|
||||||
|
# Visual Bell Animation
|
||||||
|
#
|
||||||
|
# Animation effect for flashing the screen when the visual bell is rung.
|
||||||
|
#
|
||||||
|
# Values for `animation`:
|
||||||
|
# - Ease
|
||||||
|
# - EaseOut
|
||||||
|
# - EaseOutSine
|
||||||
|
# - EaseOutQuad
|
||||||
|
# - EaseOutCubic
|
||||||
|
# - EaseOutQuart
|
||||||
|
# - EaseOutQuint
|
||||||
|
# - EaseOutExpo
|
||||||
|
# - EaseOutCirc
|
||||||
|
# - Linear
|
||||||
|
#animation: EaseOutExpo
|
||||||
|
|
||||||
|
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||||
|
# disable the visual bell animation.
|
||||||
|
#duration: 0
|
||||||
|
|
||||||
|
# Visual bell animation color.
|
||||||
|
#color: '#ffffff'
|
||||||
|
|
||||||
|
# Bell Command
|
||||||
|
#
|
||||||
|
# This program is executed whenever the bell is rung.
|
||||||
|
#
|
||||||
|
# When set to `command: None`, no command will be executed.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# command:
|
||||||
|
# program: notify-send
|
||||||
|
# args: ["Hello, World!"]
|
||||||
|
#
|
||||||
|
#command: None
|
||||||
|
|
||||||
|
#selection:
|
||||||
|
# This string contains all characters that are used as separators for
|
||||||
|
# "semantic words" in Alacritty.
|
||||||
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
|
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||||
|
#save_to_clipboard: false
|
||||||
|
|
||||||
|
#cursor:
|
||||||
|
# Cursor style
|
||||||
|
#style:
|
||||||
|
# Cursor shape
|
||||||
|
#
|
||||||
|
# Values for `shape`:
|
||||||
|
# - ▇ Block
|
||||||
|
# - _ Underline
|
||||||
|
# - | Beam
|
||||||
|
#shape: Block
|
||||||
|
|
||||||
|
# Cursor blinking state
|
||||||
|
#
|
||||||
|
# Values for `blinking`:
|
||||||
|
# - Never: Prevent the cursor from ever blinking
|
||||||
|
# - Off: Disable blinking by default
|
||||||
|
# - On: Enable blinking by default
|
||||||
|
# - Always: Force the cursor to always blink
|
||||||
|
#blinking: Off
|
||||||
|
|
||||||
|
# Vi mode cursor style
|
||||||
|
#
|
||||||
|
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||||
|
# the style of the active value of the normal cursor.
|
||||||
|
#
|
||||||
|
# See `cursor.style` for available options.
|
||||||
|
#vi_mode_style: None
|
||||||
|
|
||||||
|
# Cursor blinking interval in milliseconds.
|
||||||
|
#blink_interval: 750
|
||||||
|
|
||||||
|
# Time after which cursor stops blinking, in seconds.
|
||||||
|
#
|
||||||
|
# Specifying '0' will disable timeout for blinking.
|
||||||
|
#blink_timeout: 5
|
||||||
|
|
||||||
|
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||||
|
# window is not focused.
|
||||||
|
#unfocused_hollow: true
|
||||||
|
|
||||||
|
# Thickness of the cursor relative to the cell width as floating point number
|
||||||
|
# from `0.0` to `1.0`.
|
||||||
|
#thickness: 0.15
|
||||||
|
|
||||||
|
# Live config reload (changes require restart)
|
||||||
|
#live_config_reload: true
|
||||||
|
|
||||||
|
# Shell
|
||||||
|
#
|
||||||
|
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||||
|
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||||
|
# shell.
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
||||||
|
# - (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
|
||||||
|
|
||||||
|
# Send ESC (\x1b) before characters when alt is pressed.
|
||||||
|
#alt_send_esc: true
|
||||||
|
|
||||||
|
# Offer IPC using `alacritty msg` (unix only)
|
||||||
|
#ipc_socket: true
|
||||||
|
|
||||||
|
#mouse:
|
||||||
|
# Click settings
|
||||||
|
#
|
||||||
|
# The `double_click` and `triple_click` settings control the time
|
||||||
|
# alacritty should wait for accepting multiple clicks as one double
|
||||||
|
# or triple click.
|
||||||
|
#double_click: { threshold: 300 }
|
||||||
|
#triple_click: { threshold: 300 }
|
||||||
|
|
||||||
|
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||||
|
#hide_when_typing: false
|
||||||
|
|
||||||
|
# Hints
|
||||||
|
#
|
||||||
|
# Terminal hints can be used to find text or hyperlink in the visible part of
|
||||||
|
# the terminal and pipe it to other applications.
|
||||||
|
#hints:
|
||||||
|
# Keys used for the hint labels.
|
||||||
|
#alphabet: "jfkdls;ahgurieowpq"
|
||||||
|
|
||||||
|
# List with all available hints
|
||||||
|
#
|
||||||
|
# Each hint must have any of `regex` or `hyperlinks` field and either an
|
||||||
|
# `action` or a `command` field. The fields `mouse`, `binding` and
|
||||||
|
# `post_processing` are optional.
|
||||||
|
#
|
||||||
|
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
||||||
|
# highlighted.
|
||||||
|
#
|
||||||
|
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||||
|
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||||
|
#
|
||||||
|
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||||
|
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||||
|
#
|
||||||
|
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||||
|
# shorten the match if there are characters likely not to be part of the hint
|
||||||
|
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
|
||||||
|
# `regex` matches.
|
||||||
|
#
|
||||||
|
# Values for `action`:
|
||||||
|
# - Copy
|
||||||
|
# Copy the hint's text to the clipboard.
|
||||||
|
# - Paste
|
||||||
|
# Paste the hint's text to the terminal or search.
|
||||||
|
# - Select
|
||||||
|
# Select the hint's text.
|
||||||
|
# - MoveViModeCursor
|
||||||
|
# Move the vi mode cursor to the beginning of the hint.
|
||||||
|
#enabled:
|
||||||
|
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||||
|
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
# hyperlinks: true
|
||||||
|
# command: xdg-open
|
||||||
|
# post_processing: true
|
||||||
|
# mouse:
|
||||||
|
# enabled: true
|
||||||
|
# mods: None
|
||||||
|
# binding:
|
||||||
|
# key: U
|
||||||
|
# mods: Control|Shift
|
||||||
|
|
||||||
|
# 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 for actions not exclusive to mouse mode)
|
||||||
|
#
|
||||||
|
# - Mouse exclusive actions:
|
||||||
|
#
|
||||||
|
# - ExpandSelection
|
||||||
|
# Expand the selection to the current mouse cursor location.
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods` (see key bindings)
|
||||||
|
#mouse_bindings:
|
||||||
|
# - { mouse: Right, action: ExpandSelection }
|
||||||
|
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
||||||
|
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
#
|
||||||
|
# Key bindings are specified as a list of objects. For example, this is the
|
||||||
|
# default paste binding:
|
||||||
|
#
|
||||||
|
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||||
|
#
|
||||||
|
# Each key binding will specify a:
|
||||||
|
#
|
||||||
|
# - `key`: Identifier of the key pressed
|
||||||
|
#
|
||||||
|
# - A-Z
|
||||||
|
# - F1-F24
|
||||||
|
# - Key0-Key9
|
||||||
|
#
|
||||||
|
# A full list with available key codes can be found here:
|
||||||
|
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||||
|
#
|
||||||
|
# Instead of using the name of the keys, the `key` field also supports using
|
||||||
|
# the scancode of the desired key. Scancodes have to be specified as a
|
||||||
|
# decimal number. This command will allow you to display the hex scancodes
|
||||||
|
# for certain keys:
|
||||||
|
#
|
||||||
|
# `showkey --scancodes`.
|
||||||
|
#
|
||||||
|
# Then exactly one of:
|
||||||
|
#
|
||||||
|
# - `chars`: Send a byte sequence to the running application
|
||||||
|
#
|
||||||
|
# The `chars` field writes the specified string to the terminal. This makes
|
||||||
|
# it possible to pass escape sequences. To find escape codes for bindings
|
||||||
|
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||||
|
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||||
|
# to keys. It is therefore required to update the terminfo when changing an
|
||||||
|
# escape sequence.
|
||||||
|
#
|
||||||
|
# - `action`: Execute a predefined action
|
||||||
|
#
|
||||||
|
# - ToggleViMode
|
||||||
|
# - SearchForward
|
||||||
|
# Start searching toward the right of the search origin.
|
||||||
|
# - SearchBackward
|
||||||
|
# Start searching toward the left of the search origin.
|
||||||
|
# - Copy
|
||||||
|
# - Paste
|
||||||
|
# - IncreaseFontSize
|
||||||
|
# - DecreaseFontSize
|
||||||
|
# - ResetFontSize
|
||||||
|
# - ScrollPageUp
|
||||||
|
# - ScrollPageDown
|
||||||
|
# - ScrollHalfPageUp
|
||||||
|
# - ScrollHalfPageDown
|
||||||
|
# - ScrollLineUp
|
||||||
|
# - ScrollLineDown
|
||||||
|
# - ScrollToTop
|
||||||
|
# - ScrollToBottom
|
||||||
|
# - ClearHistory
|
||||||
|
# Remove the terminal's scrollback history.
|
||||||
|
# - Hide
|
||||||
|
# Hide the Alacritty window.
|
||||||
|
# - Minimize
|
||||||
|
# Minimize the Alacritty window.
|
||||||
|
# - Quit
|
||||||
|
# Quit Alacritty.
|
||||||
|
# - ToggleFullscreen
|
||||||
|
# - SpawnNewInstance
|
||||||
|
# Spawn a new instance of Alacritty.
|
||||||
|
# - CreateNewWindow
|
||||||
|
# Create a new Alacritty window from the current process.
|
||||||
|
# - ClearLogNotice
|
||||||
|
# Clear Alacritty's UI warning and error notice.
|
||||||
|
# - ClearSelection
|
||||||
|
# Remove the active selection.
|
||||||
|
# - ReceiveChar
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive actions:
|
||||||
|
#
|
||||||
|
# - Open
|
||||||
|
# Perform the action of the first matching hint under the vi mode cursor
|
||||||
|
# with `mouse.enabled` set to `true`.
|
||||||
|
# - ToggleNormalSelection
|
||||||
|
# - ToggleLineSelection
|
||||||
|
# - ToggleBlockSelection
|
||||||
|
# - ToggleSemanticSelection
|
||||||
|
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||||
|
# - CenterAroundViCursor
|
||||||
|
# Center view around vi mode cursor
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive cursor motion actions:
|
||||||
|
#
|
||||||
|
# - Up
|
||||||
|
# One line up.
|
||||||
|
# - Down
|
||||||
|
# One line down.
|
||||||
|
# - Left
|
||||||
|
# One character left.
|
||||||
|
# - Right
|
||||||
|
# One character right.
|
||||||
|
# - First
|
||||||
|
# First column, or beginning of the line when already at the first column.
|
||||||
|
# - Last
|
||||||
|
# Last column, or beginning of the line when already at the last column.
|
||||||
|
# - FirstOccupied
|
||||||
|
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||||
|
# the line when already at the first cell of the row.
|
||||||
|
# - High
|
||||||
|
# Top of the screen.
|
||||||
|
# - Middle
|
||||||
|
# Center of the screen.
|
||||||
|
# - Low
|
||||||
|
# Bottom of the screen.
|
||||||
|
# - SemanticLeft
|
||||||
|
# Start of the previous semantically separated word.
|
||||||
|
# - SemanticRight
|
||||||
|
# Start of the next semantically separated word.
|
||||||
|
# - SemanticLeftEnd
|
||||||
|
# End of the previous semantically separated word.
|
||||||
|
# - SemanticRightEnd
|
||||||
|
# End of the next semantically separated word.
|
||||||
|
# - WordLeft
|
||||||
|
# Start of the previous whitespace separated word.
|
||||||
|
# - WordRight
|
||||||
|
# Start of the next whitespace separated word.
|
||||||
|
# - WordLeftEnd
|
||||||
|
# End of the previous whitespace separated word.
|
||||||
|
# - WordRightEnd
|
||||||
|
# End of the next whitespace separated word.
|
||||||
|
# - Bracket
|
||||||
|
# Character matching the bracket at the cursor's location.
|
||||||
|
# - SearchNext
|
||||||
|
# Beginning of the next match.
|
||||||
|
# - SearchPrevious
|
||||||
|
# Beginning of the previous match.
|
||||||
|
# - SearchStart
|
||||||
|
# Start of the match to the left of the vi mode cursor.
|
||||||
|
# - SearchEnd
|
||||||
|
# End of the match to the right of the vi mode cursor.
|
||||||
|
#
|
||||||
|
# - Search mode exclusive actions:
|
||||||
|
# - SearchFocusNext
|
||||||
|
# Move the focus to the next search match.
|
||||||
|
# - SearchFocusPrevious
|
||||||
|
# Move the focus to the previous search match.
|
||||||
|
# - SearchConfirm
|
||||||
|
# - SearchCancel
|
||||||
|
# - SearchClear
|
||||||
|
# Reset the search regex.
|
||||||
|
# - SearchDeleteWord
|
||||||
|
# Delete the last word in the search regex.
|
||||||
|
# - SearchHistoryPrevious
|
||||||
|
# Go to the previous regex in the search history.
|
||||||
|
# - SearchHistoryNext
|
||||||
|
# Go to the next regex in the search history.
|
||||||
|
#
|
||||||
|
# - macOS exclusive actions:
|
||||||
|
# - ToggleSimpleFullscreen
|
||||||
|
# Enter fullscreen without occupying another space.
|
||||||
|
#
|
||||||
|
# - Linux/BSD exclusive actions:
|
||||||
|
#
|
||||||
|
# - CopySelection
|
||||||
|
# Copy from the selection buffer.
|
||||||
|
# - PasteSelection
|
||||||
|
# Paste from the selection buffer.
|
||||||
|
#
|
||||||
|
# - `command`: Fork and execute a specified command plus arguments
|
||||||
|
#
|
||||||
|
# The `command` field must be a map containing a `program` string and an
|
||||||
|
# `args` array of command line parameter strings. For example:
|
||||||
|
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods`: Key modifiers to filter binding actions
|
||||||
|
#
|
||||||
|
# - Command
|
||||||
|
# - Control
|
||||||
|
# - Option
|
||||||
|
# - Super
|
||||||
|
# - Shift
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# Multiple `mods` can be combined using `|` like this:
|
||||||
|
# `mods: Control|Shift`.
|
||||||
|
# Whitespace and capitalization are relevant and must match the example.
|
||||||
|
#
|
||||||
|
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||||
|
#
|
||||||
|
# This is mainly used to send applications the correct escape sequences
|
||||||
|
# when in different modes.
|
||||||
|
#
|
||||||
|
# - AppCursor
|
||||||
|
# - AppKeypad
|
||||||
|
# - Search
|
||||||
|
# - Alt
|
||||||
|
# - Vi
|
||||||
|
#
|
||||||
|
# A `~` operator can be used before a mode to apply the binding whenever
|
||||||
|
# the mode is *not* active, e.g. `~Alt`.
|
||||||
|
#
|
||||||
|
# Bindings are always filled by default, but will be replaced when a new
|
||||||
|
# binding with the same triggers is defined. To unset a default binding, it can
|
||||||
|
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||||
|
# a no-op if you do not wish to receive input characters for that binding.
|
||||||
|
#
|
||||||
|
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||||
|
# in the order they were defined in.
|
||||||
|
#key_bindings:
|
||||||
|
#- { key: Paste, action: Paste }
|
||||||
|
#- { key: Copy, action: Copy }
|
||||||
|
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
||||||
|
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||||
|
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
||||||
|
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||||
|
|
||||||
|
# Vi Mode
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||||
|
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||||
|
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||||
|
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||||
|
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||||
|
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||||
|
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||||
|
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||||
|
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||||
|
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||||
|
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||||
|
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
||||||
|
#- { key: K, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: J, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: H, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: L, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||||
|
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||||
|
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||||
|
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||||
|
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||||
|
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||||
|
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||||
|
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||||
|
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||||
|
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||||
|
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||||
|
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||||
|
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||||
|
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||||
|
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||||
|
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||||
|
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||||
|
|
||||||
|
# Search Mode
|
||||||
|
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||||
|
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||||
|
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||||
|
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||||
|
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||||
|
|
||||||
|
# (Windows, Linux, and BSD only)
|
||||||
|
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||||
|
#- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||||
|
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||||
|
|
||||||
|
# (Windows only)
|
||||||
|
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||||
|
|
||||||
|
# (macOS only)
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||||
|
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: V, mods: Command, action: Paste }
|
||||||
|
#- { key: C, mods: Command, action: Copy }
|
||||||
|
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: H, mods: Command, action: Hide }
|
||||||
|
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||||
|
#- { key: M, mods: Command, action: Minimize }
|
||||||
|
#- { key: Q, mods: Command, action: Quit }
|
||||||
|
#- { key: W, mods: Command, action: Quit }
|
||||||
|
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||||
|
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||||
|
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||||
|
|
||||||
|
#debug:
|
||||||
|
# Display the time it takes to redraw each frame.
|
||||||
|
#render_timer: false
|
||||||
|
|
||||||
|
# Keep the log file after quitting Alacritty.
|
||||||
|
#persistent_logging: false
|
||||||
|
|
||||||
|
# Log level
|
||||||
|
#
|
||||||
|
# Values for `log_level`:
|
||||||
|
# - Off
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
#log_level: Warn
|
||||||
|
|
||||||
|
# Print all received window events.
|
||||||
|
#print_events: false
|
||||||
|
|
||||||
|
# Highlight window damage information.
|
||||||
|
#highlight_damage: false
|
||||||
|
|
||||||
48
.config/alacritty/output.toml
Executable file
48
.config/alacritty/output.toml
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
[window]
|
||||||
|
opacity = 0.6
|
||||||
|
|
||||||
|
[window.padding]
|
||||||
|
x = 10
|
||||||
|
y = 10
|
||||||
|
|
||||||
|
[scrolling]
|
||||||
|
history = 100
|
||||||
|
|
||||||
|
[font]
|
||||||
|
size = 11
|
||||||
|
|
||||||
|
[font.normal]
|
||||||
|
family = "Iosevka Nerd Font Mono"
|
||||||
|
style = "Bold"
|
||||||
|
|
||||||
|
[font.bold]
|
||||||
|
family = "Iosevka Nerd Font Mono"
|
||||||
|
style = "Bold"
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "#2e3440"
|
||||||
|
foreground = "#d8dee9"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#3b4252"
|
||||||
|
red = "#e37488"
|
||||||
|
green = "#a3be8c"
|
||||||
|
yellow = "#ebcb8b"
|
||||||
|
blue = "#729ac2"
|
||||||
|
magenta = "#b48ead"
|
||||||
|
cyan = "#9ed0de"
|
||||||
|
white = "#e5e9f0"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "#4c566a"
|
||||||
|
red = "#bf616a"
|
||||||
|
green = "#a3be8c"
|
||||||
|
yellow = "#ebcb8b"
|
||||||
|
blue = "#81a1c1"
|
||||||
|
magenta = "#b48ead"
|
||||||
|
cyan = "#8fbcbb"
|
||||||
|
white = "#eceff4"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = "CellBackground"
|
||||||
|
cursor = "CellForeground"
|
||||||
39
.config/bspwm/bspwmrc
Executable file
39
.config/bspwm/bspwmrc
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
#AUTOSTART
|
||||||
|
|
||||||
|
numlockx &
|
||||||
|
dunst --config ~/.config/dunst/dunstrc &
|
||||||
|
picom --config ~/.config/bspwm/themes/mytheme/picom/picom.conf &
|
||||||
|
xsetroot -cursor_name left_ptr &
|
||||||
|
feh --bg-scale ~/wallpapers/0008.png
|
||||||
|
~/.config/bspwm/themes/mytheme/scripts/launch_polybar.sh &
|
||||||
|
|
||||||
|
|
||||||
|
#WORKSPACE
|
||||||
|
bspc rule -a TelegramDesktop state=floating rectangle=450x700+100+100 desktop='^3'
|
||||||
|
bspc rule -a mpv state=floating rectangle=800x450+560+315 follow=off
|
||||||
|
bspc rule -a dmenu rectangle=900x22+610+90
|
||||||
|
bspc rule -a Viewnior rectangle=1350x900+285+90 state=floating
|
||||||
|
bspc rule -a PortProton state=floating desktop='^5'
|
||||||
|
bspc rule -a Steam state=floating desktop='^5'
|
||||||
|
|
||||||
|
#
|
||||||
|
bspc monitor -d
|
||||||
|
|
||||||
|
bspc config border_width 2
|
||||||
|
bspc config window_gap 5
|
||||||
|
|
||||||
|
bspc config normal_border_color "#2e3440"
|
||||||
|
bspc config active_border_color "#2e3440"
|
||||||
|
bspc config focused_border_color "#6b6b6b"
|
||||||
|
bspc config presel_feedback_color "#2e3440"
|
||||||
|
|
||||||
|
bspc config split_ratio 0.5
|
||||||
|
|
||||||
|
bspc config focus_follows_pointer true
|
||||||
|
bspc config pointer_modifier super
|
||||||
|
|
||||||
|
bspc config single_monocle true
|
||||||
|
bspc config borderless_monocle true
|
||||||
|
bspc config gapless_monocle false
|
||||||
|
bspc config paddingless_monocle true
|
||||||
439
.config/dunst/dunstrc
Executable file
439
.config/dunst/dunstrc
Executable file
@ -0,0 +1,439 @@
|
|||||||
|
# See dunst(5) for all configuration options
|
||||||
|
|
||||||
|
[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 = none
|
||||||
|
|
||||||
|
### Geometry ###
|
||||||
|
|
||||||
|
# dynamic width from 0 to 300
|
||||||
|
# width = (0, 300)
|
||||||
|
# constant width of 300
|
||||||
|
width = (0, 300)
|
||||||
|
|
||||||
|
# The maximum height of a single notification, excluding the frame.
|
||||||
|
height = 200
|
||||||
|
|
||||||
|
# Position the notification in the top right corner
|
||||||
|
origin = top-right
|
||||||
|
|
||||||
|
# Offset from the origin
|
||||||
|
offset = 20x50
|
||||||
|
|
||||||
|
# Scale factor. It is auto-detected if value is 0.
|
||||||
|
scale = 0
|
||||||
|
|
||||||
|
# Maximum number of notification (0 means no limit)
|
||||||
|
notification_limit = 0
|
||||||
|
|
||||||
|
### Progress bar ###
|
||||||
|
|
||||||
|
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||||
|
# for example dunstify -h int:value:12
|
||||||
|
progress_bar = true
|
||||||
|
|
||||||
|
# Set the progress bar height. This includes the frame, so make sure
|
||||||
|
# it's at least twice as big as the frame width.
|
||||||
|
progress_bar_height = 10
|
||||||
|
|
||||||
|
# Set the frame width of the progress bar
|
||||||
|
progress_bar_frame_width = 1
|
||||||
|
|
||||||
|
# Set the minimum width for the progress bar
|
||||||
|
progress_bar_min_width = 150
|
||||||
|
|
||||||
|
# Set the maximum width for the progress bar
|
||||||
|
progress_bar_max_width = 300
|
||||||
|
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of
|
||||||
|
# notification_limit).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# 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.). (X11 only)
|
||||||
|
transparency = 20
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 2
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Padding between text and icon.
|
||||||
|
text_icon_padding = 0
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 1
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#3d3d3d"
|
||||||
|
|
||||||
|
# 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 = iosevka nerd font mono 9
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <https://docs.gtk.org/Pango/pango_markup.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 of message text and icon.
|
||||||
|
# Possible values are "top", "center" and "bottom".
|
||||||
|
vertical_alignment = center
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# 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 = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Align icons left/right/top/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||||
|
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||||
|
# max_icon_size takes precedence over this.
|
||||||
|
min_icon_size = 0
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 32
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = /usr/share/icons/Nordzy/status/16/:/usr/share/icons/Nordzy/devices/16/
|
||||||
|
|
||||||
|
### 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 ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/xdg-open
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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 = 4
|
||||||
|
|
||||||
|
# Ignore the dbus closeNotification message.
|
||||||
|
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||||
|
# parameter, an application may close the notification sent before the
|
||||||
|
# user defined timeout.
|
||||||
|
ignore_dbusclose = false
|
||||||
|
|
||||||
|
### Wayland ###
|
||||||
|
# These settings are Wayland-specific. They have no effect when using X11
|
||||||
|
|
||||||
|
# Uncomment this if you want to let notications appear under fullscreen
|
||||||
|
# applications (default: overlay)
|
||||||
|
# layer = top
|
||||||
|
|
||||||
|
# Set this to true to use X11 output on Wayland.
|
||||||
|
force_xwayland = false
|
||||||
|
|
||||||
|
### 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 list of actions for each mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||||
|
# such action, open the context menu.
|
||||||
|
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||||
|
# ones, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
# * context: Open context menu for the notification.
|
||||||
|
# * context_all: Open context menu for all notifications.
|
||||||
|
# These values can be strung together for each mouse event, and
|
||||||
|
# will be executed in sequence.
|
||||||
|
mouse_left_click = close_current
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#888888"
|
||||||
|
timeout = 5
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#465465"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 5
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#900000"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
frame_color = "#ff0000"
|
||||||
|
timeout = 0
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#default_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
|
||||||
|
# set_category
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
# icon_position
|
||||||
|
# skip_display
|
||||||
|
# history_ignore
|
||||||
|
# action_name
|
||||||
|
# word_wrap
|
||||||
|
# ellipsize
|
||||||
|
# alignment
|
||||||
|
# hide_text
|
||||||
|
#
|
||||||
|
# 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: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = true
|
||||||
|
|
||||||
|
[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
appname = chngevolume
|
||||||
|
history_ignore = yes
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[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
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
||||||
28
.config/dunst/volume
Normal file
28
.config/dunst/volume
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function send_notification() {
|
||||||
|
volume=$(pamixier --get-volume)
|
||||||
|
dunstify -a "changevolume" -u low -r 9980 -h int:value:"$volume" -i "volume-$1" "Volume: ${volume}%" -t 2000
|
||||||
|
}
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
up)
|
||||||
|
#Set the volume on (if it was muted)
|
||||||
|
pamixer -u
|
||||||
|
pamixer -i 5 --allow-boost
|
||||||
|
send_notification $1
|
||||||
|
;;
|
||||||
|
down)
|
||||||
|
pamixer -u
|
||||||
|
pamixer -d 5 --allow-boost
|
||||||
|
send_notification $1
|
||||||
|
;;
|
||||||
|
mute)
|
||||||
|
pamixer -t
|
||||||
|
if $(pamixer --get-mute); then
|
||||||
|
dunstify -i volume-mute -a "changevolume" -t 2000 -r 9980 -u low "Muted"
|
||||||
|
else
|
||||||
|
send_notification up
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
151
.config/mc/ini
Normal file
151
.config/mc/ini
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
[Midnight-Commander]
|
||||||
|
verbose=true
|
||||||
|
shell_patterns=true
|
||||||
|
auto_save_setup=true
|
||||||
|
preallocate_space=false
|
||||||
|
auto_menu=false
|
||||||
|
use_internal_view=true
|
||||||
|
use_internal_edit=true
|
||||||
|
clear_before_exec=true
|
||||||
|
confirm_delete=true
|
||||||
|
confirm_overwrite=true
|
||||||
|
confirm_execute=false
|
||||||
|
confirm_history_cleanup=true
|
||||||
|
confirm_exit=false
|
||||||
|
confirm_directory_hotlist_delete=false
|
||||||
|
confirm_view_dir=false
|
||||||
|
safe_delete=false
|
||||||
|
safe_overwrite=false
|
||||||
|
use_8th_bit_as_meta=false
|
||||||
|
mouse_move_pages_viewer=true
|
||||||
|
mouse_close_dialog=false
|
||||||
|
fast_refresh=false
|
||||||
|
drop_menus=false
|
||||||
|
wrap_mode=true
|
||||||
|
old_esc_mode=true
|
||||||
|
cd_symlinks=true
|
||||||
|
show_all_if_ambiguous=false
|
||||||
|
use_file_to_guess_type=true
|
||||||
|
alternate_plus_minus=false
|
||||||
|
only_leading_plus_minus=true
|
||||||
|
show_output_starts_shell=false
|
||||||
|
xtree_mode=false
|
||||||
|
file_op_compute_totals=true
|
||||||
|
classic_progressbar=true
|
||||||
|
use_netrc=true
|
||||||
|
ftpfs_always_use_proxy=false
|
||||||
|
ftpfs_use_passive_connections=true
|
||||||
|
ftpfs_use_passive_connections_over_proxy=false
|
||||||
|
ftpfs_use_unix_list_options=true
|
||||||
|
ftpfs_first_cd_then_ls=true
|
||||||
|
ignore_ftp_chattr_errors=true
|
||||||
|
editor_fill_tabs_with_spaces=false
|
||||||
|
editor_return_does_auto_indent=true
|
||||||
|
editor_backspace_through_tabs=false
|
||||||
|
editor_fake_half_tabs=true
|
||||||
|
editor_option_save_position=true
|
||||||
|
editor_option_auto_para_formatting=false
|
||||||
|
editor_option_typewriter_wrap=false
|
||||||
|
editor_edit_confirm_save=true
|
||||||
|
editor_syntax_highlighting=true
|
||||||
|
editor_persistent_selections=true
|
||||||
|
editor_drop_selection_on_copy=true
|
||||||
|
editor_cursor_beyond_eol=false
|
||||||
|
editor_cursor_after_inserted_block=false
|
||||||
|
editor_visible_tabs=true
|
||||||
|
editor_visible_spaces=true
|
||||||
|
editor_line_state=false
|
||||||
|
editor_simple_statusbar=false
|
||||||
|
editor_check_new_line=false
|
||||||
|
editor_show_right_margin=false
|
||||||
|
editor_group_undo=false
|
||||||
|
editor_state_full_filename=false
|
||||||
|
editor_ask_filename_before_edit=false
|
||||||
|
nice_rotating_dash=true
|
||||||
|
shadows=true
|
||||||
|
mcview_remember_file_position=false
|
||||||
|
auto_fill_mkdir_name=true
|
||||||
|
copymove_persistent_attr=true
|
||||||
|
pause_after_run=1
|
||||||
|
mouse_repeat_rate=100
|
||||||
|
double_click_speed=250
|
||||||
|
old_esc_mode_timeout=1000000
|
||||||
|
max_dirt_limit=10
|
||||||
|
num_history_items_recorded=60
|
||||||
|
vfs_timeout=60
|
||||||
|
ftpfs_directory_timeout=900
|
||||||
|
ftpfs_retry_seconds=30
|
||||||
|
fish_directory_timeout=900
|
||||||
|
editor_tab_spacing=8
|
||||||
|
editor_word_wrap_line_length=72
|
||||||
|
editor_option_save_mode=0
|
||||||
|
editor_backup_extension=~
|
||||||
|
editor_filesize_threshold=64M
|
||||||
|
editor_stop_format_chars=-+*\\,.;:&>
|
||||||
|
mcview_eof=
|
||||||
|
skin=julia256
|
||||||
|
filepos_max_saved_entries=1024
|
||||||
|
|
||||||
|
[Layout]
|
||||||
|
output_lines=0
|
||||||
|
left_panel_size=118
|
||||||
|
top_panel_size=0
|
||||||
|
message_visible=true
|
||||||
|
keybar_visible=true
|
||||||
|
xterm_title=true
|
||||||
|
command_prompt=true
|
||||||
|
menubar_visible=true
|
||||||
|
free_space=true
|
||||||
|
horizontal_split=false
|
||||||
|
vertical_equal=true
|
||||||
|
horizontal_equal=true
|
||||||
|
|
||||||
|
[Misc]
|
||||||
|
timeformat_recent=%b %e %H:%M
|
||||||
|
timeformat_old=%b %e %Y
|
||||||
|
ftp_proxy_host=gate
|
||||||
|
ftpfs_password=anonymous@
|
||||||
|
display_codepage=UTF-8
|
||||||
|
source_codepage=Other_8_bit
|
||||||
|
autodetect_codeset=
|
||||||
|
clipboard_store=
|
||||||
|
clipboard_paste=
|
||||||
|
|
||||||
|
[Colors]
|
||||||
|
base_color=
|
||||||
|
linux=
|
||||||
|
color_terminals=
|
||||||
|
xterm-256color=
|
||||||
|
alacritty=
|
||||||
|
|
||||||
|
base_color=normal=brightgray,default:marked=yellow,default:directory=grey,defaul
|
||||||
|
t:marked=yellow,default:errors=red,default:marked=yellow,default:executable=brig
|
||||||
|
htgreen,default:marked=yellow,default:link=brightblue,default:marked=yellow,defa
|
||||||
|
ult:device=brightmagenta,default:marked=yellow,default
|
||||||
|
|
||||||
|
[Panels]
|
||||||
|
show_mini_info=true
|
||||||
|
kilobyte_si=false
|
||||||
|
mix_all_files=false
|
||||||
|
show_backups=true
|
||||||
|
show_dot_files=true
|
||||||
|
fast_reload=false
|
||||||
|
fast_reload_msg_shown=false
|
||||||
|
mark_moves_down=true
|
||||||
|
reverse_files_only=true
|
||||||
|
auto_save_setup_panels=false
|
||||||
|
navigate_with_arrows=true
|
||||||
|
panel_scroll_pages=true
|
||||||
|
panel_scroll_center=false
|
||||||
|
mouse_move_pages=true
|
||||||
|
filetype_mode=true
|
||||||
|
permission_mode=false
|
||||||
|
torben_fj_mode=false
|
||||||
|
quick_search_mode=2
|
||||||
|
select_flags=6
|
||||||
|
|
||||||
|
[Panelize]
|
||||||
|
Найти оригиналы (*.orig) после команды patch=find . -name \\*.orig -print
|
||||||
|
Найти корректуры, отвергнутые командой patch=find . -name \\*.rej -print
|
||||||
|
Изменённые файлы под контролем git=git ls-files --modified
|
||||||
|
Найти программы с установленными битами SUID/SGID=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
|
||||||
0
.config/mc/panels.ini
Normal file
0
.config/mc/panels.ini
Normal file
60
.config/picom/picom.conf
Executable file
60
.config/picom/picom.conf
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
corner-radius = 8;
|
||||||
|
round-borders = 8;
|
||||||
|
|
||||||
|
shadow = true;
|
||||||
|
shadow-radius = 15;
|
||||||
|
shadow-offset-x = -8;
|
||||||
|
shadow-offset-y = -8;
|
||||||
|
shadow-opacity = 0.2;
|
||||||
|
shadow-exclude = [
|
||||||
|
"_GTK_FRAME_EXTENTS@:c",
|
||||||
|
"class_g = 'Polybar'"
|
||||||
|
];
|
||||||
|
|
||||||
|
fading = true;
|
||||||
|
fade-in-step = 0.04;
|
||||||
|
fade-out-step = 0.04;
|
||||||
|
fade-delta = 8;
|
||||||
|
|
||||||
|
inactive-dim=0
|
||||||
|
focus-exclude = [
|
||||||
|
"class_g = 'Rofi'"
|
||||||
|
];
|
||||||
|
|
||||||
|
frame-opacity = 1;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 0.9;
|
||||||
|
dropdown_menu = { opacity = 1; }
|
||||||
|
popup_menu = { opacity = 1; }
|
||||||
|
|
||||||
|
|
||||||
|
opacity-rule = [
|
||||||
|
"100:_NET_WM_STATE@:32a = '_NET_WM_STATE_FULLSCREEN'",
|
||||||
|
"85:class_g = 'Polybar'",
|
||||||
|
"85:class_g = 'Rofi'",
|
||||||
|
"80:class_g = 'slop'",
|
||||||
|
"100:class_g = 'TelegramDesktop'",
|
||||||
|
"100:class_g = 'Firefox'"
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
blur: {
|
||||||
|
method = "dual_kawase";
|
||||||
|
strength = 7;
|
||||||
|
}
|
||||||
|
blur-background-exclude = [
|
||||||
|
"_GTK_FRAME_EXTENTS@:c",
|
||||||
|
"class_g = 'Maim'",
|
||||||
|
"class_g = 'conky'"
|
||||||
|
];
|
||||||
|
|
||||||
|
backend = "glx";
|
||||||
|
vsync = true;
|
||||||
|
use-damage = false;
|
||||||
|
unredir-if-possible = true;
|
||||||
|
|
||||||
|
wintypes: {
|
||||||
|
dropdown_menu = { opacity = 0.9; }
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true; }
|
||||||
|
popup_menu = { opacity = 0.9; }
|
||||||
|
}
|
||||||
19
.config/polybar/colors.ini
Executable file
19
.config/polybar/colors.ini
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
# ---- ЦВЕТА -----------------------------------------------------------------
|
||||||
|
[color]
|
||||||
|
|
||||||
|
# ---- NORD ------------------------------------------------------------------
|
||||||
|
bg = #2e3440
|
||||||
|
fg = #eceff4
|
||||||
|
black = #3b4252
|
||||||
|
red = #bf616a
|
||||||
|
green = #a3be8c
|
||||||
|
grey = #6b6b6b
|
||||||
|
yellow = #ebcb8b
|
||||||
|
blue = #81a1c1
|
||||||
|
magenta = #b48ead
|
||||||
|
cyan = #88c0d0
|
||||||
|
orange = #d08770
|
||||||
|
white = #e5e9f0
|
||||||
|
alpha = #00000000
|
||||||
|
br = #303354
|
||||||
|
tos = #aaade5
|
||||||
36
.config/polybar/config.ini
Executable file
36
.config/polybar/config.ini
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
# ---- ПОДКЛЮЧЕНИЕ ОТДЕЛЬНОГО ФАЙЛА С ЦВЕТАМИ И МОДУЛЯМИ --------------------
|
||||||
|
include-file = $HOME/.config/bspwm/themes/mytheme/polybar/colors.ini
|
||||||
|
include-file = $HOME/.config/bspwm/themes/mytheme/polybar/modules.ini
|
||||||
|
|
||||||
|
# ---- POLYBAR С РАСПОЛОЖЕНИЕМ СВЕРХУ ----
|
||||||
|
|
||||||
|
[bar/top]
|
||||||
|
width = 99.5%
|
||||||
|
height = 32
|
||||||
|
padding-left = 1
|
||||||
|
padding-right = 2
|
||||||
|
background = ${color.br}
|
||||||
|
foreground = ${color.fg}
|
||||||
|
radius = 4
|
||||||
|
dim-value = 1.0
|
||||||
|
offset-x = 5
|
||||||
|
offset-y = 5
|
||||||
|
|
||||||
|
border-size = 2
|
||||||
|
border-color = #a7abf6
|
||||||
|
|
||||||
|
#separator =
|
||||||
|
|
||||||
|
modules-left = xworkspaces sep xwindow
|
||||||
|
modules-center = date weather
|
||||||
|
modules-right = tray sep alsa xkeyboard memory wg wlan usb powermenu
|
||||||
|
module-margin = 1
|
||||||
|
|
||||||
|
font-0 = JetBrainsMono-Bold:style=Bold:pixelsize=11;3
|
||||||
|
font-1 = Symbols Nerd Font:style=Regular:pixelsize=10;3
|
||||||
|
font-2 = Material Icons:style=Regular:size=11
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
enable-ipc = true
|
||||||
|
wm-restrack = bspwm
|
||||||
224
.config/polybar/modules.ini
Executable file
224
.config/polybar/modules.ini
Executable file
@ -0,0 +1,224 @@
|
|||||||
|
[module/launch]
|
||||||
|
type = custom/script
|
||||||
|
exec = echo ""
|
||||||
|
click-left = rofi -show drun -config .config/bspwm/themes/mytheme/rofi/menu.rasi -show-icons
|
||||||
|
label-foreground = ${colors.blue}
|
||||||
|
label-background = ${colors.gray}
|
||||||
|
label-font = 1
|
||||||
|
|
||||||
|
[module/xworkspaces]
|
||||||
|
type = internal/xworkspaces
|
||||||
|
|
||||||
|
label-active = %name%
|
||||||
|
label-active-foreground = #1ad2d2
|
||||||
|
label-active-background = ${color.br}
|
||||||
|
label-active-padding = 2
|
||||||
|
|
||||||
|
label-occupied = %name%
|
||||||
|
label-occupied-padding = 2
|
||||||
|
label-occupied-foreground = #149292
|
||||||
|
label-occupied-background = ${color.br}
|
||||||
|
|
||||||
|
label-urgent = %name%
|
||||||
|
label-urgent-background = ${color.red}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
label-empty = %name%
|
||||||
|
label-empty-foreground = #a7abf6
|
||||||
|
label-empty-background = ${color.br}
|
||||||
|
label-empty-padding = 2
|
||||||
|
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %title:0:60:...%
|
||||||
|
label-maxlen = 30
|
||||||
|
label-empty = Empty
|
||||||
|
label-foreground = ${color.fg}
|
||||||
|
label-background = ${color.br}
|
||||||
|
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 5
|
||||||
|
date =
|
||||||
|
date-alt = "%Y-%m-%d"
|
||||||
|
time = "%H:%M"
|
||||||
|
format-prefix =""
|
||||||
|
label =%date% %time%
|
||||||
|
|
||||||
|
format-prefix-foreground = ${color.tos}
|
||||||
|
format-prefix-background = ${color.br}
|
||||||
|
label-foreground = ${color.tos}
|
||||||
|
label-background = ${color.br}
|
||||||
|
|
||||||
|
|
||||||
|
[module/weather]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/bspwm/themes/mytheme/scripts/weather.sh
|
||||||
|
interval = 600
|
||||||
|
format-prefix = "| "
|
||||||
|
|
||||||
|
format-prefix-foreground = ${color.fg}
|
||||||
|
format-prefix-background = ${color.br}
|
||||||
|
label-foreground = ${color.fg}
|
||||||
|
label-background = ${color.br}
|
||||||
|
|
||||||
|
|
||||||
|
[module/cmus]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/bspwm/themes/mytheme/scripts/cmus.sh
|
||||||
|
exec-if = pgrep -x cmus
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
click-left = cmus-remote --pause
|
||||||
|
click-right = cmus-remote --play
|
||||||
|
scroll-up = cmus-remote --next
|
||||||
|
scroll-down = cmus-remote --prev
|
||||||
|
|
||||||
|
format-prefix = " "
|
||||||
|
format = <label>
|
||||||
|
label = %output%
|
||||||
|
label-maxlen = 40
|
||||||
|
|
||||||
|
format-prefix-foreground = ${color.yellow}
|
||||||
|
format-prefix-background = ${color.bg}
|
||||||
|
label-foreground = ${color.fg}
|
||||||
|
label-background = ${color.bg}
|
||||||
|
|
||||||
|
[module/alsa]
|
||||||
|
type = internal/alsa
|
||||||
|
format-volume = <ramp-volume> <label-volume>
|
||||||
|
format-volume-padding = 1
|
||||||
|
format-muted =
|
||||||
|
format-muted-padding = 1
|
||||||
|
label-volume = %percentage%%
|
||||||
|
ramp-volume-0 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-1 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-2 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-3 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-4 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-5 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-6 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-7 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-8 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-volume-9 = %{F#a7abf6}%{F-}
|
||||||
|
ramp-headphone-0 =
|
||||||
|
parm-headphone-1 =
|
||||||
|
label-volume-foreground = ${color.tos}
|
||||||
|
format-volume-foreground = #5d9967
|
||||||
|
format-muted-foreground = #d35f5e
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
blacklist-0 = num lock
|
||||||
|
blacklist-1 = caps lock
|
||||||
|
|
||||||
|
label-layout = " %icon%"
|
||||||
|
layout-icon-0 = us;US
|
||||||
|
layout-icon-1 = ru;RU
|
||||||
|
label-layout-foreground = ${color.tos}
|
||||||
|
label-layout-background = ${color.br}
|
||||||
|
|
||||||
|
|
||||||
|
format-prefix = ""
|
||||||
|
format-prefix-foreground = ${color.tos}
|
||||||
|
format-prefix-background = ${color.br}
|
||||||
|
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/script
|
||||||
|
exec = echo ""
|
||||||
|
click-left = ~/.config/bspwm/themes/mytheme/scripts/powermenu.sh
|
||||||
|
label-foreground = #e87287
|
||||||
|
label-background = %{color.br}
|
||||||
|
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
label = %percentage_used:2%%
|
||||||
|
format-prefix =" "
|
||||||
|
format-prefix-foreground = #a29653
|
||||||
|
format-prefix-background = ${color.br}
|
||||||
|
label-foreground = #a29653
|
||||||
|
label-background = ${color.br}
|
||||||
|
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
label = %percentage:2%%
|
||||||
|
format-prefix =""
|
||||||
|
format-prefix-foreground = #d94338
|
||||||
|
format-prefix-background = ${color.br}
|
||||||
|
label-foreground = #dbbfb4
|
||||||
|
label-background = ${color.br}
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
type = internal/network
|
||||||
|
interface = ${system.network_interface_wired}
|
||||||
|
interface-type = wireless
|
||||||
|
interval = 2
|
||||||
|
format-connected = <label-connected>
|
||||||
|
label-connected = "%{A1:sh ~/.config/bspwm/themes/mytheme/scripts/wifimenu:} %netspeed%%{A}"
|
||||||
|
fomat-disconnected = <label-disconnected>
|
||||||
|
label-disconnected = "%{A1:sh ~/.config/bspwm/themes/mytheme/scripts/wifimenu:}%{A}"
|
||||||
|
label-connected-foreground = ${color.tos}
|
||||||
|
label-connected-background = ${color.br}
|
||||||
|
format-connected-foreground = ${color.br}
|
||||||
|
format-connected-background = ${color.tos}
|
||||||
|
|
||||||
|
[module/ethernet]
|
||||||
|
type = internal/network
|
||||||
|
interface = enp0s3
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-connected-prefix = ""
|
||||||
|
format-conncted-padding = 1
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
format-disconnected-prefix = ""
|
||||||
|
format-disconnected-padding = 1
|
||||||
|
label-connected = %netspeed%
|
||||||
|
label-disconnected = "%{A1:networkmanager_dmenu &:}Offline%{A}"
|
||||||
|
|
||||||
|
[module/wg]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/bspwm/themes/mytheme/scripts/wireguard
|
||||||
|
tail = false
|
||||||
|
interval =1
|
||||||
|
click-left = "~/.config/bspwm/themes/mytheme/scripts/wireguard --toggle &"
|
||||||
|
|
||||||
|
[module/cava]
|
||||||
|
type = custom/script
|
||||||
|
tail = true
|
||||||
|
exec = ~/.config/bspwm/themes/bspwm_nord/scripts/cava.sh
|
||||||
|
format = <label>
|
||||||
|
format-background = ${colors.gray}
|
||||||
|
format-font = 2
|
||||||
|
label = %output%
|
||||||
|
format-padding = 1
|
||||||
|
|
||||||
|
[module/usb]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.bin/rofi-usb-mount.sh --check
|
||||||
|
tail = true
|
||||||
|
click-left = ~/.bin/rofi-usb-mount.sh --mount &
|
||||||
|
click-right = ~/.bin/rofi-usb-mount.sh --umount &
|
||||||
|
click-middle = ~/.bin/rofi-usb-mount.sh --umount-all &
|
||||||
|
|
||||||
|
[module/tray]
|
||||||
|
type = internal/tray
|
||||||
|
|
||||||
|
tray-spacing = 3px
|
||||||
|
tray-background = %{color.br}
|
||||||
|
|
||||||
|
[module/void]
|
||||||
|
type = custom/text
|
||||||
|
content = .
|
||||||
|
|
||||||
|
[module/sep]
|
||||||
|
type = custom/text
|
||||||
|
content =
|
||||||
|
content-foreground = ${color.br}
|
||||||
|
content-background = ${color.br}
|
||||||
|
content-padding = 1
|
||||||
13
.config/rofi/colors.rasi
Executable file
13
.config/rofi/colors.rasi
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
*{
|
||||||
|
bg: #2e3440;
|
||||||
|
fg: #d8dee9;
|
||||||
|
black: #3b4252;
|
||||||
|
red: #bf616a;
|
||||||
|
green: #a3be8c;
|
||||||
|
yellow: #ebcb8b;
|
||||||
|
blue: #81a1c1;
|
||||||
|
magenta: #b48ead;
|
||||||
|
cyan: #88c0d0;
|
||||||
|
white: #e5e9f0;
|
||||||
|
gr: #3b4252;
|
||||||
|
}
|
||||||
131
.config/rofi/menu.rasi
Executable file
131
.config/rofi/menu.rasi
Executable file
@ -0,0 +1,131 @@
|
|||||||
|
configuration {
|
||||||
|
display-drun: "";
|
||||||
|
display-clipboard: "";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
modi: "drun";
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "~/.config/bspwm/themes/bspwm_nord/rofi/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "JetbrainsMono 10";
|
||||||
|
|
||||||
|
background-color: @gr;
|
||||||
|
separatorcolor: transparent;
|
||||||
|
|
||||||
|
border: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 700px;
|
||||||
|
height: 350px;
|
||||||
|
border-radius: 0;
|
||||||
|
border: 0;
|
||||||
|
padding: 10;
|
||||||
|
background-color: @bg;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @bg;
|
||||||
|
children: [inputbar,listview];
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
scrollbar: false;
|
||||||
|
padding: 2 0;
|
||||||
|
background-color: @bg;
|
||||||
|
columns: 2;
|
||||||
|
lines: 7;
|
||||||
|
margin: 8 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [prompt, entry];
|
||||||
|
background-color: @gr;
|
||||||
|
border-radius: 10;
|
||||||
|
margin: 10 0 10 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
font: "Symbols Nerd Font 10";
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @bg;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 5 10 0 10;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @bg;
|
||||||
|
placeholder-color: @fg;
|
||||||
|
border-radius: 0;
|
||||||
|
placeholder: "Search...";
|
||||||
|
blink: false;
|
||||||
|
padding: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: rgba(0,0,0,0);
|
||||||
|
padding: 10;
|
||||||
|
border-radius: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
padding: 0 10 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.normal.normal {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.normal.urgent {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.normal.active {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.selected.normal {
|
||||||
|
background-color: @fg;
|
||||||
|
text-color: @bg;
|
||||||
|
}
|
||||||
|
element.selected.urgent {
|
||||||
|
background-color: @fg;
|
||||||
|
text-color: @bg;
|
||||||
|
}
|
||||||
|
element.selected.active {
|
||||||
|
background-color: @fg;
|
||||||
|
text-color: @bg;
|
||||||
|
}
|
||||||
|
element.alternate.normal {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.urgent {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.active {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
132
.config/rofi/powermenu.rasi
Executable file
132
.config/rofi/powermenu.rasi
Executable file
@ -0,0 +1,132 @@
|
|||||||
|
configuration {
|
||||||
|
display-drun: "";
|
||||||
|
display-clipboard: "";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
modi: "drun";
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "~/.config/bspwm/themes/bspwm_nord/rofi/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "JetbrainsMono 10";
|
||||||
|
|
||||||
|
background-color: @gr;
|
||||||
|
separatorcolor: transparent;
|
||||||
|
|
||||||
|
border: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 170px;
|
||||||
|
height: 150px;
|
||||||
|
border-radius: 0;
|
||||||
|
border: 0;
|
||||||
|
padding: 10;
|
||||||
|
background-color: @bg;
|
||||||
|
x-offset: 840px;
|
||||||
|
y-offset: -420px;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @bg;
|
||||||
|
children: [listview];
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
scrollbar: false;
|
||||||
|
padding: 2 0;
|
||||||
|
background-color: @bg;
|
||||||
|
columns: 1;
|
||||||
|
lines: 7;
|
||||||
|
margin: 8 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [prompt, entry];
|
||||||
|
background-color: @gr;
|
||||||
|
border-radius: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: false;
|
||||||
|
font: "Symbols Nerd Font 10";
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @gr2;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg;
|
||||||
|
placeholder-color: @gr2;
|
||||||
|
border-radius: 0;
|
||||||
|
placeholder: "Search...";
|
||||||
|
blink: false;
|
||||||
|
padding: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: rgba(0,0,0,0);
|
||||||
|
padding: 10;
|
||||||
|
border-radius: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
padding: 0 10 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.normal.normal {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.normal.urgent {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.normal.active {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.selected.normal {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.selected.urgent {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.selected.active {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.normal {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.urgent {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.active {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
132
.config/rofi/wifimenu.rasi
Executable file
132
.config/rofi/wifimenu.rasi
Executable file
@ -0,0 +1,132 @@
|
|||||||
|
configuration {
|
||||||
|
display-drun: "";
|
||||||
|
display-clipboard: "";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
modi: "drun";
|
||||||
|
}
|
||||||
|
|
||||||
|
@import "~/.config/bspwm/themes/bspwm_nord/rofi/colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "JetbrainsMono 10";
|
||||||
|
|
||||||
|
background-color: @gr;
|
||||||
|
separatorcolor: transparent;
|
||||||
|
|
||||||
|
border: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 270px;
|
||||||
|
height: 150px;
|
||||||
|
border-radius: 0;
|
||||||
|
border: 0;
|
||||||
|
padding: 10;
|
||||||
|
background-color: @bg;
|
||||||
|
x-offset: 810px;
|
||||||
|
y-offset: -420px;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @bg;
|
||||||
|
children: [listview];
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
scrollbar: false;
|
||||||
|
padding: 2 0;
|
||||||
|
background-color: @bg;
|
||||||
|
columns: 1;
|
||||||
|
lines: 7;
|
||||||
|
margin: 8 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [prompt, entry];
|
||||||
|
background-color: @gr;
|
||||||
|
border-radius: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: false;
|
||||||
|
font: "Symbols Nerd Font 10";
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @gr2;
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg;
|
||||||
|
placeholder-color: @gr2;
|
||||||
|
border-radius: 0;
|
||||||
|
placeholder: "Search...";
|
||||||
|
blink: false;
|
||||||
|
padding: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
background-color: rgba(0,0,0,0);
|
||||||
|
padding: 10;
|
||||||
|
border-radius: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
expand: true;
|
||||||
|
horizontal-align: 0;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
padding: 0 10 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.normal.normal {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.normal.urgent {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.normal.active {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.selected.normal {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.selected.urgent {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.selected.active {
|
||||||
|
background-color: @gr;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.normal {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.urgent {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
element.alternate.active {
|
||||||
|
background-color: @bg;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
39
.config/scripts/cava.sh
Executable file
39
.config/scripts/cava.sh
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
bar="▁▂▃▄▅▆▇█"
|
||||||
|
dict="s/;//g;"
|
||||||
|
|
||||||
|
# creating "dictionary" to replace char with bar
|
||||||
|
i=0
|
||||||
|
while [ $i -lt ${#bar} ]
|
||||||
|
do
|
||||||
|
dict="${dict}s/$i/${bar:$i:1}/g;"
|
||||||
|
i=$((i=i+1))
|
||||||
|
done
|
||||||
|
|
||||||
|
# make sure to clean pipe
|
||||||
|
pipe="/tmp/cava.fifo"
|
||||||
|
if [ -p $pipe ]; then
|
||||||
|
unlink $pipe
|
||||||
|
fi
|
||||||
|
mkfifo $pipe
|
||||||
|
|
||||||
|
# write cava config
|
||||||
|
config_file="/tmp/polybar_cava_config"
|
||||||
|
echo "
|
||||||
|
[general]
|
||||||
|
bars = 12
|
||||||
|
[output]
|
||||||
|
method = raw
|
||||||
|
raw_target = $pipe
|
||||||
|
data_format = ascii
|
||||||
|
ascii_max_range = 7
|
||||||
|
" > $config_file
|
||||||
|
|
||||||
|
# run cava in the background
|
||||||
|
cava -p $config_file &
|
||||||
|
|
||||||
|
# reading data from fifo
|
||||||
|
while read -r cmd; do
|
||||||
|
echo $cmd | sed $dict
|
||||||
|
done < $pipe
|
||||||
20
.config/scripts/cmus.sh
Executable file
20
.config/scripts/cmus.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
prepend_zero () {
|
||||||
|
seq -f "%02g" $1 $1
|
||||||
|
}
|
||||||
|
|
||||||
|
artist=$(echo -n $(cmus-remote -C 'format_print %F'))
|
||||||
|
|
||||||
|
if [[ $artist = *[!\ ]* ]]; then
|
||||||
|
# song=$(echo -n $(cmus-remote -C status | grep title | cut -c 11-))
|
||||||
|
position=$(cmus-remote -C status | grep position | cut -c 10-)
|
||||||
|
minutes1=$(prepend_zero $(($position / 60)))
|
||||||
|
seconds1=$(prepend_zero $(($position % 60)))
|
||||||
|
duration=$(cmus-remote -C status | grep duration | cut -c 10-)
|
||||||
|
minutes2=$(prepend_zero $(($duration / 60)))
|
||||||
|
seconds2=$(prepend_zero $(($duration % 60)))
|
||||||
|
echo -n "$artist"
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
fi
|
||||||
6
.config/scripts/launch_polybar.sh
Executable file
6
.config/scripts/launch_polybar.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
killall -q polybar
|
||||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
polybar -c ~/.config/bspwm/themes/mytheme/polybar/config.ini &
|
||||||
17
.config/scripts/powermenu.sh
Executable file
17
.config/scripts/powermenu.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -dmenu \
|
||||||
|
-theme ~/.config/bspwm/themes/bspwm_nord/rofi/powermenu.rasi
|
||||||
|
}
|
||||||
|
|
||||||
|
chosen=$(printf "⏻ poweroff\n reboot\n exit" | rofi_cmd)
|
||||||
|
|
||||||
|
case "$chosen" in
|
||||||
|
|
||||||
|
"⏻ poweroff") poweroff ;;
|
||||||
|
" reboot") reboot ;;
|
||||||
|
" exit") bspc quit ;;
|
||||||
|
*) exit 1 ;;
|
||||||
|
|
||||||
|
esac
|
||||||
159
.config/scripts/scope.sh
Executable file
159
.config/scripts/scope.sh
Executable file
@ -0,0 +1,159 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o noclobber -o noglob -o nounset -o pipefail
|
||||||
|
IFS=$'\n'
|
||||||
|
|
||||||
|
# If the option `use_preview_script` is set to `true`,
|
||||||
|
# then this script will be called and its output will be displayed in ranger.
|
||||||
|
# ANSI color codes are supported.
|
||||||
|
# STDIN is disabled, so interactive scripts won't work properly
|
||||||
|
|
||||||
|
# This script is considered a configuration file and must be updated manually.
|
||||||
|
# It will be left untouched if you upgrade ranger.
|
||||||
|
|
||||||
|
# Meanings of exit codes:
|
||||||
|
# code | meaning | action of ranger
|
||||||
|
# -----+------------+-------------------------------------------
|
||||||
|
# 0 | success | Display stdout as preview
|
||||||
|
# 1 | no preview | Display no preview at all
|
||||||
|
# 2 | plain text | Display the plain content of the file
|
||||||
|
# 3 | fix width | Don't reload when width changes
|
||||||
|
# 4 | fix height | Don't reload when height changes
|
||||||
|
# 5 | fix both | Don't ever reload
|
||||||
|
# 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
|
||||||
|
# 7 | image | Display the file directly as an image
|
||||||
|
|
||||||
|
# Script arguments
|
||||||
|
FILE_PATH="${1}" # Full path of the highlighted file
|
||||||
|
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
|
||||||
|
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
|
||||||
|
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
|
||||||
|
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
|
||||||
|
|
||||||
|
FILE_EXTENSION="${FILE_PATH##*.}"
|
||||||
|
FILE_EXTENSION_LOWER="${FILE_EXTENSION,,}"
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
||||||
|
HIGHLIGHT_STYLE='pablo'
|
||||||
|
PYGMENTIZE_STYLE='autumn'
|
||||||
|
|
||||||
|
|
||||||
|
handle_extension() {
|
||||||
|
case "${FILE_EXTENSION_LOWER}" in
|
||||||
|
# Archive
|
||||||
|
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
|
||||||
|
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
|
||||||
|
atool --list -- "${FILE_PATH}" && exit 5
|
||||||
|
bsdtar --list --file "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
rar)
|
||||||
|
# Avoid password prompt by providing empty password
|
||||||
|
unrar lt -p- -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
7z)
|
||||||
|
# Avoid password prompt by providing empty password
|
||||||
|
7z l -p -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
# PDF
|
||||||
|
pdf)
|
||||||
|
# Preview as text conversion
|
||||||
|
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - && exit 5
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
# BitTorrent
|
||||||
|
torrent)
|
||||||
|
transmission-show -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
# OpenDocument
|
||||||
|
odt|ods|odp|sxw)
|
||||||
|
# Preview as text conversion
|
||||||
|
odt2txt "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
# HTML
|
||||||
|
htm|html|xhtml)
|
||||||
|
# Preview as text conversion
|
||||||
|
w3m -dump "${FILE_PATH}" && exit 5
|
||||||
|
lynx -dump -- "${FILE_PATH}" && exit 5
|
||||||
|
elinks -dump "${FILE_PATH}" && exit 5
|
||||||
|
;; # Continue with next handler on failure
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_image() {
|
||||||
|
local mimetype="${1}"
|
||||||
|
case "${mimetype}" in
|
||||||
|
# SVG
|
||||||
|
image/svg+xml)
|
||||||
|
convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
# Image
|
||||||
|
image/*)
|
||||||
|
# `w3mimgdisplay` will be called for all images (unless overriden as above),
|
||||||
|
# but might fail for unsupported types.
|
||||||
|
exit 7;;
|
||||||
|
|
||||||
|
# Video
|
||||||
|
video/*)
|
||||||
|
# Thumbnail
|
||||||
|
ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_mime() {
|
||||||
|
local mimetype="${1}"
|
||||||
|
case "${mimetype}" in
|
||||||
|
# Text
|
||||||
|
text/* | */xml)
|
||||||
|
# Syntax highlight
|
||||||
|
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
if [[ "$( tput colors )" -ge 256 ]]; then
|
||||||
|
local pygmentize_format='terminal256'
|
||||||
|
local highlight_format='xterm256'
|
||||||
|
else
|
||||||
|
local pygmentize_format='terminal'
|
||||||
|
local highlight_format='ansi'
|
||||||
|
fi
|
||||||
|
highlight --out-format="${highlight_format}" --style="${HIGHLIGHT_STYLE}" -- "${FILE_PATH}" && exit 5
|
||||||
|
# pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 2;;
|
||||||
|
|
||||||
|
# Image
|
||||||
|
image/*)
|
||||||
|
# Preview as text conversion
|
||||||
|
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
# Video and audio
|
||||||
|
video/* | audio/*)
|
||||||
|
mediainfo "${FILE_PATH}" && exit 5
|
||||||
|
exiftool "${FILE_PATH}" && exit 5
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_fallback() {
|
||||||
|
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
handle_extension
|
||||||
|
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
|
||||||
|
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
|
||||||
|
handle_image "${MIMETYPE}"
|
||||||
|
fi
|
||||||
|
handle_mime "${MIMETYPE}"
|
||||||
|
handle_fallback
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
|
||||||
BIN
.config/scripts/vpn/1.png
Normal file
BIN
.config/scripts/vpn/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
BIN
.config/scripts/vpn/2.png
Normal file
BIN
.config/scripts/vpn/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
75
.config/scripts/weather.sh
Executable file
75
.config/scripts/weather.sh
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
get_icon() {
|
||||||
|
case $1 in
|
||||||
|
# Icons for weather-icons
|
||||||
|
01d) icon="";;
|
||||||
|
01n) icon="";;
|
||||||
|
02d) icon="";;
|
||||||
|
02n) icon="";;
|
||||||
|
03*) icon="";;
|
||||||
|
04*) icon="";;
|
||||||
|
09d) icon="";;
|
||||||
|
09n) icon="";;
|
||||||
|
10d) icon="";;
|
||||||
|
10n) icon="";;
|
||||||
|
11d) icon="";;
|
||||||
|
11n) icon="";;
|
||||||
|
13d) icon="";;
|
||||||
|
13n) icon="";;
|
||||||
|
50d) icon="";;
|
||||||
|
50n) icon="";;
|
||||||
|
*) icon="";
|
||||||
|
|
||||||
|
# Icons for Font Awesome 5 Pro
|
||||||
|
#01d) icon="";;
|
||||||
|
#01n) icon="";;
|
||||||
|
#02d) icon="";;
|
||||||
|
#02n) icon="";;
|
||||||
|
#03d) icon="";;
|
||||||
|
#03n) icon="";;
|
||||||
|
#04*) icon="";;
|
||||||
|
#09*) icon="";;
|
||||||
|
#10d) icon="";;
|
||||||
|
#10n) icon="";;
|
||||||
|
#11*) icon="";;
|
||||||
|
#13*) icon="";;
|
||||||
|
#50*) icon="";;
|
||||||
|
#*) icon="";
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo $icon
|
||||||
|
}
|
||||||
|
|
||||||
|
KEY="e434b5435a979de6e155570590bee89b"
|
||||||
|
CITY="Krasnoyarsk"
|
||||||
|
UNITS="metric"
|
||||||
|
SYMBOL="°"
|
||||||
|
|
||||||
|
API="https://api.openweathermap.org/data/2.5"
|
||||||
|
|
||||||
|
if [ -n "$CITY" ]; then
|
||||||
|
if [ "$CITY" -eq "$CITY" ] 2>/dev/null; then
|
||||||
|
CITY_PARAM="id=$CITY"
|
||||||
|
else
|
||||||
|
CITY_PARAM="q=$CITY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
weather=$(curl -sf "$API/weather?appid=$KEY&$CITY_PARAM&units=$UNITS")
|
||||||
|
else
|
||||||
|
location=$(curl -sf https://location.services.mozilla.com/v1/geolocate?key=geoclue)
|
||||||
|
|
||||||
|
if [ -n "$location" ]; then
|
||||||
|
location_lat="$(echo "$location" | jq '.location.lat')"
|
||||||
|
location_lon="$(echo "$location" | jq '.location.lng')"
|
||||||
|
|
||||||
|
weather=$(curl -sf "$API/weather?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$weather" ]; then
|
||||||
|
weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
|
||||||
|
weather_icon=$(echo "$weather" | jq -r ".weather[0].icon")
|
||||||
|
|
||||||
|
echo "$weather_temp$SYMBOL"
|
||||||
|
fi
|
||||||
48
.config/scripts/wifimenu
Executable file
48
.config/scripts/wifimenu
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Load NetworkManager
|
||||||
|
network_status=$(ps aux | grep NetworkManager | grep root)
|
||||||
|
|
||||||
|
# Если служба не запущена
|
||||||
|
if [ "$network_status" = "" ]; then
|
||||||
|
# TODO: Hide password entry
|
||||||
|
rofi -dmenu -p "Root Password: " | sudo -S NetworkManager
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Starts a scan of available broadcasting SSIDs
|
||||||
|
# nmcli dev wifi rescan
|
||||||
|
notify-send "Getting list of available Wi-Fi networks..."
|
||||||
|
wifi_list=$(nmcli --fields "SECURITY,SSID" device wifi list | sed 1d | sed 's/ */ /g' | sed -E "s/WPA*.?\S/ /g" | sed "s/^--/ /g" | sed "s/ //g" | sed "/--/d")
|
||||||
|
# Gives a list of known connections so we can parse it later
|
||||||
|
|
||||||
|
connected=$(nmcli -fields WIFI g)
|
||||||
|
if [[ "$connected" =~ "enabled" ]]; then
|
||||||
|
toggle=" Disable Wi-Fi"
|
||||||
|
elif [[ "$connected" =~ "disabled" ]]; then
|
||||||
|
toggle=" Enable Wi-Fi"
|
||||||
|
fi
|
||||||
|
|
||||||
|
chosen_network=$(echo -e "$toggle\n$wifi_list" | uniq -u | rofi -dmenu -theme ~/.config/bspwm/themes/bspwm_nord/rofi/menu.rasi -i -selected-row 1 -p "Wi-Fi SSID: " )
|
||||||
|
chosen_id=$(echo "${chosen_network:3}" | xargs)
|
||||||
|
|
||||||
|
# Parses the list of preconfigured connections to see if it already contains the chosen SSID. This speeds up the connection process
|
||||||
|
if [ "$chosen_network" = "" ]; then
|
||||||
|
exit
|
||||||
|
elif [ "$chosen_network" = " Enable Wi-Fi" ]; then
|
||||||
|
nmcli radio wifi on
|
||||||
|
elif [ "$chosen_network" = " Disable Wi-Fi" ]; then
|
||||||
|
nmcli radio wifi off
|
||||||
|
else
|
||||||
|
# Message to show when connection is activated successfully
|
||||||
|
success_message="You are now connected to the Wi-Fi network \"$chosen_id\"."
|
||||||
|
# Get known connections
|
||||||
|
saved_connections=$(nmcli -g NAME connection)
|
||||||
|
if [[ $(echo "$saved_connections" | grep -w "$chosen_id") = "$chosen_id" ]]; then
|
||||||
|
nmcli connection up id "$chosen_id" | grep "successfully" && notify-send "Connection Established" "$success_message"
|
||||||
|
else
|
||||||
|
if [[ "$chosen_network" =~ "" ]]; then
|
||||||
|
wifi_password=$(rofi -dmenu -p "Password: " )
|
||||||
|
fi
|
||||||
|
nmcli device wifi connect "$chosen_id" password "$wifi_password" | grep "successfully" && notify-send "Connection Established" "$success_message"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
58
.config/scripts/wireguard
Executable file
58
.config/scripts/wireguard
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Unfortunately it's not easy to directly use Polybar colour values in this
|
||||||
|
# script so I have to redefine some of my colours here. See the link below for
|
||||||
|
# more details:
|
||||||
|
# https://github.com/polybar/polybar/wiki/Formatting#format-tags-inside-polybar-config
|
||||||
|
green=#55aa55
|
||||||
|
br=#cfd1cd
|
||||||
|
configs_path="/etc/wireguard/"
|
||||||
|
connected_interface=$(networkctl | grep -P "\d+ .* wireguard routable" -o | cut -d" " -f2)
|
||||||
|
|
||||||
|
connect() {
|
||||||
|
selected_config=$(ls $configs_path/*.conf | xargs basename -a -s .conf | rofi -dmenu -theme ~/.config/bspwm/themes/bspwm_nord/rofi/menu.rasi -p "WG choose")
|
||||||
|
[[ $selected_config ]] && sudo /usr/bin/wg-quick up "$configs_path"/"$selected_config".conf
|
||||||
|
}
|
||||||
|
|
||||||
|
disconnect() {
|
||||||
|
# Normally we should have a single connected interface but technically
|
||||||
|
# there's nothing stopping us from having multiple active intgerfaces so
|
||||||
|
# let's do this in a loop:
|
||||||
|
for connected_config in $(networkctl | grep -P "\d+ .* wireguard routable" -o | cut -d" " -f2)
|
||||||
|
do
|
||||||
|
sudo /usr/bin/wg-quick down $configs_path/"$connected_config".conf
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle() {
|
||||||
|
if [[ $connected_interface ]]
|
||||||
|
then
|
||||||
|
disconnect
|
||||||
|
else
|
||||||
|
connect
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
print() {
|
||||||
|
if [[ $connected_interface ]]
|
||||||
|
then
|
||||||
|
echo %{u"$green"}%{+u}%{T2}%{F"$green"} VPN: "$connected_interface%"{T-}%{F-}
|
||||||
|
else
|
||||||
|
echo %{u"$br"}%{+u}%{T2}%{F"$br"} VPN: off%{T-}%{F-} "$connected_interface"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--connect)
|
||||||
|
connect
|
||||||
|
;;
|
||||||
|
--disconnect)
|
||||||
|
disconnect
|
||||||
|
;;
|
||||||
|
--toggle)
|
||||||
|
toggle
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
print
|
||||||
|
;;
|
||||||
|
esac
|
||||||
82
.config/sxhkd/sxhkdrc
Executable file
82
.config/sxhkd/sxhkdrc
Executable file
@ -0,0 +1,82 @@
|
|||||||
|
super + d
|
||||||
|
rofi -show drun -config .config/bspwm/themes/mytheme/rofi/menu.rasi -show-icons
|
||||||
|
|
||||||
|
super + {_,shift +} Return
|
||||||
|
{alacritty --config-file ~/.config/bspwm/themes/mytheme/alacritty/output.toml, bspc node -s biggest.local}
|
||||||
|
|
||||||
|
@Print
|
||||||
|
scrot
|
||||||
|
|
||||||
|
shift + @Print
|
||||||
|
scrot -d 5
|
||||||
|
|
||||||
|
super + n
|
||||||
|
nemo
|
||||||
|
|
||||||
|
super + i
|
||||||
|
inkscape
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ПЕРЕЗАГРУЗИТЬ КОНФИГ SXHKD
|
||||||
|
super + e
|
||||||
|
pkill -USR1 -x sxhkd
|
||||||
|
|
||||||
|
#ВЫЙТИ/ПЕРЕЗАГРУЗИТЬ BSPWM
|
||||||
|
super + shift + {q,r}
|
||||||
|
bspc {quit,wm -r}
|
||||||
|
|
||||||
|
#ПЕРЕЗАГРУЗКА
|
||||||
|
super + ctrl + r
|
||||||
|
sudo shutdown -r now
|
||||||
|
|
||||||
|
#ВЫКЛЮЧЕНИЕ
|
||||||
|
super + ctrl + p
|
||||||
|
sudo shutdown -h now
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ПОМЕНЯТЬ СТАТУС ОКНА НА /ТАЙЛОВОЕ/ПСЕВДО ТАЙЛОВОЕ/ПЛАВАЮЩЕЕ/ПОЛНОЭКРАННОЕ
|
||||||
|
super + {t,shift + t,s,f}
|
||||||
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||||
|
bspc node -g {marked,locked,sticky,private}
|
||||||
|
|
||||||
|
#ВЫБРАТЬ НАПРАВЛЕНИЕ В КОТОРОМ ОТКРОЕТСЯ НОВОЕ ОКНО
|
||||||
|
super + alt + {Left,Down,Up,Right}
|
||||||
|
bspc node -p {west,south,north,east}
|
||||||
|
|
||||||
|
#ОТМЕНИТЬ НАПРАВЛЕНИЕ В КОТОРОМ ОТКРОЕТСЯ НОВОЕ ОКНО
|
||||||
|
super + alt + space
|
||||||
|
bspc node -p cancel
|
||||||
|
|
||||||
|
#ПЕРЕКЛЮЧИТСЯ НА ВОРКСПЕЙС ИЛИ ПЕРЕТАЩИТЬ НА НЕГО АКТИВНОЕ ОКНО
|
||||||
|
super + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
|
#ЗАКРЫТЬ ОКНО ИЛИ УБИТЬ ЕГО
|
||||||
|
super + {_, shift + }c
|
||||||
|
bspc node -{c}
|
||||||
|
|
||||||
|
#ПЕРЕМЕЩЕНИЕ ТАЙЛИНГОВЫХ ОКОН
|
||||||
|
super + {_,shift + }{Left,Down,Up,Right}
|
||||||
|
bspc node -{f,s} {west,south,north,east}
|
||||||
|
|
||||||
|
#РЕСАЙЗ ТАЙЛИНГОВЫХ ОКОН
|
||||||
|
super + ctrl + {Left,Down,Up,Right}
|
||||||
|
{bspc node -z left -20 0; bspc node -z right -20 0, \
|
||||||
|
bspc node -z bottom 0 20; bspc node -z top 0 20, \
|
||||||
|
bspc node -z bottom 0 -20; bspc node -z top 0 -20, \
|
||||||
|
bspc node -z left 20 0; bspc node -z right 20 0}
|
||||||
|
|
||||||
|
#РЕСАЙЗА ПЛАВАЮЩИХ ОКОН
|
||||||
|
alt + ctrl + {Left,Down,Up,Right}
|
||||||
|
{bspc node -z right -20 20, \
|
||||||
|
bspc node -z bottom 20 20, \
|
||||||
|
bspc node -z bottom 20 -20, \
|
||||||
|
bspc node -z right 20 20}
|
||||||
|
|
||||||
|
#ПЕРЕМЕЩЕНИЕ ПЛАВАЮЩИХ ОКОН
|
||||||
|
ctrl + shift + {Left,Down,Up,Right}
|
||||||
|
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||||
2
.screenlayout/display.sh
Executable file
2
.screenlayout/display.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
xrandr --output VGA-0 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output Virtual-2 --off --output Virtual-3 --off --output Virtual-4 --off --output Virtual-5 --off --output Virtual-6 --off --output Virtual-7 --off --output Virtual-8 --off
|
||||||
55
.xinitrc
Executable file
55
.xinitrc
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
userresources=$HOME/.Xresources
|
||||||
|
usermodmap=$HOME/.Xmodmap
|
||||||
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||||
|
|
||||||
|
# merge in defaults and keymaps
|
||||||
|
|
||||||
|
if [ -f $sysresources ]; then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
xrdb -merge $sysresources
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f $sysmodmap ]; then
|
||||||
|
xmodmap $sysmodmap
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$userresources" ]; then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
xrdb -merge "$userresources"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$usermodmap" ]; then
|
||||||
|
xmodmap "$usermodmap"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# start some nice programs
|
||||||
|
|
||||||
|
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||||
|
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||||
|
[ -x "$f" ] && . "$f"
|
||||||
|
done
|
||||||
|
unset f
|
||||||
|
fi
|
||||||
|
|
||||||
|
setxkbmap -layout us,ru -option grp:alt_shift_toggle
|
||||||
|
|
||||||
|
$HOME/.screenlayout/display.sh
|
||||||
|
exec sxhkd -c ~/.config/bspwm/themes/mytheme/sxhkd/sxhkdrc &
|
||||||
|
exec bspwm -c ~/.config/bspwm/themes/mytheme/bspwm/bspwmrc
|
||||||
Loading…
x
Reference in New Issue
Block a user