1# X11 Magnification Tool
2
3Xmagnify is a real-time screen magnification tool for X11 systems that
4provides a zoomed view of the area around your mouse cursor.
5
6## Features
7
8| Feature | Description |
9|---------|-------------|
10| **Real-time zoom** | Live magnification of screen content around cursor |
11| **Configurable zoom level** | Adjustable magnification factor via command line |
12| **Customizable window size** | Configurable zoom window dimensions |
13| **Keyboard controls** | Press `q`, `Q`, or `Escape` to quit |
14
15## How to use
16
17> [!IMPORTANT]
18> Make sure you have the required dependencies installed before
19> building the project.
20
21First, ensure you have the necessary development libraries installed:
22
23```sh
24# On Void Linux
25sudo xbps-install -S libX11-devel libXfixes-devel libXrender-devel
26
27# On Debian/Ubuntu
28sudo apt-get install libx11-dev libxfixes-dev libxrender-dev
29
30# On Fedora/RHEL
31sudo dnf install libX11-devel libXfixes-devel libXrender-devel
32
33# On Arch Linux
34sudo pacman -S libx11 libxfixes libxrender
35```
36
37Build the project:
38
39```sh
40make
41sudo make install
42```
43
44Run the magnification tool:
45
46```sh
47xmagnify
48```
49
50### Command line options
51
52The tool supports several command line options for customization:
53
54```sh
55xmagnify [OPTIONS]
56
57Options:
58 -z, --zoom LEVEL Zoom level (default: 2)
59 -s, --size SIZE Window size in pixels (default: 600)
60 -h, --help Show help message
61 -q, --quit Quit the application
62```
63
64### Examples
65
66Basic usage with default settings:
67```sh
68xmagnify
69```
70
71Custom zoom level and window size:
72```sh
73xmagnify --zoom 3 --size 600
74```
75
76Short option syntax:
77```sh
78xmagnify -z 4 -s 500
79```
80
81## Building from source
82
83The project uses a simple Makefile for building. Available targets:
84
85```sh
86make # Build the executable (default)
87make clean # Remove build artifacts
88sudo make install # Install to /usr/local/bin/
89sudo make uninstall # Remove from /usr/local/bin/
90```
91
92### Debugging
93
94Enable verbose output by modifying the source code or using
95debugging tools like `gdb`:
96
97```sh
98gdb ./xmagnify
99```
100
101## License
102
103[xmagnify](https://github.com/mitjafelicijan/xmagnify) was written by [Mitja
104Felicijan](https://mitjafelicijan.com) and is released under the BSD
105two-clause license, see the LICENSE file for more information.