Skip to content

Commit 798cc86

Browse files
authored
docs: update README.en.md
1 parent d349d13 commit 798cc86

1 file changed

Lines changed: 39 additions & 67 deletions

File tree

README.en.md

Lines changed: 39 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -3,105 +3,77 @@
33

44
![GitHub Release](https://img.shields.io/github/v/release/Kwensiu/DPIS)
55
![License](https://img.shields.io/github/license/Kwensiu/DPIS)
6+
[![Telegram Group](https://img.shields.io/badge/Group-DPIS_Chat-26A5E4?logo=telegram&logoColor=white)](https://t.me/dpis_chat)
67

7-
[中文说明](./README.md) | English
8+
Go to the [Main Repository](https://github.com/Kwensiu/DPIS)
89

9-
DPIS is an LSPosed/Xposed-based Android module for per-app display tuning (`virtual width + font size`) without changing global system display settings.
10+
[中文说明](../README.md) | English
1011

11-
## Core Capabilities
12+
DPIS is an LSPosed/Xposed-based Android module for per-app interface scale, smallest width, and font size tuning. It is useful when you want specific apps to appear larger, smaller, or closer to a tablet-style layout without changing the global system display settings.
1213

13-
- Configure per-app virtual width (`dp`)
14-
- Configure per-app font scale (`50-300%`)
15-
- Both width and font support `Emulation` and `Replacement` modes
16-
- App list search and filtering (`All apps` / `Configured apps`)
17-
- System-layer hook toggle and safe mode
14+
## Main Features
15+
16+
- Per-app interface scale, from `30-300%`
17+
- Per-app smallest width, for targeting a fixed `dp` width class
18+
- Per-app font scale, from `50-300%`
19+
- App search, configured-app filtering, and a landscape / large-screen detail panel
20+
- Global Prefill and Quick Templates for reusing common settings
21+
- Standard and Legacy builds for different LSPosed/Xposed environments
1822

1923
## Requirements
2024

21-
- Android 8.0+ (`minSdk 26`)
25+
- Android 8.0 or later
2226
- Rooted device
2327
- LSPosed/Xposed installed and enabled
2428

2529
## Quick Start
2630

2731
1. Enable the DPIS module in LSPosed.
28-
2. Select the target app in scope. In regular cases you do not need `system`.
29-
3. Open DPIS and configure:
30-
- Virtual width (`dp`)
31-
- Font scale (`50-300%`)
32-
- Width mode and font mode (`Emulation` / `Replacement`)
33-
4. Save, then restart the target app process. Reboot the device if needed.
34-
35-
If you use `Emulation`, also enable `system` scope in LSPosed. `Replacement` usually does not need it.
36-
37-
## Modes
38-
39-
| Mode | Characteristics | Best for | Notes |
40-
| --- | --- | --- | --- |
41-
| `Emulation` | Closer to native system behavior, usually more natural | System-like rendering consistency | Depends on system-layer hooks; some apps do not support it |
42-
| `Replacement` | Direct field rewrite, more immediate | Most regular apps | May cause layout drift or scaling glitches |
43-
44-
## System-Layer Hook and Safe Mode
45-
46-
- `Off`: only uses in-process overrides for the target app. Recommended with `Replacement`.
47-
- `On`: enables the full `system_server` path, useful for debugging and comparison.
48-
- `On + Safe mode`: limits hooks to lower-risk entries (`activity-start`), recommended as the default.
49-
50-
If you use `Emulation`, make sure LSPosed scope includes `system`. `Replacement` can usually work with only the target app selected.
32+
2. Select the target app in scope.
33+
3. Open DPIS, go to the app list, and choose the target app.
34+
4. Configure interface scale, smallest width, or font size.
35+
5. Save, then restart the target app for the configuration to take effect.
5136

52-
## Logs and Diagnostics
37+
Most users can keep the default strategy and only adjust interface scale or font size. Saving means DPIS has written the configuration, but the target app usually needs a process restart before it reads the new values.
5338

54-
- `Log output` is recommended off by default to reduce overhead.
55-
- When enabled, high-frequency `system_server` entries are sampled and deduplicated.
56-
- Font debug stats and overlay are diagnostic tools only and are not required for the normal apply path.
39+
## Configuration Tips
5740

58-
## Build and Test
41+
- To scale the whole app UI up or down, start with `Interface scale`.
42+
- To make an app use a tablet-like or fixed-width layout, use `Smallest width`.
43+
- To change only text size, adjust `Font size`.
44+
- If you are unsure which strategy to choose, keep `Auto`.
45+
- If the default path does not work or the app displays incorrectly, try `Compat`.
46+
- If you use system-layer behavior, also select the `system` scope in LSPosed.
5947

60-
```powershell
61-
./gradlew :app:assembleModern101Debug :app:assembleCompat100Debug
62-
./gradlew :app:testAllDebugUnitTests
63-
```
48+
When entering a small window, resizing it, or rotating the screen, DPIS tries to keep the app's scaling stable. Different apps handle window changes differently, so if the display looks wrong, restart the target app first.
6449

65-
Optional install commands (Windows PowerShell):
50+
## Templates and Prefill
6651

67-
```powershell
68-
./gradlew :app:assembleModern101Debug; if ($LASTEXITCODE -eq 0) { adb install -r "app/build/outputs/apk/modern101/debug/app-modern101-debug.apk" }
69-
./gradlew :app:assembleCompat100Debug; if ($LASTEXITCODE -eq 0) { adb install -r "app/build/outputs/apk/compat100/debug/app-compat100-debug.apk" }
70-
```
52+
- `Global Prefill` prepares draft values for apps that have not been configured yet. It does not modify existing app configurations.
53+
- `Quick Templates` save a full set of common values and apply them to multiple apps at once.
54+
- Applying a template in batch may overwrite existing target-app configurations. Check the confirmation dialog before applying.
7155

72-
## Project Structure
73-
74-
```text
75-
app/ Main Android module
76-
src/main/java/ Shared production code
77-
src/main/res/ Shared resources and UI
78-
src/modern101/java/ libxposed API 101 specific code
79-
src/compat100/java/ Legacy Xposed compatibility code
80-
src/test/java/ Unit tests
81-
docs/ Active documentation
82-
docs/archive/ Historical archived documentation
83-
refs/ Local references (LSPosed / AOSP / libxposed)
84-
```
85-
86-
## Version Notes
56+
## Version Choice
8757

8858
| Variant | File name | Environment |
8959
| --- | --- | --- |
9060
| Standard | `DPIS_{version}.apk` | LSPosed (`libxposed API 101+`) |
9161
| Legacy | `DPIS_{version}_legacy.apk` | Classic Xposed / frameworks without `libxposed API 101` support |
9262

93-
Both variants target the same user-facing feature set. The main differences are framework integration, download entry, and update behavior. Prefer the standard build and only use the legacy build when the standard one cannot load.
94-
95-
For the legacy build, always follow the main repo Releases page. The LSPosed / Xposed module repository only syncs the standard APK.
63+
Prefer the Standard build. Use the Legacy build only when the Standard build cannot load or your framework does not support it. The two variants share the same package name and cannot be installed side by side.
9664

97-
The standard and legacy builds cannot coexist. They share the same package name, so cross-installing them overwrites the other one and may reset existing state or configuration.
65+
For the Legacy build, always follow the main repository Releases page. The LSPosed / Xposed module repository usually syncs only the Standard APK.
9866

99-
## Documentation
67+
## More Documentation
10068

101-
- Chinese README: [../README.md](../README.md)
10269
- Active docs: [README.md](README.md)
70+
- Chinese README: [../README.md](../README.md)
71+
- Font routing notes: [font-routing.md](font-routing.md)
72+
- UI guidelines: [ui-guidelines.md](ui-guidelines.md)
10373
- Archived docs: [archive/README.md](archive/README.md)
10474

75+
Developers can find project structure, build commands, test commands, and collaboration notes in [AGENTS.md](../AGENTS.md).
76+
10577
## License
10678

10779
DPIS is released under [GPL-3.0-or-later](../LICENSE).

0 commit comments

Comments
 (0)