Skip to content

Commit 1fcc279

Browse files
committed
Sync with rework after Linux version sync
1 parent 0916dac commit 1fcc279

21 files changed

Lines changed: 3549 additions & 977 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,12 @@ tmp_*
3838

3939
# Application specific
4040
config_*.ini
41-
test.py
41+
test*
4242
configs
4343
settings
4444
assets
4545
_assets
4646
*client_secrets.py
4747
layout_config.ini
4848
buglist.txt
49+
logs

.python-version

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
#### - Visual preview of the selected configuration's layout.
1515
#### - Multiple presets available for window layout, as well as manual adjustments.
1616
#### - Optional screenshot view mode.
17-
- Screenshots can be taken using the "Take screenshots" button, or automatically downloaded from IGDB or RAWG using the "Download images" button. (API key needed for IGDB/RAWG.)
17+
- Screenshots can be taken using the "Take screenshots" button
1818
- You can also manually add your own screenshots to the image folder.
1919
#### - Toggle Always-on-Top state specifically for windows managed by the *currently applied config*.
2020
#### - Set higher process priority for selected applications. (sets it to "above normal".)
2121
#### - Support for multiple configuration files.
2222
#### - Config creation through GUI.
23+
#### - Config edit through GUI.
2324
#### - Compact GUI mode available.
2425
#### - Configurable overrides per application available in ```layout_config.ini```
2526

@@ -69,34 +70,35 @@
6970
3. Click "Yes" in the confirmation window
7071
- You can also manually delete the files from the config folder
7172

72-
### Manually edit settings
73-
1. Click the "Open Config Folder" button
74-
2. Open the config file you want to edit in notepad and adjust values
75-
3. Save the config file and close notepad
76-
- Useful for adding search_title override (pending adding this feature to config creation GUI)
73+
### Edit settings
74+
1. Click the "Edit Config" button
75+
2. Change the settings as you would when creating a new config
76+
3. Save the config
7777

7878
### Compact mode
7979
- Click the "Toggle compact" to switch between full and compact mode
8080

81-
### Take screenshots
81+
### Take config screenshots
8282
- This button will take a screenshot of all detected windows from the currently selected configuration and use them for the GUI
8383

84-
### Download images
85-
- This button will download screentshots from IGDB and use them for the GUI
86-
- The "Download images" function requires IGDB Client ID and Client Secret to work. These are not included.
84+
### Download images (removed feature)
85+
- This feature has been removed
8786

8887
### Toggle images
8988
- Switch between basic and screenshot layout
9089

9190
### Snap application on open
9291
- You can set the application to open snapped to either edge of the screen instead of centered.
93-
- This can be used to avoid opening the application behind a always-on-top window.
92+
- This can be used to avoid opening the application behind an always-on-top window.
9493

9594
### Auto-reapply
9695
- Setting this will automatically reapply the current window settings if a change is detected.
97-
- Useful for games that has a lobby and lauches a new game window per match, for example League of Legends.
96+
- Useful for games that has a lobby and launches a new game window per match, for example League of Legends.
9897

99-
## Configuration Format (***'config_\<name\>.ini'***):
98+
## Configuration Files
99+
The files can be found in the "configs" folder in the same folder as the executable.
100+
101+
### Configuration Format (***'config_\<name\>.ini'***):
100102
```
101103
[Window Title]
102104
apply_order = Titlebar,Pos,Size,Aot # Set the order for applying settings
File renamed without changes.
File renamed without changes.
File renamed without changes.

pyproject.toml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
11
[project]
22
name = "ultrawide-window-positioner"
3-
version = "1.0.4.0"
3+
version = "1.2.2.0"
44
description = "Application to manage window position, size and always-on-top status."
55
readme = "README.md"
66
requires-python = ">=3.12"
77
dependencies = [
8-
"customtkinter>=5.2.2",
98
"global-hotkeys>=0.1.7",
10-
"mss>=10.0.0",
11-
"pillow>=11.3.0",
12-
"psutil>=7.0.0",
13-
"pygetwindow>=0.0.9",
14-
"pyinstaller>=6.15.0",
15-
"pyside6>=6.9.1",
9+
"hdrcapture",
10+
"psutil>=7.2.2",
11+
"pyside6-essentials>=6.10.2",
1612
"pywin32>=311",
17-
"requests>=2.32.4",
1813
"roman>=5.2",
1914
]
15+
16+
[dependency-groups]
17+
dev = [
18+
"pyinstaller>=6.19.0",
19+
"pytest>=8.0.0",
20+
]
21+
22+
[tool.pytest.ini_options]
23+
pythonpath = ["src"]
24+
testpaths = ["src/tests"]
25+
26+
[tool.uv.sources]
27+
hdrcapture = { path = "hdrcapture-0.3.0-cp312-cp312-win_amd64.whl" }

src/gui/__init__.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""GUI components for the Ultrawide Window Positioner."""
2+
from gui.config_dialog import ConfigDialog, WindowSettingsRow
3+
from gui.layout_preview import ScreenLayoutWidget
4+
from gui.pyside_gui_manager import PysideGuiManager
5+
from gui.workers import GenericWorker, WorkerSignals
6+
7+
__all__ = [
8+
"ConfigDialog",
9+
"GenericWorker",
10+
"PysideGuiManager",
11+
"ScreenLayoutWidget",
12+
"WindowSettingsRow",
13+
"WorkerSignals",
14+
]
15+

0 commit comments

Comments
 (0)