专为 Coder 设计的 Win 系统美化、优化教程
何为专为?
-
实用性、效率性 > 盲目地美观性
-
稳定性,高度修改系统文件、设定的排除
-
易用性,迁移简单,配置简单
简而言之:追求美化、优化的同时兼具稳定性,拒绝又是魔改文件管理器又是改开机 Logo 花里胡哨,拒绝副作用拥抱纯!
注意事项
-
高度个人化偏好,自行择优选择
-
涉及到的安装命令、配置文件仅供参考,注意时效性
起步工作
隐藏任务栏
瞬间提升你的系统逼格,不再巨硬化。
隐藏或整理桌面图标
能没有文件夹、快捷方式就最好不要有,瞬间让你的桌面变得清爽干净。打开应用?搜索栏、开始菜单啊!
字体准备
主要是为后续的代码编辑器、IDE、终端准备,推荐几款:
-
FiraCode Nerd Font:完美的连线体,适合编辑器字体 -
JetBrainsMono Nerd Font:经典款 -
Monaspace Radon NF:美感与易读性完美平衡,适合终端字体
纯美化向
透明任务栏
在 Microsoft Store 下载 TranslucentTB。
动态壁纸
Steam 上购买并下载 Wallpaper,之后挑选心仪的壁纸。
一般地,由于耗费 GPU,故对于笔记本用户不建议在电池模式下使用。
终端美化其一
安装 Windows Terminal,并配置毛玻璃、透明度、字体、隐藏 Bar 等。参考:
{
"$help": "https://aka.ms/terminal-documentation",
"$schema": "https://aka.ms/terminal-profiles-schema",
"actions": [
{
"command": {
"action": "closeTab"
},
"id": "User.closeTab.0"
}
],
"keybindings": [
{
"id": "User.closeTab.0",
"keys": "ctrl+w"
}
],
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"centerOnLaunch": true,
"initialCols": 120,
"initialPosition": ",",
"initialRows": 30,
"useAcrylicInTabRow": true,
"warning.confirmCloseAllTabs": false,
"launchMode": "focus",
"newTabMenu": [
{
"type": "remainingProfiles"
}
],
"profiles": {
"defaults": {
"colorScheme": "One Half Dark",
"font": {
"face": "Monaspace Radon NF",
"size": 12
},
"opacity": 20,
"useAcrylic": true
},
"list": [
{
"commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"hidden": false,
"name": "Windows PowerShell"
},
{
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "Command Prompt",
"hidden": true
}
]
},
"schemes": [],
"themes": []
}
终端美化其二
安装 oh-my-posh:
winget install JanDeDobbeleer.OhMyPosh --source winget
找个风水好的位置克隆仓库:
git clone https://github.com/JanDeDobbeleer/oh-my-posh
之后可仅保留根目录的 themes 文件夹。
选好心仪的 主题,配置 $PROFILE,终端输入 code $PROFILE(即使用 VSCode 打开):
oh-my-posh init pwsh --config "你克隆的位置\themes\ys.omp.json" | Invoke-Expression
clear
桌面组件美化
高逼格的系统信息获取
安装 Fastfetch,挑选心仪的 presets。
效率向
窗口平铺工具
安装 GlazeWM:
winget install GlazeWM
配置文件 C:\Users\% username%\.glzr\glazewm\config.yaml:
general:
startup_commands: []
shutdown_commands: []
config_reload_commands: []
focus_follows_cursor: false
toggle_workspace_on_refocus: false
cursor_jump:
enabled: true
trigger: "monitor_focus"
hide_method: "hide"
show_all_in_taskbar: true
gaps:
sclale_with_dpi: true
inner_gap: "10px"
outer_gap:
top: "6px"
right: "6px"
bottom: "6px"
left: "6px"
window_effects:
focused_window:
border:
enabled: true
color: "#8dbcff"
hide_title_bar:
enabled: false
corner_style:
enabled: false
style: "square"
transparency:
enabled: false
opacity: "95%"
other_windows:
border:
enabled: true
color: "#a1a1a1"
hide_title_bar:
enabled: false
corner_style:
enabled: false
style: "square"
transparency:
enabled: false
opacity: "0%"
window_behavior:
initial_state: "tiling"
state_defaults:
floating:
centered: true
shown_on_top: false
fullscreen:
maximized: false
shown_on_top: false
workspaces:
- name: "1"
- name: "2"
- name: "3"
- name: "4"
- name: "5"
- name: "6"
- name: "7"
- name: "8"
- name: "9"
window_rules:
- commands: ["ignore"]
match:
- window_process: { equals: "zebar" }
- window_title: { regex: "[Pp]icture.in.[Pp]icture" }
window_class: { regex: "Chrome_WidgetWin_1|MozillaDialogClass" }
- window_process: { equals: "PowerToys" }
window_class: { regex: 'HwndWrapper\[PowerToys\.PowerAccent.*?\]' }
- window_process: { equals: "PowerToys" }
window_title: { regex: ".*? - Peek" }
- window_process: { equals: "Lively" }
window_class: { regex: "HwndWrapper" }
- window_process: { regex: "QQ|qq" }
binding_modes:
- name: "resize"
keybindings:
- commands: ["resize --width -2%"]
bindings: ["h", "left"]
- commands: ["resize --width +2%"]
bindings: ["l", "right"]
- commands: ["resize --height +2%"]
bindings: ["k", "up"]
- commands: ["resize --height -2%"]
bindings: ["j", "down"]
- commands: ["wm-disable-binding-mode --name resize"]
bindings: ["escape", "enter"]
keybindings:
- commands: ["focus --direction left"]
bindings: ["alt+h", "alt+left"]
- commands: ["focus --direction right"]
bindings: ["alt+l", "alt+right"]
- commands: ["focus --direction up"]
bindings: ["alt+k", "alt+up"]
- commands: ["focus --direction down"]
bindings: ["alt+j", "alt+down"]
- commands: ["move --direction left"]
bindings: ["alt+shift+h", "alt+shift+left"]
- commands: ["move --direction right"]
bindings: ["alt+shift+l", "alt+shift+right"]
- commands: ["move --direction up"]
bindings: ["alt+shift+k", "alt+shift+up"]
- commands: ["move --direction down"]
bindings: ["alt+shift+j", "alt+shift+down"]
- commands: ["resize --width -2%"]
bindings: ["alt+u"]
- commands: ["resize --width +2%"]
bindings: ["alt+p"]
- commands: ["resize --height +2%"]
bindings: ["alt+o"]
- commands: ["resize --height -2%"]
bindings: ["alt+i"]
- commands: ["wm-enable-binding-mode --name resize"]
bindings: ["alt+r"]
- commands: ["wm-toggle-pause"]
bindings: ["alt+shift+p"]
- commands: ["toggle-floating --centered"]
bindings: ["alt+shift+space"]
- commands: ["toggle-tiling"]
bindings: ["alt+t"]
- commands: ["toggle-fullscreen"]
bindings: ["alt+f"]
- commands: ["toggle-minimized"]
bindings: ["alt+m"]
- commands: ["close"]
bindings: ["alt+shift+q"]
- commands: ["wm-exit"]
bindings: ["alt+shift+e"]
- commands: ["wm-reload-config"]
bindings: ["alt+shift+r"]
- commands: ["wm-redraw"]
bindings: ["alt+shift+w"]
- commands: ["shell-exec powershell -nologo"]
bindings: ["alt+shift+enter"]
工具栏
安装 YASB:
winget install --id AmN.yasb
配置 C:\Users\% username%\.config\yasb:
watch_stylesheet: true
watch_config: true
debug: false
komorebi:
start_command: "komorebic start --whkd"
stop_command: "komorebic stop --whkd"
reload_command: "komorebic stop --whkd && komorebic start --whkd"
bars:
primary-bar:
enabled: true
screens: ["*"]
class_name: "yasb-bar"
alignment:
position: "top"
center: false
animation:
enabled: true
duration: 1000
blur_effect:
enabled: true
acrylic: true
dark_mode: false
round_corners: false
round_corners_type: "normal"
border_color: "System"
window_flags:
always_on_top: false
windows_app_bar: true
dimensions:
width: "100%"
height: 32
padding:
top: 6
left: 6
bottom: 0
right: 6
widgets:
left: [
"home",
"active_window",
"disk",
"cpu",
"memory"
]
center: [
"vscode",
"clock",
"pomodoro"
]
right:
[
"media",
"weather",
"microphone",
"volume",
"notifications",
"power_menu"
]
widgets:
glazewm_workspaces:
type: "glazewm.workspaces.GlazewmWorkspacesWidget"
options:
offline_label: "GlazeWM Offline"
hide_empty_workspaces: true
hide_if_offline: false
home:
type: "yasb.home.HomeWidget"
options:
label: "<span>\udb80\udf5c</span>"
menu_list:
- { title: "User Home", path: "~" }
system_menu: true
power_menu: true
blur: true
round_corners: true
round_corners_type: "normal"
border_color: ""
distance: 10
container_padding:
top: 0
left: 0
bottom: 0
right: 0
media:
type: "yasb.media.MediaWidget"
options:
label: "{title}"
label_alt: "{artist} - {title}"
max_field_size:
label: 24
label_alt: 24
show_thumbnail: true
controls_only: false
controls_left: true
hide_empty: true
thumbnail_alpha: 80
thumbnail_padding: 24
thumbnail_corner_radius: 0
thumbnail_edge_fade: true
icons:
prev_track: "\udb81\udcae"
next_track: "\udb81\udcad"
play: "\udb81\udc0a"
pause: "\udb80\udfe4"
active_window:
type: "yasb.active_window.ActiveWindowWidget"
options:
label: "{win[title]}"
label_alt: "{win[title]} - {win[process][name]}({win[hwnd]})"
label_no_window: ""
label_icon: true
label_icon_size: 14
max_length: 56
max_length_ellipsis: "..."
monitor_exclusive: true
container_padding:
top: 0
left: 0
bottom: 0
right: 0
clock:
type: "yasb.clock.ClockWidget"
options:
label: "{%a, %d %b %H:%M}"
label_alt: "{%A, %d %B %Y %H:%M}"
timezones: []
callbacks:
on_left: "toggle_label"
pomodoro:
type: "yasb.pomodoro.PomodoroWidget"
options:
label: "<span>\uf252</span> {remaining}"
label_alt: "<span>{icon}</span> {session}/{total_sessions} - {status}"
work_duration: 25
break_duration: 5
long_break_duration: 15
long_break_interval: 4
auto_start_breaks: true
auto_start_work: true
sound_notification: true
show_notification: true
hide_on_break: false
session_target: 8
icons:
work: "\uf252"
break: "\uf253"
paused: "\uf254"
container_padding:
top: 0
left: 12
bottom: 0
right: 12
menu:
blur: true
round_corners: true
round_corners_type: "normal"
border_color: "System"
alignment: "right"
direction: "down"
offset_top: 6
offset_left: 0
circle_background_color: "#09ffffff"
circle_work_progress_color: "#88c0d0"
circle_break_progress_color: "#a3be8c"
circle_thickness: 8
circle_size: 160
callbacks:
on_left: "toggle_menu"
on_middle: "reset_timer"
on_right: "toggle_label"
label_shadow:
enabled: true
color: "black"
radius: 3
offset: [1, 1]
weather:
type: "yasb.weather.WeatherWidget"
options:
label: "<span>{icon}</span> {temp}"
label_alt: "{location}: {conditions}, Min {min_temp}, Max {max_temp}, Humidity {humidity}"
api_key: "填入你的 Api key(https://www.weatherapi.com/)"
update_interval: 600
hide_decimal: true
location: "你的城市(拼音)"
callbacks:
on_left: "toggle_card"
weather_card:
blur: True
round_corners: True
round_corners_type: "normal"
border_color: "#45475a"
alignment: "right"
direction: "down"
distance: 6
icon_size: 48
volume:
type: "yasb.volume.VolumeWidget"
options:
label: "<span>{icon}</span> {level}"
label_alt: "{volume}"
tooltip: false
volume_icons:
- "\ueee8"
- "\uf026"
- "\uf027"
- "\uf027"
- "\uf028"
callbacks:
on_left: "toggle_mute"
on_middle: "do_nothing"
on_right: "exec cmd.exe /c start ms-settings:sound"
microphone:
type: "yasb.microphone.MicrophoneWidget"
options:
label: "<span>{icon}</span> {level}"
icons:
normal: "\udb80\udf6c"
muted: "\udb80\udf6d"
callbacks:
on_left: "toggle_mute"
on_middle: "do_nothing"
on_right: "exec cmd.exe /c start ms-settings:sound"
power_menu:
type: "yasb.power_menu.PowerMenuWidget"
options:
label: "\uf011"
uptime: True
blur: False
blur_background: True
animation_duration: 200
button_row: 5
buttons:
shutdown: ["\uf011", "Shut Down"]
restart: ["\uead2", "Restart"]
signout: ["\udb80\udf43", "Sign out"]
hibernate: ["\uf28e", "Hibernate"]
sleep: ["\u23fe", "Sleep"]
cancel: ["", "Cancel"]
notifications:
type: "yasb.notifications.NotificationsWidget"
options:
label: "<span>\uf476</span> {count}"
label_alt: "{count} notifications"
hide_empty: true
tooltip: false
callbacks:
on_left: "toggle_notification"
on_right: "do_nothing"
on_middle: "toggle_label"
vscode:
type: "yasb.vscode.VSCodeWidget"
options:
max_field_size: 50
folder_icon: "\uf114"
file_icon: "\uf016"
truncate_to_root_dir: false
hide_folder_icon: false
hide_file_icon: false
max_number_of_folders: 30
max_number_of_files: 30 # set to 0 if you only want folders
menu:
blur: true
round_corners: true
round_corners_type: "small"
alignment: "center"
offset_top: 0
disk:
type: "yasb.disk.DiskWidget"
options:
label: "D{space[used][percent]}"
volume_label: "C"
update_interval: 60
group_label:
volume_labels: ["C", "D", "E", "F"]
show_label_name: true
blur: True
round_corners: True
round_corners_type: "small"
border_color: "System"
alignment: "right"
direction: "down"
callbacks:
on_left: "toggle_group"
on_middle: "do_nothing"
on_right: "do_nothing"
label_shadow:
enabled: true
color: "black"
radius: 3
offset: [1, 1]
cpu:
type: "yasb.cpu.CpuWidget"
options:
label: "C{info[percent][total]}%"
update_interval: 2000
histogram_icons:
- '\u2581' # 0%
- '\u2581' # 10%
- '\u2582' # 20%
- '\u2583' # 30%
- '\u2584' # 40%
- '\u2585' # 50%
- '\u2586' # 60%
- '\u2587' # 70%
- '\u2588' # 80%+
histogram_num_columns: 8
callbacks:
on_left: 'do_nothing'
on_middle: "do_nothing"
on_right: "do_nothing"
memory:
type: "yasb.memory.MemoryWidget"
options:
label: "M{virtual_mem_percent}%"
label_alt: "M{virtual_mem_used}/{virtual_mem_total}"
update_interval: 5000
callbacks:
on_left: "toggle_label"
on_middle: "do_nothing"
on_right: "do_nothing"
traffic:
type: "yasb.traffic.TrafficWidget"
options:
label: "↓{download_speed} ↑{upload_speed}"
update_interval: 1000
callbacks:
on_left: 'do_nothing'
on_middle: "do_nothing"
on_right: "do_nothing"
配置 C:\Users\% username%\.config\styles.css:内容过长,参考 此处。
工具集
Microsoft Store 安装 PowerToys,巨硬出品,巨实用。隐藏桌面图标后可配合 PowerToys 的命令面板或运行功能搜索并打开相应软件,建议快捷键为 Alt + Space。可自行开启或关闭相应功能。
配置文件
安装 chezmoi 借助 Git 管理你的配置文件、跨设备同步等。
