README.md (4988 bytes)
1 # Ink Dim 2 3 Sets the frontlight below the lowest level of the system. 4 5 Tap the icon. The light goes to the lowest level the hardware still lights. 6 Tap it again. The light goes back to the level the system holds. 7 8 The app has no screen. The icon is the whole app. 9 10 Made for the Viwoods AiPaper readers. 11 12 ## Screenshots 13 14 <p> 15 <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/1.png" width="260" alt="Settings: the light, the Shizuku steps, about"> 16 </p> 17 18 The picture is from a Viwoods AiPaper Reader. 19 20 ## Why the app needs Shizuku 21 22 The system will not set the frontlight below its own floor. Ask for less 23 through any official route and the light snaps to zero. So the app writes the 24 light of the panel straight, at 25 `/sys/class/leds/lcd-backlight/brightness`. 26 27 That file belongs to the user `system`. An app cannot write it, and a plain 28 shell user cannot write it either. The AiPaper Reader that this was made on has 29 a userdebug build, where the shell user may run `su 0`. On a reader with 30 another build, the app says that it could not set the light. So the app asks Shizuku for a shell, and the 31 shell writes the file through `su 0`. 32 33 Shizuku is a separate free app. You start it from the device through wireless 34 debugging. There is no computer and no root. 35 36 Long press the icon and open **Settings** for the steps, with a button for each 37 one. 38 39 ## Install 40 41 Download the APK from the Releases page and install it. 42 43 Then long press the icon, open **Settings**, and follow the steps. 44 45 ## Use 46 47 - Tap the icon. The light goes down. 48 - Tap the icon again. The light goes back to the system level. 49 - Long press the icon for **Settings**. 50 51 The value holds across sleep. It holds until the system brightness is next set. 52 53 ## Quick settings tile 54 55 The tile is called **Extra dim**. Add it to the quick settings panel, then tap 56 it. The tile does the same as the icon, and it shows the state. 57 58 ## Start it from somewhere else 59 60 Three intent actions: 61 62 dev.equwal.inkdim.TOGGLE 63 dev.equwal.inkdim.ON 64 dev.equwal.inkdim.OFF 65 66 Example with adb: 67 68 adb shell am start -a dev.equwal.inkdim.TOGGLE 69 70 ## Put it on a hardware button 71 72 [Rebind](https://github.com/equwal/rebind) remaps the buttons of an e-ink 73 reader or any Android device. It can put this toggle on a hardware button: bind 74 the button to the action `dev.equwal.inkdim.TOGGLE`. Rebind is from the same 75 maker. 76 77 More extensions: [Awesome Rebind](https://github.com/equwal/awesome-rebind). 78 79 ## Say thanks 80 81 Ink Dim is free and open source. If it made your device better, you can 82 [buy me a coffee](https://ko-fi.com/truex). 83 84 ## Build 85 86 You need JDK 17 or later and the Android SDK, with platform 36. 87 88 ./gradlew testReleaseUnitTest assembleRelease 89 90 The APK is in `app/build/outputs/apk/release/`. 91 92 Release signing is optional. Put a `keystore.properties` file in the root of 93 the project with `storeFile`, `storePassword`, `keyAlias` and `keyPassword`. 94 Without that file the build makes an unsigned APK. 95 96 ## More projects 97 98 - [SubRead](https://subread.space/): read along with an audiobook, in the browser. 99 Also [for Android](https://github.com/equwal/subread-android/releases/latest), 100 [for YouTube](https://github.com/equwal/subread-extension/releases/latest) 101 and [for KOReader](https://github.com/equwal/subread.koplugin). 102 - [SubRead Overlay](https://github.com/equwal/subread-overlay/releases/latest): subtitle lines over any Android media player. 103 - [SubRead Dictionary](https://github.com/equwal/subread-dictionary/releases/latest): a pop-up dictionary for Android that reads Yomitan dictionaries. 104 - [SubRead Anki](https://github.com/equwal/subread-anki): one tap makes an Anki card from any Android app. 105 - [Subrep](https://github.com/equwal/subrep-android/releases/latest): live captions of the sound of your phone. 106 - [Book Simulator](https://booksimulator.com/): a reading room for Aozora Bunko and Project Gutenberg books. 107 - [honjimaku.com](https://honjimaku.com/): subtitles for Japanese audiobooks. 108 - [sbm Sync](https://sbmsync.com/): your bookmarks, the same on every device, 109 with [sbm](https://github.com/equwal/sbm) for dmenu, 110 [sbm for Android](https://github.com/equwal/sbm-android/releases/latest) 111 and the [sbm add-on](https://github.com/equwal/sbm-extension/releases/latest) for Firefox and Chrome. 112 - [Rebind](https://github.com/equwal/rebind/releases): remap the hardware buttons of e-ink readers and Android, 113 with [Ink Recents](https://github.com/equwal/ink-recents/releases/latest), 114 [Ink Dim](https://github.com/equwal/ink-dim/releases/latest) 115 and [Ink Update](https://github.com/equwal/ink-update/releases/latest). 116 - [dickt.store](https://dickt.store/): language-learning tools, flashcards and web toys. 117 - [hentaibun.online](https://hentaibun.online/): learn kanbun and kobun. 118 - [Recently Written](https://recentlywritten.com/): the blog, and a list of [all projects](https://recentlywritten.com/projects.html). 119 120 ## Licence 121 122 GPL-3.0-or-later. See [LICENSE](LICENSE). 123 124 Copyright (c) 2026 equwal.