是否可以通过单击系统托盘中屏幕右上角的日期或下拉菜单中的任何项目来启动日历应用程序?
我指的是 Ubuntu(Unity)的默认日历应用程序。
为了更加清楚,我的意思是点击此处打开日历:
答案1
正如评论中提到的,添加gnome-calendar
到现存的 时间和日期菜单需要破解代码。除了这似乎超出了 AU 的范围之外,在第一次更新时,您需要再次执行相同的例程。
或者
运行下面的指标。它将向面板添加一个图标,以便快速访问日历:
代码
#!/usr/bin/env python3
import signal
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AppIndicator3', '0.1')
from gi.repository import Gtk, AppIndicator3
import subprocess
class Indicator():
def __init__(self):
self.app = 'test123'
iconpath = "org.gnome.Calendar"
self.indicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)
self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
self.indicator.set_menu(self.create_menu())
def create_menu(self):
menu = Gtk.Menu()
open_cal = Gtk.MenuItem('Show Calendar')
open_cal.connect('activate', self.run_cal)
menu.append(open_cal)
# separator
menu_sep = Gtk.SeparatorMenuItem()
menu.append(menu_sep)
# quit
item_quit = Gtk.MenuItem('Quit')
item_quit.connect('activate', self.stop)
menu.append(item_quit)
menu.show_all()
return menu
def run_cal(self, source):
subprocess.Popen("gnome-calendar")
def stop(self, source):
Gtk.main_quit()
Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()
如何使用
不确定 python3-gi 是否默认安装,但要确保:
sudo apt install python3-gi
将脚本复制到一个空文件中,另存为
indicator_runcal.py
使用命令进行测试运行
python3 /path/to/indicator_runcal.py
应添加一个如图所示的图标,Show Calendar从其菜单中选择。
如果一切正常,请添加到启动应用程序:Dash > 启动应用程序 > 添加。添加命令
/bin/bash -c "sleep 10 && python3 /path/to/indicator_runcal.py"
此外
你可以给它一个启动器:
[Desktop Entry]
Exec=python3 /absolute/path/to/indicator_runcal.py
Name=Show Calendar
Type=Application
Icon=org.gnome.Calendar