Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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:Hack 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.
- # Make Gaps Work
- for_window [class="^.*"] border pixel 0
- # Use Mouse+$mod to drag floating windows to their wanted position
- floating_modifier $mod
- # start a terminal
- bindsym $mod+Return exec i3-sensible-terminal
- # kill focused window
- bindsym $mod+Shift+q kill
- # start dmenu (a program launcher)
- # bindsym $mod+d exec dmenu_run
- # start rofi
- bindsym $mod+space exec rofi -config ~/.config/rofi/rofi.conf -show run -theme lb
- # 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+j focus left
- bindsym $mod+k focus down
- bindsym $mod+l focus up
- bindsym $mod+semicolon 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+j move left
- bindsym $mod+Shift+k move down
- bindsym $mod+Shift+l move up
- bindsym $mod+Shift+semicolon 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+h 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+p floating toggle
- # change focus between tiling / floating windows
- bindsym $mod+p focus mode_toggle
- # focus the parent container
- bindsym $mod+a focus parent
- # focus the child container
- bindsym $mod+d focus child
- # Build a dropdown terminal
- for_window [instance="dropdown"] floating enable, resize set 1280 1024, move scratchpad, border pixel 4
- # start the dropdown terminal
- exec --no-startup-id urxvt -name dropdown
- # keybinding for dropdown terminal
- bindsym $mod+u [instance="dropdown"] scratchpad show, move position center
- # Define names for default workspaces for which we configure key bindings later on.
- # We use variables to avoid repeating the names in multiple places.
- set $ws1 "1"
- set $ws2 "2"
- set $ws3 "3"
- set $ws4 "4"
- set $ws5 "5"
- set $ws6 "6"
- set $ws7 "7"
- set $ws8 "8"
- set $ws9 "9"
- set $ws10 "10"
- # switch to workspace
- bindsym $mod+1 workspace $ws1
- bindsym $mod+2 workspace $ws2
- bindsym $mod+3 workspace $ws3
- bindsym $mod+4 workspace $ws4
- bindsym $mod+5 workspace $ws5
- bindsym $mod+6 workspace $ws6
- bindsym $mod+7 workspace $ws7
- bindsym $mod+8 workspace $ws8
- bindsym $mod+9 workspace $ws9
- bindsym $mod+0 workspace $ws10
- # move focused container to workspace
- bindsym $mod+Shift+1 move container to workspace $ws1
- bindsym $mod+Shift+2 move container to workspace $ws2
- bindsym $mod+Shift+3 move container to workspace $ws3
- bindsym $mod+Shift+4 move container to workspace $ws4
- bindsym $mod+Shift+5 move container to workspace $ws5
- bindsym $mod+Shift+6 move container to workspace $ws6
- bindsym $mod+Shift+7 move container to workspace $ws7
- bindsym $mod+Shift+8 move container to workspace $ws8
- bindsym $mod+Shift+9 move container to workspace $ws9
- bindsym $mod+Shift+0 move container to workspace $ws10
- # define the gaps
- gaps inner 4
- gaps outer 2
- # 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 j resize shrink width 1 px or 1 ppt
- bindsym k resize grow height 1 px or 1 ppt
- bindsym l resize shrink height 1 px or 1 ppt
- bindsym semicolon resize grow width 1 px or 1 ppt
- # same bindings, but for the arrow keys
- 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
- # 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"
- # Set color variables and apply them.
- set $bg-color #000000
- set $inactive-bg-color #000000
- set $text-color #ffffff
- set $inactive-text-color #9FC4D9
- set $urgent-bg-color #c04800
- set $urgent-text-color #0F58CE
- # window colors
- # border background text indicator
- client.focused $urgent-text-color $bg-color $text-color #00ff00
- client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #00ff00
- client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #00ff00
- client.urgent $urgent-bg-color $urgent-bg-color $urgent-text-color #00ff00
- # hide the resize borders
- hide_edge_borders both
- # Start Polybar script
- exec_always --no-startup-id $HOME/.config/polybar/launch.sh
- # Custom Key modifications
- # Lock the screen
- bindsym $mod+shift+x exec i3lock-fancy -p
- # Pulse Audio controls
- bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +1% #increase sound volume
- bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -1% #decrease sound volume
- bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
- # Sreen brightness controls
- bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
- bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
- # Touchpad controls
- # bindsym XF86TouchpadToggle exec /some/path/toggletouchpad.sh # toggle touchpad
- # Media player controls
- bindsym XF86AudioPlay exec playerctl play
- bindsym XF86AudioPause exec playerctl pause
- bindsym XF86AudioNext exec playerctl next
- bindsym XF86AudioPrev exec playerctl previous
- # Bind XF86Launch5 to ctrl+w to close tabs in Chrome (use xev to get key codes)
- bindsym --release 0x1008ff45 exec --no-startup-id xdotool key --clearmodifiers ctrl+w
- # Bind XF86Launch4 to ctrl+t to open new tabs in Chrome
- bindsym --release 0x1008ff44 exec --no-startup-id xdotool key --clearmodifiers ctrl+t
- # Screentshot bind
- bindsym --release Print exec "scrot -s '%Y:%m:%d:%H:%M:%S.png' -e 'mv $f ~/Pictures/screenshots'"
- # Wallpaper setup
- exec_always feh --bg-scale /home/rich/Pictures/Background/fall.jpg
- # Apps to Open
- # Open Telegram
- exec telegram-desktop
- # Assign Telegram to $ws4 by opening the app and using xprop to get the second class(string)
- assign [class="TelegramDesktop"] $ws4
- # Open Compton so compositing works (transparent terminals)
- exec compton -f
- # Open Slack
- exec slack
- # Assign Slack to $ws4 as above
- assign [class="Slack"] $ws4
- # Assign Vmplayer to $ws5 as above
- assign [class="Vmplayer"] $ws5
- # Open Synergy
- exec synergys -c ~/.config/Synergy/syn
- # Open Insync for Google Drive syncing
- exec insync start
- # Assign Chrome to $ws3 as above
- assign [class="Google-chrome"] $ws3
- # Assign Kate to $ws8
- assign [class="kate"] $ws8
- # Assign Spotify Player to $ws10, use spotifycli to control
- for_window [class="Spotify"] move window to workspace $ws10
- # Clear up some vmware stuff
- exec vmware-user
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement