diff --git a/.gitignore b/.gitignore index 523b710..ecf1457 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ *.backup.* *.backup[0-9]* +# 日志文件 +*.log + # fcitx5 运行时缓存 fcitx5/conf/cached_layouts diff --git a/DankMaterialShell/firefox.css b/DankMaterialShell/firefox.css index 9b8ff85..04625d3 100644 --- a/DankMaterialShell/firefox.css +++ b/DankMaterialShell/firefox.css @@ -1,54 +1,54 @@ @media -moz-pref("userChrome.theme-material") { :root { - --md-sys-color-primary: #1976d2; - --md-sys-color-surface-tint: #1976d2; + --md-sys-color-primary: #34618e; + --md-sys-color-surface-tint: #34618e; --md-sys-color-on-primary: #ffffff; - --md-sys-color-primary-container: #e3f2fd; - --md-sys-color-on-primary-container: #181c20; - --md-sys-color-secondary: #42a5f5; + --md-sys-color-primary-container: #d1e4ff; + --md-sys-color-on-primary-container: #001d35; + --md-sys-color-secondary: #535f70; --md-sys-color-on-secondary: #ffffff; - --md-sys-color-secondary-container: #e6e8ee; - --md-sys-color-on-secondary-container: #181c20; - --md-sys-color-tertiary: #42a5f5; + --md-sys-color-secondary-container: #d6e4f7; + --md-sys-color-on-secondary-container: #0f1c2b; + --md-sys-color-tertiary: #6a5779; --md-sys-color-on-tertiary: #ffffff; - --md-sys-color-tertiary-container: #e6e8ee; - --md-sys-color-on-tertiary-container: #181c20; - --md-sys-color-error: #b3261e; + --md-sys-color-tertiary-container: #f1daff; + --md-sys-color-on-tertiary-container: #241432; + --md-sys-color-error: #ba1a1a; --md-sys-color-on-error: #ffffff; - --md-sys-color-error-container: #f9dedc; - --md-sys-color-on-error-container: #410e0b; - --md-sys-color-background: #f7f9ff; - --md-sys-color-on-background: #181c20; - --md-sys-color-surface: #f7f9ff; - --md-sys-color-on-surface: #181c20; - --md-sys-color-surface-variant: #dee3eb; + --md-sys-color-error-container: #ffdad6; + --md-sys-color-on-error-container: #410002; + --md-sys-color-background: #f8f9ff; + --md-sys-color-on-background: #191c20; + --md-sys-color-surface: #f8f9ff; + --md-sys-color-on-surface: #191c20; + --md-sys-color-surface-variant: #dfe3eb; --md-sys-color-on-surface-variant: #42474e; - --md-sys-color-outline: #72777f; - --md-sys-color-outline-variant: #dee3eb; + --md-sys-color-outline: #73777f; + --md-sys-color-outline-variant: #c3c7cf; --md-sys-color-shadow: #000000; --md-sys-color-scrim: #000000; - --md-sys-color-inverse-surface: #101418; - --md-sys-color-inverse-on-surface: #e0e2e8; - --md-sys-color-inverse-primary: #42a5f5; - --md-sys-color-primary-fixed: #e3f2fd; - --md-sys-color-on-primary-fixed: #ffffff; - --md-sys-color-primary-fixed-dim: #1976d2; - --md-sys-color-on-primary-fixed-variant: #ffffff; - --md-sys-color-secondary-fixed: #42a5f5; - --md-sys-color-on-secondary-fixed: #ffffff; - --md-sys-color-secondary-fixed-dim: #42a5f5; - --md-sys-color-on-secondary-fixed-variant: #ffffff; - --md-sys-color-tertiary-fixed: #42a5f5; - --md-sys-color-on-tertiary-fixed: #ffffff; - --md-sys-color-tertiary-fixed-dim: #42a5f5; - --md-sys-color-on-tertiary-fixed-variant: #ffffff; - --md-sys-color-surface-dim: #eceef4; - --md-sys-color-surface-bright: #f7f9ff; - --md-sys-color-surface-container-lowest: #f7f9ff; - --md-sys-color-surface-container-low: #f7f9ff; - --md-sys-color-surface-container: #f7f9ff; - --md-sys-color-surface-container-high: #f7f9ff; - --md-sys-color-surface-container-highest: #f7f9ff; + --md-sys-color-inverse-surface: #2e3135; + --md-sys-color-inverse-on-surface: #eff0f7; + --md-sys-color-inverse-primary: #9fcafc; + --md-sys-color-primary-fixed: #d1e4ff; + --md-sys-color-on-primary-fixed: #001d35; + --md-sys-color-primary-fixed-dim: #9fcafc; + --md-sys-color-on-primary-fixed-variant: #174974; + --md-sys-color-secondary-fixed: #d6e4f7; + --md-sys-color-on-secondary-fixed: #0f1c2b; + --md-sys-color-secondary-fixed-dim: #bac8db; + --md-sys-color-on-secondary-fixed-variant: #3b4858; + --md-sys-color-tertiary-fixed: #f1daff; + --md-sys-color-on-tertiary-fixed: #241432; + --md-sys-color-tertiary-fixed-dim: #d6bee5; + --md-sys-color-on-tertiary-fixed-variant: #524060; + --md-sys-color-surface-dim: #d8dae0; + --md-sys-color-surface-bright: #f8f9ff; + --md-sys-color-surface-container-lowest: #ffffff; + --md-sys-color-surface-container-low: #f2f3f9; + --md-sys-color-surface-container: #f8f9ff; + --md-sys-color-surface-container-high: #f8f9ff; + --md-sys-color-surface-container-highest: #f8f9ff; --m3-radius: 12px; --m3-radius-sm: 10px; @@ -68,52 +68,52 @@ @media (prefers-color-scheme: dark) { :root { - --md-sys-color-primary: #42a5f5; - --md-sys-color-surface-tint: #42a5f5; - --md-sys-color-on-primary: #000000; - --md-sys-color-primary-container: #0d47a1; - --md-sys-color-on-primary-container: #e0e2e8; - --md-sys-color-secondary: #8ab4f8; - --md-sys-color-on-secondary: #000000; - --md-sys-color-secondary-container: #272a2f; - --md-sys-color-on-secondary-container: #e0e2e8; - --md-sys-color-tertiary: #8ab4f8; - --md-sys-color-on-tertiary: #000000; - --md-sys-color-tertiary-container: #272a2f; - --md-sys-color-on-tertiary-container: #e0e2e8; - --md-sys-color-error: #f2b8b5; - --md-sys-color-on-error: #601410; - --md-sys-color-error-container: #8c1d18; - --md-sys-color-on-error-container: #f9dedc; + --md-sys-color-primary: #9fcafc; + --md-sys-color-surface-tint: #9fcafc; + --md-sys-color-on-primary: #003257; + --md-sys-color-primary-container: #174974; + --md-sys-color-on-primary-container: #d1e4ff; + --md-sys-color-secondary: #bac8db; + --md-sys-color-on-secondary: #253140; + --md-sys-color-secondary-container: #3b4858; + --md-sys-color-on-secondary-container: #d6e4f7; + --md-sys-color-tertiary: #d6bee5; + --md-sys-color-on-tertiary: #3a2948; + --md-sys-color-tertiary-container: #524060; + --md-sys-color-on-tertiary-container: #f1daff; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; --md-sys-color-background: #101418; - --md-sys-color-on-background: #e0e2e8; + --md-sys-color-on-background: #e1e2e8; --md-sys-color-surface: #101418; - --md-sys-color-on-surface: #e0e2e8; + --md-sys-color-on-surface: #e1e2e8; --md-sys-color-surface-variant: #42474e; - --md-sys-color-on-surface-variant: #c2c7cf; + --md-sys-color-on-surface-variant: #c3c7cf; --md-sys-color-outline: #8c9199; --md-sys-color-outline-variant: #42474e; --md-sys-color-shadow: #000000; --md-sys-color-scrim: #000000; - --md-sys-color-inverse-surface: #f7f9ff; - --md-sys-color-inverse-on-surface: #181c20; - --md-sys-color-inverse-primary: #1976d2; - --md-sys-color-primary-fixed: #0d47a1; - --md-sys-color-on-primary-fixed: #000000; - --md-sys-color-primary-fixed-dim: #42a5f5; - --md-sys-color-on-primary-fixed-variant: #000000; - --md-sys-color-secondary-fixed: #8ab4f8; - --md-sys-color-on-secondary-fixed: #000000; - --md-sys-color-secondary-fixed-dim: #8ab4f8; - --md-sys-color-on-secondary-fixed-variant: #000000; - --md-sys-color-tertiary-fixed: #8ab4f8; - --md-sys-color-on-tertiary-fixed: #000000; - --md-sys-color-tertiary-fixed-dim: #8ab4f8; - --md-sys-color-on-tertiary-fixed-variant: #000000; + --md-sys-color-inverse-surface: #e1e2e8; + --md-sys-color-inverse-on-surface: #2e3135; + --md-sys-color-inverse-primary: #34618e; + --md-sys-color-primary-fixed: #d1e4ff; + --md-sys-color-on-primary-fixed: #001d35; + --md-sys-color-primary-fixed-dim: #9fcafc; + --md-sys-color-on-primary-fixed-variant: #174974; + --md-sys-color-secondary-fixed: #d6e4f7; + --md-sys-color-on-secondary-fixed: #0f1c2b; + --md-sys-color-secondary-fixed-dim: #bac8db; + --md-sys-color-on-secondary-fixed-variant: #3b4858; + --md-sys-color-tertiary-fixed: #f1daff; + --md-sys-color-on-tertiary-fixed: #241432; + --md-sys-color-tertiary-fixed-dim: #d6bee5; + --md-sys-color-on-tertiary-fixed-variant: #524060; --md-sys-color-surface-dim: #101418; - --md-sys-color-surface-bright: #32353a; - --md-sys-color-surface-container-lowest: #101418; - --md-sys-color-surface-container-low: #101418; + --md-sys-color-surface-bright: #36393e; + --md-sys-color-surface-container-lowest: #0b0e13; + --md-sys-color-surface-container-low: #191c20; --md-sys-color-surface-container: #1d2024; --md-sys-color-surface-container-high: #272a2f; --md-sys-color-surface-container-highest: #32353a; diff --git a/DankMaterialShell/settings.json b/DankMaterialShell/settings.json index 8cd6cd3..e137bb5 100644 --- a/DankMaterialShell/settings.json +++ b/DankMaterialShell/settings.json @@ -240,7 +240,7 @@ "dankLauncherV2UnloadOnClose": true, "useAutoLocation": true, "weatherEnabled": true, - "networkPreference": "auto", + "networkPreference": "wifi", "iconTheme": "System Default", "cursorSettings": { "theme": "breeze_cursors", @@ -338,7 +338,7 @@ "dockAutoHide": false, "dockSmartAutoHide": true, "dockGroupByApp": false, - "dockOpenOnOverview": true, + "dockOpenOnOverview": false, "dockPosition": 1, "dockSpacing": 4, "dockBottomGap": 0, @@ -510,7 +510,7 @@ "spacing": 4, "innerPadding": -2, "bottomGap": 0, - "transparency": 1, + "transparency": 0.76, "widgetTransparency": 1, "squareCorners": false, "noBackground": false, diff --git a/fcitx5/conf/chttrans.conf b/fcitx5/conf/chttrans.conf new file mode 100644 index 0000000..04476ad --- /dev/null +++ b/fcitx5/conf/chttrans.conf @@ -0,0 +1,12 @@ +# 转换引擎 +Engine=OpenCC +# 启用的输入法 +EnabledIM= +# 简转繁的 OpenCC 配置 +OpenCCS2TProfile=default +# 繁转简的 OpenCC 配置 +OpenCCT2SProfile=default + +[Hotkey] +0=Control+Shift+F + diff --git a/fcitx5/conf/pinyin.conf b/fcitx5/conf/pinyin.conf new file mode 100644 index 0000000..14689df --- /dev/null +++ b/fcitx5/conf/pinyin.conf @@ -0,0 +1,153 @@ +# 双拼方案 +ShuangpinProfile=Ziranma +# 显示当前双拼模式 +ShowShuangpinMode=True +# 每页候选词 +PageSize=7 +# 显示英文候选词 +SpellEnabled=True +# 显示符号候选词 +SymbolsEnabled=True +# 显示拆字候选词 +ChaiziEnabled=True +# 启用 Unicode CJK 拓展区 B 之后的更多字符 +ExtBEnabled=True +# 输入 h(横),s(竖),p(撇),n(捺),z(折) 时显示笔画候选词 +StrokeCandidateEnabled=True +# 启用云拼音 +CloudPinyinEnabled=False +# 云拼音候选词顺序 +CloudPinyinIndex=2 +# 加载云拼音的时候显示动画 +CloudPinyinAnimation=True +# 总是显示云拼音的占位符 +KeepCloudPinyinPlaceHolder=False +# 预编辑模式 +PreeditMode="Composing pinyin" +# 将嵌入预编辑文本的光标固定在开头 +PreeditCursorPositionAtBeginning=True +# 在预编辑中显示完整拼音 +PinyinInPreedit=False +# 启用预测 +Prediction=False +# 为下次输入预测保留当前输入的文本 +KeepCurrentContext=True +# 预测数量 +PredictionSize=49 +# 预测时退格键的行为 +BackspaceBehaviorOnPrediction="Backspace when not using on-screen keyboard" +# 切换输入法时的行为 +SwitchInputMethodBehavior="Commit current preedit" +# 选择第二个候选词 +SecondCandidate= +# 选择第三个候选词 +ThirdCandidate= +# 使用数字键盘选词 +UseKeypadAsSelection=False +# 选词末字 +ChooseLastCharFromPhrase=bracketright +# 使用退格键取消选词 +BackSpaceToUnselect=True +# 句子数量 +Number of sentence=2 +# 词组候选词数 +WordCandidateLimit=15 +# 输入长于...时提示长词 (设置为 0 时禁用) +LongWordLengthLimit=4 +# 快速输入的触发键 +QuickPhraseKey=semicolon +# 使用 V 来触发快速输入 +VAsQuickphrase=True +# FirstRun +FirstRun=False + +[ForgetWord] +0=Control+7 + +[PrevPage] +0=minus +1=Up +2=KP_Up +3=Page_Up + +[NextPage] +0=equal +1=Down +2=KP_Down +3=Next + +[PrevCandidate] +0=Shift+Tab + +[NextCandidate] +0=Tab + +[CurrentCandidate] +0=space +1=KP_Space + +[CommitRawInput] +0=Return +1=KP_Enter +2=Control+Return +3=Control+KP_Enter +4=Shift+Return +5=Shift+KP_Enter +6=Control+Shift+Return +7=Control+Shift+KP_Enter + +[ChooseCharFromPhrase] +0=bracketleft + +[FilterByStroke] +0=grave + +[QuickPhraseTriggerRegex] +0=.(/|@)$ +1="^(www|bbs|forum|mail|bbs)\\." +2=^(http|https|ftp|telnet|mailto): + +[Fuzzy] +# ue -> ve +VE_UE=True +# 常见错误 +NG_GN=True +# 小写时匹配字母 +LowerCaseMatchLetter=True +# 内模糊音节 (xian -> xi'an) +Inner=True +# 短拼音的内模糊音节 (qie -> qi'e) +InnerShort=True +# 匹配不完整的元音 (e -> en, eng, ei) +PartialFinal=True +# 输入长度大于 4 时进行部分双拼匹配 +PartialSp=False +# u <-> v +V_U=False +# an <-> ang +AN_ANG=False +# en <-> eng +EN_ENG=False +# ian <-> iang +IAN_IANG=False +# in <-> ing +IN_ING=False +# u <-> ou +U_OU=False +# uan <-> uang +UAN_UANG=False +# c <-> ch +C_CH=False +# f <-> h +F_H=False +# l <-> n +L_N=False +# l <-> r +L_R=False +# s <-> sh +S_SH=False +# z <-> zh +Z_ZH=False +# 纠错布局 +Correction=None + diff --git a/fcitx5/conf/punctuation.conf b/fcitx5/conf/punctuation.conf new file mode 100644 index 0000000..3da1c4c --- /dev/null +++ b/fcitx5/conf/punctuation.conf @@ -0,0 +1,10 @@ +# 字母或者数字之后输入半角标点 +HalfWidthPuncAfterLetterOrNumber=True +# 同时输入成对标点 (例如引号) +TypePairedPunctuationsTogether=False +# Enabled +Enabled=True + +[Hotkey] +0=Control+period + diff --git a/fcitx5/config b/fcitx5/config index 487d932..8ad99d9 100644 --- a/fcitx5/config +++ b/fcitx5/config @@ -1,13 +1,13 @@ [Hotkey] -# Enumerate when holding modifier of Toggle key +# 按住切换键的修饰键时进行轮换切换 EnumerateWithTriggerKeys=True -# Enumerate Input Method Forward +# 向前切换输入法 EnumerateForwardKeys= -# Enumerate Input Method Backward +# 向后切换输入法 EnumerateBackwardKeys= -# Skip first input method while enumerating +# 轮换输入法时跳过第一个输入法 EnumerateSkipFirst=False -# Time limit in milliseconds for triggering modifier key shortcuts +# 触发修饰键快捷键的时限 (毫秒) ModifierOnlyKeyTimeout=250 [Hotkey/TriggerKeys] @@ -46,27 +46,27 @@ ModifierOnlyKeyTimeout=250 0=Control+Alt+P [Behavior] -# Activate input method by default +# 默认激活输入法 ActiveByDefault=False -# Reset state on Focus In +# 重新聚焦时重置状态 resetStateWhenFocusIn=No -# Share Input State +# 共享输入状态 ShareInputState=No -# Show preedit in application +# 在程序中显示预编辑文本 PreeditEnabledByDefault=True -# Show Input Method Information when switch input method +# 切换输入法时显示输入法信息 ShowInputMethodInformation=True -# Show Input Method Information when changing focus +# 在焦点更改时显示输入法信息 showInputMethodInformationWhenFocusIn=False -# Show compact input method information +# 显示紧凑的输入法信息 CompactInputMethodInformation=True -# Show first input method information +# 显示第一个输入法的信息 ShowFirstInputMethodInformation=True -# Default Candidates per page +# 缺省每页候选词 DefaultPageSize=5 -# Override XKB Option +# 覆盖 XKB 选项 OverrideXkbOption=False -# Custom XKB Option +# 自定义 XKB 选项 CustomXkbOption= # Force Enabled Addons EnabledAddons= @@ -74,10 +74,10 @@ EnabledAddons= DisabledAddons= # Preload input method to be used by default PreloadInputMethod=True -# Allow input method in the password field +# 允许在密码框中使用输入法 AllowInputMethodForPassword=False -# Show preedit text when typing password +# 输入密码时显示预编辑文本 ShowPreeditForPassword=False -# Interval of saving user data in minutes +# 保存用户数据的时间间隔(以分钟为单位) AutoSavePeriod=30 diff --git a/fcitx5/profile b/fcitx5/profile index d28185b..5332575 100644 --- a/fcitx5/profile +++ b/fcitx5/profile @@ -4,7 +4,7 @@ Name=Default # Layout Default Layout=us # Default Input Method -DefaultIM=rime +DefaultIM=pinyin [Groups/0/Items/0] # Name @@ -14,7 +14,7 @@ Layout= [Groups/0/Items/1] # Name -Name=rime +Name=pinyin # Layout Layout= diff --git a/gtk-3.0/dank-colors.css b/gtk-3.0/dank-colors.css index cd73b65..c6e611d 100644 --- a/gtk-3.0/dank-colors.css +++ b/gtk-3.0/dank-colors.css @@ -6,36 +6,36 @@ /* via thairanaru on GitHub: */ /* Destructive colors are basically error colors */ -@define-color destructive_bg_color #f2b8b5; -@define-color destructive_fg_color #601410; +@define-color destructive_bg_color #ffb4ab; +@define-color destructive_fg_color #690005; /* Follow material spec */ -@define-color error_bg_color #f2b8b5; -@define-color error_fg_color #601410; +@define-color error_bg_color #ffb4ab; +@define-color error_fg_color #690005; /* Follow material spec (also I think looks nicer) */ -@define-color accent_fg_color #000000; -@define-color accent_bg_color #42a5f5; +@define-color accent_fg_color #003257; +@define-color accent_bg_color #9fcafc; /* Use surface instead of background */ @define-color window_bg_color #101418; -@define-color window_fg_color #e0e2e8; +@define-color window_fg_color #e1e2e8; /* Make it more similar to Adwaita */ @define-color view_bg_color #101418; -@define-color view_fg_color #e0e2e8; +@define-color view_fg_color #e1e2e8; @define-color headerbar_bg_color #101418; -@define-color headerbar_fg_color #e0e2e8; +@define-color headerbar_fg_color #e1e2e8; @define-color sidebar_bg_color #1d2024; -@define-color sidebar_fg_color #e0e2e8; +@define-color sidebar_fg_color #e1e2e8; /* There is only like one application I know that uses this, and there isn't a good way to get a color between surface and surface container so I think just giving this surface is a good enough fallback*/ @define-color secondary_sidebar_bg_color #101418; -@define-color secondary_sidebar_fg_color #e0e2e8; +@define-color secondary_sidebar_fg_color #e1e2e8; @define-color card_bg_color #1d2024; -@define-color card_fg_color #e0e2e8; +@define-color card_fg_color #e1e2e8; @define-color overview_bg_color #1d2024; -@define-color overview_fg_color #e0e2e8; +@define-color overview_fg_color #e1e2e8; @define-color popover_bg_color #1d2024; -@define-color popover_fg_color #e0e2e8; +@define-color popover_fg_color #e1e2e8; @define-color dialog_bg_color #101418; -@define-color dialog_fg_color #e0e2e8; +@define-color dialog_fg_color #e1e2e8; /* Backdrop/unfocused states - prevents white flash on window unfocus */ @define-color headerbar_backdrop_color @window_bg_color; diff --git a/gtk-4.0/dank-colors.css b/gtk-4.0/dank-colors.css index cd73b65..c6e611d 100644 --- a/gtk-4.0/dank-colors.css +++ b/gtk-4.0/dank-colors.css @@ -6,36 +6,36 @@ /* via thairanaru on GitHub: */ /* Destructive colors are basically error colors */ -@define-color destructive_bg_color #f2b8b5; -@define-color destructive_fg_color #601410; +@define-color destructive_bg_color #ffb4ab; +@define-color destructive_fg_color #690005; /* Follow material spec */ -@define-color error_bg_color #f2b8b5; -@define-color error_fg_color #601410; +@define-color error_bg_color #ffb4ab; +@define-color error_fg_color #690005; /* Follow material spec (also I think looks nicer) */ -@define-color accent_fg_color #000000; -@define-color accent_bg_color #42a5f5; +@define-color accent_fg_color #003257; +@define-color accent_bg_color #9fcafc; /* Use surface instead of background */ @define-color window_bg_color #101418; -@define-color window_fg_color #e0e2e8; +@define-color window_fg_color #e1e2e8; /* Make it more similar to Adwaita */ @define-color view_bg_color #101418; -@define-color view_fg_color #e0e2e8; +@define-color view_fg_color #e1e2e8; @define-color headerbar_bg_color #101418; -@define-color headerbar_fg_color #e0e2e8; +@define-color headerbar_fg_color #e1e2e8; @define-color sidebar_bg_color #1d2024; -@define-color sidebar_fg_color #e0e2e8; +@define-color sidebar_fg_color #e1e2e8; /* There is only like one application I know that uses this, and there isn't a good way to get a color between surface and surface container so I think just giving this surface is a good enough fallback*/ @define-color secondary_sidebar_bg_color #101418; -@define-color secondary_sidebar_fg_color #e0e2e8; +@define-color secondary_sidebar_fg_color #e1e2e8; @define-color card_bg_color #1d2024; -@define-color card_fg_color #e0e2e8; +@define-color card_fg_color #e1e2e8; @define-color overview_bg_color #1d2024; -@define-color overview_fg_color #e0e2e8; +@define-color overview_fg_color #e1e2e8; @define-color popover_bg_color #1d2024; -@define-color popover_fg_color #e0e2e8; +@define-color popover_fg_color #e1e2e8; @define-color dialog_bg_color #101418; -@define-color dialog_fg_color #e0e2e8; +@define-color dialog_fg_color #e1e2e8; /* Backdrop/unfocused states - prevents white flash on window unfocus */ @define-color headerbar_backdrop_color @window_bg_color; diff --git a/kitty/dank-tabs.conf b/kitty/dank-tabs.conf index aed9002..9d55bc0 100644 --- a/kitty/dank-tabs.conf +++ b/kitty/dank-tabs.conf @@ -9,11 +9,11 @@ tab_bar_margin_color #101418 tab_bar_background #101418 -active_tab_foreground #000000 -active_tab_background #42a5f5 +active_tab_foreground #003257 +active_tab_background #9fcafc active_tab_font_style bold -inactive_tab_foreground #c2c7cf +inactive_tab_foreground #c3c7cf inactive_tab_background #101418 inactive_tab_font_style normal diff --git a/kitty/dank-theme.conf b/kitty/dank-theme.conf index 4a4212f..c0ce07d 100644 --- a/kitty/dank-theme.conf +++ b/kitty/dank-theme.conf @@ -1,25 +1,25 @@ -cursor #e0e2e8 -cursor_text_color #c2c7cf +cursor #e1e2e8 +cursor_text_color #c3c7cf -foreground #e0e2e8 +foreground #e1e2e8 background #101418 -selection_foreground #000000 -selection_background #8ab4f8 -url_color #42a5f5 +selection_foreground #253140 +selection_background #bac8db +url_color #9fcafc color0 #101418 -color1 #ff3270 -color2 #42f558 -color3 #fff332 -color4 #1c8de8 -color5 #003e71 -color6 #42a5f5 -color7 #e8f4ff -color8 #8d979f -color9 #ff739e -color10 #7cff8d -color11 #fff77c -color12 #60b8ff -color13 #7cc4ff -color14 #abd9ff -color15 #f5faff +color1 #ff729c +color2 #7efc8f +color3 #fff772 +color4 #85b6ef +color5 #254a74 +color6 #9fcafc +color7 #eff6ff +color8 #979da3 +color9 #ff9fbb +color10 #a5ffb1 +color11 #fffaa5 +color12 #afd3ff +color13 #bddbff +color14 #d4e8ff +color15 #f8fbff diff --git a/niri/dms/colors.kdl b/niri/dms/colors.kdl index 7e6101c..da63544 100644 --- a/niri/dms/colors.kdl +++ b/niri/dms/colors.kdl @@ -5,15 +5,15 @@ layout { background-color "transparent" focus-ring { - active-color "#42a5f5" + active-color "#9fcafc" inactive-color "#8c9199" - urgent-color "#f2b8b5" + urgent-color "#ffb4ab" } border { - active-color "#42a5f5" + active-color "#9fcafc" inactive-color "#8c9199" - urgent-color "#f2b8b5" + urgent-color "#ffb4ab" } shadow { @@ -21,19 +21,19 @@ layout { } tab-indicator { - active-color "#42a5f5" + active-color "#9fcafc" inactive-color "#8c9199" - urgent-color "#f2b8b5" + urgent-color "#ffb4ab" } insert-hint { - color "#42a5f580" + color "#9fcafc80" } } recent-windows { highlight { - active-color "#0d47a1" - urgent-color "#f2b8b5" + active-color "#174974" + urgent-color "#ffb4ab" } } diff --git a/nvim/lua/plugins/completion.lua b/nvim/lua/plugins/completion.lua index 2a439b5..9ed4570 100644 --- a/nvim/lua/plugins/completion.lua +++ b/nvim/lua/plugins/completion.lua @@ -6,7 +6,7 @@ return { { "saghen/blink.cmp", version = "*", - event = { "InsertEnter", "CmdlineEnter" }, + lazy = false, -- 立即加载,确保 LSP capabilities 可用 opts = { keymap = { preset = "super-tab", diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 499eff1..dd146b1 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -16,10 +16,11 @@ return { dependencies = { "williamboman/mason.nvim" }, opts = { ensure_installed = { - "lua_ls", -- Lua - "bashls", -- Bash - "clangd", -- C/C++ - "neocmake", -- CMake + "lua_ls", -- Lua + "bashls", -- Bash + "clangd", -- C/C++ + "neocmake", -- CMake + -- rust_analyzer 由 rustup 管理,不通过 Mason }, }, }, @@ -34,6 +35,8 @@ return { "saghen/blink.cmp", }, config = function() + local caps = require("blink.cmp").get_lsp_capabilities() + -- LSP 附加时自动开启 inlay hints vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) @@ -54,47 +57,84 @@ return { end, }) - local caps = require("blink.cmp").get_lsp_capabilities() - -- Lua - vim.lsp.config("lua_ls", { - cmd = { "lua-language-server" }, + vim.lsp.config['lua_ls'] = { + cmd = { 'lua-language-server' }, + filetypes = { 'lua' }, + root_markers = { '.luarc.json', '.luarc.jsonc', '.git', 'init.lua' }, capabilities = caps, settings = { Lua = { - runtime = { version = "Lua5.5" }, + runtime = { version = "LuaJIT" }, workspace = { checkThirdParty = false }, diagnostics = { globals = { "vim" } }, }, }, - }) + } -- Bash - vim.lsp.config("bashls", { - cmd = { "bash-language-server", "start" }, + vim.lsp.config['bashls'] = { + cmd = { 'bash-language-server', 'start' }, + filetypes = { 'sh', 'bash' }, + root_markers = { '.git' }, capabilities = caps, - }) + } -- C/C++ (clangd) - vim.lsp.config("clangd", { - cmd = { "clangd" }, + vim.lsp.config['clangd'] = { + cmd = { 'clangd' }, + filetypes = { 'c', 'cpp', 'objc', 'objcpp' }, + root_markers = { '.clangd', 'compile_commands.json', '.git' }, capabilities = caps, - }) + } -- CMake - vim.lsp.config("neocmake", { - cmd = { "neocmakelsp", "stdio" }, - filetypes = { "cmake" }, - root_dir = vim.fs.root(0, { ".git", "CMakeLists.txt" }), - single_file_support = true, + vim.lsp.config['neocmake'] = { + cmd = { 'neocmakelsp', 'stdio' }, + filetypes = { 'cmake' }, + root_markers = { 'CMakeLists.txt', '.git' }, + capabilities = caps, init_options = { format = { enable = true }, lint = { enable = true }, }, - }) + } - -- 启用所有 LSP(Rust 由 rustaceanvim 管理,不在此启用) - vim.lsp.enable({ "lua_ls", "bashls", "clangd", "neocmake" }) + -- Rust (rust-analyzer) + vim.lsp.config['rust_analyzer'] = { + cmd = { 'rust-analyzer' }, -- 使用 rustup 的版本,更稳定 + filetypes = { 'rust' }, + root_markers = { 'Cargo.toml', '.git' }, + capabilities = caps, + settings = { + ["rust-analyzer"] = { + cargo = { + allFeatures = true, + loadOutDirsFromCheck = true, + buildScripts = { + enable = true, + }, + }, + checkOnSave = true, + diagnostics = { + enable = true, + }, + procMacro = { + enable = true, + }, + files = { + exclude = { + ".direnv", ".git", ".jj", ".github", ".gitlab", + "bin", "node_modules", "target", "venv", ".venv", + }, + watcher = "client", + }, + }, + }, + } + + -- 启用所有 LSP + vim.lsp.enable({ 'lua_ls', 'bashls', 'clangd', 'neocmake', 'rust_analyzer' }) end, }, } diff --git a/nvim/lua/plugins/rustaceanvim.lua b/nvim/lua/plugins/rustaceanvim.lua index 3d4e552..27a3de5 100644 --- a/nvim/lua/plugins/rustaceanvim.lua +++ b/nvim/lua/plugins/rustaceanvim.lua @@ -1,35 +1,5 @@ -- ============================================================================ --- Rust 工具 (rustaceanvim) --- Rust 全流程:LSP、调试、运行、测试、宏展开 +-- Rust 工具(通过 Mason + nvim-lspconfig 管理) -- ============================================================================ -return { - { - "mrcjkb/rustaceanvim", - version = "^6", - lazy = false, - ft = { "rust" }, - config = function() - vim.g.rustaceanvim = { - -- LSP 配置 - server = { - default_settings = { - ["rust-analyzer"] = { - cargo = { allFeatures = true }, - check = { command = "clippy" }, - }, - }, - }, - -- DAP 适配器(复用 Mason 安装的 codelldb) - dap = { - adapter = function() - local codelldb_path = vim.fn.stdpath("data") .. "/mason/bin/codelldb" - local library_path = vim.fn.stdpath("data") - .. "/mason/packages/codelldb/extension/lldb/lib/liblldb.so" - return require("rustaceanvim.config").get_codelldb_adapter(codelldb_path, library_path) - end, - }, - } - end, - }, -} +return {} diff --git a/nvim/lua/runner.lua b/nvim/lua/runner.lua index c7c2fdc..95bf071 100644 --- a/nvim/lua/runner.lua +++ b/nvim/lua/runner.lua @@ -24,7 +24,7 @@ function M.build() local project = M.detect() if project == "rust" then - vim.cmd("RustLsp runnables") + vim.cmd("terminal cargo build") elseif project == "cmake" then vim.cmd("CMakeBuild") elseif project == "go" then @@ -44,7 +44,7 @@ function M.run() local project = M.detect() if project == "rust" then - vim.cmd("RustLsp runnables") + vim.cmd("terminal cargo run") elseif project == "cmake" then vim.cmd("CMakeRun") elseif project == "go" then @@ -61,11 +61,10 @@ function M.debug() local project = M.detect() if project == "rust" then - vim.cmd("RustLsp debuggables") + require("dap").continue() elseif project == "cmake" then vim.cmd("CMakeDebug") else - -- 通用 DAP 启动 require("dap").continue() end end @@ -75,7 +74,7 @@ function M.test() local project = M.detect() if project == "rust" then - vim.cmd("RustLsp testables") + vim.cmd("terminal cargo test") elseif project == "cmake" then vim.cmd("CMakeBuild") vim.cmd("terminal ctest --test-dir build")