让脚本在顶部栏显示时间 ubuntu 18.04 LTS

让脚本在顶部栏显示时间 ubuntu 18.04 LTS

我用 Python 编写了一个小脚本,以文字和挪威语同时显示当前时间。所以我想在 Ubuntu 18.04 lts 的顶部栏中显示该时间,而不是标准时间。谢谢

编辑:如果有用的话,这里是脚本:

#!/usr/bin/python3

import datetime

d2 = {0: 'Null', 1: 'En', 2: 'To', 3: 'Tre', 4: 'Fire', 5: 'Fem', 6: 'Seks', 7: 'Sju', 8: 'Åtte', 9: 'Ni', 10: 'Ti', 11: 'Elleve', 12: 'Tolv', 13: 'Tretten', 14: 'Fjorten', 15: 'Femten', 16: 'Seksten', 17: 'Sytten', 18: 'Atten', 19: 'Nitten', 20: 'Tjue', 21: 'Tjueen', 30: 'Tretti', 40: 'Førti', 50: 'Femti', 22: 'Tjueto', 23: 'Tjuetre', 24: 'Tjuefire', 25: 'Tjuefem', 26: 'Tjueseks', 27: 'Tjuesju', 28: 'Tjueåtte', 29: 'Tjueni', 31: 'Trettien', 32: 'Trettito', 33: 'Trettitre', 34:'Trettifire', 35: 'Trettifem', 36: 'Trettiseks', 37: 'Trettisju', 38: 'Trettiåtte', 39: 'Trettini', 41: 'Førtien', 42: 'Førtito', 43: 'Førtitre', 44: 'Førtifire', 45: 'Førtifem', 46: 'Førtiseks', 47: 'Førtisju', 48: 'Førtiåtte', 49: 'Førtini', 51: 'Femtien', 52: 'Femtito', 53: 'Femtitre', 54: 'Femtifire', 55: 'Femtifem', 56: 'Femtiseks', 57: 'Femtisju', 58: 'Femtiåtte', 59: 'Femtini'}

def time_round_to_5_minutes():

    minute = datetime.datetime.now().minute
    second = datetime.datetime.now().second

    if minute % 5 * 60 + second < 150:
        minute = minute - minute % 5
    else:
        minute = minute + 5 - minute % 5
        minute = minute % 60

    return minute

def time_in_norwegian():
    hour = (datetime.datetime.now().hour + 2) % 24
    minute = time_round_to_5_minutes()
    d2[0] = 'Midnatt'
    next_hour = True
    if minute % 30 <= 15:
        if minute == 45:
            string = 'Kvart på '
        elif minute == 30:
            string = 'Halv '
        elif minute == 0:
            next_hour = False
        elif minute < 20:
            string = d2[minute] + ' over '
            next_hour = False
            if minute == 15:
                string = 'Kvart over '
        else:
            string = d2[minute - 30] + ' over halv '
    else:
        if minute < 30:
            string = d2[30-minute] + ' på halv '
        else:
            string = d2[60-minute] + ' på '

    if next_hour == True:
        hour = (hour + 1) % 24
    if hour < 12:
        am_pm =  ' om morgenen'
    else:
        am_pm = ' om kvelden'
        hour = hour % 12
    string += d2[hour].lower() + am_pm


    return string

print(time_in_norwegian())

答案1

在 Gnome Shell 的顶部栏上显示自定义输出的一个简单方法是使用高质量且维护良好的Gnome Shell 扩展 Argos。然后您需要删除现有时钟。扩展时钟覆盖允许自定义格式,因此在您的情况下您可以让它显示一个空格。

也许时钟覆盖允许您设置接近您想要的格式。这样就无需自定义脚本。

最后一种选择是自己研究 Gnome Shell 代码,然后创建自己的扩展。这将需要一段学习曲线来学习如何以编程方式与不断变化且文档记录不全的界面进行交互,但这正是许多 Gnome Shell 扩展开发人员所做的。许多现有的扩展可以帮助研究如何完成任务。

相关内容