Tmux essential commands

Tmux essential commands explained navigation’s, terminal split, windows, panes and sessions. Basic navigation commands Action Shortcut / Command Description New window Ctrl+b c নতুন window তৈরি Next window Ctrl+b n পরবর্তী window এ যান Previous window Ctrl+b p আগের window এ যান Rename window Ctrl+b , Window rename করুন Close window Ctrl+b & Window বন্ধ করুন Split pane vertically Ctrl+b % Terminal vertical split Split pane horizontally Ctrl+b " Terminal horizontal split Move between panes Ctrl+b + Arrow keys Pane selection পরিবর্তন Resize pane Ctrl+b hold Arrow keys Pane size পরিবর্তন Detach session Ctrl+b d Background এ session রাখুন Attach session tmux attach পুনরায় attach করুন List sessions tmux ls Session list দেখুন Kill session tmux kill-session -t name Session delete করুন

Rofi - App launcher

Rofi X11 app launcher and switcher Make sure to install the nerd fonts; You can checkout for windows and for linux Config Follow my github/codeberg for update dotfiles configuration { modi: "drun"; show-icons: true; display-drun: ""; drun-display-format: "{name}"; font: "JetBrains Mono Nerd Font 11"; } /* Tokyo Night / Bluish Theme Variables */ * { bg-col: #1A1B26; /* Deep Tokyo Night background */ bg-col-light: #24283B; /* Used only for the search bar now */ border-col: #7AA2F7; /* Bright Tokyo Night blue */ blue: #7AA2F7; fg-col: #C0CAF5; /* Main text color */ fg-col-muted: #565F89; /* Muted text for placeholder */ /* Base resets */ background-color: transparent; text-color: @fg-col; margin: 0; padding: 0; } window { width: 35%; background-color: @bg-col; border: 2px solid; border-color: @border-col; border-radius: 10px; padding: 15px; } mainbox { background-color: transparent; spacing: 15px; } inputbar { children: [prompt, entry]; background-color: @bg-col-light; border-radius: 8px; padding: 10px; } prompt { background-color: @blue; text-color: @bg-col; padding: 6px 12px; border-radius: 6px; margin: 0px 10px 0px 0px; font: "JetBrains Mono Nerd Font Bold 11"; } entry { padding: 6px 0px; background-color: transparent; text-color: @fg-col; placeholder: "Search applications..."; placeholder-color: @fg-col-muted; } listview { background-color: transparent; columns: 1; lines: 7; spacing: 6px; cycle: false; dynamic: true; scrollbar: false; } element { background-color: transparent; /* Melts perfectly into the main window */ text-color: @fg-col; padding: 10px 12px; border-radius: 8px; spacing: 12px; orientation: horizontal; } element-icon { size: 24px; background-color: transparent; } element-text { background-color: transparent; text-color: inherit; vertical-align: 0.5; } element selected { background-color: transparent; /* No more clashing solid backgrounds */ text-color: @blue; /* Changes the text to match your outline */ border: 2px solid; /* Thicker outline for that neon/border vibe */ border-color: @blue; /* The Tokyo Night blue outline you liked */ }

Tmux Config Basics

This post covers basic tmux configuration, enabling mouse support, changing pane key bindings, reloading the tmux config, and adjusting window and pane index settings. You can checkout my config file # Change prefix key to Ctrl + a unbind C-b set -g prefix C-a bind C-a send-prefix # Enable mouse support set -g mouse on # Enable Vim-style copy mode setw -g mode-keys vi bind-key -T copy-mode-vi v send -X begin-selection bind-key -T copy-mode-vi y send -X copy-selection-and-cancel bind-key -T copy-mode-vi Escape send -X cancel bind -n M-v copy-mode # Vim-style pane navigation bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # Reload tmux config without restarting bind r source-file ~/.tmux.conf # Create a new window in the current directory bind c new-window -c "#{pane_current_path}" # Split panes in the current directory bind | split-window -h -c "#{pane_current_path}" bind - split-window -v -c "#{pane_current_path}" # Unbind default split keys unbind '"' unbind %

Pobybar - A customize panel

Polybar Make sure to install the nerd fonts GitHub repo of polybar Folder structure: yeasin@Workstation ~/.config/polybar [master] ❯ tree . ├── config.ini ├── launch.sh configs config.ini [colors] bg = #1a1b26 bg-alt = #24283b fg = #c0caf5 accent = #7aa2f7 alert = #f7768e empty = #00000000 [bar/example] monitor = ${env:MONITOR:} width = 96% height = 26pt offset-x = 0% offset-y = 0% radius = 10 background = ${colors.bg} foreground = ${colors.fg} # Invisible border to fake the floating effect in i3 border-size = 4pt border-color = ${colors.empty} padding-left = 2 padding-right = 2 module-margin = 2 # FONT CONFIGURATION font-0 = "JetBrains Mono:weight=bold:size=10;2" font-1 = "JetBrainsMono Nerd Font:size=13;3" font-2 = "JetBrainsMonoNL Nerd Font:size=13;3" modules-left = workspaces modules-center = date modules-right = pulseaudio memory cpu powermenu [module/xwindow] type = internal/xwindow label = %title% [module/workspaces] type = internal/xworkspaces pin-workspaces = false strip-workspace-numbers = false label-separator = " " label-active = %index% label-occupied = %index% label-empty = %index% label-urgent = %index% label-active-foreground = ${colors.bg} label-active-background = ${colors.accent} label-active-padding = 4 label-occupied-foreground = ${colors.fg} label-occupied-background = ${colors.bg-alt} label-occupied-padding = 4 label-empty-foreground = ${colors.fg} label-empty-background = ${colors.bg} label-empty-padding = 4 label-urgent-foreground = ${colors.bg} label-urgent-background = ${colors.alert} label-urgent-padding = 4 [module/date] type = internal/date interval = 60 date = %I:%M %p - %d %A date-alt = %A, %Y-%m-%d label = %date% label-foreground = ${colors.accent} [module/pulseaudio] type = internal/pulseaudio format-volume = VOL <label-volume> label-volume = %percentage%% label-volume-foreground = ${colors.fg} label-muted = MUTED label-muted-foreground = ${colors.alert} click-middle = pavucontrol [module/memory] type = internal/memory interval = 2 label = RAM %percentage_used%% label-foreground = ${colors.accent} [module/cpu] type = internal/cpu interval = 2 label = CPU %percentage%% label-foreground = ${colors.fg} [module/powermenu] type = custom/text content = "" content-foreground = ${colors.alert} click-left = ~/.config/rofi/scripts/powermenu.sh [module/battery] type = internal/battery battery = BAT0 adapter = AC full-at = 98 format-charging = <label-charging> format-discharging = <label-discharging> format-full = <label-full> label-charging =  %percentage%% label-discharging =  %percentage%% label-full =  %percentage%% powermenu Stays inside rofi config, but you can put it anywhere. Just make sure to provide the correct path ...

Tmux Plugins

Make it look better and Must have plugins for 10x dev. Check the GitHub Dotfiles 1# .... previouse configs 2 3set -g @plugin 'tmux-plugins/tpm' 4set -g @plugin 'tmux-plugins/tmux-sensible' 5set -g @plugin 'tmux-plugins/tmux-resurrect' 6set -g @plugin 'tmux-plugins/tmux-yank' 7 8set -g @plugin 'dracula/tmux' 9set -g @dracula-show-powerline true 10set -g @dracula-plugins "cpu-usage ram-usage" 11set -g @dracula-show-gpu false 12 13run '~/.tmux/plugins/tpm/tpm' # your tmp path 14 15set-option -g base-index 1 16set-option -g pane-base-index 2 17set-option -g set-clipboard on 18 19bind -n M-Left select-pane -L 20bind -n M-Right select-pane -R 21bind -n M-Up select-pane -U 22bind -n M-Down select-pane -D 23 24set -g status-position top

Selection & Copy-Paste in TMUX

How can we copy and paste text in TMUX? Check the GitHub Dotfiles We are using the tmux-yank plugin from the previous video. To select text: Press Ctrl + b to enter TMUX command mode. Move the cursor to the start of the text you want to select. Press Space to start the selection. Move the cursor to the end of the text. Press y to copy the selection to the system clipboard. Or just drag the mouse to select text and press y to copy ...

Abstract & Generic class

Abstract class You went to your local restaurant for breakfast. When you got there, you saw a lump of raw dough sitting in front of the stove. Then a boy came over and asked, “Ruti, paratha, or naan?” Whatever you say, they prepare it right on the spot and serve it to you. Here the dough on the counter is the abstract class. abstract class Dough{} It exits, but it has no final form. You can not eat it raw rough dough. In programming we would say, you can not initiate it. ...

Abstract & Generic class

Abstract class You went to your local restaurant for breakfast. When you got there, you saw a lump of raw dough sitting in front of the stove. Then a boy came over and asked, “Ruti, paratha, or naan?” Whatever you say, they prepare it right on the spot and serve it to you. ...

Sealed & Union class

I hope you’ve already checked the Abstract & Generic . We already know what abstract class is and it can be extend from anywhere by importing the abstract class. It offered the benefits of restriction extending class outside the library. abstract class ApiState {} class Loading extends ApiState {} class Success extends ApiState {} class Error extends ApiState {} But we create a sealed class, it can not be only extend from that library/file. Note each file is a library, and you can use part/part of to combine multiple file. ...

Sealed & Union class

I hope you’ve already checked the Abstract & Generic. We already know what abstract class is, and it can be extend from anywhere. // api_state.dart abstract class ApiState {} class Loading extends ApiState {} class Success extends ApiState {} // api_provider.dart class Error extends ApiState {} Sealed class But Sealed class restrict extending class outside the library. You can only extends it within the same library/file. ...