Browse Source

updated i3 config

Josh Bicking 5 years ago
parent
commit
c30120f12c

+ 203 - 0
i3/.config/i3/config

@@ -0,0 +1,203 @@
+# This file has been auto-generated by i3-config-wizard(1).
+# It will not be overwritten, so edit it as you like.
+#
+# 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
+
+# Font for window titles. Will also be used by the bar unless a different font
+# is used in the bar {} block below.
+font pango:monospace 8
+
+# 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
+
+# Before i3 v4.8, we used to recommend this one as the default:
+# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+# The font above is very space-efficient, that is, it looks good, sharp and
+# clear in small sizes. However, its unicode glyph coverage is limited, the old
+# X core fonts rendering does not support right-to-left and this being a bitmap
+# font, it doesn’t scale on retina/hidpi displays.
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+#bindsym $mod+Return exec i3-sensible-terminal
+bindsym $mod+Return exec konsole
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start dmenu (a program launcher)
+bindsym $mod+d exec dmenu_run
+# There also is the (new) i3-dmenu-desktop which only displays applications
+# shipping a .desktop file. It is a wrapper around dmenu, so you need that
+# installed.
+# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
+
+# 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
+
+# split in horizontal orientation
+bindsym $mod+g 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
+
+# switch to workspace
+bindsym $mod+1 workspace number 1
+bindsym $mod+2 workspace number 2
+bindsym $mod+3 workspace number 3
+bindsym $mod+4 workspace number 4
+bindsym $mod+5 workspace number 5
+bindsym $mod+6 workspace number 6
+bindsym $mod+7 workspace number 7
+bindsym $mod+8 workspace number 8
+bindsym $mod+9 workspace number 9
+bindsym $mod+0 workspace number 10
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace number 1
+bindsym $mod+Shift+2 move container to workspace number 2
+bindsym $mod+Shift+3 move container to workspace number 3
+bindsym $mod+Shift+4 move container to workspace number 4
+bindsym $mod+Shift+5 move container to workspace number 5
+bindsym $mod+Shift+6 move container to workspace number 6
+bindsym $mod+Shift+7 move container to workspace number 7
+bindsym $mod+Shift+8 move container to workspace number 8
+bindsym $mod+Shift+9 move container to workspace number 9
+bindsym $mod+Shift+0 move container to workspace number 10
+
+# Tag a workspace
+bindsym $mod+t exec ~/.config/i3/ws-rename.sh
+
+# power/lock options
+set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
+mode "$mode_system" {
+    bindsym l exec --no-startup-id ~/.config/i3/i3exit.sh lock, mode "default"
+    bindsym e exec --no-startup-id ~/.config/i3/i3exit.sh logout, mode "default"
+    bindsym s exec --no-startup-id ~/.config/i3/i3exit.sh suspend, mode "default"
+    bindsym h exec --no-startup-id ~/.config/i3/i3exit.sh hibernate, mode "default"
+    bindsym r exec --no-startup-id ~/.config/i3/i3exit.sh reboot, mode "default"
+    bindsym Shift+s exec --no-startup-id ~/.config/i3/i3exit.sh shutdown, mode "default"
+
+    # back to normal: Enter or Escape
+    bindsym Return mode "default"
+    bindsym Escape mode "default"
+}
+bindsym $mod+Shift+e mode "$mode_system"
+
+# 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'"
+
+# 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 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
+
+        # 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"
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+        status_command i3status -c ~/.config/i3/i3status
+}
+
+
+# Function keys
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo +5% #increase sound volume
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo -5% #decrease sound volume
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle # mute sound
+bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 # increase screen brightness
+bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 # decrease screen brightness
+
+# default screen brightness
+exec --no-startup-id xbacklight -set 12
+
+# System tray/background apps
+exec --no-startup-id nm-applet
+exec --no-startup-id nextcloud
+exec --no-startup-id xfce4-clipman
+exec --no-startup-id discord
+exec --no-startup-id spotify
+exec --no-startup-id slack
+
+exec --no-startup-id compton
+
+# On launch apps
+exec --no-startup-id firefox-nightly
+
+# exec --no-startup-id feh --bg-scale ~/...

+ 30 - 0
i3/.config/i3/i3exit.sh

@@ -0,0 +1,30 @@
+#!/bin/sh
+lock() {
+        $HOME/.config/i3/i3lock/i3lock.sh
+}
+
+case "$1" in
+    lock)
+        lock
+        ;;
+    logout)
+        i3-msg exit
+        ;;
+    suspend)
+        lock && systemctl suspend
+        ;;
+    hibernate)
+        lock && systemctl hibernate
+        ;;
+    reboot)
+        systemctl reboot
+        ;;
+    shutdown)
+        systemctl poweroff
+        ;;
+    *)
+        echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
+        exit 2
+esac
+
+exit 0

+ 35 - 0
i3/.config/i3/i3lock/i3lock.sh

@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+### Regular Splash Screen
+#set -eu
+#
+#[[ -z "$(pgrep i3lock)" ]] || exit
+#i3lock -n -u -t -i ${HOME}/.config/i3lock/lock.png
+
+### Faded lockscreen from https://gist.github.com/csivanich/10914698
+# i3lock blurred screen inspired by /u/patopop007 and the blog post
+# http://plankenau.com/blog/post-10/gaussianlock
+
+[[ -z "$(pgrep i3lock)" ]] || exit
+
+IMAGE=/tmp/i3lock.png
+SCREENSHOTCMD="scrot $IMAGE" # 0.46s
+
+# Alternate screenshot method with imagemagick. NOTE: it is much slower
+# SCREENSHOTCMD="import -window root $IMAGE" # 1.35s
+
+# All options are here: http://www.imagemagick.org/Usage/blur/#blur_args
+#BLURTYPE="0x5" # 7.52s
+##BLURTYPE="0x2" # 4.39s
+#BLURTYPE="5x2" # 3.80s
+#BLURTYPE="2x8" # 2.90s
+#BLURTYPE="2x3" # 2.92s
+
+# Get the screenshot, add the blur and lock the screen with it
+$SCREENSHOTCMD
+#convert -channel RGB,Sync -radial-blur 4 $IMAGE $IMAGE
+#convert $IMAGE -blur $BLURTYPE $IMAGE
+convert -channel RGB,Sync -rotational-blur 2 $IMAGE $IMAGE
+composite $HOME/.config/i3/i3lock/lockclip.png $IMAGE -gravity center $IMAGE
+i3lock -i $IMAGE
+rm $IMAGE

BIN
i3/.config/i3/i3lock/lockclip.png


+ 71 - 0
i3/.config/i3/i3status

@@ -0,0 +1,71 @@
+order += "ethernet enp4s0"
+order += "wireless wlp5s0"
+order += "battery 0"
+order += "tztime local"
+
+battery 0 {
+        integer_battery_capacity = true
+        format = "%status %percentage %remaining"
+        hide_seconds = true
+        format_down = "No battery"
+        status_chr = "⚇"
+        status_bat = "⚡"
+        status_full = "✓"
+        path = "/sys/class/power_supply/BAT%d/uevent"
+        low_threshold = 10
+        last_full_capacity = true
+}
+
+volume master {
+	format = "♪: %volume " 
+	device = "default"
+	mixer = "Master"
+	mixer_idx = 0
+	# termsyn font
+#	format = "À %volume "
+}
+
+load {
+	format = " Δ: %1min "
+	# termsyn font
+#	format = " Î %1min"
+}
+
+cpu_usage {
+	format = "CPU: %usage "
+}
+
+disk "/" {
+	format = "/: %avail " 
+}
+
+disk "/mnt/data" {
+	format = "data: %avail "
+}
+
+wireless wlp5s0 {
+	format_up = "W: (%quality at %essid) %ip "
+	#format_down = "W: down "
+	format_down = ""
+}
+
+ethernet enp4s0 {
+	# if you use %speed, i3status requires root privileges
+	format_up =  " E: %ip "
+	#format_down = " E: down "
+	format_down = ""
+
+	# termsyn font
+#	format_up =  " ­ %ip "
+#	format_down = " Ð enp4s0 "
+}
+
+run_watch DHCP {
+	pidfile = "/var/run/dhclient*.pid"
+}
+
+
+tztime local {
+    format = " %h %d %-I:%M %p"
+}
+

+ 13 - 0
i3/.config/i3/ws-rename.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# Rename a workspace, keeping its current number, so $mod+$num still works.
+# If nothing is given, remove the name.
+
+current_ws_num=$(i3-msg -t get_workspaces | jq '.[] | select(.focused==true).num'| cut -d"\"" -f2)
+new_name=$(i3-input -P 'New name: ' | grep 'command = ' | cut -d" " -f3)
+
+if [ -z "$new_name" ]; then
+	i3-msg "rename workspace to $current_ws_num"
+else
+	i3-msg "rename workspace to \"$current_ws_num $new_name\""
+fi

+ 8 - 0
old/i3/.i3/i3-kde-session

@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# Start a KDE session with the bspwm tiling window manager
+#
+
+export KDEWM='/usr/bin/i3'
+
+exec startkde "$@"

+ 8 - 0
old/i3/.i3/plasma-i3.desktop

@@ -0,0 +1,8 @@
+# /usr/share/xsessions/plasma-i3.desktop 
+[Desktop Entry]
+Type=XSession
+Exec=env KDEWM=/usr/bin/i3
+DesktopNames=KDE
+Name=Plasma (i3)
+Comment=Plasma by KDE w/i3
+X-KDE-PluginInfo-Version=5.14.4