一款适合研究生科研工作安排的日历

日历 1.1

一个装在原生小窗口里的本地日历:不需要浏览器、没有标签页、没有网络请求和账号,完全离线运行。 事项存成本机 JSON 文件,内置农历与工作日/节假日数据。

1.0 在原有「日 / 周 / 月 + 农历 + 工作日节假日」之上新增六项能力:

新增 一句话说明
待办清单模式 按 逾期/今天/明天/本周内/以后/已完成 分组,勾选完成,带完成率进度条
快速添加语法 一行文字 明天 10:00 项目例会 #工作 !高 45min 直接建事项,带实时解析预览
标签分类与筛选 多标签 + 按标签/颜色/状态筛选,搜索支持 #标签,筛选条件显式可见可单独取消
统计面板 本周/本月/全部:完成率、逾期数、总时长、按标签时长、颜色与优先级分布、每日柱状图
打印 / 导出 周计划表、月计划表、待办清单三种排版;系统打印、直接导出 PDF、另存自包含 HTML
撤销与版本历史 Ctrl+Z/Y 撤销重做(50 步);每次覆盖保存前自动快照,可在界面里选任意版本恢复
待办清单 快速添加 统计面板
打印预览 版本历史 窗口·月视图

开始运行

复制代码
cd ~/Desktop/Deepseek_project/calendar_1.0
./install.sh          # 创建桌面图标 + 应用菜单项(不需要 sudo)

之后在应用菜单搜「日历 1.0」,或双击桌面图标。不想装就直接跑:

复制代码
python3 calendar_app.py --view list      # 打开就是待办清单
./calendar.sh                            # 或用浏览器打开

文档

文档 内容
使用说明书.md 安装卸载、四个视图、六项新功能详解、快速添加语法全表、统计口径、打印导出、快捷键、数据位置、未能满足与存在边界的地方
本文件 项目概览

与 calendar/ 的关系

calendar_1.1/ 与旧版 calendar/ 完全独立,可同时安装与运行:

calendar(旧版) calendar_1.1
应用 ID org.local.Calendar org.local.Calendar10
桌面项 local-calendar.desktop local-calendar-1.0.desktop
数据文件 ~/.local/share/local-calendar/calendar.json ~/.local/share/local-calendar/calendar-1.0.json
默认端口 8765 8766
备份目录 无 ~/.local/share/local-calendar/backups/

目录结构

复制代码
calendar_1.0/
├── calendar_app.py        小窗口应用(GTK3 + WebKit2GTK),默认入口
├── index.html             界面本体:单文件,含农历算法与节假日内置表
├── holidays.json          节假日数据(放假 / 调休上班),可自行编辑覆盖
├── serve.py               本地微型服务:静态页 + 数据 API + 版本历史
├── calendar.sh            命令行启动器(浏览器版 / --window / --stop)
├── install.sh             安装或卸载桌面快捷方式(--uninstall)
├── icon.svg               应用图标
├── tools/make-holidays.py 依据官方通知生成节假日数据
├── preview/               界面预览图
└── 使用说明书.md

运行环境

已验证:Ubuntu 20.04.6 LTS · GNOME 3.36 · X11 · Python 3.8 · PyGObject 3.36 · GTK 3.24.20 · WebKitGTK 2.38.6。

复制代码
sudo apt install python3-gi gir1.2-gtk-3.0 gir1.2-webkit2-4.0 fonts-noto-cjk

缺 GUI 组件会自动退回浏览器版;无 GPU 直通(虚拟机/容器)自动改用软件渲染; 家目录只读时数据目录自动退到临时目录。详见使用说明书第十三节。

项目源码

复制代码
https://gitcode.com/LNN0212/N-Calendar1.1
相关推荐
David猪大卫3 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
叼烟扛炮4 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
测试界的小码农5 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
❁满城风絮*5 小时前
Claude Code 学习总结
python·agent·claude
布裘5 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
.痞老板.6 小时前
mysql初阶--数据库基础
数据库·mysql
维克兜率天7 小时前
【维克】复合型CTA:趋势+套利的双轮驱动
python·学习方法
伞伞悦读7 小时前
【第76期】两张3行表左连接变5行:主键、validate与未匹配排查完整教程
人工智能·python
城北徐宫7 小时前
MySQL约束条件一览
数据库·mysql