feat: switch to kitty
This commit is contained in:
parent
2cae0ba5f5
commit
fe391566e1
@ -113,5 +113,7 @@ if ! shopt -oq posix; then
|
||||
fi
|
||||
|
||||
|
||||
export MAX_TEST_VAR="working"
|
||||
|
||||
[ -z $DISPLAY ] && export DISPLAY=127.0.0.1:0.0
|
||||
. "$HOME/.cargo/env"
|
||||
|
@ -29,6 +29,11 @@ set -g mode-keys vi
|
||||
# Enable mouse mode (tmux 2.1 and above)
|
||||
set -g mouse on
|
||||
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Customize status line
|
||||
# set-option -g status-style bg=default
|
||||
set-window-option -g status-position top # statusbar position
|
||||
|
@ -76,9 +76,6 @@ fi
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
|
||||
|
||||
|
||||
# Auto connect to tmux session of ssh
|
||||
if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then
|
||||
tmux attach-session -t $USER || tmux new-session -s $USER
|
||||
|
1317
configs/kitty/kitty.conf
Normal file
1317
configs/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load Diff
@ -153,13 +153,6 @@ if u.has_plugin("cmp") then
|
||||
}
|
||||
)
|
||||
|
||||
require("transparent").setup(
|
||||
{
|
||||
enable = true,
|
||||
extra_groups = "All"
|
||||
}
|
||||
)
|
||||
|
||||
g.markdown_fenced_languages = {"html", "python", "bash=sh"}
|
||||
|
||||
-- Remove background color
|
||||
|
@ -12,6 +12,13 @@ cmd [[
|
||||
au ColorScheme myspecialcolors hi Normal ctermbg=red guibg=red
|
||||
]]
|
||||
|
||||
cmd [[
|
||||
augroup filetypedetect
|
||||
au BufNewFile,BufRead *.frag setl ft=glsl
|
||||
au BufNewFile,BufRead *.vert setl ft=glsl
|
||||
augroup END
|
||||
]]
|
||||
|
||||
cmd [[
|
||||
augroup SaveManualFolds
|
||||
autocmd!
|
||||
|
@ -1,8 +1,7 @@
|
||||
local cmd = vim.cmd
|
||||
local util = require "vim.lsp.util"
|
||||
local utils = require("utils")
|
||||
local g = vim.g
|
||||
|
||||
function tablelength(T)
|
||||
local function tablelength(T)
|
||||
local count = 0
|
||||
for _ in pairs(T) do
|
||||
count = count + 1
|
||||
@ -30,16 +29,15 @@ local function select_client(method)
|
||||
return supported_client
|
||||
end
|
||||
|
||||
g.neoformat_enabled_glsl = {}
|
||||
|
||||
function FormattingSync()
|
||||
vim.cmd("Neoformat")
|
||||
|
||||
-- local client = select_client("textDocument/formatting")
|
||||
-- if client == nil then
|
||||
-- vim.notify("No LSP Client with formatting connected")
|
||||
-- end
|
||||
|
||||
-- vim.notify("Formatting with LSP")
|
||||
|
||||
-- local params = util.make_formatting_params({})
|
||||
-- local result, err = client.request_sync("textDocument/formatting", params, 500, vim.api.nvim_get_current_buf())
|
||||
-- if result and result.result then
|
||||
|
@ -66,7 +66,7 @@ map("n", "<Leader>r", "<cmd>lua require('rest-nvim').run()<CR>", options)
|
||||
map("n", "<Leader>q", "<Esc>:q<CR>", options)
|
||||
|
||||
-- Open Nerdtree
|
||||
map("n", "<C-n>", ":NvimTreeToggle<CR>", options)
|
||||
map("n", "<C-n>", ":NvimTreeToggle<CR>:TransparentEnable<CR>", options)
|
||||
|
||||
-- Make ctrl+s work
|
||||
map("n", "<C-s>", "<Esc>:w<CR>", options)
|
||||
|
@ -1,29 +1,17 @@
|
||||
local lsp = require "lspconfig"
|
||||
local lsp_status = require("lsp-status")
|
||||
|
||||
_G.lsp_organize_imports = function()
|
||||
local params = {
|
||||
command = "_typescript.organizeImports",
|
||||
arguments = {vim.api.nvim_buf_get_name(0)},
|
||||
title = ""
|
||||
}
|
||||
vim.lsp.buf.execute_command(params)
|
||||
end
|
||||
local ts_utils = require("nvim-lsp-ts-utils")
|
||||
|
||||
-- function to attach completion when setting up lsp
|
||||
local function on_attach()
|
||||
local function on_attach(client, bufnr)
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
vim.cmd("command! LspOrganize lua lsp_organize_imports()")
|
||||
vim.api.nvim_buf_map(bufnr, "n", "gs", ":LspOrganize<CR>", {silent = true})
|
||||
end
|
||||
|
||||
local runtime_path = vim.split(package.path, ";")
|
||||
table.insert(runtime_path, "lua/?.lua")
|
||||
table.insert(runtime_path, "lua/?/init.lua")
|
||||
|
||||
print(runtime_path)
|
||||
|
||||
require "lspconfig".sumneko_lua.setup {
|
||||
lsp.sumneko_lua.setup {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
@ -50,8 +38,9 @@ require "lspconfig".sumneko_lua.setup {
|
||||
|
||||
-- Ltex Language Server
|
||||
require("grammar-guard").init()
|
||||
|
||||
-- setup LSP config
|
||||
require("lspconfig").grammar_guard.setup(
|
||||
lsp.grammar_guard.setup(
|
||||
{
|
||||
cmd = {vim.fn.expand("~/.local/share/nvim/lsp_servers/ltex/ltex-ls/bin/ltex-ls")},
|
||||
settings = {
|
||||
@ -90,26 +79,74 @@ lsp.svelte.setup {
|
||||
capabilities = lsp_status.capabilities
|
||||
}
|
||||
|
||||
local function organize_imports()
|
||||
local params = {
|
||||
command = "_typescript.organizeImports",
|
||||
arguments = {vim.api.nvim_buf_get_name(0)},
|
||||
title = ""
|
||||
}
|
||||
vim.lsp.buf.execute_command(params)
|
||||
end
|
||||
|
||||
-- Typescript Language Server
|
||||
lsp.tsserver.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = lsp_status.capabilities,
|
||||
commands = {
|
||||
OrganizeImports = {
|
||||
organize_imports,
|
||||
description = "Organize Imports"
|
||||
}
|
||||
lsp.tsserver.setup(
|
||||
{
|
||||
-- Needed for inlayHints. Merge this table with your settings or copy
|
||||
-- it from the source if you want to add your own init_options.
|
||||
init_options = require("nvim-lsp-ts-utils").init_options,
|
||||
--
|
||||
on_attach = function(client, bufnr)
|
||||
vim.notify("Eyyyy")
|
||||
|
||||
-- defaults
|
||||
ts_utils.setup(
|
||||
{
|
||||
debug = true,
|
||||
disable_commands = false,
|
||||
enable_import_on_completion = false,
|
||||
-- import all
|
||||
import_all_timeout = 5000, -- ms
|
||||
-- lower numbers = higher priority
|
||||
import_all_priorities = {
|
||||
same_file = 1, -- add to existing import statement
|
||||
local_files = 2, -- git files or files with relative path markers
|
||||
buffer_content = 3, -- loaded buffer content
|
||||
buffers = 4 -- loaded buffer names
|
||||
},
|
||||
import_all_scan_buffers = 100,
|
||||
import_all_select_source = false,
|
||||
-- if false will avoid organizing imports
|
||||
always_organize_imports = true,
|
||||
-- filter diagnostics
|
||||
filter_out_diagnostics_by_severity = {},
|
||||
filter_out_diagnostics_by_code = {},
|
||||
-- inlay hints
|
||||
auto_inlay_hints = true,
|
||||
inlay_hints_highlight = "Comment",
|
||||
inlay_hints_priority = 200, -- priority of the hint extmarks
|
||||
inlay_hints_throttle = 150, -- throttle the inlay hint request
|
||||
inlay_hints_format = {
|
||||
-- format options for individual hint kind
|
||||
Type = {},
|
||||
Parameter = {},
|
||||
Enum = {}
|
||||
-- Example format customization for `Type` kind:
|
||||
-- Type = {
|
||||
-- highlight = "Comment",
|
||||
-- text = function(text)
|
||||
-- return "->" .. text:sub(2)
|
||||
-- end,
|
||||
-- },
|
||||
},
|
||||
-- update imports on file move
|
||||
update_imports_on_move = false,
|
||||
require_confirmation_on_move = false,
|
||||
watch_dir = nil
|
||||
}
|
||||
)
|
||||
|
||||
-- required to fix code action ranges and filter diagnostics
|
||||
ts_utils.setup_client(client)
|
||||
|
||||
-- no default maps, so you may want to define some here
|
||||
local opts = {silent = true}
|
||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", ":TSLspOrganize<CR>", opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", ":TSLspRenameFile<CR>", opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", ":TSLspImportAll<CR>", opts)
|
||||
end
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
-- JSON ls setup
|
||||
lsp.jsonls.setup {
|
||||
@ -117,6 +154,12 @@ lsp.jsonls.setup {
|
||||
capabilities = lsp_status.capabilities
|
||||
}
|
||||
|
||||
-- JSON ls setup
|
||||
lsp.cssls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = lsp_status.capabilities
|
||||
}
|
||||
|
||||
-- Setup diagnostics formaters and linters for non LSP provided files
|
||||
lsp.diagnosticls.setup {
|
||||
on_attach = on_attach,
|
||||
|
@ -1,14 +1,16 @@
|
||||
local lsp_installer = require("nvim-lsp-installer")
|
||||
|
||||
lsp_installer.on_server_ready(function(server)
|
||||
local opts = {}
|
||||
lsp_installer.on_server_ready(
|
||||
function(server)
|
||||
local opts = {}
|
||||
|
||||
-- (optional) Customize the options passed to the server
|
||||
-- if server.name == "tsserver" then
|
||||
-- opts.root_dir = function() ... end
|
||||
-- end
|
||||
-- (optional) Customize the options passed to the server
|
||||
-- if server.name == "tsserver" then
|
||||
-- opts.root_dir = function() ... end
|
||||
-- end
|
||||
|
||||
-- This setup() function is exactly the same as lspconfig's setup function (:help lspconfig-quickstart)
|
||||
server:setup(opts)
|
||||
vim.cmd [[ do User LspAttachBuffers ]]
|
||||
end)
|
||||
-- This setup() function is exactly the same as lspconfig's setup function (:help lspconfig-quickstart)
|
||||
-- server:setup(opts)
|
||||
vim.cmd [[ do User LspAttachBuffers ]]
|
||||
end
|
||||
)
|
||||
|
@ -6,9 +6,8 @@ return require("packer").startup(
|
||||
-- General Helper Functions
|
||||
use "nvim-lua/plenary.nvim"
|
||||
|
||||
-- Faster Filetype Detection
|
||||
-- Filetype Detection
|
||||
use "nathom/filetype.nvim"
|
||||
use "alexghergh/nvim-tmux-navigation"
|
||||
|
||||
-- Theming Section
|
||||
-- use 'folke/tokyonight.nvim'
|
||||
@ -27,6 +26,7 @@ return require("packer").startup(
|
||||
use "windwp/nvim-autopairs"
|
||||
|
||||
-- Code Navigation
|
||||
use "alexghergh/nvim-tmux-navigation"
|
||||
use "dense-analysis/ale"
|
||||
use "nathanmsmith/nvim-ale-diagnostic"
|
||||
use "junegunn/fzf"
|
||||
@ -52,6 +52,7 @@ return require("packer").startup(
|
||||
}
|
||||
|
||||
-- Syntax / Autocomplete
|
||||
use "terminalnode/sway-vim-syntax" --sway config syntax
|
||||
use "neovim/nvim-lspconfig"
|
||||
use "hrsh7th/nvim-cmp"
|
||||
use "hrsh7th/cmp-nvim-lsp"
|
||||
@ -65,6 +66,7 @@ return require("packer").startup(
|
||||
use "saadparwaiz1/cmp_luasnip"
|
||||
use "williamboman/nvim-lsp-installer"
|
||||
use "nvim-lua/lsp-status.nvim"
|
||||
use "jose-elias-alvarez/nvim-lsp-ts-utils"
|
||||
use "neoclide/jsonc.vim"
|
||||
use "brymer-meneses/grammar-guard.nvim"
|
||||
use {
|
||||
@ -72,10 +74,6 @@ return require("packer").startup(
|
||||
run = ":TSUpdate"
|
||||
}
|
||||
|
||||
-- Language Supports
|
||||
use "beyondmarc/glsl.vim" -- GLSL
|
||||
use "ellisonleao/glow.nvim" -- MARKDOWN
|
||||
|
||||
-- Autoformat
|
||||
use "sbdchd/neoformat"
|
||||
-- use "lukas-reineke/format.nvim"
|
||||
|
@ -1,5 +1,4 @@
|
||||
# vi: ft=confj
|
||||
# /go
|
||||
# vim: ft=swayconfig
|
||||
|
||||
# Default config for sway
|
||||
#
|
||||
@ -7,7 +6,7 @@
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
exec export $(dbus-launch --exit-with-session);
|
||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||
|
||||
### Variables
|
||||
#
|
||||
@ -32,26 +31,29 @@ set $screenshot wl-copy < "$($grimshot --notify save screen $screenshot_dir/scrn
|
||||
set $windowshot wl-copy < "$($grimshot --notify save window $screenshot_dir/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png)"
|
||||
|
||||
# Default Programs
|
||||
set $term alacritty
|
||||
set $term kitty
|
||||
set $explorer nautilus
|
||||
set $mail geary
|
||||
set $browser google-chrome --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
set $browser google-chrome-beta --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
|
||||
set $config_editor ~/.config/sway/config_editor.sh
|
||||
set $debug_window ~/.config/sway/debug_window.sh
|
||||
set $settings gnome-control-center
|
||||
set $toggle_layout ~/.config/sway/toggle_layout.sh
|
||||
set $toggle_gaps ~/.config/sway/toggle_gaps.sh
|
||||
set $toggle_bar ~/.config/sway/toggle_bar.sh
|
||||
set $web_search $wofi_scripts/web-search.sh
|
||||
set $select_window ~/.config/sway/select_window.sh
|
||||
set $lock_screen ~/.config/sway/lock_screen.sh
|
||||
set $select_emoji $wofi_scripts/wofi-emoji
|
||||
set $password_mngr rofi-rbw --selector wofi
|
||||
set $password_mngr rofi-rbw --selector wofi --typer wtyper --cliboarder wl-copy
|
||||
set $open_localhost $wofi_scripts/open-localhost
|
||||
set $bluetooth_mngr blueman-manager
|
||||
|
||||
# Input configuration
|
||||
input * {
|
||||
xkb_layout de
|
||||
xkb_capslock disabled
|
||||
tap enabled
|
||||
}
|
||||
|
||||
smart_gaps off
|
||||
@ -89,12 +91,12 @@ exec swayidle -w \
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
input "1739:24385:Synaptics_TM2438-005" {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
natural_scroll enabled
|
||||
middle_emulation enabled
|
||||
}
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
@ -110,6 +112,7 @@ exec swayidle -w \
|
||||
bindsym $mod+e exec $explorer
|
||||
bindsym $mod+Comma exec $settings
|
||||
bindsym $mod+b exec $browser
|
||||
bindsym $mod+Shift+b exec $bluetooth_mngr
|
||||
bindsym $mod+Shift+Comma exec $config_editor
|
||||
bindsym $mod+a exec $web_search
|
||||
bindsym $mod+p exec $password_mngr
|
||||
@ -138,7 +141,7 @@ exec swayidle -w \
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
# bindsym $mod+$right focus right
|
||||
bindsym $mod+$right focus right
|
||||
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
@ -151,6 +154,7 @@ exec swayidle -w \
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
@ -159,46 +163,52 @@ exec swayidle -w \
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
for_window [class="zoom"] floating enable
|
||||
for_window [app_id="gnome-calculator"] floating enable
|
||||
for_window [title="Zoom Meeting.*"] floating disable
|
||||
for_window [title="Zoom Meeting.*"] inhibit_idle visible
|
||||
|
||||
set $ws1 "1: Code"
|
||||
assign [class="Alacritty"] $ws1
|
||||
assign [app_id="Alacritty"] $ws1
|
||||
set $ws2 "2: Browser"
|
||||
assign [class="Firefox"] $ws2
|
||||
assign [class="Chromium"] $ws2
|
||||
assign [class="Google-chrome-beta"] $ws2
|
||||
assign [class="Google-chrome"] $ws2
|
||||
assign [class="Chromium"] $ws2
|
||||
assign [class="Google-chrome-beta"] $ws2
|
||||
assign [app_id="google-chrome-beta"] $ws2
|
||||
assign [class="Google-chrome"] $ws2
|
||||
assign [app_id="google-chrome"] $ws2
|
||||
set $ws3 "3: Music"
|
||||
assign [class="Spotify"] $ws3
|
||||
assign [class="spotify"] $ws3
|
||||
assign [class="Spotify"] $ws3
|
||||
assign [class="spotify"] $ws3
|
||||
assign [app_id="dev.alextren.Spot"] $ws3
|
||||
set $ws4 "4: Chat"
|
||||
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace $ws1
|
||||
bindsym $mod+2 workspace $ws2
|
||||
bindsym $mod+3 workspace $ws3
|
||||
bindsym $mod+4 workspace $ws4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace $ws1
|
||||
bindsym $mod+2 workspace $ws2
|
||||
bindsym $mod+3 workspace $ws3
|
||||
bindsym $mod+4 workspace $ws4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
|
||||
for_window [class="zoom"] floating enable
|
||||
for_window [title="Zoom Meeting.*"] floating disable
|
||||
for_window [title="Zoom Meeting.*"] inhibit_idle visible
|
||||
|
||||
#
|
||||
# Layout stuff:
|
||||
@ -212,6 +222,7 @@ for_window [title="Zoom Meeting.*"] inhibit_idle visible
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+w exec $toggle_layout
|
||||
bindsym $mod+g exec $toggle_gaps
|
||||
bindsym $mod+Shift+g exec $toggle_bar
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
@ -226,16 +237,18 @@ for_window [title="Zoom Meeting.*"] inhibit_idle visible
|
||||
# bindsym $mod+a focus parent
|
||||
|
||||
# Screenshots
|
||||
# -- Entire Screen
|
||||
bindsym $mod+s exec $screenshot
|
||||
# -- Area Screenshot
|
||||
bindsym $mod+Shift+s exec $screenclip
|
||||
# -- Select Window
|
||||
bindsym $mod+Control+s exec $windowshot
|
||||
# -- Entire Screen
|
||||
bindsym $mod+s exec $screenshot
|
||||
|
||||
bindsym $mod+i exec $select_emoji
|
||||
bindsym $mod+l exec $lock_screen
|
||||
bindsym $mod+Tab exec $select_window
|
||||
bindsym $mod+Shift+i exec $debug_window
|
||||
bindsym $mod+o exec $open_localhost
|
||||
bindsym $mod+c exec $lock_screen
|
||||
bindsym Alt+Tab exec $select_window
|
||||
bindsym $mod+m exec $mail
|
||||
#
|
||||
# Scratchpad:
|
||||
@ -257,10 +270,16 @@ mode "resize" {
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
bindsym $left resize shrink width 100px
|
||||
bindsym $down resize grow height 100px
|
||||
bindsym $up resize shrink height 100px
|
||||
bindsym $right resize grow width 100px
|
||||
|
||||
|
||||
bindsym Shift+$left resize shrink width 20px
|
||||
bindsym Shift+$down resize grow height 20px
|
||||
bindsym Shift+$up resize shrink height 20px
|
||||
bindsym Shift+$right resize grow width 20px
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
@ -274,10 +293,7 @@ mode "resize" {
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
|
||||
# Do we need that?
|
||||
exec_always nm-applet --indicator
|
||||
|
||||
# Handles notifications
|
||||
exec_always mako
|
||||
@ -294,4 +310,4 @@ bar {
|
||||
}
|
||||
|
||||
include @sysconfdir@/sway/config.d/*
|
||||
exec systemctl --user import-environment
|
||||
exec "systemctl --user import-environment SWAYSOCK WAYLAND_DISPLAY";
|
||||
|
33
configs/sway/debug_window.sh
Executable file
33
configs/sway/debug_window.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
ALL_NODES='recurse(.nodes[]?, .floating_nodes[]?) | select(.pid and .visible)'
|
||||
WINDOW_NAME='(.app_id // .window_properties.class)'
|
||||
ID_PREFIX='"\(.pid):"'
|
||||
WINDOW_PROTOCOL='(if .shell == "xwayland" then "X11" else "wayland" end)'
|
||||
WINDOW_GEOMETRY='(.rect | "\(.x),\(.y) \(.width)x\(.height) ")'
|
||||
WINDOW_PID='(.pid | tostring)'
|
||||
CLEAR_OBJ="del(.rect, .name, .focus, .border, .current_border_width, .window_rect, .orientation, .layout, .percent, .deco_rect, .geometry, .window, .urgent, .marks, .sticky, .type, .fullscreen_mode, .nodes, .floating_nodes, .shell, .max_render_time, .visible, .idle_inhibitors, .inhibit_idle)"
|
||||
|
||||
# Output format, e.g. "1234 - 12:firefox (wayland)" or "5678 - 17:discord (X11)"
|
||||
FORMAT="$WINDOW_PID"
|
||||
FILT="$ALL_NODES | $WINDOW_GEOMETRY + $FORMAT"
|
||||
|
||||
function getprop() {
|
||||
typeset -A views
|
||||
local selected
|
||||
|
||||
while read POS GEOM INFO; do
|
||||
views["$POS $GEOM"]="$INFO"
|
||||
done
|
||||
|
||||
|
||||
selected="$(printf "%s\n" "${!views[@]}" | slurp)"
|
||||
if [[ -n "$selected" ]]; then
|
||||
window_id=${views[${selected}]};
|
||||
SELECT_ID=$(echo ".. | (.nodes? // empty)[] | select(.pid == $window_id) | $CLEAR_OBJ ")
|
||||
echo $SELECT_ID
|
||||
notify "Debug:" "$(swaymsg -t get_tree | jq -r "$SELECT_ID")";
|
||||
fi
|
||||
}
|
||||
|
||||
swaymsg -t get_tree | jq -r "$FILT" | getprop
|
16
configs/sway/toggle_bar.sh
Executable file
16
configs/sway/toggle_bar.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
GAPS=3
|
||||
|
||||
# How to get the current inner border from swaymsg
|
||||
#$ echo $(swaymsg -t get_config | jq ".config") | sed -n '/gaps\ inner/p' | sed 's/gaps\ inner//g' | xargs
|
||||
|
||||
if [ "$(pgrep waybar)" != "" ]; then
|
||||
killall waybar;
|
||||
swaymsg gaps outer all set 0;
|
||||
swaymsg gaps inner all set 0;
|
||||
else
|
||||
swaymsg gaps outer all set $GAPS;
|
||||
swaymsg gaps inner all set $GAPS;
|
||||
nohup waybar & 2&> /dev/null;
|
||||
fi
|
9
configs/wofi/open-localhost
Executable file
9
configs/wofi/open-localhost
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
open "http://localhost:$(sed '1,/^### DATA ###$/d' $0 | wofi --show dmenu -i | cut -d ' ' -f 1 | tr -d '\n')"
|
||||
exit
|
||||
### DATA ###
|
||||
8000
|
||||
8080
|
||||
3000
|
||||
3001
|
||||
80
|
@ -1,7 +1,306 @@
|
||||
#!/bin/bash
|
||||
sed '1,/^### DATA ###$/d' $0 | wofi --show dmenu -i | cut -d ' ' -f 1 | tr -d '\n' | wl-copy
|
||||
EMOJI=$(sed '1,/^### DATA ###$/d' $0 | wofi --show dmenu -i | cut -d ' ' -f 1 | tr -d '\n')
|
||||
wtype $EMOJI
|
||||
wl-copy $EMOJI
|
||||
exit
|
||||
### DATA ###
|
||||
Ω Ohm
|
||||
← Left Arrow
|
||||
↑ Up Arrow
|
||||
→ Right Arrow
|
||||
↓ Down Arrow
|
||||
↔ Left Right Arrow
|
||||
↕ Up Down Arrow
|
||||
↖ North West Arrow
|
||||
↗ North East Arrow
|
||||
↘ South East Arrow
|
||||
↙ South West Arrow
|
||||
↚ Left Arrow with Stroke
|
||||
↛ Right Arrow with Stroke
|
||||
↜ Left Wave Arrow
|
||||
↝ Right Wave Arrow
|
||||
↞ Left Two Headed Arrow
|
||||
↟ Up Two Headed Arrow
|
||||
↠ Right Two Headed Arrow
|
||||
↡ Down Two Headed Arrow
|
||||
↢ Left Arrow with Tail
|
||||
↣ Right Arrow with Tail
|
||||
↤ Left Arrow from Bar
|
||||
↥ Up Arrow from Bar
|
||||
↦ Right Arrow from Bar
|
||||
↧ Down Arrow from Bar
|
||||
↨ Up Down Arrow with Base
|
||||
↩ Left Arrow with Hook
|
||||
↪ Right Arrow with Hook
|
||||
↫ Left Arrow with Loop
|
||||
↬ Right Arrow with Loop
|
||||
↭ Left Right Wave Arrow
|
||||
↮ Left Right Arrow with Stroke
|
||||
↯ Down Zigzag Arrow
|
||||
↰ Up Arrow with Tip Left
|
||||
↱ Up Arrow with Tip Right
|
||||
↲ Down Arrow with Tip Left
|
||||
↳ Down Arrow with Tip Right
|
||||
↴ Right Arrow with Corner Down
|
||||
↵ Down Arrow with Corner Left
|
||||
↶ Anticlockwise Top Semicircle Arrow
|
||||
↷ Clockwise Top Semicircle Arrow
|
||||
↸ North West Arrow to Long Bar
|
||||
↹ Left Arrow to Bar over Right Arrow to bar
|
||||
↺ Anticlockwise Open Circle Arrow
|
||||
↻ Clockwise Open Circle Arrow
|
||||
↼ Left Harpoon with Barb Up
|
||||
↽ Left Harpoon with Barb Down
|
||||
↾ Up Harpoon with Barb Right
|
||||
↿ Up Harpoon with Barb Left
|
||||
⇀ Right Harpoon with Barb Up
|
||||
⇁ Right Harpoon with Barb Down
|
||||
⇂ Down Harpoon with Barb Right
|
||||
⇃ Down Harpoon with Barb Left
|
||||
⇄ Right Arrow over Left Arrow
|
||||
⇅ Up Arrow Left of Down Arrow
|
||||
⇆ Left Arrow over Right Arrow
|
||||
⇇ Left Paired Arrows
|
||||
⇈ Up Paired Arrows
|
||||
⇉ Right Paired Arrows
|
||||
⇊ Downards Paired Arrows
|
||||
⇋ Left Harpoon over Right Harpoon
|
||||
⇌ Right Harpoon over Left Harpoon
|
||||
⇍ Left Double Arrow with Stroke
|
||||
⇎ Left Right Double Arrow with Stroke
|
||||
⇏ Right Double Arrow with Stroke
|
||||
⇐ Left Double Arrow
|
||||
⇑ Up Double Arrow
|
||||
⇒ Right Double Arrow
|
||||
⇓ Down Double Arrow
|
||||
⇔ Left Right Double Arrow
|
||||
⇕ Up Down Double Arrow
|
||||
⇖ North West Double Arrow
|
||||
⇗ North East Double Arrow
|
||||
⇘ South East Double Arrow
|
||||
⇙ South West Double Arrow
|
||||
⇚ Left Triple Arrow
|
||||
⇛ Right Triple Arrow
|
||||
⇜ Left Squiggle Arrow
|
||||
⇝ Right Squiggle Arrow
|
||||
⇞ Up Arrow with Double Stroke
|
||||
⇟ Down Arrow with Double Stroke
|
||||
⇠ Left Dashed Arrow
|
||||
⇡ Up Dashed Arrow
|
||||
⇢ Right Dashed Arrow
|
||||
⇣ Down Dashed Arrow
|
||||
⇤ Left Arrow to Bar
|
||||
⇥ Right Arrow to Bar
|
||||
⇥ Right Arrow to Bar
|
||||
⇦ Left White Arrow
|
||||
⇧ Up White Arrow
|
||||
⇨ Right White Arrow
|
||||
⇩ Down White Arrow
|
||||
⇪ Up White Arrow from Bar
|
||||
⇫ Up White Arrow on Pedestal
|
||||
⇬ Up White Arrow on Pedestal with Horizontal Bar
|
||||
⇭ Up White Arrow on Pedestal with Vertical Bar
|
||||
⇮ Up White Double Arrow
|
||||
⇯ Up White Double Arrow on Pedestal
|
||||
⇰ Right White Arrow from Wall
|
||||
⇱ North West Arrow to Corner
|
||||
⇲ South East Arrow to Corner
|
||||
⇳ Up Down White Arrow
|
||||
⇴ Right Arrow with Small Circle
|
||||
⇵ Down Arrow Left of Up Arrow
|
||||
⇶ Three Right Arrows
|
||||
⇷ Left Arrow with Vertical Stroke
|
||||
⇸ Right Arrow with Vertical Stroke
|
||||
⇹ Left Right Arrow with Vertical Stroke
|
||||
⇺ Left Arrow with Double Vertical Stroke
|
||||
⇻ Right Arrow with Double Vertical Stroke
|
||||
⇼ Left Right Arrow with Double Vertical Stroke
|
||||
⇽ Left Open-headed Arrow
|
||||
⇾ Right Open-headed Arrow
|
||||
⇿ Left Right Open-headed Arrow
|
||||
⟰ Up Quadruple Arrow
|
||||
⟱ Down Quadruple Arrow
|
||||
⟲ Anticlockwise Gapped Circle Arrow
|
||||
⟳ Clockwise Gapped Circle Arrow
|
||||
⟴ Right Arrow With Circled Plus
|
||||
⟵ Long Left Arrow
|
||||
⟶ Long Right Arrow
|
||||
⟷ Long Left Right Arrow
|
||||
⟸ Long Left Double Arrow
|
||||
⟹ Long Right Double Arrow
|
||||
⟺ Long Left Right Double Arrow
|
||||
⟻ Long Left Arrow From Bar
|
||||
⟼ Long Right Arrow From Bar
|
||||
⟽ Long Left Double Arrow From Bar
|
||||
⟾ Long Right Double Arrow From Bar
|
||||
⟿ Long Right Squiggle Arrow
|
||||
⤀ Right Two-Headed Arrow With Vertical Stroke
|
||||
⤁ Right Two-Headed Arrow With Double Vertical Stroke
|
||||
⤂ Left Double Arrow With Vertical Stroke
|
||||
⤃ Right Double Arrow With Vertical Stroke
|
||||
⤄ Left Right Double Arrow With Vertical Stroke
|
||||
⤅ Right Two-Headed Arrow From Bar
|
||||
⤆ Left Double Arrow From Bar
|
||||
⤇ Right Double Arrow From Bar
|
||||
⤈ Down Arrow With Horizontal Stroke
|
||||
⤉ Up Arrow With Horizontal Stroke
|
||||
⤊ Up Triple Arrow
|
||||
⤋ Down Triple Arrow
|
||||
⤌ Left Double Dash Arrow
|
||||
⤍ Right Double Dash Arrow
|
||||
⤎ Left Triple Dash Arrow
|
||||
⤏ Right Triple Dash Arrow
|
||||
⤐ Right Two-Headed Triple Dash Arrow
|
||||
⤑ Right Arrow With Dotted Stem
|
||||
⤒ Up Arrow to Bar
|
||||
⤓ Down Arrow to Bar
|
||||
⤔ Right Arrow With Tail With Vertical Stroke
|
||||
⤕ Right Arrow With Tail With Double Vertical Stroke
|
||||
⤖ Right Two-Headed Arrow With Tail
|
||||
⤗ Right Two-Headed Arrow With Tail With Vertical Stroke
|
||||
⤘ Right Two-Headed Arrow With Tail With Double Vertical Stroke
|
||||
⤙ Left Arrow-Tail
|
||||
⤚ Right Arrow-Tail
|
||||
⤛ Left Double Arrow-Tail
|
||||
⤜ Right Double Arrow-Tail
|
||||
⤝ Left Arrow to Black Diamond
|
||||
⤞ Right Arrow to Black Diamond
|
||||
⤟ Left Arrow From Bar to Black Diamond
|
||||
⤠ Right Arrow From Bar to Black Diamond
|
||||
⤡ North West and South East Arrow
|
||||
⤢ North East and South West Arrow
|
||||
⤣ North West Arrow With Hook
|
||||
⤤ North East Arrow With Hook
|
||||
⤥ South East Arrow With Hook
|
||||
⤦ South West Arrow With Hook
|
||||
⤧ North West Arrow and North East Arrow
|
||||
⤨ North East Arrow and South East Arrow
|
||||
⤩ South East Arrow and South West Arrow
|
||||
⤪ South West Arrow and North West Arrow
|
||||
⤫ Rising Diagonal Crossing Falling Diagonal
|
||||
⤬ Falling Diagonal Crossing Rising Diagonal
|
||||
⤭ South East Arrow Crossing North East Arrow
|
||||
⤮ North East Arrow Crossing South East Arrow
|
||||
⤯ Falling Diagonal Crossing North East Arrow
|
||||
⤰ Rising Diagonal Crossing South East Arrow
|
||||
⤱ North East Arrow Crossing North West Arrow
|
||||
⤲ North West Arrow Crossing North East Arrow
|
||||
⤳ Wave Arrow Pointing Directly Right
|
||||
⤴ Arrow Pointing Right Then Curving Up
|
||||
⤵ Arrow Pointing Right Then Curving Down
|
||||
⤶ Arrow Pointing Down Then Curving Left
|
||||
⤷ Arrow Pointing Down Then Curving Right
|
||||
⤸ Right-Side Arc Clockwise Arrow
|
||||
⤹ Left-Side Arc Anticlockwise Arrow
|
||||
⤺ Top Arc Anticlockwise Arrow
|
||||
⤻ Bottom Arc Anticlockwise Arrow
|
||||
⤼ Top Arc Clockwise Arrow With Minus
|
||||
⤽ Top Arc Anticlockwise Arrow With Plus
|
||||
⤾ Lower Right Semicircular Clockwise Arrow
|
||||
⤿ Lower Left Semicircular Anticlockwise Arrow
|
||||
⥀ Anticlockwise Closed Circle Arrow
|
||||
⥁ Clockwise Closed Circle Arrow
|
||||
⥂ Right Arrow Above Short Left Arrow
|
||||
⥃ Left Arrow Above Short Right Arrow
|
||||
⥄ Short Right Arrow Above Left Arrow
|
||||
⥅ Right Arrow With Plus Below
|
||||
⥆ Left Arrow With Plus Below
|
||||
⥇ Right Arrow Through X
|
||||
⥈ Left Right Arrow Through Small Circle
|
||||
⥉ Up Two-Headed Arrow From Small Circle
|
||||
⥊ Left Barb Up Right Barb Down Harpoon
|
||||
⥋ Left Barb Down Right Barb Up Harpoon
|
||||
⥌ Up Barb Right Down Barb Left Harpoon
|
||||
⥍ Up Barb Left Down Barb Right Harpoon
|
||||
⥎ Left Barb Up Right Barb Up Harpoon
|
||||
⥏ Up Barb Right Down Barb Right Harpoon
|
||||
⥐ Left Barb Down Right Barb Down Harpoon
|
||||
⥑ Up Barb Left Down Barb Left Harpoon
|
||||
⥒ Left Harpoon With Barb Up to Bar
|
||||
⥓ Right Harpoon With Barb Up to Bar
|
||||
⥔ Up Harpoon With Barb Right to Bar
|
||||
⥕ Down Harpoon With Barb Right to Bar
|
||||
⥖ Left Harpoon With Barb Down to Bar
|
||||
⥗ Right Harpoon With Barb Down to Bar
|
||||
⥘ Up Harpoon With Barb Left to Bar
|
||||
⥙ Down Harpoon With Barb Left to Bar
|
||||
⥚ Left Harpoon With Barb Up From Bar
|
||||
⥛ Right Harpoon With Barb Up From Bar
|
||||
⥜ Up Harpoon With Barb Right From Bar
|
||||
⥝ Down Harpoon With Barb Right From Bar
|
||||
⥞ Left Harpoon With Barb Down From Bar
|
||||
⥟ Right Harpoon With Barb Down From Bar
|
||||
⥠ Up Harpoon With Barb Left From Bar
|
||||
⥡ Down Harpoon With Barb Left From Bar
|
||||
⥢ Left Harpoon With Barb Up Above Left Harpoon With Barb Down
|
||||
⥣ Up Harpoon With Barb Left Beside Up Harpoon With Barb Right
|
||||
⥤ Right Harpoon With Barb Up Above Right Harpoon With Barb Down
|
||||
⥥ Down Harpoon With Barb Left Beside Down Harpoon With Barb Right
|
||||
⥦ Left Harpoon With Barb Up Above Right Harpoon With Barb Up
|
||||
⥧ Left Harpoon With Barb Down Above Right Harpoon With Barb Down
|
||||
⥨ Right Harpoon With Barb Up Above Left Harpoon With Barb Up
|
||||
⥩ Right Harpoon With Barb Down Above Left Harpoon With Barb Down
|
||||
⥪ Left Harpoon With Barb Up Above Long Dash
|
||||
⥫ Left Harpoon With Barb Down Below Long Dash
|
||||
⥬ Right Harpoon With Barb Up Above Long Dash
|
||||
⥭ Right Harpoon With Barb Down Below Long Dash
|
||||
⥮ Up Harpoon With Barb Left Beside Down Harpoon With Barb Right
|
||||
⥯ Down Harpoon With Barb Left Beside Up Harpoon With Barb Right
|
||||
⥰ Right Double Arrow With Rounded Head
|
||||
⥱ Equals Sign Above Right Arrow
|
||||
⥲ Tilde Operator Above Right Arrow
|
||||
⥳ Left Arrow Above Tilde Operator
|
||||
⥴ Right Arrow Above Tilde Operator
|
||||
⥵ Right Arrow Above Almost Equal To
|
||||
⥶ Less-Than Above Left Arrow
|
||||
⥷ Left Arrow Through Less-Than
|
||||
⥸ Greater-Than Above Right Arrow
|
||||
⥹ Subset Above Right Arrow
|
||||
⥺ Left Arrow Through Subset
|
||||
⥻ Superset Above Left Arrow
|
||||
⥼ Left Fish Tail
|
||||
⥽ Right Fish Tail
|
||||
⥾ Up Fish Tail
|
||||
⥿ Down Fish Tail
|
||||
➔ Heavy Wide-Headed Right Arrow
|
||||
➘ Heavy South East Arrow
|
||||
➙ Heavy Right Arrow
|
||||
➚ Heavy North East Arrow
|
||||
➛ Drafting Point Right Arrow
|
||||
➜ Heavy Round-Tipped Right Arrow
|
||||
➝ Triangle-Headed Right Arrow
|
||||
➞ Heavy Triangle-Headed Right Arrow
|
||||
➟ Dashed Triangle-Headed Right Arrow
|
||||
➠ Heavy Dashed Triangle-Headed Right Arrow
|
||||
➡ Black Right Arrow
|
||||
➢ Three-D Top-Lighted Right Arrowhead
|
||||
➣ Three-D Bottom-Lighted Right Arrowhead
|
||||
➤ Black Right Arrowhead
|
||||
➥ Heavy Black Curved Down and Right Arrow
|
||||
➦ Heavy Black Curved Up and Right Arrow
|
||||
➧ Squat Black Right Arrow
|
||||
➨ Heavy Concave-Pointed Black Right Arrow
|
||||
➩ Right-Shaded White Right Arrow
|
||||
➪ Left-Shaded White Right Arrow
|
||||
➫ Back-Tilted Shadowed White Right Arrow
|
||||
➬ Front-Tilted Shadowed White Right Arrow
|
||||
➭ Heavy Lower Right-Shadowed White Right Arrow
|
||||
➮ Heavy Upper Right-Shadowed White Right Arrow
|
||||
➯ Notched Lower Right-Shadowed White Right Arrow
|
||||
➱ Notched Upper Right-Shadowed White Right Arrow
|
||||
➲ Circled Heavy White Right Arrow
|
||||
➳ White-Feathered Right Arrow
|
||||
➴ Black-Feathered South East Arrow
|
||||
➵ Black-Feathered Right Arrow
|
||||
➶ Black-Feathered North East Arrow
|
||||
➷ Heavy Black-Feathered South East Arrow
|
||||
➸ Heavy Black-Feathered Right Arrow
|
||||
➹ Heavy Black-Feathered North East Arrow
|
||||
➺ Teardrop-Barbed Right Arrow
|
||||
➻ Heavy Teardrop-Shanked Right Arrow
|
||||
➼ Wedge-Tailed Right Arrow
|
||||
➽ Heavy Wedge-Tailed Right Arrow
|
||||
➾ Open-Outlined Right Arrow
|
||||
😀 grinning face
|
||||
😃 grinning face with big eyes
|
||||
😄 grinning face with smiling eyes
|
||||
|
3
configs/wofi/wofi-emoji-new
Executable file
3
configs/wofi/wofi-emoji-new
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
rofimoji
|
138
configs/wofi/wofi-emoji-old-2
Executable file
138
configs/wofi/wofi-emoji-old-2
Executable file
@ -0,0 +1,138 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Source: https://gist.github.com/NearHuscarl/5d366e1a3b788814bcbea62c1f66241d
|
||||
#
|
||||
# Use wofi to pick emoji because that's what this
|
||||
# century is about apparently...
|
||||
#
|
||||
# Requirements:
|
||||
# wofi, wlroots based compositor
|
||||
#
|
||||
# Usage:
|
||||
# 1. Download all emoji
|
||||
# $ wofi-emoji --download
|
||||
#
|
||||
# 2. Run it!
|
||||
# $ wofi-emoji
|
||||
#
|
||||
# Notes:
|
||||
# * You'll need a emoji font like "Noto Emoji" or "EmojiOne".
|
||||
# * Confirming an item will automatically paste it WITHOUT
|
||||
# writing it to your clipboard.
|
||||
# * Ctrl+C will copy it to your clipboard WITHOUT pasting it.
|
||||
#
|
||||
|
||||
# Where to save the emojis file.
|
||||
EMOJI_FILE="$HOME/.cache/emojis.txt"
|
||||
|
||||
# Urls of emoji to download.
|
||||
# You can remove what you don't need.
|
||||
URLS=(
|
||||
'https://emojipedia.org/people/'
|
||||
'https://emojipedia.org/nature/'
|
||||
'https://emojipedia.org/food-drink/'
|
||||
'https://emojipedia.org/activity/'
|
||||
'https://emojipedia.org/travel-places/'
|
||||
'https://emojipedia.org/objects/'
|
||||
'https://emojipedia.org/symbols/'
|
||||
'https://emojipedia.org/flags/'
|
||||
)
|
||||
|
||||
|
||||
function notify() {
|
||||
if [ "$(command -v notify-send)" ]; then
|
||||
notify-send "$1" "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
function download() {
|
||||
notify "$(basename "$0")" 'Downloading all emoji for your pleasure'
|
||||
|
||||
echo "" > "$EMOJI_FILE"
|
||||
|
||||
for url in "${URLS[@]}"; do
|
||||
echo "Downloading: $url"
|
||||
|
||||
# Download the list of emoji and remove all the junk around it
|
||||
emojis=$(curl -s "$url" | \
|
||||
xmllint --html \
|
||||
--xpath '//ul[@class="emoji-list"]' - 2>/dev/null)
|
||||
|
||||
# Get rid of starting/closing ul tags
|
||||
emojis=$(echo "$emojis" | head -n -1 | tail -n +1)
|
||||
|
||||
# Extract the emoji and its description
|
||||
emojis=$(echo "$emojis" | \
|
||||
sed -rn 's/.*<span class="emoji">(.*)<\/span> (.*)<\/a><\/li>/\1 \2/p')
|
||||
|
||||
echo "$emojis" >> "$EMOJI_FILE"
|
||||
done
|
||||
|
||||
notify "$(basename "$0")" "We're all set!"
|
||||
}
|
||||
|
||||
function wofi_menu() { # {{{
|
||||
wofi -width 25 -lines 7 -dmenu -i -p 'emoji: ' \
|
||||
-kb-row-tab '' \
|
||||
-kb-row-select Tab \
|
||||
-kb-custom-1 Ctrl+c
|
||||
}
|
||||
# }}}
|
||||
|
||||
function repeat() { # {{{
|
||||
local rplc str="$1" count="$2"
|
||||
rplc="$(printf "%${count}s")"
|
||||
echo "${rplc// /"$str"}"
|
||||
}
|
||||
# }}}
|
||||
|
||||
function toclipboard() { # {{{
|
||||
wl-copy
|
||||
}
|
||||
# }}}
|
||||
|
||||
function pastedirectly() { #{{{
|
||||
wtype -
|
||||
}
|
||||
# }}}
|
||||
|
||||
function display() {
|
||||
local emoji line exit_code quantifier
|
||||
|
||||
emoji=$(cat "$EMOJI_FILE" | grep -v '#' | grep -v '^[[:space:]]*$')
|
||||
line="$(echo "$emoji" | wofi_menu)"
|
||||
exit_code=$?
|
||||
|
||||
line=($line)
|
||||
last=${line[${#line[@]}-1]}
|
||||
quantifier="${last:${#last}-1:1}"
|
||||
if [[ ! "$quantifier" =~ [0-9] ]]; then
|
||||
quantifier=1
|
||||
fi
|
||||
emoijs="$(repeat "${line[0]}" "$quantifier")"
|
||||
|
||||
if [ $exit_code == 0 ]; then
|
||||
echo -n "$emoijs" | pastedirectly
|
||||
elif [ $exit_code == 10 ]; then
|
||||
echo -n "$emoijs" | toclipboard
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Some simple argparsing
|
||||
if [[ "$1" =~ -D|--download ]]; then
|
||||
download
|
||||
exit 0
|
||||
elif [[ "$1" =~ -h|--help ]]; then
|
||||
echo "usage: $0 [-D|--download]"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Download all emoji if they don't exist yet
|
||||
if [ ! -f "$EMOJI_FILE" ]; then
|
||||
download
|
||||
fi
|
||||
|
||||
# display displays :)
|
||||
display
|
@ -9,21 +9,12 @@ alias yoink="curl"
|
||||
|
||||
alias pls='sudo -E env "PATH=$PATH"'
|
||||
|
||||
alias zshi="cd ~/.dotfiles && vim configs/init.lua && cd -"
|
||||
alias zshc="cd ~/.dotfiles && vim configs/.zshrc && cd -"
|
||||
alias zshu="source ~/.zshrc"
|
||||
|
||||
alias online="ping 1.1.1.1"
|
||||
|
||||
alias vim="nvim"
|
||||
alias v="nvim"
|
||||
|
||||
alias gs="git status"
|
||||
alias gaa="git add ."
|
||||
alias gpm="git push origin main"
|
||||
alias gcm="git commit -m "
|
||||
alias czi="commitizen init cz-conventional-changelog --yarn --dev --exact"
|
||||
alias cz="git-cz"
|
||||
|
||||
alias D="run dev"
|
||||
alias B="run build"
|
||||
|
@ -5,8 +5,9 @@ source $(dirname "$0")/functions/wp.zsh;
|
||||
source $(dirname "$0")/functions/fp.zsh;
|
||||
source $(dirname "$0")/functions/rn.zsh;
|
||||
source $(dirname "$0")/functions/sum.zsh;
|
||||
source $(dirname "$0")/functions/mke.zsh;
|
||||
source $(dirname "$0")/functions/myip.zsh;
|
||||
source $(dirname "$0")/functions/cht.zsh;
|
||||
source $(dirname "$0")/functions/dv.zsh;
|
||||
source $(dirname "$0")/functions/run.zsh;
|
||||
source $(dirname "$0")/functions/conf.zsh;
|
||||
source $(dirname "$0")/functions/note.zsh;
|
||||
|
27
configs/zsh/functions/conf.zsh
Normal file
27
configs/zsh/functions/conf.zsh
Normal file
@ -0,0 +1,27 @@
|
||||
function conf(){
|
||||
|
||||
if [ "$1" = "u" ]; then
|
||||
source ~/.zshrc
|
||||
else
|
||||
cd ~/.dotfiles/
|
||||
|
||||
if [ "$1" != "" ]; then
|
||||
cd configs
|
||||
cd $1
|
||||
fi
|
||||
|
||||
if [[ -f "init.lua" ]]; then
|
||||
nvim init.lua
|
||||
elif [[ -f ".zshrc" ]]; then
|
||||
nvim .zshrc
|
||||
source ~/.zshrc
|
||||
elif [[ -f "config" ]]; then
|
||||
nvim config
|
||||
else
|
||||
nvim .
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
function mke(){
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
}
|
15
configs/zsh/functions/note.zsh
Normal file
15
configs/zsh/functions/note.zsh
Normal file
@ -0,0 +1,15 @@
|
||||
function note(){
|
||||
cd ~/Notes
|
||||
|
||||
if [ "$1" != "" ]; then
|
||||
cd $1
|
||||
fi
|
||||
|
||||
if [[ -f "index.md" ]]; then
|
||||
nvim index.md
|
||||
else
|
||||
nvim .
|
||||
fi
|
||||
}
|
||||
|
||||
compctl -/ -W ~/Notes/$@ note
|
@ -1,11 +1,7 @@
|
||||
function run(){
|
||||
HAS_MAKE="$(ls | grep Makefile)"
|
||||
HAS_PACKAGE="$(ls | grep package.json)"
|
||||
|
||||
if [ "$HAS_PACKAGE" != "" ]; then
|
||||
if [[ -f "package.json" ]]; then
|
||||
pnpm $1
|
||||
elif [ "$HAS_MAKE" != "" ]; then
|
||||
elif [[ -f "Makefile" ]]; then
|
||||
make $1
|
||||
fi
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user