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!
- #
- # 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
- #
- # Autostart
- # exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
- exec --no-startup-id picom -b --no-fading-openclose
- exec_always --no-startup-id ~/.config/polybar/scripts/pywal.sh ~/Pictures/wallpapers/
- exec_always --no-startup-id ~/.config/polybar/launch.sh
- # exec_always --no-startup-id polybar-msg cmd hide
- exec --no-startup-id dunst
- # Change Colors
- # Set colors from Xresources
- # Change 'color7' and 'color2' to whatever colors you want i3 to use
- # from the generated scheme.
- # NOTE: The '#f0f0f0' in the lines below is the color i3 will use if
- # it fails to get colors from Xresources.
- set_from_resource $fg i3wm.color7 #f0f0f0
- set_from_resource $bg i3wm.color3 #f0f0f0
- set_from_resource $bf i3wm.color5 #f0f0f0
- # class border backgr. text indicator child_border
- client.focused $bg $bf $fg $bg $bg
- client.focused_inactive $bg $bg $fg $bg $bg
- client.unfocused $bg $bg $fg $bg $bg
- client.urgent $bg $bg $fg $bg $bg
- client.placeholder $bg $bg $fg $bg $bg
- client.background $bg
- # Main Configurations
- set $mod Mod4
- set $submod Mod1
- # Font for window titles. Will also be used by the bar unless a different font
- # is used in the bar {} block below.
- font pango:Fira Code 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
- # The combination of xss-lock, nm-applet and pactl is a popular choice, so
- # they are included here as an example. Modify as you see fit.
- # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
- # screen before suspend. Use loginctl lock-session to lock your screen.
- exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
- # NetworkManager is the most popular way to manage wireless networks on Linux,
- # and nm-applet is a desktop environment-independent system tray GUI for it.
- # exec --no-startup-id nm-applet
- # Use pactl to 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
- bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
- bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
- bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
- bindsym $mod+Shift+equal exec --no-startup-id change-volume 2dB+ unmute
- bindsym $mod+Shift+minus exec --no-startup-id change-volume 2dB- unmute
- # use these keys for focus, movement, and resize directions when reaching for
- # the arrows is not convenient
- set $up l
- set $down k
- set $left j
- set $right semicolon
- # 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 $submod+w kill
- # start dmenu (a program launcher)
- # bindsym $mod+d exec --no-startup-id dmenu_run
- # A more modern dmenu replacement is rofi:
- # bindsym $mod+d exec rofi -show drun
- # There also is 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
- bindsym $mod+d exec --no-startup-id ~/.config/polybar/scripts/launcher.sh
- # change focus
- bindsym $mod+$left focus left
- bindsym $mod+$down focus down
- bindsym $mod+$up focus up
- bindsym $mod+$right 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
- # alternatively, you can use the toggle keys:
- bindsym $submod+Shift+Tab focus prev
- bindsym $submod+Tab focus next
- # move focused window
- bindsym $mod+Shift+$left move left
- bindsym $mod+Shift+$down move down
- bindsym $mod+Shift+$up move up
- bindsym $mod+Shift+$right 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+t layout tabbed
- bindsym $mod+x layout toggle split
- # toggle tiling / floating
- bindsym $mod+Shift+f floating toggle
- # change focus between tiling / floating windows
- bindsym $mod+b focus mode_toggle
- # focus the parent container
- bindsym $mod+a focus parent
- # focus the child container
- bindsym $mod+c focus child
- # move the currently focused window to the scratchpad
- bindsym $mod+Shift+s 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 $mod+minus scratchpad show
- # 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 number $ws1
- bindsym $mod+2 workspace number $ws2
- bindsym $mod+3 workspace number $ws3
- bindsym $mod+4 workspace number $ws4
- bindsym $mod+5 workspace number $ws5
- bindsym $mod+6 workspace number $ws6
- bindsym $mod+7 workspace number $ws7
- bindsym $mod+8 workspace number $ws8
- bindsym $mod+9 workspace number $ws9
- bindsym $mod+0 workspace number $ws10
- # alternatively, you can use the toggle keys:
- bindsym $mod+Shift+Tab workspace prev
- bindsym $mod+Tab workspace next
- # move focused container to workspace
- bindsym $mod+Shift+1 move container to workspace number $ws1; workspace $ws1
- bindsym $mod+Shift+2 move container to workspace number $ws2; workspace $ws2
- bindsym $mod+Shift+3 move container to workspace number $ws3; workspace $ws3
- bindsym $mod+Shift+4 move container to workspace number $ws4; workspace $ws4
- bindsym $mod+Shift+5 move container to workspace number $ws5; workspace $ws5
- bindsym $mod+Shift+6 move container to workspace number $ws6; workspace $ws6
- bindsym $mod+Shift+7 move container to workspace number $ws7; workspace $ws7
- bindsym $mod+Shift+8 move container to workspace number $ws8; workspace $ws8
- bindsym $mod+Shift+9 move container to workspace number $ws9; workspace $ws9
- bindsym $mod+Shift+0 move container to workspace number $ws10; workspace $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 exec 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 10 px or 10 ppt
- bindsym k resize grow height 10 px or 10 ppt
- bindsym l resize shrink height 10 px or 10 ppt
- bindsym semicolon 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: Enter or Escape or $mod+r
- bindsym Return mode "default"
- bindsym Escape mode "default"
- bindsym $mod+r mode "default"
- }
- bindsym $mod+r mode "resize"
- # bindsym Super_L exec --no-startup-id polybar-msg cmd show
- bindsym --release Super_L exec --no-startup-id polybar-msg cmd toggle
- # Start i3bar to display a workspace bar (plus the system information i3status
- # finds out, if available)
- # bar {
- # status_command ~/.config/i3status/contrib/net-speed.sh
- #
- # mode hide
- # modifier $mod
- # }
- # User Configurations
- floating_maximum_size 1360 x 768
- workspace_layout tabbed
- default_border none
- default_floating_border none
- # hide_edge_borders smart
- force_display_urgency_hint 500 ms
- set $Locker i3lock -n -i ~/Pictures/world.png && sleep 1
- 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 $Locker, mode "default"
- bindsym e exec --no-startup-id i3-msg exit, mode "default"
- bindsym s exec --no-startup-id $Locker && systemctl suspend, mode "default"
- bindsym h exec --no-startup-id $Locker && systemctl hibernate, mode "default"
- bindsym r exec --no-startup-id systemctl reboot, mode "default"
- bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default"
- # back to normal: Enter or Escape
- bindsym Return mode "default"
- bindsym Escape mode "default"
- }
- bindsym $mod+Pause mode "$mode_system"
- for_window [window_role="pop-up"] floating enable
- for_window [window_role="task_dialog"] floating enable
- # i3-gaps Configurations
- # for_window [class=".*"] border pixel 0
- gaps inner 8
- # gaps outer -2
- bindsym $mod+g gaps inner current toggle 8
- set $mode_gaps Gaps: (o) outer, (i) inner
- set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
- set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
- bindsym $mod+Shift+g mode "$mode_gaps"
- mode "$mode_gaps" {
- bindsym o mode "$mode_gaps_outer"
- bindsym i mode "$mode_gaps_inner"
- bindsym Return mode "default"
- bindsym Escape mode "default"
- }
- mode "$mode_gaps_inner" {
- bindsym plus gaps inner current plus 4
- bindsym minus gaps inner current minus 4
- bindsym 0 gaps inner current set 0
- bindsym Shift+plus gaps inner all plus 4
- bindsym Shift+minus gaps inner all minus 4
- bindsym Shift+0 gaps inner all set 0
- bindsym Return mode "default"
- bindsym Escape mode "default"
- }
- mode "$mode_gaps_outer" {
- bindsym plus gaps outer current plus 4
- bindsym minus gaps outer current minus 4
- bindsym 0 gaps outer current set 0
- bindsym Shift+plus gaps outer all plus 4
- bindsym Shift+minus gaps outer all minus 4
- bindsym Shift+0 gaps outer all set 0
- bindsym Return mode "default"
- bindsym Escape mode "default"
- }
- # only enable gaps on a workspace when there is at least one container
- # smart_gaps on
- # only enable outer gaps when there is exactly one container
- # smart_gaps inverse_outer
- # User Key Bindings
- bindsym $mod+F1 exec chromium
- bindsym $mod+F2 exec code
- bindsym $mod+q exec chromium --incognito
- bindsym $mod+e exec VISUAL=code EDITOR=nano st -e nnn
- bindsym $mod+p exec --no-startup-id sh multi-monitor.sh
- bindsym $mod+w exec --no-startup-id sh asoundrc.sh
- bindsym --release Pause exec --no-startup-id pkill -SIGINT -f '^ffmpeg -f x11grab' || ffmpeg -f x11grab -i :0.0 -vf 'crop=floor(iw/2)*2:floor(ih/2)*2' -b:v 0 -crf 25 -vcodec libx264 -pix_fmt yuv420p ~/Videos/screencasts/$(date +%Y-%m-%d_%H:%M:%S).mp4
- bindsym --release Print exec --no-startup-id magick import -window root "$HOME/Pictures/screenshots/$(date +%Y-%m-%d_%H:%M:%S).png"
- bindsym --release Control+Shift+s exec --no-startup-id magick import "$HOME/Pictures/screenshots/$(date +%Y-%m-%d_%H:%M:%S).png"
Advertisement
Add Comment
Please, Sign In to add comment