|
1 | 1 | # 灵动课表 |
2 | 2 |
|
| 3 | +> 注:此课表为重构版,未经长时间严格测试,很可能存在漏洞 |
| 4 | +> 请谅解,有条件可报告至 <https://github.com/cup113/class_form> |
| 5 | +
|
3 | 6 | ## 使用方法 |
4 | 7 |
|
5 | 8 | 1. 如果是第一次使用,编辑 `config.json`,主要更改`"日程表"`、`"课程时间"`字段。 |
6 | 9 | 2. 点击`class_form.exe`(或者配置 Python 环境后运行 `pythonw class_form.py`,即可运行。 |
7 | | -3. 结束任务:直接关闭,或者借助任务管理器。 |
| 10 | +3. 关闭程序:双击“关闭”后弹窗点击确认,或者借助任务管理器关闭占用内存大的那个任务。 |
| 11 | + |
| 12 | +## 注意事项 |
| 13 | + |
| 14 | +1. 关于配置文件,详见“[配置文件解释](#配置文件解释)”,严格按照要求编辑。 |
| 15 | +2. 不保证程序在**连续**运行**一周**后正常运行。日志文件在程序目录同级的`logs`中。 |
| 16 | +3. 主窗口右侧四个按钮均需双击才能运行。 |
| 17 | +4. 第二窗口(黄字)上的数字均表示时间,单位为**分钟**。一般表示“剩余时间/总时间”。 |
| 18 | +5. “隐藏”表示从下课**暂时回到上课状态**一段时间,将窗口取消置顶。注意,最多延长至下一节课预备铃。点击其他软件界面即可将课表覆盖至下方。若无法覆盖,尝试点击一次课表再点击别处即可。 |
| 19 | +6. “上课”表示从下课或预备铃期间**直接进入下一节课**,将窗口取消置顶。覆盖至下方方法同上。 |
| 20 | +7. “换课”进入专门窗口,右侧“分隔”表示在这一节课下课后是否有分隔符;其余见[配置文件解释-日程表](#日程表)。 |
| 21 | +8. “关闭”指关闭整个程序,如果只是想暂时隐藏可选择“隐藏”或“上课”。 |
| 22 | +9. 双击“周x”的标签可以更换当日课表,用于应付调休。 |
8 | 23 |
|
9 | 24 | ## 配置文件解释 |
10 | 25 |
|
11 | 26 | > 请按照 json 格式编辑 |
12 | 27 |
|
13 | | -// TODO |
| 28 | +### 日程表 |
14 | 29 |
|
15 | | -## 特色介绍 |
| 30 | +- 键表示星期几(1~7),值表示当日课程安排。 |
| 31 | +- 请保证**1~7 均有对应的列表**,课程安排中均**至少有 1 个课程**(星期六、日如果没课,随意填写即可,不要空着)。 |
| 32 | +- 请保证课程安排中的**非分隔符数不超过[课程时间](#课程时间)中的列表长度** |
| 33 | +- 课程安排建议每项一个字符。 |
| 34 | +- 如果字符为[分隔符](#分隔符),则不计入正式课程,只是便于排版。 |
| 35 | +- 如果字符为 `~` ,则表示与**下一堂课**连堂(可连续使用),中途不进行上下课。注意连堂之间不要添加分隔符,且保证它**后面跟着有效课程名称**。将它与“课程时间”合理拆分合并,理论上实现全部课表。 |
| 36 | + |
| 37 | +### 课程时间 |
| 38 | + |
| 39 | +- 格式为两个时间点中间用 `-` 连接;每个时间点用 `hh:mm` 或 `h:mm` 格式。例:`09:20-10:00`、`7:30-8:00`。 |
| 40 | +- 请保证列表长度不能少于每日课程安排的非分隔符数。 |
| 41 | + |
| 42 | +### 分隔符 |
16 | 43 |
|
17 | | -// TODO |
| 44 | +- 用于分隔星期与课程区、课程区与功能区,以及较长间隔的课程群。 |
| 45 | +- 一般在[日程表](#日程表)中表示**早操、午餐、晚餐**的时间。 |
| 46 | +- 注意,第一节课前和最后一节课后均**不加分隔符**。 |
| 47 | + |
| 48 | +### 屏幕布局 |
| 49 | + |
| 50 | +- 单位均为像素。请保证均为**非负整数**。 |
| 51 | +- “窗口上方”表示窗口距离屏幕上边缘的距离。主要为了便于窗口关闭等操作,不挡住操作栏。 |
| 52 | +- “窗口间隔”指提示窗口和主窗口之间的间隔。注:窗口摆放位置按照两窗口两侧距离相等、之间等于窗口间隔的原则,放不下时都靠边,可能发生重叠。 |
| 53 | +- “窗口内上下”“窗口内左右”指窗口内的内边距。 |
| 54 | + |
| 55 | +### 其他 |
| 56 | + |
| 57 | +1. 自主课程:对于一般的课程,为了保证听课效率,不会实时显示剩余时间。而在此列表中的课程上课也会像下课一样显示剩余时间。 |
| 58 | +2. 预备铃(单位:分钟)。应用于所有课程。 |
| 59 | +3. 暂时隐藏时间(单位:分钟)。点击“隐藏”时延长上一次课程的时间。 |
| 60 | +4. 透明度(0.0~1.0):主窗口和提示窗口的透明度。 |
| 61 | +5. 侦测频率(单位:Hz):每秒钟检测屏幕的次数。调高可使点击事件的响应速度变快,调低可使CPU占用降低(注:一次侦测一般只占用 `0.8ms`,不需过度担心CPU占用。 |
| 62 | +6. 字体:课表大字的字体。功能区按钮按照 `0.4` 倍,编辑窗口按钮按照 `0.5` 倍大小。如果有人看不清课表,建议放大字体;如果两窗口发生重叠,建议缩小字体。 |
| 63 | +7. 颜色主题:调整文字、背景颜色。请保证**用 `hex` 方式,即`#`+6位十六进制数表示**(例:`#FFFF00` 黄色)。 |
| 64 | + |
| 65 | +## 特色介绍 |
18 | 66 |
|
19 | 67 | ### 高度可定制化 |
20 | 68 |
|
|
25 | 73 | - [x] (Since 0.0) 支持自定义颜色主题 |
26 | 74 | - [x] (Since 0.1) 支持自定义屏幕布局 |
27 | 75 | - [x] (Changed in 0.0) 支持变长课表 |
28 | | -- [x] (Changed in 0.0) 支持换课,有独立编辑窗口 |
29 | | -- [ ] 编辑窗口美化与丰富操作 |
30 | | -- [x] (Changed in 0.0) 支持换课后立即重新加载恢复 |
31 | 76 | - [x] (Changed in 0.0) 可定制任意时间的课表 |
| 77 | +- [x] (Changed in 0.2) 支持换课,有独立编辑窗口 |
32 | 78 | - [x] 支持调休 |
33 | 79 |
|
34 | 80 | ### 课表显示美观 |
35 | 81 |
|
36 | 82 | - [x] 上课时间窗口不置顶,不妨碍写字 |
37 | 83 | - [x] 不会出现在任务栏,不影响观感 |
38 | 84 | - [x] 支持用分隔符划分课表(如早操、午饭、晚饭等) |
39 | | -- [x] 窗口动画,变化不生硬 |
40 | | -- [x] (Since 0.0) 调度算法使得变化和日常侦测更加连续 |
| 85 | +- [x] (Changed in 0.0) 窗口动画,变化不生硬 |
| 86 | +- [x] (Since 0.0) 调度算法使得动画和日常侦测更加连续 |
41 | 87 | - [x] (Changed in 0.1) 窗口动画时间根据重要性不同可调节 |
42 | 88 | - [x] (Since 0.0) 下课时前后两节课颜色逐渐变化 |
43 | 89 | - [x] (Since 0.1) 程序有专门图标 |
44 | 90 |
|
45 | 91 | ### 传达信息充足 |
46 | 92 |
|
47 | 93 | - [x] 上下课准时提醒 |
| 94 | +- [x] (Since 0.1) 预备铃响铃提醒 |
48 | 95 | - [x] (Since 0.0) 支持下课后暂时隐藏课表或提前上课 |
49 | 96 | - [x] (Since 0.0) 自习课和下课提醒剩余时间 |
50 | 97 |
|
|
0 commit comments