From ec73a8733475735739cef2cdd3fd01db9a2ad3fb Mon Sep 17 00:00:00 2001 From: js0ny Date: Tue, 25 Feb 2025 12:34:34 +0000 Subject: [PATCH] minor fix --- .gitattributes | 3 + platforms/linux/etc/keyd/default.conf | 51 +- platforms/linux/kde/dolphinrc | 1 - platforms/linux/kde/elisarc | 13 - platforms/linux/kde/kglobalshortcutsrc | 308 +++++++++ tools/browser/surfingkeys.js | 693 ++++++++++++++------ tools/nvim/lua/config/colors.lua | 7 +- tools/nvim/lua/plugins/completion.lua | 10 +- tools/nvim/lua/plugins/mod/lualine/init.lua | 69 +- tools/wezterm/appearance.lua | 22 +- 10 files changed, 898 insertions(+), 279 deletions(-) create mode 100644 platforms/linux/kde/kglobalshortcutsrc diff --git a/.gitattributes b/.gitattributes index ab12dda..443631a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -15,6 +15,9 @@ vsvimrc linguist-language=VimL vimrc linguist-language=VimL ideavimrc linguist-language=VimL +*.kbd linguist-language=Lisp + + *.png binar binary *.ico binary *.zip binary diff --git a/platforms/linux/etc/keyd/default.conf b/platforms/linux/etc/keyd/default.conf index 1c5022d..4a3be16 100644 --- a/platforms/linux/etc/keyd/default.conf +++ b/platforms/linux/etc/keyd/default.conf @@ -1,14 +1,49 @@ -# /etc/keyd/default.conf - [ids] * [main] -# Maps capslock to escape when pressed and control when held. -capslock= overload(control, esc) -enter= overload(control, enter) -backspace= \ -\= backspace -tab=overload(alt, tab) +# Maps capslock to escape when pressed and control when held. tab=overload(lt1, tab) # backspace=\ +# \=backspace +# backspace=\ +# capslock=overload(ctrl,esc) +capslock = overload(control, esc) +tab = overload(lt2, tab) +space = overload(lt1, space) +insert = S-insert + +[lt1] +h = left +n = down +e = up +i = right +1 = f1 +2 = f2 +3 = f3 +4 = f4 +5 = f5 +6 = f6 +7 = f7 +8 = f8 +9 = f9 +0 = f10 +- = f11 += = f12 +k = home +o = end +[ = pageup +] = pagedown +q = ~ +w = | +f = & +p = ^ +/ = ¿ + +[lt2] +space = playpause +h = previoussong +i = nextsong +n = volumedown +e = volumeup +k = mute diff --git a/platforms/linux/kde/dolphinrc b/platforms/linux/kde/dolphinrc index 09bc6b1..b5b3bf4 100644 --- a/platforms/linux/kde/dolphinrc +++ b/platforms/linux/kde/dolphinrc @@ -12,7 +12,6 @@ Places Icons Static Size=22 [MainWindow] MenuBar=Disabled -ToolBarsMovable=Disabled [PreviewSettings] Plugins=appimagethumbnail,audiothumbnail,avif,blenderthumbnail,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,heif,imagethumbnail,jpegthumbnail,jxl,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,mobithumbnail,opendocumentthumbnail,gsthumbnail,rawthumbnail,svgthumbnail,textthumbnail,ffmpegthumbs,gdk-pixbuf-thumbnailer diff --git a/platforms/linux/kde/elisarc b/platforms/linux/kde/elisarc index 999f0ae..2995c64 100644 --- a/platforms/linux/kde/elisarc +++ b/platforms/linux/kde/elisarc @@ -1,18 +1,5 @@ -# $DOTFILES/platforms/linux/kde/elisarc -# Date: 2024-12-22 -# Author: js0ny -# Dolphin - KDE Music Player - -# Location: -# $XDG_CONFIG_HOME/elisarc -# Linking: -# ln -sf $DOTFILES/platforms/linux/kde/elisarc $XDG_CONFIG_HOME/elisarc - [ElisaFileIndexer] RootPath[$e]=$HOME/Music -[UiSettings] -ColorScheme= - [Views] InitialFilesViewPath=/mnt/d/Media/Music diff --git a/platforms/linux/kde/kglobalshortcutsrc b/platforms/linux/kde/kglobalshortcutsrc new file mode 100644 index 0000000..bf0b6c6 --- /dev/null +++ b/platforms/linux/kde/kglobalshortcutsrc @@ -0,0 +1,308 @@ +[ActivityManager] +_k_friendly_name=Activity Manager +switch-to-activity-32e1f2d2-08d1-4a8b-886a-0a062f999068=none,none,Switch to activity "Default" + +[KDE Keyboard Layout Switcher] +Switch keyboard layout to English (Colemak)=none,none,Switch keyboard layout to English (Colemak) +Switch keyboard layout to English (US)=none,none,Switch keyboard layout to English (US) +Switch to Last-Used Keyboard Layout=Meta+Alt+L,Meta+Alt+L,Switch to Last-Used Keyboard Layout +Switch to Next Keyboard Layout=Meta+Alt+K,Meta+Alt+K,Switch to Next Keyboard Layout +_k_friendly_name=Keyboard Layout Switcher + +[Strawberry] +_k_friendly_name=Strawberry +next_track=none,none,Next track +play_pause=none,none,Play/Pause +prev_track=none,none,Previous track +stop=none,none,Stop + +[kaccess] +Toggle Screen Reader On and Off=Meta+Alt+S,Meta+Alt+S,Toggle Screen Reader On and Off +_k_friendly_name=Accessibility + +[kcm_touchpad] +Disable Touchpad=Touchpad Off,Touchpad Off, +Enable Touchpad=Touchpad On,Touchpad On, +Toggle Touchpad=Touchpad Toggle\tMeta+Ctrl+Zenkaku Hankaku,Touchpad Toggle\tMeta+Ctrl+Zenkaku Hankaku, +_k_friendly_name=Touchpad + +[kmix] +_k_friendly_name=KMix +decrease_microphone_volume=Microphone Volume Down,Microphone Volume Down,Decrease Microphone Volume +decrease_volume=Volume Down,Volume Down,Decrease Volume +decrease_volume_small=Shift+Volume Down,Shift+Volume Down,Decrease Volume by 1% +increase_microphone_volume=Microphone Volume Up,Microphone Volume Up,Increase Microphone Volume +increase_volume=Volume Up,Volume Up,Increase Volume +increase_volume_small=Shift+Volume Up,Shift+Volume Up,Increase Volume by 1% +mic_mute=Microphone Mute\tMeta+Volume Mute,Microphone Mute\tMeta+Volume Mute,Mute Microphone +mute=Volume Mute,Volume Mute,Mute + +[krusader] +_k_friendly_name=Krusader +bring_main_window_to_top=Meta+K,Meta+K,Bring Main Window to Top + +[ksmserver] +Halt Without Confirmation=none,,Shut Down Without Confirmation +Lock Session=Meta+L\tScreensaver,Meta+L\tScreensaver,Lock Session +Log Out=Ctrl+Alt+Del,Ctrl+Alt+Del,Show Logout Screen +Log Out Without Confirmation=none,,Log Out Without Confirmation +LogOut=none,,Log Out +Reboot=none,,Reboot +Reboot Without Confirmation=none,,Reboot Without Confirmation +Shut Down=none,,Shut Down +_k_friendly_name=Session Management + +[kwin] +Activate Window Demanding Attention=Meta+Ctrl+A,Meta+Ctrl+A,Activate Window Demanding Attention +Cycle Overview=none,none,Cycle through Overview and Grid View +Cycle Overview Opposite=none,none,Cycle through Grid View and Overview +Decrease Opacity=none,,Decrease Opacity of Active Window by 5% +Edit Tiles=Meta+T,Meta+T,Toggle Tiles Editor +Expose=Ctrl+F9,Ctrl+F9,Toggle Present Windows (Current desktop) +ExposeAll=Ctrl+F10\tLaunch (C),Ctrl+F10\tLaunch (C),Toggle Present Windows (All desktops) +ExposeClass=Ctrl+F7,Ctrl+F7,Toggle Present Windows (Window class) +ExposeClassCurrentDesktop=none,none,Toggle Present Windows (Window class on current desktop) +Grid View=Meta+G,Meta+G,Toggle Grid View +Increase Opacity=none,,Increase Opacity of Active Window by 5% +Kill Window=Meta+Ctrl+Esc,Meta+Ctrl+Esc,Kill Window +Move Tablet to Next Output=none,none,Move the tablet to the next output +MoveMouseToCenter=Meta+F6,Meta+F6,Move Mouse to Centre +MoveMouseToFocus=Meta+F5,Meta+F5,Move Mouse to Focus +MoveZoomDown=none,none,Move Zoomed Area Downwards +MoveZoomLeft=none,none,Move Zoomed Area to Left +MoveZoomRight=none,none,Move Zoomed Area to Right +MoveZoomUp=none,none,Move Zoomed Area Upwards +Overview=Meta+W,Meta+W,Toggle Overview +Setup Window Shortcut=none,,Setup Window Shortcut +Show Desktop=Meta+D,Meta+D,Peek at Desktop +Switch One Desktop Down=Meta+Ctrl+Down,Meta+Ctrl+Down,Switch One Desktop Down +Switch One Desktop Up=Meta+Ctrl+Up,Meta+Ctrl+Up,Switch One Desktop Up +Switch One Desktop to the Left=Meta+Ctrl+Left,Meta+Ctrl+Left,Switch One Desktop to the Left +Switch One Desktop to the Right=Meta+Ctrl+Right,Meta+Ctrl+Right,Switch One Desktop to the Right +Switch Window Down=Meta+Alt+Down\tMeta+N,Meta+Alt+Down,Switch to Window Below +Switch Window Left=Meta+H\tMeta+Alt+Left,Meta+Alt+Left,Switch to Window to the Left +Switch Window Right=Meta+I\tMeta+Alt+Right,Meta+Alt+Right,Switch to Window to the Right +Switch Window Up=Meta+Alt+Up\tMeta+E,Meta+Alt+Up,Switch to Window Above +Switch to Desktop 1=Meta+F1,Ctrl+F1,Switch to Desktop 1 +Switch to Desktop 10=none,,Switch to Desktop 10 +Switch to Desktop 11=none,,Switch to Desktop 11 +Switch to Desktop 12=none,,Switch to Desktop 12 +Switch to Desktop 13=none,,Switch to Desktop 13 +Switch to Desktop 14=none,,Switch to Desktop 14 +Switch to Desktop 15=none,,Switch to Desktop 15 +Switch to Desktop 16=none,,Switch to Desktop 16 +Switch to Desktop 17=none,,Switch to Desktop 17 +Switch to Desktop 18=none,,Switch to Desktop 18 +Switch to Desktop 19=none,,Switch to Desktop 19 +Switch to Desktop 2=Meta+F2,Ctrl+F2,Switch to Desktop 2 +Switch to Desktop 20=none,,Switch to Desktop 20 +Switch to Desktop 3=Meta+F3,Ctrl+F3,Switch to Desktop 3 +Switch to Desktop 4=Meta+F4,Ctrl+F4,Switch to Desktop 4 +Switch to Desktop 5=none,,Switch to Desktop 5 +Switch to Desktop 6=none,,Switch to Desktop 6 +Switch to Desktop 7=none,,Switch to Desktop 7 +Switch to Desktop 8=none,,Switch to Desktop 8 +Switch to Desktop 9=none,,Switch to Desktop 9 +Switch to Next Desktop=none,,Switch to Next Desktop +Switch to Next Screen=none,,Switch to Next Screen +Switch to Previous Desktop=none,,Switch to Previous Desktop +Switch to Previous Screen=none,,Switch to Previous Screen +Switch to Screen 0=none,,Switch to Screen 0 +Switch to Screen 1=none,,Switch to Screen 1 +Switch to Screen 2=none,,Switch to Screen 2 +Switch to Screen 3=none,,Switch to Screen 3 +Switch to Screen 4=none,,Switch to Screen 4 +Switch to Screen 5=none,,Switch to Screen 5 +Switch to Screen 6=none,,Switch to Screen 6 +Switch to Screen 7=none,,Switch to Screen 7 +Switch to Screen Above=none,,Switch to Screen Above +Switch to Screen Below=none,,Switch to Screen Below +Switch to Screen to the Left=none,,Switch to Screen to the Left +Switch to Screen to the Right=none,,Switch to Screen to the Right +Toggle Night Color=none,none,Suspend/Resume Night Light +Toggle Window Raise/Lower=none,,Toggle Window Raise/Lower +Walk Through Windows=Alt+Tab,Alt+Tab,Walk Through Windows +Walk Through Windows (Reverse)=Alt+Shift+Tab,Alt+Shift+Tab,Walk Through Windows (Reverse) +Walk Through Windows Alternative=none,,Walk Through Windows Alternative +Walk Through Windows Alternative (Reverse)=none,,Walk Through Windows Alternative (Reverse) +Walk Through Windows of Current Application=Alt+`,Alt+`,Walk Through Windows of Current Application +Walk Through Windows of Current Application (Reverse)=Alt+~,Alt+~,Walk Through Windows of Current Application (Reverse) +Walk Through Windows of Current Application Alternative=none,,Walk Through Windows of Current Application Alternative +Walk Through Windows of Current Application Alternative (Reverse)=none,,Walk Through Windows of Current Application Alternative (Reverse) +Window Above Other Windows=none,,Keep Window Above Others +Window Below Other Windows=none,,Keep Window Below Others +Window Close=Alt+F4\tMeta+Q,Alt+F4,Close Window +Window Custom Quick Tile Bottom=none,,Custom Quick Tile Window to the Bottom +Window Custom Quick Tile Left=none,,Custom Quick Tile Window to the Left +Window Custom Quick Tile Right=none,,Custom Quick Tile Window to the Right +Window Custom Quick Tile Top=none,,Custom Quick Tile Window to the Top +Window Fullscreen=none,,Make Window Fullscreen +Window Grow Horizontal=none,,Expand Window Horizontally +Window Grow Vertical=none,,Expand Window Vertically +Window Lower=none,,Lower Window +Window Maximize=Meta+Shift+E\tMeta+PgUp,Meta+PgUp,Maximise Window +Window Maximize Horizontal=none,,Maximise Window Horizontally +Window Maximize Vertical=none,,Maximise Window Vertically +Window Minimize=Meta+Shift+N\tMeta+PgDown,Meta+PgDown,Minimise Window +Window Move=none,,Move Window +Window Move Center=none,,Move Window to the Centre +Window No Border=none,,Toggle Window Titlebar and Frame +Window On All Desktops=none,,Keep Window on All Desktops +Window One Desktop Down=Meta+Ctrl+Shift+Down,Meta+Ctrl+Shift+Down,Window One Desktop Down +Window One Desktop Up=Meta+Ctrl+Shift+Up,Meta+Ctrl+Shift+Up,Window One Desktop Up +Window One Desktop to the Left=Meta+Ctrl+Shift+Left,Meta+Ctrl+Shift+Left,Window One Desktop to the Left +Window One Desktop to the Right=Meta+Ctrl+Shift+Right,Meta+Ctrl+Shift+Right,Window One Desktop to the Right +Window One Screen Down=none,,Move Window One Screen Down +Window One Screen Up=none,,Move Window One Screen Up +Window One Screen to the Left=none,,Move Window One Screen to the Left +Window One Screen to the Right=none,,Move Window One Screen to the Right +Window Operations Menu=Alt+F3,Alt+F3,Window Operations Menu +Window Pack Down=none,,Move Window Down +Window Pack Left=none,,Move Window Left +Window Pack Right=none,,Move Window Right +Window Pack Up=none,,Move Window Up +Window Quick Tile Bottom=Meta+Down,Meta+Down,Quick Tile Window to the Bottom +Window Quick Tile Bottom Left=none,,Quick Tile Window to the Bottom Left +Window Quick Tile Bottom Right=none,,Quick Tile Window to the Bottom Right +Window Quick Tile Left=Meta+Left,Meta+Left,Quick Tile Window to the Left +Window Quick Tile Right=Meta+Right,Meta+Right,Quick Tile Window to the Right +Window Quick Tile Top=Meta+Up,Meta+Up,Quick Tile Window to the Top +Window Quick Tile Top Left=none,,Quick Tile Window to the Top Left +Window Quick Tile Top Right=none,,Quick Tile Window to the Top Right +Window Raise=none,,Raise Window +Window Resize=none,,Resize Window +Window Shade=none,,Shade Window +Window Shrink Horizontal=none,,Shrink Window Horizontally +Window Shrink Vertical=none,,Shrink Window Vertically +Window to Desktop 1=none,,Window to Desktop 1 +Window to Desktop 10=none,,Window to Desktop 10 +Window to Desktop 11=none,,Window to Desktop 11 +Window to Desktop 12=none,,Window to Desktop 12 +Window to Desktop 13=none,,Window to Desktop 13 +Window to Desktop 14=none,,Window to Desktop 14 +Window to Desktop 15=none,,Window to Desktop 15 +Window to Desktop 16=none,,Window to Desktop 16 +Window to Desktop 17=none,,Window to Desktop 17 +Window to Desktop 18=none,,Window to Desktop 18 +Window to Desktop 19=none,,Window to Desktop 19 +Window to Desktop 2=none,,Window to Desktop 2 +Window to Desktop 20=none,,Window to Desktop 20 +Window to Desktop 3=none,,Window to Desktop 3 +Window to Desktop 4=none,,Window to Desktop 4 +Window to Desktop 5=none,,Window to Desktop 5 +Window to Desktop 6=none,,Window to Desktop 6 +Window to Desktop 7=none,,Window to Desktop 7 +Window to Desktop 8=none,,Window to Desktop 8 +Window to Desktop 9=none,,Window to Desktop 9 +Window to Next Desktop=none,,Window to Next Desktop +Window to Next Screen=Meta+Shift+Right,Meta+Shift+Right,Move Window to Next Screen +Window to Previous Desktop=none,,Window to Previous Desktop +Window to Previous Screen=Meta+Shift+Left,Meta+Shift+Left,Move Window to Previous Screen +Window to Screen 0=none,,Move Window to Screen 0 +Window to Screen 1=none,,Move Window to Screen 1 +Window to Screen 2=none,,Move Window to Screen 2 +Window to Screen 3=none,,Move Window to Screen 3 +Window to Screen 4=none,,Move Window to Screen 4 +Window to Screen 5=none,,Move Window to Screen 5 +Window to Screen 6=none,,Move Window to Screen 6 +Window to Screen 7=none,,Move Window to Screen 7 +_k_friendly_name=KWin +disableInputCapture=Meta+Shift+Esc,Meta+Shift+Esc,Disable Active Input Capture +view_actual_size=Meta+0,Meta+0,Zoom to Actual Size +view_zoom_in=Meta++\tMeta+=,Meta++\tMeta+=,Zoom In +view_zoom_out=Meta+-,Meta+-,Zoom Out + +[mediacontrol] +_k_friendly_name=Media Controller +mediavolumedown=none,,Media volume down +mediavolumeup=none,,Media volume up +nextmedia=Media Next,Media Next,Media playback next +pausemedia=Media Pause,Media Pause,Pause media playback +playmedia=none,,Play media playback +playpausemedia=Media Play,Media Play,Play/Pause media playback +previousmedia=Media Previous,Media Previous,Media playback previous +stopmedia=Media Stop,Media Stop,Stop media playback + +[org_kde_powerdevil] +Decrease Keyboard Brightness=Keyboard Brightness Down,Keyboard Brightness Down,Decrease Keyboard Brightness +Decrease Screen Brightness=Monitor Brightness Down,Monitor Brightness Down,Decrease Screen Brightness +Decrease Screen Brightness Small=Shift+Monitor Brightness Down,Shift+Monitor Brightness Down,Decrease Screen Brightness by 1% +Hibernate=Hibernate,Hibernate,Hibernate +Increase Keyboard Brightness=Keyboard Brightness Up,Keyboard Brightness Up,Increase Keyboard Brightness +Increase Screen Brightness=Monitor Brightness Up,Monitor Brightness Up,Increase Screen Brightness +Increase Screen Brightness Small=Shift+Monitor Brightness Up,Shift+Monitor Brightness Up,Increase Screen Brightness by 1% +PowerDown=Power Down,Power Down,Power Down +PowerOff=Power Off,Power Off,Power Off +Sleep=Sleep,Sleep,Suspend +Toggle Keyboard Backlight=Keyboard Light On/Off,Keyboard Light On/Off,Toggle Keyboard Backlight +Turn Off Screen=none,none,Turn Off Screen +_k_friendly_name=Power Management +powerProfile=Battery\tMeta+B,Battery\tMeta+B,Switch Power Profile + +[plasmashell] +_k_friendly_name=plasmashell +activate application launcher=Meta\tAlt+F1,Meta\tAlt+F1,Activate Application Launcher +activate task manager entry 1=Meta+1,Meta+1,Activate Task Manager Entry 1 +activate task manager entry 10=none,,Activate Task Manager Entry 10 +activate task manager entry 2=Meta+2,Meta+2,Activate Task Manager Entry 2 +activate task manager entry 3=Meta+3,Meta+3,Activate Task Manager Entry 3 +activate task manager entry 4=Meta+4,Meta+4,Activate Task Manager Entry 4 +activate task manager entry 5=Meta+5,Meta+5,Activate Task Manager Entry 5 +activate task manager entry 6=Meta+6,Meta+6,Activate Task Manager Entry 6 +activate task manager entry 7=Meta+7,Meta+7,Activate Task Manager Entry 7 +activate task manager entry 8=Meta+8,Meta+8,Activate Task Manager Entry 8 +activate task manager entry 9=Meta+9,Meta+9,Activate Task Manager Entry 9 +activate widget 3=none,none,Activate Application Launcher Widget +clear-history=none,,Clear Clipboard History +clipboard_action=Meta+Ctrl+X,Meta+Ctrl+X,Automatic Action Popup Menu +cycle-panels=Meta+Alt+P,Meta+Alt+P,Move keyboard focus between panels +cycleNextAction=none,,Next History Item +cyclePrevAction=none,,Previous History Item +manage activities=none,Meta+Q,Show Activity Switcher +next activity=Meta+A,none,Walk through activities +previous activity=Meta+Shift+A,none,Walk through activities (Reverse) +repeat_action=none,,Manually Invoke Action on Current Clipboard +show dashboard=Ctrl+F12,Ctrl+F12,Show Desktop +show-barcode=none,,Show Barcode… +show-on-mouse-pos=Meta+V,Meta+V,Show Clipboard Items at Mouse Position +stop current activity=Meta+S,Meta+S,Stop Current Activity +switch to next activity=none,,Switch to Next Activity +switch to previous activity=none,,Switch to Previous Activity +toggle do not disturb=none,,Toggle do not disturb + +[services][kitty.desktop] +_launch=Meta+R + +[services][net.local.albert.desktop] +_launch=Alt+Space + +[services][org.kde.dolphin.desktop] +_launch=Meta+F + +[services][org.kde.konsole.desktop] +_launch=none + +[services][org.kde.krunner.desktop] +_launch=Alt+F2\tSearch + +[services][org.kde.kscreen.desktop] +ShowOSD=Display + +[services][org.kde.spectacle.desktop] +RecordRegion=Meta+Shift+R +RectangularRegionScreenShot=Meta+C + +[wacomtablet] +Map to fullscreen=Meta+Ctrl+F,Meta+Ctrl+F,Map to fullscreen +Map to screen 1=Meta+Ctrl+1,Meta+Ctrl+1,Map to screen 1 +Map to screen 2=Meta+Ctrl+2,Meta+Ctrl+2,Map to screen 2 +Next Profile=Meta+Ctrl+N,Meta+Ctrl+N,Next profile +Previous Profile=Meta+Ctrl+P,Meta+Ctrl+P,Previous Profile +Toggle screen map selection=Meta+Ctrl+M,Meta+Ctrl+M,Toggle between all screens +Toggle stylus mode=Meta+Ctrl+S,Meta+Ctrl+S,Toggle the Stylus Tool Relative/Absolute +Toggle touch tool=Meta+Ctrl+T,Meta+Ctrl+T,Enable/Disable the Touch Tool +_k_friendly_name=Wacom Tablet + +[yakuake] +_k_friendly_name=Yakuake +toggle-window-state=Meta+`,F12,Open/Retract Yakuake diff --git a/tools/browser/surfingkeys.js b/tools/browser/surfingkeys.js index 4d597d9..3e88888 100644 --- a/tools/browser/surfingkeys.js +++ b/tools/browser/surfingkeys.js @@ -1,3 +1,4 @@ +// vim:foldmethod=marker:foldmarker=#region,#endregion:foldlevel=0 // Paste this into surfingkeys advanced settings // or use: // Load settings from: https://raw.githubusercontent.com/js0ny/dotfiles/refs/heads/master/tools/browser/surfingkeys.js @@ -114,7 +115,8 @@ const vColemak = { const forwardFactory = { push: function (mapLists) { // forward original keys - for (const key in mapLists) { // `const` better than `let` + for (const key in mapLists) { + // `const` better than `let` forward.add(mapLists[key]); } }, @@ -309,8 +311,16 @@ const searchAliases = [ ["ud", "UrbanDictionary", "https://www.urbandictionary.com/define.php?term="], ["wa", "WolframAlpha", "https://www.wolframalpha.com/input/?i="], ["wg", "winget", "https://winget.ragerworks.com/search/all/"], - ["wk", "Wikipedia", "https://en.wikipedia.org/w/index.php?title=Special:Search&search="], - ["ww", "WantWords", "https://www.shenyandayi.com/wantWordsResult?lang=zh&query="], + [ + "wk", + "Wikipedia", + "https://en.wikipedia.org/w/index.php?title=Special:Search&search=", + ], + [ + "ww", + "WantWords", + "https://www.shenyandayi.com/wantWordsResult?lang=zh&query=", + ], ["yt", "YouTube", "https://www.youtube.com/results?search_query="], ]; @@ -329,9 +339,14 @@ mapkey("yY", "yank link without parameter", function () { }); // #region bilibili.com -mapkey(",n", "[n]ext Video", function () { - window.location.href = q("div.next-play").querySelector("a").href -}, { domain: /bilibili.com/ }); +mapkey( + ",n", + "[n]ext Video", + function () { + window.location.href = q("div.next-play").querySelector("a").href; + }, + { domain: /bilibili.com/ }, +); // #endregion // #region chatgpt.com @@ -352,50 +367,130 @@ mapkey(",s", "Start/Stop Generating", chatgptStartStop, { // #endregion // #region chat.deepseek.com -mapkey(",s", "Toggle Sidebar", function () { - var btn = qs("div.ds-icon-button"); - btn[0].click(); -}, { domain: /chat.deepseek.com/ }); -mapkey(",e", "[e]dit last input", function () { - var btn = qs("div.ds-icon-button"); - btn[btn.length - 5].click(); -}, { domain: /chat.deepseek.com/ }); -mapkey(",y", "[y]ank last oupput", function () { - var btn = qs("div.ds-icon-button"); - btn[btn.length - 4].click(); -}, { domain: /chat.deepseek.com/ }); -mapkey(",r", "[r]egenerate last output", function () { - var btn = qs("div.ds-icon-button"); - btn[btn.length - 3].click(); -}, { domain: /chat.deepseek.com/ }); -mapkey(",n", "[n]ew Chat", function () { - window.location.href = "https://chat.deepseek.com/"; -}, { domain: /chat.deepseek.com/ }); -mapkey(",t", "Toggle co[t](R1)", function () { - var btns = qs("div.ds-button"); - btns[0].click(); -}, { domain: /chat.deepseek.com/ }); -mapkey(",w", "Toggle [w]eb Search", function () { - var btns = qs("div.ds-button"); - btns[1].click(); -}, { domain: /chat.deepseek.com/ }); +mapkey( + ",s", + "Toggle Sidebar", + function () { + var btn = qs("div.ds-icon-button"); + btn[0].click(); + }, + { domain: /chat.deepseek.com/ }, +); +mapkey( + ",e", + "[e]dit last input", + function () { + var btn = qs("div.ds-icon-button"); + btn[btn.length - 5].click(); + }, + { domain: /chat.deepseek.com/ }, +); +mapkey( + ",y", + "[y]ank last oupput", + function () { + var btn = qs("div.ds-icon-button"); + btn[btn.length - 4].click(); + }, + { domain: /chat.deepseek.com/ }, +); +mapkey( + ",r", + "[r]egenerate last output", + function () { + var btn = qs("div.ds-icon-button"); + btn[btn.length - 3].click(); + }, + { domain: /chat.deepseek.com/ }, +); +mapkey( + ",n", + "[n]ew Chat", + function () { + window.location.href = "https://chat.deepseek.com/"; + }, + { domain: /chat.deepseek.com/ }, +); +mapkey( + ",t", + "Toggle co[t](R1)", + function () { + var btns = qs("div.ds-button"); + btns[0].click(); + }, + { domain: /chat.deepseek.com/ }, +); +mapkey( + ",w", + "Toggle [w]eb Search", + function () { + var btns = qs("div.ds-button"); + btns[1].click(); + }, + { domain: /chat.deepseek.com/ }, +); // #endregion +//#region dropbox.com +//https://www.dropbox.com/scl/fi/u58c2qmqbwq672y3hwmfn/setup.sh?rlkey=d3figouv5eqk1xfwdtyzfr7ua&e=1&st=ehttmy2r&dl=0 +//https://dl.dropboxusercontent.com/scl/fi/u58c2qmqbwq672y3hwmfn/setup.sh?rlkey=d3figouv5eqk1xfwdtyzfr7ua&e=1&st=ehttmy2r +mapkey( + ",r", + "Extract [r]aw link", + function () { + const url = new URL(window.location.href); + if (url.href.endsWith("&dl=0")) { + url.searchParams.delete("dl"); + url.hostname = "dl.dropboxusercontent.com"; + Clipboard.write(url.href); + } + }, + { domain: /dropbox.com/ }, +); +mapkey( + ",d", + "Extract [d]aw link", + function () { + const url = new URL(window.location.href); + if (url.href.endsWith("&dl=0")) { + url.searchParams.set("dl", "1"); + Clipboard.write(url.href); + } + }, + { domain: /dropbox.com/ }, +); +//#endregion + // #region app.follow.is -mapkey(",t", "Toggle ", function () { - var btn = qs("button.no-drag-region"); - btn[btn.length - 4].click(); -}, { domain: /app.follow.is/ }); +mapkey( + ",t", + "Toggle ", + function () { + var btn = qs("button.no-drag-region"); + btn[btn.length - 4].click(); + }, + { domain: /app.follow.is/ }, +); -mapkey(",a", "Toggle AI Summary", function () { - var btn = qs("button.no-drag-region"); - btn[btn.length - 3].click(); -}, { domain: /app.follow.is/ }); +mapkey( + ",a", + "Toggle AI Summary", + function () { + var btn = qs("button.no-drag-region"); + btn[btn.length - 3].click(); + }, + { domain: /app.follow.is/ }, +); -mapkey(",o", "Toggle Original Website", function () { - var btn = qs("button.no-drag-region"); - btn[btn.length - 4].click(); -}, { domain: /app.follow.is/ }); +mapkey( + ",o", + "Toggle Original Website", + function () { + var btn = qs("button.no-drag-region"); + btn[btn.length - 4].click(); + }, + { domain: /app.follow.is/ }, +); // #endregion // #region GitHub @@ -410,77 +505,137 @@ gh.rawToSource = (url) => { return gh.sourceLink(ps[0], ps[1], ps.slice(4).join("/")); }; // github.com -mapkey(",e", "Use Web Editor", function () { - const url = new URL(window.location.href); - url.hostname = "github.dev"; - window.location.href = url.href; -}, { domain: /github.com/ }); -mapkey(",E", "Use Web Editor (New Page)", function () { - const url = new URL(window.location.href); - url.hostname = "github.dev"; - tabOpenLink(url.href); -}, { domain: /github.com/ }); -mapkey(",p", "Switch to GitHub Page", function () { - href = window.location.href; - owner = href.split("/")[3]; - repo = href.split("/")[4]; - window.location.href = gh.pageLink(owner, repo); -}, { domain: /github.com/ }); +mapkey( + ",e", + "Use Web Editor", + function () { + const url = new URL(window.location.href); + url.hostname = "github.dev"; + window.location.href = url.href; + }, + { domain: /github.com/ }, +); +mapkey( + ",E", + "Use Web Editor (New Page)", + function () { + const url = new URL(window.location.href); + url.hostname = "github.dev"; + tabOpenLink(url.href); + }, + { domain: /github.com/ }, +); +mapkey( + ",p", + "Switch to GitHub Page", + function () { + href = window.location.href; + owner = href.split("/")[3]; + repo = href.split("/")[4]; + window.location.href = gh.pageLink(owner, repo); + }, + { domain: /github.com/ }, +); /// This might be useful for Vim plugins -mapkey(",y", "[y]ank short refeference owner/repo", function () { - const href = window.location.href; - owner = href.split("/")[3]; - repo = href.split("/")[4]; - Clipboard.write(`${owner}/${repo}`); -}, { domain: /github.com/ }); +mapkey( + ",y", + "[y]ank short refeference owner/repo", + function () { + const href = window.location.href; + owner = href.split("/")[3]; + repo = href.split("/")[4]; + Clipboard.write(`${owner}/${repo}`); + }, + { domain: /github.com/ }, +); // github.dev -mapkey(",r", "Switch to GitHub Repo", function () { - const url = new URL(window.location.href); - url.hostname = "github.com"; - window.location.href = url.href; -}, { domain: /github.dev/ }); +mapkey( + ",r", + "Switch to GitHub Repo", + function () { + const url = new URL(window.location.href); + url.hostname = "github.com"; + window.location.href = url.href; + }, + { domain: /github.dev/ }, +); // github.io -mapkey(",r", "Switch to GitHub Repo", function () { - const href = window.location.href; - owner = href.split("/")[2].split(".")[0]; - repo = href.split("/")[3]; - tabOpenLink(gh.repoLink(owner, repo)); -}, { domain: /github.io/ }); -mapkey(",R", "Go to GitHub Repo (New tab)", function () { - const href = window.location.href; - owner = href.split("/")[2].split(".")[0]; - repo = href.split("/")[3]; - tabOpenLink(gh.repoLink(owner, repo)); -}, { domain: /github.io/ }); +mapkey( + ",r", + "Switch to GitHub Repo", + function () { + const href = window.location.href; + owner = href.split("/")[2].split(".")[0]; + repo = href.split("/")[3]; + tabOpenLink(gh.repoLink(owner, repo)); + }, + { domain: /github.io/ }, +); +mapkey( + ",R", + "Go to GitHub Repo (New tab)", + function () { + const href = window.location.href; + owner = href.split("/")[2].split(".")[0]; + repo = href.split("/")[3]; + tabOpenLink(gh.repoLink(owner, repo)); + }, + { domain: /github.io/ }, +); // raw.githubusercontent.com -mapkey(",r", "Switch to GitHub Repo", function () { - const url = new URL(window.location.href); - var owner, repo; - owner, repo = url.pathname.split("/").slice(1, 3); - window.location.href = gh.repoLink(owner, repo); -}, { domain: /raw.githubusercontent.com/ }); -mapkey(",R", "Switch to GitHub Repo", function () { - const url = new URL(window.location.href); - var owner, repo; - owner, repo = url.pathname.split("/").slice(1, 3); - tabOpenLink(gh.repoLink(owner, repo)); -}, { domain: /raw.githubusercontent.com/ }); -mapkey(",s", "Open Source in GitHub", function () { - window.location.href = gh.rawToSource(window.location.href); -}, { domain: /raw.githubusercontent.com/ }); -mapkey(",S", "Open Source in GitHub (New Page)", function () { - tabOpenLink(gh.rawToSource(window.location.href)); -}, { domain: /raw.githubusercontent.com/ }); +mapkey( + ",r", + "Switch to GitHub Repo", + function () { + const url = new URL(window.location.href); + var owner, repo; + owner, (repo = url.pathname.split("/").slice(1, 3)); + window.location.href = gh.repoLink(owner, repo); + }, + { domain: /raw.githubusercontent.com/ }, +); +mapkey( + ",R", + "Switch to GitHub Repo", + function () { + const url = new URL(window.location.href); + var owner, repo; + owner, (repo = url.pathname.split("/").slice(1, 3)); + tabOpenLink(gh.repoLink(owner, repo)); + }, + { domain: /raw.githubusercontent.com/ }, +); +mapkey( + ",s", + "Open Source in GitHub", + function () { + window.location.href = gh.rawToSource(window.location.href); + }, + { domain: /raw.githubusercontent.com/ }, +); +mapkey( + ",S", + "Open Source in GitHub (New Page)", + function () { + tabOpenLink(gh.rawToSource(window.location.href)); + }, + { domain: /raw.githubusercontent.com/ }, +); // #endregion GitHub //#region app.microsoft.com // https://apps.microsoft.com/detail/9nl6kd1h33v3?hl=en-GB&gl=GB // This is useful in `winget` (Windows Package Manager) -mapkey(",y", "[y]ank app id", function () { - const url = new URL(window.location.href); - const id = url.pathname.split("/")[2]; - Clipboard.write(id); -}, { domain: /apps.microsoft.com/ }); +mapkey( + ",y", + "[y]ank app id", + function () { + const url = new URL(window.location.href); + const id = url.pathname.split("/")[2]; + Clipboard.write(id); + }, + { domain: /apps.microsoft.com/ }, +); //#endregion // #region perplexity.ai @@ -490,52 +645,94 @@ mapkey(",y", "[y]ank app id", function () { * 2 - 社交 */ unmap("", /perplexity.ai/); // allows to use perplexity web keybindings -mapkey(",b", "Add Perplexity [b]ookmark", function () { - // button.border:nth-child(2) - q("div.sticky.left-0").querySelectorAll("button")[2].click() -}, { domain: /perplexity.ai/ }); -mapkey(",w", "Toggle [w]riting/[w]eb Search", function () { - q("div.rounded-md").querySelectorAll("span")[1].click() - setTimeout(() => { // Wait for the DOM to update - qs("div.shadow-subtle div.group\\/item")[0].click(); - }, 100); -}, { domain: /perplexity.ai/ }); -mapkey(",s", "[s]tart Generating", function () { - var btns = qs("span.grow button"); - btns[btns.length - 1].click(); -}, { domain: /perplexity.ai/ }); -mapkey(",y", "[y]ank Last Output", function () { - var toolbars = qs("div.mt-sm"); - var last = toolbars[toolbars.length - 1]; - var btns = last.querySelectorAll("button"); - btns[5].click(); -}, { domain: /perplexity.ai/ }); -mapkey(",r", "Change model to [r]egenerate last output", function () { - var toolbars = qs("div.mt-sm"); - var last = toolbars[toolbars.length - 1]; - var btns = last.querySelectorAll("button"); - btns[1].click(); -}, { domain: /perplexity.ai/ }); -mapkey(",R", "Toggle [R]easoning with [R]1", function () { - var btns = qs("span.grow button"); - btns[0].click(); - setTimeout(() => { // Wait for the DOM to update - qs("div.shadow-subtle div.group\\/item")[2].click(); - qs("div.group\\/item")[2].click() // Mobile view - }, 100); -}, { domain: /perplexity.ai/ }); +mapkey( + ",b", + "Add Perplexity [b]ookmark", + function () { + // button.border:nth-child(2) + q("div.sticky.left-0").querySelectorAll("button")[2].click(); + }, + { domain: /perplexity.ai/ }, +); +mapkey( + ",w", + "Toggle [w]riting/[w]eb Search", + function () { + q("div.rounded-md").querySelectorAll("span")[1].click(); + setTimeout(() => { + // Wait for the DOM to update + qs("div.shadow-subtle div.group\\/item")[0].click(); + }, 100); + }, + { domain: /perplexity.ai/ }, +); +mapkey( + ",s", + "[s]tart Generating", + function () { + var btns = qs("span.grow button"); + btns[btns.length - 1].click(); + }, + { domain: /perplexity.ai/ }, +); +mapkey( + ",y", + "[y]ank Last Output", + function () { + var toolbars = qs("div.mt-sm"); + var last = toolbars[toolbars.length - 1]; + var btns = last.querySelectorAll("button"); + btns[5].click(); + }, + { domain: /perplexity.ai/ }, +); +mapkey( + ",r", + "Change model to [r]egenerate last output", + function () { + var toolbars = qs("div.mt-sm"); + var last = toolbars[toolbars.length - 1]; + var btns = last.querySelectorAll("button"); + btns[1].click(); + }, + { domain: /perplexity.ai/ }, +); +mapkey( + ",R", + "Toggle [R]easoning with [R]1", + function () { + var btns = qs("span.grow button"); + btns[0].click(); + setTimeout(() => { + // Wait for the DOM to update + qs("div.shadow-subtle div.group\\/item")[2].click(); + qs("div.group\\/item")[2].click(); // Mobile view + }, 100); + }, + { domain: /perplexity.ai/ }, +); // #endregion // #region sspai.com unmap("[[", /sspai.com/); unmap("]]", /sspai.com/); unmap(",", /sspai.com/); -mapkey("[[", "Previous Page", function () { - q("button.btn-prev").click(); -}, { domain: /sspai.com/ }); -mapkey("]]", "Next Page", function () { - q("button.btn-next").click(); -}, { domain: /sspai.com/ }); +mapkey( + "[[", + "Previous Page", + function () { + q("button.btn-prev").click(); + }, + { domain: /sspai.com/ }, +); +mapkey( + "]]", + "Next Page", + function () { + q("button.btn-next").click(); + }, + { domain: /sspai.com/ }, +); // #endregion @@ -544,85 +741,151 @@ mapkey("]]", "Next Page", function () { unmap("[[", /pixiv.net/); unmap("]]", /pixiv.net/); unmap(",", /pixiv.net/); -const isArtwork = (url) => /pixiv.net\/artworks/.test(url.href) +const isArtwork = (url) => /pixiv.net\/artworks/.test(url.href); -mapkey("[[", "Previous Page", function () { - const url = new URL(window.location.href); - if (url.href === url.origin) { - return; - } - const page = url.searchParams.get("p"); - const newPage = page ? parseInt(page) - 1 : 1; - url.searchParams.set("p", newPage); - window.location.href = url.href; -}, { domain: /pixiv.net/ }); +mapkey( + "[[", + "Previous Page", + function () { + const url = new URL(window.location.href); + if (url.href === url.origin) { + return; + } + const page = url.searchParams.get("p"); + const newPage = page ? parseInt(page) - 1 : 1; + url.searchParams.set("p", newPage); + window.location.href = url.href; + }, + { domain: /pixiv.net/ }, +); -mapkey("]]", "Next Page", function () { - const url = new URL(window.location.href); - if (url.href === url.origin) { - return; - } - const page = url.searchParams.get("p"); - const newPage = page ? parseInt(page) + 1 : 2; - url.searchParams.set("p", newPage); - window.location.href = url.href; -}, { domain: /pixiv.net/ }); -mapkey(",b", "Add to [b]ookmark", function () { - const url = new URL(window.location.href); - if (!isArtwork(url)) { return; } - const toolbar = q('section [class$="Toolbar"]') - toolbar.querySelectorAll("div")[2].querySelector("button").click() -}, { domain: /pixiv.net/ }); -mapkey(",B", "Add to private [B]ookmark", function () { - const url = new URL(window.location.href); - if (!isArtwork(url)) { return; } - const toolbar = q('section [class$="Toolbar"]') - toolbar.querySelectorAll("div")[0].querySelector("button").click() - setTimeout(() => { // Wait for the DOM to update - q("div[role=menu]").querySelector("li").click() - }, 100); -}, { domain: /pixiv.net/ }); -mapkey(",v", "Up[v]ote Artwork", function () { - const url = new URL(window.location.href); - if (!isArtwork(url)) { return; } - const toolbar = q('section [class$="Toolbar"]') - toolbar.querySelectorAll("div")[3].querySelector("button").click() -}, { domain: /pixiv.net/ }); -mapkey(",f", "Toggle [f]ollow the author", function () { - const url = new URL(window.location.href) - if (!isArtwork(url)) { return; } - q("aside").querySelector("section").querySelector("button").click() -}, { domain: /pixiv.net/ }); +mapkey( + "]]", + "Next Page", + function () { + const url = new URL(window.location.href); + if (url.href === url.origin) { + return; + } + const page = url.searchParams.get("p"); + const newPage = page ? parseInt(page) + 1 : 2; + url.searchParams.set("p", newPage); + window.location.href = url.href; + }, + { domain: /pixiv.net/ }, +); +mapkey( + ",b", + "Add to [b]ookmark", + function () { + const url = new URL(window.location.href); + if (!isArtwork(url)) { + return; + } + const toolbar = q('section [class$="Toolbar"]'); + toolbar.querySelectorAll("div")[2].querySelector("button").click(); + }, + { domain: /pixiv.net/ }, +); +mapkey( + ",B", + "Add to private [B]ookmark", + function () { + const url = new URL(window.location.href); + if (!isArtwork(url)) { + return; + } + const toolbar = q('section [class$="Toolbar"]'); + toolbar.querySelectorAll("div")[0].querySelector("button").click(); + setTimeout(() => { + // Wait for the DOM to update + q("div[role=menu]").querySelector("li").click(); + }, 100); + }, + { domain: /pixiv.net/ }, +); +mapkey( + ",v", + "Up[v]ote Artwork", + function () { + const url = new URL(window.location.href); + if (!isArtwork(url)) { + return; + } + const toolbar = q('section [class$="Toolbar"]'); + toolbar.querySelectorAll("div")[3].querySelector("button").click(); + }, + { domain: /pixiv.net/ }, +); +mapkey( + ",f", + "Toggle [f]ollow the author", + function () { + const url = new URL(window.location.href); + if (!isArtwork(url)) { + return; + } + q("aside").querySelector("section").querySelector("button").click(); + }, + { domain: /pixiv.net/ }, +); // #endregion // #region youtube.com -mapkey(",n", "[n]ext Video", function () { - window.location.href = q("ytd-compact-video-renderer").querySelector("a").href -}, { domain: /youtube.com/ }); +mapkey( + ",n", + "[n]ext Video", + function () { + window.location.href = q("ytd-compact-video-renderer").querySelector( + "a", + ).href; + }, + { domain: /youtube.com/ }, +); -mapkey(",v", "Up[v]ote Video", function () { - qs("like-button-view-model")[0].querySelector("button").click() -}, { domain: /youtube.com/ }); +mapkey( + ",v", + "Up[v]ote Video", + function () { + qs("like-button-view-model")[0].querySelector("button").click(); + }, + { domain: /youtube.com/ }, +); -mapkey(",V", "Down[v]ote Video", function () { - qs("dislike-button-view-model")[0].querySelector("button").click() -}, { domain: /youtube.com/ }); +mapkey( + ",V", + "Down[v]ote Video", + function () { + qs("dislike-button-view-model")[0].querySelector("button").click(); + }, + { domain: /youtube.com/ }, +); // class="ytp-subtitles-button ytp-button" -mapkey(",c", "toggle [c]aptions", function () { - q("button.ytp-subtitles-button").click() -}, { domain: /youtube.com/ }); +mapkey( + ",c", + "toggle [c]aptions", + function () { + q("button.ytp-subtitles-button").click(); + }, + { domain: /youtube.com/ }, +); // #endregion //#region zhihu.com -mapkey(",d", "Toggle [d]ark mode", function () { - const url = new URL(window.location.href); - if (url.searchParams.get("theme") === "dark") { - url.searchParams.set("theme", "light"); - } else { - url.searchParams.set("theme", "dark"); - } - window.location.href = url.href; -}, { domain: /zhihu.com/ }); +mapkey( + ",d", + "Toggle [d]ark mode", + function () { + const url = new URL(window.location.href); + if (url.searchParams.get("theme") === "dark") { + url.searchParams.set("theme", "light"); + } else { + url.searchParams.set("theme", "dark"); + } + window.location.href = url.href; + }, + { domain: /zhihu.com/ }, +); //#endregion // #endregion diff --git a/tools/nvim/lua/config/colors.lua b/tools/nvim/lua/config/colors.lua index 3c4a08a..6b143f9 100644 --- a/tools/nvim/lua/config/colors.lua +++ b/tools/nvim/lua/config/colors.lua @@ -2,7 +2,12 @@ local M = {} -- TODO: Change the palatte when the colorscheme changes -M.scheme = require("catppuccin.palettes.mocha") + +if vim.g.colors_name == "catppuccin-latte" then + M.scheme = require("catppuccin.palettes.latte") +else + M.scheme = require("catppuccin.palettes.mocha") +end M.accent = M.scheme.lavender diff --git a/tools/nvim/lua/plugins/completion.lua b/tools/nvim/lua/plugins/completion.lua index 8e4c1ad..5ab5914 100644 --- a/tools/nvim/lua/plugins/completion.lua +++ b/tools/nvim/lua/plugins/completion.lua @@ -1,19 +1,17 @@ return { { import = "plugins.mod.nvim-cmp" }, { - "saadparwaiz1/cmp_luasnip" + "saadparwaiz1/cmp_luasnip", }, { "L3MON4D3/LuaSnip", build = "make install_jsregexp", config = function() - require("luasnip.loaders.from_vscode").load_standalone( - { - path = "~/.config/zed/snippets/c.json" } - ) + require("luasnip.loaders.from_vscode").lazy_load({ paths = "~/.config/lsp-snippets" }) + -- require("luasnip.loaders.from_vscode").lazy_load() end, -- TODO: Remove this, simply delete this will let nvim-cmp not work - dependencies = { "rafamadriz/friendly-snippets" }, + -- dependencies = { "rafamadriz/friendly-snippets" }, }, { "zbirenbaum/copilot-cmp", diff --git a/tools/nvim/lua/plugins/mod/lualine/init.lua b/tools/nvim/lua/plugins/mod/lualine/init.lua index 6f8cd0c..0d73211 100644 --- a/tools/nvim/lua/plugins/mod/lualine/init.lua +++ b/tools/nvim/lua/plugins/mod/lualine/init.lua @@ -2,7 +2,7 @@ local lualine = require("lualine") -- Color table for highlights -local colors = require("config.colors") +-- local colors = require("config.colors") local components = require("plugins.mod.lualine.components") --[[ @@ -19,39 +19,40 @@ local config = { -- Disable sections and component separators component_separators = { left = "", right = "" }, section_separators = { left = "", right = "" }, - theme = { - -- We are going to use lualine_c an lualine_x as left and - -- right section. Both are highlighted by c theme . So we - -- are just setting default looks o statusline - -- normal = { c = { fg = colors.mantle, bg = colors.mantle } }, - -- visual = { c = { fg = colors.mantle, bg = colors.mauve } }, - -- normal = { c = { fg = colors.mantle, bg = colors.sapphire } }, - inactive = { c = { fg = colors.mantle, bg = colors.mantle } }, - normal = { - a = { - fg = colors.scheme.mantle, - bg = colors.mode.n, - }, - b = { - bg = colors.scheme.surface2, - }, - c = { - bg = colors.scheme.crust, - }, - }, - visual = { - a = { - fg = colors.scheme.mantle, - bg = colors.mode.v, - }, - }, - insert = { - a = { - fg = colors.scheme.mantle, - bg = colors.mode.i, - }, - }, - }, + theme = "catppuccin", + -- theme = { + -- -- We are going to use lualine_c an lualine_x as left and + -- -- right section. Both are highlighted by c theme . So we + -- -- are just setting default looks o statusline + -- -- normal = { c = { fg = colors.mantle, bg = colors.mantle } }, + -- -- visual = { c = { fg = colors.mantle, bg = colors.mauve } }, + -- -- normal = { c = { fg = colors.mantle, bg = colors.sapphire } }, + -- inactive = { c = { fg = colors.mantle, bg = colors.mantle } }, + -- normal = { + -- a = { + -- fg = colors.scheme.mantle, + -- bg = colors.mode.n, + -- }, + -- b = { + -- bg = colors.scheme.surface2, + -- }, + -- c = { + -- bg = colors.scheme.crust, + -- }, + -- }, + -- visual = { + -- a = { + -- fg = colors.scheme.mantle, + -- bg = colors.mode.v, + -- }, + -- }, + -- insert = { + -- a = { + -- fg = colors.scheme.mantle, + -- bg = colors.mode.i, + -- }, + -- }, + -- }, }, sections = { -- these are to remove the defaults diff --git a/tools/wezterm/appearance.lua b/tools/wezterm/appearance.lua index 318f1bc..87d43fa 100644 --- a/tools/wezterm/appearance.lua +++ b/tools/wezterm/appearance.lua @@ -2,12 +2,32 @@ local wezterm = require("wezterm") local os_type = require("utils").detected_os local color = require("color") +-- https://wezterm.org/config/lua/wezterm.gui/get_appearance.html +-- wezterm.gui is not available to the mux server, so take care to +-- do something reasonable when this config is evaluated by the mux +local function get_appearance() + if wezterm.gui then + return wezterm.gui.get_appearance() + end + return "Dark" +end + +local function scheme_for_appearance(appearance) + if appearance:find("Dark") then + print("Dark") + return "Catppuccin Mocha" + else + print("Light") + return "Catppuccin Latte" + end +end + return function(config) config.max_fps = 120 config.font = wezterm.font({ family = "JetBrainsMono Nerd Font", }) - config.color_scheme = "Catppuccin Mocha" + config.color_scheme = scheme_for_appearance(get_appearance()) config.font_size = 12.0 config.front_end = "WebGpu" config.webgpu_power_preference = "HighPerformance"