Sync Changes
This commit is contained in:
parent
a111b0e0a3
commit
96eb100e67
5 changed files with 164 additions and 109 deletions
|
@ -9,10 +9,10 @@ ignoreoutofdateaurupgrades = no
|
||||||
keepbuilddir = no
|
keepbuilddir = no
|
||||||
keepdevbuilddir = yes
|
keepdevbuilddir = yes
|
||||||
skipfailedbuild = no
|
skipfailedbuild = no
|
||||||
alwaysusedynamicusers = no
|
|
||||||
keepbuilddeps = no
|
keepbuilddeps = no
|
||||||
ignorearch = no
|
ignorearch = no
|
||||||
gpgdir =
|
gpgdir =
|
||||||
|
dynamicusers = root
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
version = 10
|
version = 10
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
import i3
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
import getopt
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
|
|
||||||
|
|
||||||
def find_parent(window_id):
|
|
||||||
"""
|
|
||||||
Find the parent of a given window id
|
|
||||||
"""
|
|
||||||
root_window = i3.get_tree()
|
|
||||||
result = [None]
|
|
||||||
|
|
||||||
def finder(n, p=None):
|
|
||||||
if result[0] is not None:
|
|
||||||
return
|
|
||||||
for node in n:
|
|
||||||
if node['id'] == window_id:
|
|
||||||
result[0] = p
|
|
||||||
return
|
|
||||||
if len(node['nodes']):
|
|
||||||
finder(node['nodes'], node)
|
|
||||||
|
|
||||||
finder(root_window['nodes'])
|
|
||||||
return result[0]
|
|
||||||
|
|
||||||
|
|
||||||
def set_layout():
|
|
||||||
"""
|
|
||||||
Set the layout/split for the currently
|
|
||||||
focused window to either vertical or
|
|
||||||
horizontal, depending on its width/height
|
|
||||||
"""
|
|
||||||
current_win = i3.filter(nodes=[], focused=True)
|
|
||||||
for win in current_win:
|
|
||||||
parent = find_parent(win['id'])
|
|
||||||
|
|
||||||
if (parent and "rect" in parent
|
|
||||||
and parent['layout'] != 'tabbed'
|
|
||||||
and parent['layout'] != 'stacked'):
|
|
||||||
height = parent['rect']['height']
|
|
||||||
width = parent['rect']['width']
|
|
||||||
|
|
||||||
if height > width:
|
|
||||||
new_layout = 'vertical'
|
|
||||||
else:
|
|
||||||
new_layout = 'horizontal'
|
|
||||||
|
|
||||||
i3.split(new_layout)
|
|
||||||
|
|
||||||
|
|
||||||
def print_help():
|
|
||||||
print("Usage: " + sys.argv[0] + " [-p path/to/pid.file]")
|
|
||||||
print("")
|
|
||||||
print("Options:")
|
|
||||||
print(" -p path/to/pid.file Saves the PID for this program in the filename specified")
|
|
||||||
print("")
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
"""
|
|
||||||
Main function - listen for window focus
|
|
||||||
changes and call set_layout when focus
|
|
||||||
changes
|
|
||||||
"""
|
|
||||||
opt_list, args = getopt.getopt(sys.argv[1:], 'hp:')
|
|
||||||
pid_file = None
|
|
||||||
for opt in opt_list:
|
|
||||||
if opt[0] == "-h":
|
|
||||||
print_help()
|
|
||||||
sys.exit()
|
|
||||||
if opt[0] == "-p":
|
|
||||||
pid_file = opt[1]
|
|
||||||
|
|
||||||
if pid_file:
|
|
||||||
with open(pid_file, 'w') as f:
|
|
||||||
f.write(str(os.getpid()))
|
|
||||||
|
|
||||||
|
|
||||||
process = subprocess.Popen(
|
|
||||||
['xprop', '-root', '-spy'],
|
|
||||||
stdout=subprocess.PIPE,
|
|
||||||
stderr=subprocess.PIPE
|
|
||||||
)
|
|
||||||
regex = re.compile(b'^_NET_CLIENT_LIST_STACKING|^_NET_ACTIVE_WINDOW')
|
|
||||||
|
|
||||||
last_line = ""
|
|
||||||
while True:
|
|
||||||
line = process.stdout.readline()
|
|
||||||
if line == b'': #X is dead
|
|
||||||
break
|
|
||||||
if line == last_line:
|
|
||||||
continue
|
|
||||||
if regex.match(line):
|
|
||||||
set_layout()
|
|
||||||
last_line = line
|
|
||||||
|
|
||||||
process.kill()
|
|
||||||
sys.exit()
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
|
@ -266,9 +266,10 @@ exec --no-startup-id test -x ~/.local/bin/i3autostart.sh && ~/.local/bin/i3autos
|
||||||
exec --no-startup-id gsettings set org.gtk.Settings.FileChooser sort-directories-first true
|
exec --no-startup-id gsettings set org.gtk.Settings.FileChooser sort-directories-first true
|
||||||
|
|
||||||
## Spirallayout for new windows
|
## Spirallayout for new windows
|
||||||
exec_always --no-startup-id ~/.i3/alternating_layouts.py
|
exec_always --no-startup-id /usr/bin/autotiling
|
||||||
|
|
||||||
## Window Config
|
## Window Config
|
||||||
|
for_window [class="smplayer"] floating enable
|
||||||
for_window [class="Argon"] floating enable
|
for_window [class="Argon"] floating enable
|
||||||
for_window [class="Vlc"] floating enable
|
for_window [class="Vlc"] floating enable
|
||||||
for_window [class="Ghidra"] floating enable
|
for_window [class="Ghidra"] floating enable
|
||||||
|
|
|
@ -9,10 +9,10 @@
|
||||||
become_user: aur_builder
|
become_user: aur_builder
|
||||||
aur:
|
aur:
|
||||||
name:
|
name:
|
||||||
|
- autotiling
|
||||||
- free42
|
- free42
|
||||||
- insync
|
- insync
|
||||||
- c-lolcat
|
- c-lolcat
|
||||||
- python-i3-py
|
|
||||||
- ttf-unifont
|
- ttf-unifont
|
||||||
- ttf-symbola
|
- ttf-symbola
|
||||||
|
|
||||||
|
|
160
tatus
Normal file
160
tatus
Normal file
|
@ -0,0 +1,160 @@
|
||||||
|
[1mdiff --git a/configDots/pikaur.conf b/configDots/pikaur.conf[m
|
||||||
|
[1mindex 53926ca..73635c2 100644[m
|
||||||
|
[1m--- a/configDots/pikaur.conf[m
|
||||||
|
[1m+++ b/configDots/pikaur.conf[m
|
||||||
|
[36m@@ -9,10 +9,10 @@[m [mignoreoutofdateaurupgrades = no[m
|
||||||
|
keepbuilddir = no[m
|
||||||
|
keepdevbuilddir = yes[m
|
||||||
|
skipfailedbuild = no[m
|
||||||
|
[31m-alwaysusedynamicusers = no[m
|
||||||
|
keepbuilddeps = no[m
|
||||||
|
ignorearch = no[m
|
||||||
|
gpgdir = [m
|
||||||
|
[32m+[m[32mdynamicusers = root[m
|
||||||
|
[m
|
||||||
|
[colors][m
|
||||||
|
version = 10[m
|
||||||
|
[1mdiff --git a/simpleDots/i3/alternating_layouts.py b/simpleDots/i3/alternating_layouts.py[m
|
||||||
|
[1mdeleted file mode 100755[m
|
||||||
|
[1mindex d38d2ca..0000000[m
|
||||||
|
[1m--- a/simpleDots/i3/alternating_layouts.py[m
|
||||||
|
[1m+++ /dev/null[m
|
||||||
|
[36m@@ -1,106 +0,0 @@[m
|
||||||
|
[31m-#!/usr/bin/env python[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-import i3[m
|
||||||
|
[31m-import re[m
|
||||||
|
[31m-import subprocess[m
|
||||||
|
[31m-import getopt[m
|
||||||
|
[31m-import sys[m
|
||||||
|
[31m-import os[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-def find_parent(window_id):[m
|
||||||
|
[31m- """[m
|
||||||
|
[31m- Find the parent of a given window id[m
|
||||||
|
[31m- """[m
|
||||||
|
[31m- root_window = i3.get_tree()[m
|
||||||
|
[31m- result = [None][m
|
||||||
|
[31m-[m
|
||||||
|
[31m- def finder(n, p=None):[m
|
||||||
|
[31m- if result[0] is not None:[m
|
||||||
|
[31m- return[m
|
||||||
|
[31m- for node in n:[m
|
||||||
|
[31m- if node['id'] == window_id:[m
|
||||||
|
[31m- result[0] = p[m
|
||||||
|
[31m- return[m
|
||||||
|
[31m- if len(node['nodes']):[m
|
||||||
|
[31m- finder(node['nodes'], node)[m
|
||||||
|
[31m-[m
|
||||||
|
[31m- finder(root_window['nodes'])[m
|
||||||
|
[31m- return result[0][m
|
||||||
|
[31m-[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-def set_layout():[m
|
||||||
|
[31m- """[m
|
||||||
|
[31m- Set the layout/split for the currently[m
|
||||||
|
[31m- focused window to either vertical or[m
|
||||||
|
[31m- horizontal, depending on its width/height[m
|
||||||
|
[31m- """[m
|
||||||
|
[31m- current_win = i3.filter(nodes=[], focused=True)[m
|
||||||
|
[31m- for win in current_win:[m
|
||||||
|
[31m- parent = find_parent(win['id'])[m
|
||||||
|
[31m-[m
|
||||||
|
[31m- if (parent and "rect" in parent[m
|
||||||
|
[31m- and parent['layout'] != 'tabbed'[m
|
||||||
|
[31m- and parent['layout'] != 'stacked'):[m
|
||||||
|
[31m- height = parent['rect']['height'][m
|
||||||
|
[31m- width = parent['rect']['width'][m
|
||||||
|
[31m-[m
|
||||||
|
[31m- if height > width:[m
|
||||||
|
[31m- new_layout = 'vertical'[m
|
||||||
|
[31m- else:[m
|
||||||
|
[31m- new_layout = 'horizontal'[m
|
||||||
|
[31m-[m
|
||||||
|
[31m- i3.split(new_layout)[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-def print_help():[m
|
||||||
|
[31m- print("Usage: " + sys.argv[0] + " [-p path/to/pid.file]")[m
|
||||||
|
[31m- print("")[m
|
||||||
|
[31m- print("Options:")[m
|
||||||
|
[31m- print(" -p path/to/pid.file Saves the PID for this program in the filename specified")[m
|
||||||
|
[31m- print("")[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-def main():[m
|
||||||
|
[31m- """[m
|
||||||
|
[31m- Main function - listen for window focus[m
|
||||||
|
[31m- changes and call set_layout when focus[m
|
||||||
|
[31m- changes[m
|
||||||
|
[31m- """[m
|
||||||
|
[31m- opt_list, args = getopt.getopt(sys.argv[1:], 'hp:')[m
|
||||||
|
[31m- pid_file = None[m
|
||||||
|
[31m- for opt in opt_list:[m
|
||||||
|
[31m- if opt[0] == "-h":[m
|
||||||
|
[31m- print_help()[m
|
||||||
|
[31m- sys.exit()[m
|
||||||
|
[31m- if opt[0] == "-p":[m
|
||||||
|
[31m- pid_file = opt[1][m
|
||||||
|
[31m-[m
|
||||||
|
[31m- if pid_file:[m
|
||||||
|
[31m- with open(pid_file, 'w') as f:[m
|
||||||
|
[31m- f.write(str(os.getpid()))[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-[m
|
||||||
|
[31m- process = subprocess.Popen([m
|
||||||
|
[31m- ['xprop', '-root', '-spy'],[m
|
||||||
|
[31m- stdout=subprocess.PIPE,[m
|
||||||
|
[31m- stderr=subprocess.PIPE[m
|
||||||
|
[31m- )[m
|
||||||
|
[31m- regex = re.compile(b'^_NET_CLIENT_LIST_STACKING|^_NET_ACTIVE_WINDOW')[m
|
||||||
|
[31m-[m
|
||||||
|
[31m- last_line = ""[m
|
||||||
|
[31m- while True:[m
|
||||||
|
[31m- line = process.stdout.readline()[m
|
||||||
|
[31m- if line == b'': #X is dead[m
|
||||||
|
[31m- break[m
|
||||||
|
[31m- if line == last_line:[m
|
||||||
|
[31m- continue[m
|
||||||
|
[31m- if regex.match(line):[m
|
||||||
|
[31m- set_layout()[m
|
||||||
|
[31m- last_line = line[m
|
||||||
|
[31m-[m
|
||||||
|
[31m- process.kill()[m
|
||||||
|
[31m- sys.exit()[m
|
||||||
|
[31m-[m
|
||||||
|
[31m-if __name__ == "__main__":[m
|
||||||
|
[31m- main()[m
|
||||||
|
[1mdiff --git a/simpleDots/i3/config b/simpleDots/i3/config[m
|
||||||
|
[1mindex 3897e90..aff8891 100644[m
|
||||||
|
[1m--- a/simpleDots/i3/config[m
|
||||||
|
[1m+++ b/simpleDots/i3/config[m
|
||||||
|
[36m@@ -266,9 +266,10 @@[m [mexec --no-startup-id test -x ~/.local/bin/i3autostart.sh && ~/.local/bin/i3autos[m
|
||||||
|
exec --no-startup-id gsettings set org.gtk.Settings.FileChooser sort-directories-first true[m
|
||||||
|
[m
|
||||||
|
## Spirallayout for new windows[m
|
||||||
|
[31m-exec_always --no-startup-id ~/.i3/alternating_layouts.py[m
|
||||||
|
[32m+[m[32mexec_always --no-startup-id /usr/bin/autotiling[m
|
||||||
|
[m
|
||||||
|
## Window Config[m
|
||||||
|
[32m+[m[32mfor_window [class="smplayer"] floating enable[m
|
||||||
|
for_window [class="Argon"] floating enable[m
|
||||||
|
for_window [class="Vlc"] floating enable[m
|
||||||
|
for_window [class="Ghidra"] floating enable[m
|
||||||
|
[1mdiff --git a/sysconfig_arch/workstation_aurSoftware.yaml b/sysconfig_arch/workstation_aurSoftware.yaml[m
|
||||||
|
[1mindex 24e594a..d1ef992 100644[m
|
||||||
|
[1m--- a/sysconfig_arch/workstation_aurSoftware.yaml[m
|
||||||
|
[1m+++ b/sysconfig_arch/workstation_aurSoftware.yaml[m
|
||||||
|
[36m@@ -9,10 +9,10 @@[m
|
||||||
|
become_user: aur_builder[m
|
||||||
|
aur:[m
|
||||||
|
name:[m
|
||||||
|
[32m+[m[32m - autotiling[m
|
||||||
|
- free42[m
|
||||||
|
- insync[m
|
||||||
|
- c-lolcat[m
|
||||||
|
[31m- - python-i3-py[m
|
||||||
|
- ttf-unifont[m
|
||||||
|
- ttf-symbola[m
|
||||||
|
[m
|
Reference in a new issue