$HOME/.config/i3/config

# dependencies xfce4-panel and xfce4-appfinder
set $mod Mod4
font pango:monospace 0
#OG Value 8

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# start a terminal
bindsym Mod1+Return exec xfce4-terminal
bindsym XF86AudioRaiseVolume exec amixer set Master 5%+ ; exec pkill -SIGRTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec amixer set Master 5%- ; exec pkill -SIGRTMIN+10 i3blocks
bindsym $mod+Return exec alacritty -e tmux new-session -A -s main
bindsym $mod+Shift+e exec xfce4-session-logout

# kill focused window
bindsym $mod+Shift+q kill
                            #APPLICATION LAUNCHER#
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
bindsym Mod1+d exec rofi -show drun
#bindsym Mod1+Tab exec rofi -show window
bindsym Mod1+p exec xfce4-popup-whiskermenu
#bindsym Mod1+s exec xfce4-appfinder 
for_window [class="Xfce4-appfinder" instance="xfce4-appfinder"] floating enable
                            #APPLICATION LAUNCHER#
# 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 $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
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10

# move focused container to workspace
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
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10

# Move roskpaces between monitors
# Move workspaces betweeen monitors
bindsym $mod+Control+p move workspace to output DP-2
bindsym $mod+Control+n move workspace to output HDMI-1
bindsym $mod+Control+l move workspace to output right
bindsym $mod+Control+k move workspace to output left
#bindsym $mod+Control+j move workspace to output down
#bindsym $mod+Control+k move workspace to output up
bindsym $mod+Tab workspace back_and_forth

# 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)

# 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 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 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"

exec xrandr -s 1920x1080 --rate 165.00

exec nm-applet
exec --no-startup-id nitrogen --restore
exec --no-startup-id tmux -e bash
#bindsym Mod1+h exec pkill pulseaudio && exec pulseaudio
bindsym Mod1+c exec pkill picom
bindsym Mod1+v exec picom
exec_always --no-startup-id picom &

bindsym Mod1+a exec flameshot gui
bindsym Print exec flameshot gui

# change gaps size
bindsym $mod+Shift+t gaps inner current set 4; gaps outer current set 0
bindsym $mod+Shift+s gaps inner current plus 4
bindsym $mod+Shift+f gaps inner current minus 4
bindsym $mod+Shift+d gaps inner current set 0; gaps outer current set 0

# gapsconfig
# previous | for_window [class="^.*"] border pixel 1
for_window [class="^.*"] border pixel 2
# previous | gaps inner 4
gaps inner 4
gaps outer 0
# gapsconfig

#bindsym Mod1+Shift+d exec --no-startup-id alacritty -e ranger
bindsym Mod1+Shift+d exec --no-startup-id thunar 
bindsym Mod1+Shift+m exec --no-startup-id alacritty -e ncmpcpp
bindsym Mod1+Shift+k exec pkill mpd
bindsym Mod1+l exec pkill xfce4-panel
# Start i3barto display a workspace bar (plus the system information i3status
# finds out, if available)
bar {

   colors {
        background #10142D
        statusline #ffffff
        separator #666666
                           #Border Back    #Font
        focused_workspace  #219ebc #63B6D5 #ffffff
        active_workspace   #333333 #5f676a #ffffff
        inactive_workspace #023047 #2E5995 #888888
        urgent_workspace   #2f343a #009065 #ffffff
        binding_mode       #2f343a #116451 #ffffff

        
#        background #252731
#        statusline #ffffff
#        separator #666666
#                           #Border Back    #Font
#        focused_workspace  #219ebc #219ebc #ffffff
#        active_workspace   #333333 #5f676a #ffffff
#        inactive_workspace #023047 #043f5d #888888
#        urgent_workspace   #2f343a #009065 #ffffff
#        binding_mode       #2f343a #116451 #ffffff



    }

    font pango:monospace 9
    position top
    status_command i3blocks
}
exec xrdb .Xresources

#NON IMPORTANT STUFF
set_from_resource $fg i3wm.color0 #282a2e
set_from_resource $bg i3wm.color6 #282a2e

# class                 border  backgr. text    indicator child_border
client.focused          #2c363d #3c464d #ffffff #7e7e7e   #a7a7a7
client.focused_inactive #333333 #5f676a #ffffff #484e50   #5f676a
client.unfocused        #333333 #222222 #888888 #292d2e   #7d7d7d
client.urgent           #2f343a #900000 #ffffff #900000   #900000
client.placeholder      #000000 #0c0c0c #ffffff #000000   #0c0c0c
client.background       #282a2e

$HOME/.config/i3blocks/config

full_text=|
align=center

[ipv4]
command=nmcli device show enp8s0 | grep IP4.ADDRESS | tr -s " " | cut -d " " -f2
interval=600000
background=#40908b

[weather]
command=curl -Ss 'https://wttr.in?0&T&Q' | cut -c 16- | head -2 | xargs echo
interval=60
background=#1e81b0

[time]
command=date "+%a%e %b %R %Z"
interval=5
background=#76b5c5

[audio]
command=bash audio
interval=once
signal=10
background=#76b5c5

[battery]
command=bash battery
interval=15
background=#76b5c5

$HOME/.config/i3blocks/audio

#!/usr/bin/env bash
vol=$(amixer sget Master | grep 'Front Left:' | cut -d " " -f7 | tr -d '[,],%')

if [ $vol -ge 80 ]; then echo  $vol%;
elif [ $vol -ge 1 ]; then echo  $vol%; 
elif [ $vol -eq 0 ]; then echo  $vol%; 
fi

$HOME/.config/i3blocks/battery

#!/usr/bin/env sh

bat0per=$(acpi |tr "\n" "|" | cut -d "|" -f2 | cut -d , -f2 |tr -d "%")
bat1per=$(acpi |tr "\n" "|" | cut -d "|" -f1 | cut -d , -f2 |tr -d "%")

if [ $bat0per -ge 90 ]; then cap0=""
elif [ $bat0per -le 89 ] && [ $bat0per -ge 75 ]; then cap0=""
elif [ $bat0per -le 74 ] && [ $bat0per -ge 50 ]; then cap0=""
elif [ $bat0per -le 49 ] && [ $bat0per -gt 20 ]; then cap0=""
elif [ $bat0per -le 19 ]; then cap0=""
fi

if [ $bat1per -ge 90 ]; then cap1=""
elif [ $bat1per -le 89 ] && [ $bat1per -ge 75 ];then cap1=""
elif [ $bat1per -le 74 ] && [ $bat1per -ge 50 ] ; then cap1=""
elif [ $bat1per -le 49 ] && [ $bat1per -gt 20 ]; then cap1=""
elif [ $bat1per -le 19 ]; then cap1=""
fi

bat0=$(acpi | tr "\n" "|" | cut -d "|" -f2 | cut -d ":" -f2 | cut -d , -f 1,2)
bat1=$(acpi | tr "\n" "|" | cut -d "|" -f1 | cut -d ":" -f2 | cut -d , -f 1,2)
battery0=$(echo $bat0 | sed -e "s/Discharging,/$cap0/g" -e "s/Not charging,/$cap0/g" -e "s/Charging,/ $cap0/g" -e "s/Full,/$cap0/g" -e 's/, //g')
battery1=$(echo $bat1 | sed -e "s/Discharging,/$cap1/g" -e "s/Not charging,/$cap1/g" -e "s/Full,/$cap0/g" -e "s/Charging,/ $cap1/g" -e 's/, //g')
echo $battery0 $battery1