# Oxide theme # # Author: Diki Ananta 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 -c /etc/xdg/foot/foot.ini -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 -c /etc/xdg/foot/foot.ini -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 -c 252525 -s center -i ~/.wallpaper.png 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 "  Auto Suspend Off " "pkill swayidle" -B "  Exit " "swaymsg exit" -B "  Lock " "pkill swaynag && swaylock -c 252525 -s center -i ~/.wallpaper.png" -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="librewolf"] → $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 cryptomator exec swayidle \ before-sleep 'loginctl lock-session $XDG_SESSION_ID' \ lock 'swaylock -c 252525 -s center -i ~/.wallpaper.png' \ timeout 180 'swaylock -c 252525 -s center -i ~/.wallpaper.png' \ 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' exec mako --default-timeout=5000 # wallpaper output eDP-1 scale 2 scale_filter linear output eDP-1 bg #282a36 solid_color output eDP-1 bg ~/.wallpaper.png center output DP-4 bg #282a36 solid_color output DP-4 bg ~/.wallpaper.png center output DP-5 bg #282a36 solid_color output DP-5 bg ~/.wallpaper.png center 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 }