Skip to content

Commit cdb0693

Browse files
committed
Update README.md
1 parent 135e3bf commit cdb0693

File tree

1 file changed

+117
-62
lines changed

1 file changed

+117
-62
lines changed

README.md

Lines changed: 117 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,163 @@
1-
# 📸 **FinalShot**
1+
# FinalShot
22

3-
FinalShot is a powerful Rainmeter plugin written in **C#** that lets you capture screenshots directly from your Rainmeter skins! 🌟
4-
Whether it's a full-screen capture, custom region, or predefined area, **FinalShot** has got you covered!
5-
Plus, it works seamlessly with multi-monitor setups—even when monitors have different DPI scaling! 💻🖥️
3+
A powerful Rainmeter plugin for capturing screenshots directly from your skins.
4+
FinalShot supports full‑screen captures, predefined regions, custom selection, multi‑monitor composition, cursor inclusion, JPEG quality control, and post‑capture actions.
65

76
---
87

9-
## **Features**
8+
## Features
109

11-
- 🖥️ **Full-Screen Capture:**
12-
Capture the **entire virtual desktop** across all monitors.
10+
- **FullScreen Capture** (`-fs`)
11+
Capture the entire virtual screen (all monitors).
1312

14-
- ✂️ **Custom Region Capture:**
15-
Drag and select a custom area on the screen with a **bold dashed red border**—clean and precise!
13+
- **Predefined Region** (`-ps`)
14+
Capture a fixed rectangle specified by X, Y, Width, and Height.
1615

17-
- 🗺️ **Predefined Region Capture:**
18-
Capture a specific area defined by coordinates in your skin's configuration.
16+
- **Custom Selection** (`-cs`)
17+
Draw a region on‑the‑fly with your mouse.
1918

20-
- 🖥️🖥️ **Multi-Monitor Support:**
21-
Designed to work with **multiple monitors**, even with different DPI settings!
22-
The plugin composites multiple captures into a single image when needed.
19+
- **Multi‑Monitor Composition**
20+
Seamlessly stitch captures across multiple monitors.
2321

24-
- 🐞 **Debug Logging:**
25-
Optional **debug logging** helps troubleshoot DPI scaling and coordinate conversion issues.
26-
Enable debugging via your skin's `.ini` file.
22+
- **Cursor Inclusion**
23+
Optionally include the mouse cursor in your screenshots.
24+
25+
- **JPEG Quality Control**
26+
Adjust JPEG compression quality (0–100).
27+
28+
- **Finish Actions**
29+
Execute any Rainmeter bang or external command after saving.
30+
31+
- **Debug Logging**
32+
Optional logging with automatic log rotation.
2733

2834
---
2935

30-
## 🛠️ **Installation**
36+
## Requirements
3137

32-
1. **🔧 Build the Plugin:**
33-
- Open the **FinalShot solution** in Visual Studio.
34-
- Build the project (choose **Debug** or **Release**).
35-
- The compiled DLL (`FinalShot.dll`) will be located in your output directory.
38+
- Windows 7 or later
39+
- Rainmeter 4.x or later
40+
- .NET Framework 4.5 or higher
41+
42+
---
3643

37-
2. **📂 Copy the DLL:**
38-
- Place `FinalShot.dll` in Rainmeter’s plugins directory:
39-
```
40-
%USERPROFILE%\Documents\Rainmeter\Plugins
41-
```
42-
- Or, use your **custom plugins folder** if configured.
44+
## Installation
4345

44-
3. **🎨 Setup Your Skin:**
45-
- Create a new folder for your skin (e.g., `FinalShotSkin`) in your Rainmeter skins directory.
46-
- Copy the **sample skin** into that folder.
47-
- Make sure that any folder referenced in the `SavePath` exists.
46+
1. **Build** the plugin from source (or download the precompiled `FinalShot.dll`).
47+
2. Copy `FinalShot.dll` into your Rainmeter **Plugins** folder (e.g. `…\Rainmeter\Plugins\`).
48+
3. Edit your Rainmeter skin `.ini` to reference the plugin.
4849

4950
---
5051

51-
## 🚀 **Usage**
52+
## Usage
5253

53-
### 🌈 In Your Rainmeter Skin
54-
Define a measure that loads the plugin and configures the screenshot options:
54+
### 1. Define a Measure
5555

5656
```ini
5757
[MeasureScreenshot]
5858
Measure=Plugin
59-
Plugin=FinalShot
60-
;!Note supported Image extension are .png(default),jpg,.jpeg,.tiff,.bmp.
61-
SavePath=#@#Screenshots\screenshot.png
59+
Plugin=Plugins\FinalShot.dll
60+
; Where to save the screenshot:
61+
SavePath=C:\Users\You\Pictures\shot.png
62+
; 1 = include cursor, 0 = no cursor
63+
ShowCursor=1
64+
; JPEG quality (only if SavePath ends in .jpg/.jpeg)
65+
JpgQuality=85
66+
; Predefined region (for -ps):
6267
PredefX=100
6368
PredefY=100
64-
PredefWidth=400
65-
PredefHeight=300
66-
DebugLog=1
67-
DebugLogPath=#@#FinalShotDebug.log
68-
;Capture Mouse Cursor in Screenshot.
69-
ShowCursor=1
69+
PredefWidth=800
70+
PredefHeight=600
71+
; After saving, execute this bang or app:
72+
ScreenshotFinishAction=[!Log "Screenshot taken!"]
73+
; Enable debug logging (1 = on, 0 = off)
74+
DebugLog=0
75+
; (Optional) custom log path:
76+
; DebugLogPath=C:\Temp\FinalShotDebug.log
7077
```
7178

72-
### 📸 **Screenshot Modes:**
73-
- **🖥️ Full Screen:** `[!CommandMeasure "MeasureScreenshot" "-fs"]`
74-
- **🔲 Custom Region:** `[!CommandMeasure "MeasureScreenshot" "-cs"]`
75-
- **📐 Predefined Region:** `[!CommandMeasure "MeasureScreenshot" "-ps"]`
79+
### 2. Capture with Bangs
80+
81+
- **Full‑Screen**
82+
```ini
83+
[!CommandMeasure MeasureScreenshot "-fs"]
84+
```
85+
86+
- **Predefined Region**
87+
```ini
88+
[!CommandMeasure MeasureScreenshot "-ps"]
89+
```
90+
91+
- **Custom Selection**
92+
```ini
93+
[!CommandMeasure MeasureScreenshot "-cs"]
94+
```
95+
96+
- **Batch Execution**
97+
You can also call:
98+
```ini
99+
[!CommandMeasure MeasureScreenshot "ExecuteBatch 1"] ; full-screen
100+
[!CommandMeasure MeasureScreenshot "ExecuteBatch 2"] ; custom
101+
[!CommandMeasure MeasureScreenshot "ExecuteBatch 3"] ; predefined
102+
```
76103

77104
---
78105

79-
## 📝 **Debugging**
106+
## Settings Reference
107+
108+
| Setting | Description | Default |
109+
|-------------------------|-------------------------------------------------------------------------------------------------|-------------|
110+
| `SavePath` | Full path (including filename & extension) where the screenshot will be saved. | (empty) |
111+
| `ScreenshotFinishAction`| Rainmeter bang or command to run after saving. | (empty) |
112+
| `ShowCursor` | Include mouse cursor in capture? (1 = yes, 0 = no) | 0 |
113+
| `JpgQuality` | JPEG compression quality (0–100). Only applies to `.jpg` or `.jpeg` files. | 70 |
114+
| `PredefX`, `PredefY` | Top‑left coordinates of the predefined capture region. | 0 |
115+
| `PredefWidth`, `PredefHeight` | Width & height of the predefined capture region. | 0 |
116+
| `DebugLog` | Enable debug logging? (1 = yes, 0 = no). | 0 |
117+
| `DebugLogPath` | Custom path for the debug log file (overrides default `FinalShotDebug.log`). | (empty) |
80118

81-
To enable debug logging, add these lines to your skin’s variables:
119+
---
120+
121+
## Examples
82122

83123
```ini
84-
DebugLog=1
85-
DebugLogPath=#@#FinalShotDebug.log
124+
[MeasureFull]
125+
Measure=Plugin
126+
Plugin=Plugins\FinalShot.dll
127+
SavePath=#@#Screenshots\Full.png
128+
ShowCursor=1
129+
ScreenshotFinishAction=[!Refresh]
86130
```
87131

88-
Debug logs help identify DPI scaling and coordinate conversion issues during **custom region capture**.
132+
```ini
133+
[MeasureRegion]
134+
Measure=Plugin
135+
Plugin=Plugins\FinalShot.dll
136+
SavePath=#@#Screenshots\Region.png
137+
PredefX=200
138+
PredefY=150
139+
PredefWidth=1024
140+
PredefHeight=768
141+
ShowCursor=0
142+
```
89143

90144
---
91145

92-
## 💪 **Contributing**
146+
## Debug Logging
93147

94-
Contributions are always welcome! 🌟
95-
- 🐛 **Found a bug?** Open an issue!
96-
- 💡 **Got an improvement?** Feel free to submit a pull request!
148+
To troubleshoot, enable `DebugLog=1`. Logs are written to `FinalShotDebug.log` (or your custom `DebugLogPath`) and automatically rotate at 5 MB.
97149

98150
---
99151

100-
## 📜 **License**
152+
## Building from Source
101153

102-
This project is licensed under the **[APACHE License](LICENSE)**.
103-
Feel free to use, modify, and distribute as per the license terms.
154+
1. Open the solution in Visual Studio.
155+
2. Ensure your target framework is set to .NET Framework 4.5 or higher.
156+
3. Build in **Release** mode.
157+
4. Copy the resulting `FinalShot.dll` to your Rainmeter plugins folder.
104158

105159
---
106160

107-
💙 **Enjoy capturing screenshots with FinalShot!** 💙
108-
Developed with ❤️ by **NS Tech Bytes**
161+
## License
162+
163+
This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.

0 commit comments

Comments
 (0)