dot/i3/config

292 lines
11 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
# heeaha
# 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
#randomnumber
#$(( RANDOM % 15 ))
set $nanpapibeepbeep exec "play -v 0.25 ~/Onedrive/beepbeep/cutebeepbeep(random 0 15).ogg"
set $nanpapibeep exec "play -v 0.25 ~/Onedrive/beepbeep/cutebeep(random 0 15).ogg"
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:mononoki 12
# 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
# 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
exec /usr/bin/dunst
exec xfce4-power-manager
exec syncthing
exec keepassxc
exec_always --no-startup-id autotiling
exec xrandr --output eDP --set TearFree on
#exec play ~/syncthing-files/beepbeep/cutebeepbeep7.ogg
# 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 setxkbmap -option caps:none
exec picom -b
exec feh --bg-center ~/Onedrive/made/tess-website/assets/background-index.jpg
# Use pactl to adjust volume in PulseAudio.
#set $refresh_i3status killall -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 && notify-send "Mic muted"
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return $nanpapibeep; exec alacritty
bindsym $mod+t $nanpapibeep; exec alacritty
# kill focused window
bindsym $mod+q $nanpapibeep; kill
bindsym $mod+Shift+q --release exec --no-startup-id xkill
# emoji
bindsym $mod+e exec rofimoji
# start dmenu (a program launcher)
#bindsym $mod+d exec --no-startup-id dmenu_run -fn mononoki
# A more modern dmenu replacement is rofi:
bindsym $mod+d $nanpapibeepbeep; exec rofi -combi-modi window#drun#scripts#run -show combi -modi combi && $nanpapibeep
# 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 --release button2 kill
bindsym button3 floating toggle
# take a screenshot
bindsym Print $nanpapibeepbeep; exec xfce4-screenshooter -cf
bindsym $mod+Print exec xfce4-screenshooter -cr
bindsym $mod+Shift+Print exec xfce4-screenshooter -cw
# change focus
bindsym $mod+h $nanpapibeep; focus left
bindsym $mod+j $nanpapibeep; focus down
bindsym $mod+k $nanpapibeep; focus up
bindsym $mod+l $nanpapibeep; focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left $nanpapibeep; focus left
bindsym $mod+Down $nanpapibeep; focus down
bindsym $mod+Up $nanpapibeep; focus up
bindsym $mod+Right $nanpapibeep; focus right
# move focused window
bindsym $mod+Shift+h $nanpapibeep; move left
bindsym $mod+Shift+j $nanpapibeep; move down
bindsym $mod+Shift+k $nanpapibeep; move up
bindsym $mod+Shift+l $nanpapibeep; move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left $nanpapibeep; move left
bindsym $mod+Shift+Down $nanpapibeep; move down
bindsym $mod+Shift+Up $nanpapibeep; move up
bindsym $mod+Shift+Right $nanpapibeep; 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 $nanpapibeep; 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 $nanpapibeep; floating toggle
# change focus between tiling / floating windows
bindsym $mod+space $nanpapibeep; 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
bindcode $mod+10 $nanpapibeep; workspace number $ws1
bindcode $mod+11 $nanpapibeep; workspace number $ws2
bindcode $mod+12 $nanpapibeep; workspace number $ws3
bindcode $mod+13 $nanpapibeep; workspace number $ws4
bindcode $mod+14 $nanpapibeep; workspace number $ws5
bindcode $mod+15 $nanpapibeep; workspace number $ws6
bindcode $mod+16 $nanpapibeep; workspace number $ws7
bindcode $mod+17 $nanpapibeep; workspace number $ws8
bindcode $mod+18 $nanpapibeep; workspace number $ws9
bindcode $mod+19 $nanpapibeep; workspace number $ws10
# move focused container to workspace
bindcode $mod+Shift+10 $nanpapibeep; move container to workspace number $ws1
bindcode $mod+Shift+11 $nanpapibeep; move container to workspace number $ws2
bindcode $mod+Shift+12 $nanpapibeep; move container to workspace number $ws3
bindcode $mod+Shift+13 $nanpapibeep; move container to workspace number $ws4
bindcode $mod+Shift+14 $nanpapibeep; move container to workspace number $ws5
bindcode $mod+Shift+15 $nanpapibeep; move container to workspace number $ws6
bindcode $mod+Shift+16 $nanpapibeep; move container to workspace number $ws7
bindcode $mod+Shift+17 $nanpapibeep; move container to workspace number $ws8
bindcode $mod+Shift+18 $nanpapibeep; move container to workspace number $ws9
bindcode $mod+Shift+19 $nanpapibeep; 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 "i3exit lock"
#bindsym $mod+Shift+q exec "i3exit logout"
#i wanted key make sound but it wasnt meant to be :(
#bindsym Return exec xdotool 36
#bindsym Escape exec xdotool 9
#bindsym --release Return exec play ~/syncthing-files/beepbeep/cutebeep2.ogg
#bindsym --release Escape exec play ~/syncthing-files/beepbeep/cutebeep2.ogg
for_window [instance="origin.exe"] floating enable
# 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 oslash 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"
# -- configuring things --
# fuck borders (wait actually i am making thicc borders so i guess im pro-borders now fuck
default_border normal 5
default_floating_border normal 5
# DOTN FUCK BORDER HAVE BORDERS ALWAYS ACTUALLY I AM V PRO-STATE AND PRO-BORDERS OK
hide_edge_borders none
# - colors -
# class border backgr. text indicat childborder
client.focused #e63e62 #e63e62 #031014 #e63e62 #e63e62
client.focused_inactive #e95574 #e95574 #031014 #e95574 #e95574
client.unfocused #e95574 #e95574 #031014 #e95574 #e95574
client.urgent #f16c56 #f16c56 #031014 #f16c56 #f16c56
client.background #42395d
# focus follows mouse no (this is like, self-explanatory) (and also i am unsure of this but wanna try it out for a bit)
# just like,, other options
workspace_auto_back_and_forth yes
force_display_urgency_hint 1000 ms
bindsym $mod+i border toggle 3
bindsym $mod+w sticky toggle
bindsym $mod+s exec i3-input -F 'rename workspace to "%s"' -P 'new name: '
title_align left
# Set shut down, restart and locking features
bindsym $mod+BackSpace $nanpapibeepbeep; mode "$mode_system"
set $mode_system byebye!!! (l)ogout
mode "$mode_system" {
bindsym l $nanpapibeepbeep && i3-msg exit
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"; $nanpapibeep
bindsym Escape mode "default"; $nanpapibeep
}
# application shortcuts
bindsym $mod+F1 exec alacritty -e nvim ~/Onedrive/vimwiki/index.wiki
bindsym $mod+F2 exec alacritty -e ranger
bindsym $mod+F3 exec alacritty --working-directory ~/Onedrive/music -e cmus
bindsym $mod+F4 exec thunderbird
bindsym $mod+shift+F1 exec alacritty -e nvim ~/.i3shortcutshelp
bindsym $mod+Tab exec alacritty -e newsboat
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
font pango:mononoki 14
position top
status_command i3status-rs
strip_workspace_numbers yes
tray_output DP-2
colors {
separator #E63E62
background #031014
statusline #E63E62
focused_workspace #E63E62 #E63E62 #031014
active_workspace #031014 #E63E62 #E63E62
inactive_workspace #031014 #031014 #E63E62
urgent_workspace #F16C56 #F16C56 #031014
}
}
bindsym XF86AudioRaiseVolume exec pamixer -i 5; $nanpapibeep;
bindsym Shift+XF86AudioRaiseVolume exec pamixer -i 1; $nanpapibeep;
bindsym XF86AudioLowerVolume exec pamixer -d 5; $nanpapibeep;
bindsym Shift+XF86AudioLowerVolume exec pamixer -d 1; $nanpapibeep;
bindsym XF86AudioMute exec pamixer -t & $nanpapibeepbeep