First commit. Add .i3 directory
This commit is contained in:
95
.i3/lemonbar/i3_lemonbar_common.py
Normal file
95
.i3/lemonbar/i3_lemonbar_common.py
Normal file
@@ -0,0 +1,95 @@
|
||||
import subprocess
|
||||
from enum import Enum
|
||||
|
||||
import i3_lemonbar_config as config
|
||||
|
||||
p_bluetooth = None
|
||||
kill_on_unfocus = []
|
||||
|
||||
class bar_mode(Enum):
|
||||
power, normal, control = range(-1,2) # Don't cycle through power
|
||||
|
||||
def cycle(self):
|
||||
try:
|
||||
return bar_mode(self.value + 1)
|
||||
except ValueError:
|
||||
return bar_mode(0)
|
||||
|
||||
mode = bar_mode.normal
|
||||
|
||||
floatterm_args = lambda prog : ['terminator', '-r', 'FLOAT_TERM', '-p'
|
||||
, 'dark', '-e', 'echo kill_unfocus $$ > {}; exec {}'.format(
|
||||
config.fifo_file_executor, prog)]
|
||||
def date_comm(args):
|
||||
subprocess.Popen(['yad', '--no-buttons', '--calendar', '--sticky'
|
||||
, '--on-top' , '--class' , '"YADWIN"', '--posx=1650', '--posy=24'
|
||||
, '--close-on-unfocus'])
|
||||
|
||||
def pavu_comm(args):
|
||||
global kill_on_unfocus
|
||||
p = subprocess.Popen(['pavucontrol', '--class=FLOAT_PAVU'])
|
||||
kill_on_unfocus.append(p.pid)
|
||||
|
||||
def htop_comm(args):
|
||||
subprocess.Popen(floatterm_args('htop'))
|
||||
|
||||
def nmtui_comm(args):
|
||||
subprocess.Popen(floatterm_args('nmtui'))
|
||||
def lang_comm(args):
|
||||
subprocess.Popen(['sh', '/home/kuba/.i3/scripts/lang.sh', 'next'])
|
||||
def dpms_comm(args):
|
||||
subprocess.Popen(['sh', '/home/kuba/.i3/scripts/dpmsctl.sh'])
|
||||
def adj_br(args):
|
||||
subprocess.Popen(['/home/kuba/.i3/scripts/adjbr.sh', '-b', config.fifo_file_executor])
|
||||
def i3msg_comm(args):
|
||||
subprocess.Popen(args.split())
|
||||
def add_tokill(args):
|
||||
global kill_on_unfocus
|
||||
kill_on_unfocus.append(int(args.split()[1]))
|
||||
def set_mode(args):
|
||||
global mode
|
||||
new_mode = args.split()[1]
|
||||
if new_mode == "cycle":
|
||||
mode = mode.cycle()
|
||||
|
||||
for m in bar_mode:
|
||||
if new_mode == m.name:
|
||||
mode = m
|
||||
break
|
||||
def bluetooth(args):
|
||||
btcargs = args.split()[1:]
|
||||
btcargs = [a.replace('pxc550', '00:16:94:22:29:0E') for a in btcargs]
|
||||
btcargs.append('\n')
|
||||
inp = ' '.join(btcargs)
|
||||
p_bluetooth.stdin.write(inp)
|
||||
p_bluetooth.stdin.flush()
|
||||
|
||||
show_secs = False
|
||||
def toggle_secs(args):
|
||||
global show_secs
|
||||
show_secs = not show_secs
|
||||
|
||||
# Keymaps
|
||||
def_keymap = 'pl'
|
||||
keymaps = {'Firefox': 'se'}
|
||||
cur_class = ''
|
||||
def set_lang(args):
|
||||
global keymaps
|
||||
lang = args.split()[1]
|
||||
keymaps[cur_class] = lang
|
||||
|
||||
commands_dict = {'toggle_secs': toggle_secs
|
||||
,'date': date_comm
|
||||
,'pavu': pavu_comm
|
||||
,'load': htop_comm
|
||||
,'wlan': nmtui_comm
|
||||
,'dpms': dpms_comm
|
||||
,'i3-msg': i3msg_comm
|
||||
,'switch_lang': lang_comm
|
||||
,'kill_unfocus': add_tokill
|
||||
,'mode': set_mode
|
||||
,'adj_br': adj_br
|
||||
,'setlang': set_lang
|
||||
,'bluetooth': bluetooth
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user