aboutsummaryrefslogtreecommitdiff
path: root/i3
diff options
context:
space:
mode:
Diffstat (limited to 'i3')
-rw-r--r--i3/.config/i3/autostart16
-rw-r--r--i3/.config/i3/colors36
-rw-r--r--i3/.config/i3/config69
-rw-r--r--i3/.config/i3/gaps5
-rw-r--r--i3/.config/i3/keybinds65
-rw-r--r--i3/.config/i3/winsettings91
-rw-r--r--i3/.config/i3status/config56
7 files changed, 338 insertions, 0 deletions
diff --git a/i3/.config/i3/autostart b/i3/.config/i3/autostart
new file mode 100644
index 0000000..0fdc188
--- /dev/null
+++ b/i3/.config/i3/autostart
@@ -0,0 +1,16 @@
+# Autostart!
+
+# Xmodmap
+# exec --no-startup-id xmodmap $HOME/.xmodmap
+# Screen saver
+# exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
+# Network Manager
+exec --no-startup-id nm-applet
+# Wallpaper
+exec --no-startup-id nitrogen --restore
+# Compositor
+exec --no-startup-id picom --experimental-backends --daemon
+# emacs daemon
+exec --no-startup-id emacs --daemon
+# urxvt daemon
+exec --no-startup-id urxvtd \ No newline at end of file
diff --git a/i3/.config/i3/colors b/i3/.config/i3/colors
new file mode 100644
index 0000000..8e63e69
--- /dev/null
+++ b/i3/.config/i3/colors
@@ -0,0 +1,36 @@
+# theme setting
+set $bg #000000
+set $fg #ffffff
+set $space #ffffff
+set $red #ff5f59
+set $green #44bc44
+set $yellow #fec43f
+set $blue #2fafff
+set $aqua #00d3d0
+set $purple #b6a0ff
+set $border #ffffff
+
+
+# class border background text indicator border
+client.focused $bg $fg $bg $fg $border
+client.focused_inactive $bg $bg $fg $bg $bg
+client.unfocused $bg $bg $fg $fg $bg
+client.urgent $red $red $fg $red $red
+
+bar {
+ position top
+ status_command i3status
+ # status_command SCRIPT_DIR=~/.local/bin/i3blocks i3blocks
+ colors {
+ # switch these when switching between dark and light mode
+ background $bg
+ statusline $fg
+ # workspaces section
+ # border background text
+ focused_workspace $space $space $bg
+ inactive_workspace $bg $bg $fg
+ active_workspace $bg $bg $fg
+ urgent_workspace $red $red $bg
+
+ }
+}
diff --git a/i3/.config/i3/config b/i3/.config/i3/config
new file mode 100644
index 0000000..c3e42c7
--- /dev/null
+++ b/i3/.config/i3/config
@@ -0,0 +1,69 @@
+set $mod Mod4
+font pango: Iosevka Comfy 12
+
+# Including other files
+include ~/.config/i3/colors
+include ~/.config/i3/autostart
+include ~/.config/i3/keybinds
+include ~/.config/i3/winsettings
+include ~/.config/i3/gaps
+
+exec --no-startup-id dex --autostart --environment i3
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+bindsym $mod+[any key] exec i3-dmenu-desktop
+for_window [class="^Pavucontrol$"] floating enable
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+
+ # vim keys for resizing
+ bindsym h resize shrink width 10 px or 10 ppt
+ bindsym j resize grow height 10 px or 10 ppt
+ bindsym k resize shrink height 10 px or 10 ppt
+ bindsym l 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: Escape
+ bindsym Escape mode "default"
+}
+
+bindsym $mod+space mode "resize"
+
+# Launcher mode, (you execute the keybind to start the mode [found below] and then the keybinds defined in the mode)
+bindsym $mod+o mode "$mode_launcher"
+
+mode "$mode_launcher" {
+ bindsym f exec librewolf
+ bindsym e exec emacsclient -c
+ bindsym Escape mode "default"
+}
+
+for_window [class="^.*"] border pixel 5
+
+no_focus [window_role="pop-up"]
+
+# bar {
+# position top
+# status_command i3status
+# # status_command SCRIPT_DIR=~/.local/bin/i3blocks i3blocks
+# # colors {
+# # # switch these when switching between dark and light mode
+# # background $bg
+# # statusline $fg
+# # # workspaces section
+# # # border background text
+# # focused_workspace $space $space $bg
+# # inactive_workspace $bg $bg $fg
+# # active_workspace $bg $bg $fg
+# # urgent_workspace $red $red $bg
+
+# # }
+# }
diff --git a/i3/.config/i3/gaps b/i3/.config/i3/gaps
new file mode 100644
index 0000000..dbd0002
--- /dev/null
+++ b/i3/.config/i3/gaps
@@ -0,0 +1,5 @@
+gaps top 0
+gaps left 10
+gaps right 10
+gaps bottom 10
+gaps inner 10
diff --git a/i3/.config/i3/keybinds b/i3/.config/i3/keybinds
new file mode 100644
index 0000000..b1d162e
--- /dev/null
+++ b/i3/.config/i3/keybinds
@@ -0,0 +1,65 @@
+# Keybinds!
+set $term st
+set $term2 urxvtc
+
+# start term (defined at the top of the file)
+bindsym $mod+Return exec $term
+bindsym $mod+Shift+Return exec $term2
+
+# Scratchpad
+bindsym $mod+minus move scratchpad
+bindsym $mod+plus scratchpad show
+
+# emacs
+bindsym $mod+x exec ~/.local/bin/scripts/emacs/emacs-daemon.sh start
+bindsym $mod+Shift+x exec ~/.local/bin/scripts/emacs/emacs-daemon.sh kill
+bindsym $mod+Ctrl+a exec emacsclient --eval "(emacs-everywhere)"
+bindsym $mod+Shift+a exec emacsclient -c -e "(emms)"
+
+# theme switching
+bindsym $mod+Shift+t exec ~/.local/bin/scripts/theme-switch.sh
+
+# 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 && pkill -RTMIN+1 i3blocks
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status && pkill -RTMIN+1 i3blocks
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status && pkill -RTMIN+1 i3blocks
+bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status && pkill -RTMIN+1 i3blocks
+
+# Media player controls
+bindsym XF86AudioPlay exec playerctl play
+bindsym XF86AudioPause exec playerctl pause
+bindsym XF86AudioNext exec playerctl next
+bindsym XF86AudioPrev exec playerctl previous
+
+# bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks
+# bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
+# bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+1 i3blocks
+
+# Brightness
+# bindsym XF86MonBrightnessUp exec xbacklight -inc 10
+# bindsym XF86MonBrightnessDown exec xbacklight -dec 10
+
+# power menu
+# bindsym $mod+shift+p exec --no-startup-id ~/.config/rofi/powermenu/type-1/powermenu.sh
+
+# kill focused window
+bindsym $mod+q kill
+
+# screen shot
+bindsym Print exec $HOME/.local/bin/scripts/maimpick
+
+# audio controls
+bindsym $mod+p exec pavucontrol
+
+# start dmenu
+# bindsym $mod+d exec --no-startup-id dmenu_run
+# Customised dmenu with colours
+bindsym $mod+d exec "dmenu_run -p 'dmenu >'"
+
+# Reloads i3 configuration
+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'"
diff --git a/i3/.config/i3/winsettings b/i3/.config/i3/winsettings
new file mode 100644
index 0000000..9c7e882
--- /dev/null
+++ b/i3/.config/i3/winsettings
@@ -0,0 +1,91 @@
+# Window Manipulation Seetings
+
+# borders
+for_window [class="^.*"] border pixel 3
+default_border pixel 3
+default_floating_border pixel 3
+# hide_edge_borders smart
+
+# change focus vim keys
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+#arryowkeys
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# move focused window vim keys
+bindsym $mod+Shift+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+# 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+t layout toggle split
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# focus the parent container
+bindsym $mod+a focus parent
+
+# Name the workspaces
+set $workspace1 "1"
+set $workspace2 "2"
+set $workspace3 "3"
+set $workspace4 "4"
+set $workspace5 "5"
+set $workspace6 "6"
+set $workspace7 "7"
+set $workspace8 "8"
+set $workspace9 "9"
+set $workspace0 "10"
+
+# Switch to workspace
+bindsym $mod+1 workspace $workspace1
+bindsym $mod+2 workspace $workspace2
+bindsym $mod+3 workspace $workspace3
+bindsym $mod+4 workspace $workspace4
+bindsym $mod+5 workspace $workspace5
+bindsym $mod+6 workspace $workspace6
+bindsym $mod+7 workspace $workspace7
+bindsym $mod+8 workspace $workspace8
+bindsym $mod+9 workspace $workspace9
+bindsym $mod+0 workspace $workspace0
+
+# Move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace $workspace1
+bindsym $mod+Shift+2 move container to workspace $workspace2
+bindsym $mod+Shift+3 move container to workspace $workspace3
+bindsym $mod+Shift+4 move container to workspace $workspace4
+bindsym $mod+Shift+5 move container to workspace $workspace5
+bindsym $mod+Shift+6 move container to workspace $workspace6
+bindsym $mod+Shift+7 move container to workspace $workspace7
+bindsym $mod+Shift+8 move container to workspace $workspace8
+bindsym $mod+Shift+9 move container to workspace $workspace9
+bindsym $mod+Shift+0 move container to workspace $workspace0
+
+# Keys for Microsoft Wireless Keyboard
+bindsym XF86Documents workspace $workspace4
+bindsym XF86Phone workspace $workspace5
+bindsym XF86Mail workspace $workspace6
+bindsym XF86Messenger workspace $workspace7
+bindsym XF86HomePage workspace $workspace8
+
+# laptop monitor
+bindsym XF86Launch5 exec xrandr --output eDP1 --mode 1920x1080 --output HDMI2 --off && nitrogen --restore
+# monitor
+bindsym XF86Launch6 exec xrandr --output eDP1 --off --output HDMI2 --mode 1920x1080 --left-of eDP1 --rate 165 && nitrogen --restore
+# monitor and laptop screen
+bindsym XF86Launch7 exec xrandr --output eDP1 --mode 1920x1080 --output HDMI2 --mode 1920x1080 --above eDP1 && nitrogen --restore
+# bindsym XF86Launch8 workspace $workspace7
+# bindsym XF86Launch9 workspace $workspace8
diff --git a/i3/.config/i3status/config b/i3/.config/i3status/config
new file mode 100644
index 0000000..1599ed2
--- /dev/null
+++ b/i3/.config/i3status/config
@@ -0,0 +1,56 @@
+general {
+ colors = true
+ interval = 5
+}
+
+order += "wireless _first_"
+# order += "ethernet _first"
+order += "disk /"
+# order += "battery 0"
+order += "cpu_usage"
+order += "memory"
+order += "volume master"
+order += "tztime local"
+order += "time"
+
+ethernet _first_ {
+ format_up = "E: %ip (%speed)"
+ format_down = "E: Down"
+}
+
+wireless _first_ {
+ format_up = "W: (%quality, %bitrate) Leaked ip: %ip"
+ format_down = "no wifi (sadge)"
+}
+
+disk "/" {
+ format = "Disk: %free"
+}
+
+# battery 0 {
+
+# }
+
+cpu_usage {
+ format = "CPU: %usage "
+}
+
+memory {
+ format = "Mem: %used "
+}
+
+volume master {
+ format = "Sound: %volume" format_muted = "Sound Muted"
+ device = "default"
+ mixer = "Master"
+ mixer_idx = 0
+}
+
+tztime local {
+ # format = "⏲ %a %d-%m-%Y "
+ format = "⏲ %Y-%m-%d %a"
+}
+
+time {
+ format = "%H:%M:%S "
+}