Skip to content

Instantly share code, notes, and snippets.

@ipedrazas
Forked from hbpasti/README.md
Created September 26, 2015 20:55

Revisions

  1. @hbpasti hbpasti created this gist Nov 7, 2014.
    6 changes: 6 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    fontawesome with i3status
    =========================

    This is my `i3` config, using [FontAwesome](http://fontawesome.io/) icons for `i3status`.

    Save files to `~/.i3`.
    212 changes: 212 additions & 0 deletions config
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,212 @@
    # i3 config file (v4)
    #
    # Please see http://i3wm.org/docs/userguide.html for a complete reference!

    set $mod Mod4

    # font for window titles. ISO 10646 = Unicode
    font pango: M+ 1m, FontAwesome, Ionicons, 10

    # colors
    # from: https://gist.github.com/paulbdavis/4956329
    # client.focused #688060 #688060 #303030 #ffcfaf
    client.focused #dcdccc #dcdccc #3c3b37 #ffcfaf
    client.focused_inactive #3c3b37 #3c3b37 #7f9f7f #3c3b37
    client.unfocused #3c3b37 #3c3b37 #dcdccc #3c3b37
    client.urgent #dca3a3 #dca3a3 #dcdccc #3c3b37

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

    # start a terminal
    bindsym Control+mod1+t exec i3-sensible-terminal
    bindsym $mod+Return exec i3-sensible-terminal

    # kill focused window
    bindsym $mod+Shift+Q kill
    bindsym Control+q kill

    # start dmenu (a program launcher)
    bindsym $mod+d exec dmenu_run_aliases -fn "M+ 1m light-12" -nb "#3c3b37" -nf "#7f9f7f" -sb "#dcdccc" -sf "#3c3b37"
    bindsym Mod1+F2 exec dmenu_run_aliases -fn "M+ 1m light-12" -nb "#3c3b37" -nf "#7f9f7f" -sb "#dcdccc" -sf "#3c3b37"

    # disable auto focus when mouse moves over window
    focus_follows_mouse no

    # 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 Control+$mod+h split h

    # split in vertical orientation
    bindsym Control+$mod+v split v

    # enter fullscreen mode for the focused container
    bindsym $mod+f fullscreen
    bindsym Control+$mod+K fullscreen
    bindsym Control+$mod+Up fullscreen

    # change container layout (stacked, tabbed, default)
    bindsym $mod+s layout stacking
    bindsym $mod+w layout tabbed
    bindsym $mod+e layout default

    # 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
    #bindcode $mod+d focus child

    # set workspaces
    set $ws1 workspace number 1
    set $ws2 workspace number 2
    set $ws3 workspace number 3
    set $ws4 workspace number 4
    set $ws5 workspace number 5
    set $ws6 workspace number 6
    set $ws7 workspace number 7
    set $ws8 workspace number 8
    set $ws9 workspace number 9
    set $ws10 workspace number 10

    # switch to workspace
    bindsym $mod+1 $ws1
    bindsym $mod+2 $ws2
    bindsym $mod+3 $ws3
    bindsym $mod+4 $ws4
    bindsym $mod+5 $ws5
    bindsym $mod+6 $ws6
    bindsym $mod+7 $ws7
    bindsym $mod+8 $ws8
    bindsym $mod+9 $ws9
    bindsym $mod+0 $ws10

    # move focused container to workspace
    bindsym $mod+Shift+exclam move $ws1
    bindsym $mod+Shift+at move $ws2
    bindsym $mod+Shift+numbersign move $ws3
    bindsym $mod+Shift+dollar move $ws4
    bindsym $mod+Shift+percent move $ws5
    bindsym $mod+Shift+dead_diaeresis move $ws6
    bindsym $mod+Shift+ampersand move $ws7
    bindsym $mod+Shift+asterisk move $ws8
    bindsym $mod+Shift+parenleft move $ws9
    bindsym $mod+Shift+parenright move $ws10

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

    # resize window (you can also use the mouse for that)
    mode "resize" {
    # These bindings trigger as soon as you enter the resize mode

    # They resize the border in the direction you pressed, e.g.
    # when pressing left, the window is resized so that it has
    # more space on its left

    bindsym h resize shrink left 10 px or 10 ppt
    bindsym Shift+H resize grow left 10 px or 10 ppt

    bindsym j resize shrink down 10 px or 10 ppt
    bindsym Shift+J resize grow down 10 px or 10 ppt

    bindsym k resize shrink up 10 px or 10 ppt
    bindsym Shift+K resize grow up 10 px or 10 ppt

    bindsym l resize shrink right 10 px or 10 ppt
    bindsym Shift+L resize grow right 10 px or 10 ppt

    # same bindings, but for the arrow keys
    bindsym Left resize shrink left 10 px or 10 ppt
    bindsym Shift+Left resize grow left 10 px or 10 ppt

    bindsym Down resize shrink down 10 px or 10 ppt
    bindsym Shift+Down resize grow down 10 px or 10 ppt

    bindsym Up resize shrink up 10 px or 10 ppt
    bindsym Shift+Up resize grow up 10 px or 10 ppt

    bindsym Right resize shrink right 10 px or 10 ppt
    bindsym Shift+Right resize grow right 10 px or 10 ppt

    # back to normal: Enter or Escape
    bindsym Return mode "default"
    bindsym Escape mode "default"
    }

    bindsym $mod+r mode "resize"

    # STARTUP
    # =======

    # wallpaper
    exec --no-startup-id feh --bg-fill ~/imagens/rising_spring_desktop.jpg

    # start tray applications
    exec --no-startup-id gnome-settings-daemon
    exec --no-startup-id nm-applet
    exec --no-startup-id gnome-sound-applet
    exec --no-startup-id dropbox start

    # startup applications
    exec --no-startup-id gnome-screenscaver
    exec --no-startup-id gnome-keyring-daemon --start
    exec --no-startup-id conky_start

    # BAR
    # ===
    bindsym $mod+m bar mode invisible
    bindsym $mod+Shift+M bar mode dock

    # Start i3bar to display a workspace bar (plus the system information i3status
    # finds out, if available)
    bar {
    tray_output LVDS1
    status_command i3status -c ~/.i3/i3status.conf
    colors {
    background #3c3b37
    statusline #dcdccc

    focused_workspace #93b3a3 #3c3b37 #93b3a3
    active_workspace #ffcfaf #3c3b37 #ffcfaf
    inactive_workspace #636363 #3c3b37 #dcdccc
    urgent_workspace #dca3a3 #3c3b37 #dca3a3
    }
    }

    # Keybindings
    # ===========
    bindsym Mod1+Tab focus right
    bindsym Mod1+Shift+Tab focus left
    75 changes: 75 additions & 0 deletions i3status.conf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,75 @@
    general {
    colors = true
    interval = 1
    colors = true
    color_good = "#36E592"
    color_degraded = "#CE9726"
    color_bad = "#CE4B4F"
    color_separator = "#B3BEFF"
    interval = 5
    }

    order += "ethernet eth0"
    order += "wireless wlan0"
    order += "wireless wlan1"
    order += "load"
    order += "cpu_usage"
    order += "cpu_temperature 0"
    order += "disk /"
    order += "battery 0"
    order += "volume master"
    order += "time"

    battery 0 {
    last_full_capacity = true
    # format = "%status %percentage"
    format = "%percentage"
    path = "/sys/class/power_supply/CMB0/uevent"
    }

    ethernet eth0 {
    # if you use %speed, i3status requires root privileges
    format_up = " eth0   %quality  %essid  %bitrate  %ip"
    format_down = ""
    }

    wireless wlan0 {
    format_up = "wlan0   %quality  %essid  %bitrate  %ip"
    # format_down = "wlan0 "
    format_down = ""
    }

    wireless wlan1 {
    format_up = "wlan1  %quality  %essid  %bitrate  %ip"
    # format_down = "wlan1 "
    format_down = ""
    }

    time {
    format = " %a, %d %b %H:%M"
    }

    load {
    format = "%1min"
    }

    cpu_usage {
    format = " %usage"
    }

    cpu_temperature 0 {
    format = "%degrees °C"
    max_threshold = "65"
    }

    disk "/" {
    format = "  %free %avail"
    }

    volume master {
    format = " %volume"
    format_muted = " %volume"
    device = "default"
    mixer = "Master"
    mixer_idx = 0
    }