first commit
This commit is contained in:
commit
7232200280
|
|
@ -0,0 +1,132 @@
|
||||||
|
# Window Customization
|
||||||
|
window:
|
||||||
|
#opacity: 0.95
|
||||||
|
dimensions:
|
||||||
|
columns: 122
|
||||||
|
lines: 50
|
||||||
|
# padding:
|
||||||
|
# x: 10
|
||||||
|
# y: 10
|
||||||
|
dynamic_padding: true
|
||||||
|
decorations: none
|
||||||
|
scrolling:
|
||||||
|
history: 10000
|
||||||
|
multiplier: 11
|
||||||
|
window.dynamic_title: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
WINIT_X11_SCALE_FACTOR: "1.0"
|
||||||
|
|
||||||
|
# Font configuration (changes require restart)
|
||||||
|
font:
|
||||||
|
# The normal (roman) font face to use.
|
||||||
|
normal:
|
||||||
|
family: Hack Nerd Font
|
||||||
|
# Style can be specified to pick a specific face.
|
||||||
|
style: Regular
|
||||||
|
|
||||||
|
# The bold font face
|
||||||
|
bold:
|
||||||
|
family: Hack Nerd Font
|
||||||
|
# Style can be specified to pick a specific face.
|
||||||
|
style: Bold
|
||||||
|
|
||||||
|
# The italic font face
|
||||||
|
italic:
|
||||||
|
family: Hack Nerd Font
|
||||||
|
# Style can be specified to pick a specific face.
|
||||||
|
style: italic
|
||||||
|
|
||||||
|
colors:
|
||||||
|
# Default colors
|
||||||
|
primary:
|
||||||
|
background: '0x1e2127'
|
||||||
|
foreground: '0xabb2bf'
|
||||||
|
|
||||||
|
# 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: '0x9a9a9a'
|
||||||
|
bright_foreground: '0xe6efff'
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the terminal cursor. If these are unset,
|
||||||
|
# the cursor color will be the inverse of the cell color.
|
||||||
|
#cursor:
|
||||||
|
# text: '0x000000'
|
||||||
|
# cursor: '0xffffff'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal:
|
||||||
|
black: '0x1e2127'
|
||||||
|
red: '0xe06c75'
|
||||||
|
green: '0x98c379'
|
||||||
|
yellow: '0xd19a66'
|
||||||
|
blue: '0x61afef'
|
||||||
|
magenta: '0xc678dd'
|
||||||
|
cyan: '0x56b6c2'
|
||||||
|
white: '0x828791'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright:
|
||||||
|
black: '0x5c6370'
|
||||||
|
red: '0xe06c75'
|
||||||
|
green: '0x98c379'
|
||||||
|
yellow: '0xd19a66'
|
||||||
|
blue: '0x61afef'
|
||||||
|
magenta: '0xc678dd'
|
||||||
|
cyan: '0x56b6c2'
|
||||||
|
white: '0xe6efff'
|
||||||
|
|
||||||
|
# Dim colors
|
||||||
|
#
|
||||||
|
# If the dim colors are not set, they will be calculated automatically based
|
||||||
|
# on the `normal` colors.
|
||||||
|
dim:
|
||||||
|
black: '0x1e2127'
|
||||||
|
red: '0xe06c75'
|
||||||
|
green: '0x98c379'
|
||||||
|
yellow: '0xd19a66'
|
||||||
|
blue: '0x61afef'
|
||||||
|
magenta: '0xc678dd'
|
||||||
|
cyan: '0x56b6c2'
|
||||||
|
white: '0x828791'
|
||||||
|
|
||||||
|
# Indexed Colors
|
||||||
|
#
|
||||||
|
# The indexed colors include all colors from 16 to 256.
|
||||||
|
# When these are not set, they're filled with sensible defaults.
|
||||||
|
#indexed_colors:
|
||||||
|
# - { index: 16, color: '0x000000' }
|
||||||
|
|
||||||
|
# Extras
|
||||||
|
hide_cursor_when_typing: true
|
||||||
|
|
||||||
|
cursor:
|
||||||
|
style: Block
|
||||||
|
#blinking: Always
|
||||||
|
#blink_interval: 750
|
||||||
|
unfocused_hollow: true
|
||||||
|
|
||||||
|
|
||||||
|
key_bindings:
|
||||||
|
# (Windows, Linux, and BSD only)
|
||||||
|
- { key: V, mods: Control|Shift, action: Paste }
|
||||||
|
- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||||
|
- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
- { key: F11, mods: None, action: ToggleFullscreen }
|
||||||
|
- { key: Paste, mods: None, action: Paste }
|
||||||
|
- { key: Copy, mods: None, action: Copy }
|
||||||
|
- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
- { key: L, mods: Control, chars: "\x0c" }
|
||||||
|
- { key: PageUp, mods: None, action: ScrollPageUp, mode: ~Alt }
|
||||||
|
- { key: PageDown, mods: None, action: ScrollPageDown, mode: ~Alt }
|
||||||
|
- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
|
||||||
|
- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
|
||||||
|
|
@ -0,0 +1,168 @@
|
||||||
|
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||||
|
|
||||||
|
|
||||||
|
[general]
|
||||||
|
|
||||||
|
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
|
||||||
|
mode = 0
|
||||||
|
|
||||||
|
# Accepts only non-negative values.
|
||||||
|
; framerate = 60
|
||||||
|
|
||||||
|
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
||||||
|
# new as of 0.6.0 autosens of low values (dynamic range)
|
||||||
|
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
|
||||||
|
; autosens = 1
|
||||||
|
; overshoot = 20
|
||||||
|
|
||||||
|
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
|
||||||
|
# 200 means double height. Accepts only non-negative values.
|
||||||
|
; sensitivity = 100
|
||||||
|
|
||||||
|
# The number of bars (0-200). 0 sets it to auto (fill up console).
|
||||||
|
# Bars' width and space between bars in number of characters.
|
||||||
|
; bars = 0
|
||||||
|
; bar_width = 2
|
||||||
|
; bar_spacing = 1
|
||||||
|
|
||||||
|
|
||||||
|
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||||
|
# the bandwidth of the visualizer.
|
||||||
|
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||||
|
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||||
|
; lower_cutoff_freq = 50
|
||||||
|
; higher_cutoff_freq = 10000
|
||||||
|
|
||||||
|
|
||||||
|
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||||
|
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||||
|
; sleep_timer = 0
|
||||||
|
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
|
||||||
|
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
|
||||||
|
#
|
||||||
|
# All input methods uses the same config variable 'source'
|
||||||
|
# to define where it should get the audio.
|
||||||
|
#
|
||||||
|
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||||
|
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||||
|
#
|
||||||
|
# For alsa 'source' will be the capture device.
|
||||||
|
# For fifo 'source' will be the path to fifo-file.
|
||||||
|
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||||
|
; method = pulse
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = alsa
|
||||||
|
; source = hw:Loopback,1
|
||||||
|
|
||||||
|
; method = fifo
|
||||||
|
; source = /tmp/mpd.fifo
|
||||||
|
; sample_rate = 44100
|
||||||
|
; sample_bits = 16
|
||||||
|
|
||||||
|
; method = shmem
|
||||||
|
; source = /squeezelite-AA:BB:CC:DD:EE:FF
|
||||||
|
|
||||||
|
; method = portaudio
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
|
||||||
|
[output]
|
||||||
|
|
||||||
|
# Output method. Can be 'ncurses', 'noncurses' or 'raw'.
|
||||||
|
# 'noncurses' uses a custom framebuffer technique and draws only changes
|
||||||
|
# from frame to frame. 'ncurses' is default if supported
|
||||||
|
#
|
||||||
|
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||||
|
# stream of the bar heights that can be used to send to other applications.
|
||||||
|
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||||
|
; method = ncurses
|
||||||
|
|
||||||
|
# Visual channels. Can be 'stereo' or 'mono'.
|
||||||
|
# 'stereo' mirrors both channels with low frequencies in center.
|
||||||
|
# 'mono' outputs left to right lowest to highest frequencies.
|
||||||
|
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||||
|
; channels = stereo
|
||||||
|
; mono_option = average
|
||||||
|
|
||||||
|
# Raw output target. A fifo will be created if target does not exist.
|
||||||
|
; raw_target = /dev/stdout
|
||||||
|
|
||||||
|
# Raw data format. Can be 'binary' or 'ascii'.
|
||||||
|
; data_format = binary
|
||||||
|
|
||||||
|
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||||
|
; bit_format = 16bit
|
||||||
|
|
||||||
|
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||||
|
; ascii_max_range = 1000
|
||||||
|
|
||||||
|
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||||
|
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||||
|
; bar_delimiter = 59
|
||||||
|
; frame_delimiter = 10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[color]
|
||||||
|
|
||||||
|
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
||||||
|
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
||||||
|
# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
||||||
|
# if supported, ncurses mode will be forced on if user defined colors are used.
|
||||||
|
# default is to keep current terminal color
|
||||||
|
; background = #ff6c6b
|
||||||
|
; foreground = #ff6c6b
|
||||||
|
|
||||||
|
# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported,
|
||||||
|
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||||
|
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||||
|
# gradient = 1
|
||||||
|
# gradient_count = 2
|
||||||
|
# gradient_color_1 = '#E1FFAF'
|
||||||
|
# gradient_color_2 = '#E1FFAF'
|
||||||
|
# gradient_color_3 = '#a6cc33'
|
||||||
|
# gradient_color_4 = '#cccc33'
|
||||||
|
# gradient_color_5 = '#cca633'
|
||||||
|
# gradient_color_6 = '#cc8033'
|
||||||
|
# gradient_color_7 = '#cc5933'
|
||||||
|
# gradient_color_8 = '#c792ea'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[smoothing]
|
||||||
|
|
||||||
|
# Percentage value for integral smoothing. Takes values from 0 - 100.
|
||||||
|
# Higher values means smoother, but less precise. 0 to disable.
|
||||||
|
; integral = 77
|
||||||
|
|
||||||
|
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
|
||||||
|
; monstercat = 0
|
||||||
|
; waves = 0
|
||||||
|
|
||||||
|
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
|
||||||
|
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
|
||||||
|
; gravity = 100
|
||||||
|
|
||||||
|
|
||||||
|
# In bar height, bars that would have been lower that this will not be drawn.
|
||||||
|
; ignore = 0
|
||||||
|
|
||||||
|
|
||||||
|
[eq]
|
||||||
|
|
||||||
|
# This one is tricky. You can have as much keys as you want.
|
||||||
|
# Remember to uncomment more then one key! More keys = more precision.
|
||||||
|
# Look at readme.md on github for further explanations and examples.
|
||||||
|
1 = 1 # bass
|
||||||
|
2 = 1
|
||||||
|
3 = 1 # midtone
|
||||||
|
4 = 1
|
||||||
|
5 = 1 # treble
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/home/krolyxon/.cache/wal/dunstrc
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
[Filechooser Settings]
|
||||||
|
LocationMode=path-bar
|
||||||
|
ShowHidden=true
|
||||||
|
ShowSizeColumn=true
|
||||||
|
GeometryX=0
|
||||||
|
GeometryY=0
|
||||||
|
GeometryWidth=780
|
||||||
|
GeometryHeight=585
|
||||||
|
SortColumn=name
|
||||||
|
SortOrder=ascending
|
||||||
|
StartupMode=recent
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||||
|
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||||
|
|
||||||
|
include "/home/glizzster/.gtkrc-2.0.mine"
|
||||||
|
gtk-theme-name="Arc-Dark"
|
||||||
|
gtk-icon-theme-name="Papirus-Dark"
|
||||||
|
gtk-font-name="Cantarell 11"
|
||||||
|
gtk-cursor-theme-name="Adwaita"
|
||||||
|
gtk-cursor-theme-size=0
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=1
|
||||||
|
gtk-menu-images=1
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=1
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle="hintfull"
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
file:///home/krolyxon/media/dl dl
|
||||||
|
file:///home/krolyxon/media/dox dox
|
||||||
|
file:///home/krolyxon/media/pix pix
|
||||||
|
file:///home/krolyxon/media/vids vids
|
||||||
|
file:///home/krolyxon/media/music music
|
||||||
|
file:///home/krolyxon/media media
|
||||||
|
file:///home/krolyxon/code code
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
[Settings]
|
||||||
|
gtk-theme-name=Arc-Dark
|
||||||
|
gtk-icon-theme-name=Papirus-Dark
|
||||||
|
gtk-font-name=Cantarell 11
|
||||||
|
gtk-cursor-theme-name=Adwaita
|
||||||
|
gtk-cursor-theme-size=0
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=1
|
||||||
|
gtk-menu-images=1
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=1
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle=hintfull
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
[Default Applications]
|
||||||
|
text/x-shellscript=text.desktop;
|
||||||
|
x-scheme-handler/magnet=torrent.desktop;
|
||||||
|
application/x-bittorrent=torrent.desktop;
|
||||||
|
text/plain=nvim.desktop
|
||||||
|
application/postscript=pdf.desktop;
|
||||||
|
application/pdf=pdf.desktop;
|
||||||
|
image/png=img.desktop;
|
||||||
|
image/jpeg=img.desktop;
|
||||||
|
image/gif=img.desktop;
|
||||||
|
application/rss+xml=rss.desktop
|
||||||
|
video/x-matroska=video.desktop
|
||||||
|
x-scheme-handler/lbry=lbry.desktop
|
||||||
|
inode/directory=file.desktop
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
#
|
||||||
|
# $PARU_CONF
|
||||||
|
# /etc/paru.conf
|
||||||
|
# ~/.config/paru/paru.conf
|
||||||
|
#
|
||||||
|
# See the paru.conf(5) manpage for options
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
PgpFetch
|
||||||
|
Devel
|
||||||
|
Provides
|
||||||
|
DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg
|
||||||
|
#AurOnly
|
||||||
|
#BottomUp
|
||||||
|
RemoveMake
|
||||||
|
#SudoLoop
|
||||||
|
#UseAsk
|
||||||
|
#SaveChanges
|
||||||
|
#CombinedUpgrade
|
||||||
|
#CleanAfter
|
||||||
|
#UpgradeMenu
|
||||||
|
#NewsOnUpgrade
|
||||||
|
|
||||||
|
#LocalRepo
|
||||||
|
#Chroot
|
||||||
|
#Sign
|
||||||
|
#SignDb
|
||||||
|
|
||||||
|
#
|
||||||
|
# Binary OPTIONS
|
||||||
|
#
|
||||||
|
#[bin]
|
||||||
|
#FileManager = vifm
|
||||||
|
#MFlags = --skippgpcheck
|
||||||
|
#Sudo = doas
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
[config]
|
||||||
|
bm_open_method=0
|
||||||
|
|
||||||
|
[volume]
|
||||||
|
mount_on_startup=1
|
||||||
|
mount_removable=1
|
||||||
|
autorun=1
|
||||||
|
|
||||||
|
[ui]
|
||||||
|
always_show_tabs=0
|
||||||
|
max_tab_chars=32
|
||||||
|
win_width=1049
|
||||||
|
win_height=1053
|
||||||
|
splitter_pos=147
|
||||||
|
media_in_new_tab=0
|
||||||
|
desktop_folder_new_win=0
|
||||||
|
change_tab_on_drop=1
|
||||||
|
close_on_unmount=1
|
||||||
|
focus_previous=0
|
||||||
|
side_pane_mode=places
|
||||||
|
view_mode=icon
|
||||||
|
show_hidden=1
|
||||||
|
sort=name;ascending;
|
||||||
|
toolbar=newtab;navigation;home;
|
||||||
|
show_statusbar=1
|
||||||
|
pathbar_mode_buttons=0
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,15 @@
|
||||||
|
import os
|
||||||
|
import ranger.api
|
||||||
|
from ranger.core.linemode import LinemodeBase
|
||||||
|
from .devicons import *
|
||||||
|
|
||||||
|
SEPARATOR = os.getenv('RANGER_DEVICONS_SEPARATOR', ' ')
|
||||||
|
|
||||||
|
@ranger.api.register_linemode
|
||||||
|
class DevIconsLinemode(LinemodeBase):
|
||||||
|
name = "devicons"
|
||||||
|
|
||||||
|
uses_metadata = False
|
||||||
|
|
||||||
|
def filetitle(self, file, metadata):
|
||||||
|
return devicon(file) + SEPARATOR + file.relative_path
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,381 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
# coding=UTF-8
|
||||||
|
# These glyphs, and the mapping of file extensions to glyphs
|
||||||
|
# has been copied from the vimscript code that is present in
|
||||||
|
# https://github.com/ryanoasis/vim-devicons
|
||||||
|
import re;
|
||||||
|
import os;
|
||||||
|
|
||||||
|
# Get the XDG_USER_DIRS directory names from enviromental variables
|
||||||
|
|
||||||
|
xdgs_dirs = {path.split('/')[-2]: icon for key, icon in [
|
||||||
|
('XDG_DOCUMENTS_DIR' , ''),
|
||||||
|
('XDG_DOWNLOAD_DIR' , ''),
|
||||||
|
('XDG_CONFIG_DIR' , ''),
|
||||||
|
('XDG_MUSIC_DIR' , ''),
|
||||||
|
('XDG_PICTURES_DIR' , ''),
|
||||||
|
('XDG_PUBLICSHARE_DIR', ''),
|
||||||
|
('XDG_TEMPLATES_DIR' , ''),
|
||||||
|
('XDG_VIDEOS_DIR' , ''),
|
||||||
|
] if (path := os.getenv(key))}
|
||||||
|
|
||||||
|
|
||||||
|
# all those glyphs will show as weird squares if you don't have the correct patched font
|
||||||
|
# My advice is to use NerdFonts which can be found here:
|
||||||
|
# https://github.com/ryanoasis/nerd-fonts
|
||||||
|
file_node_extensions = {
|
||||||
|
'7z' : '',
|
||||||
|
'a' : '',
|
||||||
|
'ai' : '',
|
||||||
|
'apk' : '',
|
||||||
|
'asm' : '',
|
||||||
|
'asp' : '',
|
||||||
|
'aup' : '',
|
||||||
|
'avi' : '',
|
||||||
|
'awk' : '',
|
||||||
|
'bash' : '',
|
||||||
|
'bat' : '',
|
||||||
|
'bmp' : '',
|
||||||
|
'bz2' : '',
|
||||||
|
'c' : '',
|
||||||
|
'c++' : '',
|
||||||
|
'cab' : '',
|
||||||
|
'cbr' : '',
|
||||||
|
'cbz' : '',
|
||||||
|
'cc' : '',
|
||||||
|
'class' : '',
|
||||||
|
'clj' : '',
|
||||||
|
'cljc' : '',
|
||||||
|
'cljs' : '',
|
||||||
|
'cmake' : '',
|
||||||
|
'coffee' : '',
|
||||||
|
'conf' : '',
|
||||||
|
'cp' : '',
|
||||||
|
'cpio' : '',
|
||||||
|
'cpp' : '',
|
||||||
|
'cs' : '',
|
||||||
|
'csh' : '',
|
||||||
|
'css' : '',
|
||||||
|
'cue' : '',
|
||||||
|
'cvs' : '',
|
||||||
|
'cxx' : '',
|
||||||
|
'd' : '',
|
||||||
|
'dart' : '',
|
||||||
|
'db' : '',
|
||||||
|
'deb' : '',
|
||||||
|
'diff' : '',
|
||||||
|
'dll' : '',
|
||||||
|
'doc' : '',
|
||||||
|
'docx' : '',
|
||||||
|
'dump' : '',
|
||||||
|
'edn' : '',
|
||||||
|
'eex' : '',
|
||||||
|
'efi' : '',
|
||||||
|
'ejs' : '',
|
||||||
|
'elf' : '',
|
||||||
|
'elm' : '',
|
||||||
|
'epub' : '',
|
||||||
|
'erl' : '',
|
||||||
|
'ex' : '',
|
||||||
|
'exe' : '',
|
||||||
|
'exs' : '',
|
||||||
|
'f#' : '',
|
||||||
|
'fifo' : 'ﳣ',
|
||||||
|
'fish' : '',
|
||||||
|
'flac' : '',
|
||||||
|
'flv' : '',
|
||||||
|
'fs' : '',
|
||||||
|
'fsi' : '',
|
||||||
|
'fsscript' : '',
|
||||||
|
'fsx' : '',
|
||||||
|
'gem' : '',
|
||||||
|
'gemspec' : '',
|
||||||
|
'gif' : '',
|
||||||
|
'go' : '',
|
||||||
|
'gz' : '',
|
||||||
|
'gzip' : '',
|
||||||
|
'h' : '',
|
||||||
|
'haml' : '',
|
||||||
|
'hbs' : '',
|
||||||
|
'hh' : '',
|
||||||
|
'hpp' : '',
|
||||||
|
'hrl' : '',
|
||||||
|
'hs' : '',
|
||||||
|
'htaccess' : '',
|
||||||
|
'htm' : '',
|
||||||
|
'html' : '',
|
||||||
|
'htpasswd' : '',
|
||||||
|
'hxx' : '',
|
||||||
|
'ico' : '',
|
||||||
|
'img' : '',
|
||||||
|
'ini' : '',
|
||||||
|
'iso' : '',
|
||||||
|
'jar' : '',
|
||||||
|
'java' : '',
|
||||||
|
'jl' : '',
|
||||||
|
'jpeg' : '',
|
||||||
|
'jpg' : '',
|
||||||
|
'js' : '',
|
||||||
|
'json' : '',
|
||||||
|
'jsx' : '',
|
||||||
|
'key' : '',
|
||||||
|
'ksh' : '',
|
||||||
|
'leex' : '',
|
||||||
|
'less' : '',
|
||||||
|
'lha' : '',
|
||||||
|
'lhs' : '',
|
||||||
|
'log' : '',
|
||||||
|
'lua' : '',
|
||||||
|
'lzh' : '',
|
||||||
|
'lzma' : '',
|
||||||
|
'm4a' : '',
|
||||||
|
'm4v' : '',
|
||||||
|
'markdown' : '',
|
||||||
|
'md' : '',
|
||||||
|
'mdx' : '',
|
||||||
|
'mjs' : '',
|
||||||
|
'mkv' : '',
|
||||||
|
'ml' : 'λ',
|
||||||
|
'mli' : 'λ',
|
||||||
|
'mov' : '',
|
||||||
|
'mp3' : '',
|
||||||
|
'mp4' : '',
|
||||||
|
'mpeg' : '',
|
||||||
|
'mpg' : '',
|
||||||
|
'msi' : '',
|
||||||
|
'mustache' : '',
|
||||||
|
'nix' : '',
|
||||||
|
'o' : '',
|
||||||
|
'ogg' : '',
|
||||||
|
'part' : '',
|
||||||
|
'pdf' : '',
|
||||||
|
'php' : '',
|
||||||
|
'pl' : '',
|
||||||
|
'pm' : '',
|
||||||
|
'png' : '',
|
||||||
|
'pp' : '',
|
||||||
|
'ppt' : '',
|
||||||
|
'pptx' : '',
|
||||||
|
'ps1' : '',
|
||||||
|
'psb' : '',
|
||||||
|
'psd' : '',
|
||||||
|
'pub' : '',
|
||||||
|
'py' : '',
|
||||||
|
'pyc' : '',
|
||||||
|
'pyd' : '',
|
||||||
|
'pyo' : '',
|
||||||
|
'r' : 'ﳒ',
|
||||||
|
'rake' : '',
|
||||||
|
'rar' : '',
|
||||||
|
'rb' : '',
|
||||||
|
'rc' : '',
|
||||||
|
'rlib' : '',
|
||||||
|
'rmd' : '',
|
||||||
|
'rom' : '',
|
||||||
|
'rpm' : '',
|
||||||
|
'rproj' : '鉶',
|
||||||
|
'rs' : '',
|
||||||
|
'rss' : '',
|
||||||
|
'rtf' : '',
|
||||||
|
's' : '',
|
||||||
|
'sass' : '',
|
||||||
|
'scala' : '',
|
||||||
|
'scss' : '',
|
||||||
|
'sh' : '',
|
||||||
|
'slim' : '',
|
||||||
|
'sln' : '',
|
||||||
|
'so' : '',
|
||||||
|
'sql' : '',
|
||||||
|
'styl' : '',
|
||||||
|
'suo' : '',
|
||||||
|
'swift' : '',
|
||||||
|
't' : '',
|
||||||
|
'tar' : '',
|
||||||
|
'tex' : 'ﭨ',
|
||||||
|
'tgz' : '',
|
||||||
|
'toml' : '',
|
||||||
|
'torrent' : '',
|
||||||
|
'ts' : '',
|
||||||
|
'tsx' : '',
|
||||||
|
'twig' : '',
|
||||||
|
'vim' : '',
|
||||||
|
'vimrc' : '',
|
||||||
|
'vue' : '﵂',
|
||||||
|
'wav' : '',
|
||||||
|
'webm' : '',
|
||||||
|
'webmanifest' : '',
|
||||||
|
'webp' : '',
|
||||||
|
'xbps' : '',
|
||||||
|
'xcplayground' : '',
|
||||||
|
'xhtml' : '',
|
||||||
|
'xls' : '',
|
||||||
|
'xlsx' : '',
|
||||||
|
'xml' : '',
|
||||||
|
'xul' : '',
|
||||||
|
'xz' : '',
|
||||||
|
'yaml' : '',
|
||||||
|
'yml' : '',
|
||||||
|
'zip' : '',
|
||||||
|
'zsh' : '',
|
||||||
|
}
|
||||||
|
|
||||||
|
dir_node_exact_matches = {
|
||||||
|
# English
|
||||||
|
'.git' : '',
|
||||||
|
'Desktop' : '',
|
||||||
|
'Documents' : '',
|
||||||
|
'Downloads' : '',
|
||||||
|
'Dotfiles' : '',
|
||||||
|
'Dropbox' : '',
|
||||||
|
'Music' : '',
|
||||||
|
'Pictures' : '',
|
||||||
|
'Public' : '',
|
||||||
|
'Templates' : '',
|
||||||
|
'Videos' : '',
|
||||||
|
# Spanish
|
||||||
|
'Escritorio' : '',
|
||||||
|
'Documentos' : '',
|
||||||
|
'Descargas' : '',
|
||||||
|
'Música' : '',
|
||||||
|
'Imágenes' : '',
|
||||||
|
'Público' : '',
|
||||||
|
'Plantillas' : '',
|
||||||
|
'Vídeos' : '',
|
||||||
|
# French
|
||||||
|
'Bureau' : '',
|
||||||
|
'Documents' : '',
|
||||||
|
'Images' : '',
|
||||||
|
'Musique' : '',
|
||||||
|
'Publique' : '',
|
||||||
|
'Téléchargements' : '',
|
||||||
|
'Vidéos' : '',
|
||||||
|
# Portuguese
|
||||||
|
'Documentos' : '',
|
||||||
|
'Imagens' : '',
|
||||||
|
'Modelos' : '',
|
||||||
|
'Música' : '',
|
||||||
|
'Público' : '',
|
||||||
|
'Vídeos' : '',
|
||||||
|
'Área de trabalho' : '',
|
||||||
|
# Italian
|
||||||
|
'Documenti' : '',
|
||||||
|
'Immagini' : '',
|
||||||
|
'Modelli' : '',
|
||||||
|
'Musica' : '',
|
||||||
|
'Pubblici' : '',
|
||||||
|
'Scaricati' : '',
|
||||||
|
'Scrivania' : '',
|
||||||
|
'Video' : '',
|
||||||
|
# German
|
||||||
|
'Bilder' : '',
|
||||||
|
'Dokumente' : '',
|
||||||
|
'Musik' : '',
|
||||||
|
'Schreibtisch' : '',
|
||||||
|
'Vorlagen' : '',
|
||||||
|
'Öffentlich' : '',
|
||||||
|
# Hungarian
|
||||||
|
'Dokumentumok' : '',
|
||||||
|
'Képek' : '',
|
||||||
|
'Modelli' : '',
|
||||||
|
'Zene' : '',
|
||||||
|
'Letöltések' : '',
|
||||||
|
'Számítógép' : '',
|
||||||
|
'Videók' : '',
|
||||||
|
# XDG_USER_DIRS
|
||||||
|
**xdgs_dirs
|
||||||
|
}
|
||||||
|
|
||||||
|
file_node_exact_matches = {
|
||||||
|
'.bash_aliases' : '',
|
||||||
|
'.bash_history' : '',
|
||||||
|
'.bash_logout' : '',
|
||||||
|
'.bash_profile' : '',
|
||||||
|
'.bashprofile' : '',
|
||||||
|
'.bashrc' : '',
|
||||||
|
'.dmrc' : '',
|
||||||
|
'.DS_Store' : '',
|
||||||
|
'.fasd' : '',
|
||||||
|
'.fehbg' : '',
|
||||||
|
'.gitattributes' : '',
|
||||||
|
'.gitconfig' : '',
|
||||||
|
'.gitignore' : '',
|
||||||
|
'.gitlab-ci.yml' : '',
|
||||||
|
'.gvimrc' : '',
|
||||||
|
'.inputrc' : '',
|
||||||
|
'.jack-settings' : '',
|
||||||
|
'.mime.types' : '',
|
||||||
|
'.ncmpcpp' : '',
|
||||||
|
'.nvidia-settings-rc' : '',
|
||||||
|
'.pam_environment' : '',
|
||||||
|
'.profile' : '',
|
||||||
|
'.recently-used' : '',
|
||||||
|
'.selected_editor' : '',
|
||||||
|
'.vim' : '',
|
||||||
|
'.viminfo' : '',
|
||||||
|
'.vimrc' : '',
|
||||||
|
'.Xauthority' : '',
|
||||||
|
'.Xdefaults' : '',
|
||||||
|
'.xinitrc' : '',
|
||||||
|
'.xinputrc' : '',
|
||||||
|
'.Xresources' : '',
|
||||||
|
'.zshrc' : '',
|
||||||
|
'_gvimrc' : '',
|
||||||
|
'_vimrc' : '',
|
||||||
|
'a.out' : '',
|
||||||
|
'authorized_keys' : '',
|
||||||
|
'bspwmrc' : '',
|
||||||
|
'cmakelists.txt' : '',
|
||||||
|
'config' : '',
|
||||||
|
'config.ac' : '',
|
||||||
|
'config.m4' : '',
|
||||||
|
'config.mk' : '',
|
||||||
|
'config.ru' : '',
|
||||||
|
'configure' : '',
|
||||||
|
'docker-compose.yml' : '',
|
||||||
|
'dockerfile' : '',
|
||||||
|
'Dockerfile' : '',
|
||||||
|
'dropbox' : '',
|
||||||
|
'exact-match-case-sensitive-1.txt' : 'X1',
|
||||||
|
'exact-match-case-sensitive-2' : 'X2',
|
||||||
|
'favicon.ico' : '',
|
||||||
|
'gemfile' : '',
|
||||||
|
'gruntfile.coffee' : '',
|
||||||
|
'gruntfile.js' : '',
|
||||||
|
'gruntfile.ls' : '',
|
||||||
|
'gulpfile.coffee' : '',
|
||||||
|
'gulpfile.js' : '',
|
||||||
|
'gulpfile.ls' : '',
|
||||||
|
'ini' : '',
|
||||||
|
'known_hosts' : '',
|
||||||
|
'ledger' : '',
|
||||||
|
'license' : '',
|
||||||
|
'LICENSE' : '',
|
||||||
|
'LICENSE.md' : '',
|
||||||
|
'LICENSE.txt' : '',
|
||||||
|
'Makefile' : '',
|
||||||
|
'makefile' : '',
|
||||||
|
'Makefile.ac' : '',
|
||||||
|
'Makefile.in' : '',
|
||||||
|
'mimeapps.list' : '',
|
||||||
|
'mix.lock' : '',
|
||||||
|
'node_modules' : '',
|
||||||
|
'package-lock.json' : '',
|
||||||
|
'package.json' : '',
|
||||||
|
'playlists' : '',
|
||||||
|
'procfile' : '',
|
||||||
|
'Rakefile' : '',
|
||||||
|
'rakefile' : '',
|
||||||
|
'react.jsx' : '',
|
||||||
|
'README' : '',
|
||||||
|
'README.markdown' : '',
|
||||||
|
'README.md' : '',
|
||||||
|
'README.rst' : '',
|
||||||
|
'README.txt' : '',
|
||||||
|
'sxhkdrc' : '',
|
||||||
|
'user-dirs.dirs' : '',
|
||||||
|
'webpack.config.js' : '',
|
||||||
|
}
|
||||||
|
|
||||||
|
def devicon(file):
|
||||||
|
if file.is_directory: return dir_node_exact_matches.get(file.relative_path, '')
|
||||||
|
return file_node_exact_matches.get(os.path.basename(file.relative_path), file_node_extensions.get(file.extension, ''))
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
# How many columns are there, and what are their relative widths?
|
||||||
|
set column_ratios 1,3,5
|
||||||
|
|
||||||
|
# Ask for a confirmation when running the "delete" command?
|
||||||
|
# Valid values are "always", "never", "multiple" (default)
|
||||||
|
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||||
|
#Always confirm delete.
|
||||||
|
#set confirm_on_delete always
|
||||||
|
|
||||||
|
# Which colorscheme to use? These colorschemes are available by default:
|
||||||
|
# default, jungle, snow, solarized
|
||||||
|
set colorscheme jungle
|
||||||
|
|
||||||
|
#The files preview is a nice feature but it slowing down ranger, so can be preferable to turn it off. Look for:
|
||||||
|
# Preview files on the rightmost column?
|
||||||
|
# And collapse (shrink) the last column if there is nothing to preview?
|
||||||
|
# set preview_files true
|
||||||
|
# set preview_directories true
|
||||||
|
# set collapse_preview true
|
||||||
|
|
||||||
|
set show_hidden true
|
||||||
|
set draw_borders both
|
||||||
|
set preview_images true
|
||||||
|
set preview_images_method ueberzug
|
||||||
|
default_linemode devicons
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Use neovim for vim if present
|
||||||
|
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
|
||||||
|
|
||||||
|
alias \
|
||||||
|
zconf='nvim ~/.config/zsh/.zshrc' \
|
||||||
|
ls='exa -a --group-directories-first --icons' \
|
||||||
|
lsa='exa -la --group-directories-first --icons' \
|
||||||
|
ytdl='yt-dlp' \
|
||||||
|
ytdlv='yt-dlp -f "(mp4)"' \
|
||||||
|
ytdlm='yt-dlp -f "(mp3)"' \
|
||||||
|
cl='clear' \
|
||||||
|
dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' \
|
||||||
|
fm='ranger' \
|
||||||
|
|
||||||
|
# Verbosity and settings that you pretty much just always are going to want.
|
||||||
|
alias \
|
||||||
|
cp="cp -iv" \
|
||||||
|
mv="mv -iv" \
|
||||||
|
rm="rm -vI" \
|
||||||
|
|
||||||
|
# Colorize commands when possible.
|
||||||
|
alias \
|
||||||
|
grep="grep --color=auto" \
|
||||||
|
diff="diff --color=auto" \
|
||||||
|
ip="ip -color=auto"
|
||||||
|
|
||||||
|
ec() {find ~/.config -type f | fzf | xargs -r $EDITOR ;}
|
||||||
|
es() {find ~/.local/bin -type f | fzf | xargs -r $EDITOR ;}
|
||||||
|
ef() {fzf | xargs -r -I % $EDITOR % ;}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export TERMINAL="st"
|
||||||
|
export BROWSER="firefox"
|
||||||
|
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
|
||||||
|
export XAUTHORITY=/tmp/Xauthority # This causes other window managers to break, who cares anyways?
|
||||||
|
export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
|
||||||
|
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||||
|
export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc"
|
||||||
|
# export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||||
|
export KODI_DATA="$XDG_DATA_HOME/kodi"
|
||||||
|
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||||
|
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
||||||
|
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||||
|
#export LESSHISTFILE="-"
|
||||||
|
export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
|
||||||
|
# export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
|
||||||
|
export __GL_SHADER_DISK_CACHE_PATH=~/.cache/
|
||||||
|
|
||||||
|
# Other program settings
|
||||||
|
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
|
||||||
|
|
||||||
|
export PATH=$PATH:$HOME/.local/bin
|
||||||
|
|
||||||
|
# Starting X
|
||||||
|
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
|
||||||
|
exec startx
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
#emoji menu
|
||||||
|
# super + period
|
||||||
|
super + grave
|
||||||
|
unicode_emoji
|
||||||
|
|
||||||
|
# swap cap if stops working
|
||||||
|
super + c
|
||||||
|
setxkbmap -option caps:swapescape
|
||||||
|
# Screenshot tool
|
||||||
|
Print
|
||||||
|
maimshot
|
||||||
|
|
||||||
|
# file explorer
|
||||||
|
super + shift + f
|
||||||
|
pcmanfm
|
||||||
|
|
||||||
|
# web browser
|
||||||
|
super + shift + b
|
||||||
|
firefox
|
||||||
|
|
||||||
|
# make sxhkd reload its configuration files:
|
||||||
|
super + Escape
|
||||||
|
pkill -USR1 -x sxhkd
|
||||||
|
|
||||||
|
# Volume
|
||||||
|
XF86Audio{RaiseVolume,LowerVolume,Mute}
|
||||||
|
pamixer -{i,d,t} 2; kill -34 $(cat ~/.cache/pidofbar)
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
while read file
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
"d")
|
||||||
|
[ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
|
||||||
|
"w")
|
||||||
|
genwall $file
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
# This file is written by xdg-user-dirs-update
|
||||||
|
# If you want to change or add directories, just edit the line you're
|
||||||
|
# interested in. All local changes will be retained on the next run.
|
||||||
|
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||||
|
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||||
|
# absolute path. No other format is supported.
|
||||||
|
#
|
||||||
|
XDG_DESKTOP_DIR="$HOME/"
|
||||||
|
XDG_DOWNLOAD_DIR="$HOME/dl"
|
||||||
|
XDG_TEMPLATES_DIR="$HOME/"
|
||||||
|
XDG_PUBLICSHARE_DIR="$HOME/"
|
||||||
|
XDG_DOCUMENTS_DIR="$HOME/dox"
|
||||||
|
XDG_MUSIC_DIR="$HOME/"
|
||||||
|
XDG_PICTURES_DIR="$HOME/pix"
|
||||||
|
XDG_VIDEOS_DIR="$HOME/vids"
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
# New Start: A modern Arch workflow built with an emphasis on functionality.
|
||||||
|
# Copyright (C) 2018 Donovan Glover
|
||||||
|
|
||||||
|
# NOTE: This file is automatically generated by pywal. Do not edit it by hand.
|
||||||
|
|
||||||
|
[global]
|
||||||
|
# Make the width 3740 (3840 - 100), have 50 left margin and 95 above
|
||||||
|
# geometry = "3740x5-50+95"
|
||||||
|
offset = 3x20
|
||||||
|
|
||||||
|
# Show multiple notifications in the same box
|
||||||
|
separator_height = 0
|
||||||
|
|
||||||
|
# Add vertical padding to the inside of the notification
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Add horizontal padding for when the text gets long enough
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# The frame color and width of the notification
|
||||||
|
frame_color = "{color6}"
|
||||||
|
frame_width = 2
|
||||||
|
|
||||||
|
# How long a user needs to be idle for sticky notifications
|
||||||
|
idle_threshold = 120
|
||||||
|
|
||||||
|
# Font and typography settings
|
||||||
|
font = Hack Nerd Font 10
|
||||||
|
alignment = left
|
||||||
|
word_wrap = yes
|
||||||
|
|
||||||
|
# Format for how notifications will be displayed
|
||||||
|
# Usage: `notify-send 'Title' 'Summary'`
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Allow some HTML tags like <i> and <u> in notifications
|
||||||
|
markup = full
|
||||||
|
max_icon_size = 120
|
||||||
|
transparency = 5
|
||||||
|
|
||||||
|
# These are the keybindings used to control dunst notifications
|
||||||
|
[shortcuts]
|
||||||
|
close = ctrl+space
|
||||||
|
close_all = ctrl+shift+space
|
||||||
|
history = ctrl+grave
|
||||||
|
|
||||||
|
# Set the background and foreground (text) color for all notifications
|
||||||
|
[urgency_low]
|
||||||
|
background = "{background}"
|
||||||
|
foreground = "{foreground}"
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "{background}"
|
||||||
|
foreground = "{foreground}"
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "{background}"
|
||||||
|
foreground = "{foreground}"
|
||||||
|
|
||||||
|
# vim:ft=cfg
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
slstatus &
|
||||||
|
setwall &
|
||||||
|
xcompmgr &
|
||||||
|
dunst &
|
||||||
|
sxhkd &
|
||||||
|
# xmodmap ~/.config/xmodmap/Xmodmap &
|
||||||
|
setxkbmap -option caps:swapescape
|
||||||
|
# exec dwm > /dev/null 2>&1
|
||||||
|
|
||||||
|
while type dwm > /dev/null ; do dwm && continue || break ; done
|
||||||
|
exec dwm
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
set sandbox none
|
||||||
|
set statusbar-h-padding 0
|
||||||
|
set statusbar-v-padding 0
|
||||||
|
set page-padding 1
|
||||||
|
set selection-clipboard clipboard
|
||||||
|
map u scroll half-up
|
||||||
|
map d scroll half-down
|
||||||
|
map D toggle_page_mode
|
||||||
|
map r reload
|
||||||
|
map R rotate
|
||||||
|
map K zoom in
|
||||||
|
map J zoom out
|
||||||
|
map i recolor
|
||||||
|
map p print
|
||||||
|
map g goto top
|
||||||
|
|
||||||
|
/* set notification-error-bg "#282828" # bg */
|
||||||
|
/* set notification-error-fg "#fb4934" # bright:red */
|
||||||
|
/* set notification-warning-bg "#282828" # bg */
|
||||||
|
/* set notification-warning-fg "#fabd2f" # bright:yellow */
|
||||||
|
/* set notification-bg "#282828" # bg */
|
||||||
|
/* set notification-fg "#b8bb26" # bright:green */
|
||||||
|
|
||||||
|
/* set completion-bg "#504945" # bg2 */
|
||||||
|
/* set completion-fg "#ebdbb2" # fg */
|
||||||
|
/* set completion-group-bg "#3c3836" # bg1 */
|
||||||
|
/* set completion-group-fg "#928374" # gray */
|
||||||
|
/* set completion-highlight-bg "#83a598" # bright:blue */
|
||||||
|
/* set completion-highlight-fg "#504945" # bg2 */
|
||||||
|
|
||||||
|
/* # Define the color in index mode */
|
||||||
|
/* set index-bg "#504945" # bg2 */
|
||||||
|
/* set index-fg "#ebdbb2" # fg */
|
||||||
|
/* set index-active-bg "#83a598" # bright:blue */
|
||||||
|
/* set index-active-fg "#504945" # bg2 */
|
||||||
|
|
||||||
|
/* set inputbar-bg "#282828" # bg */
|
||||||
|
/* set inputbar-fg "#ebdbb2" # fg */
|
||||||
|
|
||||||
|
/* set statusbar-bg "#504945" # bg2 */
|
||||||
|
/* set statusbar-fg "#ebdbb2" # fg */
|
||||||
|
|
||||||
|
/* set highlight-color "#fabd2f" # bright:yellow */
|
||||||
|
/* set highlight-active-color "#fe8019" # bright:orange */
|
||||||
|
|
||||||
|
/* set default-bg "#282828" # bg */
|
||||||
|
/* set default-fg "#D4BE98" # fg */
|
||||||
|
/* set render-loading true */
|
||||||
|
/* set render-loading-bg "#282828" # bg */
|
||||||
|
/* set render-loading-fg "#ebdbb2" # fg */
|
||||||
|
|
||||||
|
/* # Recolor book content's color */
|
||||||
|
/* set recolor-lightcolor "#282828" # bg */
|
||||||
|
/* set recolor-darkcolor "#ebdbb2" # fg */
|
||||||
|
/* set recolor "true" */
|
||||||
|
/* # set recolor-keephue true # keep original color */
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
autoload -U colors && colors # Load colors
|
||||||
|
PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
|
||||||
|
setopt autocd # Automatically cd into typed directory.
|
||||||
|
stty stop undef # Disable ctrl-s to freeze terminal.
|
||||||
|
|
||||||
|
# History in cache directory:
|
||||||
|
HISTSIZE=1000
|
||||||
|
SAVEHIST=1000
|
||||||
|
HISTFILE=~/.cache/history
|
||||||
|
|
||||||
|
source "$XDG_CONFIG_HOME/shell/aliasrc"
|
||||||
|
|
||||||
|
# Basic auto/tab complete:
|
||||||
|
autoload -U compinit
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
zmodload zsh/complist
|
||||||
|
compinit
|
||||||
|
_comp_options+=(globdots) # Include hidden files.
|
||||||
|
|
||||||
|
# Enable searching through history
|
||||||
|
bindkey '^R' history-incremental-pattern-search-backward
|
||||||
|
|
||||||
|
cowsay "$(shuf -n 1 ~/.local/share/vocab/words.txt)"
|
||||||
|
|
||||||
|
#should be last.
|
||||||
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
bssid=$(nmcli device wifi list | sed -n '1!p' | cut -b 9- | dmenu -p "Select wifi:" -l 20 | cut -d' ' -f1)
|
||||||
|
pass=$(echo "" | dmenu -P -p "Enter Password: ")
|
||||||
|
nmcli device wifi connect $bssid password $pass
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Gives a dmenu prompt to mount unmounted drives and Android phones. If
|
||||||
|
# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll
|
||||||
|
# be prompted to give a mountpoint from already existsing directories. If you
|
||||||
|
# input a novel directory, it will prompt you to create that directory.
|
||||||
|
|
||||||
|
getmount() { \
|
||||||
|
[ -z "$chosen" ] && exit 1
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")" || exit 1
|
||||||
|
test -z "$mp" && exit 1
|
||||||
|
if [ ! -d "$mp" ]; then
|
||||||
|
mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?") || exit 1
|
||||||
|
[ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
mountusb() { \
|
||||||
|
chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?")" || exit 1
|
||||||
|
chosen="$(echo "$chosen" | awk '{print $1}')"
|
||||||
|
sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0
|
||||||
|
alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not ( -path *%s -prune ) ",$3}')
|
||||||
|
getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
|
||||||
|
partitiontype="$(lsblk -no "fstype" "$chosen")"
|
||||||
|
case "$partitiontype" in
|
||||||
|
"vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
|
||||||
|
"exfat") sudo -A mount "$chosen" "$mp" -o uid="$(id -u)",gid="$(id -g)";;
|
||||||
|
*) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
|
||||||
|
esac
|
||||||
|
notify-send "💻 USB mounting" "$chosen mounted to $mp."
|
||||||
|
}
|
||||||
|
|
||||||
|
mountandroid() { \
|
||||||
|
chosen="$(echo "$anddrives" | dmenu -i -p "Which Android device?")" || exit 1
|
||||||
|
chosen="$(echo "$chosen" | cut -d : -f 1)"
|
||||||
|
getmount "$HOME -maxdepth 3 -type d"
|
||||||
|
simple-mtpfs --device "$chosen" "$mp"
|
||||||
|
echo "OK" | dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1
|
||||||
|
simple-mtpfs --device "$chosen" "$mp"
|
||||||
|
notify-send "🤖 Android Mounting" "Android device mounted to $mp."
|
||||||
|
}
|
||||||
|
|
||||||
|
asktype() { \
|
||||||
|
choice="$(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?")" || exit 1
|
||||||
|
case $choice in
|
||||||
|
USB) mountusb ;;
|
||||||
|
Android) mountandroid ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
anddrives=$(simple-mtpfs -l 2>/dev/null)
|
||||||
|
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')"
|
||||||
|
|
||||||
|
if [ -z "$usbdrives" ]; then
|
||||||
|
[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
|
||||||
|
echo "Android device(s) detected."
|
||||||
|
mountandroid
|
||||||
|
else
|
||||||
|
if [ -z "$anddrives" ]; then
|
||||||
|
echo "USB drive(s) detected."
|
||||||
|
mountusb
|
||||||
|
else
|
||||||
|
echo "Mountable USB drive(s) and Android device(s) detected."
|
||||||
|
asktype
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# A general, all-purpose extraction script. Not all extraction programs here
|
||||||
|
# are installed by LARBS automatically.
|
||||||
|
#
|
||||||
|
# Default behavior: Extract archive into new directory
|
||||||
|
# Behavior with `-c` option: Extract contents into current directory
|
||||||
|
|
||||||
|
while getopts "hc" o; do case "${o}" in
|
||||||
|
c) extracthere="True" ;;
|
||||||
|
*) printf "Options:\\n -c: Extract archive into current directory rather than a new one.\\n" && exit 1 ;;
|
||||||
|
esac done
|
||||||
|
|
||||||
|
if [ -z "$extracthere" ]; then
|
||||||
|
archive="$(readlink -f "$*")" &&
|
||||||
|
directory="$(echo "$archive" | sed 's/\.[^\/.]*$//')" &&
|
||||||
|
mkdir -p "$directory" &&
|
||||||
|
cd "$directory" || exit 1
|
||||||
|
else
|
||||||
|
archive="$(readlink -f "$(echo "$*" | cut -d' ' -f2)" 2>/dev/null)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$archive" ] && printf "Give archive to extract as argument.\\n" && exit 1
|
||||||
|
|
||||||
|
if [ -f "$archive" ] ; then
|
||||||
|
case "$archive" in
|
||||||
|
*.tar.bz2|*.tbz2) bsdtar -xf "$archive" ;;
|
||||||
|
*.tar.xz) bsdtar -xf "$archive" ;;
|
||||||
|
*.tar.gz|*.tgz) bsdtar -xf "$archive" ;;
|
||||||
|
*.tar.zst) bsdtar -xf "$archive" ;;
|
||||||
|
*.tar) bsdtar -xf "$archive" ;;
|
||||||
|
*.lzma) unlzma "$archive" ;;
|
||||||
|
*.bz2) bunzip2 "$archive" ;;
|
||||||
|
*.rar) unrar x -ad "$archive" ;;
|
||||||
|
*.gz) gunzip "$archive" ;;
|
||||||
|
*.zip) unzip "$archive" ;;
|
||||||
|
*.Z) uncompress "$archive" ;;
|
||||||
|
*.7z) 7z x "$archive" ;;
|
||||||
|
*.xz) unxz "$archive" ;;
|
||||||
|
*.exe) cabextract "$archive" ;;
|
||||||
|
*) printf "extract: '%s' - unknown archive method\\n" "$archive" ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
printf "File \"%s\" not found.\\n" "$archive"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Dependencies:
|
||||||
|
# convert wal xdotool xwallpaper
|
||||||
|
|
||||||
|
wall_dir=~/pix/wall
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
wall="$(find "$wall_dir" -type f -name "*.jpg" -o -name "*.png" | shuf -n1)"
|
||||||
|
else
|
||||||
|
wall="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
convert "$wall" ~/.local/share/bg.jpg
|
||||||
|
xwallpaper --zoom ~/.local/share/bg.jpg
|
||||||
|
wal -c
|
||||||
|
wal -i ~/.local/share/bg.jpg
|
||||||
|
xdotool key super+F5
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Feed script a url or file location.
|
||||||
|
# If an image, it will view in sxiv,
|
||||||
|
# if a video or gif, it will view in mpv
|
||||||
|
# if a music file or pdf, it will download,
|
||||||
|
# otherwise it opens link in browser.
|
||||||
|
|
||||||
|
# If no url given. Opens browser. For using script as $BROWSER.
|
||||||
|
[ -z "$1" ] && { "$BROWSER"; exit; }
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*|*videos.lukesmith.xyz*|*odysee.com*)
|
||||||
|
setsid -f mpv -quiet "$1" >/dev/null 2>&1 ;;
|
||||||
|
*png|*jpg|*jpe|*jpeg|*gif)
|
||||||
|
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
|
||||||
|
*pdf|*cbz|*cbr)
|
||||||
|
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
|
||||||
|
*mp3|*flac|*opus|*mp3?source*)
|
||||||
|
qndl "$1" 'curl -LO' >/dev/null 2>&1 ;;
|
||||||
|
*)
|
||||||
|
[ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
|
||||||
|
esac
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
case "$(printf "a selected area (copy)\\ncurrent window (copy)\\nfull screen (copy)\\na selected area\\ncurrent window\\nfull screen" | dmenu -l 6 -i -p "Screenshot which area?")" in
|
||||||
|
"a selected area (copy)") maim -s | xclip -selection clipboard -t image/png ;;
|
||||||
|
"current window (copy)") maim -i "$(xdotool getactivewindow)" | xclip -selection clipboard -t image/png ;;
|
||||||
|
"full screen (copy)") sleep 0.2 ; maim | xclip -selection clipboard -t image/png ;;
|
||||||
|
"a selected area") maim -s ~/pix/ss/pic-selected-"$(date '+%y-%m-%d-%H-%M').png" ;;
|
||||||
|
"current window") maim -i "$(xdotool getactivewindow)" ~/pix/ss/pic-window-"$(date '+%y-%m-%d-%H-%M').png" ;;
|
||||||
|
"full screen") sleep 0.2 ; maim ~/pix/ss/pic-full-"$(date '+%y-%m-%d-%H-%M').png" ;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
word=$(dmenu -p "Enter Word: " <&-)
|
||||||
|
mean=$(dmenu -p "Enter Meaning: " <&-)
|
||||||
|
|
||||||
|
echo "$word -> $mean" >> ~/.local/share/vocab/words.txt
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
xwallpaper --zoom ~/.local/share/bg.jpg
|
||||||
|
wal -c
|
||||||
|
wal -i ~/.local/share/bg.jpg
|
||||||
|
xdotool key super+F5
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
i=0
|
||||||
|
|
||||||
|
while [ $i -le 100 ]
|
||||||
|
do
|
||||||
|
xdotool type "$1" ;xdotool key KP_Enter; sleep 1 ;
|
||||||
|
|
||||||
|
done
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
LD_PRELOAD=/usr/local/lib/spotify-adblock.so spotify
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Mimeapp script for adding torrent to transmission-daemon, but will also start the daemon first if not running.
|
||||||
|
|
||||||
|
# transmission-daemon sometimes fails to take remote requests in its first moments, hence the sleep.
|
||||||
|
|
||||||
|
pidof transmission-daemon >/dev/null || (transmission-daemon && notify-send "Starting transmission daemon...")
|
||||||
|
sleep 3
|
||||||
|
transmission-remote -a "$@" && notify-send "🔽 Torrent added."
|
||||||
|
|
@ -0,0 +1,83 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# ufetch-arch - tiny system info for arch
|
||||||
|
|
||||||
|
## INFO
|
||||||
|
|
||||||
|
# user is already defined
|
||||||
|
host="$(cat /etc/hostname)"
|
||||||
|
os='Arch Linux'
|
||||||
|
kernel="$(uname -sr)"
|
||||||
|
uptime="$(uptime -p | sed 's/up //')"
|
||||||
|
packages="$(pacman -Q | wc -l)"
|
||||||
|
shell="$(basename "${SHELL}")"
|
||||||
|
|
||||||
|
## UI DETECTION
|
||||||
|
|
||||||
|
parse_rcs() {
|
||||||
|
for f in "${@}"; do
|
||||||
|
wm="$(tail -n 1 "${f}" 2> /dev/null | cut -d ' ' -f 2)"
|
||||||
|
[ -n "${wm}" ] && echo "${wm}" && return
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
rcwm="$(parse_rcs "${HOME}/.xinitrc" "${HOME}/.xsession")"
|
||||||
|
|
||||||
|
ui='unknown'
|
||||||
|
uitype='UI'
|
||||||
|
if [ -n "${DE}" ]; then
|
||||||
|
ui="${DE}"
|
||||||
|
uitype='DE'
|
||||||
|
elif [ -n "${WM}" ]; then
|
||||||
|
ui="${WM}"
|
||||||
|
uitype='WM'
|
||||||
|
elif [ -n "${XDG_CURRENT_DESKTOP}" ]; then
|
||||||
|
ui="${XDG_CURRENT_DESKTOP}"
|
||||||
|
uitype='DE'
|
||||||
|
elif [ -n "${DESKTOP_SESSION}" ]; then
|
||||||
|
ui="${DESKTOP_SESSION}"
|
||||||
|
uitype='DE'
|
||||||
|
elif [ -n "${rcwm}" ]; then
|
||||||
|
ui="${rcwm}"
|
||||||
|
uitype='WM'
|
||||||
|
elif [ -n "${XDG_SESSION_TYPE}" ]; then
|
||||||
|
ui="${XDG_SESSION_TYPE}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ui="$(basename "${ui}")"
|
||||||
|
|
||||||
|
## DEFINE COLORS
|
||||||
|
|
||||||
|
# probably don't change these
|
||||||
|
if [ -x "$(command -v tput)" ]; then
|
||||||
|
bold="$(tput bold)"
|
||||||
|
black="$(tput setaf 0)"
|
||||||
|
red="$(tput setaf 1)"
|
||||||
|
green="$(tput setaf 2)"
|
||||||
|
yellow="$(tput setaf 3)"
|
||||||
|
blue="$(tput setaf 4)"
|
||||||
|
magenta="$(tput setaf 5)"
|
||||||
|
cyan="$(tput setaf 6)"
|
||||||
|
white="$(tput setaf 7)"
|
||||||
|
reset="$(tput sgr0)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# you can change these
|
||||||
|
lc="${reset}${bold}${blue}" # labels
|
||||||
|
nc="${reset}${bold}${blue}" # user and hostname
|
||||||
|
ic="${reset}" # info
|
||||||
|
c0="${reset}${blue}" # first color
|
||||||
|
|
||||||
|
## OUTPUT
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
|
||||||
|
${c0} /\\ ${nc}${USER}${ic}@${nc}${host}${reset}
|
||||||
|
${c0} / \\ ${lc}OS: ${ic}${os}${reset}
|
||||||
|
${c0} /\\ \\ ${lc}KERNEL: ${ic}${kernel}${reset}
|
||||||
|
${c0} / __ \\ ${lc}UPTIME: ${ic}${uptime}${reset}
|
||||||
|
${c0} / ( ) \\ ${lc}PACKAGES: ${ic}${packages}${reset}
|
||||||
|
${c0} / __| |__\\\\ ${lc}SHELL: ${ic}${shell}${reset}
|
||||||
|
${c0} /.\` \`.\\ ${lc}${uitype}: ${ic}${ui}${reset}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# The famous "get a menu of emojis to copy" script.
|
||||||
|
|
||||||
|
# Get user selection via dmenu from emoji file.
|
||||||
|
chosen=$(cut -d ';' -f1 ~/.local/share/emoji | dmenu -i -l 30 | sed "s/ .*//")
|
||||||
|
|
||||||
|
# Exit if none chosen.
|
||||||
|
[ -z "$chosen" ] && exit
|
||||||
|
|
||||||
|
xdotool type "$chosen"
|
||||||
|
printf "$chosen" | xclip -selection clipboard
|
||||||
|
notify-send "'$chosen' copied to clipboard." &
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
file=$1
|
||||||
|
else
|
||||||
|
file=$(find . -maxdepth 2 -type f | fzf)
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$file" ] && exit
|
||||||
|
|
||||||
|
curl -F"file=@$file" 0x0.st | xclip -sel c
|
||||||
|
notify-send "The url has been copied to your clipboard."
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
# Lists the current directory's files in Vim, so you can edit it and save to rename them
|
||||||
|
# USAGE: vimv [file1 file2]
|
||||||
|
# https://github.com/thameera/vimv
|
||||||
|
|
||||||
|
declare -r FILENAMES_FILE=$(mktemp "${TMPDIR:-/tmp}/vimv.XXX")
|
||||||
|
|
||||||
|
trap '{ rm -f "${FILENAMES_FILE}" ; }' EXIT
|
||||||
|
|
||||||
|
if [ $# -ne 0 ]; then
|
||||||
|
src=( "$@" )
|
||||||
|
else
|
||||||
|
IFS=$'\r\n' GLOBIGNORE='*' command eval 'src=($(ls))'
|
||||||
|
fi
|
||||||
|
|
||||||
|
for ((i=0;i<${#src[@]};++i)); do
|
||||||
|
echo "${src[i]}" >> "${FILENAMES_FILE}"
|
||||||
|
done
|
||||||
|
|
||||||
|
${EDITOR:-vi} "${FILENAMES_FILE}"
|
||||||
|
|
||||||
|
IFS=$'\r\n' GLOBIGNORE='*' command eval 'dest=($(cat "${FILENAMES_FILE}"))'
|
||||||
|
|
||||||
|
if (( ${#src[@]} != ${#dest[@]} )); then
|
||||||
|
echo "WARN: Number of files changed. Did you delete a line by accident? Aborting.." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
declare -i count=0
|
||||||
|
for ((i=0;i<${#src[@]};++i)); do
|
||||||
|
if [ "${src[i]}" != "${dest[i]}" ]; then
|
||||||
|
mkdir -p "$(dirname "${dest[i]}")"
|
||||||
|
if git ls-files --error-unmatch "${src[i]}" > /dev/null 2>&1; then
|
||||||
|
git mv "${src[i]}" "${dest[i]}"
|
||||||
|
else
|
||||||
|
mv "${src[i]}" "${dest[i]}"
|
||||||
|
fi
|
||||||
|
((++count))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "$count" files renamed.
|
||||||
|
|
@ -0,0 +1,158 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# https://github.com/pystardust/waldl
|
||||||
|
# script to find and download wallpapers from wallhaven
|
||||||
|
version="0.0.1"
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# waldl <query>
|
||||||
|
# if query left empty then sh_menu will be used (dmenu by default)
|
||||||
|
# after the thumbnails are cached, sxiv would open up with the thumbnails
|
||||||
|
# Select the wallpapers using `m` on the image. ( marking the image in sxiv )
|
||||||
|
# press `q` to quit sxiv, the marked images would start downloading
|
||||||
|
|
||||||
|
####################
|
||||||
|
## User variables ##
|
||||||
|
####################
|
||||||
|
|
||||||
|
# the dir where wallpapers are stored
|
||||||
|
walldir="$HOME/pix/wallhaven"
|
||||||
|
# the dir used to cache thumbnails
|
||||||
|
cachedir="$HOME/.cache/wallhaven"
|
||||||
|
# sxiv options
|
||||||
|
sxiv_otps=" -tfpo -z 200" # o is needed for selection
|
||||||
|
# number of pages to show in search results
|
||||||
|
# each page contains 24 results
|
||||||
|
max_pages=4
|
||||||
|
# sorting : date_added, relevance, random, views, favorites, toplist
|
||||||
|
sorting=relevance
|
||||||
|
# quality : large original small
|
||||||
|
quality=large
|
||||||
|
# atleast : least res
|
||||||
|
atleast=1920x1080
|
||||||
|
|
||||||
|
# the menu command used when no query is provided
|
||||||
|
sh_menu () {
|
||||||
|
: | dmenu -p "search wallhaven: "
|
||||||
|
# ROFI: comment the previous line and uncomment the next line for rofi
|
||||||
|
# rofi -dmenu -l 0 -p "search wallpapers"
|
||||||
|
}
|
||||||
|
|
||||||
|
##########################
|
||||||
|
## getting search query ##
|
||||||
|
##########################
|
||||||
|
|
||||||
|
[ -n "$*" ] && query="$*" || query=$( sh_menu )
|
||||||
|
[ -z "$query" ] && exit 1
|
||||||
|
query=$(printf '%s' "$query" | tr ' ' '+' )
|
||||||
|
|
||||||
|
######################
|
||||||
|
## start up commands #
|
||||||
|
######################
|
||||||
|
|
||||||
|
rm -rf "$cachedir"
|
||||||
|
mkdir -p "$walldir" "$cachedir"
|
||||||
|
|
||||||
|
# progress display command
|
||||||
|
sh_info () {
|
||||||
|
printf "%s\n" "$1" >&2
|
||||||
|
notify-send "wallhaven" "$1"
|
||||||
|
[ -n "$2" ] && exit "$2"
|
||||||
|
}
|
||||||
|
|
||||||
|
# dependency checking
|
||||||
|
dep_ck () {
|
||||||
|
for pr; do
|
||||||
|
command -v $pr >/dev/null 2>&1 || sh_info "command $pr not found, install: $pr" 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
dep_ck "sxiv" "curl" "jq"
|
||||||
|
|
||||||
|
|
||||||
|
# clean up command that would be called when the program exits
|
||||||
|
clean_up () {
|
||||||
|
printf "%s\n" "cleaning up..." >&2
|
||||||
|
rm -rf "$datafile" "$cachedir"
|
||||||
|
}
|
||||||
|
|
||||||
|
# data file to store the api information
|
||||||
|
datafile="/tmp/wald.$$"
|
||||||
|
|
||||||
|
# clean up if killed
|
||||||
|
trap "exit" INT TERM
|
||||||
|
trap "clean_up" EXIT
|
||||||
|
|
||||||
|
##################
|
||||||
|
## getting data ##
|
||||||
|
##################
|
||||||
|
|
||||||
|
# request the search results for each page
|
||||||
|
get_results () {
|
||||||
|
for page_no in $(seq $max_pages)
|
||||||
|
do
|
||||||
|
{
|
||||||
|
json=$(curl -s -G "https://wallhaven.cc/api/v1/search" \
|
||||||
|
-d "q=$1" \
|
||||||
|
-d "page=$page_no" \
|
||||||
|
-d "atleast=$atleast" \
|
||||||
|
-d "sorting=$sorting"
|
||||||
|
)
|
||||||
|
printf "%s\n" "$json" >> "$datafile"
|
||||||
|
} &
|
||||||
|
sleep 0.001
|
||||||
|
done
|
||||||
|
wait
|
||||||
|
}
|
||||||
|
|
||||||
|
# search wallpapers
|
||||||
|
sh_info "getting data..."
|
||||||
|
get_results "$query"
|
||||||
|
|
||||||
|
# check if data file is empty, if so then exit
|
||||||
|
[ -s "$datafile" ] || sh_info "no images found" 1
|
||||||
|
|
||||||
|
############################
|
||||||
|
## downloading thumbnails ##
|
||||||
|
############################
|
||||||
|
|
||||||
|
# get a list of thumnails from the data
|
||||||
|
thumbnails=$( jq -r '.data[]?|.thumbs.'"$quality" < "$datafile")
|
||||||
|
|
||||||
|
[ -z "$thumbnails" ] && sh_info "no-results found" 1
|
||||||
|
|
||||||
|
# download the thumbnails
|
||||||
|
sh_info "caching thumbnails..."
|
||||||
|
for url in $thumbnails
|
||||||
|
do
|
||||||
|
printf "url = %s\n" "$url"
|
||||||
|
printf "output = %s\n" "$cachedir/${url##*/}"
|
||||||
|
done | curl -Z -K -
|
||||||
|
#sh_info "downloaded thumbnails..."
|
||||||
|
|
||||||
|
###########################
|
||||||
|
## user selection (sxiv) ##
|
||||||
|
###########################
|
||||||
|
|
||||||
|
# extract the id's out of the thumbnail name
|
||||||
|
image_ids="$(sxiv $sxiv_otps "$cachedir")"
|
||||||
|
[ -z "$image_ids" ] && exit
|
||||||
|
|
||||||
|
#########################
|
||||||
|
## download wallpapers ##
|
||||||
|
#########################
|
||||||
|
|
||||||
|
# download the selected wall papers
|
||||||
|
mkdir "$walldir/$query"
|
||||||
|
cd "$walldir/$query"
|
||||||
|
sh_info "downloading wallpapers..."
|
||||||
|
for ids in $image_ids
|
||||||
|
do
|
||||||
|
ids="${ids##*/}"
|
||||||
|
ids="${ids%.*}"
|
||||||
|
url=$( jq -r '.data[]?|select( .id == "'$ids'" )|.path' < "$datafile" )
|
||||||
|
printf "url = %s\n" "$url"
|
||||||
|
printf -- "-O\n"
|
||||||
|
done | curl -K -
|
||||||
|
|
||||||
|
sh_info "wallpapers downloaded in:- '$walldir/$query'"
|
||||||
|
sxiv $(ls -c)
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
word=$(dmenu -p "Enter Word: " <&-)
|
||||||
|
#$BROWSER https://www.merriam-webster.com/dictionary/$word
|
||||||
|
$BROWSER "https://www.google.com/search?hl=en&q=define+$word"
|
||||||
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=File Manager
|
||||||
|
Exec=/usr/local/bin/st -e fm %u
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Image viewer
|
||||||
|
Exec=/usr/bin/sxiv -a %f
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=PDF reader
|
||||||
|
Exec=/usr/bin/zathura %u
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=RSS feed addition
|
||||||
|
Exec=/usr/bin/env rssadd %U
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Text editor
|
||||||
|
Exec=/usr/local/bin/st -e nvim %u
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Torrent
|
||||||
|
Exec=/usr/bin/env transadd %U
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Trilium Notes
|
||||||
|
Icon=/opt/trilium-bin/icon.png
|
||||||
|
Exec=/opt/trilium-bin/trilium
|
||||||
|
Categories=Office
|
||||||
|
Terminal=false
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,67 @@
|
||||||
|
bigot -> a person with very strong beliefs or opinions
|
||||||
|
allocate -> assign
|
||||||
|
territory -> region
|
||||||
|
criteria -> fixed basis to judge
|
||||||
|
keep ones head -> not to get angry
|
||||||
|
triumph -> victory
|
||||||
|
knaves -> dishonest people
|
||||||
|
keep ones virtue -> keep ones goodness or morals under any condition
|
||||||
|
queer -> strange
|
||||||
|
exclusive -> availabe to only one person or group
|
||||||
|
fate -> a power that is believed to control what happens in the future
|
||||||
|
established -> accepted or followed by many people
|
||||||
|
compelled -> forced to do
|
||||||
|
abundant -> existing or occuring in large ammounts
|
||||||
|
bias -> a tendency to believe that some people,idias, etc are better than others useually results in treating some people unfairly
|
||||||
|
desperate -> feeling or showing a hopeless sense taht a situation is so bad as to be impossible to deal with
|
||||||
|
iteration -> the repetition of a process or utterance
|
||||||
|
cope -> deal with something difficult
|
||||||
|
revile -> critisize in an abusive or angrily insulting manner
|
||||||
|
serveillance -> close observation, especially of a suspected spy or criminal
|
||||||
|
negotiate -> obtain or bring about by discussion
|
||||||
|
caveat -> a warning or proviso of specific conditions or limitatations
|
||||||
|
punitive -> inteded as punishment
|
||||||
|
legislation -> laws, considered collectively
|
||||||
|
narcissism -> excessive interest in or admiration of onself and one's physical appearance
|
||||||
|
neoligism -> a newly coined word or expression
|
||||||
|
ideology -> a system of idias, especially one which forms the basis of economic or political theory and policy
|
||||||
|
rebuke -> to criticize sharply
|
||||||
|
bizzare -> odd, extravagant
|
||||||
|
AWOL -> absent without official leave
|
||||||
|
pursue -> follow or chase (someone or something)
|
||||||
|
apologist -> a person who offers an arguement in defence of something controversial.
|
||||||
|
stereotype -> a widely held but fixed and oversimplified image or idea of a particular type of person or thing
|
||||||
|
MIA -> missing in action
|
||||||
|
exodus -> a mass departure of people
|
||||||
|
departure -> the action of leaving, especially to start a journey
|
||||||
|
destiny -> the event that will necessarily happen to a particular person or thing in the future
|
||||||
|
torment -> severe physical or mental suffering
|
||||||
|
inferior -> lower in rank, status, or quality.
|
||||||
|
excerpt -> a short extract from a film, broadcast, or piece of music or writing
|
||||||
|
ambitious -> having or showing a strong desire and determination to succeed
|
||||||
|
innocuous -> not harmful or offensive
|
||||||
|
evacuate -> remove (someone) from a place of danger to a safer place
|
||||||
|
indulge -> allow oneself to enjoy the pleasure of
|
||||||
|
to take for granted -> to value (something or someone) too lightly
|
||||||
|
afaik -> abbreviation for "as far as i know"
|
||||||
|
fatal -> causing death
|
||||||
|
intercept -> obstruct (someone or something) so as to prevent them from continuing to a destination
|
||||||
|
pry -> inquire too closely into a person's private affairs
|
||||||
|
relent -> abondon a sever or harsh attitude, especially by finally yielding to a request
|
||||||
|
fiance -> a man to whom someone is engaged or married
|
||||||
|
credible -> able to be believed; convincing.
|
||||||
|
implode -> collapse or cause to collapse violently inwards.
|
||||||
|
shenanigans -> secret or dishonest activity
|
||||||
|
prelude -> an action or event serving as an introduction to something more important
|
||||||
|
sedative -> promoting calm or inducing sleep
|
||||||
|
induce -> succeed in persuading or loading (someone) to do something
|
||||||
|
immigrant -> a person who comes to live permanently in a foreign country.
|
||||||
|
con -> persuade (someone) to do or believe in something by lying to them.
|
||||||
|
obnoxious -> extremely unpleasant
|
||||||
|
debut -> a person's first appearance or performance in a particular capacity or role
|
||||||
|
convention -> a way in which something is usually done
|
||||||
|
deduct -> subtract or take away (an amount or part) from a total
|
||||||
|
derive -> obtain something from (a specified source)
|
||||||
|
sceptical -> not easily convinced; having doubts or reservations
|
||||||
|
psyched -> excited and full of anticipation
|
||||||
|
faucet -> a tap, "nal" in hindi
|
||||||
Loading…
Reference in New Issue