28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
|
from ..utils import BasicSegment
|
||
|
from ..color_compliment import stringToHashToColorAndOpposite
|
||
|
from ..colortrans import rgb2short
|
||
|
from socket import gethostname
|
||
|
|
||
|
|
||
|
class Segment(BasicSegment):
|
||
|
def add_to_powerline(self):
|
||
|
powerline = self.powerline
|
||
|
if powerline.segment_conf("hostname", "ignore") in gethostname():
|
||
|
return
|
||
|
if powerline.segment_conf("hostname", "colorize"):
|
||
|
hostname = gethostname()
|
||
|
FG, BG = stringToHashToColorAndOpposite(hostname)
|
||
|
FG, BG = (rgb2short(*color) for color in [FG, BG])
|
||
|
host_prompt = " %s " % hostname.split(".")[0]
|
||
|
powerline.append(host_prompt, FG, BG)
|
||
|
else:
|
||
|
if powerline.args.shell == "bash":
|
||
|
host_prompt = r" \h "
|
||
|
elif powerline.args.shell == "zsh":
|
||
|
host_prompt = " %m "
|
||
|
else:
|
||
|
host_prompt = " %s " % gethostname().split(".")[0]
|
||
|
powerline.append(host_prompt,
|
||
|
powerline.theme.HOSTNAME_FG,
|
||
|
powerline.theme.HOSTNAME_BG)
|