354 lines
12 KiB
Plaintext
354 lines
12 KiB
Plaintext
# Oxide theme
|
|
#
|
|
# Author: Diki Ananta <diki1aap@gmail.com> Repository: https://github.com/dikiaap/dotfiles
|
|
# License: MIT
|
|
# i3 config file (v4)
|
|
|
|
# font for window titles and bar
|
|
font pango:Source Sans Pro 10
|
|
|
|
# use win key
|
|
set $mod Mod4
|
|
|
|
# use these keys for focus, movement, and resize directions
|
|
set $left h
|
|
set $down j
|
|
set $up k
|
|
set $right l
|
|
|
|
# define names for workspaces
|
|
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: "
|
|
|
|
# assign workspaces to primary monitor
|
|
workspace $ws1 output primary
|
|
workspace $ws2 output primary
|
|
workspace $ws3 output primary
|
|
workspace $ws4 output primary
|
|
workspace $ws5 output primary
|
|
workspace $ws6 output primary
|
|
workspace $ws7 output primary
|
|
workspace $ws8 output primary
|
|
workspace $ws9 output primary
|
|
|
|
# use $mod+Mouse to drag floating windows to their wanted position
|
|
floating_modifier $mod
|
|
|
|
# control focused window when follows the mouse movements
|
|
focus_follows_mouse no
|
|
|
|
# window border settings
|
|
default_border none
|
|
default_floating_border none
|
|
|
|
# hiding borders adjacent to the screen edges
|
|
hide_edge_borders none
|
|
|
|
# set popups during fullscreen mode
|
|
popup_during_fullscreen smart
|
|
|
|
# start a terminal
|
|
#bindsym $mod+Return workspace $ws1; exec --no-startup-id alacritty
|
|
# bindsym $mod+Return workspace $ws1; exec alacritty -t alacritty-sway
|
|
bindsym $mod+Return workspace $ws1; exec foot -T terminal-sway
|
|
|
|
# start a program launcher
|
|
# bindsym $mod+d exec --no-startup-id wofi -s /etc/wofi/style.css --show drun --lines 5 --columns 1 -t alacritty
|
|
# bindsym $mod+d exec alacritty --class=launcher -e env TERMINAL_COMMAND="alacritty -e" sway-launcher-desktop
|
|
bindsym $mod+d exec foot -a launcher -e env TERMINAL_COMMAND="foot -e" sway-launcher-desktop
|
|
#bindsym $mod+d exec --no-startup-id bemenu
|
|
#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu="dmenu -i -fn 'Source Sans Pro-10' -nb '#212121' -sb '#2b83a6' -sf '#ffffff'
|
|
#bindsym $mod+d exec --no-startup-id bemenu --dmenu="dmenu -i -fn 'Source Sans Pro-10' -nb '#212121' -sb '#2b83a6' -sf '#ffffff'
|
|
|
|
# start an explorer
|
|
bindsym $mod+e exec --no-startup-id pcmanfm
|
|
|
|
# switching window with win+tab
|
|
bindsym $mod+Tab exec --no-startup-id wofi -show window
|
|
|
|
# kill focused window
|
|
bindsym $mod+Shift+q kill
|
|
|
|
# change keyboard layout
|
|
bindsym $mod+i swaymsg input "*" us
|
|
bindsym $mod+Shift+i swaymsg input "*" de
|
|
|
|
# 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
|
|
|
|
# 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+c 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
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+p 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+Shift+a focus child
|
|
|
|
# move the currently focused window to the scratchpad
|
|
bindsym $mod+Shift+minus move scratchpad
|
|
|
|
# show the next scratchpad window or hide the focused scratchpad window
|
|
bindsym $mod+minus scratchpad show
|
|
|
|
# move focused floating window to the current position of the cursor
|
|
bindsym $mod+Shift+m move position mouse
|
|
|
|
# set a window to stick to the glass
|
|
bindsym $mod+Shift+s sticky toggle
|
|
|
|
# sticky preview for media
|
|
bindsym $mod+Shift+p fullscreen disable; floating enable; resize set 350 px 197 px; sticky enable; move window to position 1006 px 537 px
|
|
|
|
# shortcut to change window border
|
|
bindsym $mod+t border normal 0
|
|
bindsym $mod+y border pixel 1
|
|
bindsym $mod+u border none
|
|
|
|
# switch to workspace
|
|
|
|
bindcode $mod+10 workspace $ws1
|
|
bindcode $mod+11 workspace $ws2
|
|
bindcode $mod+12 workspace $ws3
|
|
bindcode $mod+13 workspace $ws4
|
|
bindcode $mod+14 workspace $ws5
|
|
bindcode $mod+15 workspace $ws6
|
|
bindcode $mod+16 workspace $ws7
|
|
bindcode $mod+17 workspace $ws8
|
|
bindcode $mod+18 workspace $ws9
|
|
bindcode $mod+19 workspace $ws10
|
|
|
|
# move focused container to workspace
|
|
bindcode $mod+Shift+10 move container to workspace $ws1
|
|
bindcode $mod+Shift+11 move container to workspace $ws2
|
|
bindcode $mod+Shift+12 move container to workspace $ws3
|
|
bindcode $mod+Shift+13 move container to workspace $ws4
|
|
bindcode $mod+Shift+14 move container to workspace $ws5
|
|
bindcode $mod+Shift+15 move container to workspace $ws6
|
|
bindcode $mod+Shift+16 move container to workspace $ws7
|
|
bindcode $mod+Shift+17 move container to workspace $ws8
|
|
bindcode $mod+Shift+18 move container to workspace $ws9
|
|
bindcode $mod+Shift+19 move container to workspace $ws10
|
|
|
|
# shortcut applications
|
|
bindsym $mod+F1 exec gkamus
|
|
bindsym $mod+F2 workspace $ws2; exec subl
|
|
bindsym $mod+F3 workspace $ws3; exec chromium-browser
|
|
bindsym $mod+F4 workspace $ws4; exec pcmanfm
|
|
bindsym $mod+F5 workspace $ws5; exec evince
|
|
bindsym $mod+F6 workspace $ws6; exec audacious
|
|
bindsym $mod+F7 workspace $ws7; exec gcolor2
|
|
bindsym $mod+F8 workspace $ws8; exec telegram
|
|
bindsym $mod+F9 workspace $ws9; exec go-for-it
|
|
bindsym Print exec --no-startup-id gnome-screenshot
|
|
bindcode $mod+9 exec swaylock --image ~/.wallpaper.jpg
|
|
bindsym Ctrl+Shift+Space exec 1password --quick-access
|
|
bindsym $mod+Space exec rofi-rbw --menu-keybindings ctrl+p:copy:password
|
|
|
|
# volume
|
|
bindsym XF86AudioLowerVolume exec amixer -q sset Master 5%- unmute
|
|
bindsym XF86AudioRaiseVolume exec amixer -q sset Master 5%+ unmute
|
|
bindsym XF86AudioMute exec amixer -q sset Master toggle
|
|
|
|
# touchpad
|
|
# bindsym XF86NotificationCenter exec swaymsg input type:touchpad events toggle enabled disabled
|
|
|
|
# set brightness logarithmically by factor 1.4
|
|
# .72 is just slightly bigger than 1 / 1.4
|
|
bindsym --locked XF86MonBrightnessUp exec light -S "$(light -G | awk '{ print int(($1 + .72) * 1.4) }')"
|
|
bindsym --locked XF86MonBrightnessDown exec light -S "$(light -G | awk '{ print int($1 / 1.4) }')"
|
|
|
|
# reload the configuration file
|
|
bindsym $mod+Shift+c reload
|
|
|
|
# restart i3 inplace
|
|
bindsym $mod+Shift+r restart
|
|
|
|
# manage i3 session
|
|
bindsym $mod+Shift+e exec swaynag --background f1fa8c --border ffb86c --border-bottom-size 0 --button-background ffb86c --button-text 282a36 -t warning -f "pango:Hack 9" -m "Do you really want to exit?" -B " Exit " "swaymsg exit" -B " Lock " "pkill swaynag && swaylock --image ~/.wallpaper.jpg" -B " Reboot " "pkill swaynag && reboot" -B " Shutdown " "pkill swaynag && shutdown -h now" -B " Suspend " "pkill swaynag && systemctl suspend"
|
|
|
|
# resize window
|
|
bindsym $mod+r mode " "
|
|
mode " " {
|
|
# pressing left and up will shrink the window's width and height
|
|
# pressing right and down will grow the window's width and height
|
|
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
|
|
|
|
# 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 win+r
|
|
bindsym Return mode "default"
|
|
bindsym $mod+r mode "default"
|
|
}
|
|
|
|
# set specific windows to floating mode
|
|
for_window [window_role="app"] floating enable
|
|
#for_window [window_role="pop-up"] floating enable
|
|
for_window [window_role="task_dialog"] floating enable
|
|
for_window [title="Preferences$"] floating enable
|
|
for_window [class="Gkamus"] floating enable
|
|
for_window [class="Go-for-it"] floating enable
|
|
for_window [class="Lightdm-gtk-greeter-settings"] floating enable
|
|
for_window [class="Lxappearance"] floating enable
|
|
for_window [class="Menu"] floating enable
|
|
for_window [class="Nm-connection-editor"] floating enable
|
|
for_window [class="Software-properties-gtk"] floating enable
|
|
for_window [app_id="launcher"] floating enable
|
|
|
|
# set specific windows to tabbed mode
|
|
#for_window [class="Rambox"]tabbed
|
|
#for_window [class="Signal"]tabbed
|
|
|
|
# assign program to workspace
|
|
assign [title="terminal-sway"] → $ws1
|
|
# assign [app_id="Alacritty" title="^(?!alacritty-sway)$"] → $ws2
|
|
assign [app_id="foot" title="^(?!terminal-sway)$"] → $ws2
|
|
assign [app_id="chromium"] → $ws3
|
|
assign [app_id="firefox"] → $ws3
|
|
assign [app_id="pcmanfm"] → $ws4
|
|
assign [app_id="libreoffice-calc"] → $ws5
|
|
assign [app_id="libreoffice-writer"] → $ws5
|
|
assign [class="vlc"] → $ws6
|
|
assign [class="Gimp"] → $ws7
|
|
assign [class="Signal"] → $ws8
|
|
assign [app_id="social"] → $ws8
|
|
assign [app_id="thunderbird"] → $ws8
|
|
assign [class="Lightdm-gtk-greeter-settings"] → $ws10
|
|
assign [class="Software-properties-gtk"] → $ws10
|
|
|
|
# class border backgr. text indicator child_border
|
|
client.focused #2b83a6 #2b83a6 #ffffff #dddddd #2b83a6
|
|
client.focused_inactive #212121 #212121 #86888c #292d2e #5a5a5a
|
|
client.unfocused #212121 #212121 #86888c #292d2e #5a5a5a
|
|
client.urgent #d64e4e #d64e4e #ffffff #d64e4e #d64e4e
|
|
client.placeholder #212121 #0c0c0c #ffffff #212121 #262626
|
|
client.background #212121
|
|
|
|
bar {
|
|
swaybar_command waybar
|
|
}
|
|
|
|
# gaps
|
|
smart_gaps on
|
|
gaps inner 12
|
|
gaps outer 0
|
|
|
|
# startup applications
|
|
exec /run/wrappers/bin/gnome-keyring-daemon --start --daemonize
|
|
exec dbus-sway-environment
|
|
exec configure-gtk
|
|
exec nm-applet --indicator
|
|
exec alacritty -t alacritty-sway
|
|
exec signal-desktop
|
|
exec firefox --name=social -P social
|
|
exec thunderbird
|
|
exec firefox
|
|
exec nextcloud
|
|
exec owncloud
|
|
exec swayidle \
|
|
before-sleep 'loginctl lock-session $XDG_SESSION_ID' \
|
|
lock 'swaylock --image ~/.wallpaper.jpg' \
|
|
timeout 180 'swaylock --screenshots --effect-blur 7x5' \
|
|
timeout 1800 'systemctl suspend'
|
|
exec dunst
|
|
#exec --no-startup-id swaybg -c "#000000" -m fill -i ~/.config/wallpaper/wot.jpg
|
|
# exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
|
|
exec 'sleep 2; swaymsg workspace $ws8; swaymsg layout tabbed'
|
|
|
|
# wallpaper
|
|
output eDP-1 bg ~/.wallpaper.jpg fill
|
|
output DP-4 bg ~/.wallpaper.jpg fill
|
|
output DP-5 bg ~/.wallpaper.jpg fill
|
|
|
|
input * xkb_layout "de"
|
|
input * xkb_variant "colemak,,typewriter"
|
|
input * xkb_options "grp:win_space_toggle"
|
|
input "MANUFACTURER1 Keyboard" xkb_model "pc101"
|
|
|
|
# notebook
|
|
set $laptop eDP-1
|
|
# bindswitch --reload --locked lid:on output $laptop disable
|
|
# bindswitch --reload lid:off output $laptop enable
|
|
|
|
# A lock command used in several places
|
|
set $lock_script swaylock
|
|
|
|
# A sleep command used in several places.
|
|
# We leave a bit of time for locking to happen before putting the system to sleep
|
|
set $sleep $lock_script && sleep 3 && systemctl suspend
|
|
|
|
# Triggers a short notification
|
|
set $notify dunstify --timeout 1500
|
|
|
|
# Set your laptop screen name
|
|
set $laptop_screen 'eDP-1'
|
|
|
|
# Clamshell mode or lock & sleep
|
|
# This is a if/else statement: [ outputs_count == 1 ] && true || false
|
|
bindswitch --locked lid:on exec '[ $(swaymsg -t get_outputs | grep name | wc -l) == 1 ] && ($sleep) || swaymsg output $laptop_screen disable'
|
|
#bindswitch --locked lid:on exec 'swaymsg output $laptop_screen disable'
|
|
bindswitch --locked lid:off output $laptop_screen enable
|
|
|
|
# disable xwayland
|
|
#xwayland disable
|
|
|
|
# Touchpad
|
|
input type:touchpad {
|
|
tap enabled
|
|
natural_scroll enabled
|
|
}
|
|
|