diff options
| author | tmu <t.man.atl.2012@gmail.com> | 2023-01-01 16:02:16 -0700 |
|---|---|---|
| committer | tmu <t.man.atl.2012@gmail.com> | 2023-01-01 16:02:16 -0700 |
| commit | 4c15bd89f528fcb7f9039511cdebd19d2169cf1e (patch) | |
| tree | cf30712fe8514e246800068a7c2a2ba26bde71dc /sway | |
start
Diffstat (limited to 'sway')
| -rw-r--r-- | sway/config | 295 | ||||
| -rw-r--r-- | sway/config~ | 295 | ||||
| -rwxr-xr-x | sway/otherwindow | 81 | ||||
| -rwxr-xr-x | sway/otherwindow~ | 60 | ||||
| -rwxr-xr-x | sway/switch.sh | 11 | ||||
| -rwxr-xr-x | sway/switch.sh~ | 10 | ||||
| -rwxr-xr-x | sway/toEmacs.sh | 12 | ||||
| -rwxr-xr-x | sway/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 |
