summaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/config295
-rw-r--r--sway/config~295
-rwxr-xr-xsway/otherwindow81
-rwxr-xr-xsway/otherwindow~60
-rwxr-xr-xsway/switch.sh11
-rwxr-xr-xsway/switch.sh~10
-rwxr-xr-xsway/toEmacs.sh12
-rwxr-xr-xsway/toEmacs.sh~11
8 files changed, 775 insertions, 0 deletions
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/*
diff --git a/sway/config~ b/sway/config~
new file mode 100644
index 0000000..80eeb46
--- /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+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+Shift+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/*
diff --git a/sway/otherwindow b/sway/otherwindow
new file mode 100755
index 0000000..e75c40d
--- /dev/null
+++ b/sway/otherwindow
@@ -0,0 +1,81 @@
+#!/usr/bin/env python3
+
+import sys
+import json
+import subprocess
+
+swaymsg = subprocess.run(['swaymsg', '-t', 'get_tree'], stdout=subprocess.PIPE)
+data = json.loads(swaymsg.stdout)
+current = data["nodes"][1]["current_workspace"]
+
+def iterdict(d, pred):
+ for sub in d["nodes"]:
+ # print("sub", sub)
+ if isinstance(sub, dict):
+ # print("check 1", sub)
+ if pred(sub):
+ # print("check 2", sub)
+ return sub
+ else:
+ rec = iterdict(sub, pred)
+ if rec != None:
+ return d
+ return None
+
+def focused(d):
+ # print("tested", d)
+ if "focused" in d:
+ return bool(d["focused"])
+ return False
+ # return (("focused" in d) and d["focused"])
+
+def getWorkspace():
+ for output in data["nodes"]:
+ for workspace in output["nodes"]:
+ possible = iterdict(workspace, focused)
+ # print("pos", possible)
+ if possible != None:
+ #not None, must have been some focused
+ return possible
+ #maybe gives all the visible ones in multi monitor mode?
+ return None
+
+
+#workspace = int(data["nodes"][1]["current_workspace"])-1
+#roi = data["nodes"][1]["nodes"][workspace]
+#print(roi)
+temp = getWorkspace()
+windows = list()
+
+def getNextWindow():
+ if focus < len(windows) - 1:
+ return focus+1
+ else:
+ return 0
+
+def getPrevWindow():
+ if focus > 0:
+ return focus-1
+ else:
+ return len(windows)-1
+
+def makelist(temp):
+ for nodes in "floating_nodes", "nodes":
+ for i in range(len(temp[nodes])):
+ # print(temp[nodes][i]["name"])
+ # print()
+ if temp[nodes][i]["name"] is None:
+ makelist(temp[nodes][i])
+ elif temp[nodes][i]["visible"]:
+ windows.append(temp[nodes][i])
+
+def focused(temp_win):
+ for i in range(len(temp_win)):
+ if temp_win[i]["focused"] == True:
+ return i
+
+makelist(temp)
+#print(windows)
+# print(len(windows))
+focus = focused(windows)
+print(windows[getNextWindow()]["id"])
diff --git a/sway/otherwindow~ b/sway/otherwindow~
new file mode 100755
index 0000000..0a82e72
--- /dev/null
+++ b/sway/otherwindow~
@@ -0,0 +1,60 @@
+#!/usr/bin/env python3
+
+import sys
+import json
+import subprocess
+
+direction=bool(sys.argv[1] == 't' or sys.argv[1] == 'T')
+swaymsg = subprocess.run(['swaymsg', '-t', 'get_tree'], stdout=subprocess.PIPE)
+data = json.loads(swaymsg.stdout)
+current = data["nodes"][1]["current_workspace"]
+
+for output in data["nodes"]:
+ if "current_workspace" in output:
+ for workspace in output["nodes"]:
+ if workspace["name"] == output["current_workspace"]:
+ #maybe gives all the visible ones in multi monitor mode?
+ roi = workspace
+ break
+
+#workspace = int(data["nodes"][1]["current_workspace"])-1
+#roi = data["nodes"][1]["nodes"][workspace]
+#print(roi)
+temp = roi
+windows = list()
+
+def getNextWindow():
+ if focus < len(windows) - 1:
+ return focus+1
+ else:
+ return 0
+
+def getPrevWindow():
+ if focus > 0:
+ return focus-1
+ else:
+ return len(windows)-1
+
+def makelist(temp):
+ for nodes in "floating_nodes", "nodes":
+ for i in range(len(temp[nodes])):
+ # print(temp[nodes][i]["name"])
+ # print()
+ if temp[nodes][i]["name"] is None:
+ makelist(temp[nodes][i])
+ elif temp[nodes][i]["visible"]:
+ windows.append(temp[nodes][i])
+
+def focused(temp_win):
+ for i in range(len(temp_win)):
+ if temp_win[i]["focused"] == True:
+ return i
+
+makelist(temp)
+#print(windows)
+# print(len(windows))
+focus = focused(windows)
+if str(sys.argv[1]) == 't' or str(sys.argv[1]) == 'T':
+ print(windows[getNextWindow()]["id"])
+else:
+ print(windows[getPrevWindow()]["id"])
diff --git a/sway/switch.sh b/sway/switch.sh
new file mode 100755
index 0000000..62751b8
--- /dev/null
+++ b/sway/switch.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+a="$(swaymsg -t get_tree | jq '.. | objects | select(.type == "con") | select(.focused == true) | .marks | index("t") != null')"
+
+#echo $a
+if [ $a = "true" ]; then
+ swaymsg '[con_mark="l"] focus'
+else
+ swaymsg 'mark --add "l"; [con_mark="t"] focus'
+fi
+
diff --git a/sway/switch.sh~ b/sway/switch.sh~
new file mode 100755
index 0000000..ccd1bf7
--- /dev/null
+++ b/sway/switch.sh~
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+a="$(swaymsg -t get_tree | jq '.. | objects | select(.type == "con") | select(.focused == true) | .marks | index("t") != null')"
+
+#echo $a
+if [ $a = "true" ]; then
+ swaymsg '[con_mark="l"] focus'
+else
+ swaymsg 'mark --add "l"; [con_mark="t"] focus'
+fi
diff --git a/sway/toEmacs.sh b/sway/toEmacs.sh
new file mode 100755
index 0000000..aacf2c1
--- /dev/null
+++ b/sway/toEmacs.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+#get be to emacs and back
+
+f=$(swaymsg -t get_tree | jq '.. | objects | select(.focused) | .app_id')
+
+
+if [ $f = '"emacs"' ]; then
+ swaymsg '[con_mark="E"] focus'
+else
+ swaymsg 'mark --add "E"; [app_id="emacs"] focus'
+fi
diff --git a/sway/toEmacs.sh~ b/sway/toEmacs.sh~
new file mode 100755
index 0000000..30d1dc3
--- /dev/null
+++ b/sway/toEmacs.sh~
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+#get be to emacs and back
+
+f=$(swaymsg -t get_tree | jq '.. | objects | select(.focused) | .app_id')
+
+if [ $f = "emacs" ]; then
+ swaymsg '[con_mark="E"] focus'
+else
+ swaymsg 'mark --add "E", [app_id="emacs"] focus'
+fi