/ PROJECTS

Colourful i3 Config

My personal i3 Configs

Clone the following git repo and install the theme

addy-dclxvi/i3-starterpack

A simple guide (and example of configuration) to install i3 & its and essentials packages, then make them look eye candy.

(https://github.com/addy-dclxvi/i3-starterpack/)

Remove .urxvt .wallpaper.png and all other images from home directory after install.

Replace i3, i3status and bash configs with the below.

general {
        output_format = "i3bar"
        colors = false
        markup = pango
        interval = 5
        color_good = '#2f343f'
                color_degraded = '#ebcb8b'
                color_bad = '#ba5e57'
}

order += "load"
order += "cpu_temperature 0"
order += "disk /"
order += "disk /home"
order += "ethernet enp3s0"
order += "wireless wlp5s0"
order += "volume master"
order += "battery 0"
order += "tztime local"

load {
        format = "<span background='#f59335'>  %5min Load </span>"
}

cpu_temperature 0 {
        format = "<span background='#bf616a'>  %degrees °C </span>"
        path = "/sys/class/thermal/thermal_zone0/temp"
}

disk "/" {
        format = "<span background='#fec7cd'>  %free Free </span>"
}

disk "/home" {
        format = "<span background='#a1d569'>  %free Free </span>"
}

ethernet enp4s0 {
        format_up = "<span background='#88c0d0'>  %ip </span>"
        format_down = "<span background='#88c0d0'>  Disconnected </span>"
}

wireless wlp5s0 {
        format_up = "<span background='#b48ead'>  %essid </span>"
        format_down = "<span background='#b48ead'>  Disconnected </span>"
}

volume master {
        format = "<span background='#ebcb8b'>  %volume </span>"
        format_muted = "<span background='#ebcb8b'>  Muted </span>"
        device = "default"
        mixer = "Master"
        mixer_idx = 0
}

battery 0 {
        last_full_capacity = true
        format = "<span background='#a3be8c'>  %status %percentage </span>"
        format_down = "No Battery"
        status_chr = "Charging"
        status_bat = "Battery"
        status_unk = "Unknown"
        status_full = "Charged"
        path = "/sys/class/power_supply/BAT%d/uevent"
        low_threshold = 10
}

tztime local {
                format = "<span background='#81a1c1'> %time </span>"
                format_time = " %a %-d %b %H:%M"
}

i3status: ~/.config/i3status/config

# set modifier
set $super Mod4
set $alt Mod1

# set font
font pango: Noto Sans 8

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

#autostart
exec --no-startup-id xsettingsd &
exec --no-startup-id compton -b &
exec --no-startup-id dunst &

exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 5; exec discord; workspace 6; exec teams; workspace 10; exec keepassxc; exec nextcloud;'

# start a terminal
bindsym $super+Return exec konsole

# start dmenu (a program launcher)
bindsym $super+Shift+d exec i3-dmenu-desktop --dmenu="dmenu -i -fn 'Noto Sans:size=8'"
bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 8'

# common apps keybinds
bindsym Print exec scrot 'Cheese_%a-%d%b%y_%H.%M.png' -e 'viewnior ~/$f'
bindsym $super+l exec ~/.lock.sh -i ~/.wallpaper.png
bindsym $super+Shift+w exec firefox;focus
bindsym $super+Shift+f exec nemo;focus

#change volume
bindsym XF86AudioRaiseVolume exec amixer -q set Master 1%+
bindsym XF86AudioLowerVolume exec amixer -q set Master 1%-
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @[email protected] toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @[email protected] toggle && $refresh_i3status

bindsym XF86MonBrightnessDown exec brightnessctl --device='intel_backlight' set 1000-
bindsym XF86MonBrightnessUp exec brightnessctl --device='intel_backlight' set 1000+

# music control
bindsym XF86AudioNext exec mpc next
bindsym XF86AudioPrev exec mpc prev
bindsym XF86AudioPlay exec mpc toggle
bindsym XF86AudioStop exec mpc stop

# kill focused window
bindsym $super+c kill
bindsym $super+Shift+q kill

# change focus
bindsym $super+Left focus left
bindsym $super+Down focus down
bindsym $super+Up focus up
bindsym $super+Right focus right

# move focused window
bindsym $super+Shift+Left move left
bindsym $super+Shift+Down move down
bindsym $super+Shift+Up move up
bindsym $super+Shift+Right move right

# split in horizontal orientation
bindsym $super+h split h

# split in vertical orientation
bindsym $super+v split v

# enter fullscreen mode for the focused container
bindsym $super+f fullscreen toggle

# change container layout split
bindsym $super+s layout toggle split

# toggle tiling / floating
bindsym $super+space floating toggle

# change focus between tiling / floating windows
bindsym $super+Shift+space focus mode_toggle

# switch to workspace
bindsym $alt+Control+Right workspace next
bindsym $alt+Control+Left workspace prev
bindsym $super+1 workspace 1
bindsym $super+2 workspace 2
bindsym $super+3 workspace 3
bindsym $super+4 workspace 4
bindsym $super+5 workspace 5
bindsym $super+6 workspace 6
bindsym $super+7 workspace 7
bindsym $super+8 workspace 8
bindsym $super+9 workspace 9
bindsym $super+0 workspace 10

# move focused container to workspace
bindsym $super+Shift+1 move container to workspace 1
bindsym $super+Shift+2 move container to workspace 2
bindsym $super+Shift+3 move container to workspace 3
bindsym $super+Shift+4 move container to workspace 4
bindsym $super+Shift+5 move container to workspace 5
bindsym $super+Shift+6 move container to workspace 6
bindsym $super+Shift+7 move container to workspace 7
bindsym $super+Shift+8 move container to workspace 8
bindsym $super+Shift+9 move container to workspace 9
bindsym $super+Shift+0 move container to workspace 10

# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $super+Shift+r restart

# exit i3
bindsym $super+q exec "i3-nagbar -t warning -m 'Really, exit?' -b 'Yes' 'i3-msg exit'"

# resize window (you can also use the mouse for that)
mode "resize" {
        bindsym Left resize shrink width 5 px or 5 ppt
        bindsym Down resize grow height 5 px or 5 ppt
        bindsym Up resize shrink height 5 px or 5 ppt
        bindsym Right resize grow width 5 px or 5 ppt
        bindsym Return mode "default"
}
bindsym $super+r mode "resize"

# panel
bar {
        colors {
        background #000000
        statusline #000000
        separator #4b5262

        # colour of border, background, and text
        focused_workspace       #ffffff #000000 #d8dee8
        active_workspace        #000000 #000000 #d8dee8
        inactive_workspace      #000000 #000000 #d8dee8
        urgent_workspacei       #2f343f #ebcb8b #2f343f
    }
        status_command i3status
}

# window rules, you can find the window class using xprop
for_window [class=".*"] border pixel 1

# colour of border, background, text, indicator, and child_border
client.unfocused            #000000 #000000 #d8dee8 #2f343f #000000
client.focused              #000000 #000000 #d8dee8 #2f343f #2f343f
client.urgent               #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.placeholder          #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.background           #000000

i3: ~/.config/i3/config

#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
PS1='[\[email protected]\h \W]\$ '

export VISUAL="nano"

export IP=$(ifconfig wlp5s0 | grep "inet " | cut -d " " -f 10)
export IP2=$(ifconfig enp4s0 | grep "inet " | cut -d " " -f 10)

export PS1="\[\033[0;31m\]\342\224\214\342\224\200$([[ $? != 0 ]] && echo "[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200")[\[\033[1;97m\]\u\[\033[01;33m\]@\[\033[1;94m\]\h\[\033[01;33m\]\[\033[0;31m\]]\342\224\200\[\033[0;31m\][\[\033[1;97m\]"$IP"\[\033[0;31m\]]\342\224\200[\[\033[1;94m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\$\[\e[0m\]"

~/.bashrc

Dracula is a color scheme for code editors and terminal emulators, including GTK.

(https://draculatheme.com/gtk/)

Dracula can be used for a more complete look