Compare commits
3 commits
e246b88ae1
...
af4aff8ef2
Author | SHA1 | Date | |
---|---|---|---|
af4aff8ef2 | |||
c4f2d15e75 | |||
f692df2907 |
3 changed files with 74 additions and 1 deletions
2
nswitch
2
nswitch
|
@ -5,6 +5,8 @@ set -E -o pipefail
|
|||
shopt -s failglob
|
||||
export LC_ALL=C.UTF8
|
||||
|
||||
# TODO: implement step by step update with diff in between (first build then switch)
|
||||
|
||||
INITIAL_PWD="$(pwd)"
|
||||
PROJECT="$HOME/Projects/NixOS"
|
||||
GIT_PATTERN="." # "*.nix"
|
||||
|
|
64
s
Executable file
64
s
Executable file
|
@ -0,0 +1,64 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import subprocess as sp
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("alias", nargs="?",
|
||||
help="the replacement for the command")
|
||||
parser.add_argument("arguments", nargs="*", default=[],
|
||||
help="arguments that will be added to the argument")
|
||||
|
||||
parser.add_argument("-l", "--list", dest="list", action="store_true",
|
||||
help="list mappings")
|
||||
ag = parser.parse_args()
|
||||
|
||||
CFG = {
|
||||
"offset": 10,
|
||||
"mapping": {
|
||||
"document": {"cmd": "sioyek", "pre_args": []},
|
||||
"pdf": {"alias": "document", "pre_args": []},
|
||||
|
||||
"image": {"cmd": "nomacs", "pre_args": []},
|
||||
|
||||
"audio": {"cmd": "amberol", "pre_args": []},
|
||||
"music": {"alias": "audio", "pre_args": []},
|
||||
|
||||
"video": {"cmd": "mpv", "pre_args": []}
|
||||
}
|
||||
}
|
||||
|
||||
def run(command, pre_args):
|
||||
cmd_list = [command]
|
||||
cmd_list.extend(pre_args)
|
||||
cmd_list.extend(ag.arguments)
|
||||
return sp.run(cmd_list)
|
||||
|
||||
def offset(element, offset=CFG["offset"]):
|
||||
"""
|
||||
calculates the amount of spaces until `offset` is reached for `element` length
|
||||
"""
|
||||
element_length = len(element.strip(""))
|
||||
if element_length >= offset:
|
||||
return ""
|
||||
else:
|
||||
return " " * (offset - element_length)
|
||||
|
||||
|
||||
|
||||
if ag.list:
|
||||
for key, value in CFG["mapping"].items():
|
||||
value_str = ""
|
||||
for e_key, e_value in value.items():
|
||||
value_str += e_key + ": " + str(e_value) + ", "
|
||||
print(key, end="")
|
||||
print(offset(key), value_str.rstrip(", "))
|
||||
else:
|
||||
for key, value in CFG["mapping"].items():
|
||||
if ag.alias in key: # matching
|
||||
if "alias" in value.keys():
|
||||
cmd = CFG["mapping"][value["alias"]]["cmd"]
|
||||
else:
|
||||
cmd = value["cmd"]
|
||||
|
||||
run(cmd, value["pre_args"])
|
|
@ -4,9 +4,16 @@ set -E -o pipefail
|
|||
shopt -s failglob
|
||||
export LC_ALL=C.UTF8
|
||||
|
||||
PICTURES="$HOME"
|
||||
|
||||
source /etc/xdg/user-dirs.defaults
|
||||
source "$XDG_CONFIG_HOME/user-dirs.dirs"
|
||||
|
||||
mkdir -p "$PICTURES"
|
||||
|
||||
grim -g "$(slurp -o -r -c '#ff0000ff')" - \
|
||||
| satty \
|
||||
--filename - \
|
||||
--fullscreen \
|
||||
--initial-tool "crop" \
|
||||
--output-filename "$HOME/Media/Pictures/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
--output-filename "$PICTURES/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue