Add shellify

This commit is contained in:
Přemysl Eric Janouch 2016-01-22 08:59:58 +01:00
parent 8146e336d7
commit 9908181467
3 changed files with 27 additions and 0 deletions

View File

@ -56,6 +56,7 @@ install (FILES fancontrol-ng.conf.example
install (TARGETS dwmstatus brightness fancontrol-ng install (TARGETS dwmstatus brightness fancontrol-ng
DESTINATION ${CMAKE_INSTALL_BINDIR}) DESTINATION ${CMAKE_INSTALL_BINDIR})
install (PROGRAMS shellify DESTINATION ${CMAKE_INSTALL_BINDIR})
install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
# CPack # CPack

View File

@ -12,6 +12,8 @@ to other people as well.
- 'fancontrol-ng' is a clone of fancontrol that can handle errors on resume - 'fancontrol-ng' is a clone of fancontrol that can handle errors on resume
from suspend instead of setting fans to maximum speed and quitting; from suspend instead of setting fans to maximum speed and quitting;
in general it doesn't handle everything the original does in general it doesn't handle everything the original does
- 'shellify' is a simple script that sets up a shell for commands like vgdb
and nmcli that are painfully lacking it
Don't expect them to work under any OS that isn't Linux. Don't expect them to work under any OS that isn't Linux.

24
shellify Executable file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env python3
# Runs a special shell prepending a given command
import sys
import os
import readline
import itertools
prefix = ' '.join (sys.argv[1:])
readline.parse_and_bind ('TAB: complete')
for n in itertools.count (start=1):
try:
line = input ('\x1b[1m%s %d>\x1b[0m ' % (prefix, n))
if line == '':
continue
readline.add_history (line)
os.system (prefix + ' ' + line)
except (EOFError, KeyboardInterrupt) as err:
print ('')
break
except Exception as err:
print ('%s\n' % err)