mirror of
https://github.com/FAUSheppy/config
synced 2025-12-06 07:01:36 +01:00
90 lines
2.9 KiB
Python
Executable File
90 lines
2.9 KiB
Python
Executable File
import datetime
|
|
import string
|
|
import re
|
|
import sys
|
|
import os
|
|
import subprocess
|
|
import shlex
|
|
import re
|
|
import socket
|
|
from hl_constants import *
|
|
|
|
def hlpath(addition="",use_hostname=True):
|
|
host=""
|
|
if use_hostname:
|
|
host=socket.gethostname()+"_"
|
|
return os.path.join(os.path.expanduser("~"),".config/herbstluftwm/"+host+addition)
|
|
|
|
def color_remove(s):
|
|
'''removes colorcodes from inputstring'''
|
|
return re.compile(r'(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]').sub('',s)
|
|
|
|
def shexec(s):
|
|
return subprocess.check_output(shlex.split(s),shell=False).decode()
|
|
|
|
def is_cip():
|
|
u = os.uname()
|
|
return "cip" in u.release or "faui" in u.nodename or "ircbox" in u.nodename
|
|
|
|
def is_laptop():
|
|
u = os.uname()
|
|
return "laptop" in u.nodename or "atlantismedion" in u.nodename or "atlantispad" in u.nodename
|
|
|
|
def error(s):
|
|
with open(hlpath("herbstlog"),'a') as f:
|
|
time = str(datetime.datetime.now().time())[:-7] #cut seconds at the end
|
|
f.write(time + " ERROR: " + os.path.basename(__file__) + ' ' +s +'\n')
|
|
|
|
def color_panel(s,hex_code,seper=True):
|
|
if type(hex_code)==int:
|
|
hex_code = hex(hex_code)
|
|
hex_code = hex_code.lstrip('0x')
|
|
if seper:
|
|
sep=color_panel(SEP,DEFAULT_FG,False)
|
|
else:
|
|
sep = ""
|
|
return "^fg(#" + hex_code + ") " + s + "^bg()"+sep
|
|
|
|
def get_color(nr,start,end,reverse=False):
|
|
if end == start or nr >= end:
|
|
return hex(GREEN)
|
|
elif nr <= 0 or nr < start:
|
|
return hex(RED)
|
|
else:
|
|
r,g,b = 0,0,0
|
|
interval = 256 + 256
|
|
custom_interval = abs(start-end)
|
|
div = float(interval)/float(custom_interval)
|
|
if div >= interval:
|
|
error("Interval for coloring too small, using default")
|
|
return WHITE
|
|
nr = nr*div
|
|
if custom_interval > interval:
|
|
custom_interval = interval
|
|
if nr >= 256:
|
|
g = 0xFF
|
|
r = int(abs(nr - (256+256))) #counts down reverse to nr
|
|
##
|
|
if r == 0x100:
|
|
r = 0xFF
|
|
b = 0
|
|
elif nr >= 0:
|
|
g = int(nr)
|
|
r = 0xFF
|
|
b = 0
|
|
else:
|
|
error("Negative interval value???")
|
|
return(WHITE)
|
|
|
|
if not reverse:
|
|
r = r << 16
|
|
g = g << 8
|
|
else:
|
|
r = r << 8
|
|
g = g << 16
|
|
|
|
tmp_col = r + g + b
|
|
if tmp_col > 0xFFFF00:
|
|
error("color value too high")
|
|
return hex(tmp_col)
|