Skip to content

Commit 3b7b110

Browse files
committed
Initial SmartMonitor HID fork
0 parents  commit 3b7b110

File tree

771 files changed

+38615
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

771 files changed

+38615
-0
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
custom: ["https://paypal.me/mathoudebine"]
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
<!---
11+
⚠️ Do not open bug reports for UsbMonitor.exe or ExtendScreen.exe here!
12+
Please read the disclaimer on the front page.
13+
-->
14+
15+
**Describe the bug**
16+
A clear and concise description of what the bug is.
17+
18+
**To Reproduce**
19+
Steps to reproduce the behavior:
20+
1. Go to '...'
21+
2. Click on '....'
22+
3. Scroll down to '....'
23+
4. See error
24+
25+
**Expected behavior**
26+
A clear and concise description of what you expected to happen.
27+
28+
**Logs**
29+
```
30+
Add logs either from the console output or the log.log file in the program main folder.
31+
```
32+
33+
**Screenshots / photos of the Turing screen**
34+
Add screenshots or photos of the rendering on the smart screen to help explain your problem.
35+
You can drag and drop photos here to add them to the description.
36+
37+
**Environment:**
38+
- Smart screen model [e.g. Turing 5", XuanFang 3.5”]
39+
- Revision of this project [e.g. 3.0.0, `main` branch, specific commit]
40+
- OS with version [e.g. Windows 11, Ubuntu 22.04]
41+
- Python version [e.g. Python 3.10]
42+
- Hardware [e.g. Intel CPU, Nvidia GPU, Raspberry Pi 3 B+ ...]
43+
44+
**Additional context**
45+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: FAQ / Troubleshooting
4+
url: https://github.com/mathoudebine/turing-smart-screen-python/wiki/Troubleshooting
5+
about: ⚠️ Please check the FAQ page before opening a new issue.
6+
- name: Existing issues
7+
url: https://github.com/mathoudebine/turing-smart-screen-python/issues?q=is%3Aissue+
8+
about: ⚠️ Please search for existing issues first before opening a new one.
9+
- name: Discussions
10+
url: https://github.com/mathoudebine/turing-smart-screen-python/discussions
11+
about: ℹ️ Use the discussion space to share your experience, ask questions and discuss with the community without opening issues.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
<!---
11+
⚠️ Do not open feature requests for UsbMonitor.exe or ExtendScreen.exe here!
12+
Please read the disclaimer on the front page.
13+
-->
14+
15+
**Is your feature request related to a problem? If so, please describe the problem.**
16+
A description of what the problem is. E.g. I cannot display this data the way I want [...]
17+
18+
**Describe the feature / solution to your problem you'd like**
19+
A description of what you want to happen.
20+
21+
**Describe alternatives you've considered / and or tested**
22+
A description of any alternative solutions or features you've considered.
23+
24+
**Screenshots / photos & mockups of the Turing screen**
25+
Add screenshots or photos/mockups of the rendering on the Turing screen to help explain your request.
26+
You can drag and drop photos here to add them to the description.
27+
28+
**Environment:**
29+
- Revision of this project [e.g. 3.7.0, `main` branch, specific commit]
30+
- OS with version [e.g. Windows 11, Ubuntu 22.04]
31+
- Python version [e.g. Python 3.13]
32+
- Hardware [e.g. Intel CPU, Nvidia GPU, Raspberry Pi 5 ...]
33+
34+
**Additional context**
35+
Add any other context or screenshots about the feature request here.

.github/dependabot.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: "pip"
5+
directory: "/"
6+
schedule:
7+
interval: "daily"
8+
allow:
9+
- dependency-type: "all"
10+
commit-message:
11+
prefix: ":arrow_up:"
12+
open-pull-requests-limit: 50
13+
14+
- package-ecosystem: "github-actions"
15+
directory: "/"
16+
schedule:
17+
interval: "daily"
18+
allow:
19+
- dependency-type: "all"
20+
commit-message:
21+
prefix: ":arrow_up:"
22+
open-pull-requests-limit: 50

.github/workflows/codeql.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL"
13+
14+
on:
15+
push:
16+
branches: [ "main" ]
17+
pull_request:
18+
# The branches below must be a subset of the branches above
19+
branches: [ "main" ]
20+
21+
jobs:
22+
analyze:
23+
name: Analyze
24+
runs-on: ubuntu-latest
25+
permissions:
26+
actions: read
27+
contents: read
28+
security-events: write
29+
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
language: [ 'python' ]
34+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
35+
# Use only 'java' to analyze code written in Java, Kotlin or both
36+
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
37+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v6
42+
43+
# Initializes the CodeQL tools for scanning.
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v4
46+
with:
47+
languages: ${{ matrix.language }}
48+
# If you wish to specify custom queries, you can do so here or in a config file.
49+
# By default, queries listed here will override any specified in a config file.
50+
# Prefix the list here with "+" to use these queries and those in the config file.
51+
52+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
53+
# queries: security-extended,security-and-quality
54+
55+
56+
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
57+
# If this step fails, then you should remove it and run the build manually (see below)
58+
- name: Autobuild
59+
uses: github/codeql-action/autobuild@v4
60+
61+
# ℹ️ Command-line programs to run using the OS shell.
62+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
63+
64+
# If the Autobuild fails above, remove it and uncomment the following three lines.
65+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
66+
67+
# - run: |
68+
# echo "Run, Build Application using script"
69+
# ./location_of_script_within_repo/buildscript.sh
70+
71+
- name: Perform CodeQL Analysis
72+
uses: github/codeql-action/analyze@v4
73+
with:
74+
category: "/language:${{matrix.language}}"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Dependency Review Action
2+
#
3+
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
4+
#
5+
# Source repository: https://github.com/actions/dependency-review-action
6+
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
7+
name: 'Dependency Review'
8+
on: [pull_request]
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
dependency-review:
15+
name: 'Dependency Review'
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: 'Checkout Repository'
19+
uses: actions/checkout@v6
20+
- name: 'Dependency Review'
21+
uses: actions/dependency-review-action@v4
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Generate Windows Packages (Debug)
2+
3+
on:
4+
release:
5+
types: [ published ]
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
generate-windows-installer:
12+
name: Generate Windows Packages (Debug)
13+
runs-on: windows-latest
14+
15+
steps:
16+
- name: Git Checkout ${{github.event.release.tag_name}}
17+
uses: actions/checkout@v6
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: '3.13'
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
python -m pip install -r requirements.txt
28+
29+
- name: Set version number for PyInstaller
30+
run: |
31+
python.exe tools\windows-installer\generate-version-info.py ${{github.event.release.tag_name}} debug
32+
33+
- name: Run PyInstaller to create binaries
34+
run: |
35+
pyinstaller.exe --noconfirm turing-system-monitor-debug.spec
36+
"${{github.event.release.tag_name}}-debug" | Out-File ".\dist\turing-system-monitor\version.txt"
37+
38+
- name: Create InnoSetup installer from generated binaries
39+
uses: Minionguyjpro/Inno-Setup-Action@v1.2.7
40+
with:
41+
path: tools/windows-installer/turing-system-monitor.iss
42+
options: /O+
43+
44+
- name: Create portable zip archive from generated binaries
45+
run: |
46+
Remove-Item -r ".\dist\turing-system-monitor\res\themes\--Theme examples\"
47+
7z a -tzip turing-system-monitor-${{github.event.release.tag_name}}-portable-debug.zip ".\dist\turing-system-monitor"
48+
49+
- name: '📦 Archive Windows installer'
50+
uses: actions/upload-artifact@v6
51+
with:
52+
name: turing-system-monitor-${{github.event.release.tag_name}}-debug
53+
path: tools\windows-installer\Output\turing-system-monitor-${{github.event.release.tag_name}}-debug.exe
54+
if-no-files-found: error
55+
56+
- name: '📦 Archive Windows portable archive'
57+
uses: actions/upload-artifact@v6
58+
with:
59+
name: turing-system-monitor-${{github.event.release.tag_name}}-portable-debug
60+
path: turing-system-monitor-${{github.event.release.tag_name}}-portable-debug.zip
61+
if-no-files-found: error
62+
63+
- name: '📩 Publish Windows installer to Release'
64+
run: |
65+
gh release upload ${{github.event.release.tag_name}} tools\windows-installer\Output\turing-system-monitor-${{github.event.release.tag_name}}-debug.exe
66+
env:
67+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68+
69+
- name: '📩 Publish Windows portable zip to Release'
70+
run: |
71+
gh release upload ${{github.event.release.tag_name}} turing-system-monitor-${{github.event.release.tag_name}}-portable-debug.zip
72+
env:
73+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Generate Windows Packages
2+
3+
on:
4+
release:
5+
types: [ published ]
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
generate-windows-installer:
12+
name: Generate Windows Packages
13+
runs-on: windows-latest
14+
15+
steps:
16+
- name: Git Checkout ${{github.event.release.tag_name}}
17+
uses: actions/checkout@v6
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: '3.13'
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
python -m pip install -r requirements.txt
28+
29+
- name: Set version number for PyInstaller
30+
run: |
31+
python.exe tools\windows-installer\generate-version-info.py ${{github.event.release.tag_name}}
32+
33+
- name: Run PyInstaller to create binaries
34+
run: |
35+
pyinstaller.exe --noconfirm turing-system-monitor.spec
36+
"${{github.event.release.tag_name}}" | Out-File ".\dist\turing-system-monitor\version.txt"
37+
38+
- name: Create InnoSetup installer from generated binaries
39+
uses: Minionguyjpro/Inno-Setup-Action@v1.2.7
40+
with:
41+
path: tools/windows-installer/turing-system-monitor.iss
42+
options: /O+
43+
44+
- name: Create portable zip archive from generated binaries
45+
run: |
46+
Remove-Item -r ".\dist\turing-system-monitor\res\themes\--Theme examples\"
47+
7z a -tzip turing-system-monitor-${{github.event.release.tag_name}}-portable.zip ".\dist\turing-system-monitor"
48+
49+
- name: '📦 Archive Windows installer'
50+
uses: actions/upload-artifact@v6
51+
with:
52+
name: turing-system-monitor-${{github.event.release.tag_name}}
53+
path: tools\windows-installer\Output\turing-system-monitor-${{github.event.release.tag_name}}.exe
54+
if-no-files-found: error
55+
56+
- name: '📦 Archive Windows portable archive'
57+
uses: actions/upload-artifact@v6
58+
with:
59+
name: turing-system-monitor-${{github.event.release.tag_name}}-portable
60+
path: turing-system-monitor-${{github.event.release.tag_name}}-portable.zip
61+
if-no-files-found: error
62+
63+
- name: '📩 Publish Windows installer to Release'
64+
run: |
65+
gh release upload ${{github.event.release.tag_name}} tools\windows-installer\Output\turing-system-monitor-${{github.event.release.tag_name}}.exe
66+
env:
67+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68+
69+
- name: '📩 Publish Windows portable zip to Release'
70+
run: |
71+
gh release upload ${{github.event.release.tag_name}} turing-system-monitor-${{github.event.release.tag_name}}-portable.zip
72+
env:
73+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/lint-flake8.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Lint with flake8
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- 'releases/**'
8+
pull_request:
9+
10+
jobs:
11+
lint-flake8:
12+
name: Lint with flake8
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v6
17+
- name: Set up Python 3.x
18+
uses: actions/setup-python@v6
19+
with:
20+
python-version: '3.x'
21+
22+
- name: Display Python version
23+
run: python -c "import sys; print(sys.version)"
24+
25+
- name: Install flake8
26+
run: |
27+
python -m pip install --upgrade pip
28+
python -m pip install flake8
29+
30+
- name: Lint with flake8
31+
run: |
32+
# stop the build if there are Python syntax errors or undefined names
33+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
34+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
35+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics

0 commit comments

Comments
 (0)