├── .gitignore ├── config ├── i3 │ ├── rofi │ │ ├── README.md │ │ ├── config.rasi │ │ └── catppuccin-mocha.rasi │ └── config ├── redshift │ └── redshift.conf ├── zellij │ ├── layouts │ │ ├── semi-compact.kdl │ │ └── adventofcode.kdl │ └── config.kdl ├── ghostty │ ├── config │ └── themes │ │ └── catppuccin-mocha ├── dunst │ └── dunstrc ├── alacritty │ ├── alacritty.toml │ └── catppuccin.toml ├── polybar │ ├── launch.sh │ ├── scripts │ │ ├── redshift.sh │ │ ├── popup-calendar.sh │ │ └── player-mpris-tail.py │ ├── colors.ini │ └── config.ini ├── kitty │ ├── open-actions.conf │ └── kitty.conf ├── README.md ├── nvim │ ├── lua │ │ └── chadrc.lua │ ├── ginit.vim │ ├── lazy-lock.json │ ├── lsp │ │ └── rime_ls.lua │ └── init.lua ├── networkmanager-dmenu │ └── config.ini ├── wezterm │ └── wezterm.lua ├── fontconfig │ └── fonts.conf └── picom │ └── picom.conf ├── rime_config ├── .gitignore ├── README.md ├── rime │ ├── radical_pinyin.custom.yaml │ ├── double_pinyin_flypy.custom.yaml │ └── default.custom.yaml └── rime-ls │ ├── radical_pinyin.custom.yaml │ └── default.custom.yaml ├── drawio_config ├── README.md └── config.json ├── .editorconfig └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # rime 语言模型文件 2 | *.gram 3 | -------------------------------------------------------------------------------- /config/i3/rofi/README.md: -------------------------------------------------------------------------------- 1 | Copy from 2 | -------------------------------------------------------------------------------- /rime_config/.gitignore: -------------------------------------------------------------------------------- 1 | **/build/ 2 | **/user.yaml 3 | **/installation.yaml 4 | **/*.userdb/ 5 | -------------------------------------------------------------------------------- /config/redshift/redshift.conf: -------------------------------------------------------------------------------- 1 | [redshift] 2 | location-provider=manual 3 | temp-day=6500 4 | temp-night=4200 5 | 6 | [manual] 7 | lat=40.0 8 | lon=116.0 9 | -------------------------------------------------------------------------------- /config/zellij/layouts/semi-compact.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | pane size=1 borderless=true { 3 | plugin location="zellij:tab-bar" 4 | } 5 | pane 6 | pane size=1 borderless=true { 7 | plugin location="zellij:status-bar" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /rime_config/README.md: -------------------------------------------------------------------------------- 1 | # Rime Config 2 | 3 | 基于 [rime-ice](https://github.com/iDvel/rime-ice) 方案,基本没怎么配置 4 | 5 | 通过 AUR 里其他用户打的包全局安装,用来减少 `user_data_dir` 占用。 6 | 7 | - 把 `rime` 目录放入 `~/.local/share/fcitx5/rime` 8 | - 把 `rime-ls` 目录放入 `~/.local/share/rime-ls` 9 | 10 | -------------------------------------------------------------------------------- /config/ghostty/config: -------------------------------------------------------------------------------- 1 | font-size = 11 2 | theme = catppuccin-mocha 3 | # window-decoration = true 4 | window-theme = ghostty 5 | window-height = 25 6 | window-width = 100 7 | background-opacity = 0.9 8 | background-blur = true 9 | mouse-scroll-multiplier = 2 10 | gtk-single-instance = true 11 | -------------------------------------------------------------------------------- /drawio_config/README.md: -------------------------------------------------------------------------------- 1 | # drawio_config 2 | 3 | My draw.io config file 4 | 5 | ## customColorSchemes 6 | 7 | 8 | ## defaultColors 9 | 10 | - Copy from [tailwind](https://tailwindcss.com/docs/customizing-colors) 11 | - vertical: slate, zinc, red, orange, amber, lime, green, teal, sky, blue indigo, violet 12 | - horizontal: yellow, cyan, pink, rose, purple -------------------------------------------------------------------------------- /config/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | frame_color = "#89B4FA" 3 | separator_color= frame 4 | font = Noto Sans CJK SC 12 5 | 6 | [urgency_low] 7 | background = "#1E1E2E" 8 | foreground = "#CDD6F4" 9 | 10 | [urgency_normal] 11 | background = "#1E1E2E" 12 | foreground = "#CDD6F4" 13 | 14 | [urgency_critical] 15 | background = "#1E1E2E" 16 | foreground = "#CDD6F4" 17 | frame_color = "#FAB387" 18 | 19 | -------------------------------------------------------------------------------- /config/alacritty/alacritty.toml: -------------------------------------------------------------------------------- 1 | [cursor] 2 | blink_interval = 500 3 | 4 | [cursor.style] 5 | blinking = "On" 6 | shape = "Beam" 7 | 8 | [env] 9 | TERM = "xterm-256color" 10 | 11 | [font] 12 | size = 13.0 13 | 14 | [font.normal] 15 | family = "JetBrains Mono NF" 16 | style = "Regular" 17 | 18 | [window] 19 | opacity = 0.90 20 | decorations = "none" 21 | 22 | [general] 23 | import = ["/home/wlh/.config/alacritty/catppuccin.toml"] 24 | -------------------------------------------------------------------------------- /config/polybar/launch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Terminate already running bar instances 4 | killall -q polybar 5 | 6 | # Wait until the processes have been shut down 7 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done 8 | 9 | # Launch bar1 and bar2 10 | MONITORS=$(xrandr --query | grep " connected" | cut -d" " -f1) 11 | 12 | # MONITORS=$MONITORS polybar top & 13 | MONITOR=HDMI1 polybar primary & 14 | MONITOR=DP2 polybar secondary 15 | 16 | echo "Bars launched..." 17 | -------------------------------------------------------------------------------- /rime_config/rime/radical_pinyin.custom.yaml: -------------------------------------------------------------------------------- 1 | # radical_pinyin.custom.yaml 2 | patch: 3 | speller/algebra: 4 | __include: radical_pinyin.schema.yaml:/algebra_flypy 5 | # __include: radical_pinyin.schema.yaml:/algebra_double_pinyin 6 | # __include: radical_pinyin.schema.yaml:/algebra_mspy 7 | # __include: radical_pinyin.schema.yaml:/algebra_abc 8 | # __include: radical_pinyin.schema.yaml:/algebra_ziguang 9 | # __include: radical_pinyin.schema.yaml:/algebra_sogou 10 | -------------------------------------------------------------------------------- /rime_config/rime-ls/radical_pinyin.custom.yaml: -------------------------------------------------------------------------------- 1 | # radical_pinyin.custom.yaml 2 | patch: 3 | speller/algebra: 4 | __include: radical_pinyin.schema.yaml:/algebra_flypy 5 | # __include: radical_pinyin.schema.yaml:/algebra_double_pinyin 6 | # __include: radical_pinyin.schema.yaml:/algebra_mspy 7 | # __include: radical_pinyin.schema.yaml:/algebra_abc 8 | # __include: radical_pinyin.schema.yaml:/algebra_ziguang 9 | # __include: radical_pinyin.schema.yaml:/algebra_sogou 10 | -------------------------------------------------------------------------------- /config/i3/rofi/config.rasi: -------------------------------------------------------------------------------- 1 | configuration{ 2 | modi: "run,drun,window"; 3 | icon-theme: "Oranchelo"; 4 | show-icons: true; 5 | terminal: "kitty"; 6 | drun-display-format: "{icon} {name}"; 7 | location: 0; 8 | disable-history: false; 9 | hide-scrollbar: true; 10 | display-drun: " 󰀘 Apps "; 11 | display-run: "  Run "; 12 | display-window: " 󰕰 Window"; 13 | display-Network: " 󰤨 Network"; 14 | sidebar-mode: true; 15 | } 16 | 17 | @theme "catppuccin-mocha" 18 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # any 7 | [*] 8 | end_of_line = lf 9 | charset = utf-8 10 | 11 | # python 12 | [*.py] 13 | indent_style = space 14 | indent_size = 4 15 | 16 | # c/cpp/lua 17 | [*.{c,cpp,lua}] 18 | indent_style = space 19 | indent_size = 2 20 | 21 | # makefile 22 | [Makefile] 23 | indent_style = tab 24 | 25 | # frontend things 26 | [*.{js,html,css}] 27 | indent_style = space 28 | indent_size = 2 29 | 30 | # data 31 | [*.{json,y{a,}ml}] 32 | indent_style = space 33 | indent_size = 2 34 | -------------------------------------------------------------------------------- /config/kitty/open-actions.conf: -------------------------------------------------------------------------------- 1 | # open image files 2 | protocol file 3 | mime image/* 4 | action launch --type=overlay kitty +kitten icat --hold $FILE_PATH 5 | 6 | # open text files 7 | protocol file 8 | mime text/* 9 | action launch --type=overlay $EDITOR $FILE_PATH 10 | 11 | # tail a log file 12 | protocol file 13 | ext log 14 | action launch --title ${FILE} --type=os-window tail -f ${FILE_PATH} 15 | action change_font_size current -2 16 | 17 | # open file with a fragment in vim 18 | protocol file 19 | fragment_matches [0-9]+ 20 | action launch --type=overlay lvim +${FRAGMENT} ${FILE_PATH} 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # wlh-dotfiles 2 | 3 | This branch is 2023 Version. 4 | 5 | Old Configs (2017 Version) is [HERE](https://github.com/wlh320/wlh-dotfiles/tree/master). 6 | 7 | ## Content 8 | 9 | - config (`$HOME/.config`) 10 | - i3wm and a lot of related softwares (However, I moved to KDE again...) 11 | - neovim 12 | - polybar 13 | - terminals: wezterm / alacritty / kitty (I mainly use wezterm now) 14 | - fontconfig 15 | - drawio_config (config for draw.io) 16 | - rime_config (config for Rime) 17 | 18 | ## Features 19 | 20 | - Catppuccin everywhere 21 | - Most of the code is copied from others 22 | -------------------------------------------------------------------------------- /config/ghostty/themes/catppuccin-mocha: -------------------------------------------------------------------------------- 1 | palette = 0=#45475a 2 | palette = 1=#f38ba8 3 | palette = 2=#a6e3a1 4 | palette = 3=#f9e2af 5 | palette = 4=#89b4fa 6 | palette = 5=#f5c2e7 7 | palette = 6=#94e2d5 8 | palette = 7=#a6adc8 9 | palette = 8=#585b70 10 | palette = 9=#f38ba8 11 | palette = 10=#a6e3a1 12 | palette = 11=#f9e2af 13 | palette = 12=#89b4fa 14 | palette = 13=#f5c2e7 15 | palette = 14=#94e2d5 16 | palette = 15=#bac2de 17 | background = 1e1e2e 18 | foreground = cdd6f4 19 | cursor-color = f5e0dc 20 | cursor-text = 11111b 21 | selection-background = 353749 22 | selection-foreground = cdd6f4 23 | split-divider-color = 313244 24 | -------------------------------------------------------------------------------- /config/README.md: -------------------------------------------------------------------------------- 1 | # config 2 | 3 | ## Desktop 4 | 5 | ### Dependencies 6 | 7 | - i3 8 | - polybar 9 | - picom 10 | - alacritty 11 | - dunst 12 | - rofi 13 | - feh 14 | - xorg-xrandr 15 | - xorg-xset 16 | 17 | ``` 18 | sudo pacman -S i3 polybar alacritty picom dunst rofi feh xorg-xrandr xorg-xset 19 | ``` 20 | 21 | ### Optional Dependencies 22 | 23 | - betterlockscreen 24 | - redshift 25 | - copyq 26 | - flameshot 27 | - networkmanager-dmenu-git 28 | - ttf-twemoji 29 | 30 | ``` 31 | paru -S betterlockscreen redshift copyq flameshot networkmanager-dmenu-git ttf-twemoji 32 | ``` 33 | 34 | ## Neovim 35 | 36 | Use `lazy.nvim`, all in one file (except configs for GUI and input method) 37 | -------------------------------------------------------------------------------- /config/polybar/scripts/redshift.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # copy from https://github.com/ericschaal/polybar-redshift 3 | checkIfRunning() { 4 | if [ $(systemctl --user is-active redshift) == "active" ]; then 5 | return 0 6 | else 7 | return 1 8 | fi 9 | } 10 | 11 | changeModeToggle() { 12 | if checkIfRunning ; then 13 | systemctl --user stop redshift 14 | else 15 | systemctl --user start redshift 16 | fi 17 | } 18 | 19 | case $1 in 20 | toggle) 21 | changeModeToggle 22 | ;; 23 | temperature) 24 | if checkIfRunning ; then 25 | CURRENT_TEMP=$(redshift -p 2> /dev/null | grep "Color temperature" | sed 's/.*: //') 26 | echo "$CURRENT_TEMP" 27 | else 28 | echo "off" 29 | fi 30 | ;; 31 | esac 32 | -------------------------------------------------------------------------------- /config/nvim/lua/chadrc.lua: -------------------------------------------------------------------------------- 1 | local M = { 2 | base46 = { 3 | theme = "everforest", -- default theme 4 | transparency = true, 5 | hl_override = { 6 | CursorLine = { 7 | bg = "one_bg", 8 | } 9 | } 10 | }, 11 | ui = { 12 | cmp = { 13 | icons_left = true, 14 | style = "atom_colored", 15 | }, 16 | statusline = { 17 | theme = "default", 18 | separator_style = "round", 19 | order = { "mode", "file", "git", "%=", "diagnostics", "rime", "info", "cursor" }, 20 | modules = { 21 | info = " %{&filetype} | %l:%c ", 22 | rime = function() 23 | if vim.g.rime_enabled then 24 | return ' ㄓ |' 25 | else 26 | return '' 27 | end 28 | end 29 | } 30 | }, 31 | } 32 | } 33 | return M 34 | -- vim: ts=2 sts=2 sw=2 et 35 | -------------------------------------------------------------------------------- /rime_config/rime/double_pinyin_flypy.custom.yaml: -------------------------------------------------------------------------------- 1 | patch: 2 | schema/name: 双拼-小鹤 3 | # 开关 4 | # 鼠须管 0.16 后,快捷键切换时的提示由 states 自定义 5 | # 注释掉 states 后,仍可以通过自定义的快捷键切换,但没有切换提示,也不会出现在方案选单中 6 | # 注释掉 reset 后,配合 default.custom.yaml 中的 save_options,可以永久记住开关状态,切换程序后也不会还原。 7 | switches: 8 | - name: ascii_mode 9 | states: [ 中, A ] 10 | reset: 1 11 | - name: full_shape 12 | # states: [ 半角, 全角 ] 13 | reset: 0 14 | - name: ascii_punct 15 | states: [ 。,, ., ] 16 | reset: 0 17 | - name: traditionalization 18 | states: [ 简, 繁 ] 19 | reset: 0 20 | - name: emoji 21 | states: [ 💀, 😄 ] 22 | reset: 1 23 | grammar: 24 | language: wanxiang-lts-zh-hans 25 | collocation_max_length: 5 26 | collocation_min_length: 2 27 | translator/contextual_suggestions: true 28 | translator/max_homophones: 7 29 | translator/max_homographs: 7 30 | -------------------------------------------------------------------------------- /config/zellij/layouts/adventofcode.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | default_tab_template { 3 | pane size=1 borderless=true { 4 | plugin location="zellij:tab-bar" 5 | } 6 | children 7 | pane size=1 borderless=true { 8 | plugin location="zellij:status-bar" 9 | } 10 | } 11 | 12 | tab name="main" hide_floating_panes=true { 13 | pane split_direction="vertical" { 14 | pane size="60%" { 15 | name "nvim" 16 | command "nvim" 17 | } 18 | pane split_direction="horizontal" size="40%" { 19 | pane name="data" 20 | pane name="run" { 21 | command "pypy3" 22 | args "solve.py" 23 | } 24 | } 25 | } 26 | 27 | floating_panes { 28 | pane command="python" name="python" 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /config/polybar/colors.ini: -------------------------------------------------------------------------------- 1 | ;------------------------- 2 | ; Catppuccin Mocha Palette 3 | ; Maintainer: justTOBBI 4 | ;-------------------------- 5 | 6 | [colors] 7 | base = #1e1e2e 8 | mantle = #181825 9 | crust = #11111b 10 | 11 | text = #cdd6f4 12 | subtext0 = #a6adc8 13 | subtext1 = #bac2de 14 | 15 | surface0 = #313244 16 | surface1 = #45475a 17 | surface2 = #585b70 18 | 19 | overlay0 = #6c7086 20 | overlay1 = #7f849c 21 | overlay2 = #9399b2 22 | 23 | blue = #89b4fa 24 | lavender = #b4befe 25 | sapphire = #74c7ec 26 | sky = #89dceb 27 | teal = #94e2d5 28 | green = #a6e3a1 29 | yellow = #f9e2af 30 | peach = #fab387 31 | maroon = #eba0ac 32 | red = #f38ba8 33 | mauve = #cba6f7 34 | pink = #f5c2e7 35 | flamingo = #f2cdcd 36 | rosewater = #f5e0dc 37 | 38 | transparent = #FF00000 39 | 40 | ; polybar original colors: 41 | ; background = #282A2E 42 | background = ${colors.base} 43 | background-alt = #373B41 44 | foreground = #C5C8C6 45 | primary = ${colors.teal} 46 | secondary = #8ABEB7 47 | alert = #A54242 48 | disabled = #707880 49 | 50 | -------------------------------------------------------------------------------- /config/nvim/ginit.vim: -------------------------------------------------------------------------------- 1 | lua << EOF 2 | 3 | -- config neovide 4 | if vim.fn.exists("g:neovide") == 1 then 5 | vim.g.neovide_transparency = 0.98 6 | vim.g.neovide_floating_blur_amount_x = 2.0 7 | vim.g.neovide_floating_blur_amount_y = 2.0 8 | vim.opt.guifont = { "JetBrains Mono,LXGW WenKai Mono", ":h15" } 9 | end 10 | 11 | -- config fvim 12 | if vim.fn.exists('g:fvim_loaded') == 1 then 13 | vim.opt.guifont = { "JetBrains Mono", ":h15" } -- with embedded NF font 14 | vim.keymap.set('n', '', 'set guifont=+', { silent = true }) 15 | vim.keymap.set('n', '', 'set guifont=-', { silent = true }) 16 | vim.keymap.set('n', '', 'FVimToggleFullScreen', { silent = true }) 17 | vim.cmd [[ FVimCursorSmoothMove v:true ]] 18 | vim.cmd [[ FVimCursorSmoothBlink v:true ]] 19 | vim.cmd [[ FVimBackgroundComposition 'blur' ]] 20 | vim.cmd [[ FVimBackgroundOpacity 0.9 ]] 21 | vim.cmd [[ FVimBackgroundAltOpacity 0.9 ]] 22 | vim.cmd [[ FVimCustomTitleBar v:true ]] 23 | vim.cmd [[ FVimUIPopupMenu v:true ]] 24 | end 25 | 26 | EOF 27 | -------------------------------------------------------------------------------- /config/networkmanager-dmenu/config.ini: -------------------------------------------------------------------------------- 1 | [dmenu] 2 | # dmenu_command = /usr/bin/dmenu 3 | # # Note that dmenu_command can contain arguments as well like: 4 | # # `dmenu_command = rofi -dmenu -i -theme nmdm` 5 | dmenu_command = rofi -dmenu -config ~/.config/i3/rofi/config.rasi 6 | # # `dmenu_command = dmenu -i -l 25 -b -nb #909090 -nf #303030` 7 | # rofi_highlight = # (Default: False) use rofi highlighting instead of '==' 8 | # compact = # (Default: False). Remove extra spacing from display 9 | # pinentry = # (Default: None) e.g. `pinentry-gtk` 10 | # wifi_chars = 11 | # wifi_chars = ▂▄▆█ 12 | # list_saved = # (Default: False) list saved connections 13 | 14 | [dmenu_passphrase] 15 | # # Uses the -password flag for Rofi, -x for bemenu. For dmenu, sets -nb and 16 | # # -nf to the same color or uses -P if the dmenu password patch is applied 17 | # # https://tools.suckless.org/dmenu/patches/password/ 18 | # obscure = True 19 | # obscure_color = #222222 20 | 21 | [editor] 22 | # terminal = 23 | # gui_if_available = (Default: True) 24 | 25 | [nmdm] 26 | # rescan_delay = # (seconds to wait after a wifi rescan before redisplaying the results) 27 | 28 | -------------------------------------------------------------------------------- /rime_config/rime/default.custom.yaml: -------------------------------------------------------------------------------- 1 | # Rime default settings 2 | # encoding: utf-8 3 | 4 | patch: 5 | # rime_ice/default.yaml -> rime_ice_suggestion.yaml 6 | __include: rime_ice_suggestion:/ 7 | __patch: 8 | # 方案列表 9 | schema_list: 10 | - schema: double_pinyin_flypy 11 | 12 | # 候选词个数 13 | menu/page_size: 9 14 | 15 | ascii_composer/switch_key: 16 | Caps_Lock: commit_code # commit_code | commit_text | clear 17 | Shift_L: commit_code # commit_code | commit_text | clear | noop 18 | Shift_R: noop # macOS 不会区分左右 Shift,只需要设置 Shift_L 19 | Control_L: noop 20 | Control_R: noop 21 | Eisu_toggle: clear 22 | 23 | 24 | # 快捷键 25 | key_binder/bindings: 26 | # 简繁切换 27 | - {when: always, accept: "Control+Shift+4", toggle: traditionalization} 28 | # 切换中英文标点 29 | - {when: always, accept: "Control+Shift+3", toggle: ascii_punct} 30 | 31 | # emacs_editing: 32 | - { when: composing, accept: Control+a, send: Home } # 光标跳转至行首 33 | - { when: composing, accept: Control+e, send: End } # 光标跳转至行尾 34 | 35 | # paging_with_comma_period: 翻页:, . 36 | # 需要额外注释掉方案中 recognizer/patterns 下的 url_2 选项(这个会覆盖掉句号的行为) 37 | - { when: paging, accept: comma, send: Page_Up } 38 | - { when: has_menu, accept: period, send: Page_Down } 39 | -------------------------------------------------------------------------------- /rime_config/rime-ls/default.custom.yaml: -------------------------------------------------------------------------------- 1 | # Rime default settings 2 | # encoding: utf-8 3 | 4 | patch: 5 | # rime_ice/default.yaml -> rime_ice_suggestion.yaml 6 | __include: rime_ice_suggestion:/ 7 | __patch: 8 | # 方案列表 9 | schema_list: 10 | - schema: double_pinyin_flypy 11 | 12 | # 候选词个数 13 | menu/page_size: 9 14 | 15 | ascii_composer/switch_key: 16 | Caps_Lock: commit_code # commit_code | commit_text | clear 17 | Shift_L: commit_code # commit_code | commit_text | clear | noop 18 | Shift_R: noop # macOS 不会区分左右 Shift,只需要设置 Shift_L 19 | Control_L: noop 20 | Control_R: noop 21 | Eisu_toggle: clear 22 | 23 | 24 | # 快捷键 25 | key_binder/bindings: 26 | # 简繁切换 27 | - {when: always, accept: "Control+Shift+4", toggle: traditionalization} 28 | # 切换中英文标点 29 | - {when: always, accept: "Control+Shift+3", toggle: ascii_punct} 30 | 31 | # emacs_editing: 32 | - { when: composing, accept: Control+a, send: Home } # 光标跳转至行首 33 | - { when: composing, accept: Control+e, send: End } # 光标跳转至行尾 34 | 35 | # paging_with_comma_period: 翻页:, . 36 | # 需要额外注释掉方案中 recognizer/patterns 下的 url_2 选项(这个会覆盖掉句号的行为) 37 | - { when: paging, accept: comma, send: Page_Up } 38 | - { when: has_menu, accept: period, send: Page_Down } 39 | -------------------------------------------------------------------------------- /config/wezterm/wezterm.lua: -------------------------------------------------------------------------------- 1 | local wezterm = require "wezterm" 2 | local config = wezterm.config_builder() 3 | 4 | -- window 5 | config.initial_rows = 25 6 | config.initial_cols = 100 7 | config.adjust_window_size_when_changing_font_size = false 8 | config.window_padding = { 9 | left = 0, 10 | right = 0, 11 | top = 0, 12 | bottom = 0, 13 | } 14 | config.window_background_opacity = 0.9 15 | config.text_background_opacity = 0.9 16 | 17 | config.enable_scroll_bar = true 18 | config.scrollback_lines = 5000 19 | 20 | config.use_fancy_tab_bar = false 21 | config.tab_max_width = 88 22 | config.window_decorations = "INTEGRATED_BUTTONS|RESIZE" 23 | config.integrated_title_button_alignment = "Left" 24 | config.integrated_title_buttons = { 'Close', 'Maximize', 'Hide' } 25 | 26 | -- font 27 | config.font_size = 14.0 28 | config.font = wezterm.font_with_fallback { 29 | { family = "JetBrains Mono NF", weight = "Regular" }, 30 | { family = "MiSans", weight = "Regular" }, 31 | 'Twemoji' 32 | } 33 | 34 | -- color 35 | config.color_scheme = "Catppuccin Mocha" 36 | 37 | -- status 38 | wezterm.on('update-right-status', function(window, _) 39 | local date = wezterm.strftime '%m/%d %a %H:%M:%S' 40 | 41 | -- Make it italic and underlined 42 | window:set_right_status(wezterm.format { 43 | { Attribute = { Underline = 'Single' } }, 44 | { Attribute = { Italic = true } }, 45 | { Text = date }, 46 | }) 47 | end) 48 | 49 | return config 50 | -------------------------------------------------------------------------------- /config/polybar/scripts/popup-calendar.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # copy from https://github.com/polybar/polybar-scripts 3 | 4 | BAR_HEIGHT=24 # polybar height 5 | BORDER_SIZE=0 # border size from your wm settings 6 | YAD_WIDTH=222 # 222 is minimum possible value 7 | YAD_HEIGHT=193 # 193 is minimum possible value 8 | DATE="$(LC_ALL=zh_CN.utf8 date +"%m/%d %a %H:%M")" 9 | 10 | case "$1" in 11 | --popup) 12 | if [ "$(xdotool getwindowfocus getwindowname)" = "yad-calendar" ]; then 13 | exit 0 14 | fi 15 | 16 | eval "$(xdotool getmouselocation --shell)" 17 | eval "$(xdotool getdisplaygeometry --shell)" 18 | 19 | # X 20 | if [ "$((X + YAD_WIDTH / 2 + BORDER_SIZE))" -gt "$WIDTH" ]; then #Right side 21 | : $((pos_x = WIDTH - YAD_WIDTH - BORDER_SIZE)) 22 | elif [ "$((X - YAD_WIDTH / 2 - BORDER_SIZE))" -lt 0 ]; then #Left side 23 | : $((pos_x = BORDER_SIZE)) 24 | else #Center 25 | : $((pos_x = X - YAD_WIDTH / 2)) 26 | fi 27 | 28 | # Y 29 | if [ "$Y" -gt "$((HEIGHT / 2))" ]; then #Bottom 30 | : $((pos_y = HEIGHT - YAD_HEIGHT - BAR_HEIGHT - BORDER_SIZE)) 31 | else #Top 32 | : $((pos_y = BAR_HEIGHT + BORDER_SIZE)) 33 | fi 34 | 35 | yad --calendar --undecorated --fixed --close-on-unfocus --no-buttons \ 36 | --width="$YAD_WIDTH" --height="$YAD_HEIGHT" --posx="$pos_x" --posy="$pos_y" \ 37 | --title="yad-calendar" --borders=0 >/dev/null & 38 | ;; 39 | *) 40 | echo "$DATE" 41 | ;; 42 | esac 43 | 44 | -------------------------------------------------------------------------------- /config/alacritty/catppuccin.toml: -------------------------------------------------------------------------------- 1 | [colors.primary] 2 | background = "#1E1E2E" 3 | foreground = "#CDD6F4" 4 | dim_foreground = "#CDD6F4" 5 | bright_foreground = "#CDD6F4" 6 | 7 | [colors.cursor] 8 | text = "#1E1E2E" 9 | cursor = "#F5E0DC" 10 | 11 | [colors.vi_mode_cursor] 12 | text = "#1E1E2E" 13 | cursor = "#B4BEFE" 14 | 15 | [colors.search.matches] 16 | foreground = "#1E1E2E" 17 | background = "#A6ADC8" 18 | 19 | [colors.search.focused_match] 20 | foreground = "#1E1E2E" 21 | background = "#A6E3A1" 22 | 23 | # [colors.footer_bar] 24 | # foreground = "#1E1E2E" 25 | # background = "#A6ADC8" 26 | 27 | [colors.hints.start] 28 | foreground = "#1E1E2E" 29 | background = "#F9E2AF" 30 | 31 | [colors.hints.end] 32 | foreground = "#1E1E2E" 33 | background = "#A6ADC8" 34 | 35 | [colors.selection] 36 | text = "#1E1E2E" 37 | background = "#F5E0DC" 38 | 39 | [colors.normal] 40 | black = "#45475A" 41 | red = "#F38BA8" 42 | green = "#A6E3A1" 43 | yellow = "#F9E2AF" 44 | blue = "#89B4FA" 45 | magenta = "#F5C2E7" 46 | cyan = "#94E2D5" 47 | white = "#BAC2DE" 48 | 49 | [colors.bright] 50 | black = "#585B70" 51 | red = "#F38BA8" 52 | green = "#A6E3A1" 53 | yellow = "#F9E2AF" 54 | blue = "#89B4FA" 55 | magenta = "#F5C2E7" 56 | cyan = "#94E2D5" 57 | white = "#A6ADC8" 58 | 59 | [colors.dim] 60 | black = "#45475A" 61 | red = "#F38BA8" 62 | green = "#A6E3A1" 63 | yellow = "#F9E2AF" 64 | blue = "#89B4FA" 65 | magenta = "#F5C2E7" 66 | cyan = "#94E2D5" 67 | white = "#BAC2DE" 68 | 69 | [[colors.indexed_colors]] 70 | index = 16 71 | color = "#FAB387" 72 | 73 | [[colors.indexed_colors]] 74 | index = 17 75 | color = "#F5E0DC" 76 | -------------------------------------------------------------------------------- /drawio_config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "customColorSchemes": [ 3 | [{"fill": "none", "stroke": "none"}] 4 | ], 5 | "customPresetColors": [ 6 | "f79862", "f05e23", "be5504" 7 | ], 8 | "defaultColors": [ 9 | "f8fafc", "fafafa", "fef2f2", "fff7ed", "fffbeb", "f7fee7", "f0fdf4", "f0fdfa", "f0f9ff", "eff6ff", "eef2ff", "f5f3ff", 10 | "f1f5f9", "f4f4f5", "fee2e2", "ffedd5", "fef3c7", "ecfccb", "dcfce7", "ccfbf1", "e0f2fe", "dbeafe", "e0e7ff", "ede9fe", 11 | "e2e8f0", "e4e4e7", "fecaca", "fed7aa", "fde68a", "d9f99d", "bbf7d0", "99f6e4", "bae6fd", "bfdbfe", "c7d2fe", "ddd6fe", 12 | "cbd5e1", "d4d4d8", "fca5a5", "fdba74", "fcd34d", "bef264", "86efac", "5eead4", "7dd3fc", "93c5fd", "a5b4fc", "c4b5fd", 13 | "94a3b8", "a1a1aa", "f87171", "fb923c", "fbbf24", "a3e635", "4ade80", "2dd4bf", "38bdf8", "60a5fa", "818cf8", "a78bfa", 14 | "64748b", "71717a", "ef4444", "f97316", "f59e0b", "84cc16", "22c55e", "14b8a6", "0ea5e9", "3b82f6", "6366f1", "8b5cf6", 15 | "475569", "52525b", "dc2626", "ea580c", "d97706", "65a30d", "16a34a", "0d9488", "0284c7", "2563eb", "4f46e5", "7c3aed", 16 | "334155", "3f3f46", "b91c1c", "c2410c", "b45309", "4d7c0f", "15803d", "0f766e", "0369a1", "1d4ed8", "4338ca", "6d28d9", 17 | "1e293b", "27272a", "991b1b", "9a3412", "92400e", "3f6212", "166534", "115e59", "075985", "1e40af", "3730a3", "5b21b6", 18 | "0f172a", "18181b", "7f1d1d", "7c2d12", "78350f", "365314", "14532d", "134e4a", "0c4a6e", "1e3a8a", "312e81", "4c1d95", 19 | 20 | "none", "fefce8", "fef9c3", "fef08a", "fde047", "facc15", "eab308", "ca8a04", "a16207", "854d0e", "713f12", "none", 21 | "none", "ecfeff", "cffafe", "a5f3fc", "67e8f9", "22d3ee", "06b6d4", "0891b2", "0e7490", "155e75", "164e63", "none", 22 | "none", "fdf2f8", "fce7f3", "fbcfe8", "f9a8d4", "f472b6", "ec4899", "db2777", "be185d", "9d174d", "831843", "none", 23 | "none", "fff1f2", "ffe4e6", "fecdd3", "fda4af", "fb7185", "f43f5e", "e11d48", "be123c", "9f1239", "881337", "none", 24 | "none", "faf5ff", "f3e8ff", "e9d5ff", "d8b4fe", "c084fc", "a855f7", "9333ea", "7e22ce", "6b21a8", "581c87", "none" 25 | ] 26 | } -------------------------------------------------------------------------------- /config/i3/rofi/catppuccin-mocha.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | bg-col: #1e1e2e; 3 | bg-col-light: #1e1e2e; 4 | border-col: #1e1e2e; 5 | selected-col: #1e1e2e; 6 | blue: #89b4fa; 7 | fg-col: #cdd6f4; 8 | fg-col2: #f38ba8; 9 | grey: #6c7086; 10 | 11 | width: 600; 12 | font: "JetBrainsMono NF 14"; 13 | } 14 | 15 | element-text, element-icon , mode-switcher { 16 | background-color: inherit; 17 | text-color: inherit; 18 | } 19 | 20 | window { 21 | height: 666px; 22 | border: 3px; 23 | border-color: @border-col; 24 | background-color: @bg-col; 25 | } 26 | 27 | mainbox { 28 | background-color: @bg-col; 29 | } 30 | 31 | inputbar { 32 | children: [prompt,entry]; 33 | background-color: @bg-col; 34 | border-radius: 5px; 35 | padding: 2px; 36 | } 37 | 38 | prompt { 39 | background-color: @blue; 40 | padding: 6px; 41 | text-color: @bg-col; 42 | border-radius: 3px; 43 | margin: 20px 0px 0px 20px; 44 | } 45 | 46 | textbox-prompt-colon { 47 | expand: false; 48 | str: ":"; 49 | } 50 | 51 | entry { 52 | padding: 6px; 53 | margin: 20px 0px 0px 10px; 54 | text-color: @fg-col; 55 | background-color: @bg-col; 56 | } 57 | 58 | listview { 59 | border: 0px 0px 0px; 60 | padding: 6px 0px 0px; 61 | margin: 10px 0px 0px 20px; 62 | columns: 2; 63 | lines: 5; 64 | background-color: @bg-col; 65 | } 66 | 67 | element { 68 | padding: 5px; 69 | background-color: @bg-col; 70 | text-color: @fg-col ; 71 | } 72 | 73 | element-icon { 74 | size: 25px; 75 | } 76 | 77 | element selected { 78 | background-color: @selected-col ; 79 | text-color: @fg-col2 ; 80 | } 81 | 82 | mode-switcher { 83 | spacing: 0; 84 | } 85 | 86 | button { 87 | padding: 10px; 88 | background-color: @bg-col-light; 89 | text-color: @grey; 90 | vertical-align: 0.5; 91 | horizontal-align: 0.5; 92 | } 93 | 94 | button selected { 95 | background-color: @bg-col; 96 | text-color: @blue; 97 | } 98 | 99 | message { 100 | background-color: @bg-col-light; 101 | margin: 2px; 102 | padding: 2px; 103 | border-radius: 5px; 104 | } 105 | 106 | textbox { 107 | padding: 6px; 108 | margin: 20px 0px 0px 20px; 109 | text-color: @blue; 110 | background-color: @bg-col-light; 111 | } 112 | 113 | -------------------------------------------------------------------------------- /config/nvim/lazy-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "base46": { "branch": "v3.0", "commit": "45b336ec52615dd1a3aa47848d894616dd6293a5" }, 3 | "blink.cmp": { "branch": "main", "commit": "485c03400608cb6534bbf84da8c1c471fc4808c0" }, 4 | "conform.nvim": { "branch": "master", "commit": "cde4da5c1083d3527776fee69536107d98dae6c9" }, 5 | "fidget.nvim": { "branch": "main", "commit": "e32b672d8fd343f9d6a76944fedb8c61d7d8111a" }, 6 | "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" }, 7 | "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, 8 | "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, 9 | "neo-tree.nvim": { "branch": "main", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, 10 | "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, 11 | "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" }, 12 | "nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" }, 13 | "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, 14 | "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, 15 | "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" }, 16 | "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, 17 | "tabout.nvim": { "branch": "master", "commit": "9a3499480a8e53dcaa665e2836f287e3b7764009" }, 18 | "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, 19 | "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, 20 | "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, 21 | "typst-preview.nvim": { "branch": "master", "commit": "e544812bba84b4f7976590f2b6c0dfbd099e1893" }, 22 | "ui": { "branch": "v3.0", "commit": "bea2af0a76c1098fac0988ad296aa028cad2a333" }, 23 | "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" }, 24 | "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, 25 | "vimtex": { "branch": "master", "commit": "be9deac3a23eeb145ccf11dd09080795838496ce" }, 26 | "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } 27 | } 28 | -------------------------------------------------------------------------------- /config/nvim/lsp/rime_ls.lua: -------------------------------------------------------------------------------- 1 | vim.g.rime_enabled = true 2 | 3 | local rime_on_attach = function(client, _) 4 | local toggle_rime = function() 5 | client.request('workspace/executeCommand', 6 | { command = "rime-ls.toggle-rime" }, 7 | function(_, result, ctx, _) 8 | if ctx.client_id == client.id then 9 | vim.g.rime_enabled = result 10 | end 11 | end 12 | ) 13 | end 14 | -- keymaps for executing command 15 | vim.keymap.set('n', 'rr', toggle_rime, { desc = 'Toggle [R]ime' }) 16 | vim.keymap.set('i', '', toggle_rime, { desc = 'Toggle Rime' }) 17 | vim.keymap.set('n', 'rs', 18 | function() vim.lsp.buf.execute_command({ command = "rime-ls.sync-user-data" }) end, 19 | { desc = '[R]ime [S]ync' }) 20 | 21 | -- set trigger for different filetypes 22 | local set_rime_trigger = function(trigger) 23 | local clients = vim.lsp.get_clients({ 24 | bufnr = vim.api.nvim_get_current_buf(), 25 | name = 'rime_ls', 26 | }) 27 | for _, client in ipairs(clients) do 28 | local settings = { trigger_characters = trigger } 29 | client.config.settings = settings 30 | client.notify("workspace/didChangeConfiguration", { settings = settings }) 31 | end 32 | end 33 | local filetype = vim.bo.filetype 34 | if filetype == "text" 35 | or filetype == "markdown" 36 | or filetype == "tex" 37 | or filetype == "typst" 38 | then 39 | set_rime_trigger({}) 40 | else 41 | set_rime_trigger({">"}) 42 | end 43 | end 44 | 45 | -- nvim-cmp supports additional completion capabilities, so broadcast that to servers 46 | local capabilities = vim.lsp.protocol.make_client_capabilities() 47 | -- capabilities = require('blink.cmp').get_lsp_capabilities(capabilities) 48 | 49 | return { 50 | name = "rime_ls", 51 | -- cmd = { '/home/wlh/coding/rime-ls/target/debug/rime_ls' }, 52 | -- cmd = { '/home/wlh/coding/rime-ls/target/release/rime_ls' }, 53 | cmd = vim.lsp.rpc.connect('127.0.0.1', 9257), 54 | 55 | init_options = { 56 | enabled = vim.g.rime_enabled, 57 | shared_data_dir = "/usr/share/rime-data", 58 | user_data_dir = "~/.local/share/rime-ls", 59 | log_dir = "/tmp", 60 | max_candidates = 9, 61 | paging_characters = {",", "."}, 62 | trigger_characters = {}, 63 | schema_trigger_character = "&", 64 | max_tokens = 0, 65 | always_incomplete = false, 66 | preselect_first = false, 67 | show_filter_text_in_label = false, 68 | long_filter_text = true, 69 | }, 70 | on_attach = rime_on_attach, 71 | capabilities = capabilities, 72 | } 73 | -- vim: ts=2 sts=2 sw=2 et 74 | -------------------------------------------------------------------------------- /config/fontconfig/fonts.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | ~/.fonts 4 | 5 | 6 | sans-serif 7 | 8 | 9 | Noto Sans 10 | Noto Sans CJK SC 11 | Noto Sans CJK TC 12 | Twemoji 13 | 14 | 15 | 16 | 17 | serif 18 | 19 | 20 | Noto Serif 21 | Twemoji 22 | 23 | 24 | 25 | 26 | monospace 27 | 28 | 29 | JetBrains Mono 30 | Hack 31 | Twemoji 32 | 33 | 34 | 35 | 36 | sans-serif 37 | 38 | 39 | zh-cn 40 | 41 | 42 | Noto Sans CJK SC 43 | Twemoji 44 | 45 | 46 | 47 | 48 | serif 49 | 50 | 51 | zh-cn 52 | 53 | 54 | Noto Serif CJK SC 55 | Twemoji 56 | 57 | 58 | 59 | 60 | monospace 61 | 62 | 63 | zh-cn 64 | 65 | 66 | JetBrains Mono 67 | Hack 68 | Noto Sans CJK SC 69 | Twemoji 70 | 71 | 72 | 73 | 74 | true 75 | 76 | 77 | 78 | 79 | true 80 | 81 | 82 | 83 | 84 | hintfull 85 | 86 | 87 | 88 | 89 | rgb 90 | 91 | 92 | 93 | 94 | lcddefault 95 | 96 | 97 | 98 | 99 | true 100 | 101 | 102 | 103 | 104 | true 105 | 106 | 107 | 108 | 109 | hintfull 110 | 111 | 112 | 113 | 114 | true 115 | 116 | 117 | 118 | 119 | hintfull 120 | 121 | 122 | 123 | 124 | true 125 | 126 | 127 | 128 | 129 | hintfull 130 | 131 | 132 | 133 | 134 | true 135 | 136 | 137 | 138 | 139 | hintfull 140 | 141 | 142 | 143 | -------------------------------------------------------------------------------- /config/polybar/config.ini: -------------------------------------------------------------------------------- 1 | ;========================================================== 2 | ; 3 | ; 4 | ; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ 5 | ; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ 6 | ; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ 7 | ; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ 8 | ; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ 9 | ; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ 10 | ; 11 | ; 12 | ; To learn more about how to configure Polybar 13 | ; go to https://github.com/polybar/polybar 14 | ; 15 | ; The README contains a lot of information 16 | ; 17 | ;========================================================== 18 | include-file = $HOME/.config/polybar/colors.ini 19 | 20 | [bar/primary] 21 | monitor = ${env:MONITOR:} 22 | width = 100% 23 | height = 24pt 24 | radius = 6 25 | ; dpi = 96 26 | 27 | background = ${colors.background} 28 | foreground = ${colors.foreground} 29 | 30 | scroll-up = i3wm-wsnext 31 | scroll-down = i3wm-wsprev 32 | 33 | line-size = 3pt 34 | 35 | border-size = 6pt 36 | border-bottom-size = 0 37 | border-color = #00000000 38 | 39 | padding-left = 0 40 | padding-right = 1 41 | 42 | module-margin = 1 43 | 44 | separator = | 45 | separator-foreground = ${colors.disabled} 46 | 47 | ; font-0 = JetBrainsMonoNL Nerd Font Mono:size=14;2 48 | font-0 = JetBrains Mono:size=15;2 49 | font-1 = MiSans:size=15;2 50 | font-2 = FontAwesome:size=15;3 51 | 52 | modules-left = i3 xwindow 53 | modules-right = player-mpris-tail cpu memory filesystem wlan eth pulseaudio xkeyboard redshift popup-calendar 54 | 55 | cursor-click = pointer 56 | cursor-scroll = ns-resize 57 | 58 | enable-ipc = true 59 | 60 | locale = zh_CN.utf8 61 | 62 | tray-position = right 63 | tray-foreground = ${root.foreground} 64 | 65 | ; wm-restack = i3 66 | ; override-redirect = true 67 | 68 | 69 | [bar/secondary] 70 | monitor = ${env:MONITOR:} 71 | width = 100% 72 | height = 24pt 73 | radius = 6 74 | ; dpi = 96 75 | 76 | background = ${colors.background} 77 | foreground = ${colors.foreground} 78 | 79 | scroll-up = i3wm-wsnext 80 | scroll-down = i3wm-wsprev 81 | 82 | line-size = 3pt 83 | 84 | border-size = 6pt 85 | border-bottom-size = 0 86 | border-color = #00000000 87 | 88 | padding-left = 0 89 | padding-right = 1 90 | 91 | module-margin = 1 92 | 93 | separator = | 94 | separator-foreground = ${colors.disabled} 95 | 96 | font-0 = JetBrains Mono:size=14;2 97 | font-1 = MiSans:size=14;2 98 | font-2 = FontAwesome:size=14;3 99 | 100 | modules-left = i3 xwindow 101 | modules-right = cpu memory filesystem pulseaudio xkeyboard redshift popup-calendar 102 | 103 | cursor-click = pointer 104 | cursor-scroll = ns-resize 105 | 106 | enable-ipc = true 107 | 108 | locale = zh_CN.utf8 109 | 110 | ; wm-restack = i3 111 | ; override-redirect = true 112 | 113 | [module/i3] 114 | type = internal/i3 115 | 116 | pin-workspaces = true 117 | strip-wsnumbers = true 118 | index-sort = true 119 | 120 | ; Use fuzzy (partial) matching on labels when assigning 121 | ; icons to workspaces 122 | ; Example: code;♚ will apply the icon to all workspaces 123 | ; containing 'code' in the label 124 | ; Default: false 125 | fuzzy-match = true 126 | label-dimmed-underline = ${root.background} 127 | 128 | ; Available tags: 129 | ; (default) - gets replaced with 130 | ; (default) 131 | format = 132 | 133 | ; Available tokens: 134 | ; %mode% 135 | ; Default: %mode% 136 | label-mode = %mode% 137 | label-mode-padding = 0 138 | label-mode-background = #e60053 139 | 140 | ; Available tokens: 141 | ; %name% 142 | ; %icon% 143 | ; %index% 144 | ; %output% 145 | ; Default: %icon% %name% 146 | label-focused = %index% 147 | label-focused-foreground = #ffffff 148 | label-focused-background = #3f3f3f 149 | label-focused-underline = ${colors.primary} 150 | label-focused-padding = 2 151 | 152 | ; Available tokens: 153 | ; %name% 154 | ; %icon% 155 | ; %index% 156 | ; %output% 157 | ; Default: %icon% %name% 158 | label-unfocused = %index% 159 | label-unfocused-padding = 2 160 | 161 | ; Available tokens: 162 | ; %name% 163 | ; %icon% 164 | ; %index% 165 | ; %output% 166 | ; Default: %icon% %name% 167 | label-visible = %index% 168 | label-visible-underline = #555555 169 | label-visible-padding = 2 170 | 171 | ; Available tokens: 172 | ; %name% 173 | ; %icon% 174 | ; %index% 175 | ; %output% 176 | ; Default: %icon% %name% 177 | label-urgent = %index% 178 | label-urgent-foreground = #000000 179 | label-urgent-background = ${colors.red} 180 | label-urgent-padding = 2 181 | 182 | ; Separator in between workspaces 183 | label-separator = | 184 | label-separator-padding = 0 185 | label-separator-foreground = #ffb52a 186 | 187 | [module/xworkspaces] 188 | type = internal/xworkspaces 189 | 190 | label-active = %name% 191 | label-active-background = ${colors.background-alt} 192 | label-active-underline= ${colors.primary} 193 | label-active-padding = 1 194 | 195 | label-occupied = %name% 196 | label-occupied-padding = 1 197 | 198 | label-urgent = %name% 199 | label-urgent-background = ${colors.alert} 200 | label-urgent-padding = 1 201 | 202 | label-empty = %name% 203 | label-empty-foreground = ${colors.disabled} 204 | label-empty-padding = 1 205 | 206 | [module/xwindow] 207 | type = internal/xwindow 208 | label = %title:0:20:...% 209 | 210 | [module/cpu] 211 | type = internal/cpu 212 | interval = 2 213 | format-prefix = "CPU " 214 | format-prefix-foreground = ${colors.primary} 215 | ; format =