From 9ae600399bca475dd19a84af9e9a96d258d6961e Mon Sep 17 00:00:00 2001 From: templis Date: Tue, 18 Feb 2020 20:56:02 +0100 Subject: [PATCH] Add sway --- .config/sway/config | 369 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 369 insertions(+) create mode 100644 .config/sway/config diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..27f717d --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,369 @@ +# 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 somewhen, delete +# this file and re-run i3-config-wizard(1). +# + +# Keyboard configuration + input * xkb_layout "de,us" + +#enable tab-to-click + input "2:7:SynPS/2_Synaptics_TouchPad" { + tap enabled + scroll_method two_finger + } + +# set default font + font -*-cure-medium-*-*-*-11-*-*-*-*-*-*-* + +# set modifier keys for more clarity and readability in config +# mod is on most keyboards the "windows" key + set $mod Mod4 + set $alt Mod1 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. ISO 10646 = Unicode + 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, if you need a lot of unicode glyphs or +# right-to-left text rendering, you should instead use pango for rendering and +# chose a FreeType font, such as: +# font pango:DejaVu Sans Mono 10 + +# Use Mouse+$mod to drag floating windows to their wanted position + floating_modifier $mod + +#set the border of your windows + bindsym $mod+t border normal + bindsym $mod+y border 1pixel + bindsym $mod+u border none + +# start a terminal +# with some examples for other font or other terminal emulators +# bindsym $mod+Return exec urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd -ip -fg white -sl 10000 +sb -fn "xft:inconsolata:size=8:antialias=true" -letsp -1 -sh 20 +# bindsym $mod+Return exec urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd -ip -fg white -sl 10000 +sb -fn "xft:PragmataPro:size=8:antialias=true" -letsp -1 -sh 20 +# bindsym $mod+Return exec terminology +# bindsym $mod+Return exec tilda + bindsym $mod+Return exec termite + +# kill focused window + bindsym $mod+Shift+q kill + bindsym $alt+F4 kill +# if this don't work, you can even start xkill + bindsym $mod+Shift+k exec xkill + +# enables a feature like on other windowmanagers or windows, +# to show running "processes" and switch between them + bindsym $alt+Tab exec rofi -show window + +# start dmenu (a program launcher) +# bindsym $mod+d exec dmenu_run +# instead +# set $menu dmenu_path | dmenu | xargs swaymsg exec -- +# set $menu j4-dmenu-desktop --dmenu='bemenu -i --nb "#3f3f3f" --nf "#dcdccc" --fn "pango:DejaVu Sans Mono 12"' --term='termite' + set $menu exec wofi --show drun + bindsym $mod+d exec $menu +# 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 - the vi way +# I don't use them, cause i need this keys for other purposes +# e.g. $mod+h for split horizontal +# 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 - the vi way +# I don't use them, cause i need this keys for other purposes +# e.g. $mod+Shift+l for lock my Desktop +# 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 $mod+h split h + +# split in vertical orientation + bindsym $mod+v split v + +# enter fullscreen mode for the focused container + bindsym $mod+z fullscreen + +# 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+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+d focus child + +# switch to workspace + bindsym $mod+1 workspace 1: 1: Text + bindsym $mod+2 workspace 2: 2: Web + bindsym $mod+3 workspace 3: 3: Office + bindsym $mod+4 workspace 4: 4: KeePass + bindsym $mod+5 workspace 5: 5: Mail + bindsym $mod+6 workspace 6: 6: Chat + bindsym $mod+7 workspace 7 + bindsym $mod+8 workspace 8 + bindsym $mod+9 workspace 9 + bindsym $mod+0 workspace 10 + +# move focused container to workspace + bindsym $mod+Shift+1 move container to workspace 1: 1: Text + bindsym $mod+Shift+2 move container to workspace 2: 2: Web + bindsym $mod+Shift+3 move container to workspace 3: 3: Office + bindsym $mod+Shift+4 move container to workspace 4: 4: KeePass + bindsym $mod+Shift+5 move container to workspace 5: 5: Mail + bindsym $mod+Shift+6 move container to workspace 6: 6: Chat + bindsym $mod+Shift+7 move container to workspace 7 + bindsym $mod+Shift+8 move container to workspace 8 + bindsym $mod+Shift+9 move container to workspace 9 + bindsym $mod+Shift+0 move container to workspace 10 + +# reload the configuration file + bindsym $mod+Shift+r 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'" + bindsym $mod+Shift+e exec swaynagmode -t warning -m "Exit sway? This will end your Wayland session." -b "Exit sway" "swaymsg exit" -b "Reload" "swaymsg reload" + +# put task in background + exec --no-startup-id swayidle -w \ + timeout 300 'light -G > /tmp/brightness && light -S 10' \ + resume 'light -S $(cat /tmp/brightness)' \ + timeout 600 'swaylock -f -c 000000' \ + resume 'light -S $(cat /tmp/brightness)' \ + timeout 900 'swaymsg "output * dpms off"' \ + resume 'swaymsg "output * dpms on" && light -S $(cat /tmp/brightness)' \ + before-sleep 'swaylock -f -c 000000' +#disable when firefox video is in fullscreen + for_window [class="firefox"] inhibit_idle fullscreen + for_window [app_id="firefox"] inhibit_idle fullscreen + + bindsym $mod+Shift+l exec swaylock -f -c 000000 + +# add the ability to reboot shutdown etc. +#......... + bindsym $mod+Shift+Delete exec swaynagmode -t default -m "Sysmenu" -b "Exit" "swaymsg exit" -b "Reload" "swaymsg reload" -b "Halt" "exec sudo shutdown -P now" -b "Reboot" "exec sudo shutdown -r now" +#......... + +# for Presentation and monitor output selection +#......... + bindsym $mod+Shift+x exec swaynagmode -t default -m "Displaymenu" -b "Laptop only" 'swaymsg "output"' -b "DP mirror" 'swaymsg "output"' -b "DP extend" 'swaymsg "output"' -b "VGA mirror" 'swaymsg "output"' -b "VGA extend" 'swaymsg "output"' +#......... + + bindsym $mod+Prior move workspace to output left + bindsym $mod+Next move workspace to output right + +# resize window (you can also use the mouse for that) +#......... + bindsym $mod+r mode "resize" + + 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 odiaeresis 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 + bindsym Return mode "default" + bindsym Escape mode "default" + } +#........ + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) + bar { + swaybar_command waybar + } + +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # 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. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show + + +# snipping/screenshot Tool + #bindsym --release Print exec scrot -s -e 'mv $f ~/Bilder/Screenshots/screenshot_%Y-%m-%d_%H%M%S.png' + #bindsym --release Print exec maim -s ~/Bilder/Screenshots/screenshot_$(date +%s).png + bindsym --release Print exec grim -g "$(slurp)" ~/library/Bilder/Screenshots/screenshot_$(date +%s).png + + +## Media keys + bindsym XF86AudioRaiseVolume exec pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo +5% + bindsym XF86AudioLowerVolume exec pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -5% + bindsym XF86AudioMute exec pamixer -t + +## Adjust Brightness +# bindsym XF86MonBrightnessDown exec light -U 10 +# bindsym XF86MonBrightnessUp exec light -A 10 + +# Enable GLX Graphics +# used especially for Laptop and enable/disable discrete graphics +# bindsym $mod+g exec /home/templis/dri.sh + +# control swaynag with keyboard +# needs to be swaynadmode installed + swaynag_command swaynagmode + set $nag exec swaynagmode + mode "nag" { + bindsym { + Ctrl+d mode "default" + + Ctrl+c $nag --exit + q $nag --exit + Escape $nag --exit + + Return $nag --confirm + + Tab $nag --select prev + Shift+Tab $nag --select next + + Left $nag --select next + Right $nag --select prev + + Up $nag --select next + Down $nag --select prev + } +} + +# Set floating Windows for special applications + workspace_layout tabbed + for_window [window_role="pop-up"] floating enable,move absolute center + for_window [class="Pinentry"] floating enable + for_window [class="Eog"] floating enable + for_window [class="Geary"] floating enable + for_window [class="Gcr-prompter"] floating enable + for_window [class="Tipswindow.py"] floating enable + for_window [class="XVroot"] floating enable + for_window [class="XVcontrols"] floating enable + for_window [class="Vlc"] floating enable + for_window [class="Synergy"] floating enable + for_window [class="libreoffice-writer"] floating enable + for_window [class="Shotwell"] floating enable + for_window [class="UpLauncher"] floating enable + for_window [title="^Minecraft .*"] floating enable + for_window [title="Steam - Update News"] kill + for_window [title="Preferences$"] floating enable + for_window [class="^Pidgin$" window_role="^conversation$"] resize grow width 0 px or 30 ppt + +# Assign special applications to defined workspaces + assign [class="Chromium"] 2: 2: Web + assign [class="chrome"] 2: 2: Web + assign [class="Firefox"] 2: 2: Web + assign [class="firefox"] 2: 2: Web + assign [class="libreoffice"] 3: 3: Office + assign [class="Gimp"] 3: 3: Office + assign [class="^Minecraft Launcher .*"] 3: 3: Office + assign [class="Linphone"] 3: 3: Office + assign [class="keepassxc"] 4: 4: KeePass + assign [class="KeePassXC"] 4: 4: KeePass + assign [class="(?i)thunderbird"] 5: 5: Mail + assign [class="Signal"] 6: 6: Chat +# include modules etc. + include ~/.config/sway/conf.d/* + +# Start some needet applications +# Please take care to install/configure it, if you intend to include it! + +#fix graphical gltiches + exec xrdb -load ~/.Xresources + exec xrdb -merge ~/.Xresources + +# start Sound Daemon + exec pulseaudio --kill + exec sleep 3 pulseaudio --start + exec /usr/bin/pasystray + +# BROWSERS!!!11!elf! + exec firefox + #exec chromium + #exec google-chrome-stable + +# networkmanager gui + exec nm-applet --indicator + +# eye saver +# Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. + exec redshift-gtk -l 48.52160730:9.05050278 + +# nextcloud + exec nextcloud + +# start one terminal on workspace 1 for failure management etc. +# exec --no-startup-id i3-msg 'workspace 1: 1: Text; exec urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd -ip -fg white -sl 10000 +sb -fn "xft:inconsolata:size=8" -letsp -1 -sh 20' + exec --no-startup-id i3-msg 'workspace 1: 1: Text; exec termite' + +# trayicon to listen to some radio stations + exec radiotray-ng + +# start i3 with a random wallpaper +# exec feh --randomize --bg-fill ~/Bilder/Wallpaper/* +# exec feh --randomize --bg-fill ~/library/Bilder/Wallpaper/* + output "*" bg ~/library/Bilder/Wallpaper/Desktopography_2016_Kevin_May_2560x1440px-1-32g2c1w5jiz6gj086a9tkw.jpg fill + +# autodetect and automount USB Sticks and external media + exec udisksvm >/dev/null & + +# needet for my Razer Chomatic Keyboard +# exec razercommander -q +# exec_always –no-startup-id flashfocus + +# Start Signal + exec signal-desktop-beta + +# Start keepassxc + exec keepassxc + exec ~/.scripts/start_keyring.sh + +#start polybar +# exec_always --no-startup-id ~/polybar.sh