1
0
Fork 0

Sync Changes

This commit is contained in:
J. Elfring 2023-07-08 12:19:34 +02:00
parent a111b0e0a3
commit 96eb100e67
5 changed files with 164 additions and 109 deletions

View file

@ -9,10 +9,10 @@ ignoreoutofdateaurupgrades = no
keepbuilddir = no
keepdevbuilddir = yes
skipfailedbuild = no
alwaysusedynamicusers = no
keepbuilddeps = no
ignorearch = no
gpgdir =
dynamicusers = root
[colors]
version = 10

View file

@ -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()

View file

@ -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
## Spirallayout for new windows
exec_always --no-startup-id ~/.i3/alternating_layouts.py
exec_always --no-startup-id /usr/bin/autotiling
## Window Config
for_window [class="smplayer"] floating enable
for_window [class="Argon"] floating enable
for_window [class="Vlc"] floating enable
for_window [class="Ghidra"] floating enable

View file

@ -9,10 +9,10 @@
become_user: aur_builder
aur:
name:
- autotiling
- free42
- insync
- c-lolcat
- python-i3-py
- ttf-unifont
- ttf-symbola

160
tatus Normal file
View file

@ -0,0 +1,160 @@
diff --git a/configDots/pikaur.conf b/configDots/pikaur.conf
index 53926ca..73635c2 100644
--- a/configDots/pikaur.conf
+++ b/configDots/pikaur.conf
@@ -9,10 +9,10 @@ ignoreoutofdateaurupgrades = no
keepbuilddir = no
keepdevbuilddir = yes
skipfailedbuild = no
-alwaysusedynamicusers = no
keepbuilddeps = no
ignorearch = no
gpgdir = 
+dynamicusers = root

[colors]
version = 10
diff --git a/simpleDots/i3/alternating_layouts.py b/simpleDots/i3/alternating_layouts.py
deleted file mode 100755
index d38d2ca..0000000
--- a/simpleDots/i3/alternating_layouts.py
+++ /dev/null
@@ -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()
diff --git a/simpleDots/i3/config b/simpleDots/i3/config
index 3897e90..aff8891 100644
--- a/simpleDots/i3/config
+++ b/simpleDots/i3/config
@@ -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

## Spirallayout for new windows
-exec_always --no-startup-id ~/.i3/alternating_layouts.py
+exec_always --no-startup-id /usr/bin/autotiling

## Window Config
+for_window [class="smplayer"] floating enable
for_window [class="Argon"] floating enable
for_window [class="Vlc"] floating enable
for_window [class="Ghidra"] floating enable
diff --git a/sysconfig_arch/workstation_aurSoftware.yaml b/sysconfig_arch/workstation_aurSoftware.yaml
index 24e594a..d1ef992 100644
--- a/sysconfig_arch/workstation_aurSoftware.yaml
+++ b/sysconfig_arch/workstation_aurSoftware.yaml
@@ -9,10 +9,10 @@
become_user: aur_builder
aur:
name:
+ - autotiling
- free42
- insync
- c-lolcat
- - python-i3-py
- ttf-unifont
- ttf-symbola