diff options
Diffstat (limited to 'sway')
| -rw-r--r-- | sway/config | 298 | ||||
| -rwxr-xr-x | sway/otherwindow | 81 | ||||
| -rwxr-xr-x | sway/switch.py | 101 | ||||
| -rwxr-xr-x | sway/switch.sh | 11 | ||||
| -rwxr-xr-x | sway/toEmacs.sh | 12 |
5 files changed, 0 insertions, 503 deletions
diff --git a/sway/config b/sway/config deleted file mode 100644 index 7150e18..0000000 --- a/sway/config +++ /dev/null @@ -1,298 +0,0 @@ -# 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 - - -#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 - #,grp:rctrl_toggle - xkb_numlock enabled -# xkb_layout us,us -# xkb_variant ,dvorak -} -input type:touchpad { - dwt disabled - 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 - dwt disabled -} - -for_window [app_id=mpv] floating enable - -#start language switcher -exec fcitx6 -d - -#notifs -exec mako - -#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 -} - - -# -# 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 -# # } -} - -#theming stuff -#titlebar_border_thickness 2 -#no extra padding -# titlebar_padding 2 -#hide_edge_borders both -#smart_borders on -workspace_layout stacking -focus_wrapping yes -show_marks on -# start in normal state -default_border none -titlebar_border_thickness 0 -titlebar_padding 2 -font monospace 10 -# bar mode dock -# two modes, with and without metadata -bindsym $mod+g default_border none, titlebar_border_thickness 0, titlebar_padding 2, font monospace 10, bar mode dock -bindsym $mod+Shift+g default_border pixel 0, titlebar_border_thickness 0, titlebar_padding 0, font monospace 0, bar mode hide -# more jumping stuff -bindsym --to-code $mod+m exec sway-marker mark -bindsym --to-code $mod+Shift+m 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+Shift+p exec ~/.config/sway/toEmacs.sh - -# make a new emacs frame here -bindsym $mod+p exec emacsclient -c --alternate-editor=emacs - -# start browser -bindsym $mod+e exec 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' - -bindsym $mod+w exec sh -c '/home/tmu/.config/sway/switch.py' - - -# -# 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 - -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l 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 - -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l 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+y layout tabbed -bindsym $mod+t 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" - -include /etc/sway/config.d/* diff --git a/sway/otherwindow b/sway/otherwindow deleted file mode 100755 index e75c40d..0000000 --- a/sway/otherwindow +++ /dev/null @@ -1,81 +0,0 @@ -#!/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/switch.py b/sway/switch.py deleted file mode 100755 index 479cf74..0000000 --- a/sway/switch.py +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -import subprocess -import json -import re -import gi -gi.require_version('Gtk', '3.0') -from gi.repository import Gtk - -def parse_icon_name(app_name): - app_name = app_name.lower() - if app_name in icon_names: - return icon_names[app_name] - if app_name.endswith('telegram_desktop'): - return 'telegram' - if app_name.startswith('gimp'): - return 'gimp' - return app_name - -def get_icon(app_name): - icon_info = icon_theme.lookup_icon(parse_icon_name(app_name), 48, 0) - if icon_info == None: - print("Failed to get icon for: " + app_name) - # return icon_info.get_filename() if icon_info != None else default_icon_file - return default_icon_file - -def get_cons(tree): - if len(tree.get('nodes')) == 0 and len(tree.get('floating_nodes')) == 0 and (tree.get('type') == 'con' or tree.get('type') == 'floating_con'): - return [tree] - nodes = [] - for node in tree.get('floating_nodes'): - cons = get_cons(node) - nodes += cons - for node in tree.get('nodes'): - cons = get_cons(node) - nodes += cons - return nodes - -def show_wofi(windows): - # command = 'wofi -W 600 -L ' + str(len(windows)) + ' -I -d -i -b -k /dev/null -p "Window" 2>/dev/null' - command = 'wofi -G -L ' + str(len(windows)) + ' -I -d -i -b -p "Window" 2>/dev/null' - process = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE) - (result, _) = process.communicate(input='\n'.join(windows).encode()) - return result - - -def get_tree(): - sway_tree = subprocess.check_output(['swaymsg', '-rt', 'get_tree']) - return json.loads(sway_tree) - -def get_windows(): - cons = get_cons(get_tree()) - windows = [] - for con in cons: - name = con['name'] - if len(name) > 70: - name = name[:67]+"..." - app_id = con.get('app_id') - if app_id == None: - window_prop = con.get('window_properties') - if window_prop != None: - app_id = window_prop.get('instance') - - if app_id != None: - app_icon = get_icon(app_id) - else: - app_icon = default_icon_file - - # windows.append("img:id=" + str(con.get('id')) +":img:" + app_icon + ":text:" + name) - windows.append("img:id=" + str(con.get('id')) +":img:" + app_icon + ":text:" + app_id + ": " + name) - return windows - -def parse_selection(selection): - id_search = re.search('id=([0-9]*):', selection, re.IGNORECASE) - if id_search: - return id_search.group(1) - return None - -def switch_window(id): - command="swaymsg [con_id={}] focus".format(id) - process = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE) - process.communicate() - -if __name__ == "__main__": - icon_theme = Gtk.IconTheme.get_default() - default_icon = icon_theme.lookup_icon("preferences-system-windows", 48, 0) - default_icon_file = "" - if default_icon: - default_icon_file = default_icon.get_filename() - - icon_names = { - "code": "visual-studio-code", - "qt5ct": "preferences-desktop-theme" - } - - windows = get_windows() - selection = show_wofi(windows) - con_id = parse_selection(str(selection)) - if con_id: - switch_window(con_id) diff --git a/sway/switch.sh b/sway/switch.sh deleted file mode 100755 index 62751b8..0000000 --- a/sway/switch.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/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 deleted file mode 100755 index aacf2c1..0000000 --- a/sway/toEmacs.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/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 |
