diff --git a/README.md b/README.md index 83ce55f..a6bca26 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ Enjoy! * [`waybar`](https://github.com/Alexays/Waybar) - Easily customizable statusbar for wayland * [`bemenu`](https://github.com/Cloudef/bemenu) - Extended dmenu replacement for wayland, X11 and ncurses * [`fontconfig`] - System-wide font replacements and styling settings -* [`wezterm`](https://wezfurlong.org/wezterm/) - Terminal emulator (fast, understandable and lua configurable) -* [`tmux`](https://github.com/tmux/tmux/) - terminal multiplexer (slowly migrating away in favor of wezterm) +* [`kitty`](https://sw.kovidgoyal.net/kitty/) - Terminal emulator (GPU accelerated and configurable) +* [`tmux`](https://github.com/tmux/tmux/) - terminal multiplexer * [`nvim`](https://neovim.io/) - Neovim configuration * [`vifm`](https://github.com/vifm/vifm) - vim-like file-manager * [`qutebrowser`](https://github.com/qutebrowser/qutebrowser) - vim-key enabled web browser diff --git a/qutebrowser/.config/qutebrowser/config.py b/qutebrowser/.config/qutebrowser/config.py index 2c8974f..925e392 100644 --- a/qutebrowser/.config/qutebrowser/config.py +++ b/qutebrowser/.config/qutebrowser/config.py @@ -17,7 +17,7 @@ c.completion.web_history.max_items = 1000 c.hints.uppercase = True c.editor.command = [ term, - "start", + "-e", "nvim", "-f", "{file}", @@ -29,9 +29,9 @@ c.editor.command = [ c.fileselect.handler = "external" picker = [ term, - "start", "--class", "float", + "-e", "vifm", "--choose-files", "{}", diff --git a/sh/.config/sh/alias.d/timg.sh b/sh/.config/sh/alias.d/timg.sh deleted file mode 100644 index fb0d7e0..0000000 --- a/sh/.config/sh/alias.d/timg.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env sh -# Add simple 'image ls' for a directory using timg -# -# Prints a thumbnail gallery right in the terminal. -# WILL stutter when you go crazy in a hundred/thousand -# picture folder. - -if exist timg; then - il() { - images=$(find . -maxdepth 1 -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) print $1}') - if [ -z "$images" ]; then { - echo no images found. - return - }; fi - echo "$images" | timg --grid=4x3 --upscale=i --center --title --frames=1 -f - - } - IL() { - images=$(find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) print $1}') - if [ -z "$images" ]; then { - echo no images found. - return - }; fi - echo "$images" | timg --grid=4x3 --upscale=i --center --title --frames=1 -f - - } - qr() { - # if we are in a pipe, read from stdin and set fct arguments to it - if [ ! -t 0 ]; then - set -- "$(cat /dev/stdin)" - fi - qrencode -s1 -m2 "$@" -o- | timg --upscale=i - - } -fi diff --git a/sh/.config/sh/env b/sh/.config/sh/env index fceba1b..db99a4e 100644 --- a/sh/.config/sh/env +++ b/sh/.config/sh/env @@ -22,7 +22,7 @@ export BIBFILE="${BIBFILE:-$LIBRARYROOT/academia/academia.bib}" # these are my personal 'important' application settings export EDITOR="nvim" export BROWSER="qutebrowser" -export TERMINAL="wezterm" +export TERMINAL="kitty" export PAGER="less" export FILEREADER="zathura" @@ -42,5 +42,5 @@ export SHELL=${SHELL:-/bin/bash} export TERM=xterm-256color if exist fzf; then - export FZF_DEFAULT_OPTS="--bind 'tab:toggle+down,shift-tab:toggle+up,ctrl-g:top,ctrl-t:toggle-preview,ctrl-d:preview-half-page-down,ctrl-u:preview-half-page-up' --color=light -1 -m --delimiter :" + export FZF_DEFAULT_OPTS="--bind 'tab:toggle+down,shift-tab:toggle+up,ctrl-g:top,ctrl-t:toggle-preview,ctrl-d:preview-half-page-down,ctrl-u:preview-half-page-up' --color=light -1 -m --delimiter :" fi diff --git a/wayland/.config/waybar/config b/wayland/.config/waybar/config index 6ead0b9..4bd87ed 100644 --- a/wayland/.config/waybar/config +++ b/wayland/.config/waybar/config @@ -12,7 +12,7 @@ "return-type": "json", "exec": "~/.config/waybar/modules/archupdates 5 json", "interval": 3600, - "on-click": "$TERMINAL start --class float topgrade" + "on-click": "kitty --class float topgrade" }, "backlight": { "device": "intel_backlight", @@ -45,8 +45,8 @@ "warning": 50, "critical": 80 }, - "on-click": "$TERMINAL start --class float top", - "on-click-right": "$TERMINAL start --class float glances" + "on-click": "kitty --class float top", + "on-click-right": "kitty --class float glances" }, "custom/events": { "format": "{}", @@ -115,7 +115,7 @@ "tooltip-format-ethernet": "{ifname} ", "tooltip-format-disconnected": "Disconnected", "max-length": 50, - "on-click": "$TERMINAL start --class float nmtui", + "on-click": "kitty --class float nmtui", // "on-click-right": "sudo rfkill toggle wlan" }, "pulseaudio": { @@ -132,7 +132,7 @@ "default": ["", ""] }, "scroll-step": 1, - "on-click": "$TERMINAL start --class float pulsemixer", + "on-click": "kitty --class float pulsemixer", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +1%", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -1%" }, @@ -146,7 +146,7 @@ "critical-threshold": 80, // "format-critical": "{temperatureC}° ", "format": "{temperatureC}° ", - "on-click": "$TERMINAL start --class float watch sensors" + "on-click": "kitty --class float watch sensors" }, "tray": { "icon-size": 21, @@ -176,6 +176,6 @@ "exec": "wc -l ~/.local/share/vidl/vidl_queue | cut -d' ' -f1", "exec-if": "[ -f ~/.local/share/vidl/vidl_queue ]", "interval": 5, - "on-click": "$TERMINAL start --class float nvim ~/.local/share/vidl/vidl_queue" + "on-click": "kitty --class float nvim ~/.local/share/vidl/vidl_queue" }, } diff --git a/wezterm/.config/wezterm/events.lua b/wezterm/.config/wezterm/events.lua deleted file mode 100644 index fd6aab8..0000000 --- a/wezterm/.config/wezterm/events.lua +++ /dev/null @@ -1,63 +0,0 @@ -local wezterm = require 'wezterm' -local io = require 'io' -local os = require 'os' -local act = wezterm.action - -local function setup() - local function isViProcess(pane) - local proc = pane:get_foreground_process_name() - if (proc:find('vim') or proc:find('nvim')) then return true end - return false - end - - local function conditionalActivatePane(window, pane, pane_direction, - vim_direction) - if (isViProcess(pane)) then - window:perform_action(act.Multiple { - act.SendKey { key = 'w', mods = 'CTRL' }, - act.SendKey { key = vim_direction } - }, pane) - else - window:perform_action(act.ActivatePaneDirection(pane_direction), - pane) - end - end - - wezterm.on('ActivatePaneDirection-right', function(window, pane) - conditionalActivatePane(window, pane, 'Right', 'l') - end) - wezterm.on('ActivatePaneDirection-left', function(window, pane) - conditionalActivatePane(window, pane, 'Left', 'h') - end) - wezterm.on('ActivatePaneDirection-up', function(window, pane) - conditionalActivatePane(window, pane, 'Up', 'k') - end) - wezterm.on('ActivatePaneDirection-down', function(window, pane) - conditionalActivatePane(window, pane, 'Down', 'j') - end) - - -- Retrieve the current scrollback text and send to editor - wezterm.on('edit-scrollback', function(window, pane) - local viewport_text = pane:get_lines_as_text(10000) - - -- Create a temporary file to pass to vim - local name = os.tmpname() - - local f = io.open(name, 'w+') - if f == nil then return false end - f:write(viewport_text) - f:flush() - f:close() - - -- Open a new window running vim and tell it to open the file - window:perform_action(act.SpawnCommandInNewTab { - args = { (os.getenv('EDITOR') or 'vi'), name } - }, pane) - - -- Wait time for vim to read the file before we remove it. - wezterm.sleep_ms(1000) - os.remove(name) - end) -end - -return { setup = setup } diff --git a/wezterm/.config/wezterm/maps.lua b/wezterm/.config/wezterm/maps.lua deleted file mode 100644 index 01149b2..0000000 --- a/wezterm/.config/wezterm/maps.lua +++ /dev/null @@ -1,113 +0,0 @@ -local wezterm = require('wezterm') -local act = wezterm.action - -local keys = { - { key = 'O', mods = 'CTRL', action = act.ShowDebugOverlay }, - - { key = '[', mods = 'CTRL', action = act.ScrollToPrompt(-1) }, - { key = ']', mods = 'CTRL', action = act.ScrollToPrompt(1) }, - { -- vertical pane - key = '\\', - mods = 'LEADER', - action = act.SplitHorizontal { domain = 'CurrentPaneDomain' } - }, { -- horizontal pane - key = '-', - mods = 'LEADER', - action = act.SplitVertical { domain = 'CurrentPaneDomain' } - }, -- pane movement keys - { - key = 'h', - mods = 'CTRL', - action = act.EmitEvent 'ActivatePaneDirection-left' - }, - { - key = 'j', - mods = 'CTRL', - action = act.EmitEvent 'ActivatePaneDirection-down' - }, - { - key = 'k', - mods = 'CTRL', - action = act.EmitEvent 'ActivatePaneDirection-up' - }, { - key = 'l', - mods = 'CTRL', - action = act.EmitEvent 'ActivatePaneDirection-right' - }, { key = 'z', mods = 'LEADER', action = act.TogglePaneZoomState }, - { key = ' ', mods = 'LEADER', action = act.RotatePanes 'Clockwise' }, - { key = 'q', mods = 'LEADER', action = act.PaneSelect { mode = 'Activate' } }, - { - key = 'Q', - mods = 'LEADER', - action = act.PaneSelect { mode = 'SwapWithActive' } - }, { key = 'c', mods = 'LEADER', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = ',', mods = 'LEADER', action = act.MoveTabRelative(-1) }, - { key = '.', mods = 'LEADER', action = act.MoveTabRelative(1) }, -- workspace selection - { - key = 's', - mods = 'LEADER', - action = act.ShowLauncherArgs { flags = 'FUZZY|WORKSPACES' } - }, { key = 't', mods = 'LEADER', action = act.ShowTabNavigator }, - { key = '[', mods = 'LEADER', action = act.ActivateCopyMode }, { - key = 'r', - mods = 'LEADER', - action = act.ActivateKeyTable { - name = 'resize_pane', - one_shot = false, - timeout_milliseconds = 2000, - replace_current = true - } - }, { key = 'F', mods = 'LEADER', action = act.QuickSelect }, { - key = '/', - mods = 'LEADER', - action = act.Search('CurrentSelectionOrEmptyString') - }, { - key = 'f', - mods = 'LEADER', - action = act.ActivateKeyTable { - name = 'scroll_mode', - one_shot = false, - replace_current = true - } - }, { key = 'e', mods = 'LEADER', action = act.EmitEvent 'edit-scrollback' }, { - key = 'l', - mods = 'LEADER', - action = act.EmitEvent 'ActivatePaneDirection-Right' - } - -} --- Leader + number to activate that tab -for i = 1, 8 do - table.insert(keys, { - key = tostring(i), - mods = 'LEADER', - action = act.ActivateTab(i - 1) - }) -end --- key table sub modes -local key_tables = { - -- mode to change size of any panes - resize_pane = { - { key = 'h', action = act.AdjustPaneSize { 'Left', 1 } }, - { key = 'l', action = act.AdjustPaneSize { 'Right', 1 } }, - { key = 'k', action = act.AdjustPaneSize { 'Up', 1 } }, - { key = 'j', action = act.AdjustPaneSize { 'Down', 1 } }, - { key = 'H', action = act.AdjustPaneSize { 'Left', 10 } }, - { key = 'L', action = act.AdjustPaneSize { 'Right', 10 } }, - { key = 'K', action = act.AdjustPaneSize { 'Up', 10 } }, - { key = 'J', action = act.AdjustPaneSize { 'Down', 10 } }, - { key = 'Escape', action = 'PopKeyTable' } - }, - scroll_mode = { - { key = 'y', mods = 'CTRL', action = act.ScrollByLine(-1) }, - { key = 'e', mods = 'CTRL', action = act.ScrollByLine(1) }, - { key = 'f', mods = 'CTRL', action = act.ScrollByPage(1) }, - { key = 'b', mods = 'CTRL', action = act.ScrollByPage(-1) }, - { key = 'd', mods = 'CTRL', action = act.ScrollByPage(0.5) }, - { key = 'u', mods = 'CTRL', action = act.ScrollByPage(-0.5) }, - { key = 'g', mods = 'CTRL', action = act.ScrollToTop }, - { key = 'G', mods = 'CTRL', action = act.ScrollToBottom }, - { key = 'Escape', action = 'PopKeyTable' } - } -} -return { keys = keys, key_tables = key_tables } diff --git a/wezterm/.config/wezterm/statusbar.lua b/wezterm/.config/wezterm/statusbar.lua deleted file mode 100644 index 020d882..0000000 --- a/wezterm/.config/wezterm/statusbar.lua +++ /dev/null @@ -1,46 +0,0 @@ -local wezterm = require 'wezterm' - -local function basename(s) return string.gsub(s or '', '(.*[/\\])(.*)', '%2') end - -local SEPARATOR = ' | ' -local function setup() - -- STATUSBAR - -- show currently active key table in lower right status bar - -- mimicing Vim modes - wezterm.on('update-status', function(window, pane) - local displayed = { left = {}, right = {} } - local keytable = window:active_key_table() - if keytable then - displayed.left[#displayed.left + 1] = 'MODE: ' .. keytable - end - - local workspace = window:active_workspace() - if workspace and workspace ~= 'default' then - displayed.left[#displayed.left + 1] = 'WORKSPACE: ' .. workspace - end - - local bat = '' - for _, b in ipairs(wezterm.battery_info()) do - bat = '🔋 ' .. string.format('%.0f%%', b.state_of_charge * 100) .. - ' ' .. b.state - end - displayed.right[#displayed.right + 1] = bat - - local currentprogram = pane:get_foreground_process_name() - displayed.right[#displayed.right + 1] = basename(currentprogram) - - local statusleft = '' - for _, v in ipairs(displayed.left) do - statusleft = statusleft .. v .. SEPARATOR - end - local statusright = '' - for _, v in ipairs(displayed.right) do - statusright = statusright .. v .. SEPARATOR - end - - window:set_left_status(statusleft or '') - window:set_right_status(statusright or '') - end) -end - -return { setup = setup } diff --git a/wezterm/.config/wezterm/wezterm.lua b/wezterm/.config/wezterm/wezterm.lua deleted file mode 100644 index 33a7923..0000000 --- a/wezterm/.config/wezterm/wezterm.lua +++ /dev/null @@ -1,78 +0,0 @@ -local wezterm = require 'wezterm' -local mux = wezterm.mux - -local maps = require 'maps' - -require 'statusbar'.setup() -require 'events'.setup() - --- wezterm.on("set-up-dotfile-workspace", function(window, pane) --- -- Set a workspace for coding on a current project --- -- Top pane is for the editor, bottom pane is for the build tool --- local project_dir = wezterm.home_dir .. '/projects/test/quarto/quarto-test' --- local tab, build_pane, window = mux.spawn_window { --- workspace = 'coding', --- cwd = project_dir, --- args = args --- } --- local editor_pane = build_pane:split{ --- direction = 'Top', --- size = 0.6, --- cwd = project_dir --- } --- build_pane:send_text 'quarto check' --- mux.set_active_workspace 'coding' --- end) --- --- wezterm.on('gui-startup', function(cmd) --- -- allow `wezterm start -- something` to affect what we spawn --- -- in our initial window --- local args = {} --- if cmd then args = cmd.args end --- --- -- Set a workspace for coding on a current project --- -- Top pane is for the editor, bottom pane is for the build tool --- local project_dir = wezterm.home_dir .. '/projects/test/quarto/quarto-test' --- local tab, build_pane, window = mux.spawn_window { --- workspace = 'coding', --- cwd = project_dir, --- args = args --- } --- local editor_pane = build_pane:split { --- direction = 'Top', --- size = 0.6, --- cwd = project_dir --- } --- build_pane:send_text 'quarto check' --- --- -- A workspace for interacting with a local machine that --- -- runs some docker containners for home automation --- local tab, pane, window = mux.spawn_window { --- workspace = 'toppy', --- args = { 'top' } --- } --- --- -- We want to startup in the coding workspace --- mux.set_active_workspace 'coding' --- end) - -return { - enable_wayland = true, - - hide_tab_bar_if_only_one_tab = true, - use_fancy_tab_bar = false, - tab_bar_at_bottom = true, - window_padding = { left = 0, right = 0, top = 0, bottom = 0 }, - - color_scheme = "Mexico Light (base16)", - - -- default_prog = {"nu"}, - scrollback_lines = 10000, - - font = wezterm.font('Liga Iosevka'), - line_height = 1.0, - - leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1500 }, - keys = maps.keys, - key_tables = maps.key_tables -}