diff --git a/.screenshots/font-test.md b/.screenshots/font-test.md new file mode 100644 index 0000000..98ec924 --- /dev/null +++ b/.screenshots/font-test.md @@ -0,0 +1,54 @@ +# Font Test + +## Uppercase Letters + +A B C D E F G H I J K L M N O P Q R S T U V W X Y Z + +## Lowercase Letters + +a b c d e f g h i j k l m n o p q r s t u v w x y z + +## Numbers + +0 1 2 3 4 5 6 7 8 9 + +## Punctuation Marks + +! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ + +## Common Special Characters + +© ® ™ ¶ § † ‡ ≈ ∞ π √ ∑ ∫ ∆ ℵ + +## Additional Unicode Characters + +é ñ ü ç å ø ß + +## Italic Varients + + diff --git a/config/colors.lua b/config/colors.lua index c46b1e1..feb0859 100644 --- a/config/colors.lua +++ b/config/colors.lua @@ -16,6 +16,9 @@ return { -- Visual Bell visual_bell = "#E78284", }, + -- Command Palette Colors + command_palette_bg_color = "#232634", -- Command Palette Background + command_palette_fg_color = "#C6D0F5", -- Command Palette Foreground -- Titlebar and Frame Colors window_frame = { active_titlebar_bg = "#232634", diff --git a/config/font.lua b/config/font.lua index 53f1403..5c31177 100644 --- a/config/font.lua +++ b/config/font.lua @@ -8,7 +8,7 @@ return { -- Terminal Font Size font_size = 12.0, -- Terminal Font - font = WEZTERM.font_with_fallback(types.font), + font = WEZTERM.font_with_fallback(types.rootiest_font), -- Tab Font window_frame = { font = WEZTERM.font(types.win_font), @@ -26,5 +26,4 @@ return { freetype_load_target = "Normal", -- Default Cursor Shape default_cursor_style = "BlinkingBar", - -- Fallback Fonts } diff --git a/config/window.lua b/config/window.lua index 0ce270a..cd5bf5b 100644 --- a/config/window.lua +++ b/config/window.lua @@ -2,7 +2,8 @@ -- │ WINDOW │ -- ╰─────────────────────────────────────────────────────────╯ -local gpus = WEZTERM.gui.enumerate_gpus() +local wezterm = WEZTERM +local gpus = wezterm.gui.enumerate_gpus() return { -- Set the initial size @@ -52,6 +53,7 @@ return { -- Rendering front_end = "WebGpu", + -- front_end = "OpenGL", webgpu_power_preference = "HighPerformance", webgpu_preferred_adapter = gpus[1], -- Scrollback Lines diff --git a/options.lua b/options.lua index 55d43b7..55827e3 100644 --- a/options.lua +++ b/options.lua @@ -7,14 +7,14 @@ local M = {} -- Function to require all Lua files in a directory and merge them local function require_configs(dir) - -- Check if the path exists + -- Check if the path exists local path = dir or os.getenv("HOME") .. "/.config/wezterm/config/" if not path then print("Directory path is nil. Unable to load configurations.") return end - -- Open the directory + -- Open the directory local pfile, open_err = io.popen('ls "' .. path .. '"') if not pfile then print("Error opening directory:", open_err) @@ -23,7 +23,7 @@ local function require_configs(dir) local configs = {} - -- Iterate over the files in the directory + -- Iterate over the files in the directory for file in pfile:lines() do if file:match("%.lua$") then local module_name = file:gsub("%.lua$", "") diff --git a/plugins/tabline.lua b/plugins/tabline.lua index 42c3d7b..7527bc9 100644 --- a/plugins/tabline.lua +++ b/plugins/tabline.lua @@ -2,6 +2,9 @@ local wezterm = WEZTERM local config = CONFIG local types = require("types") local funcs = require("funcs") +--local batteries = wezterm.plugin.require("https://github.com/rootiest/battery.wez") +local batteries = wezterm.plugin.require("file:///home/rootiest/projects/battery.wez") +batteries.invert = true local tabline = wezterm.plugin.require("https://github.com/michaelbrusegard/tabline.wez") @@ -96,29 +99,7 @@ tabline.setup({ }, tabline_z = { { "hostname", padding = { left = 0, right = 1 } }, - { - "battery", - battery_to_icon = { - empty = { - wezterm.nerdfonts.fa_battery_empty .. " ", - color = { fg = funcs.invert_color_brightness("#f37ca0") }, - }, - quarter = { - wezterm.nerdfonts.fa_battery_quarter .. " ", - color = { fg = funcs.invert_color_brightness("#ffb080") }, - }, - half = { - wezterm.nerdfonts.fa_battery_half .. " ", - color = { fg = funcs.invert_color_brightness("#fbe2a9") }, - }, - three_quarters = wezterm.nerdfonts.fa_battery_three_quarters .. " ", - full = { - wezterm.nerdfonts.fa_battery_full .. " ", - color = { fg = funcs.invert_color_brightness("#93e398") }, - }, - }, - padding = { left = 0, right = 1 }, - }, + batteries.get_battery_icons, }, }, extensions = { "resurrect" }, diff --git a/types.lua b/types.lua index 8882ea4..0d38359 100644 --- a/types.lua +++ b/types.lua @@ -6,18 +6,56 @@ local M = {} local wezterm = WEZTERM +-- stylua: ignore start M.harfbuzz_features = { - "VSAH=7", - "VSAF=3", - "VSAI=3", - "VSAJ=8", - "VSAM=4", - "VLAB=5", - "cv10=7", - "cv41=3", - "cv44=6", - "cv07=4", +-- ╭──────── Character Varients ─────╮ +-- ╰── Varient Result ──╯ + "VSAA=1", -- ~ + "VSAG=1", -- ( ) + "VSAH=7", -- { } + "VSAI=2", -- << >> + "VSAO=2", -- % + "VSAJ=8", -- # + "VSAK=1", -- & + "VSAL=2", -- @ + "VSAM=9", -- $ + "VSAP=1", -- | / + "VSAQ=1", -- ? + "VLAB=5", -- != + "VLAD=1", -- -- + "cv01=0", -- 1 + "cv02=0", -- 2 + "cv03=1", -- 3 + "cv05=1", -- 5 + "cv06=1", -- 6 + "cv07=4", -- 7 + "cv08=1", -- 8 + "cv09=1", -- 9 + "cv10=7", -- 0 + "cv17=2", -- G + "cv19=2", -- I + "cv26=9", -- Q + "cv41=7", -- f + "cv42=1", -- g + "cv45=2", -- j + "cv46=24", -- k + "cv47=8", -- l + "dlig=1", -- <= >= /> <> } +-- stylua: ignore end + + +-- stylua: ignore start +M.harfbuzz_rootiest = { +-- ╭──────── Character Varients ─────╮ +-- ╰── Varient Result ──╯ + "cv39=4", -- d + "VSAL=8", -- @ + "VSAM=9", -- $ + "VSAN=9", -- ¢ + "VSAO=2", -- % +} +-- stylua: ignore end M.maple_features = { "ss01", @@ -74,6 +112,7 @@ M.font_maple = { "Flog Symbols", "Symbols Nerd Font", "Symbols Nerd Font Mono", + "Material Icons", "VictorMono Nerd Font", "Hack", "MonaspaceKrypton Nerd Font", @@ -86,23 +125,59 @@ M.font = { -- Font Family family = "Iosevka Term", -- Font WeightLazy - weight = "Medium", + weight = "Regular", -- Character Varients and Ligatures harfbuzz_features = M.harfbuzz_features, }, "Flog Symbols", "Symbols Nerd Font", "Symbols Nerd Font Mono", + "PowerlineSymbols", + "Material Icons", "VictorMono Nerd Font", "Hack", "MonaspaceKrypton Nerd Font", "Roboto", "Cascadia Code", + "JetBrains Mono", + "Fira Code", + "Fira Code Retina", + "Fira Code Nerd Font", + "FiraCode Nerd Font", +} + +M.rootiest_font = { + "Iosevka Rootiest v2", + "Iosevka Rootiest", + { + -- Font Family + family = "Iosevka Custom", + -- Font Weight + weight = "Regular", + -- Character Varients and Ligatures + harfbuzz_features = M.harfbuzz_rootiest, + }, + "Flog Symbols", + "Symbols Nerd Font", + "Symbols Nerd Font Mono", + "PowerlineSymbols", + "Material Icons", + "Noto Color Emoji", + "VictorMono Nerd Font", + "Hack", + "MonaspaceKrypton Nerd Font", + "Roboto", + "Cascadia Code", + "JetBrains Mono", + "Fira Code", + "Fira Code Retina", + "Fira Code Nerd Font", + "FiraCode Nerd Font", } M.win_font = { -- Tab Font Family - family = "Iosevka", + family = "Iosevka Rootiest", -- Tab Font Weight weight = "Medium", -- Character Varients and Ligatures diff --git a/wezterm.lua b/wezterm.lua index 577a9cd..7ff1c6d 100644 --- a/wezterm.lua +++ b/wezterm.lua @@ -24,7 +24,7 @@ require("plugins").setup() --------- Update Plugins ---------- ---Running this may cause slowdowns ----------------------------------- ---- WEZTERM.plugin.update_all() --- +-- WEZTERM.plugin.update_all() ---- ----------------------------------- -- Return configuration