diff --git a/README.md b/README.md index 1b084f2..b2c1e8e 100644 --- a/README.md +++ b/README.md @@ -36,21 +36,74 @@ tmux2k is a highly customizable framework designed to enhance your tmux status b ### 🎨 Available Themes: -- default (`set @tmux2k-theme 'default'`) - ![default](./images/default.png) -- default icons only (`set @tmux2k-icons-only true`) - ![default-icons](./images/default-icons.png) -- default no powerline (`set @tmux2k-show-powerline false`) - ![default-no-powerline](./images/default-no-powerline.png) -- catppuccin - ![catppuccin](./images/catppuccin.png) - ![catppuccin-icons](./images/catppuccin-icons.png) -- gruvbox - ![gruvbox](./images/gruvbox.png) - ![gruvbox-icons](./images/gruvbox-icons.png) -- onedark - ![onedark](./images/onedark.png) - ![onedark-icons](./images/onedark-icons.png) +- default ![default](./images/default.png) +- default icons ![default-icons](./images/default-icons.png) +- catppuccin ![catppuccin](./images/catppuccin.png) +- catppuccin icons ![catppuccin-icons](./images/catppuccin-icons.png) +- gruvbox ![gruvbox](./images/gruvbox.png) +- gruvbox icons ![gruvbox-icons](./images/gruvbox-icons.png) +- monokai ![monokai](./images/monokai.png) +- monokai icons ![monokai-icons](./images/monokai-icons.png) +- onedark ![onedark](./images/onedark.png) +- onedark icons ![onedark-icons](./images/onedark-icons.png) +- duo ![duo](./images/duo.png) +- duo icons ![duo-icons](./images/duo-icons.png) +- duo blue ![duo-blue](./images/duo-blue.png) +- default no powerline ![default-no-powerline](./images/default-no-powerline.png) + +To use themes: + +```bash +# use a theme +set -g @tmux2k-theme 'onedark' + +# to show icons only +set -g @tmux2k-icons-only true + +# to customize duo bg and fg +set -g @tmux2k-duo-fg "#1688f0" # this will get you duo blue shown above +set -g @tmux2k-duo-bg "#000000" # this will set the bg for duo theme + +# to set powerline symbols +set -g @tmux2k-right-sep  # alternate right status bar sep +set -g @tmux2k-win-right-sep  # alternate window right sep + +# to not show powerline +set -g @tmux2k-show-powerline false + +# set start icon, accpets: `session`, 'window`, or any string +set -g @tmux2k-start-icon "" +``` + +#### 🖌️ Customize Theme Colors + +##### Available Colors: + +- `text`: Default text color. Default: `#282a36` +- `bg_main`: Background color for main sections. Default: `#15152a` +- `bg_alt`: Background color for alternate sections. Default: `#45455a` +- `black`: Black color. Default: `#0a0a0f` +- `white`: White color. Default: `#d5d5da` +- `red`: Red color. Default: `#ff001f` +- `light_red`: Light red color. Default: `#ff0055` +- `green`: Green color. Default: `#3dd50a` +- `light_green`: Light green color. Default: `#ccffcc` +- `blue`: Blue color. Default: `#1688f0` +- `light_blue`: Light blue color. Default: `#11dddd` +- `yellow`: Yellow color. Default: `#ffb86c` +- `light_yellow`: Light yellow color. Default: `#ffd21a` +- `purple`: Purple color. Default: `#bf58ff` +- `light_purple`: Light purple color. Default: `#ff65c6` + +To customize theme colors: + +```bash +set -g @tmux2k-text '#cdcdcd' # change text to white +set -g @tmux2k-bg-main '#ffffff' # change bg to white +set -g @tmux2k-yellow '#f8c800' # change yellow color +``` + +> You may have to restart `tmux` for some changes to reflect ### 🧩 Available Plugins @@ -66,7 +119,34 @@ tmux2k is a highly customizable framework designed to enhance your tmux status b - `weather`: Show weather information - `wimdow`: tmux window list -### 🪆 Add New Plugins +To use plugins: + +```bash +# set the left and right plugin sections +set -g @tmux2k-left-plugins "git cpu ram" +set -g @tmux2k-right-plugins "battery network time" + +# to customize plugin colors +set -g @tmux2k-[plugin-name]-colors "[background] [foreground]" +set -g @tmux2k-cpu-colors "red black" # set cpu plugin bg to red, fg to black + +# to enable compact window list size +set -g @tmux2k-compact-windows true + +# change refresh rate +set -g @tmux2k-refresh-rate 5 + +# weather scale +set -g @tmux2k-show-fahrenheit false + +# 24 hour time +set -g @tmux2k-military-time true + +# network interface to watch +set -g @tmux2k-network-name "wlo1" +``` + +#### 🪆 Add New Plugins To add a new plugin, add a script to the [scripts](./scripts) folder that prints something to the console. @@ -97,88 +177,15 @@ set -g @plugin '2kabhishek/tmux2k' You can also directly clone the repo to your `~/.tmux/plugins/` folder. -## 🚀 Usage - -tmux2k to should automatically start after installation. Here's how you can customize it's features - -```bash -# Left and right status bar plugins -set -g @tmux2k-left-plugins "git cpu ram" -set -g @tmux2k-right-plugins "battery network time" - -# change refresh rate -set -g @tmux2k-refresh-rate 5 - -# weather scale -set -g @tmux2k-show-fahrenheit false - -# 24 hour time -set -g @tmux2k-military-time true - -# it can accept `session`, 'window`, or any string -set -g @tmux2k-start-icon "" - -# network interface to watch -set -g @tmux2k-network-name "wlo1" - -# update powerline symbols -set -g @tmux2k-right-sep  # alternate right status bar sep -set -g @tmux2k-win-right-sep  # alternate window right sep - -# to disable powerline -set -g @tmux2k-show-powerline false - -# to customize theme -set -g @tmux2k-theme 'onedark' - -# to show icons only -set -g @tmux2k-icons-only true - -# to enable compact window tab size -set -g @tmux2k-compact-windows true - -# to customize colors -set -g @tmux2k-text '#cdcdcd' # change text to white -set -g @tmux2k-bg-main '#ffffff' # change bg to white -set -g @tmux2k-yellow '#f8c800' # change yellow color - -# to customize plugin colors -set -g @tmux2k-[plugin-name]-colors "[background] [foreground]" -set -g @tmux2k-cpu-colors "blue dark_gray" -``` - -> You may have to restart `tmux` for some changes to reflect - -### 🖌️ Customize Colors - -#### Available Colors: - -- `text`: Default text color. Default: `#282a36` -- `bg_main`: Background color for main sections. Default: `#15152a` -- `bg_alt`: Background color for alternate sections. Default: `#45455a` -- `black`: Black color. Default: `#0a0a0f` -- `white`: White color. Default: `#d5d5da` -- `red`: Red color. Default: `#ff001f` -- `light_red`: Light red color. Default: `#ff0055` -- `green`: Green color. Default: `#3dd50a` -- `light_green`: Light green color. Default: `#ccffcc` -- `blue`: Blue color. Default: `#1688f0` -- `light_blue`: Light blue color. Default: `#11dddd` -- `yellow`: Yellow color. Default: `#ffb86c` -- `light_yellow`: Light yellow color. Default: `#ffd21a` -- `purple`: Purple color. Default: `#bf58ff` -- `light_purple`: Light purple color. Default: `#ff65c6` - ## 🏗️ What's Next -- [ ] [Windows compatibility #8](https://github.com/2KAbhishek/tmux2k/issues/8) -- [ ] [Theming support #9](https://github.com/2KAbhishek/tmux2k/issues/9) +- You tell me! ## 🧑‍💻 Behind The Code ### 🌈 Inspiration -I came across [dracula/tmux](https://github.com/dracula/tmux) sometime back but it didn't have everything I wanted. +I came across [dracula/tmux](https://github.com/dracula/tmux) sometime back and I wanted to create a more customizable and easy to expand solution. ### 💡 Challenges/Learnings diff --git a/images/catppuccin.png b/images/catppuccin.png index 7d9dbff..a0139ba 100644 Binary files a/images/catppuccin.png and b/images/catppuccin.png differ diff --git a/images/catpuccin-icons.png b/images/catpuccin-icons.png new file mode 100644 index 0000000..2cb72c6 Binary files /dev/null and b/images/catpuccin-icons.png differ diff --git a/images/default-icons.png b/images/default-icons.png index c55aa16..5afce8b 100644 Binary files a/images/default-icons.png and b/images/default-icons.png differ diff --git a/images/default-no-powerline.png b/images/default-no-powerline.png index 59beda0..a0dec6d 100644 Binary files a/images/default-no-powerline.png and b/images/default-no-powerline.png differ diff --git a/images/default.png b/images/default.png index 225aeb6..005e93d 100644 Binary files a/images/default.png and b/images/default.png differ diff --git a/images/duo-blue.png b/images/duo-blue.png new file mode 100644 index 0000000..1741a28 Binary files /dev/null and b/images/duo-blue.png differ diff --git a/images/duo-icons.png b/images/duo-icons.png new file mode 100644 index 0000000..c20ea75 Binary files /dev/null and b/images/duo-icons.png differ diff --git a/images/duo.png b/images/duo.png new file mode 100644 index 0000000..8c11879 Binary files /dev/null and b/images/duo.png differ diff --git a/images/gruvbox-icons.png b/images/gruvbox-icons.png index 4293063..5a231f0 100644 Binary files a/images/gruvbox-icons.png and b/images/gruvbox-icons.png differ diff --git a/images/gruvbox.png b/images/gruvbox.png index a9f1502..2fba8a6 100644 Binary files a/images/gruvbox.png and b/images/gruvbox.png differ diff --git a/images/monokai-icons.png b/images/monokai-icons.png new file mode 100644 index 0000000..7e7d911 Binary files /dev/null and b/images/monokai-icons.png differ diff --git a/images/monokai.png b/images/monokai.png new file mode 100644 index 0000000..c0ea4d2 Binary files /dev/null and b/images/monokai.png differ diff --git a/images/onedark-icons.png b/images/onedark-icons.png index f56355c..d3af37c 100644 Binary files a/images/onedark-icons.png and b/images/onedark-icons.png differ diff --git a/images/onedark.png b/images/onedark.png index 2b9bc71..455d1d4 100644 Binary files a/images/onedark.png and b/images/onedark.png differ diff --git a/scripts/tmux2k.sh b/scripts/tmux2k.sh index b18d248..a992b95 100755 --- a/scripts/tmux2k.sh +++ b/scripts/tmux2k.sh @@ -20,8 +20,8 @@ icons_only=$(get_tmux_option "@tmux2k-icons-only" false) compact=$(get_tmux_option "@tmux2k-compact-windows" false) text=$(get_tmux_option "@tmux2k-text" '#282a36') -bg_main=$(get_tmux_option "@tmux2k-bg-main" '#15152a') -bg_alt=$(get_tmux_option "@tmux2k-bg-alt" '#45455a') +bg_main=$(get_tmux_option "@tmux2k-bg-main" '#000000') +bg_alt=$(get_tmux_option "@tmux2k-bg-alt" '#1f1f1f') black=$(get_tmux_option "@tmux2k-black" '#0a0a0f') white=$(get_tmux_option "@tmux2k-white" '#d5d5da') red=$(get_tmux_option "@tmux2k-red" '#ff001f') @@ -75,9 +75,28 @@ set_theme() { light_blue=$(get_tmux_option "@tmux2k-light-blue" '#91d7e3') yellow=$(get_tmux_option "@tmux2k-yellow" '#f5a97f') light_yellow=$(get_tmux_option "@tmux2k-light-yellow" '#eed49f') - purple=$(get_tmux_option "@tmux2k-purple" '#c6a0f6') + purple=$(get_tmux_option "@tmux2k-purple" '#b6a0fe') light_purple=$(get_tmux_option "@tmux2k-light-purple" '#f5bde6') ;; + "duo") + duo_bg=$(get_tmux_option "@tmux2k-duo-bg" '#000000') + duo_fg=$(get_tmux_option "@tmux2k-duo-fg" '#ffffff') + text=$(get_tmux_option "@tmux2k-white" "$duo_bg") + bg_main=$(get_tmux_option "@tmux2k-bg-main" "$duo_bg") + bg_alt=$(get_tmux_option "@tmux2k-bg-alt" "$duo_bg") + black=$(get_tmux_option "@tmux2k-black" "$duo_bg") + white=$(get_tmux_option "@tmux2k-white" "$duo_fg") + red=$(get_tmux_option "@tmux2k-red" "$duo_fg") + light_red=$(get_tmux_option "@tmux2k-light-red" "$duo_fg") + green=$(get_tmux_option "@tmux2k-green" "$duo_fg") + light_green=$(get_tmux_option "@tmux2k-light-green" "$duo_fg") + blue=$(get_tmux_option "@tmux2k-blue" "$duo_fg") + light_blue=$(get_tmux_option "@tmux2k-light-blue" "$duo_fg") + yellow=$(get_tmux_option "@tmux2k-yellow" "$duo_fg") + light_yellow=$(get_tmux_option "@tmux2k-light-yellow" "$duo_fg") + purple=$(get_tmux_option "@tmux2k-purple" "$duo_fg") + light_purple=$(get_tmux_option "@tmux2k-light-purple" "$duo_fg") + ;; "gruvbox") bg_main=$(get_tmux_option "@tmux2k-bg-main" '#282828') bg_alt=$(get_tmux_option "@tmux2k-bg-alt" '#3c3836') @@ -91,8 +110,24 @@ set_theme() { light_blue=$(get_tmux_option "@tmux2k-light-blue" '#83a598') yellow=$(get_tmux_option "@tmux2k-yellow" '#d79921') light_yellow=$(get_tmux_option "@tmux2k-light-yellow" '#fabd2f') - purple=$(get_tmux_option "@tmux2k-purple" '#b16286') - light_purple=$(get_tmux_option "@tmux2k-light-purple" '#d3869b') + purple=$(get_tmux_option "@tmux2k-purple" '#b162d6') + light_purple=$(get_tmux_option "@tmux2k-light-purple" '#f386cb') + ;; + "monokai") + bg_main=$(get_tmux_option "@tmux2k-bg-main" '#272822') + bg_alt=$(get_tmux_option "@tmux2k-bg-alt" '#3e3d32') + black=$(get_tmux_option "@tmux2k-black" '#272822') + white=$(get_tmux_option "@tmux2k-white" '#f8f8f2') + red=$(get_tmux_option "@tmux2k-red" '#f92672') + light_red=$(get_tmux_option "@tmux2k-light-red" '#ff6188') + green=$(get_tmux_option "@tmux2k-green" '#a6e22e') + light_green=$(get_tmux_option "@tmux2k-light-green" '#a6e22e') + blue=$(get_tmux_option "@tmux2k-blue" '#66d9ef') + light_blue=$(get_tmux_option "@tmux2k-light-blue" '#66d9ef') + yellow=$(get_tmux_option "@tmux2k-yellow" '#e6db74') + light_yellow=$(get_tmux_option "@tmux2k-light-yellow" '#e6db74') + purple=$(get_tmux_option "@tmux2k-purple" '#ae81ff') + light_purple=$(get_tmux_option "@tmux2k-light-purple" '#fe81ff') ;; "onedark") bg_main=$(get_tmux_option "@tmux2k-bg-main" '#282c34') @@ -107,12 +142,13 @@ set_theme() { light_blue=$(get_tmux_option "@tmux2k-light-blue" '#61afef') yellow=$(get_tmux_option "@tmux2k-yellow" '#e5c07b') light_yellow=$(get_tmux_option "@tmux2k-light-yellow" '#e5c07b') - purple=$(get_tmux_option "@tmux2k-purple" '#c678dd') - light_purple=$(get_tmux_option "@tmux2k-light-purple" '#c678dd') + purple=$(get_tmux_option "@tmux2k-purple" '#c678fd') + light_purple=$(get_tmux_option "@tmux2k-light-purple" '#f678cd') ;; esac if $icons_only; then + show_powerline=false text=$bg_main plugin_colors=( ["git"]="text green"