init
This commit is contained in:
69
config/alacritty/alacritty.yml
Normal file
69
config/alacritty/alacritty.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
font:
|
||||
normal:
|
||||
family: JetBrainsMono Nerd Font
|
||||
|
||||
bold:
|
||||
family: JetBrainsMono Nerd Font
|
||||
|
||||
italic:
|
||||
family: JetBrainsMono Nerd Font
|
||||
|
||||
bold_italic:
|
||||
family: JetBrainsMono Nerd Font
|
||||
|
||||
size: 10
|
||||
|
||||
colors:
|
||||
primary:
|
||||
background: '#1f2329'
|
||||
foreground: '#b8bfe5'
|
||||
|
||||
normal:
|
||||
black: '#0f1319'
|
||||
red: '#644d66'
|
||||
green: '#375759'
|
||||
yellow: '#736871'
|
||||
blue: '#3f5273'
|
||||
magenta: '#543f66'
|
||||
cyan: '#324f66'
|
||||
white: '#b3b3b3'
|
||||
|
||||
bright:
|
||||
black: '#b3b3b3'
|
||||
red: '#735771'
|
||||
green: '#3f6566'
|
||||
yellow: '#807476'
|
||||
blue: '#465b80'
|
||||
magenta: '#533969'
|
||||
cyan: '#385a73'
|
||||
white: '#e5e5e5'
|
||||
|
||||
cursor:
|
||||
cursor: '#465b80'
|
||||
text: '#e5e5e5'
|
||||
|
||||
window:
|
||||
padding:
|
||||
x: 15
|
||||
y: 15
|
||||
|
||||
decorations: none
|
||||
|
||||
opacity: 1.0
|
||||
dynamic_title: true
|
||||
|
||||
history: 10000
|
||||
multiplier: 3
|
||||
|
||||
selection:
|
||||
save_to_clipboard: false
|
||||
|
||||
cursor:
|
||||
style:
|
||||
shape: Block
|
||||
blinking: On
|
||||
|
||||
unfocused_hollow: false
|
||||
blink_interval: 550
|
||||
|
||||
live_config_reload: true
|
76
config/bspwm/bspwmrc
Normal file
76
config/bspwm/bspwmrc
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
## Fix java applications
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
|
||||
# Workspaces
|
||||
|
||||
# Default 1 monitor with 6 workspaces
|
||||
for monitor in "$(xrandr -q | grep -w 'connected' | cut -d' ' -f1)"; do
|
||||
bspc monitor "$monitor" -d '1' '2' '3' '4' '5' '6'
|
||||
done
|
||||
|
||||
# Bspwm Config
|
||||
|
||||
bspc config external_rules_command "$HOME"/.local/bin/externalrules
|
||||
bspc config window_gap -1
|
||||
bspc config split_ratio 0.51
|
||||
bspc config single_monocle true
|
||||
bspc config borderless_monocle false
|
||||
bspc config gapless_monocle false
|
||||
bspc config focus_follows_pointer true
|
||||
bspc config pointer_follows_focus false
|
||||
bspc config pointer_motion_interval 5
|
||||
bspc config pointer_modifier mod4
|
||||
bspc config pointer_action1 move
|
||||
bspc config pointer_action2 resize_side
|
||||
bspc config pointer_action3 resize_corner
|
||||
bspc config border_width 2
|
||||
bspc config top_padding 48
|
||||
bspc config bottom_padding 48
|
||||
bspc config left_padding 2
|
||||
bspc config right_padding 2
|
||||
bspc config normal_border_color "#252533"
|
||||
bspc config active_border_color "#252533"
|
||||
bspc config focused_border_color "#61C766"
|
||||
bspc config presel_feedback_color "#61C766"
|
||||
bspc rule -a scratch sticky=on state=floating focus=on
|
||||
|
||||
# Autostart
|
||||
|
||||
# Set system vars for polybar
|
||||
. setsysvars
|
||||
|
||||
# Terminate already running polybar, sxhkd, dunst, and mpd instances
|
||||
processes=("polybar" "sxhkd" "dunst" "mpd")
|
||||
|
||||
for process in "${processes[@]}"; do
|
||||
if pgrep -f "$process"; then
|
||||
pkill -9 -f "$process" > /dev/null; sleep 0.1
|
||||
fi
|
||||
done
|
||||
|
||||
# Load bspwm conf, colors, dunst, and bars
|
||||
. "$HOME"/.config/polybar/bar.sh
|
||||
|
||||
pidof -q picom || { picom --config "$HOME"/.config/picom/picom.conf & }
|
||||
|
||||
# Set random wallpaper for actual rice
|
||||
feh -z --no-fehbg --bg-fill "$HOME"/pics/wallpapers
|
||||
|
||||
# Reload sxhkd daemon
|
||||
sxhkd -c "$HOME"/.config/sxhkd/sxhkdrc &
|
||||
|
||||
# Launch dunst notification daemon
|
||||
dunst -config "$HOME"/.config/dunst/dunstrc &
|
||||
|
||||
# Launch polkit
|
||||
pidof -q polkit-gnome-authentication-agent-1 || { /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & }
|
||||
|
||||
# Launch mpd
|
||||
mpd
|
||||
|
||||
# Fix cursor
|
||||
xsetroot -cursor_name left_ptr
|
64
config/dunst/dunstrc
Normal file
64
config/dunst/dunstrc
Normal file
@@ -0,0 +1,64 @@
|
||||
[global]
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
monitor = 0
|
||||
follow = mouse
|
||||
width = 300
|
||||
height = 300
|
||||
origin = top-right
|
||||
offset = 10x92
|
||||
indicate_hidden = yes
|
||||
shrink = yes
|
||||
|
||||
transparency = 4
|
||||
separator_height = 2
|
||||
padding = 8
|
||||
horizontal_padding = 11
|
||||
frame_width = 6
|
||||
frame_color = "#1f2329"
|
||||
separator_color = "#3f5273"
|
||||
|
||||
font = JetBrainsMono Nerd Font Medium 9
|
||||
|
||||
line_height = 0
|
||||
markup = full
|
||||
format = "<span size='x-large' font_desc='Cantarell 9' weight='bold' foreground='#f9f9f9'>%s</span>\n%b"
|
||||
alignment = center
|
||||
|
||||
idle_threshold = 120
|
||||
show_age_threshold = 60
|
||||
sort = no
|
||||
word_wrap = yes
|
||||
ignore_newline = no
|
||||
stack_duplicates = false
|
||||
hide_duplicate_count = yes
|
||||
show_indicators = no
|
||||
sticky_history = no
|
||||
history_length = 20
|
||||
always_run_script = true
|
||||
corner_radius = 4
|
||||
icon_position = left
|
||||
max_icon_size = 80
|
||||
|
||||
icon_path = /usr/share/icons/Papirus-Dark/48x48/actions/:/usr/share/icons/Papirus-Dark/48x48/apps/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/emblems/:/usr/share/icons/Papirus-Dark/48x48/emotes/:/usr/share/icons/Papirus-Dark/48x48/mimetypes/:/usr/share/icons/Papirus-Dark/48x48/places/:/usr/share/icons/Papirus-Dark/48x48/status/
|
||||
|
||||
browser = brave
|
||||
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action
|
||||
mouse_right_click = close_all
|
||||
|
||||
[urgency_low]
|
||||
timeout = 3
|
||||
background = "#1f2329"
|
||||
foreground = "#b3b3b3"
|
||||
|
||||
[urgency_normal]
|
||||
timeout = 6
|
||||
background = "#1f2329"
|
||||
foreground = "#b3b3b3"
|
||||
|
||||
[urgency_critical]
|
||||
timeout = 0
|
||||
background = "#1f2329"
|
||||
foreground = "#b3b3b3"
|
31
config/jgmenu/jgmenurc
Normal file
31
config/jgmenu/jgmenurc
Normal file
@@ -0,0 +1,31 @@
|
||||
position_mode = pointer
|
||||
stay_alive = 0
|
||||
tint2_look = 0
|
||||
terminal_exec = alacritty
|
||||
terminal_args = -e
|
||||
menu_width = 160
|
||||
menu_padding_top = 5
|
||||
menu_padding_right = 5
|
||||
menu_padding_bottom = 5
|
||||
menu_padding_left = 5
|
||||
menu_radius = 8
|
||||
menu_border = 0
|
||||
menu_halign = left
|
||||
sub_hover_action = 1
|
||||
item_margin_y = 5
|
||||
item_height = 30
|
||||
item_padding_x = 8
|
||||
item_radius = 6
|
||||
item_border = 0
|
||||
sep_height = 2
|
||||
font = Clarity City Bold 12px
|
||||
icon_size = 16
|
||||
icon_theme = Papirus-Dark
|
||||
arrow_string =
|
||||
color_menu_border = #ffffff 0
|
||||
color_menu_bg = #1f2329
|
||||
color_norm_bg = #ffffff 0
|
||||
color_norm_fg = #b8bfe5
|
||||
color_sel_bg = #23272e
|
||||
color_sel_fg = #b8bfe5
|
||||
color_sep_fg = #b3b3b3
|
25
config/jgmenu/menu.csv
Normal file
25
config/jgmenu/menu.csv
Normal file
@@ -0,0 +1,25 @@
|
||||
Terminal ,openapp --floating ,/usr/share/icons/Papirus/32x32/apps/terminal.svg
|
||||
Web Browser ,openapp --browser ,/usr/share/icons/Papirus/32x32/apps/brave-browser.svg
|
||||
File Manager ,openapp --filemanager ,/usr/share/icons/Papirus/32x32/apps/org.xfce.filemanager.svg
|
||||
|
||||
^sep()
|
||||
|
||||
Widgets ,^checkout(wg) ,/usr/share/icons/Papirus/32x32/apps/kmenuedit.svg
|
||||
BSPWM ,^checkout(wm) ,/usr/share/icons/Papirus/32x32/apps/gnome-windows.svg
|
||||
Exit ,^checkout(exit) ,/usr/share/icons/Papirus/32x32/apps/system-shutdown.svg
|
||||
|
||||
^tag(wg)
|
||||
User Card ,openapp --usercard ,/usr/share/icons/Papirus/32x32/apps/system-users.svg
|
||||
Power Menu ,openapp --powermenu ,/usr/share/icons/Papirus/32x32/status/changes-allow.svg
|
||||
Calendar ,openapp --calendar ,/usr/share/icons/Papirus/32x32/apps/office-calendar.svg
|
||||
|
||||
^tag(wm)
|
||||
Change Theme ,openapp --rice ,/usr/share/icons/Papirus/32x32/apps/colors.svg
|
||||
Keybinds ,keybindingshelp ,/usr/share/icons/Papirus/32x32/apps/preferences-desktop-keyboard-shortcuts.svg
|
||||
Restart WM ,bspc wm -r ,/usr/share/icons/Papirus/32x32/apps/system-reboot.svg
|
||||
Quit ,bspc quit ,/usr/share/icons/Papirus/32x32/apps/system-log-out.svg
|
||||
|
||||
^tag(exit)
|
||||
Block computer ,physlock -d ,/usr/share/icons/Papirus/32x32/status/changes-prevent.svg
|
||||
Reboot ,systemctl reboot ,/usr/share/icons/Papirus/32x32/apps/system-reboot.svg
|
||||
Shutdown ,systemctl poweroff ,/usr/share/icons/Papirus/32x32/apps/system-shutdown.svg
|
|
0
config/mpd/log
Normal file
0
config/mpd/log
Normal file
20
config/mpd/mpd.conf
Normal file
20
config/mpd/mpd.conf
Normal file
@@ -0,0 +1,20 @@
|
||||
music_directory "~/music"
|
||||
playlist_directory "~/.config/mpd/playlists"
|
||||
db_file "~/.config/mpd/mpd.db"
|
||||
state_file "~/.config/mpd/mpdstate"
|
||||
auto_update "yes"
|
||||
|
||||
bind_to_address "127.0.0.1"
|
||||
bind_to_address "~/.config/mpd/socket"
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "pulse audio"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "my_fifo"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
0
config/mpd/mpd.db
Normal file
0
config/mpd/mpd.db
Normal file
0
config/mpd/mpdstate
Normal file
0
config/mpd/mpdstate
Normal file
0
config/mpd/playlist/.nomedia
Normal file
0
config/mpd/playlist/.nomedia
Normal file
73
config/ncmpcpp/config
Normal file
73
config/ncmpcpp/config
Normal file
@@ -0,0 +1,73 @@
|
||||
mpd_host = "127.0.0.1"
|
||||
mpd_port = 6600
|
||||
mpd_connection_timeout = "5"
|
||||
mpd_crossfade_time = "5"
|
||||
mpd_music_dir = ~/music
|
||||
lyrics_directory = ~/.config/ncmpcpp/lyrics
|
||||
execute_on_song_change = "mediacontrol nccover ; dunstify --replace=27072 -i /tmp/cover.png "Playing.." "$(mpc --format '%title% \n%artist%' current)""
|
||||
|
||||
visualizer_data_source = /tmp/mpd.fifo
|
||||
visualizer_output_name = my_fifo
|
||||
|
||||
visualizer_in_stereo = "yes"
|
||||
visualizer_fps = "60"
|
||||
visualizer_type = "spectrum"
|
||||
visualizer_look = ●●
|
||||
visualizer_color = "13"
|
||||
visualizer_spectrum_smooth_look = "yes"
|
||||
|
||||
# GENERAL
|
||||
# ---
|
||||
connected_message_on_startup = "yes"
|
||||
cyclic_scrolling = "yes"
|
||||
mouse_support = "no"
|
||||
mouse_list_scroll_whole_page = "yes"
|
||||
lines_scrolled = "1"
|
||||
message_delay_time = "1"
|
||||
playlist_shorten_total_times = "yes"
|
||||
playlist_display_mode = "columns"
|
||||
browser_display_mode = "columns"
|
||||
search_engine_display_mode = "columns"
|
||||
playlist_editor_display_mode = "columns"
|
||||
autocenter_mode = "yes"
|
||||
centered_cursor = "yes"
|
||||
user_interface = "classic"
|
||||
follow_now_playing_lyrics = "yes"
|
||||
locked_screen_width_part = "50"
|
||||
ask_for_locked_screen_width_part = "yes"
|
||||
display_bitrate = "no"
|
||||
external_editor = "nano"
|
||||
main_window_color = "default"
|
||||
startup_screen = "playlist"
|
||||
|
||||
# PROGRESS BAR
|
||||
# ---
|
||||
progressbar_look = "▪▪▪"
|
||||
#progressbar_look = "▃▃▃"
|
||||
progressbar_elapsed_color = "magenta"
|
||||
progressbar_color = "black"
|
||||
|
||||
# UI VISIBILITY
|
||||
# ---
|
||||
header_visibility = "no"
|
||||
statusbar_visibility = "yes"
|
||||
titles_visibility = "yes"
|
||||
enable_window_title = "yes"
|
||||
|
||||
# COLORS
|
||||
# ---
|
||||
statusbar_color = "white"
|
||||
color1 = "white"
|
||||
color2 = "blue"
|
||||
|
||||
# UI APPEARANCE
|
||||
# ---
|
||||
now_playing_prefix = "$b$2$7 "
|
||||
now_playing_suffix = " $/b$8"
|
||||
current_item_prefix = "$b$7$/b$3 "
|
||||
current_item_suffix = " $8"
|
||||
|
||||
song_columns_list_format = "(50)[]{t|fr:Title} (0)[magenta]{a}"
|
||||
song_list_format = " {%t $R $8%a$8}|{%f $R $8%l$8} $8"
|
||||
song_status_format = "$b$2 $7 {$b$6$8 %t $6} $7 $8"
|
||||
song_window_title_format = "Now Playing .."
|
0
config/ncmpcpp/error.log
Normal file
0
config/ncmpcpp/error.log
Normal file
7
config/nvim/init.lua
Normal file
7
config/nvim/init.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
require("config.plugins-setup")
|
||||
require("config.core.options")
|
||||
require("config.core.keymaps")
|
||||
require("config.core.colorscheme")
|
||||
require("config.plugins.nvim-tree")
|
||||
require("config.plugins.lualine")
|
||||
require("config.plugins.colorizer")
|
11
config/nvim/lua/config/core/colorscheme.lua
Normal file
11
config/nvim/lua/config/core/colorscheme.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
local status, _ = pcall(vim.cmd, "colorscheme onedark")
|
||||
if not status then
|
||||
print("Colorscheme not found!") -- print error if colorscheme not installed
|
||||
return
|
||||
end
|
||||
|
||||
require('onedark').setup {
|
||||
style = 'darker',
|
||||
transparent = true
|
||||
}
|
||||
require('onedark').load()
|
19
config/nvim/lua/config/core/keymaps.lua
Normal file
19
config/nvim/lua/config/core/keymaps.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
vim.g.mapleader = " "
|
||||
|
||||
local keymap = vim.keymap -- haz las cosas facil..
|
||||
|
||||
-- General Keymaps
|
||||
|
||||
-- window management
|
||||
keymap.set("n", "<leader>sv", "<C-w>v") -- split window vertically
|
||||
keymap.set("n", "<leader>sh", "<C-w>s") -- split window horizontally
|
||||
keymap.set("n", "<leader>se", "<C-w>=") -- make split windows equal width & height
|
||||
keymap.set("n", "<leader>sx", ":close<CR>") -- close current split window
|
||||
|
||||
keymap.set("n", "<leader>to", ":tabnew<CR>") -- open new tab
|
||||
keymap.set("n", "<leader>tx", ":tabclose<CR>") -- close current tab
|
||||
keymap.set("n", "<leader>tn", ":tabn<CR>") -- go to next tab
|
||||
keymap.set("n", "<leader>tp", ":tabp<CR>") -- go to previous tab
|
||||
|
||||
-- nvim-tree
|
||||
keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>") -- toggle file explorer
|
38
config/nvim/lua/config/core/options.lua
Normal file
38
config/nvim/lua/config/core/options.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
local opt = vim.opt -- for conciseness
|
||||
|
||||
-- Numeracion de las lineas
|
||||
opt.relativenumber = true
|
||||
opt.number = true
|
||||
|
||||
-- tabs & indentation
|
||||
opt.tabstop = 4
|
||||
opt.shiftwidth = 4
|
||||
opt.expandtab = true
|
||||
opt.autoindent = true
|
||||
|
||||
-- Line wrapping
|
||||
opt.wrap = false
|
||||
|
||||
-- Search setting
|
||||
opt.ignorecase = true
|
||||
opt.smartcase = true
|
||||
|
||||
-- Cursor line
|
||||
opt.cursorline = true
|
||||
|
||||
-- appearance
|
||||
opt.termguicolors = true
|
||||
opt.background = "dark"
|
||||
opt.signcolumn = "yes"
|
||||
|
||||
-- Backspace
|
||||
opt.backspace = "indent,eol,start"
|
||||
|
||||
-- Clipboard
|
||||
opt.clipboard:append("unnamedplus")
|
||||
|
||||
-- Splitt Windows
|
||||
opt.splitright = true
|
||||
opt.splitbelow = true
|
||||
|
||||
opt.iskeyword:append("-")
|
52
config/nvim/lua/config/plugins-setup.lua
Normal file
52
config/nvim/lua/config/plugins-setup.lua
Normal file
@@ -0,0 +1,52 @@
|
||||
-- auto install packer if not installed
|
||||
local ensure_packer = function()
|
||||
local fn = vim.fn
|
||||
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path })
|
||||
vim.cmd([[packadd packer.nvim]])
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
local packer_bootstrap = ensure_packer() -- true if packer was just installed
|
||||
|
||||
-- autocommand that reloads neovim and installs/updates/removes plugins
|
||||
-- when file is saved
|
||||
vim.cmd([[
|
||||
augroup packer_user_config
|
||||
autocmd!
|
||||
autocmd BufWritePost plugins-setup.lua source <afile> | PackerSync
|
||||
augroup end
|
||||
]])
|
||||
|
||||
-- import packer safely
|
||||
local status, packer = pcall(require, "packer")
|
||||
if not status then
|
||||
return
|
||||
end
|
||||
|
||||
-- add list of plugins to install
|
||||
return packer.startup(function(use)
|
||||
-- packer can manage itself
|
||||
use("wbthomason/packer.nvim")
|
||||
|
||||
use("navarasu/onedark.nvim")
|
||||
|
||||
-- file explorer
|
||||
use("nvim-tree/nvim-tree.lua")
|
||||
|
||||
-- vs-code like icons
|
||||
use("nvim-tree/nvim-web-devicons")
|
||||
|
||||
-- statusline
|
||||
use("nvim-lualine/lualine.nvim")
|
||||
|
||||
-- Colorizer
|
||||
use("norcalli/nvim-colorizer.lua")
|
||||
|
||||
|
||||
if packer_bootstrap then
|
||||
require("packer").sync()
|
||||
end
|
||||
end)
|
12
config/nvim/lua/config/plugins/colorizer.lua
Normal file
12
config/nvim/lua/config/plugins/colorizer.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
require'colorizer'.setup(
|
||||
{'*';},
|
||||
{
|
||||
RGB = true; -- #RGB hex codes
|
||||
RRGGBB = true; -- #RRGGBB hex codes
|
||||
names = true; -- "Name" codes like Blue
|
||||
RRGGBBAA = true; -- #RRGGBBAA hex codes
|
||||
rgb_fn = true; -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true; -- CSS hsl() and hsla() functions
|
||||
css = true; -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true; -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
})
|
36
config/nvim/lua/config/plugins/lualine.lua
Normal file
36
config/nvim/lua/config/plugins/lualine.lua
Normal file
@@ -0,0 +1,36 @@
|
||||
-- import lualine plugin safely
|
||||
local status, lualine = pcall(require, "lualine")
|
||||
if not status then
|
||||
return
|
||||
end
|
||||
|
||||
-- get lualine nightfly theme
|
||||
local lualine_onedark = require("lualine.themes.onedark")
|
||||
|
||||
-- new colors for theme
|
||||
local new_colors = {
|
||||
blue = "#65D1FF",
|
||||
green = "#3EFFDC",
|
||||
violet = "#FF61EF",
|
||||
yellow = "#FFDA7B",
|
||||
black = "#000000",
|
||||
}
|
||||
|
||||
-- change nightlfy theme colors
|
||||
lualine_onedark.normal.a.bg = new_colors.blue
|
||||
lualine_onedark.insert.a.bg = new_colors.green
|
||||
lualine_onedark.visual.a.bg = new_colors.violet
|
||||
lualine_onedark.command = {
|
||||
a = {
|
||||
gui = "bold",
|
||||
bg = new_colors.yellow,
|
||||
fg = new_colors.black, -- black
|
||||
},
|
||||
}
|
||||
|
||||
-- configure lualine with modified theme
|
||||
lualine.setup({
|
||||
options = {
|
||||
theme = lualine_onedark,
|
||||
},
|
||||
})
|
40
config/nvim/lua/config/plugins/nvim-tree.lua
Normal file
40
config/nvim/lua/config/plugins/nvim-tree.lua
Normal file
@@ -0,0 +1,40 @@
|
||||
-- import nvim-tree plugin safely
|
||||
local setup, nvimtree = pcall(require, "nvim-tree")
|
||||
if not setup then
|
||||
return
|
||||
end
|
||||
|
||||
-- recommended settings from nvim-tree documentation
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
-- change color for arrows in tree to light blue
|
||||
vim.cmd([[ highlight NvimTreeIndentMarker guifg=#3FC5FF ]])
|
||||
|
||||
-- configure nvim-tree
|
||||
nvimtree.setup({
|
||||
-- change folder arrow icons
|
||||
renderer = {
|
||||
icons = {
|
||||
glyphs = {
|
||||
folder = {
|
||||
arrow_closed = "", -- arrow when folder is closed
|
||||
arrow_open = "", -- arrow when folder is open
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
-- disable window_picker for
|
||||
-- explorer to work well with
|
||||
-- window splits
|
||||
actions = {
|
||||
open_file = {
|
||||
window_picker = {
|
||||
enable = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
-- git = {
|
||||
-- ignore = false,
|
||||
-- },
|
||||
})
|
23
config/picom/picom.conf
Normal file
23
config/picom/picom.conf
Normal file
@@ -0,0 +1,23 @@
|
||||
# Available backends "xrender" "glx" "egl" "xr_glx_hybrid"
|
||||
backend = "glx";
|
||||
|
||||
dithered-present = false;
|
||||
vsync = false;
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
detect-transient = true;
|
||||
glx-no-stencil = true;
|
||||
use-damage = true;
|
||||
|
||||
log-level = "warn";
|
||||
|
||||
wintypes:
|
||||
{
|
||||
normal = { fade = false; shadow = false; }
|
||||
tooltip = { fade = false; shadow = false; focus = true; full-shadow = false; }
|
||||
dock = { shadow = false; clip-shadow-above = false; }
|
||||
dnd = { shadow = false; }
|
||||
};
|
6
config/polybar/bar.sh
Normal file
6
config/polybar/bar.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
for mon in $(polybar --list-monitors | cut -d":" -f1); do
|
||||
(MONITOR=$mon polybar -q bar1 -c "$HOME"/.config/polybar/config.ini)&
|
||||
(MONITOR=$mon polybar -q bar2 -c "$HOME"/.config/polybar/config.ini)&
|
||||
done
|
23
config/polybar/colors.ini
Normal file
23
config/polybar/colors.ini
Normal file
@@ -0,0 +1,23 @@
|
||||
[bar]
|
||||
bg = #0b0910
|
||||
bg-alt = #708491
|
||||
fg = #8C8C8C
|
||||
mb = #252533
|
||||
trans = #00000000
|
||||
white = #FFFFFF
|
||||
black = #000000
|
||||
red = #EC7875
|
||||
pink = #EC407A
|
||||
purple = #BA68C8
|
||||
blue = #42A5F5
|
||||
cyan = #4DD0E1
|
||||
teal = #00B19F
|
||||
green = #61C766
|
||||
lime = #B9C244
|
||||
yellow = #FDD835
|
||||
amber = #FBC02D
|
||||
orange = #E57C46
|
||||
brown = #AC8476
|
||||
grey = #8C8C8C
|
||||
indigo = #6C77BB
|
||||
blue-gray = #6D8895
|
118
config/polybar/config.ini
Normal file
118
config/polybar/config.ini
Normal file
@@ -0,0 +1,118 @@
|
||||
[global/wm]
|
||||
|
||||
margin-bottom = 0
|
||||
margin-top = 0
|
||||
|
||||
include-file = system.ini
|
||||
include-file = colors.ini
|
||||
include-file = modules.ini
|
||||
|
||||
[bar/bar1]
|
||||
monitor = ${env:MONITOR:}
|
||||
monitor-strict = false
|
||||
override-redirect = false
|
||||
|
||||
bottom = false
|
||||
fixed-center = true
|
||||
|
||||
width = 100%
|
||||
height = 30
|
||||
|
||||
offset-x = 0
|
||||
offset-y = 0
|
||||
|
||||
background = ${bar.bg}
|
||||
foreground = ${bar.fg}
|
||||
|
||||
radius = 0
|
||||
|
||||
line-size = 2
|
||||
line-color = ${bar.blue}
|
||||
|
||||
border-size = 8
|
||||
border-color = ${bar.bg}
|
||||
|
||||
padding-left = 1
|
||||
padding-right = 1
|
||||
|
||||
module-margin-left = 0
|
||||
module-margin-right = 0
|
||||
|
||||
font-0 = "JetBrainsMono:style=Regular:size=9;2"
|
||||
font-1 = "Material Design Icons Desktop:size=13;3"
|
||||
font-2 = "Material Design Icons Desktop:size=16;4"
|
||||
font-3 = "MesloLGS NF:style=Regular:size=17;4"
|
||||
|
||||
modules-left = sep date sep
|
||||
modules-center = bspwm
|
||||
modules-right = sep filesystem cpu_bar memory_bar sep network sep battery sep
|
||||
|
||||
separator =
|
||||
dim-value = 1.0
|
||||
|
||||
wm-restack = bspwm
|
||||
enable-ipc = true
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll =
|
||||
|
||||
[bar/bar2]
|
||||
monitor = ${env:MONITOR:}
|
||||
monitor-strict = false
|
||||
override-redirect = false
|
||||
|
||||
bottom = true
|
||||
fixed-center = true
|
||||
|
||||
width = 100%
|
||||
height = 30
|
||||
|
||||
offset-x = 0
|
||||
offset-y = 0
|
||||
|
||||
background = ${bar.bg}
|
||||
foreground = ${bar.fg}
|
||||
|
||||
radius = 0
|
||||
|
||||
line-size = 2
|
||||
line-color = ${bar.blue}
|
||||
|
||||
border-size = 8
|
||||
border-color = ${bar.bg}
|
||||
|
||||
padding-left = 1
|
||||
padding-right = 1
|
||||
|
||||
module-margin-left = 0
|
||||
module-margin-right = 0
|
||||
|
||||
font-0 = "JetBrainsMono:style=Regular:size=9;3"
|
||||
font-1 = "Material Design Icons Desktop:size=13;4"
|
||||
font-2 = "Font Awesome 6 Free Solid:size=10;3"
|
||||
font-3 = "MesloLGS NF:style=Regular:size=17;4"
|
||||
|
||||
modules-left = title
|
||||
modules-center = mpd_control sep mpd
|
||||
modules-right = mod sep weather sep pulseaudio sep sep updates sep
|
||||
|
||||
separator =
|
||||
dim-value = 1.0
|
||||
|
||||
wm-restack = bspwm
|
||||
enable-ipc = true
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll =
|
||||
|
||||
[settings]
|
||||
|
||||
screenchange-reload = false
|
||||
|
||||
compositing-background = source
|
||||
compositing-foreground = over
|
||||
compositing-overline = over
|
||||
compositing-underline = over
|
||||
compositing-border = over
|
||||
|
||||
pseudo-transparency = true
|
276
config/polybar/modules.ini
Normal file
276
config/polybar/modules.ini
Normal file
@@ -0,0 +1,276 @@
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
interval = 1.0
|
||||
|
||||
time = %I:%M %P
|
||||
format-foreground = ${bar.fg}
|
||||
date-alt = " %A, %d %B %Y"
|
||||
|
||||
format = <label>
|
||||
label = "%date% %time%"
|
||||
|
||||
######################################################
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
mount-0 = /
|
||||
|
||||
interval = 60
|
||||
fixed-values = false
|
||||
|
||||
format-mounted = <label-mounted>
|
||||
format-mounted-prefix = "disk: "
|
||||
format-mounted-prefix-foreground = ${bar.green}
|
||||
|
||||
format-unmounted = <label-unmounted>
|
||||
format-unmounted-prefix = "disk: "
|
||||
|
||||
label-mounted = "%used% "
|
||||
|
||||
label-unmounted = %mountpoint%: not mounted
|
||||
|
||||
######################################################
|
||||
|
||||
[module/network]
|
||||
type = internal/network
|
||||
interface = ${system.sys_network_interface}
|
||||
|
||||
interval = 3.0
|
||||
accumulate-stats = true
|
||||
unknown-as-up = true
|
||||
|
||||
format-connected = <label-connected>
|
||||
format-connected-prefix = "net: "
|
||||
format-connected-foreground = ${bar.green}
|
||||
|
||||
speed-unit = ""
|
||||
label-connected = "%netspeed%"
|
||||
label-connected-foreground = ${bar.blue}
|
||||
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-prefix = "net: "
|
||||
format-disconnected-foreground = ${bar.red}
|
||||
|
||||
label-disconnected = offline
|
||||
label-disconnected-foreground = ${bar.red}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
use-ui-max = true
|
||||
interval = 5
|
||||
|
||||
;;<bar-volume>
|
||||
format-volume = <label-volume>
|
||||
format-volume-prefix = "vol: "
|
||||
format-volume-foreground = ${bar.green}
|
||||
|
||||
label-volume = "%percentage%"
|
||||
label-volume-foreground = ${bar.fg}
|
||||
|
||||
format-muted = <label-muted>
|
||||
format-muted-prefix =
|
||||
label-muted = " Muted"
|
||||
label-muted-foreground = ${bar.red}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
full-at = 99
|
||||
battery = ${system.sys_battery}
|
||||
adapter = ${system.sys_adapter}
|
||||
poll-interval = 2
|
||||
time-format = %H:%M
|
||||
|
||||
format-charging = <label-charging>
|
||||
format-charging-prefix = " bat: "
|
||||
format-charging-prefix-font = 5
|
||||
format-charging-prefix-foreground = ${bar.green}
|
||||
label-charging = "%percentage%%"
|
||||
|
||||
format-discharging = <label-discharging>
|
||||
format-discharging-prefix = " bat: "
|
||||
format-discharging-prefix-font = 5
|
||||
format-discharging-prefix-foreground = ${bar.green}
|
||||
label-discharging = "%percentage%%"
|
||||
|
||||
format-full = <label-full>
|
||||
format-full-prefix = " bat: "
|
||||
format-full-prefix-font = 5
|
||||
format-full-prefix-foreground = ${bar.green}
|
||||
label-full = "%percentage%%"
|
||||
|
||||
######################################################
|
||||
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
exec = weather wmodule
|
||||
interval = 900
|
||||
format = <label>
|
||||
label = " %output% "
|
||||
|
||||
######################################################
|
||||
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
|
||||
enable-click = true
|
||||
enable-scroll = true
|
||||
reverse-scroll = true
|
||||
pin-workspaces = true
|
||||
occupied-scroll = false
|
||||
|
||||
ws-icon-0 = 1;
|
||||
ws-icon-1 = 2;
|
||||
ws-icon-2 = 3;
|
||||
ws-icon-3 = 4;
|
||||
ws-icon-4 = 5;
|
||||
ws-icon-5 = 6;
|
||||
ws-icon-default = "♟ "
|
||||
|
||||
|
||||
format = <label-state>
|
||||
format-font = 3
|
||||
|
||||
label-focused = %icon%
|
||||
label-focused-background = ${bar.mb}
|
||||
label-focused-padding = 1
|
||||
label-focused-foreground = ${bar.fg}
|
||||
|
||||
label-occupied = %icon%
|
||||
label-occupied-padding = 1
|
||||
label-occupied-foreground= ${bar.fg}
|
||||
|
||||
label-urgent = %icon%
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %icon%
|
||||
label-empty-foreground = ${bar.fg}
|
||||
label-empty-padding = 1
|
||||
|
||||
label-separator = ""
|
||||
label-separator-padding = 0
|
||||
label-separator-foreground = ${bar.bg-alt}
|
||||
|
||||
[module/mod]
|
||||
type = internal/bspwm
|
||||
|
||||
format = <label-mode>
|
||||
format-background = ${bar.bg}
|
||||
format-foreground = ${bar.green}
|
||||
format-padding = 1
|
||||
format-font = 1
|
||||
|
||||
label-monocle = "monocle"
|
||||
label-tiled = "tiled"
|
||||
|
||||
label-floating = " | float"
|
||||
label-pseudotiled = " | pseudo"
|
||||
label-fullscreen = " | full"
|
||||
|
||||
label-locked = " | locked"
|
||||
label-sticky = " | sticky"
|
||||
label-private = " | private"
|
||||
|
||||
######################################################
|
||||
|
||||
[module/title]
|
||||
type = internal/xwindow
|
||||
|
||||
format = <label>
|
||||
|
||||
label = %title%
|
||||
label-maxlen = 45
|
||||
|
||||
label-empty = "bspwm"
|
||||
label-empty-foreground = ${bar.grey}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/updates]
|
||||
type = custom/script
|
||||
exec = updates --get-updates
|
||||
interval = 120
|
||||
label = "%output%"
|
||||
format-prefix = "upd: "
|
||||
format-prefix-foreground = ${bar.green}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/sep]
|
||||
type = custom/text
|
||||
label = " "
|
||||
label-foreground = ${bar.bg-alt}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/cpu_bar]
|
||||
type = internal/cpu
|
||||
|
||||
interval = 0.5
|
||||
format = <label>
|
||||
format-prefix = "cpu: "
|
||||
format-prefix-foreground = ${bar.green}
|
||||
|
||||
label = "%percentage%% "
|
||||
|
||||
######################################################
|
||||
|
||||
[module/memory_bar]
|
||||
type = internal/memory
|
||||
|
||||
interval = 3
|
||||
|
||||
format = <label>
|
||||
format-prefix = "mem: "
|
||||
format-prefix-foreground = ${bar.green}
|
||||
|
||||
label = "%used% "
|
||||
|
||||
######################################################
|
||||
|
||||
[module/mpd_control]
|
||||
type = internal/mpd
|
||||
host = 127.0.0.1
|
||||
port = 6600
|
||||
interval = 2
|
||||
format-online = <icon-prev><toggle><icon-next>
|
||||
format-offline = <label-offline>
|
||||
label-offline = " No Music"
|
||||
icon-play = " %{T2}"
|
||||
icon-pause = " %{T2}"
|
||||
icon-stop = " %{T2}"
|
||||
icon-prev = "%{T2}"
|
||||
icon-next = " %{T2}"
|
||||
|
||||
format-offline-foreground = ${bar.grey}
|
||||
|
||||
icon-play-foreground = ${bar.lime}
|
||||
icon-pause-foreground = ${bar.lime}
|
||||
icon-stop-foreground = ${bar.lime}
|
||||
icon-prev-foreground = ${bar.blue}
|
||||
icon-next-foreground = ${bar.blue}
|
||||
toggle-on-foreground = ${bar.green}
|
||||
toggle-off-foreground = ${bar.red}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
host = 127.0.0.1
|
||||
port = 6600
|
||||
interval = 2
|
||||
format-online = "%{F#9ece6a}[%{F-} %{A1:openapp --music:}<label-song>%{A} %{F#9ece6a}]%{F-}"
|
||||
format-offline = ""
|
||||
label-song = "%title%"
|
||||
label-song-maxlen = 40
|
||||
icon-repeat = ""
|
||||
|
||||
icon-repeat-background = ${bar.bg}
|
||||
toggle-on-foreground = ${bar.green}
|
||||
toggle-off-foreground = ${bar.red}
|
||||
|
||||
#####################################################
|
11
config/polybar/system.ini
Normal file
11
config/polybar/system.ini
Normal file
@@ -0,0 +1,11 @@
|
||||
;; The variables for the polybar modules are taken from this file.
|
||||
;; Edit according to your system
|
||||
;; Run `ls -1 /sys/class/power_supply/` to list list batteries and adapters.
|
||||
;; Run `ls -1 /sys/class/backlight/` to list available graphics cards.
|
||||
;; Run `ip link | awk '/state UP/ {print $2}' | tr -d :` to get active network interface.
|
||||
|
||||
[system]
|
||||
sys_adapter = AC
|
||||
sys_battery = BAT1
|
||||
sys_graphics_card = intel_backlight
|
||||
sys_network_interface = wlan0
|
239
config/ranger/rc.conf
Normal file
239
config/ranger/rc.conf
Normal file
@@ -0,0 +1,239 @@
|
||||
set preview_script ~/.config/ranger/scope.sh
|
||||
|
||||
# Use the external preview script or display simple plain text or image previews?
|
||||
set use_preview_script true
|
||||
|
||||
# Use one of the supported image preview protocols
|
||||
set preview_images true
|
||||
|
||||
# Set the preview image method.
|
||||
set preview_images_method ueberzug
|
||||
|
||||
# Which colorscheme to use? These colorschemes are available by default:
|
||||
# default, jungle, snow, solarized
|
||||
set colorscheme default
|
||||
|
||||
# Preview files on the rightmost column?
|
||||
# And collapse (shrink) the last column if there is nothing to preview?
|
||||
set preview_files true
|
||||
set preview_directories true
|
||||
set collapse_preview true
|
||||
|
||||
# Use a unicode "..." character to mark cut-off filenames?
|
||||
set unicode_ellipsis true
|
||||
|
||||
# Which viewmode should be used? Possible values are:
|
||||
# miller: Use miller columns which show multiple levels of the hierarchy
|
||||
# multipane: Midnight-commander like multipane view showing all tabs next
|
||||
# to each other
|
||||
set viewmode miller
|
||||
|
||||
# How many columns are there, and what are their relative widths?
|
||||
set column_ratios 1,3,3
|
||||
|
||||
# Which files should be hidden? (regular expression)
|
||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||
|
||||
# Show hidden files? You can toggle this by typing 'zh'
|
||||
set show_hidden false
|
||||
|
||||
# Ask for a confirmation when running the "delete" command?
|
||||
# Valid values are "always", "never", "multiple" (default)
|
||||
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||
set confirm_on_delete multiple
|
||||
|
||||
# Automatically count files in the directory, even before entering them?
|
||||
set automatically_count_files true
|
||||
|
||||
# Open all images in this directory when running certain image viewers
|
||||
# like feh or sxiv? You can still open selected files by marking them.
|
||||
set open_all_images true
|
||||
|
||||
# Be aware of version control systems and display information.
|
||||
set vcs_aware true
|
||||
|
||||
# State of the four backends git, hg, bzr, svn. The possible states are
|
||||
# disabled, local (only show local info), enabled (show local and remote
|
||||
# information).
|
||||
set vcs_backend_git enabled
|
||||
set vcs_backend_hg disabled
|
||||
set vcs_backend_bzr disabled
|
||||
set vcs_backend_svn disabled
|
||||
|
||||
# Truncate the long commit messages to this length when shown in the statusbar.
|
||||
set vcs_msg_length 50
|
||||
|
||||
# Show dotfiles in the bookmark preview box?
|
||||
set show_hidden_bookmarks true
|
||||
|
||||
# Wrap long lines in plain text previews?
|
||||
set wrap_plaintext_previews true
|
||||
|
||||
# Save the console history on exit?
|
||||
set save_console_history false
|
||||
|
||||
# Draw the status bar on top of the browser window (default: bottom)
|
||||
set status_bar_on_top false
|
||||
|
||||
# Draw a progress bar in the status bar which displays the average state of all
|
||||
# currently running tasks which support progress bars?
|
||||
set draw_progress_bar_in_status_bar true
|
||||
|
||||
# Draw borders around columns?
|
||||
set draw_borders both
|
||||
|
||||
# Display the directory name in tabs?
|
||||
set dirname_in_tabs true
|
||||
|
||||
# Enable the mouse support?
|
||||
set mouse_enabled true
|
||||
|
||||
# Display the file size in the main column or status bar?
|
||||
set display_size_in_main_column false
|
||||
set display_size_in_status_bar true
|
||||
|
||||
# Display the free disk space in the status bar?
|
||||
set display_free_space_in_status_bar false
|
||||
|
||||
# Display files tags in all columns or only in main column?
|
||||
set display_tags_in_all_columns false
|
||||
|
||||
# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
|
||||
set update_title true
|
||||
|
||||
# Set the tmux/screen window-name to "ranger"?
|
||||
set update_tmux_title true
|
||||
|
||||
# Shorten the title if it gets long? The number defines how many
|
||||
# directories are displayed at once, 0 turns off this feature.
|
||||
set shorten_title 3
|
||||
|
||||
# Show hostname in titlebar?
|
||||
set hostname_in_titlebar true
|
||||
|
||||
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
||||
set tilde_in_titlebar true
|
||||
|
||||
# How many directory-changes or console-commands should be kept in history?
|
||||
set max_history_size 20
|
||||
set max_console_history_size 50
|
||||
|
||||
# Try to keep so much space between the top/bottom border when scrolling:
|
||||
set scroll_offset 8
|
||||
|
||||
# Flush the input after each key hit? (Noticeable when ranger lags)
|
||||
set flushinput true
|
||||
|
||||
# Padding on the right when there's no preview?
|
||||
# This allows you to click into the space to run the file.
|
||||
set padding_right true
|
||||
|
||||
# Save bookmarks (used with mX and `X) instantly?
|
||||
# This helps to synchronize bookmarks between multiple ranger
|
||||
# instances but leads to *slight* performance loss.
|
||||
# When false, bookmarks are saved when ranger is exited.
|
||||
set autosave_bookmarks false
|
||||
|
||||
# Save the "`" bookmark to disk. This can be used to switch to the last
|
||||
# directory by typing "``".
|
||||
set save_backtick_bookmark true
|
||||
|
||||
# You can display the "real" cumulative size of directories by using the
|
||||
# command :get_cumulative_size or typing "dc". The size is expensive to
|
||||
# calculate and will not be updated automatically. You can choose
|
||||
# to update it automatically though by turning on this option:
|
||||
set autoupdate_cumulative_size false
|
||||
|
||||
# Turning this on makes sense for screen readers:
|
||||
set show_cursor false
|
||||
|
||||
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
||||
set sort natural
|
||||
|
||||
# Additional sorting options
|
||||
set sort_reverse false
|
||||
set sort_case_insensitive true
|
||||
set sort_directories_first true
|
||||
set sort_unicode false
|
||||
|
||||
# Enable this if key combinations with the Alt Key don't work for you.
|
||||
# (Especially on xterm)
|
||||
set xterm_alt_key false
|
||||
|
||||
# Whether to include bookmarks in cd command
|
||||
set cd_bookmarks true
|
||||
|
||||
# Changes case sensitivity for the cd command tab completion
|
||||
set cd_tab_case sensitive
|
||||
|
||||
# Use fuzzy tab completion with the "cd" command. For example,
|
||||
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
|
||||
set cd_tab_fuzzy true
|
||||
|
||||
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
|
||||
# disable this feature.
|
||||
set preview_max_size 0
|
||||
|
||||
# The key hint lists up to this size have their sublists expanded.
|
||||
# Otherwise the submaps are replaced with "...".
|
||||
set hint_collapse_threshold 10
|
||||
|
||||
# Add the highlighted file to the path in the titlebar
|
||||
set show_selection_in_titlebar true
|
||||
|
||||
# The delay that ranger idly waits for user input, in milliseconds, with a
|
||||
# resolution of 100ms. Lower delay reduces lag between directory updates but
|
||||
# increases CPU load.
|
||||
set idle_delay 2000
|
||||
|
||||
# When the metadata manager module looks for metadata, should it only look for
|
||||
# a ".metadata.json" file in the current directory, or do a deep search and
|
||||
# check all directories above the current one as well?
|
||||
set metadata_deep_search false
|
||||
|
||||
# Clear all existing filters when leaving a directory
|
||||
set clear_filters_on_dir_change false
|
||||
|
||||
# Disable displaying line numbers in main column.
|
||||
# Possible values: false, absolute, relative.
|
||||
set line_numbers false
|
||||
|
||||
# When line_numbers=relative show the absolute line number in the
|
||||
# current line.
|
||||
set relative_current_zero false
|
||||
|
||||
# Start line numbers from 1 instead of 0
|
||||
set one_indexed false
|
||||
|
||||
# Save tabs on exit
|
||||
set save_tabs_on_exit false
|
||||
|
||||
# Enable scroll wrapping - moving down while on the last item will wrap around to
|
||||
# the top and vice versa.
|
||||
set wrap_scroll false
|
||||
|
||||
# Set the global_inode_type_filter to nothing. Possible options: d, f and l for
|
||||
# directories, files and symlinks respectively.
|
||||
set global_inode_type_filter
|
||||
|
||||
# This setting allows to freeze the list of files to save I/O bandwidth. It
|
||||
# should be 'false' during start-up, but you can toggle it by pressing F.
|
||||
set freeze_files false
|
||||
|
||||
# Print file sizes in bytes instead of the default human-readable format.
|
||||
set size_in_bytes false
|
||||
|
||||
# Warn at startup if RANGER_LEVEL env var is greater than 0, in other words
|
||||
# give a warning when you nest ranger in a subshell started by ranger.
|
||||
# Special value "error" makes the warning more visible.
|
||||
set nested_ranger_warning true
|
||||
|
||||
# ===================================================================
|
||||
# == Local Options
|
||||
# ===================================================================
|
||||
# You can set local options that only affect a single directory.
|
||||
|
||||
# Examples:
|
||||
# setlocal path=~/downloads sort mtime
|
||||
|
||||
default_linemode devicons
|
98
config/ranger/rifle.conf
Normal file
98
config/ranger/rifle.conf
Normal file
@@ -0,0 +1,98 @@
|
||||
# Websites
|
||||
ext x?html?, has brave, X, flag f = brave -- "$@"
|
||||
|
||||
# Misc
|
||||
mime ^text, label editor = nvim -- "$@"
|
||||
mime ^text, label pager = "$PAGER" -- "$@"
|
||||
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = nvim -- "$@"
|
||||
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||
|
||||
ext 1 = man "$1"
|
||||
ext s[wmf]c, has zsnes, X = zsnes "$1"
|
||||
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
|
||||
ext nes, has fceux, X = fceux "$1"
|
||||
ext exe = wine "$1"
|
||||
name ^[mM]akefile$ = make
|
||||
|
||||
# Code
|
||||
ext py = python -- "$1"
|
||||
ext pl = perl -- "$1"
|
||||
ext rb = ruby -- "$1"
|
||||
ext js = node -- "$1"
|
||||
ext sh = sh -- "$1"
|
||||
ext php = php -- "$1"
|
||||
|
||||
# Audio without X
|
||||
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
|
||||
|
||||
# Video/Audio with a GUI
|
||||
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
||||
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
|
||||
|
||||
# Video without X:
|
||||
mime ^video, terminal, !X, has mpv = mpv -- "$@"
|
||||
|
||||
# Documents
|
||||
ext pdf, has zathura, X, flag f = zathura -- "$@"
|
||||
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
||||
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
|
||||
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
|
||||
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
|
||||
ext pdf, has evince, X, flag f = evince -- "$@"
|
||||
ext pdf, has atril, X, flag f = atril -- "$@"
|
||||
ext pdf, has okular, X, flag f = okular -- "$@"
|
||||
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
|
||||
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
|
||||
ext pdf, has open, X, flag f = open "$@"
|
||||
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
||||
ext djvu, has zathura,X, flag f = zathura -- "$@"
|
||||
ext djvu, has evince, X, flag f = evince -- "$@"
|
||||
ext djvu, has atril, X, flag f = atril -- "$@"
|
||||
ext djvu, has djview, X, flag f = djview -- "$@"
|
||||
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
||||
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
||||
|
||||
# Image Viewing:
|
||||
mime ^image, has feh, X, flag f = feh -- "$@"
|
||||
ext xcf, X, flag f = gimp -- "$@"
|
||||
|
||||
# Archives
|
||||
# avoid password prompt by providing empty password
|
||||
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
|
||||
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
|
||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
|
||||
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
|
||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
|
||||
|
||||
# Listing and extracting archives without atool:
|
||||
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
|
||||
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
|
||||
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
|
||||
ext zip, has unzip = unzip -l "$1" | less
|
||||
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
|
||||
ext ace, has unace = unace l "$1" | less
|
||||
ext ace, has unace = for file in "$@"; do unace e "$file"; done
|
||||
ext rar, has unrar = unrar l "$1" | less
|
||||
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
|
||||
|
||||
# Flag t fallback terminals
|
||||
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
|
||||
|
||||
# Misc
|
||||
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
|
||||
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
|
||||
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
|
||||
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
|
||||
|
||||
# Define the editor for non-text files + pager as last action
|
||||
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
||||
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
||||
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||
|
||||
# The very last action, so that it's never triggered accidentally, is to execute a program:
|
||||
mime application/x-executable = "$1"
|
179
config/ranger/scope.sh
Normal file
179
config/ranger/scope.sh
Normal file
@@ -0,0 +1,179 @@
|
||||
#!/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=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
# Settings
|
||||
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
||||
HIGHLIGHT_TABWIDTH=8
|
||||
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/*)
|
||||
local orientation
|
||||
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
|
||||
# If orientation data is present and the image actually
|
||||
# needs rotating ("1" means no rotation)...
|
||||
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
|
||||
# ...auto-rotate the image according to the EXIF data.
|
||||
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
|
||||
fi
|
||||
|
||||
# `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;;
|
||||
|
||||
# PDF
|
||||
application/pdf)
|
||||
pdftoppm -f 1 -l 1 \
|
||||
-scale-to-x 1920 \
|
||||
-scale-to-y -1 \
|
||||
-singlefile \
|
||||
-jpeg -tiffcompression jpeg \
|
||||
-- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \
|
||||
&& 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 --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \
|
||||
--style="${HIGHLIGHT_STYLE}" --force -- "${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
|
||||
}
|
||||
|
||||
|
||||
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
|
||||
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
|
||||
handle_image "${MIMETYPE}"
|
||||
fi
|
||||
handle_extension
|
||||
handle_mime "${MIMETYPE}"
|
||||
handle_fallback
|
||||
|
||||
exit 1
|
164
config/rofi/launcher.rasi
Normal file
164
config/rofi/launcher.rasi
Normal file
@@ -0,0 +1,164 @@
|
||||
configuration {
|
||||
modi: "drun";
|
||||
icon-theme: "Papirus-Dark";
|
||||
application-fallback-icon: "Adwaita";
|
||||
show-icons: true;
|
||||
drun-display-format: "{name}";
|
||||
disable-history: true;
|
||||
sidebar-mode: false;
|
||||
hover-select: true;
|
||||
me-select-entry: "";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "JetBrainsMono Nerd Font Bold 9";
|
||||
background: #1f2329;
|
||||
background-alt: #1f2329E0;
|
||||
foreground: #b8bfe5;
|
||||
selected: #3f5273;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
border: 2px;
|
||||
border-color: #465b80;
|
||||
fullscreen: false;
|
||||
width: 550px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
border-radius: 0px;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "inputbar", "listbox" ];
|
||||
}
|
||||
|
||||
listbox {
|
||||
spacing: 10px;
|
||||
padding: 10px 5px 10px 5px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
orientation: horizontal;
|
||||
children: [ "textbox-prompt-colon", "entry" ];
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "";
|
||||
padding: 12px 15px;
|
||||
border-radius: 8px;
|
||||
background-color: @background-alt;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
expand: true;
|
||||
padding: 12px 16px;
|
||||
border-radius: 8px;
|
||||
background-color: @background-alt;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "Search";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
dummy {
|
||||
expand: true;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 3;
|
||||
lines: 5;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 1px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @selected;
|
||||
text-color: @background;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 24px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
}
|
||||
textbox {
|
||||
padding: 12px;
|
||||
border-radius: 5px;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 5px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
173
config/sxhkd/sxhkdrc
Normal file
173
config/sxhkd/sxhkdrc
Normal file
@@ -0,0 +1,173 @@
|
||||
#|||----- Applications -----|||#
|
||||
|
||||
# Open Terminal (alacritty)
|
||||
super + Return
|
||||
openapp --terminal
|
||||
|
||||
# Open floating Terminal
|
||||
super + alt + Return
|
||||
openapp --floating
|
||||
|
||||
# Menu applications
|
||||
super + F1
|
||||
openapp --menu
|
||||
|
||||
#####
|
||||
|
||||
# Apps (browser, editor, filemanager, music, and updater)
|
||||
shift + alt + {b,v,f,k,u}
|
||||
openapp {--browser,--nvim,--ranger, --music, --update}
|
||||
|
||||
|
||||
#|||----- System Keybindings -----|||#
|
||||
|
||||
# Show keybindings help
|
||||
alt + F1
|
||||
keybindingshelp
|
||||
|
||||
# jgmenu
|
||||
~button3
|
||||
xqp 0 $(xdo id -N Bspwm -n root) && jgmenu --csv-file=~/.config/jgmenu/menu.csv --config-file=~/.config/jgmenu/jgmenurc
|
||||
|
||||
# Scratchpad
|
||||
super + alt + o
|
||||
tdrop -a -w 70% -h 35% -y 0 -x 15% --class scratch alacritty --class=scratch
|
||||
|
||||
# Power off, Reboot, Log out, Lockscreen, kill an app
|
||||
ctrl + super + alt + {p,r,q,l,k}
|
||||
{systemctl poweroff, systemctl reboot,bspc quit,physlock -d,xkill}
|
||||
|
||||
# Hide/Show Bar
|
||||
super + {h,u}
|
||||
hidebar {-h,-u}
|
||||
|
||||
# Change transparency on focused window
|
||||
ctrl + alt + {plus,minus,t}
|
||||
picom-trans {-c -o +3,-c -o -1,-c -d}
|
||||
|
||||
# Random wallpaper
|
||||
super + alt + w
|
||||
feh -z --no-fehbg --bg-fill ~/pics/wallpapers/
|
||||
|
||||
# Screenshot Now
|
||||
Print
|
||||
screenshoter --now
|
||||
|
||||
# Screenshot Select
|
||||
ctrl + Print
|
||||
screenshoter --sel
|
||||
|
||||
# Screenshot in 10s
|
||||
alt + Print
|
||||
screenshoter --in10
|
||||
|
||||
# Screenshot active window
|
||||
shift + Print
|
||||
screenshoter --active
|
||||
|
||||
# Manage brightness
|
||||
XF86MonBrightness{Up,Down}
|
||||
sh brightness {up,down}
|
||||
|
||||
# Volume control
|
||||
XF86Audio{RaiseVolume,LowerVolume,Mute}
|
||||
volume{ --inc, --dec, --toggle}
|
||||
|
||||
# Music Control
|
||||
XF86Audio{Next,Prev,Play,Stop}
|
||||
mediacontrol {--next,--previous,--toggle,--stop}
|
||||
|
||||
|
||||
#|||----- Bspwm hotkeys -----|||#
|
||||
|
||||
# Reload BSPWM
|
||||
super + alt + r
|
||||
bspc wm -r
|
||||
|
||||
# close and kill
|
||||
super + {_,shift + }q
|
||||
bspc node -{c,k}
|
||||
|
||||
# Reload Keybindings
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd; dunstify -u low -i ~/.local/share/assets/reload.svg 'sxhkd' 'The configuration file has been reloaded successfully!'
|
||||
|
||||
#####
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
# set the window state
|
||||
super + {t,shift + t,s,f}
|
||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||
|
||||
# set the node flags
|
||||
ctrl + alt {m,x,s,p}
|
||||
bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
# Hide/Unhide Window
|
||||
ctrl + alt + h
|
||||
bsphidenode
|
||||
|
||||
#####
|
||||
|
||||
# rotate desktop
|
||||
super + r
|
||||
bspc node @/ --rotate {90,-90}
|
||||
|
||||
# Circulate the leaves of the tree
|
||||
super + c
|
||||
bspc node @/ --circulate {backward,forward}
|
||||
|
||||
# Change focus of the Node or Swap Nodes
|
||||
super + {_,shift + }{Left,Down,Up,Right}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# Switch workspace
|
||||
super + ctrl + {Left,Right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
super + {grave,Tab}
|
||||
bspc {node,desktop} -f last
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + ctrl + {1-9,0}
|
||||
bspc {node -d} '^{1-9,10}' '--follow'
|
||||
|
||||
# Send focused Node to workspace directionally
|
||||
super + ctrl + shift + {Left,Right}
|
||||
bspc node -d {prev,next} '--follow'
|
||||
|
||||
#####
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + {h,j,k,l}
|
||||
bspc node -p {west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + alt + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#####
|
||||
|
||||
# expand a window
|
||||
super + alt + {Left,Down,Up,Right}
|
||||
bspc node -z {left -10 0,bottom 0 10,top 0 -10,right 10 0}
|
||||
|
||||
# contract a window
|
||||
super + alt + shift + {Left,Down,Up,Right}
|
||||
bspc node -z {right -10 0,top 0 10,bottom 0 -10,left 10 0}
|
||||
|
||||
# move a floating window
|
||||
alt + shift {Left,Down,Up,Right}
|
||||
bspc node -v {-10 0,0 10,0 -10,10 0}
|
9
config/user-dirs.dirs
Normal file
9
config/user-dirs.dirs
Normal file
@@ -0,0 +1,9 @@
|
||||
XDG_DESKTOP_DIR="$HOME/desk"
|
||||
XDG_DOWNLOAD_DIR="$HOME/down"
|
||||
XDG_TEMPLATES_DIR="$HOME/"
|
||||
XDG_PUBLICSHARE_DIR="$HOME/"
|
||||
XDG_DOCUMENTS_DIR="$HOME/docs"
|
||||
XDG_MUSIC_DIR="$HOME/music"
|
||||
XDG_PICTURES_DIR="$HOME/pics"
|
||||
XDG_VIDEOS_DIR="$HOME/vids"
|
||||
XDG_GAMES_DIR="$HOME/games"
|
1840
config/zsh/zcompdump
Normal file
1840
config/zsh/zcompdump
Normal file
File diff suppressed because it is too large
Load Diff
3
config/zsh/zhistory
Normal file
3
config/zsh/zhistory
Normal file
@@ -0,0 +1,3 @@
|
||||
curl -L https://is.gd/lkarch -o $HOME/setup.sh
|
||||
chmod +x setup.sh
|
||||
./setup.sh
|
Reference in New Issue
Block a user