Skip to content

Instantly share code, notes, and snippets.

@tuankiet65
Last active March 21, 2017 14:14
Show Gist options
  • Save tuankiet65/ead6b6755373f1522f734176d5095789 to your computer and use it in GitHub Desktop.
Save tuankiet65/ead6b6755373f1522f734176d5095789 to your computer and use it in GitHub Desktop.
My i3 config
URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0
URxvt.background: #000000
URxvt.foreground: #ffffff
URxvt*color0: #000000
URxvt*color1: #B40000
URxvt*color2: #00AA00
URxvt*color3: #AAAA00
URxvt*color4: #5555AA
URxvt*color5: #AA00AA
URxvt*color6: #00AAAA
URxvt*color7: #AAAAAA
URxvt*color8: #555555
URxvt*color9: #FF0000
URxvt*color10: #00FF00
URxvt*color11: #FFFF00
URxvt*color12: #6464FF
URxvt*color13: #FF00FF
URxvt*color14: #00FFFF
URxvt*color15: #FFFFFF
URxvt*font: xft:Noto Mono:pixelsize=14:antialias=true,
xft:Noto Sans Mono CJK JP:pixelsize=14:antialias=true
URxvt*letterSpace: -1
URxvt*lineSpace: 1
URxvt.scrollBar: false
URxvt.cursorBlink: true
URxvt.pointerBlank: true
URxvt*inheritPixmap: true
URxvt*transparent: true
! URxvt*shading: 0 to 99 darkens, 101 to 200 lightens
URxvt*shading: 20
URxvt*scrollTtyOutput: false
URxvt*scrollWithBuffer:true
URxvt*scrollTtyKeypress:true
URxvt*saveLines: 65536
rofi.modi: drun,window
rofi.location: 3
rofi.width: 100
rofi.font: DejaVu Sans Mono 11
rofi.hide-scrollbar: true
! ------------------------------------------------------------------------------
! ROFI Color theme
! ------------------------------------------------------------------------------
rofi.color-enabled: true
rofi.color-window: #273238, #273238, #1e2529
rofi.color-normal: #273238, #c1c1c1, #273238, #394249, #ffffff
rofi.color-active: #273238, #80cbc4, #273238, #394249, #80cbc4
rofi.color-urgent: #273238, #ff1844, #273238, #394249, #ff1844
rofi.lines: 15
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
#
# This config file uses keycodes (bindsym) and was written for the QWERTY
# layout.
#
# To get a config file with the same key positions, but for your current
# layout, use the i3-config-wizard
#
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:Noto Mono, Noto Sans Mono CJK JP, FontAwesome 10.6
# 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+Mod1 to drag floating windows to their wanted position
floating_modifier Mod1
# start a terminal
bindsym Mod1+Return exec i3-sensible-terminal
bindsym Mod4+W exec i3-sensible-terminal
# kill focused window
bindsym Mod1+Shift+q kill
# start rofi (a program launcher)
bindsym Mod1+d exec --no-startup-id rofi -show
bindsym Mod4+R exec --no-startup-id rofi -show
# change focus
bindsym Mod1+Left focus left
bindsym Mod1+Down focus down
bindsym Mod1+Up focus up
bindsym Mod1+Right focus right
# simulate Windows behaviour
bindsym Mod1+Tab focus right
bindsym Mod4+Tab focus right
# move focused window
bindsym Mod1+Shift+Left move left
bindsym Mod1+Shift+Down move down
bindsym Mod1+Shift+Up move up
bindsym Mod1+Shift+Right move right
# split in horizontal orientation
bindsym Mod1+h split h
# split in vertical orientation
bindsym Mod1+v split v
# enter fullscreen mode for the focused container
bindsym Mod1+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym Mod1+s layout stacking
bindsym Mod1+w layout tabbed
bindsym Mod1+e layout toggle split
# toggle tiling / floating
bindsym Mod1+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym Mod1+space focus mode_toggle
# focus the parent container
bindsym Mod1+a focus parent
# focus the child container
#bindsym Mod1+d focus child
# move the currently focused window to the scratchpad
bindsym Mod1+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym Mod1+minus scratchpad show
# switch to workspace
bindsym Mod1+1 workspace 1
bindsym Mod1+2 workspace 2
bindsym Mod1+3 workspace 3
bindsym Mod1+4 workspace 4
bindsym Mod1+5 workspace 5
bindsym Mod1+6 workspace 6
bindsym Mod1+7 workspace 7
bindsym Mod1+8 workspace 8
bindsym Mod1+9 workspace 9
bindsym Mod1+0 workspace 10
# move focused container to workspace
bindsym Mod1+Shift+1 move container to workspace 1
bindsym Mod1+Shift+2 move container to workspace 2
bindsym Mod1+Shift+3 move container to workspace 3
bindsym Mod1+Shift+4 move container to workspace 4
bindsym Mod1+Shift+5 move container to workspace 5
bindsym Mod1+Shift+6 move container to workspace 6
bindsym Mod1+Shift+7 move container to workspace 7
bindsym Mod1+Shift+8 move container to workspace 8
bindsym Mod1+Shift+9 move container to workspace 9
bindsym Mod1+Shift+0 move container to workspace 10
# reload the configuration file
bindsym Mod1+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym Mod1+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym Mod1+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'"
# Shutdown / Reboot / Hibernate
# systemd [email protected] will start i3lock and kill the nagbar after resuming
bindsym Mod1+Escape exec "i3-nagbar -t warning -m 'What do you want to do?' -b 'Hibernate' 'sudo systemctl hibernate' -b 'Reboot' 'sudo systemctl reboot' -b 'Shutdown' 'sudo systemctl poweroff'"
# audio control
# why killall -USR1? force i3status to update
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 0 +2%; killall -USR1 i3status"
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 0 -2%; killall -USR1 i3status"
bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute 0 toggle; killall -USR1 i3status"
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
bindsym XF86MonBrightnessDown exec xbacklight -dec 10
# Media player controls
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioStop exec playerctl stop
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# lock screen (Windows + L)
set $i3lock "i3lock -e"
bindsym Mod4+L exec $i3lock
# open Chromium
bindsym Mod4+C exec chromium
# open Nautilus
bindsym Mod4+E exec nautilus
# Screenshot
# Save screenshot as file
bindsym Print exec "gnome-screenshot"
# Capture area of screen and save as file
bindsym Shift+Print exec gnome-screenshot -a
# Capture window
bindsym Control+Print exec gnome-screenshot -w
# resize window (you can also use the mouse for that)
set $resize 5
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
bindsym Right resize shrink width $resize px or $resize ppt
bindsym Up resize grow height $resize px or $resize ppt
bindsym Down resize shrink height $resize px or $resize ppt
bindsym Left resize grow width $resize px or $resize ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym Q mode "default"
}
bindsym Mod1+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
}
bindsym Mod1+F4 kill
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
output_format = i3bar
colors = true
interval = 1
}
order += "wireless _first_"
order += "ethernet _first_"
order += "disk /home"
order += "load"
order += "battery all"
order += "cpu_temperature 1"
order += "cpu_temperature 0"
order += "tztime local"
order += "volume master"
wireless _first_ {
format_up = " %essid (%quality) (%ip)"
format_down = " down"
}
ethernet _first_ {
format_up = " %ip"
format_down = " down"
}
tztime local {
# &#xf017: FontAwesome fa-clock-o
format = " %d-%m-%Y %H:%M:%S"
}
load {
format = " %1min"
max_threshold = 4
}
disk "/home" {
format = " %free"
}
volume master {
format = " %volume"
device = "pulse"
format_muted = " 0%%"
}
battery all {
format = "%status %percentage %remaining (%consumption)"
status_chr = ""
status_full = ""
status_bat = ""
low_threshold = 20
threshold_type = "percentage"
}
cpu_temperature 0 {
format = " %degrees°C"
max_threshold = "40"
}
cpu_temperature 1 {
format = " %degrees°C"
max_threshold = "70"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment