Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f7ef7c14d | ||
| c4876e5606 | |||
|
|
497beb7bb0 | ||
|
|
40f6795163 | ||
|
|
10daa9982b | ||
|
|
08c2358bdc | ||
|
|
2c4455f623 | ||
|
|
ec5cba13c8 | ||
|
|
4c4c9a1b35 | ||
|
|
6cc8e06e89 | ||
|
|
dfe065d26a | ||
|
|
c1afd3f33e | ||
|
|
724ffbd494 | ||
|
|
7c6a7d6b6d | ||
|
|
667b4cd2d9 | ||
|
|
c5a41244b4 | ||
|
|
d32b82a2bb | ||
|
|
11af21ee6d | ||
|
|
fa4627316d | ||
|
|
cdb35767ac |
44
Cargo.toml
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ming-wm"
|
||||
version = "1.0.0"
|
||||
version = "1.3.0-rc.0"
|
||||
repository = "https://github.com/stjet/ming-wm"
|
||||
license = "GPL-3.0-or-later"
|
||||
edition = "2021"
|
||||
@@ -9,38 +9,48 @@ default-run = "ming"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[workspace]
|
||||
members = ["linux"]
|
||||
members = [ "wm", "linux" ]
|
||||
|
||||
[workspace.lints.clippy]
|
||||
len_zero = "allow"
|
||||
comparison_to_empty = "allow"
|
||||
manual_saturating_arithmetic = "allow"
|
||||
result_unit_err = "allow"
|
||||
needless_borrow = "allow"
|
||||
needless_borrows_for_generic_args = "allow"
|
||||
redundant_static_lifetimes = "allow"
|
||||
collapsible_else_if = "allow"
|
||||
too_many_arguments = "allow"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[build-dependencies]
|
||||
bmp-rust = "0.5.0"
|
||||
blake2 = { version = "0.10.6", default-features = false }
|
||||
bitcoin_hashes = { version = "0.16.0", default-features = false }
|
||||
|
||||
[dependencies]
|
||||
ming-wm-lib = { path = "ming-wm-lib" }
|
||||
blake2 = { version = "0.10.6", default-features = false }
|
||||
linux = { path = "linux" }
|
||||
termion = { version = "4.0.3", optional = true }
|
||||
wm = { path = "wm", optional = true }
|
||||
linux = { path = "linux", optional = true }
|
||||
rodio = { version = "0.19.0", default-features = false, features = [ "flac", "mp3", "symphonia-vorbis", "wav" ], optional = true }
|
||||
rand = { version = "0.9.0", default-features = false, features = [ "small_rng" ], optional = true }
|
||||
id3 = { version = "1.10.0", optional = true }
|
||||
mp4ameta = { version = "0.11.0", optional = true }
|
||||
metaflac = { version = "0.2.5", optional = true }
|
||||
bmp-rust = "0.5.0"
|
||||
pty-process = { version = "0.5.1", optional = true }
|
||||
|
||||
[features]
|
||||
default = [ "main", "terminal" ]
|
||||
main = [ "termion" ]
|
||||
terminal = [ "pty-process" ]
|
||||
audio_player = [ "id3", "mp4ameta", "metaflac", "rand", "rodio" ]
|
||||
default = [ "wm", "terminal" ]
|
||||
terminal = [ "linux" ]
|
||||
audio_player = [ "id3", "mp4ameta", "metaflac", "rodio" ]
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
debug = "line-tables-only"
|
||||
|
||||
[[bin]]
|
||||
name = "ming"
|
||||
path = "src/bin/main.rs"
|
||||
required-features = [ "main" ]
|
||||
path = "src/bin/wm.rs"
|
||||
required-features = [ "wm" ]
|
||||
|
||||
[[bin]]
|
||||
name = "mingFiles_Audio_Player"
|
||||
@@ -67,3 +77,7 @@ path = "src/bin/malvim.rs"
|
||||
[[bin]]
|
||||
name = "mingGames_Reversi"
|
||||
path = "src/bin/reversi.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "mingUtils_Draw"
|
||||
path = "src/bin/draw.rs"
|
||||
|
||||
37
README.md
@@ -1,15 +1,17 @@
|
||||
Ming-wm is a keyboard-based, retro-themed window manager for Linux. It is neither for Wayland or the X Window System - it writes directly to the framebuffer. Inspirations include i3, Haiku, SerenityOS, and Windows98, and it is a conceptual successor to the previous [mingde](https://github.com/stjet/mingde) and [ming-os](https://github.com/stjet/ming-os).
|
||||
Ming-wm is a keyboard-based, retro-themed window manager for Linux. It is neither for Wayland or the X Window System - it writes directly to the framebuffer. Inspirations include i3, Haiku, SerenityOS, and Windows98.
|
||||
|
||||

|
||||

|
||||
|
||||
https://github.com/user-attachments/assets/5a598287-27d5-40f2-9b5f-9c1e67cab2f5
|
||||
|
||||
The [Koxinga web browser](https://github.com/stjet/koxinga) can be separately installed.
|
||||
|
||||

|
||||
|
||||
## Building
|
||||
|
||||
Create a `password.env` file in the same directory as `build.rs`, otherwise the default password will be "incorrect mule lightbulb niche".
|
||||
Create a `password.env` file in the same directory as `build.rs`, otherwise the default password will be "password".
|
||||
|
||||
For best performance:
|
||||
|
||||
@@ -30,7 +32,7 @@ chmod +x ./install
|
||||
sudo ./install
|
||||
```
|
||||
|
||||
Alternatively, to move the binaries to `~/.local/bin` (which probably needs to be added to `PATH`, run the following:
|
||||
Alternatively, to move the binaries to `~/.local/bin` (which probably needs to be added to `PATH`), run the following:
|
||||
|
||||
```bash
|
||||
chmod +x local-install
|
||||
@@ -49,9 +51,9 @@ Usage for most of the included windows and window-likes are included in `docs/wi
|
||||
|
||||
## Running on Mobile Linux
|
||||
|
||||
Running with an onscreen keyboard. The framebuffer may not be redrawn to the screen without a (real) key press. The volume down button seems to work. If someone knows why this is the case, and/or how to fix this, please let me know.
|
||||
More or the less the same, but includes with an onscreen keyboard for touchscreens.
|
||||
|
||||
`evtest` needs to be installed. Currently, the input device is assumed to be at `/dev/first-touchscreen`.
|
||||
Currently, the touchscreen input device is assumed to be at `/dev/input/by-path/first-touchscreen`, but this is easily editable (see `src/bin/wm.rs`). For touchscreen support, the user running `ming` needs to have read permissions for that `/dev/input/` file.
|
||||
|
||||
```
|
||||
ming touch
|
||||
@@ -65,6 +67,20 @@ ming touch rotate
|
||||
|
||||
<image alt="mobile example" src="/docs/images/mobile.png" width="50%">
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
If key presses do nothing, that is, if on the lockscreen, despite key presses (physical or of the OSK), nothing happens (no asterisk characters show up), try adding the `force-stdout` arg. For example:
|
||||
|
||||
```
|
||||
ming force-stdout
|
||||
```
|
||||
|
||||
Or:
|
||||
|
||||
```
|
||||
ming touch force-stdout
|
||||
```
|
||||
|
||||
## Philosophy
|
||||
|
||||
See [/docs/philosophy.md](/docs/philosophy.md) for some hopefully interesting ramblings.
|
||||
@@ -73,15 +89,20 @@ See [/docs/philosophy.md](/docs/philosophy.md) for some hopefully interesting ra
|
||||
|
||||
Windows (may be called apps in other window managers) can be developed in any language, though it is easiest to do so in Rust because the `ming-wm-lib` crate can be used.
|
||||
|
||||
See [koxinga](https://github.com/stjet/koxinga) or `src/bin` for examples. The `docs` directory includes a [brief introduction to writing windows](docs/system/writing_windows.md), and (incomplete) documentation on the workings of ming-wm.
|
||||
The `docs` directory includes a [brief introduction to writing windows](docs/system/writing_windows.md), and (incomplete) documentation on the workings of ming-wm.
|
||||
|
||||
See [koxinga](https://github.com/stjet/koxinga) or `src/bin` for examples.
|
||||
|
||||
A (very poorly written, and WIP) window is being written in Lisp Scheme: [ming-flashcards](https://github.com/stjet/ming-flashcards).
|
||||
|
||||
## Security
|
||||
|
||||
Make sure the permissions of `password.env` are so other users cannot read or write to it. If there is no plan to recompile, just delete it.
|
||||
|
||||
Understand the implications of adding the user to the `video` group. And if the permissions of a `/dev/input/` file was changed for touchscreen support, understand those implications too.
|
||||
|
||||
Obviously, don't run the executable with `sudo` or `doas`, or as the root user!
|
||||
|
||||
## License
|
||||
|
||||
Licensed under the GPLv3. The font data in the `bmps/shippori-mincho` folder are covered by the OFL. The font was created by FONTDASU. The font data in `bmps/nimbus-roman` are licensed under the AGPL. This is a very slightly modified version of the font was created by URW Studio. The font data in `bmps/nimbus-romono` is also licensed under the AGPL. This is a slightly modified version of the Nimbus Roman font by URW Studio.
|
||||
|
||||
Licensed under the GPLv3. The font data in the `bmps/shippori-mincho` folder are covered by the OFL. The font was created by FONTDASU. The font data in `bmps/nimbus-roman` are licensed under the AGPL. This is a very slightly modified version of the font was created by URW Studio. The font data in `bmps/nimbus-romono` is also licensed under the AGPL. This is a slightly modified version of the Nimbus Roman font by URW Studio. The font data in the `bmps/linja-lipamanka` folder are covered by the OFL. The font was created by lipamanka.
|
||||
|
||||
BIN
bmps/arhants1440x842.bmp
Normal file
|
After Width: | Height: | Size: 4.6 MiB |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 486 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 274 B |
BIN
bmps/linja-lipamanka/2.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 378 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 334 B |
BIN
bmps/linja-lipamanka/2.bmp
Normal file
|
After Width: | Height: | Size: 406 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 378 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 378 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 378 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 450 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 234 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 486 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 270 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
bmps/linja-lipamanka/2.bmp
Normal file
|
After Width: | Height: | Size: 278 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 494 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 454 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 390 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 390 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 538 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 374 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 406 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 450 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 274 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
bmps/linja-lipamanka/4.bmp
Normal file
|
After Width: | Height: | Size: 214 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 450 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 494 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
BIN
bmps/linja-lipamanka/4.bmp
Normal file
|
After Width: | Height: | Size: 102 B |
BIN
bmps/linja-lipamanka/4.bmp
Normal file
|
After Width: | Height: | Size: 162 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 334 B |
BIN
bmps/linja-lipamanka/4.bmp
Normal file
|
After Width: | Height: | Size: 182 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 494 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 274 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 454 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 486 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 414 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 494 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 538 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 334 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 450 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 450 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
bmps/linja-lipamanka/2.bmp
Normal file
|
After Width: | Height: | Size: 310 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 494 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 274 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 234 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/2.bmp
Normal file
|
After Width: | Height: | Size: 310 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 486 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 234 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 486 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 414 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 214 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 214 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 254 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 486 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 414 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 538 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bmps/linja-lipamanka/3.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
bmps/linja-lipamanka/1.bmp
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
BIN
bmps/linja-lipamanka/0.bmp
Normal file
|
After Width: | Height: | Size: 390 B |