Initial commit

This commit is contained in:
alex 2025-07-31 00:22:23 +08:00
commit c486281b35
59 changed files with 1834 additions and 0 deletions

492
.Xresources Normal file
View file

@ -0,0 +1,492 @@
! $OpenBSD: dot.Xdefaults,v 1.3 2014/07/10 10:22:59 jasper Exp $
!XTerm*loginShell:true ! 将Urxvt作为登录shell启动 (例如读取~/.profile或~/.bash_profile)
! ==============================================================================
! 字体配置
! ==============================================================================
!URxvt*font: xft:Maple Mono Normal CN Medium:size=8
!URxvt*boldFont: xft:Maple Mono Normal CN Medium:bold:size=8
!URxvt*italicFont: xft:Maple Mono Normal CN Medium:size=8
!URxvt*boldItalicFont: xft:Maple Mono Normal CN Medium:bold:italic:size=8
URxvt*font: xft:MesloLGM Nerd Font Mono:size=10,xft:Sarasa Term SC Nerd:size=10
URxvt*boldFont: xft:MesloLGM Nerd Font Mono:bold:size=10,xft:SarasaTermSC Nerd SemiBold:size=10
URxvt*italicFont: xft:MesloLGM Nerd Font Mono:size=10,xft:Sarasa Term SC Nerd:size=10
URxvt*boldItalicFont: xft:MesloLGM Nerd Font Mono:bold:italic:size=10,xft:Sarasa Term SC Nerd:bold:italic:size=10
! 备用字体 (如果主字体中没有某个字符,会尝试使用备用字体)
!URxvt*fallbackFont: xft:Noto Color Emoji:size=10,xft:WenQuanYi Micro Hei:size=8
! 设置字符宽度模式 (对于中文字符很重要)
! auto: 自动识别
! half: 所有字符都占半宽 (可能导致中文重叠)
! double: 全角字符占双倍宽度 (推荐用于中文)
URxvt*cjkWidth: double
! ==============================================================================
! 颜色配置
! ==============================================================================
! 真透明设置
URxvt*depth: 32
URxvt*background: [80]#000000
URxvt*foreground: white
! urxvt 颜色配置实例Gruvbox Dark
!URxvt*foreground: #ebdbb2
!URxvt*background: [90]#282828
!
!URxvt*color0: #282828
!URxvt*color1: #cc241d
!URxvt*color2: #98971a
!URxvt*color3: #d79921
!URxvt*color4: #458588
!URxvt*color5: #b16286
!URxvt*color6: #689d6a
!URxvt*color7: #a89984
!URxvt*color8: #928374
!URxvt*color9: #fb4934
!URxvt*color10: #b8bb26
!URxvt*color11: #fabd2f
!URxvt*color12: #83a598
!URxvt*color13: #d3869b
!URxvt*color14: #8ec07c
!URxvt*color15: #ebdbb2
! urxvt 颜色配置实例One Dark
!URxvt*foreground: #abb2bf
!URxvt*background: [90]#282c34
!URxvt*cursorColor: #528bff
!
!URxvt*color0: #282c34
!URxvt*color1: #e06c75
!URxvt*color2: #98c379
!URxvt*color3: #e5c07b
!URxvt*color4: #61afef
!URxvt*color5: #c678dd
!URxvt*color6: #56b6c2
!URxvt*color7: #dcdfe4
!URxvt*color8: #5c6370
!URxvt*color9: #e06c75
!URxvt*color10: #98c379
!URxvt*color11: #d19a66
!URxvt*color12: #61afef
!URxvt*color13: #c678dd
!URxvt*color14: #56b6c2
!URxvt*color15: #ffffff
! urxvt 颜色配置实例Dracula
!URxvt*foreground: #f8f8f2
!URxvt*background: [90]#282a36
!URxvt*cursorColor: #f8f8f2
!
!URxvt*color0: #21222c
!URxvt*color1: #ff5555
!URxvt*color2: #50fa7b
!URxvt*color3: #f1fa8c
!URxvt*color4: #bd93f9
!URxvt*color5: #ff79c6
!URxvt*color6: #8be9fd
!URxvt*color7: #f8f8f2
!URxvt*color8: #6272a4
!URxvt*color9: #ff6e6e
!URxvt*color10: #69ff94
!URxvt*color11: #ffffa5
!URxvt*color12: #d6acff
!URxvt*color13: #ff92df
!URxvt*color14: #a4ffff
!URxvt*color15: #ffffff
! urxvt 颜色配置实例Nord
!URxvt*foreground: #D8DEE9
!URxvt*background: [90]#2E3440
URxvt*cursorColor: #88C0D0
URxvt*color0: #3B4252
URxvt*color1: #BF616A
URxvt*color2: #A3BE8C
URxvt*color3: #EBCB8B
URxvt*color4: #81A1C1
URxvt*color5: #B48EAD
URxvt*color6: #88C0D0
URxvt*color7: #E5E9F0
URxvt*color8: #4C566A
URxvt*color9: #BF616A
URxvt*color10: #A3BE8C
URxvt*color11: #EBCB8B
URxvt*color12: #81A1C1
URxvt*color13: #B48EAD
URxvt*color14: #8FBCBB
URxvt*color15: #ECEFF4
! ==============================================================================
! 滚动条配置
! ==============================================================================
! 隐藏滚动条
URxvt*scrollBar: false
! 滚动条在右侧
URxvt*scrollBar_right: true
! 滚动条悬浮在窗口边缘
URxvt*scrollBar_floating: true
! 仅在需要时显示滚动条
URxvt*scrollBar_on_request: true
! 滚动条颜色
URxvt*scrollcolor: #888888
! 滚动条槽颜色
URxvt*troughcolor: #333333
! 滚动条厚度
URxvt*thickness: 8
! 滚动条回溯缓冲区大小(保存多少行历史)
URxvt*saveLines: 10000
! ==============================================================================
! 光标配置
! ==============================================================================
! 下划线光标
URxvt*cursorUnderline: true
! 块状光标
URxvt*cursorBlock: false
! 竖线光标I-beam
URxvt*cursorBar: false
! 光标闪烁
URxvt*cursorBlink: true
! ==============================================================================
! 其他实用功能
! ==============================================================================
! 关闭闪烁的bell通常比audible bell更烦人
URxvt*bell-urxvt: false
! 启动audible bell声音提示
URxvt*audibleBell: true
! 关闭iso14755模式避免Ctrl+Shift+L无法使用
URxvt*iso14755: false
! 字体间距 (可选,微调字体显示)
! 字符间距默认0
URxvt*letterSpace: 0
! 字符行间距默认0
URxvt*lineSpace: 0
!------------------------------------------------------------------------------
!Xterm 核心配置
!定义 XTerm 类名,所有以下配置都将应用于 XTerm 实例
XTerm*termName: xterm-256color
! ==============================================================================
! 字体配置
! ==============================================================================
! 启用 Xft 字体渲染
XTerm*renderFont: true
! 指定主字体和字号
! 格式: xft:Font Name:size=SIZE
! 注意: Xterm 在处理粗体/斜体字体时,通常会通过字体渲染库自动合成,
! 或者你可以尝试为 boldFont, italicFont 单独指定但效果可能不如Urxvt灵活。
XTerm*faceName: xft:MesloLGM Nerd Font Mono:style=Normal:size=9,xft:Sarasa Term SC Nerd:size=9
! 显式设置字号与faceName配合
XTerm*faceSize: 9
! 备用字体 (如果主字体中没有某个字符,会尝试使用备用字体)
! 对于中文或 Emoji 支持至关重要。多个字体用逗号分隔,并按照优先级排列。
! Xterm 对 fallbackFont 的支持不如 Urxvt 那么直接,有时需要将它们串联在 faceName 中。
! 尝试将它们放在 faceName 中,或者如果你的 Xterm 版本支持,可以尝试 fallbackFont。
! 更稳妥的做法是,确保你的主字体(如 Maple Mono CN本身就包含了这些字符集。
! 或者:
! XTerm*faceName: xft:Maple Mono Normal CN Medium:size=9:antialias=true:autohint=true,xft:Noto Color Emoji:size=10,xft:WenQuanYi Micro Hei:size=9
! 设置字符宽度模式 (对于中文字符很重要)
! 这是解决 Xterm 中文字符过宽或重叠问题的关键。
XTerm*cjkWidth: true
! ==============================================================================
! 颜色配置
! ==============================================================================
! Xterm 配色实例Tomorrow Light
!XTerm*foreground: #4d4d4c
!XTerm*background: #ffffff
!XTerm*cursorColor: #4d4d4c
!
!XTerm*color0: #000000
!XTerm*color1: #c82829
!XTerm*color2: #718c00
!XTerm*color3: #eab700
!XTerm*color4: #4271ae
!XTerm*color5: #8959a8
!XTerm*color6: #3e999f
!XTerm*color7: #ffffff
!XTerm*color8: #777777
!XTerm*color9: #c82829
!XTerm*color10: #718c00
!XTerm*color11: #eab700
!XTerm*color12: #4271ae
!XTerm*color13: #8959a8
!XTerm*color14: #3e999f
!XTerm*color15: #ffffff
! Xterm 配色实例Dracula
!XTerm*foreground: #f8f8f2
!XTerm*background: #282a36
!XTerm*cursorColor: #f8f8f2
!
!XTerm*color0: #21222c
!XTerm*color1: #ff5555
!XTerm*color2: #50fa7b
!XTerm*color3: #f1fa8c
!XTerm*color4: #bd93f9
!XTerm*color5: #ff79c6
!XTerm*color6: #8be9fd
!XTerm*color7: #f8f8f2
!XTerm*color8: #6272a4
!XTerm*color9: #ff6e6e
!XTerm*color10: #69ff94
!XTerm*color11: #ffffa5
!XTerm*color12: #d6acff
!XTerm*color13: #ff92df
!XTerm*color14: #a4ffff
!XTerm*color15: #ffffff
! Xterm 配色实例Solarized Dark
!XTerm*foreground: #839496
!XTerm*background: #002b36
!XTerm*cursorColor: #93a1a1
!
!XTerm*color0: #073642
!XTerm*color1: #dc322f
!XTerm*color2: #859900
!XTerm*color3: #b58900
!XTerm*color4: #268bd2
!XTerm*color5: #d33682
!XTerm*color6: #2aa198
!XTerm*color7: #eee8d5
!XTerm*color8: #002b36
!XTerm*color9: #cb4b16
!XTerm*color10: #586e75
!XTerm*color11: #657b83
!XTerm*color12: #839496
!XTerm*color13: #6c71c4
!XTerm*color14: #93a1a1
!XTerm*color15: #fdf6e3
! Xterm 配色实例Solarized Light
!XTerm*foreground: #657b83
!XTerm*background: #fdf6e3
!XTerm*cursorColor: #586e75
!
!XTerm*color0: #073642
!XTerm*color1: #dc322f
!XTerm*color2: #859900
!XTerm*color3: #b58900
!XTerm*color4: #268bd2
!XTerm*color5: #d33682
!XTerm*color6: #2aa198
!XTerm*color7: #eee8d5
!XTerm*color8: #002b36
!XTerm*color9: #cb4b16
!XTerm*color10: #586e75
!XTerm*color11: #657b83
!XTerm*color12: #839496
!XTerm*color13: #6c71c4
!XTerm*color14: #93a1a1
!XTerm*color15: #fdf6e3
! Xterm 配色实例Base16 Default Light
!XTerm*foreground: #383838
!XTerm*background: #f8f8f8
!XTerm*cursorColor: #d8d8d8
!
!XTerm*color0: #f8f8f8
!XTerm*color1: #ab4642
!XTerm*color2: #a1b56c
!XTerm*color3: #f7ca88
!XTerm*color4: #7cafc2
!XTerm*color5: #ba8baf
!XTerm*color6: #86c1b9
!XTerm*color7: #383838
!XTerm*color8: #b8b8b8
!XTerm*color9: #ab4642
!XTerm*color10: #a1b56c
!XTerm*color11: #f7ca88
!XTerm*color12: #7cafc2
!XTerm*color13: #ba8baf
!XTerm*color14: #86c1b9
!XTerm*color15: #181818
! Xterm 配色实例One Light
!XTerm*foreground: #383a42
!XTerm*background: #fafafa
!XTerm*cursorColor: #526eff
!
!XTerm*color0: #fafafa
!XTerm*color1: #e45649
!XTerm*color2: #50a14f
!XTerm*color3: #c18401
!XTerm*color4: #4078f2
!XTerm*color5: #a626a4
!XTerm*color6: #0184bc
!XTerm*color7: #383a42
!XTerm*color8: #a0a1a7
!XTerm*color9: #e06c75
!XTerm*color10: #98c379
!XTerm*color11: #e5c07b
!XTerm*color12: #61afef
!XTerm*color13: #c678dd
!XTerm*color14: #56b6c2
!XTerm*color15: #fafafa
! Xterm 配色实例GitHub Light
!XTerm*foreground: #24292e
!XTerm*background: #ffffff
!XTerm*cursorColor: #0366d6
!
!XTerm*color0: #24292e
!XTerm*color1: #d73a49
!XTerm*color2: #28a745
!XTerm*color3: #dbab09
!XTerm*color4: #0366d6
!XTerm*color5: #6f42c1
!XTerm*color6: #1b7c83
!XTerm*color7: #6a737d
!XTerm*color8: #959da5
!XTerm*color9: #cb2431
!XTerm*color10: #22863a
!XTerm*color11: #b08800
!XTerm*color12: #005cc5
!XTerm*color13: #5a32a3
!XTerm*color14: #005f6b
!XTerm*color15: #ffffff
! Xterm 配色实例PaperColor Light
!XTerm*foreground: #4d4d4c
!XTerm*background: #fefefe
!XTerm*cursorColor: #af0000
!
!XTerm*color0: #eeeeee
!XTerm*color1: #af0000
!XTerm*color2: #008700
!XTerm*color3: #5f8700
!XTerm*color4: #0087af
!XTerm*color5: #878787
!XTerm*color6: #005f87
!XTerm*color7: #444444
!XTerm*color8: #bcbcbc
!XTerm*color9: #d70000
!XTerm*color10: #d70087
!XTerm*color11: #8700af
!XTerm*color12: #d75f00
!XTerm*color13: #d75f00
!XTerm*color14: #005faf
!XTerm*color15: #005f87
! Xterm 配色实例Gruvbox Dark Soft
XTerm*foreground: #ebdbb2
XTerm*background: #282828
XTerm*cursorColor: #fe8019
XTerm*color0: #282828
XTerm*color1: #cc241d
XTerm*color2: #98971a
XTerm*color3: #d79921
XTerm*color4: #458588
XTerm*color5: #b16286
XTerm*color6: #689d6a
XTerm*color7: #a89984
XTerm*color8: #928374
XTerm*color9: #fb4934
XTerm*color10: #b8bb26
XTerm*color11: #fabd2f
XTerm*color12: #83a598
XTerm*color13: #d3869b
XTerm*color14: #8ec07c
XTerm*color15: #ebdbb2
! Xterm 配色实例One Dark Pro
!XTerm*foreground: #abb2bf
!XTerm*background: #282c34
!XTerm*cursorColor: #528bff
!
!XTerm*color0: #282c34
!XTerm*color1: #e06c75
!XTerm*color2: #98c379
!XTerm*color3: #e5c07b
!XTerm*color4: #61afef
!XTerm*color5: #c678dd
!XTerm*color6: #56b6c2
!XTerm*color7: #dcdfe4
!XTerm*color8: #5c6370
!XTerm*color9: #e06c75
!XTerm*color10: #98c379
!XTerm*color11: #d19a66
!XTerm*color12: #61afef
!XTerm*color13: #c678dd
!XTerm*color14: #56b6c2
!XTerm*color15: #ffffff
! Xterm 配色实例Nord Dark
!XTerm*foreground: #D8DEE9
!XTerm*background: #2E3440
!XTerm*cursorColor: #88C0D0
!
!XTerm*color0: #3B4252
!XTerm*color1: #BF616A
!XTerm*color2: #A3BE8C
!XTerm*color3: #EBCB8B
!XTerm*color4: #81A1C1
!XTerm*color5: #B48EAD
!XTerm*color6: #88C0D0
!XTerm*color7: #E5E9F0
!XTerm*color8: #4C566A
!XTerm*color9: #BF616A
!XTerm*color10: #A3BE8C
!XTerm*color11: #EBCB8B
!XTerm*color12: #81A1C1
!XTerm*color13: #B48EAD
!XTerm*color14: #8FBCBB
!XTerm*color15: #ECEFF4
! ==============================================================================
! 滚动条配置
! ==============================================================================
! 隐藏滚动条
XTerm*scrollBar: false
! 显示滚动条
! XTerm*scrollBar: true
! 滚动条在右侧
XTerm*rightScrollBar: true
! 更平滑的滚动
XTerm*jumpScroll: true
! 滚动回溯缓冲区大小(保存多少行历史)
XTerm*saveLines: 10000
! ==============================================================================
! 光标配置
! ==============================================================================
! 光标闪烁
XTerm*cursorBlink: true
! 下划线光标
!XTerm*cursorUnderline: true
! 块装光标如果cursorUnderline是false
! XTerm*cursorBlock: true
! 竖条光标
XTerm*cursorShape: bar
! ==============================================================================
! 其他实用功能
! ==============================================================================
! 启用粗体模式
XTerm*boldMode: true
! 高亮鼠标选择
XTerm*highlightSelection: true
! 高亮选择的颜色(可与光标颜色不同)
XTerm*highlightColor: #81a2be
! 启用鼠标选择即复制(通常鼠标中键粘贴)
XTerm*copySelections: true
! 复制时是否包含换行符
XTerm*cutNewline: false
! 确保Xterm正确初始化终端模式
XTerm*ptyInitialMode: term
! 字体渲染调试 (如果字体显示有问题)
! XTerm*renderFont: true
! XTerm*renderFontResample: true
! XTerm*renderFontHinting: true
! XTerm*renderFontAntiAlias: true

10
.bashrc Normal file
View file

@ -0,0 +1,10 @@
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
alias ls='colorls -Ga'
alias ll='colorls -Gal'
alias df='df -h'
alias du='du -sh'
alias ifconfig='/home/alex/color_ifconfig'
export PS1="\[\e[1;3;36m\]\u@\h \[\e[0;33m\]\w \[\e[0m\]>"

1
.config/bat/config Normal file
View file

@ -0,0 +1 @@
--theme=ansi

215
.config/i3/config Normal file
View file

@ -0,0 +1,215 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
#font pango:monospace 8
font pango:MesloLGM Nerd Font Mono 8,Sarasa Term SC Nerd 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
#exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
#set $refresh_i3status pkill -SIGUSR1 i3status
#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
#bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
tiling_drag modifier titlebar
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
bindsym Control+u exec urxvt
bindsym Control+n exec nvim-qt
bindsym Control+f exec firefox
bindsym Control+g exec gvim
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
# bindsym $mod+d exec --no-startup-id dmenu_run
bindsym $mod+d exec --no-startup-id rofi -show drun \
-theme gruvbox-dark \
-show-icons
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
bindsym $mod+q exec --no-startup-id rofi -show window \
-theme gruvbox-dark \
-show-icons
bindsym $mod+t exec --no-startup-id rofi -show run \
-theme gruvbox-dark \
-show-icons
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
# status_command i3status -c ~/.i3status.conf
# position top
# font pango:MesloLGM Nerd Font Mono 8
#}
include /home/alex/.config/i3/themes/catppuccin/config
#client.focused #808080 #808080 #ffffff #ffffff #808080
#client.focused_inactive #808080 #808080 #ffffff #ffffff #808080
#client.unfocused #505050 #505050 #ffffff #ffffff #505050
#client.urgent #ff0000 #808080 #ffffff #ff0000 #ff0000
exec_always --no-startup-id polybar main

@ -0,0 +1 @@
Subproject commit c072ada05271eec960dc893affe9ac55af63a745

34
.config/lf/lfrc Normal file
View file

@ -0,0 +1,34 @@
set ifs "\n" # 文件名含空格时用换行分隔
set hidden # 显示隐藏文件
set number # 显示行号
set preview # 开启预览
set previewer ~/.config/lf/pv.sh # 自定义预览脚本
set icons # 显示图标
# 常用快捷键
map <C-f> $lf -remote "send $id select $(fd -t f -t d . | fzf)" # 用 fzf 跳转
map <C-y> ${{
# 复制当前文件绝对路径
printf '%s\n' "$fx" | xclip -sel clip
}}
map <C-o> &mimeopen "$f" & # 用系统默认程序打开
# map D trash-put "$fx" # 移动到回收站(需安装 trash-put
map <F5> cp -r "$fx" "$d" # 复制
map <F6> mv -n "$fx" "$d" # 移动
map <F7> mkdir # 新建目录(内置交互)
# map <F8> rm -rf "$fx" # 删除(慎用)
map j down
map k up
map l open
map h updir
# 预览文本/图片/归档
cmd pv %{{
case "$(file -Lb --mime-type "$1")" in
text/*) bat --paging=never --color=always "$1" ;;
image/*) chafa -c 256 -s 80x25 "$1" ;;
application/zip|application/x-tar) atool -l "$1" ;;
*) file -b "$1" ;;
esac
}}

6
.config/lf/pv.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/sh
case "$(file -Lb --mime-type "$1")" in
text/*|application/json|application/xml) bat --color=always --paging=never "$1" ;;
image/*) chafa -c 256 -s "$2"x"$3" "$1" ;;
*) file -b "$1" ;;
esac

1
.config/nvim Submodule

@ -0,0 +1 @@
Subproject commit d342764889c902948269469c47dd19bf6ade88bd

2
.config/polybar/battery.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/sh
printf "%s%%\n" "$(apm -l)"

230
.config/polybar/config.ini Normal file
View file

@ -0,0 +1,230 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = #282A2E
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
alert = #A54242
disabled = #707880
[bar/main]
width = 100%
height = 20pt
radius = 6
; dpi = 96
;background = ${colors.background}
;foreground = ${colors.foreground}
background = #80222222
;foreground = #90a333
line-size = 0pt
border-size = 0
border-color = #00000000
padding-left = 0
padding-right = 1
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = Sarasa Term SC Nerd:bold:italic:siza=10;2
font-1 = MesloLGM Nerd Font Mono:bold:size=10;2
;font-1 = Maple Mono Normal CN:size=10;2
modules-left = xworkspaces
modules-right = netrate volume memory cpu battery date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
; wm-restack = generic
; wm-restack = bspwm
; wm-restack = i3
; override-redirect = true
; This module is not active by default (to enable it, add it to one of the
; modules-* list above).
; Please note that only a single tray can exist at any time. If you launch
; multiple bars with this module, only a single one will show it, the others
; will produce a warning. Which bar gets the module is timing dependent and can
; be quite random.
; For more information, see the documentation page for this module:
; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
[module/systray]
type = internal/tray
format-margin = 8pt
tray-spacing = 16pt
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-active-foreground = #0afaee
label-occupied = %name%
label-occupied-padding = 1
label-occupied-foreground = #6487b4
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-urgent-foreground = #ea2e4e
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
;[module/filesystem]
;type = internal/fs
;interval = 25
;
;mount-0 = /
;
;label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
;
;label-unmounted = %mountpoint% not mounted
;label-unmounted-foreground = ${colors.disabled}
;
;[module/pulseaudio]
;type = internal/pulseaudio
;
;format-volume-prefix = "VOL "
;format-volume-prefix-foreground = ${colors.primary}
;format-volume = <label-volume>
;
;label-volume = %percentage%%
;
;label-muted = muted
;label-muted-foreground = ${colors.disabled}
[module/netrate]
type = custom/script
exec = ~/.config/polybar/netrate.sh
interval = 2
format-prefix = "󰑫 "
format-prefix-foreground = ${colors.primary}
label = %output%
label-foreground = #7e9d7b
[module/volume]
type = custom/script
exec = ~/.config/polybar/sndio.sh
interval = 1
format-prefix = "󰵪 "
format-prefix-foreground = ${colors.primary}
label = %output%%
label-muted = muted
label-muted-foreground = ${colors.disabled}
label-foreground = #7e9d7b
;[module/xkeyboard]
;type = internal/xkeyboard
;blacklist-0 = num lock
;
;label-layout = %layout%
;label-layout-foreground = ${colors.primary}
;
;label-indicator-padding = 2
;label-indicator-margin = 1
;label-indicator-foreground = ${colors.background}
;label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = "󱞚 "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
label-foreground = #7e9d7b
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "󱑭 "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
label-foreground = #7e9d7b
;[module/battery]
;type = custom/script
;exec = ~/.config/polybar/battery.sh
;interval = 5
;format = <label>
;label = %output%
[module/battery]
type = custom/script
exec = ~/.config/polybar/battery.sh
interval = 5
format-prefix = "󰂋 "
format-prefix-foreground = ${colors.primary}
label = %output%
label-foreground = #7e9d7b
;[network-base]
;type = internal/network
;interval = 5
;format-connected = <label-connected>
;format-disconnected = <label-disconnected>
;label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
;
;[module/wlan]
;inherit = network-base
;interface-type = wireless
;interface = iwm0
;label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
;
;[module/eth]
;inherit = network-base
;interface-type = wired
;interface = em0
;label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
[module/date]
type = internal/date
interval = 1
date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
label-foreground = ${colors.primary}
[settings]
screenchange-reload = true
pseudo-transparency = true
; vim:ft=dosini

2
.config/polybar/netrate.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/sh
ifstat -q 1 1 | tail -1 | awk '{printf "%.1f↓ %.1f↑\n", $1, $2}'

5
.config/polybar/sndio.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/sh
level=$(sndioctl -n output.level | awk '{ printf int($1*100+0.5) }')
muted=$(sndioctl -n output.mute)
[ "$muted" = "1" ] && echo "muted" || echo "$level"

220
.config/tint2/tint2rc Normal file
View file

@ -0,0 +1,220 @@
#---- Generated by tint2conf 9cdf ----
# See https://gitlab.com/o9000/tint2/wikis/Configure for
# full documentation of the configuration options.
#-------------------------------------
# Gradients
#-------------------------------------
# Backgrounds
# Background 1: Panel
rounded = 0
border_width = 0
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #000000 60
border_color = #000000 30
background_color_hover = #000000 60
border_color_hover = #000000 30
background_color_pressed = #000000 60
border_color_pressed = #000000 30
# Background 2: Default task, Iconified task
rounded = 4
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #777777 20
border_color = #777777 30
background_color_hover = #aaaaaa 22
border_color_hover = #eaeaea 44
background_color_pressed = #555555 4
border_color_pressed = #eaeaea 44
# Background 3: Active task
rounded = 4
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #777777 20
border_color = #ffffff 40
background_color_hover = #aaaaaa 22
border_color_hover = #eaeaea 44
background_color_pressed = #555555 4
border_color_pressed = #eaeaea 44
# Background 4: Urgent task
rounded = 4
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #aa4400 100
border_color = #aa7733 100
background_color_hover = #cc7700 100
border_color_hover = #aa7733 100
background_color_pressed = #555555 4
border_color_pressed = #aa7733 100
# Background 5: Tooltip
rounded = 1
border_width = 1
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #222222 100
border_color = #333333 100
background_color_hover = #ffffaa 100
border_color_hover = #000000 100
background_color_pressed = #ffffaa 100
border_color_pressed = #000000 100
#-------------------------------------
# Panel
#panel_items = LTSBC
panel_items = LTS
panel_size = 100% 28
panel_margin = 0 0
panel_padding = 2 0 2
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_pivot_struts = 0
panel_position = bottom center horizontal
panel_layer = top
panel_monitor = all
panel_shrink = 0
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 1
mouse_effects = 1
font_shadow = 0
mouse_hover_icon_asb = 100 0 10
mouse_pressed_icon_asb = 100 0 0
scale_relative_to_dpi = 0
scale_relative_to_screen_height = 0
#-------------------------------------
# Taskbar
taskbar_mode = single_desktop
taskbar_hide_if_empty = 0
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_hide_different_desktop = 0
taskbar_always_show_all_desktop_tasks = 0
taskbar_name_padding = 4 2
taskbar_name_background_id = 0
taskbar_name_active_background_id = 0
taskbar_name_font_color = #e3e3e3 100
taskbar_name_active_font_color = #bb4444 100
taskbar_distribute_size = 0
taskbar_sort_order = none
task_align = left
taskbar_name_font = MesloLGM Nerd Font Mono bold 12
taskbar_name_active_font = MesloLGM Nerd Font Mono bold 12
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 1
urgent_nb_of_blink = 100000
task_maximum_size = 150 35
task_padding = 2 2 4
task_tooltip = 1
task_thumbnail = 0
task_thumbnail_size = 210
task_font_color = #ffffff 100
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = toggle
mouse_scroll_down = iconify
task_font = MesloLGM Nerd Font Mono bold italic 10
task_active_font = MesloLGM Nerd Font Mono bold italic 10
#-------------------------------------
# System tray (notification area)
systray_padding = 0 4 2
systray_background_id = 0
systray_sort = ascending
systray_icon_size = 24
systray_icon_asb = 100 0 0
systray_monitor = 1
systray_name_filter =
#-------------------------------------
# Launcher
launcher_padding = 2 4 2
launcher_background_id = 0
launcher_icon_background_id = 0
launcher_icon_size = 24
launcher_icon_asb = 100 0 0
launcher_icon_theme_override = 0
startup_notifications = 1
launcher_tooltip = 1
#launcher_item_app = tint2conf.desktop
#launcher_item_app = firefox.desktop
#launcher_item_app = firefox-esr.desktop
#launcher_item_app = chromium-browser.desktop
#launcher_item_app = iridium-browser.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_timezone =
time2_timezone =
clock_font_color = #ffffff 100
clock_padding = 2 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command =
clock_rclick_command = orage
clock_mclick_command =
clock_uwheel_command =
clock_dwheel_command =
#-------------------------------------
# Battery
battery_tooltip = 1
battery_low_status = 10
battery_low_cmd = xmessage 'tint2: Battery low!'
battery_full_cmd =
battery_font_color = #ffffff 100
bat1_format =
bat2_format =
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
battery_lclick_command =
battery_rclick_command =
battery_mclick_command =
battery_uwheel_command =
battery_dwheel_command =
ac_connected_cmd =
ac_disconnected_cmd =
bat1_font = MesloLGM Nerd Font Mono bold italic 10
battery_font_color = MesloLGM Nerd Font Mono bold italic 10
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 4 4
tooltip_background_id = 5
tooltip_font_color = #dddddd 100

View file

@ -0,0 +1,201 @@
#---- Generated by tint2conf aeaf ----
# See https://gitlab.com/o9000/tint2/wikis/Configure for
# full documentation of the configuration options.
#-------------------------------------
# Gradients
#-------------------------------------
# Backgrounds
# Background 1: Panel
rounded = 0
border_width = 0
border_sides = TBLR
background_color = #000000 60
border_color = #000000 30
background_color_hover = #000000 60
border_color_hover = #000000 30
background_color_pressed = #000000 60
border_color_pressed = #000000 30
# Background 2: Default task, Iconified task
rounded = 4
border_width = 1
border_sides = TBLR
background_color = #777777 20
border_color = #777777 30
background_color_hover = #aaaaaa 22
border_color_hover = #eaeaea 44
background_color_pressed = #555555 4
border_color_pressed = #eaeaea 44
# Background 3: Active task
rounded = 4
border_width = 1
border_sides = TBLR
background_color = #777777 20
border_color = #ffffff 40
background_color_hover = #aaaaaa 22
border_color_hover = #eaeaea 44
background_color_pressed = #555555 4
border_color_pressed = #eaeaea 44
# Background 4: Urgent task
rounded = 4
border_width = 1
border_sides = TBLR
background_color = #aa4400 100
border_color = #aa7733 100
background_color_hover = #cc7700 100
border_color_hover = #aa7733 100
background_color_pressed = #555555 4
border_color_pressed = #aa7733 100
# Background 5: Tooltip
rounded = 1
border_width = 1
border_sides = TBLR
background_color = #222222 100
border_color = #333333 100
background_color_hover = #ffffaa 100
border_color_hover = #000000 100
background_color_pressed = #ffffaa 100
border_color_pressed = #000000 100
#-------------------------------------
# Panel
panel_items = LTSC
panel_size = 100% 30
panel_margin = 0 0
panel_padding = 2 0 2
panel_background_id = 1
wm_menu = 1
panel_dock = 0
panel_position = bottom center horizontal
panel_layer = top
panel_monitor = all
panel_shrink = 0
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0.5
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 1
mouse_effects = 1
font_shadow = 0
mouse_hover_icon_asb = 100 0 10
mouse_pressed_icon_asb = 100 0 0
#-------------------------------------
# Taskbar
taskbar_mode = single_desktop
taskbar_hide_if_empty = 0
taskbar_padding = 0 0 2
taskbar_background_id = 0
taskbar_active_background_id = 0
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_hide_different_desktop = 0
taskbar_always_show_all_desktop_tasks = 0
taskbar_name_padding = 4 2
taskbar_name_background_id = 0
taskbar_name_active_background_id = 0
taskbar_name_font_color = #e3e3e3 100
taskbar_name_active_font_color = #ffffff 100
taskbar_distribute_size = 0
taskbar_sort_order = none
task_align = left
#-------------------------------------
# Task
task_text = 1
task_icon = 1
task_centered = 1
urgent_nb_of_blink = 100000
task_maximum_size = 150 35
task_padding = 2 2 4
task_tooltip = 1
task_thumbnail = 0
task_thumbnail_size = 210
task_font_color = #ffffff 100
task_background_id = 2
task_active_background_id = 3
task_urgent_background_id = 4
task_iconified_background_id = 2
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = close
mouse_scroll_up = toggle
mouse_scroll_down = iconify
#-------------------------------------
# System tray (notification area)
systray_padding = 0 4 2
systray_background_id = 0
systray_sort = ascending
systray_icon_size = 24
systray_icon_asb = 100 0 0
systray_monitor = 1
systray_name_filter =
#-------------------------------------
# Launcher
launcher_padding = 2 4 2
launcher_background_id = 0
launcher_icon_background_id = 0
launcher_icon_size = 24
launcher_icon_asb = 100 0 0
launcher_icon_theme_override = 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = tint2conf.desktop
launcher_item_app = firefox.desktop
launcher_item_app = firefox-esr.desktop
launcher_item_app = chromium-browser.desktop
launcher_item_app = iridium-browser.desktop
#-------------------------------------
# Clock
time1_format = %H:%M
time2_format = %A %d %B
time1_timezone =
time2_timezone =
clock_font_color = #ffffff 100
clock_padding = 2 0
clock_background_id = 0
clock_tooltip =
clock_tooltip_timezone =
clock_lclick_command =
clock_rclick_command = orage
clock_mclick_command =
clock_uwheel_command =
clock_dwheel_command =
#-------------------------------------
# Battery
battery_tooltip = 1
battery_low_status = 10
battery_low_cmd = xmessage 'tint2: Battery low!'
battery_full_cmd =
battery_font_color = #ffffff 100
bat1_format =
bat2_format =
battery_padding = 1 0
battery_background_id = 0
battery_hide = 101
battery_lclick_command =
battery_rclick_command =
battery_mclick_command =
battery_uwheel_command =
battery_dwheel_command =
ac_connected_cmd =
ac_disconnected_cmd =
#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 4 4
tooltip_background_id = 5
tooltip_font_color = #dddddd 100

133
.cwmrc Normal file
View file

@ -0,0 +1,133 @@
# =========================================
# cwm极简桌面配置
# =========================================
# 设置Xft默认字体
#fontname "MesloLGM Nerd Font Mono:pixelsize=14:bold"
fontname "Sarasa Term SC Nerd:pixelsize=14:bold"
# 开启粘性分组模式
sticky yes
# 外观设置
borderwidth 2
color activeborder '#5294E2'
color inactiveborder '#565656'
color urgencyborder '#cc241d'
# 间隔设置(上下左右)
gap 31 29 2 2
# 窗口移动距离
moveamount 2
# 设置窗口焦点循环顺序Alt+Tab
#cycle
# 边缘粘附行为(窗口推动吸附边缘)
snapdist 10
# 设置菜单颜色
color font '#bcbdbc'
color selfont '#eeeec'
color menubg '#1c1c1c'
color menufg '#215d9c'
# 设置菜单启动程序
command "Xterm终端" xterm
command "Urxvt终端" urxvt
command "文件管理器" xfe
command "Firefox" firefox
command "Chromium" ungoogled-chromium
command "Vim编辑器" gvim
command "Neovim编辑器" nvim-qt
command "Office办公套件" libreoffice
command "Media Player播放器" vlc
command "照片管理器" shotwell
command "PDF阅读器" atril
# ===================================
# 快捷键配置
# ===================================
# “C”---Ctrl键
# “M”---Meta键Alt键
# “S”---Shift键
# “4”---Super键Win键
# 切换工作区
bind-key 4-1 group-only-1
bind-key 4-2 group-only-2
bind-key 4-3 group-only-3
bind-key 4-4 group-only-4
bind-key 4-5 group-only-5
bind-key 4-6 group-only-6
bind-key 4-7 group-only-7
bind-key 4-8 group-only-8
bind-key 4-9 group-only-9
bind-key 4M-1 group-toggle-1
bind-key 4M-2 group-toggle-2
bind-key 4M-3 group-toggle-3
bind-key 4M-4 group-toggle-4
bind-key 4M-5 group-toggle-5
bind-key 4M-6 group-toggle-6
bind-key 4M-7 group-toggle-7
bind-key 4M-8 group-toggle-8
bind-key 4M-9 group-toggle-9
# 移动窗口到指定工作区
bind-key 4S-1 window-movetogroup-1
bind-key 4S-2 window-movetogroup-2
bind-key 4S-3 window-movetogroup-3
bind-key 4S-4 window-movetogroup-4
bind-key 4S-5 window-movetogroup-5
bind-key 4S-6 window-movetogroup-6
bind-key 4S-7 window-movetogroup-7
bind-key 4S-8 window-movetogroup-8
bind-key 4S-9 window-movetogroup-9
# 快速打开程序
bind-key C-Return xterm # Ctrl+enter 打开xterm
bind-key C-g gvim # Ctrl+g 打开Vim
bind-key C-u urxvt # Ctrl+u 打开urxvt
bind-key C-n nvim-qt # Ctrl+n 打开Neovim
bind-key C-m firefox # Ctrl+m 打开firefox
# 窗口操作设置快捷键
bind-key 4-equal window-vmaximize # Win+= 窗口垂直最大化
bind-key 4S-equal window-hmaximize # Win+Shift+= 窗口水平最大化
bind-key 4-v window-maximize # Win+v 窗口最大化
bind-key 4-f window-fullscreen # Win+f 窗口全屏
bind-key 4-t window-vtile # Win+t 窗口垂直分列
bind-key 4S-t window-htile # Win+Shift+t 窗口水平分列
bind-key 4-c window-close # Win+c 关闭窗口
bind-key 4-u window-hide # Win+u 隐藏窗口
bind-key 4-j window-cycle # Win+j 窗口焦点正向循环
bind-key 4-k window-rcycle # Win+k 窗口焦点反向循环
bind-key 4S-h window-move-left # Win+Shift+h 向左移动窗口
bind-key 4S-j window-move-down # Win+Shift+j 向下移动窗口
bind-key 4S-k window-move-up # Win+Shift+k 向上移动窗口
bind-key 4S-l window-move-right # Win+Shift+l 向右移动窗口
bind-key 4M-h window-snap-left # Win+Alt+h 快速移动到屏幕左端
bind-key 4M-j window-snap-down # Win+Alt+j 快速移动到屏幕下端
bind-key 4M-k window-snap-up # Win+Alt+k 快速移动到屏幕上端
bind-key 4M-l window-snap-right # Win+Alt+l 快速移动到屏幕右端
# bind-key 4-e menu-exec # Win+e 快速打开交互式命令行
bind-key 4-r "rofi -show drun -theme gruvbox-dark -show-icons" # Win+r 快速打开rofi -show drun
bind-key 4-w "rofi -show window -theme gruvbox-dark -show-icons" # Win+w 快速打开rofi -show window
bind-key 4-e "rofi -show run -theme gruvbox-dark -show-icons" # Win+e 快速打开rofi -show run
bind-key 4-s "rofi -show ssh -theme gruvbox-dark -show-icons" # Win+s 快速打开rofi -show ssh
bind-key C-r restart # Ctrl+r 重启cwm
bind-key C-q quit # Ctrl+q 退出cwm
# 设置鼠标按键
bind-mouse M-1 window-move # 鼠标左击+Alt 移动窗口
bind-mouse M-2 window-lower # 鼠标中击+Alt 切换堆叠窗口
bind-mouse M-3 window-resize # 鼠标右击 改变窗口大小
autogroup 1 "xterm,xterm"
autogroup 2 "Firefox,Chromium"

71
.i3status.conf Normal file
View file

@ -0,0 +1,71 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
output_format = "i3bar"
colors = true
interval = 5
}
order += "ipv6"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "disk /"
order += "load"
order += "memory"
order += "tztime local"
order += "cpu_temperature cpu0"
order += "cpu_temperature acpitz0"
order += "volume master"
cpu_temperature cpu0 {
format = "C: %degrees C"
path = "cpu0"
}
cpu_temperature acpitz0 {
format = "TZ: %degrees C"
}
wireless _first_ {
format_up = "W: (%quality at %essid) %ip"
format_down = "W: down"
}
ethernet _first_ {
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery all {
format = "%status %percentage %remaining"
}
disk "/" {
format = "%avail"
}
volume master {
format = "vol: %volume"
}
load {
format = "%1min"
}
memory {
format = "%used | %available"
threshold_degraded = "1G"
format_degraded = "MEMORY < %available"
}
tztime local {
format = "%Y-%m-%d %H:%M:%S"
}

16
.kshrc Normal file
View file

@ -0,0 +1,16 @@
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
HISTFILE=$HOME/.ksh_history
HISTSIZE=1000
SAVEHIST=1000
alias ls='colorls -Ga'
alias ll='colorls -Gal'
alias df='df -h'
alias du='du -sh'
alias ifconfig='/home/alex/color_ifconfig'
#set -o vi
# export PS1='\[\e[32m\]\u@\h:\w\[\e[0m\]$ '
export PS1='\[\e[33m\]\h\w\[\e[0m\]$ '

21
.profile Normal file
View file

@ -0,0 +1,21 @@
# $OpenBSD: dot.profile,v 1.10 2023/11/16 16:03:51 millert Exp $
#
# sh/ksh initialization
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin
export PATH
: ${HOME='/root'}
export HOME
umask 022
case "$-" in
*i*) # interactive shell
if [ -x /usr/bin/tset ]; then
eval `/usr/bin/tset -IsQ '-munknown:?vt220' $TERM`
fi
;;
esac
if [[ -f ~/.kshrc && $- == *i* ]]; then
. ~/.kshrc
fi

111
.twmrc Normal file
View file

@ -0,0 +1,111 @@
NoGrabServer
RestartPreviousState
DecorateTransients
TitleFont "-misc-dejavu san-bold-r-normal--*-140-*-*-*-*-*-*"
ResizeFont "-misc-dejavu san-bold-r-normal--*-140-*-*-*-*-*-*"
MenuFont "-misc-dejavu san-bold-r-normal--*-140-*-*-*-*-*-*"
IconFont "-misc-dejavu san-bold-r-normal--*-120-*-*-*-*-*-*"
IconManagerFont "-misc-dejavu san-bold-r-normal--*-120-*-*-*"
#ClientBorderWidth
Color
{
BorderColor '#4E4E4E'
DefaultBackground '#D6D6D6'
DefaultForeground '#000000'
TitleBackground '#4E4E4E'
TitleForeground 'white'
MenuTitleBackground '#4E4E4E'
MenuTitleForeground 'white'
MenuBackground '#D6D6D6'
MenuForeground '#4E4E4E'
MenuShadowColor '#303639'
MenuBorderColor '#000000'
}
MoveDelta 3
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }
Button1 = : root : f.menu "defops"
Button1 = m : window|icon : f.function "move-or-lower"
Button2 = m : window|icon : f.iconify
Button3 = m : window|icon : f.function "move-or-raise"
Button1 = : title : f.function "move-or-raise"
Button2 = : title : f.raiselower
Button1 = : icon : f.function "move-or-iconify"
Button2 = : icon : f.iconify
Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.iconify
menu "defops"
{
"Twm" f.title
"XTerm" !"xterm &"
"" f.nop
"Utilities" f.menu "Utilities"
"" f.nop
"Window Ops" f.menu "Window Ops"
"" f.nop
"Kill" f.destroy
"Delete" f.delete
"" f.nop
"Refresh" f.refresh
"" f.nop
"(Re)Start" f.menu "Restart"
"Exit" f.menu "Quit"
}
menu "Utilities"
{
"Top" !"xterm -T Top -n Top -e top &"
"Firefox" !"firefox &"
"Urxvt" !"urxvt &"
"Editres" !"gvim &"
"" f.nop
"Neovim" !"nvim-qt &"
"" f.nop
"XLock" !"xlock -mode random &"
"Reset X defaults" !"xrdb -load $HOME/.Xdefaults"
}
menu "Window Ops"
{
"Iconify" f.iconify
"Resize" f.resize
"Move" f.move
"Raise" f.raise
"Lower" f.lower
"" f.nop
"Focus" f.focus
"Unfocus" f.unfocus
"Show Iconmgr" f.showiconmgr
"Hide Iconmgr" f.hideiconmgr
}
menu "Restart"
{
"Restart" f.restart
"" f.nop
"i3" f.startwm "i3"
"fvwm" f.startwm "fvwm3"
"cwm" f.startwm "cwm"
"" f.nop
"dummy" f.startwm "xterm"
}
menu "Quit"
{
"Don't quit" f.nop
"" f.nop
"Really Quit" f.quit
}

BIN
backgrounds/01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 KiB

BIN
backgrounds/02.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 KiB

BIN
backgrounds/03.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

BIN
backgrounds/04.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

BIN
backgrounds/05.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 KiB

BIN
backgrounds/06.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

BIN
backgrounds/07.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

BIN
backgrounds/08.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
backgrounds/09.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

BIN
backgrounds/10.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 KiB

BIN
backgrounds/11.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

BIN
backgrounds/12.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
backgrounds/13.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
backgrounds/14.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

BIN
backgrounds/15.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
backgrounds/16.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

BIN
backgrounds/17.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

BIN
backgrounds/18.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 KiB

BIN
backgrounds/19.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 KiB

BIN
backgrounds/20.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

BIN
backgrounds/21.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 KiB

BIN
backgrounds/22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
backgrounds/23.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

BIN
backgrounds/24.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,016 KiB

BIN
backgrounds/25.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,019 KiB

BIN
backgrounds/26.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

BIN
backgrounds/27.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
backgrounds/28.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

BIN
backgrounds/29.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
backgrounds/30.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

BIN
backgrounds/31.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 KiB

BIN
backgrounds/32.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

BIN
backgrounds/33.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

BIN
backgrounds/34.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
backgrounds/35.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
backgrounds/36.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
backgrounds/37.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

BIN
backgrounds/xenodm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 KiB

4
bin/cwmbar Executable file
View file

@ -0,0 +1,4 @@
#! /bin/sh
polybar main &
tint2 &
exec cwm

58
color_ifconfig Executable file
View file

@ -0,0 +1,58 @@
#!/bin/sh
ifconfig $@ | awk '
# 接口名称(蓝色加粗),处理 mtu 数值为青色
/^[a-z]+[0-9]+:/ {
interface = substr($0, 1, index($0, ":")+0) # 提取接口名(如 "em0:"
rest = substr($0, length(interface)+1) # 剩余部分flags、mtu 等)
# 处理状态标志UP/BROADCAST/RUNNING/SIMPLEX/MULTICAST
if (match(rest, /<[^>]+>/)) {
flags_str = substr(rest, RSTART, RLENGTH)
gsub(/UP/, "\033[32mUP\033[0m", flags_str) # UP 绿色[2,5](@ref)
gsub(/BROADCAST/, "\033[33mBROADCAST\033[0m", flags_str) # BROADCAST 黄色[2,5](@ref)
gsub(/RUNNING/, "\033[32mRUNNING\033[0m", flags_str) # RUNNING 绿色[2,5](@ref)
gsub(/SIMPLEX/, "\033[34mSIMPLEX\033[0m", flags_str) # SIMPLEX 蓝色[2,5](@ref)
gsub(/MULTICAST/, "\033[35mMULTICAST\033[0m", flags_str) # MULTICAST 紫色[2,5](@ref)
rest = substr(rest, 1, RSTART-1) flags_str substr(rest, RSTART+RLENGTH)
}
# 手动处理 mtu 后的数字
if (match(rest, /mtu [0-9]+/)) {
mtu_str = substr(rest, RSTART, RLENGTH)
split(mtu_str, parts, " ")
colored_mtu = "mtu \033[36m" parts[2] "\033[0m"
rest = substr(rest, 1, RSTART-1) colored_mtu substr(rest, RSTART+RLENGTH)
}
printf "\033[1;34m%s\033[0m%s\n", interface, rest
next
}
# IPv4 地址inet 黄色IP 和子网掩码绿色)
/inet / {
sub(/inet /, "\033[33minet \033[0m")
gsub(/(([0-9]+\.){3}[0-9]+)|(0x[0-9a-fA-F]{8})/, "\033[32m&\033[0m")
print
next
}
# IPv6 地址inet6 紫色,地址蓝色)
/inet6 / {
sub(/inet6 /, "\033[35minet6 \033[0m")
gsub(/([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}/, "\033[34m&\033[0m")
print
next
}
# MAC 地址lladdr 标签紫色MAC 地址红色)
/lladdr / {
sub(/lladdr /, "\033[35mlladdr \033[0m")
gsub(/([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}/, "\033[31m&\033[0m")
print
next
}
# 默认行(白色无格式)
{ print "\033[0m" $0 "\033[0m" }
'