Skip to content

Commit cc995e8

Browse files
committed
Enable support for 8" themes and add some themes scaled from 5" ones.
Add scale_theme.py to easily rescale themes between resolutions
1 parent 7d6dfbc commit cc995e8

File tree

19 files changed

+1306
-7
lines changed

19 files changed

+1306
-7
lines changed

configure.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
SIZE_4_6_INCH = "4.6\""
7373
SIZE_5_INCH = "5\""
7474
SIZE_5_2_INCH = "5.2\""
75-
SIZE_8_0_INCH = "8.0\""
75+
SIZE_8_INCH = "8\""
7676
SIZE_8_8_INCH = "8.8\""
7777
SIZE_8_8_INCH_NEWREV = "8.8\" / 9.2\" (V1.X new HW rev.)"
7878
SIZE_12_3_INCH = "12.3\""
@@ -85,7 +85,7 @@
8585
SIZE_4_6_INCH,
8686
SIZE_5_INCH,
8787
# SIZE_5_2_INCH, Not implemented yet
88-
# SIZE_8_0_INCH, Not implemented yet
88+
SIZE_8_INCH,
8989
SIZE_8_8_INCH,
9090
SIZE_8_8_INCH_NEWREV,
9191
# SIZE_12_3_INCH, Not implemented yet
@@ -103,7 +103,7 @@
103103
('D', SIZE_3_5_INCH): KIPYE_MODEL,
104104
('TUR_USB', SIZE_4_6_INCH): TURING_MODEL,
105105
('TUR_USB', SIZE_5_2_INCH): TURING_MODEL,
106-
('TUR_USB', SIZE_8_0_INCH): TURING_MODEL,
106+
('TUR_USB', SIZE_8_INCH): TURING_MODEL,
107107
('TUR_USB', SIZE_8_8_INCH): TURING_MODEL,
108108
('TUR_USB', SIZE_8_8_INCH_NEWREV): TURING_MODEL,
109109
('TUR_USB', SIZE_12_3_INCH): TURING_MODEL,
@@ -116,7 +116,7 @@
116116
('SIMU', SIZE_4_6_INCH): SIMULATED_MODEL,
117117
('SIMU', SIZE_5_INCH): SIMULATED_MODEL,
118118
('SIMU', SIZE_5_2_INCH): SIMULATED_MODEL,
119-
('SIMU', SIZE_8_0_INCH): SIMULATED_MODEL,
119+
('SIMU', SIZE_8_INCH): SIMULATED_MODEL,
120120
('SIMU', SIZE_8_8_INCH): SIMULATED_MODEL,
121121
}
122122
# This map is used to write the correct config.yaml "REVISION" from selected smart screen model and size
@@ -127,7 +127,7 @@
127127
(TURING_MODEL, SIZE_4_6_INCH): 'TUR_USB',
128128
(TURING_MODEL, SIZE_5_2_INCH): 'TUR_USB',
129129
(TURING_MODEL, SIZE_5_INCH): 'C',
130-
(TURING_MODEL, SIZE_8_0_INCH): 'TUR_USB',
130+
(TURING_MODEL, SIZE_8_INCH): 'TUR_USB',
131131
(TURING_MODEL, SIZE_8_8_INCH): 'C',
132132
(TURING_MODEL, SIZE_8_8_INCH_NEWREV): 'TUR_USB',
133133
(TURING_MODEL, SIZE_12_3_INCH): 'TUR_USB',
@@ -143,7 +143,7 @@
143143
(SIMULATED_MODEL, SIZE_4_6_INCH): 'SIMU',
144144
(SIMULATED_MODEL, SIZE_5_INCH): 'SIMU',
145145
(SIMULATED_MODEL, SIZE_5_2_INCH): 'SIMU',
146-
(SIMULATED_MODEL, SIZE_8_0_INCH): 'SIMU',
146+
(SIMULATED_MODEL, SIZE_8_INCH): 'SIMU',
147147
(SIMULATED_MODEL, SIZE_8_8_INCH): 'SIMU',
148148
}
149149
hw_lib_map = {"AUTO": "Automatic", "LHM": "LibreHardwareMonitor (admin.)", "PYTHON": "Python libraries",

library/display.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,26 @@ def _get_theme_orientation() -> Orientation:
5858
def _get_theme_size() -> tuple[int, int]:
5959
if config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '0.96"':
6060
return 80, 160
61-
if config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '2.1"':
61+
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '2.1"':
62+
return 480, 480
63+
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '2.8"':
6264
return 480, 480
6365
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '3.5"':
6466
return 320, 480
6567
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '4.6"':
6668
return 320, 960
6769
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '5"':
6870
return 480, 800
71+
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '5.2"':
72+
return 720, 1280
73+
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '8"':
74+
return 800, 1280
6975
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '8.8"':
7076
return 480, 1920
77+
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '9.2"':
78+
return 480, 1920 # 9.2" displays are 1920x462 but using 1920x480 to be compatible with 8.8" themes
79+
elif config.THEME_DATA["display"].get("DISPLAY_SIZE", '') == '12.3"':
80+
return 720, 1920
7181
else:
7282
logger.warning(
7383
f'Cannot find valid DISPLAY_SIZE property in selected theme {config.CONFIG_DATA["config"]["THEME"]}, defaulting to 3.5"')
175 KB
Loading

res/themes/8inchTheme2/preview.png

201 KB
Loading

res/themes/8inchTheme2/theme.yaml

Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
---
2+
author: "@alexwbaule"
3+
4+
display:
5+
DISPLAY_SIZE: 8"
6+
DISPLAY_ORIENTATION: portrait
7+
DISPLAY_RGB_LED: 0, 0, 255
8+
9+
static_images:
10+
BACKGROUND:
11+
PATH: background.png
12+
X: 0
13+
Y: 0
14+
WIDTH: 800
15+
HEIGHT: 1280
16+
static_text:
17+
DISK_USED_LABEL:
18+
TEXT: "Used:"
19+
X: 207
20+
Y: 984
21+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
22+
FONT_SIZE: 38
23+
FONT_COLOR: 255, 255, 255
24+
BACKGROUND_COLOR: 132, 154, 165
25+
DISK_FREE_LABEL:
26+
TEXT: "Free:"
27+
X: 207
28+
Y: 1070
29+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
30+
FONT_SIZE: 38
31+
FONT_COLOR: 255, 255, 255
32+
BACKGROUND_COLOR: 132, 154, 165
33+
DISK_TOTAL_LABEL:
34+
TEXT: "Total:"
35+
X: 207
36+
Y: 1027
37+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
38+
FONT_SIZE: 38
39+
FONT_COLOR: 255, 255, 255
40+
BACKGROUND_COLOR: 132, 154, 165
41+
STATS:
42+
CPU:
43+
PERCENTAGE:
44+
INTERVAL: 1
45+
TEXT:
46+
SHOW: True
47+
SHOW_UNIT: True
48+
X: 475
49+
Y: 64
50+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
51+
FONT_SIZE: 38
52+
FONT_COLOR: 255, 255, 255
53+
BACKGROUND_COLOR: 132, 154, 165
54+
GRAPH:
55+
SHOW: True
56+
X: 500
57+
Y: 112
58+
WIDTH: 250
59+
HEIGHT: 24
60+
MIN_VALUE: 0
61+
MAX_VALUE: 100
62+
BAR_COLOR: 0, 0, 255
63+
BAR_OUTLINE: False
64+
BACKGROUND_COLOR: 0, 0, 0
65+
FREQUENCY:
66+
INTERVAL: 5
67+
TEXT:
68+
SHOW: True
69+
SHOW_UNIT: True
70+
X: 500
71+
Y: 160
72+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
73+
FONT_SIZE: 49
74+
FONT_COLOR: 255, 255, 255
75+
BACKGROUND_COLOR: 132, 154, 165
76+
TEMPERATURE:
77+
INTERVAL: 5
78+
TEXT:
79+
SHOW: True
80+
SHOW_UNIT: True
81+
X: 333
82+
Y: 112
83+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
84+
FONT_SIZE: 38
85+
FONT_COLOR: 255, 255, 255
86+
BACKGROUND_COLOR: 132, 154, 165
87+
GPU:
88+
INTERVAL: 1
89+
PERCENTAGE:
90+
GRAPH:
91+
SHOW: True
92+
X: 500
93+
Y: 416
94+
WIDTH: 250
95+
HEIGHT: 24
96+
MIN_VALUE: 0
97+
MAX_VALUE: 100
98+
BAR_COLOR: 0, 0, 255
99+
BAR_OUTLINE: False
100+
BACKGROUND_COLOR: 0, 0, 0
101+
TEXT:
102+
SHOW: TRUE
103+
SHOW_UNIT: True
104+
X: 475
105+
Y: 368
106+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
107+
FONT_SIZE: 38
108+
FONT_COLOR: 255, 255, 255
109+
BACKGROUND_COLOR: 132, 154, 165
110+
MEMORY:
111+
TEXT:
112+
SHOW: TRUE
113+
SHOW_UNIT: True
114+
X: 500
115+
Y: 464
116+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
117+
FONT_SIZE: 38
118+
FONT_COLOR: 255, 255, 255
119+
BACKGROUND_COLOR: 132, 154, 165
120+
TEMPERATURE:
121+
TEXT:
122+
SHOW: TRUE
123+
SHOW_UNIT: True
124+
X: 333
125+
Y: 416
126+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
127+
FONT_SIZE: 38
128+
FONT_COLOR: 255, 255, 255
129+
BACKGROUND_COLOR: 132, 154, 165
130+
MEMORY:
131+
INTERVAL: 5
132+
VIRTUAL:
133+
GRAPH:
134+
SHOW: True
135+
X: 500
136+
Y: 720
137+
WIDTH: 250
138+
HEIGHT: 24
139+
MIN_VALUE: 0
140+
MAX_VALUE: 100
141+
BAR_COLOR: 0, 0, 255
142+
BAR_OUTLINE: True
143+
BACKGROUND_COLOR: 0, 0, 0
144+
USED:
145+
SHOW: TRUE
146+
SHOW_UNIT: True
147+
X: 500
148+
Y: 768
149+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
150+
FONT_SIZE: 38
151+
FONT_COLOR: 255, 255, 255
152+
BACKGROUND_COLOR: 132, 154, 165
153+
PERCENT_TEXT:
154+
SHOW: TRUE
155+
SHOW_UNIT: True
156+
X: 475
157+
Y: 672
158+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
159+
FONT_SIZE: 38
160+
FONT_COLOR: 255, 255, 255
161+
BACKGROUND_COLOR: 132, 154, 165
162+
DISK:
163+
INTERVAL: 10
164+
USED:
165+
GRAPH:
166+
SHOW: True
167+
X: 207
168+
Y: 944
169+
WIDTH: 297
170+
HEIGHT: 24
171+
MIN_VALUE: 0
172+
MAX_VALUE: 100
173+
BAR_COLOR: 0, 0, 255
174+
BAR_OUTLINE: False
175+
BACKGROUND_COLOR: 0, 0, 0
176+
TEXT:
177+
SHOW: TRUE
178+
SHOW_UNIT: True
179+
X: 340
180+
Y: 984
181+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
182+
FONT_SIZE: 38
183+
FONT_COLOR: 255, 255, 255
184+
BACKGROUND_COLOR: 132, 154, 165
185+
TOTAL:
186+
TEXT:
187+
SHOW: TRUE
188+
SHOW_UNIT: True
189+
X: 340
190+
Y: 1027
191+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
192+
FONT_SIZE: 38
193+
FONT_COLOR: 255, 255, 255
194+
BACKGROUND_COLOR: 132, 154, 165
195+
FREE:
196+
TEXT:
197+
SHOW: TRUE
198+
SHOW_UNIT: True
199+
X: 340
200+
Y: 1070
201+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
202+
FONT_SIZE: 38
203+
FONT_COLOR: 255, 255, 255
204+
BACKGROUND_COLOR: 132, 154, 165
205+
206+
DATE:
207+
INTERVAL: 1
208+
DAY:
209+
TEXT:
210+
SHOW: True
211+
X: 25
212+
Y: 1184
213+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
214+
FONT_SIZE: 41
215+
FONT_COLOR: 255, 255, 255
216+
BACKGROUND_COLOR: 132, 154, 165
217+
WIDTH: 383
218+
ANCHOR: lt
219+
HOUR:
220+
TEXT:
221+
SHOW: True
222+
X: 25
223+
Y: 1229
224+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
225+
FONT_SIZE: 41
226+
FONT_COLOR: 255, 255, 255
227+
BACKGROUND_COLOR: 132, 154, 165
228+
WIDTH: 383
229+
ANCHOR: lt
230+
231+
WEATHER:
232+
# For optimal use, if you don't want to trigger the free threshold daily call (1000 calls), the interval should be 90 MINIMUM (not really useful as the API didn't update that quickly)
233+
INTERVAL: 300
234+
TEMPERATURE:
235+
TEXT:
236+
SHOW: True
237+
X: 450
238+
Y: 1229
239+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
240+
FONT_SIZE: 41
241+
FONT_COLOR: 255, 255, 255
242+
BACKGROUND_IMAGE: background.png
243+
WIDTH: 333
244+
ANCHOR: rt
245+
WEATHER_DESCRIPTION:
246+
TEXT:
247+
SHOW: True
248+
X: 450
249+
Y: 1184
250+
FONT: jetbrains-mono/JetBrainsMono-Bold.ttf
251+
FONT_SIZE: 41
252+
FONT_COLOR: 255, 255, 255
253+
BACKGROUND_IMAGE: background.png
254+
WIDTH: 333
255+
ANCHOR: rt
39.8 KB
Loading
368 KB
Loading
675 KB
Binary file not shown.
433 KB
Loading
3.61 KB
Loading

0 commit comments

Comments
 (0)