From 4c15bd89f528fcb7f9039511cdebd19d2169cf1e Mon Sep 17 00:00:00 2001 From: tmu Date: Sun, 1 Jan 2023 16:02:16 -0700 Subject: start --- sway/config | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 sway/config (limited to 'sway/config') diff --git a/sway/config b/sway/config new file mode 100644 index 0000000..d3f2c0a --- /dev/null +++ b/sway/config @@ -0,0 +1,295 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Your preferred terminal emulator +set $term foot +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu exec wofi -G --show run,drun + +exec swayrd 1>/dev/null 2>/dev/null +#this think doesnt stop when sway dies + +#general preferences +focus_follows_mouse no +seat * hide_cursor when-typing enable + +input type:keyboard { + repeat_delay 210 + repeat_rate 35 +# xkb_file ~/.xkb/symbols/tmucustom.xkb + xkb_options compose:ralt +} +input type:touchpad { + dwt enabled + tap enabled + drag disabled + drag_lock disabled + middle_emulation disabled + tap_button_map lrm +} + +#specfically the little red one +#input "1739:52619:SYNA8006:00_06CB:CD8B_Mouse" { +# pointer_accel -1 +# accel_profile flat +# scroll_factor 0.25 +#} + + +#start language switcher +exec fcitx5 -d + +#handle monitors properly +exec_always bash -c 'if $(swaymsg -t get_outputs | grep -q -F "HDMI"); then swaymsg output eDP-1 disable; swaymsg output HDMI-A-1 enable; swaymsg output DP-2 enable; else swaymsg output eDP-1 enable; swaymsg output HDMI-A-1 disable; swaymsg output DP-2 disable; fi' + +#get me a background +#exec_always bash -c 'sleep 0.5s ;systemctl --user start background.service' +exec_always bash -c 'setwallpaper ~/Pictures/capture/aesthetic/turquoiseCity.jpg' + +output HDMI-A-1 { +# background ~/Pictures/tree.jpg fill + pos 0 0 + mode 1920x1080@60Hz +} + +output eDP-1 { +# background ~/Pictures/tree.jpg fill + pos 0 0 + mode 1920x1080@60Hz +} + +output DP-2 { +# background ~/Pictures/tree.jpg fill + pos 1920 0 + mode 1920x1080@60Hz +} + +#theming stuff +#titlebar_border_thickness 2 +#no extra padding +titlebar_padding 2 +#hide_edge_borders both +#smart_borders on +default_border none +font monospace 10 +workspace_layout stacking +focus_wrapping no +show_marks on + + +### I want to be able to open a bunch of stuff quickly on startup and have it go the right place +for_window [app_id="foot" title="terminal"] { + move container to workspace T + mark "t" + fullscreen +} + + + +exec foot -T "terminal" +#bindsym $mod+Shift+s exec vivaldi-stable; exec brave; exec foot -T "terminal" + + +# things I want to toggle +#bindsym $mod+m [title="Messages for web"] scratchpad show +#bindsym $mod+n [class="Spotify"] scratchpad show + + +### dedicated terminal +# I want a permanent terminal that is fullscreened +bindsym $mod+Shift+Return exec ~/.config/sway/switch.sh + +### marking +# using sway-marker +bindsym $mod+bracketright exec sway-marker mark +bindsym $mod+bracketleft exec sway-marker goto + +### Key bindings +# +# Basics: +# +# Start a terminal +bindsym $mod+Return exec $term + +# Kill focused window +bindsym $mod+Shift+q kill + +# Start your launcher +bindsym $mod+d exec $menu + +# get me to emacs +bindsym $mod+p exec ~/.config/sway/toEmacs.sh + +# make a new emacs frame here +bindsym $mod+Shift+p exec emacsclient -c + +# start throwaway browser +bindsym $mod+e exec MOZ_ENABLE_WAYLAND=1 BDK_BACKEND=wayland firefox + +# start quick-open menu +#bindsym $mod+o exec $term --title quicklauncher -e bash -c 'read line; eval $line | less -r' +#for_window [title="quicklauncher"] floating enable, resize set 30 ppt 35 ppt, border pixel 2 + +#other window swap +bindsym $mod+o exec swaymsg [con_id=$(~/.config/sway/otherwindow f)] focus + +# Drag floating windows by holding down $mod and left mouse button. +# Resize them with right mouse button + $mod. +# Despite the name, also works for non-floating windows. +# Change normal to inverse to use left mouse button for resizing and right +# mouse button for dragging. +floating_modifier $mod normal + +# Reload the configuration file +bindsym $mod+Shift+c reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exit + +# media keys +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +bindsym XF86MonBrightnessDown exec brightnessctl -e s 10%- +bindsym XF86MonBrightnessUp exec brightnessctl -e s +10% + +# other bindings +bindsym $mod+grave exec systemctl suspend +bindsym $mod+Escape exec sh -c 'swaylock -i /home/tmu/Pictures/capture/installsource.png -l -e -t --indicator-radius 100 & systemctl suspend' + +# +# Moving around: +# +# Or use $mod+[up|down|left|right] +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move the focused window with the same, but add Shift +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right +# +# Workspaces: +# +# Switch to workspace +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace number 10 +# Move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace number 10 + +# move workspaces between monitors +bindsym $mod+Prior focus output left +bindsym $mod+Next focus output right +bindsym $mod+Shift+Prior move workspace output left +bindsym $mod+Shift+Next move workspace output right + +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. +# +# Layout stuff: +# +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. +bindsym $mod+b splith +bindsym $mod+v splitv + +# Switch the current container between different layout styles +bindsym $mod+s layout stacking #not sure I need, I'll leave it +bindsym $mod+w exec swayr switch-window +#bindsym $mod+e layout toggle split + +# Make the current focus fullscreen +bindsym $mod+f fullscreen + +# Toggle the current focus between tiling and floating mode +bindsym $mod+Shift+space floating toggle + +# Swap focus between the tiling area and the floating area +bindsym $mod+space focus mode_toggle + +# Move focus to the parent container +bindsym $mod+a focus parent +# +# 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 +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + swaybar_command waybar +# position bottom +# height 20 + +# # When the status_command prints a new line to stdout, swaybar updates. +# # The default just shows the current date and time. +# # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done + +# # colors { +# # statusline #ffffff +# # background #323232 +# # inactive_workspace #32323200 #32323200 #d0d0d0 +# # } +} + +include /etc/sway/config.d/* -- cgit v1.2.3