Add syncthing ignore generator
parent
b1b1a04793
commit
d63fdda2a2
|
@ -46,13 +46,21 @@ output * bg ~/.local/wallpaper/default.jpg fill
|
||||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||||
# your displays after another 300 seconds, and turn your screens back on when
|
# your displays after another 300 seconds, and turn your screens back on when
|
||||||
# resumed. It will also lock your screen before your computer goes to sleep.
|
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||||
|
set $swaylock 'swaylock -f --color 000000 --font "IBM Plex Sans" --image ~/.local/wallpaper/default.jpg'
|
||||||
|
set $dpms_on 'swaymsg "output * dpms on"'
|
||||||
|
set $dpms_off 'swaymsg "output * dpms off"'
|
||||||
exec swayidle -w \
|
exec swayidle -w \
|
||||||
timeout 300 'swaymsg "output * dpms off"' \
|
lock $swaylock \
|
||||||
resume 'swaymsg "output * dpms on"' \
|
timeout 10 '' \
|
||||||
timeout 310 'swaylock -f --color 000000 --font "IBM Plex Sans" --image ~/.local/wallpaper/default.jpg' \
|
resume $dpms_on \
|
||||||
before-sleep 'swaylock -f --color 000000 --font "IBM Plex Sans" --image ~/.local/wallpaper/default.jpg' \
|
timeout 300 $dpms_off \
|
||||||
timeout 1200 'systemctl suspend'
|
resume $dpms_off \
|
||||||
bindsym $mod+Pause exec swaylock -f --color 000000 --font "IBM Plex Sans" --image ~/.local/wallpaper/default.jpg
|
timeout 360 $swaylock \
|
||||||
|
timeout 1200 'systemctl suspend' \
|
||||||
|
after-resume $dpms_on
|
||||||
|
bindsym $mod+Pause exec $swaylock
|
||||||
|
bindsym XF86ScreenSaver exec $swaylock; exec $dpms_off
|
||||||
|
bindsym $mod+Shift+Ctrl+p exec $swaylock; exec $dpms_off
|
||||||
|
|
||||||
### Input configuration
|
### Input configuration
|
||||||
#
|
#
|
||||||
|
@ -84,7 +92,7 @@ input type:pointer {
|
||||||
natural_scroll enabled
|
natural_scroll enabled
|
||||||
}
|
}
|
||||||
# Disable pointer and touchpad
|
# Disable pointer and touchpad
|
||||||
bindsym $mod+p input type:pointer events toggle enabled disabled
|
bindsym $mod+p input type:pointer events toggle enabled disabled; input type:keyboard events enabled
|
||||||
|
|
||||||
### Key bindings
|
### Key bindings
|
||||||
#
|
#
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
from typing import Optional, Iterable
|
||||||
|
from pathlib import Path
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
|
|
||||||
|
def resolve(parent: Path, line: str) -> Iterable[str]:
|
||||||
|
if line.startswith("#") or len(line.strip()) == 0:
|
||||||
|
return
|
||||||
|
negate = line.startswith("!")
|
||||||
|
path = line.removeprefix("!").strip()
|
||||||
|
absolute = "/" in line.removesuffix("/")
|
||||||
|
|
||||||
|
prefix = ""
|
||||||
|
if negate:
|
||||||
|
prefix += "!"
|
||||||
|
else:
|
||||||
|
if (
|
||||||
|
"target" in path
|
||||||
|
or "generated" in path
|
||||||
|
or "output" in path
|
||||||
|
or "build" in path
|
||||||
|
or "node_modules" in path
|
||||||
|
):
|
||||||
|
prefix += "(?d)"
|
||||||
|
|
||||||
|
yield "// " + str(parent) + ": " + line.strip()
|
||||||
|
if absolute:
|
||||||
|
yield prefix + str(parent) + "/" + path.removeprefix("/")
|
||||||
|
else:
|
||||||
|
yield prefix + str(parent) + "/" + path.removeprefix("/")
|
||||||
|
yield prefix + str(parent) + "/**/" + path.removeprefix("/")
|
||||||
|
|
||||||
|
|
||||||
|
def scan(directory: Path) -> Iterable[str]:
|
||||||
|
for path in directory.rglob(".gitignore"):
|
||||||
|
parent = path.parent
|
||||||
|
if not path.is_file():
|
||||||
|
continue
|
||||||
|
with open(path, "r") as f:
|
||||||
|
for line in f:
|
||||||
|
yield from resolve(parent, line)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser()
|
||||||
|
parser.add_argument(
|
||||||
|
"-w", "--write", action="store_const", const=True, default=False
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.write:
|
||||||
|
with open(".stignore.gen", "w") as f:
|
||||||
|
for line in scan(Path(".")):
|
||||||
|
f.write(line)
|
||||||
|
else:
|
||||||
|
for line in scan(Path(".")):
|
||||||
|
print(line)
|
||||||
|
|
||||||
|
# vim: set et ts=4 sw=4:
|
Loading…
Reference in New Issue