Compare commits

..

2 Commits

Author SHA1 Message Date
5c38cb146d
doc Readme.md: change cover & add tmux 2025-06-02 15:13:26 +08:00
3f3f4bc407
feat tmux: add cpu 2025-06-02 04:17:09 +08:00
4 changed files with 37 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

View File

@ -1,7 +1,7 @@
Yuan dotfile 自用環境設定檔
================================================================================
來放個調了很久的做事環境... 其實是最近有轉移多臺電腦的需求😅,想說就把我的設定整理起來,之後換電腦換機器的時候,我習慣的環境可以方便一點這樣帶著走🚗。
![](.readme/Screenshot_20250424_013628.png)
![](.readme/Screenshot_20250602_011037.png)
主要是chezmoi用來統整這些dotfiles檔案常用作業系統是Manjaro (Arch Linux) 和 macOS有針對這兩個作業系統調整過了也寫好Script盡量可以一兩行指令直接懶人安裝到好。
@ -276,6 +276,39 @@ mkdir -p vimfiles\autoload
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" -OutFile "vimfiles\autoload\plug.vim"
```
tmux
--------------------------------------------------------------------------------
![](.readme/Screenshot_20250602_012927-text.png)
主要以TPM來管理套件
### statusbar設計
* 全組件支援滑鼠點選(大量採用`#[range=user|xxx]`的寫法)
* 甚至原本在瀏覽器開分頁操作的習慣方式也可以直接套用,點選新增分頁和關閉分頁
* 可以用點選右邊系統資訊快速開啟相關工具
* 採用標準8色配置保有相容性與可隨終端程式主題變換的彈性
* 不使用Theme框架直接用tmux原生的 status-left, status-right 手工刻出來
* 盡量用空隔補齊,來維持滑鼠精準點選按鈕
* 不過右側網路資訊就不處理了反正右側組件視覺範圍大不須點選位置精細也能正常操作。而且處理後會造成擠壓到window list的區域空間。
* 後來發現 tmux-plugins/tmux-net-speed 執行時會把原本喬好的所有空隔都改寫掉好像有用到類似trim的用法對策是需要空隔補填的部份改用全形空隔
### 已知副作用強烈的plugin
* tmux-plugins/tmux-net-speed造成 anghootys/tmux-ip-address 顯示錯亂以及我原本喬好的空隔直接被trim掉
### tmux-mode-indicator
我有操作vim的習慣而且都習慣會把mode狀態放在最左邊的位置讓我隨時知道
MunifTanjim/tmux-mode-indicator 提供的雖然主功能有達到需求但無法個別自訂start/end_prompt等控制左右兩側字元的彈性。
因為我想和powerline主題風格整合整合的實做方式就是控制組件左右側的特殊圖形字元和fg/bg顏色來做到視覺上的整合流暢感。
後來找到fork出來的版本 aacebedo/tmux-mode-indicator ,直接解決這個問題。
### 原本考慮用的佈景主題包,但最後不採用
* oh-my-tmux
* erikw/tmux-powerline
簡單講就是一旦採用就會與其他plugin衝突這兩套比較偏向「一整包用到底」的模式。如其中的組件我有特殊需求很難疊加其他plugin來整合。
Konsole
--------------------------------------------------------------------------------
會直接套用Nordic主題搭配調好的配色使用

View File

@ -17,6 +17,7 @@ set -g @plugin 'tmux-plugins/tmux-sensible'
# set -g @plugin 'git@bitbucket.com:user/plugin'
# set -g @plugin 'MunifTanjim/tmux-mode-indicator'
set -g @plugin 'aacebedo/tmux-mode-indicator'
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'robhurring/tmux-uptime'
set -g @plugin 'tassaron/tmux-df'
# set -g @plugin 'anghootys/tmux-ip-address'
@ -24,6 +25,7 @@ set -g @plugin 'tmux-plugins/tmux-net-speed' # Warning! 這個套件副作用會
set -g @plugin 'jaclu/tmux-menus'
# == Plugin Configure =========================================================
set -g @cpu_percentage_format "%3.1f%%" # printf format to use to display percentage
set -g @net_speed_format "#[fg=green]⇣%s #[fg=yellow]⇡%s"
set -g @menus_location_x '0'
@ -72,7 +74,7 @@ set -g status-bg default
set -g status-fg white
set -g status-style "bg=black,fg=white"
set -g status-left "#[range=user|menu]#{tmux_mode_indicator}#[norange]#[range=user|detach]#[fg=black,bg=yellow] ❐ #{session_name} #[norange]#[fg=yellow,bg=white]#[fg=black,bg=white]#[range=user|sv]  #[norange]#[range=user|sh]  #[norange]#[range=user|new] 󰖲 #(tmux list-windows -t #{session_name} | wc -l)  #[norange]#[fg=white,bg=default] "
set -g status-right "#[fg=gray,bg=default]#[range=user|bmon] ⇄ #{net_speed} #[norange]#[bg=default,fg=cyan]#[range=user|htop]#[fg=black,bg=cyan]  #{df_avail} #[fg=pink,bg=cyan]#[norange]#[range=user|sysinfo]#[fg=black,bg=pink] #{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}\"#{=21:pane_title}\" #[norange]#[fg=white,bg=pink]#[range=user|clock]#[bg=white,fg=black]  #{uptime}  %H:%M:%S #[norange]"
set -g status-right "#[fg=gray,bg=default]#[range=user|bmon] ⇄ #{net_speed} #[norange]#[bg=default,fg=cyan]#[range=user|htop]#[fg=black,bg=cyan]  #{cpu_percentage}  #{df_avail} #[fg=pink,bg=cyan]#[norange]#[range=user|sysinfo]#[fg=black,bg=pink] #{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}\"#{=21:pane_title}\" #[norange]#[fg=white,bg=pink]#[range=user|clock]#[bg=white,fg=black]  #{uptime}  %H:%M:%S #[norange]"
# == StatusBar window Configure ===============================================
set -wg window-status-format "#[fg=blue,bg=default]#{?#{<:#{window_index},10}, #{window_index},#{window_index}}#[bg=default,fg=blue]#[bg=default,fg=black]#[bg=default,fg=gray] #W#{?window_flags,#{window_flags}, }  #[fg=blue,bg=default]"