Issues with sourcing colour configs, now files are concatenated into final config
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
*/colors.css
|
*/colors.css
|
||||||
*/colors.conf
|
*/colors.conf
|
||||||
|
backups/
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ mv ~/scripts/waybar/waybar_sway_config.json ~/scripts/waybar/config
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
ln -sf ~/scripts/i3 ~/.config/i3
|
ln -sf ~/scripts/i3 ~/.config/i3
|
||||||
ln -sf ~/scripts/i3/i3blocks.conf ~/.config/i3blocks/config
|
ln -sf ~/scripts/i3blocks ~/.config/i3blocks
|
||||||
ln -sf ~/scripts/i3/i3status.conf ~/.config/i3status/config
|
ln -sf ~/scripts/i3status ~/.config/i3status
|
||||||
```
|
```
|
||||||
|
|
||||||
### Cursor
|
### Cursor
|
||||||
@@ -162,6 +162,7 @@ Prefix is <kbd>Ctrl</kbd> + <kbd>f</kbd>.
|
|||||||
| `Prefix + g` | Split horizontal |
|
| `Prefix + g` | Split horizontal |
|
||||||
| `Prefix + v` | Split vertical |
|
| `Prefix + v` | Split vertical |
|
||||||
| `Prefix + h/j/k/l` | Select pane |
|
| `Prefix + h/j/k/l` | Select pane |
|
||||||
|
| `Prefix + J/K` | Swap pane down/up |
|
||||||
| `Prefix + Ctrl + H/J/K/L` | Resize pane |
|
| `Prefix + Ctrl + H/J/K/L` | Resize pane |
|
||||||
| `Prefix + 1-0` | Select window 1-10 |
|
| `Prefix + 1-0` | Select window 1-10 |
|
||||||
| `Alt + 1-0` | Create window 1-10 |
|
| `Alt + 1-0` | Create window 1-10 |
|
||||||
@@ -171,6 +172,8 @@ Prefix is <kbd>Ctrl</kbd> + <kbd>f</kbd>.
|
|||||||
| `Prefix + [` / `]` | Copy mode / Paste |
|
| `Prefix + [` / `]` | Copy mode / Paste |
|
||||||
| `Prefix + r` | Refresh |
|
| `Prefix + r` | Refresh |
|
||||||
| `Prefix + R` | Reload config |
|
| `Prefix + R` | Reload config |
|
||||||
|
| `Prefix + Space` | Send prefix (nested tmux) |
|
||||||
|
| `Prefix + ?` | List keys |
|
||||||
| `Prefix + Ctrl + s` | Save session (resurrect) |
|
| `Prefix + Ctrl + s` | Save session (resurrect) |
|
||||||
| `Prefix + Ctrl + r` | Restore session (resurrect) |
|
| `Prefix + Ctrl + r` | Restore session (resurrect) |
|
||||||
|
|
||||||
|
|||||||
377
hypr/base
Normal file
377
hypr/base
Normal file
@@ -0,0 +1,377 @@
|
|||||||
|
# Hyprland config - converted from i3 config by Adam French
|
||||||
|
# https://wiki.hyprland.org/Configuring/
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
### MONITORS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
monitor=,preferred,auto,1
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
### MY PROGRAMS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = kitty -e ranger
|
||||||
|
$menu = wofi --show run
|
||||||
|
|
||||||
|
###################
|
||||||
|
### CURSOR ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
env = XCURSOR_THEME,Miku Cursor
|
||||||
|
env = XCURSOR_SIZE,48
|
||||||
|
env = HYPRCURSOR_SIZE,48
|
||||||
|
|
||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
|
||||||
|
exec-once = fcitx5
|
||||||
|
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
exec-once = nm-applet
|
||||||
|
exec-once = wl-paste --watch cliphist store
|
||||||
|
exec-once = dunst
|
||||||
|
exec-once = hypridle # replaces xautolock; configure lock in hypridle.conf
|
||||||
|
exec-once = waterfox
|
||||||
|
exec-once = steam
|
||||||
|
exec-once = surfshark
|
||||||
|
exec-once = waybar
|
||||||
|
# exec-once = volctl # may need a Wayland-compatible tray volume tool
|
||||||
|
# exec-once = pamac-tray # check for Wayland support
|
||||||
|
# NOTE: ff-theme-util and fix_xcursor are X11-specific; drop or find Wayland equivalents
|
||||||
|
# Caps<->Escape swap is handled below via input config
|
||||||
|
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
|
||||||
|
#####################
|
||||||
|
### LOOK AND FEEL ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
general {
|
||||||
|
gaps_in = 5 # inner gaps (i3: gaps inner 10 → split between two sides)
|
||||||
|
gaps_out = 0 # outer gaps (i3: gaps outer 0)
|
||||||
|
border_size = 1
|
||||||
|
|
||||||
|
col.active_border = $color_primary
|
||||||
|
col.inactive_border = $color_gray
|
||||||
|
|
||||||
|
resize_on_border = true
|
||||||
|
allow_tearing = false
|
||||||
|
layout = master # closest to i3's stacking default; use dwindle for split
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding = 0
|
||||||
|
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = false
|
||||||
|
}
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
bezier = myBezier, 0.645, 0.045, 0.355, 1.000
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, myBezier
|
||||||
|
animation = border, 1, 10, myBezier
|
||||||
|
animation = borderangle, 1, 8, myBezier
|
||||||
|
animation = fade, 1, 7, myBezier
|
||||||
|
animation = workspaces, 1, 6, myBezier
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
new_status = slave
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 0
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
focus_on_activate = true # replaces i3's "for_window [urgent=latest] focus"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#############
|
||||||
|
### INPUT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
input {
|
||||||
|
kb_layout = gb
|
||||||
|
kb_options = caps:swapescape
|
||||||
|
follow_mouse = 1
|
||||||
|
sensitivity = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
###################
|
||||||
|
### KEYBINDINGS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
$mod = SUPER
|
||||||
|
|
||||||
|
# Terminal
|
||||||
|
bind = $mod, Return, exec, $terminal
|
||||||
|
|
||||||
|
# Kill focused window
|
||||||
|
bind = $mod SHIFT, Q, killactive
|
||||||
|
|
||||||
|
# Launcher (wofi replaces dmenu)
|
||||||
|
bind = $mod, D, exec, wofi --show run --style ~/scripts/wofi/style.css
|
||||||
|
# To approximate your dmenu colors, configure wofi's style.css
|
||||||
|
|
||||||
|
# Pavucontrol
|
||||||
|
bind = $mod CTRL, M, exec, pavucontrol
|
||||||
|
|
||||||
|
# Applications
|
||||||
|
bind = $mod, F2, exec, waterfox
|
||||||
|
bind = $mod, F3, exec, $fileManager
|
||||||
|
bind = $mod SHIFT, F3, exec, pcmanfm
|
||||||
|
bind = $mod, F5, exec, kitty -e mocp
|
||||||
|
|
||||||
|
# Compositor toggle (picom → hyprland manages its own compositor; these are no-ops)
|
||||||
|
# bind = $mod, T, exec, pkill picom
|
||||||
|
# bind = $mod CTRL, T, exec, picom -b
|
||||||
|
|
||||||
|
# Restart dunst
|
||||||
|
bind = $mod SHIFT, D, exec, killall dunst && notify-send 'restart dunst'
|
||||||
|
|
||||||
|
# Screenshots (flameshot on Wayland needs -g flag or use grim/slurp instead)
|
||||||
|
bind = , Print, exec, flameshot gui
|
||||||
|
bind = $mod, Print, exec, grim -g "$(slurp)" - | wl-copy
|
||||||
|
bind = $mod SHIFT, Print, exec, grim -g "$(slurp)" ~/screenshot.png
|
||||||
|
|
||||||
|
# Xkill equivalent
|
||||||
|
bind = $mod CTRL, X, exec, hyprctl kill
|
||||||
|
|
||||||
|
# Lock screen
|
||||||
|
bind = $mod, 9, exec, hyprlock # replaces blurlock; configure hyprlock separately
|
||||||
|
|
||||||
|
# Toggle bar visibility (waybar)
|
||||||
|
bind = $mod, M, exec, pkill -SIGUSR1 waybar
|
||||||
|
|
||||||
|
# Reload Hyprland config
|
||||||
|
bind = $mod SHIFT, C, exec, hyprctl reload
|
||||||
|
|
||||||
|
# Exit Hyprland
|
||||||
|
bind = $mod SHIFT, E, exec, hyprctl dispatch exit
|
||||||
|
|
||||||
|
# System mode (replaces i3's $mode_system)
|
||||||
|
# Simple submap equivalent:
|
||||||
|
bind = $mod, 0, submap, system
|
||||||
|
submap = system
|
||||||
|
bind = , L, exec, hyprlock
|
||||||
|
bind = , L, submap, reset
|
||||||
|
bind = , S, exec, systemctl suspend
|
||||||
|
bind = , S, submap, reset
|
||||||
|
bind = , H, exec, systemctl hibernate
|
||||||
|
bind = , H, submap, reset
|
||||||
|
bind = , R, exec, systemctl reboot
|
||||||
|
bind = , R, submap, reset
|
||||||
|
bind = SHIFT, S, exec, systemctl poweroff
|
||||||
|
bind = SHIFT, S, submap, reset
|
||||||
|
bind = , E, exec, hyprctl dispatch exit
|
||||||
|
bind = , E, submap, reset
|
||||||
|
bind = , Return, submap, reset
|
||||||
|
bind = , Escape, submap, reset
|
||||||
|
submap = reset
|
||||||
|
|
||||||
|
# --- FOCUS ---
|
||||||
|
bind = $mod, H, movefocus, l
|
||||||
|
bind = $mod, J, movefocus, d
|
||||||
|
bind = $mod, K, movefocus, u
|
||||||
|
bind = $mod, L, movefocus, r
|
||||||
|
bind = $mod, left, movefocus, l
|
||||||
|
bind = $mod, down, movefocus, d
|
||||||
|
bind = $mod, up, movefocus, u
|
||||||
|
bind = $mod, right, movefocus, r
|
||||||
|
|
||||||
|
# --- MOVE WINDOWS ---
|
||||||
|
bind = $mod SHIFT, H, movewindow, l
|
||||||
|
bind = $mod SHIFT, J, movewindow, d
|
||||||
|
bind = $mod SHIFT, K, movewindow, u
|
||||||
|
bind = $mod SHIFT, L, movewindow, r
|
||||||
|
bind = $mod SHIFT, left, movewindow, l
|
||||||
|
bind = $mod SHIFT, down, movewindow, d
|
||||||
|
bind = $mod SHIFT, up, movewindow, u
|
||||||
|
bind = $mod SHIFT, right, movewindow, r
|
||||||
|
|
||||||
|
# --- FLOATING ---
|
||||||
|
bind = $mod SHIFT, space, togglefloating
|
||||||
|
bind = $mod, space, focusurgentorlast # approximate focus mode_toggle
|
||||||
|
|
||||||
|
# --- FULLSCREEN ---
|
||||||
|
bind = $mod, F, fullscreen, 0
|
||||||
|
|
||||||
|
# --- SPLIT / LAYOUT ---
|
||||||
|
# Hyprland uses dwindle preselect or master swaps; approximate below:
|
||||||
|
bind = $mod, G, layoutmsg, orientationleft # tile horizontally
|
||||||
|
bind = $mod, V, layoutmsg, orientationbottom # tile vertically
|
||||||
|
bind = $mod, E, layoutmsg, togglesplit
|
||||||
|
|
||||||
|
bind = $mod, w, exec, hyprctl dispatch togglegroup
|
||||||
|
|
||||||
|
# --- STICKY (pin floating window) ---
|
||||||
|
bind = $mod SHIFT, S, pin
|
||||||
|
|
||||||
|
# --- SCRATCHPAD ---
|
||||||
|
bind = $mod SHIFT, minus, movetoworkspacesilent, special:scratchpad
|
||||||
|
bind = $mod, minus, togglespecialworkspace, scratchpad
|
||||||
|
|
||||||
|
# --- WORKSPACE NAVIGATION ---
|
||||||
|
bind = $mod CTRL, right, workspace, +1
|
||||||
|
bind = $mod CTRL, left, workspace, -1
|
||||||
|
bind = $mod, B, workspace, previous # back_and_forth
|
||||||
|
|
||||||
|
# Switch to workspace
|
||||||
|
bind = $mod, 1, workspace, 1
|
||||||
|
bind = $mod, 2, workspace, 2
|
||||||
|
bind = $mod, 3, workspace, 3
|
||||||
|
bind = $mod, 4, workspace, 4
|
||||||
|
bind = $mod, 5, workspace, 5
|
||||||
|
bind = $mod, 6, workspace, 6
|
||||||
|
bind = $mod, 7, workspace, 7
|
||||||
|
bind = $mod, 8, workspace, 8
|
||||||
|
|
||||||
|
# Move container to workspace (silent = don't follow)
|
||||||
|
bind = $mod CTRL, 1, movetoworkspacesilent, 1
|
||||||
|
bind = $mod CTRL, 2, movetoworkspacesilent, 2
|
||||||
|
bind = $mod CTRL, 3, movetoworkspacesilent, 3
|
||||||
|
bind = $mod CTRL, 4, movetoworkspacesilent, 4
|
||||||
|
bind = $mod CTRL, 5, movetoworkspacesilent, 5
|
||||||
|
bind = $mod CTRL, 6, movetoworkspacesilent, 6
|
||||||
|
bind = $mod CTRL, 7, movetoworkspacesilent, 7
|
||||||
|
bind = $mod CTRL, 8, movetoworkspacesilent, 8
|
||||||
|
|
||||||
|
# Move to workspace AND follow (replaces $mod+Shift+N in i3)
|
||||||
|
bind = $mod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mod SHIFT, 8, movetoworkspace, 8
|
||||||
|
|
||||||
|
# --- RESIZE SUBMAP ---
|
||||||
|
bind = $mod, R, submap, resize
|
||||||
|
submap = resize
|
||||||
|
binde = , H, resizeactive, -20 0
|
||||||
|
binde = , J, resizeactive, 0 20
|
||||||
|
binde = , K, resizeactive, 0 -20
|
||||||
|
binde = , L, resizeactive, 20 0
|
||||||
|
binde = , left, resizeactive, -30 0
|
||||||
|
binde = , down, resizeactive, 0 30
|
||||||
|
binde = , up, resizeactive, 0 -30
|
||||||
|
binde = , right, resizeactive, 30 0
|
||||||
|
bind = , Return, submap, reset
|
||||||
|
bind = , Escape, submap, reset
|
||||||
|
submap = reset
|
||||||
|
|
||||||
|
# --- MOUSE BINDS ---
|
||||||
|
bindm = $mod, mouse:272, movewindow # mod+LMB drag to move floating
|
||||||
|
bindm = $mod, mouse:273, resizewindow # mod+RMB drag to resize
|
||||||
|
|
||||||
|
# --- AUDIO ---
|
||||||
|
bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +10%
|
||||||
|
bindel = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -10%
|
||||||
|
bindl = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
bindl = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
|
||||||
|
# --- BRIGHTNESS ---
|
||||||
|
bindel = , XF86MonBrightnessUp, exec, brightnessctl set +5%
|
||||||
|
bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||||
|
|
||||||
|
|
||||||
|
####################
|
||||||
|
### WINDOW RULES ###
|
||||||
|
####################
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = Surfshark
|
||||||
|
match:class = ^(Surfshark)$
|
||||||
|
workspace = 8 silent
|
||||||
|
tile = on
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = pavucontrol
|
||||||
|
match:class = ^(pavucontrol)$
|
||||||
|
float = on
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = Lxappearance
|
||||||
|
match:class = ^(Lxappearance)$
|
||||||
|
float = on
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = PiP
|
||||||
|
match:title = ^(Picture-in-Picture)$
|
||||||
|
float = off
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
##############################
|
||||||
|
### WORKSPACE NAMES / ICONS ##
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# Hyprland workspace names (replaces i3 set $ws variables)
|
||||||
|
# These are used by waybar's workspaces module — configure names there.
|
||||||
|
# ws1=ツ ws2=ಠ‿ಠ ws3=◕‿◕ ws4=ʘ‿ʘ
|
||||||
|
# ws5=˘◡˘ ws6=◠‿◠ ws7=ᵔᴥᵔ ws8=æ
|
||||||
|
|
||||||
|
|
||||||
|
##############################
|
||||||
|
### COLORS (reference only) ##
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# Your theme palette for use in waybar / wofi CSS:
|
||||||
|
# Background: #1b110e
|
||||||
|
# BG Secondary: #000000
|
||||||
|
# Primary: #55ffbb (green)
|
||||||
|
# Secondary: #62ff57 (lime)
|
||||||
|
# Tertiary: #ff579a (pink)
|
||||||
|
# Quaternary: #024942 (dark teal)
|
||||||
|
# Link: #222222
|
||||||
|
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
### NOTES ON MIGRATING FROM i3 ##
|
||||||
|
#####################################
|
||||||
|
# 1. BAR: Replace i3bar+i3status with waybar. Copy the color palette above
|
||||||
|
# into your waybar style.css. Workspace icon names go in waybar config.
|
||||||
|
#
|
||||||
|
# 2. LOCK: Replace blurlock with hyprlock. Configure in ~/.config/hypr/hyprlock.conf
|
||||||
|
# Replace xautolock with hypridle in ~/.config/hypr/hypridle.conf (30 min timeout).
|
||||||
|
#
|
||||||
|
# 3. LAUNCHER: wofi replaces dmenu. Style with ~/.config/wofi/style.css using
|
||||||
|
# your palette colors above.
|
||||||
|
#
|
||||||
|
# 4. SCREENSHOTS: grim + slurp replace i3-scrot on Wayland. flameshot also
|
||||||
|
# works with the -g flag on some setups.
|
||||||
|
#
|
||||||
|
# 5. STACKING layout: Set layout = master above (or dwindle). Hyprland has no
|
||||||
|
# direct stacking mode; use floating or master layout as closest equivalent.
|
||||||
|
#
|
||||||
|
# 6. GAP MODE: Replace the i3-gaps mode with direct hyprctl commands if needed:
|
||||||
|
# hyprctl keyword general:gaps_in 10
|
||||||
|
#
|
||||||
|
# 7. BORDER TOGGLE ($mod+u/y/n): Use windowrulev2 or hyprctl at runtime:
|
||||||
|
# hyprctl keyword general:border_size 0
|
||||||
4
hypr/build.sh
Executable file
4
hypr/build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
cat colors.conf base > hyprland.conf
|
||||||
@@ -1,7 +1,16 @@
|
|||||||
|
$color_primary = rgb(55ffbb)
|
||||||
|
$color_secondary = rgb(62ff57)
|
||||||
|
$color_tertiary = rgb(ff579a)
|
||||||
|
$color_bg = rgb(1b110e)
|
||||||
|
$color_bg_secondary = rgb(000000)
|
||||||
|
$color_alt_bg = rgb(024942)
|
||||||
|
$color_gray = rgb(222222)
|
||||||
|
$color_text_light = rgb(F0F0F0)
|
||||||
|
$color_text_dark = rgb(1b110e)
|
||||||
|
$color_white = rgb(FFFFFF)
|
||||||
# Hyprland config - converted from i3 config by Adam French
|
# Hyprland config - converted from i3 config by Adam French
|
||||||
# https://wiki.hyprland.org/Configuring/
|
# https://wiki.hyprland.org/Configuring/
|
||||||
|
|
||||||
source = ~/scripts/hypr/colors.conf
|
|
||||||
|
|
||||||
################
|
################
|
||||||
### MONITORS ###
|
### MONITORS ###
|
||||||
|
|||||||
374
i3/base
Normal file
374
i3/base
Normal file
@@ -0,0 +1,374 @@
|
|||||||
|
# This is my personal personal i3 config file! - Adam French
|
||||||
|
|
||||||
|
|
||||||
|
# WORKSPACE NAMES -----------------------------------
|
||||||
|
set $ws1 1:ツ
|
||||||
|
set $ws2 2:ಠ‿ಠ
|
||||||
|
set $ws3 3:◕‿◕
|
||||||
|
set $ws4 4:ʘ‿ʘ
|
||||||
|
set $ws5 5:˘◡˘
|
||||||
|
set $ws6 6:◠‿◠
|
||||||
|
set $ws7 7:ᵔᴥᵔ
|
||||||
|
set $ws8 8:æ
|
||||||
|
|
||||||
|
# DEFAULT STARTUP --------------------------------------
|
||||||
|
exec --no-startup-id setxkbmap -option caps:swapescape
|
||||||
|
exec --no-startup-id volctl
|
||||||
|
exec --no-startup-id fcitx5
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
# exec --no-startup-id manjaro-hello
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
exec --no-startup-id pamac-tray
|
||||||
|
exec --no-startup-id clipit
|
||||||
|
exec --no-startup-id dunst
|
||||||
|
exec --no-startup-id xautolock -time 30 -locker blurlock
|
||||||
|
# exec --no-startup-id nitrogen ~/scripts/background.jpg
|
||||||
|
# exec --no-startup-id blueman-applet
|
||||||
|
# exec_always --no-startup-id sbxkb
|
||||||
|
# exec --no-startup-id start_conky_maia
|
||||||
|
# exec --no-startup-id start_conky_green
|
||||||
|
exec --no-startup-id waterfox
|
||||||
|
exec --no-startup-id steam
|
||||||
|
exec --no-startup-id surfshark
|
||||||
|
|
||||||
|
|
||||||
|
# PACTL BINDINGS ---------------------------------------
|
||||||
|
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10%
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
|
||||||
|
# BRIGHTNESSCTL BINDINGS ----------------------------------
|
||||||
|
|
||||||
|
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
||||||
|
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
||||||
|
|
||||||
|
# DEFAULT WINDOW LAYOUT -------------------------------------
|
||||||
|
|
||||||
|
# set default desktop layout (default is tiling)
|
||||||
|
workspace_layout stacking
|
||||||
|
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||||
|
default_border pixel 1
|
||||||
|
default_floating_border normal
|
||||||
|
# Hide borders
|
||||||
|
hide_edge_borders none
|
||||||
|
|
||||||
|
# KEYBINDS --------------------------------------------------
|
||||||
|
|
||||||
|
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# change borders
|
||||||
|
bindsym $mod+u border none
|
||||||
|
bindsym $mod+y border pixel 1
|
||||||
|
bindsym $mod+n border normal
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec kitty
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
# start program launcher
|
||||||
|
bindsym $mod+d exec --no-startup-id dmenu_run -nb '$color_bg' -sf '$color_tertiary' -sb '$color_bg' -nf '$color_primary'
|
||||||
|
|
||||||
|
bindsym $mod+Ctrl+m exec pavucontrol
|
||||||
|
|
||||||
|
# Start Applications
|
||||||
|
bindsym $mod+F2 exec waterfox
|
||||||
|
# bindsym $mod+F3 exec pcmanfm
|
||||||
|
bindsym $mod+F3 exec kitty -e ranger
|
||||||
|
bindsym $mod+Shift+F3 exec pcmanfm_pkexec
|
||||||
|
bindsym $mod+F5 exec kitty -e 'mocp'
|
||||||
|
bindsym $mod+t exec --no-startup-id pkill picom
|
||||||
|
bindsym $mod+Ctrl+t exec --no-startup-id picom -b
|
||||||
|
bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"
|
||||||
|
bindsym Print exec flameshot gui
|
||||||
|
bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
|
||||||
|
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
|
||||||
|
# bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf
|
||||||
|
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
|
||||||
|
|
||||||
|
focus_follows_mouse yes
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l 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+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l 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
|
||||||
|
|
||||||
|
# workspace back and forth (with/without active container)
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
bindsym $mod+b workspace back_and_forth
|
||||||
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
|
# split orientation
|
||||||
|
bindsym $mod+g split h;exec notify-send 'tile horizontally'
|
||||||
|
bindsym $mod+v split v;exec notify-send 'tile vertically'
|
||||||
|
bindsym $mod+q split toggle
|
||||||
|
|
||||||
|
# toggle fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking;exec notify-send 'layout stacking'
|
||||||
|
bindsym $mod+w layout tabbed; exec notify-send 'layout tabbed'
|
||||||
|
bindsym $mod+e layout toggle split; exec notify-send 'layout split'
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# toggle sticky
|
||||||
|
bindsym $mod+Shift+s sticky toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
#navigate workspaces next / previous
|
||||||
|
bindsym $mod+Ctrl+Right workspace next
|
||||||
|
bindsym $mod+Ctrl+Left workspace prev
|
||||||
|
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||||
|
|
||||||
|
# Move to workspace with focused container
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1;
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2;
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3;
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4;
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5;
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6;
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7;
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8;
|
||||||
|
|
||||||
|
# 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'"
|
||||||
|
|
||||||
|
# Set shut down, restart and locking features
|
||||||
|
bindsym $mod+0 mode "$mode_system"
|
||||||
|
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec --no-startup-id i3exit lock, mode "default"
|
||||||
|
bindsym s exec --no-startup-id i3exit suspend, mode "default"
|
||||||
|
bindsym u exec --no-startup-id i3exit switch_user, mode "default"
|
||||||
|
bindsym e exec --no-startup-id i3exit logout, mode "default"
|
||||||
|
bindsym h exec --no-startup-id i3exit hibernate, mode "default"
|
||||||
|
bindsym r exec --no-startup-id i3exit reboot, mode "default"
|
||||||
|
bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
|
||||||
|
|
||||||
|
# exit system mode: "Enter" or "Escape"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Resize window (you can also use the mouse for that)
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym h resize shrink width 5 px or 5 ppt
|
||||||
|
bindsym j resize grow height 5 px or 5 ppt
|
||||||
|
bindsym k resize shrink height 5 px or 5 ppt
|
||||||
|
bindsym l resize grow width 5 px or 5 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
|
||||||
|
|
||||||
|
# exit resize mode: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
|
||||||
|
set $mode_gaps Gaps: (o) outer, (i) inner
|
||||||
|
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||||
|
|
||||||
|
mode "$mode_gaps" {
|
||||||
|
bindsym o mode "$mode_gaps_outer"
|
||||||
|
bindsym i mode "$mode_gaps_inner"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_inner" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_outer" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Lock screen
|
||||||
|
bindsym $mod+9 exec --no-startup-id blurlock
|
||||||
|
# APPLICATION WORKSPACES ----------------------------------------------------
|
||||||
|
assign [class="Surfshark"] $ws8
|
||||||
|
# assign [class="zed"] $ws1
|
||||||
|
# assign [class="gimp"] $ws2
|
||||||
|
# assign [class="Pale moon"] $ws2
|
||||||
|
# assign [class="Pcmanfm"] $ws3
|
||||||
|
# assign [class="Skype"] $ws5
|
||||||
|
|
||||||
|
# APPLICATION WINDOW MODES --------------------------------------------------
|
||||||
|
for_window [title="Picture-in-Picture"] floating disable border pixel 0
|
||||||
|
|
||||||
|
for_window [title="alsamixer"] floating enable border pixel 1
|
||||||
|
for_window [class="calamares"] floating enable border normal
|
||||||
|
for_window [class="Clipgrab"] floating enable
|
||||||
|
for_window [title="File Transfer*"] floating enable
|
||||||
|
for_window [class="fpakman"] floating enable
|
||||||
|
for_window [class="Galculator"] floating enable border pixel 1
|
||||||
|
for_window [class="GParted"] floating enable border normal
|
||||||
|
for_window [title="i3_help"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Lightdm-settings"] floating enable
|
||||||
|
for_window [class="Lxappearance"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Manjaro-hello"] floating enable
|
||||||
|
for_window [class="Manjaro Settings Manager"] floating enable border normal
|
||||||
|
for_window [title="MuseScore: Play Panel"] floating enable
|
||||||
|
for_window [class="Nitrogen"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Oblogout"] fullscreen enable
|
||||||
|
for_window [class="octopi"] floating enable
|
||||||
|
for_window [title="About Pale Moon"] floating enable
|
||||||
|
for_window [class="Pamac-manager"] floating enable
|
||||||
|
for_window [class="Pavucontrol"] floating enable
|
||||||
|
for_window [class="qt5ct"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Simple-scan"] floating enable border normal
|
||||||
|
for_window [class="(?i)System-config-printer.py"] floating enable border normal
|
||||||
|
for_window [class="Skype"] floating enable border normal
|
||||||
|
for_window [class="Timeset-gui"] floating enable border normal
|
||||||
|
for_window [class="(?i)virtualbox"] floating enable border normal
|
||||||
|
for_window [class="Xfburn"] floating enable
|
||||||
|
|
||||||
|
# switch to workspace with urgent window automatically
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
# AESTETICS ----------------------------------------------------------------
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status if available)
|
||||||
|
bar {
|
||||||
|
#status_command i3blocks -c ~/scripts/i3blocks.conf
|
||||||
|
status_command i3status
|
||||||
|
position bottom
|
||||||
|
|
||||||
|
tray_output primary
|
||||||
|
|
||||||
|
bindsym button4 nop
|
||||||
|
bindsym button5 nop
|
||||||
|
font xft:URWGothic-Book 11
|
||||||
|
strip_workspace_numbers yes
|
||||||
|
|
||||||
|
colors {
|
||||||
|
background $color_bg
|
||||||
|
statusline $color_primary
|
||||||
|
separator $color_tertiary
|
||||||
|
focused_workspace $color_primary $color_bg $color_white
|
||||||
|
active_workspace $color_primary $color_alt_bg $color_white
|
||||||
|
inactive_workspace $color_gray $color_alt_bg $color_white
|
||||||
|
binding_mode $color_tertiary $color_bg $color_white
|
||||||
|
urgent_workspace $color_tertiary $color_alt_bg $color_white
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# hide/unhide i3status bar
|
||||||
|
bindsym $mod+m bar mode toggle
|
||||||
|
|
||||||
|
# Theme colors
|
||||||
|
# class border backgr. text indic.
|
||||||
|
client.focused $color_secondary $color_primary $color_text_dark $color_primary
|
||||||
|
client.focused_inactive $color_primary $color_alt_bg $color_text_light $color_tertiary
|
||||||
|
client.unfocused $color_gray $color_alt_bg $color_text_light $color_primary
|
||||||
|
client.urgent $color_tertiary $color_alt_bg $color_white $color_tertiary
|
||||||
|
client.placeholder $color_bg $color_bg $color_white $color_bg
|
||||||
|
|
||||||
|
client.background $color_bg
|
||||||
|
|
||||||
|
# Set inner/outer gaps
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer 0
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||||
|
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
|
||||||
|
smart_borders on
|
||||||
4
i3/build.sh
Executable file
4
i3/build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
cat colors.conf base > config
|
||||||
11
i3/config
11
i3/config
@@ -1,6 +1,15 @@
|
|||||||
|
set $color_primary #55ffbb
|
||||||
|
set $color_secondary #62ff57
|
||||||
|
set $color_tertiary #ff579a
|
||||||
|
set $color_bg #1b110e
|
||||||
|
set $color_bg_secondary #000000
|
||||||
|
set $color_alt_bg #024942
|
||||||
|
set $color_gray #222222
|
||||||
|
set $color_text_light #F0F0F0
|
||||||
|
set $color_text_dark #1b110e
|
||||||
|
set $color_white #FFFFFF
|
||||||
# This is my personal personal i3 config file! - Adam French
|
# This is my personal personal i3 config file! - Adam French
|
||||||
|
|
||||||
include ~/scripts/i3/colors.conf
|
|
||||||
|
|
||||||
# WORKSPACE NAMES -----------------------------------
|
# WORKSPACE NAMES -----------------------------------
|
||||||
set $ws1 1:ツ
|
set $ws1 1:ツ
|
||||||
|
|||||||
169
install.sh
Executable file
169
install.sh
Executable file
@@ -0,0 +1,169 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPTS_DIR="$HOME/scripts"
|
||||||
|
CONFIG_DIR="$HOME/.config"
|
||||||
|
BACKUP_DIR=""
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage: $(basename "$0") [OPTIONS] <target>..."
|
||||||
|
echo
|
||||||
|
echo "Targets:"
|
||||||
|
echo " hyprland Hyprland + waybar + wofi"
|
||||||
|
echo " sway Sway + waybar + wofi"
|
||||||
|
echo " i3 i3 + i3blocks + i3status"
|
||||||
|
echo " cursor Miku cursor theme"
|
||||||
|
echo " shell Source bashrc/zshrc and add sh/ to PATH"
|
||||||
|
echo " alacritty Add import to alacritty.toml"
|
||||||
|
echo " tmux Source tmux.conf"
|
||||||
|
echo " nvim Neovim (LazyVim) config"
|
||||||
|
echo " vim Source vimrc"
|
||||||
|
echo " all Everything (uses hyprland as WM)"
|
||||||
|
echo
|
||||||
|
echo "Options:"
|
||||||
|
echo " -h, --help Show this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
backup() {
|
||||||
|
local path="$1"
|
||||||
|
if [ -e "$path" ] || [ -L "$path" ]; then
|
||||||
|
if [ -z "$BACKUP_DIR" ]; then
|
||||||
|
BACKUP_DIR="$SCRIPTS_DIR/backups/$(date +%Y%m%d_%H%M%S)"
|
||||||
|
mkdir -p "$BACKUP_DIR"
|
||||||
|
echo "Backing up existing configs to $BACKUP_DIR"
|
||||||
|
fi
|
||||||
|
local name
|
||||||
|
name=$(basename "$path")
|
||||||
|
cp -a "$path" "$BACKUP_DIR/$name"
|
||||||
|
echo " Backed up $path"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
link() {
|
||||||
|
local src="$1" dest="$2"
|
||||||
|
backup "$dest"
|
||||||
|
rm -rf "$dest"
|
||||||
|
ln -sf "$src" "$dest"
|
||||||
|
echo " Linked $dest -> $src"
|
||||||
|
}
|
||||||
|
|
||||||
|
append_if_missing() {
|
||||||
|
local file="$1" line="$2"
|
||||||
|
if [ ! -f "$file" ]; then
|
||||||
|
echo "$line" > "$file"
|
||||||
|
echo " Created $file with: $line"
|
||||||
|
elif ! grep -qF "$line" "$file"; then
|
||||||
|
echo "" >> "$file"
|
||||||
|
echo "$line" >> "$file"
|
||||||
|
echo " Appended to $file: $line"
|
||||||
|
else
|
||||||
|
echo " Already in $file: $line"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install_hyprland() {
|
||||||
|
echo "Installing Hyprland configs..."
|
||||||
|
"$SCRIPTS_DIR/hypr/build.sh"
|
||||||
|
"$SCRIPTS_DIR/waybar/build.sh"
|
||||||
|
"$SCRIPTS_DIR/wofi/build.sh"
|
||||||
|
mkdir -p "$CONFIG_DIR"
|
||||||
|
link "$SCRIPTS_DIR/hypr" "$CONFIG_DIR/hypr"
|
||||||
|
link "$SCRIPTS_DIR/waybar" "$CONFIG_DIR/waybar"
|
||||||
|
link "$SCRIPTS_DIR/wofi" "$CONFIG_DIR/wofi"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_sway() {
|
||||||
|
echo "Installing Sway configs..."
|
||||||
|
"$SCRIPTS_DIR/sway/build.sh"
|
||||||
|
"$SCRIPTS_DIR/waybar/build.sh"
|
||||||
|
"$SCRIPTS_DIR/wofi/build.sh"
|
||||||
|
mkdir -p "$CONFIG_DIR"
|
||||||
|
link "$SCRIPTS_DIR/sway" "$CONFIG_DIR/sway"
|
||||||
|
link "$SCRIPTS_DIR/waybar" "$CONFIG_DIR/waybar"
|
||||||
|
link "$SCRIPTS_DIR/wofi" "$CONFIG_DIR/wofi"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_i3() {
|
||||||
|
echo "Installing i3 configs..."
|
||||||
|
"$SCRIPTS_DIR/i3/build.sh"
|
||||||
|
mkdir -p "$CONFIG_DIR"
|
||||||
|
link "$SCRIPTS_DIR/i3" "$CONFIG_DIR/i3"
|
||||||
|
link "$SCRIPTS_DIR/i3blocks" "$CONFIG_DIR/i3blocks"
|
||||||
|
link "$SCRIPTS_DIR/i3status" "$CONFIG_DIR/i3status"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_cursor() {
|
||||||
|
echo "Installing cursor theme..."
|
||||||
|
mkdir -p "$HOME/.local/share/icons"
|
||||||
|
link "$SCRIPTS_DIR/hatsune-miku-windows-linux-cursors/miku-cursor-linux" "$HOME/.local/share/icons/Miku Cursor"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_shell() {
|
||||||
|
echo "Installing shell configs..."
|
||||||
|
if [ -f "$HOME/.zshrc" ] || [ "$SHELL" = *zsh* ]; then
|
||||||
|
append_if_missing "$HOME/.zshrc" "source ~/scripts/zshrc"
|
||||||
|
append_if_missing "$HOME/.zshrc" 'export PATH="$HOME/scripts/sh:$PATH"'
|
||||||
|
fi
|
||||||
|
if [ -f "$HOME/.bashrc" ] || [ "$SHELL" = *bash* ]; then
|
||||||
|
append_if_missing "$HOME/.bashrc" "source ~/scripts/bashrc"
|
||||||
|
append_if_missing "$HOME/.bashrc" 'export PATH="$HOME/scripts/sh:$PATH"'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install_alacritty() {
|
||||||
|
echo "Installing Alacritty config..."
|
||||||
|
local conf="$CONFIG_DIR/alacritty/alacritty.toml"
|
||||||
|
mkdir -p "$CONFIG_DIR/alacritty"
|
||||||
|
append_if_missing "$conf" 'import = ["~/scripts/alacritty.toml"]'
|
||||||
|
}
|
||||||
|
|
||||||
|
install_tmux() {
|
||||||
|
echo "Installing tmux config..."
|
||||||
|
append_if_missing "$HOME/.tmux.conf" "source ~/scripts/tmux.conf"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_nvim() {
|
||||||
|
echo "Installing Neovim config..."
|
||||||
|
mkdir -p "$CONFIG_DIR"
|
||||||
|
link "$SCRIPTS_DIR/nvim" "$CONFIG_DIR/nvim"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_vim() {
|
||||||
|
echo "Installing vim config..."
|
||||||
|
append_if_missing "$HOME/.vimrc" "source ~/scripts/vimrc"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
targets=()
|
||||||
|
for arg in "$@"; do
|
||||||
|
case "$arg" in
|
||||||
|
-h|--help) usage; exit 0 ;;
|
||||||
|
all) targets+=(hyprland cursor shell alacritty tmux nvim vim) ;;
|
||||||
|
*) targets+=("$arg") ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
for target in "${targets[@]}"; do
|
||||||
|
case "$target" in
|
||||||
|
hyprland) install_hyprland ;;
|
||||||
|
sway) install_sway ;;
|
||||||
|
i3) install_i3 ;;
|
||||||
|
cursor) install_cursor ;;
|
||||||
|
shell) install_shell ;;
|
||||||
|
alacritty) install_alacritty ;;
|
||||||
|
tmux) install_tmux ;;
|
||||||
|
nvim) install_nvim ;;
|
||||||
|
vim) install_vim ;;
|
||||||
|
*) echo "Unknown target: $target"; usage; exit 1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$BACKUP_DIR" ]; then
|
||||||
|
echo
|
||||||
|
echo "Backups saved to: $BACKUP_DIR"
|
||||||
|
fi
|
||||||
|
echo "Done!"
|
||||||
331
sway/base
Normal file
331
sway/base
Normal file
@@ -0,0 +1,331 @@
|
|||||||
|
|
||||||
|
output * scale 1.2
|
||||||
|
|
||||||
|
|
||||||
|
# WORKSPACE NAMES -----------------------------------
|
||||||
|
set $ws1 1:ツ
|
||||||
|
set $ws2 2:ಠ‿ಠ
|
||||||
|
set $ws3 3:◕‿◕
|
||||||
|
set $ws4 4:ʘ‿ʘ
|
||||||
|
set $ws5 5:˘◡˘
|
||||||
|
set $ws6 6:◠‿◠
|
||||||
|
set $ws7 7:ᵔᴥᵔ
|
||||||
|
set $ws8 8:æ
|
||||||
|
|
||||||
|
# DEFAULT STARTUP --------------------------------------
|
||||||
|
# Keyboard: caps:swapescape via sway input (replaces setxkbmap)
|
||||||
|
input * {
|
||||||
|
xkb_options caps:swapescape
|
||||||
|
xkb_layout gb
|
||||||
|
}
|
||||||
|
|
||||||
|
exec --no-startup-id volctl
|
||||||
|
exec --no-startup-id fcitx5
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
exec --no-startup-id nm-applet --indicator
|
||||||
|
exec --no-startup-id pamac-tray
|
||||||
|
# clipit is X11-only; use cliphist + wl-paste instead:
|
||||||
|
exec wl-paste --watch cliphist store
|
||||||
|
exec --no-startup-id dunst
|
||||||
|
# swayidle replaces xautolock
|
||||||
|
exec swayidle -w timeout 1800 'swaylock -f' before-sleep 'swaylock -f'
|
||||||
|
exec --no-startup-id waterfox
|
||||||
|
exec --no-startup-id steam
|
||||||
|
exec --no-startup-id surfshark
|
||||||
|
|
||||||
|
# picom is X11-only; sway has a built-in compositor — no exec needed
|
||||||
|
|
||||||
|
# PACTL BINDINGS ---------------------------------------
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10%
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
|
||||||
|
# BRIGHTNESSCTL BINDINGS ----------------------------------
|
||||||
|
|
||||||
|
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
||||||
|
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
||||||
|
|
||||||
|
# DEFAULT WINDOW LAYOUT -------------------------------------
|
||||||
|
|
||||||
|
workspace_layout stacking
|
||||||
|
default_border pixel 1
|
||||||
|
default_floating_border normal
|
||||||
|
hide_edge_borders none
|
||||||
|
|
||||||
|
# KEYBINDS --------------------------------------------------
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# change borders
|
||||||
|
bindsym $mod+u border none
|
||||||
|
bindsym $mod+y border pixel 1
|
||||||
|
bindsym $mod+n border normal
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows
|
||||||
|
floating_modifier $mod normal
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec kitty
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
# start program launcher
|
||||||
|
bindsym $mod+d exec --no-startup-id wofi --show drun --style ~/scripts/wofi/wofi_style.css
|
||||||
|
|
||||||
|
bindsym $mod+Ctrl+m exec pavucontrol
|
||||||
|
|
||||||
|
# Start Applications
|
||||||
|
bindsym $mod+F2 exec waterfox
|
||||||
|
bindsym $mod+F3 exec kitty -e ranger
|
||||||
|
bindsym $mod+Shift+F3 exec pcmanfm
|
||||||
|
bindsym $mod+F5 exec kitty -e 'mocp'
|
||||||
|
# picom keybinds removed (not applicable on Wayland)
|
||||||
|
bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"
|
||||||
|
# Screenshots: grim + slurp replace i3-scrot / flameshot
|
||||||
|
bindsym Print exec grim -g "$(slurp)"
|
||||||
|
bindsym $mod+Print exec grim -g "$(swaymsg -t get_tree | jq -r '.. | select(.focused?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"')"
|
||||||
|
bindsym $mod+Shift+Print exec grim -g "$(slurp)"
|
||||||
|
# xkill not available on Wayland; swaymsg kill is the closest equivalent
|
||||||
|
bindsym $mod+Ctrl+x exec swaymsg kill
|
||||||
|
|
||||||
|
focus_follows_mouse yes
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l 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+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l 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
|
||||||
|
|
||||||
|
# workspace back and forth (with/without active container)
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
bindsym $mod+b workspace back_and_forth
|
||||||
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
|
# split orientation
|
||||||
|
bindsym $mod+g split h;exec notify-send 'tile horizontally'
|
||||||
|
bindsym $mod+v split v;exec notify-send 'tile vertically'
|
||||||
|
bindsym $mod+q split toggle
|
||||||
|
|
||||||
|
# toggle fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking;exec notify-send 'layout stacking'
|
||||||
|
bindsym $mod+w layout tabbed; exec notify-send 'layout tabbed'
|
||||||
|
bindsym $mod+e layout toggle split; exec notify-send 'layout split'
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# toggle sticky
|
||||||
|
bindsym $mod+Shift+s sticky toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
#navigate workspaces next / previous
|
||||||
|
bindsym $mod+Ctrl+Right workspace next
|
||||||
|
bindsym $mod+Ctrl+Left workspace prev
|
||||||
|
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||||
|
|
||||||
|
# Move to workspace with focused container
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
# restart sway inplace
|
||||||
|
bindsym $mod+Shift+r reload
|
||||||
|
|
||||||
|
# exit sway (logs you out of your Wayland session)
|
||||||
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
|
||||||
|
# Set shut down, restart and locking features
|
||||||
|
bindsym $mod+0 mode "$mode_system"
|
||||||
|
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec swaylock -f, mode "default"
|
||||||
|
bindsym s exec systemctl suspend, mode "default"
|
||||||
|
bindsym u exec swaymsg exit, mode "default"
|
||||||
|
bindsym e exit
|
||||||
|
bindsym h exec systemctl hibernate, mode "default"
|
||||||
|
bindsym r exec systemctl reboot
|
||||||
|
bindsym Shift+s exec systemctl poweroff
|
||||||
|
|
||||||
|
# exit system mode: "Enter" or "Escape"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Resize window (you can also use the mouse for that)
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
mode "resize" {
|
||||||
|
bindsym h resize shrink width 5 px or 5 ppt
|
||||||
|
bindsym j resize grow height 5 px or 5 ppt
|
||||||
|
bindsym k resize shrink height 5 px or 5 ppt
|
||||||
|
bindsym l resize grow width 5 px or 5 ppt
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Gaps mode
|
||||||
|
set $mode_gaps Gaps: (o) outer, (i) inner
|
||||||
|
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||||
|
|
||||||
|
mode "$mode_gaps" {
|
||||||
|
bindsym o mode "$mode_gaps_outer"
|
||||||
|
bindsym i mode "$mode_gaps_inner"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_inner" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_outer" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Lock screen
|
||||||
|
bindsym $mod+9 exec --no-startup-id swaylock -f
|
||||||
|
|
||||||
|
# APPLICATION WORKSPACES ----------------------------------------------------
|
||||||
|
assign [app_id="Surfshark"] $ws8
|
||||||
|
|
||||||
|
# APPLICATION WINDOW MODES --------------------------------------------------
|
||||||
|
# Note: use app_id for native Wayland apps, class for XWayland apps
|
||||||
|
for_window [title="Picture-in-Picture"] floating disable border pixel 0
|
||||||
|
|
||||||
|
for_window [title="alsamixer"] floating enable border pixel 1
|
||||||
|
for_window [class="calamares"] floating enable border normal
|
||||||
|
for_window [class="Clipgrab"] floating enable
|
||||||
|
for_window [title="File Transfer*"] floating enable
|
||||||
|
for_window [class="fpakman"] floating enable
|
||||||
|
for_window [class="Galculator"] floating enable border pixel 1
|
||||||
|
for_window [class="GParted"] floating enable border normal
|
||||||
|
for_window [title="i3_help"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Lightdm-settings"] floating enable
|
||||||
|
for_window [class="Lxappearance"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Manjaro-hello"] floating enable
|
||||||
|
for_window [class="Manjaro Settings Manager"] floating enable border normal
|
||||||
|
for_window [title="MuseScore: Play Panel"] floating enable
|
||||||
|
for_window [class="Nitrogen"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Oblogout"] fullscreen enable
|
||||||
|
for_window [class="octopi"] floating enable
|
||||||
|
for_window [title="About Pale Moon"] floating enable
|
||||||
|
for_window [class="Pamac-manager"] floating enable
|
||||||
|
for_window [app_id="pavucontrol"] floating enable
|
||||||
|
for_window [class="qt5ct"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
|
||||||
|
for_window [class="Simple-scan"] floating enable border normal
|
||||||
|
for_window [class="(?i)System-config-printer.py"] floating enable border normal
|
||||||
|
for_window [class="Skype"] floating enable border normal
|
||||||
|
for_window [class="Timeset-gui"] floating enable border normal
|
||||||
|
for_window [class="(?i)virtualbox"] floating enable border normal
|
||||||
|
for_window [class="Xfburn"] floating enable
|
||||||
|
|
||||||
|
# switch to workspace with urgent window automatically
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
# AESTETICS ----------------------------------------------------------------
|
||||||
|
exec_always waybar -c ~/scripts/waybar/waybar_sway_config.json -s ~/scripts/waybar/waybar_style.css
|
||||||
|
|
||||||
|
# Theme colors
|
||||||
|
# class border backgr. text indic.
|
||||||
|
client.focused $color_secondary $color_primary $color_text_dark $color_primary
|
||||||
|
client.focused_inactive $color_primary $color_alt_bg $color_text_light $color_tertiary
|
||||||
|
client.unfocused $color_gray $color_alt_bg $color_text_light $color_primary
|
||||||
|
client.urgent $color_tertiary $color_alt_bg $color_white $color_tertiary
|
||||||
|
client.placeholder $color_bg $color_bg $color_white $color_bg
|
||||||
|
|
||||||
|
client.background $color_bg
|
||||||
|
|
||||||
|
# Set inner/outer gaps
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer 0
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
smart_borders on
|
||||||
4
sway/build.sh
Executable file
4
sway/build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
cat colors.conf base > config
|
||||||
11
sway/config
11
sway/config
@@ -1,4 +1,13 @@
|
|||||||
include ~/scripts/sway/colors.conf
|
set $color_primary #55ffbb
|
||||||
|
set $color_secondary #62ff57
|
||||||
|
set $color_tertiary #ff579a
|
||||||
|
set $color_bg #1b110e
|
||||||
|
set $color_bg_secondary #000000
|
||||||
|
set $color_alt_bg #024942
|
||||||
|
set $color_gray #222222
|
||||||
|
set $color_text_light #F0F0F0
|
||||||
|
set $color_text_dark #1b110e
|
||||||
|
set $color_white #FFFFFF
|
||||||
|
|
||||||
output * scale 1.2
|
output * scale 1.2
|
||||||
|
|
||||||
|
|||||||
123
waybar/base.css
Normal file
123
waybar/base.css
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "URWGothic-Book", monospace;
|
||||||
|
font-size: 16px;
|
||||||
|
min-height: 0;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: @color_bg;
|
||||||
|
color: @color_primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Workspaces */
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 8px;
|
||||||
|
background-color: @color_alt_bg;
|
||||||
|
color: @color_white;
|
||||||
|
border-bottom: 2px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background-color: @color_alt_bg;
|
||||||
|
border-bottom: 2px solid @color_primary;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused,
|
||||||
|
#workspaces button.active {
|
||||||
|
background-color: @color_bg;
|
||||||
|
color: @color_white;
|
||||||
|
border-bottom: 2px solid @color_primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: @color_tertiary;
|
||||||
|
color: @color_white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: @color_tertiary;
|
||||||
|
color: @color_text_dark;
|
||||||
|
padding: 0 8px;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Right-side modules */
|
||||||
|
#custom-greetings,
|
||||||
|
#custom-history,
|
||||||
|
#custom-claudebar,
|
||||||
|
#pulseaudio,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#network,
|
||||||
|
#battery,
|
||||||
|
#clock {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: @color_primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pink separators between modules (matching i3bar separator color) */
|
||||||
|
#custom-history,
|
||||||
|
#custom-claudebar,
|
||||||
|
#pulseaudio,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#network,
|
||||||
|
#battery,
|
||||||
|
#clock {
|
||||||
|
border-left: 1px solid @color_tertiary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning {
|
||||||
|
color: @color_secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical {
|
||||||
|
color: @color_tertiary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-greetings {
|
||||||
|
color: @color_secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: @color_tertiary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* claudebar severity classes */
|
||||||
|
#custom-claudebar.low {
|
||||||
|
color: @color_primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-claudebar.mid {
|
||||||
|
color: @color_secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-claudebar.high {
|
||||||
|
color: @color_tertiary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-claudebar.critical {
|
||||||
|
color: @color_tertiary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
padding: 0 8px;
|
||||||
|
border-left: 1px solid @color_tertiary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: @color_tertiary;
|
||||||
|
}
|
||||||
4
waybar/build.sh
Executable file
4
waybar/build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
cat colors.css base.css > style.css
|
||||||
@@ -1,4 +1,13 @@
|
|||||||
@import "colors.css";
|
@define-color color_primary #55ffbb;
|
||||||
|
@define-color color_secondary #62ff57;
|
||||||
|
@define-color color_tertiary #ff579a;
|
||||||
|
@define-color color_bg #1b110e;
|
||||||
|
@define-color color_bg_secondary #000000;
|
||||||
|
@define-color color_alt_bg #024942;
|
||||||
|
@define-color color_gray #222222;
|
||||||
|
@define-color color_text_light #F0F0F0;
|
||||||
|
@define-color color_text_dark #1b110e;
|
||||||
|
@define-color color_white #FFFFFF;
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: "URWGothic-Book", monospace;
|
font-family: "URWGothic-Book", monospace;
|
||||||
|
|||||||
49
wofi/base.css
Normal file
49
wofi/base.css
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
border: 1px solid @color_primary;
|
||||||
|
background-color: @color_bg;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
padding: 4px 8px;
|
||||||
|
margin: 6px;
|
||||||
|
color: @color_text_light;
|
||||||
|
background-color: @color_alt_bg;
|
||||||
|
border: 1px solid @color_primary;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {
|
||||||
|
background-color: @color_bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
margin: 4px;
|
||||||
|
padding: 4px;
|
||||||
|
background-color: @color_bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
margin: 2px 8px;
|
||||||
|
color: @color_primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected {
|
||||||
|
background-color: @color_alt_bg;
|
||||||
|
border: 1px solid @color_primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text:selected {
|
||||||
|
color: @color_tertiary;
|
||||||
|
}
|
||||||
4
wofi/build.sh
Executable file
4
wofi/build.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
cat colors.css base.css > style.css
|
||||||
@@ -1,4 +1,13 @@
|
|||||||
@import "/home/adamf/scripts/wofi/colors.css";
|
@define-color color_primary #55ffbb;
|
||||||
|
@define-color color_secondary #62ff57;
|
||||||
|
@define-color color_tertiary #ff579a;
|
||||||
|
@define-color color_bg #1b110e;
|
||||||
|
@define-color color_bg_secondary #000000;
|
||||||
|
@define-color color_alt_bg #024942;
|
||||||
|
@define-color color_gray #222222;
|
||||||
|
@define-color color_text_light #F0F0F0;
|
||||||
|
@define-color color_text_dark #1b110e;
|
||||||
|
@define-color color_white #FFFFFF;
|
||||||
|
|
||||||
window {
|
window {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
|
|||||||
Reference in New Issue
Block a user