swhkd -> sohkd

main
Tait Hoyem 2 years ago
parent 8204055b88
commit 85779876dd

@ -6,10 +6,11 @@
sohkd is a display protocol-independent hotkey daemon made in Rust (based off the original, [swhkd](https://waycrate.github.io/swhkd/)). sohkd uses an easy-to-use configuration system inspired by swhkd so you can easily add or remove hotkeys, and it integrates with the [Odilia screen reader](https://odilia.app) to provide modal access to key bindings. sohkd is a display protocol-independent hotkey daemon made in Rust (based off the original, [swhkd](https://waycrate.github.io/swhkd/)). sohkd uses an easy-to-use configuration system inspired by swhkd so you can easily add or remove hotkeys, and it integrates with the [Odilia screen reader](https://odilia.app) to provide modal access to key bindings.
Because sohkd can be used anywhere, the same sohkd config can be used across Xorg or Wayland desktops, and you can even use swhkd in a tty. Because sohkd can be used anywhere, the same sohkd config can be used across Xorg or Wayland desktops, and you can even use sohkd in a tty.
**Note: The project is a WIP.** **Note: The project is a WIP.**
**BUT!! It does work right now however it's not a drop-in replacement yet. [Example config file](./docs/swhkdrc).**
**BUT!! It does work right now [Example config file](./docs/sohkdrc).**
## Installation ## Installation
@ -18,14 +19,14 @@ See [INSTALL.md](./docs/INSTALL.md) for installing sohkd.
## Running: ## Running:
```bash ```bash
sohks & sohks &
pkexec sohkd sohkd
``` ```
To refresh the config at runtime, make a script like so: To refresh the config at runtime, make a script like so:
```bash ```bash
#!/bin/sh #!/bin/sh
sudo killall sohkd killall sohkd
pkexec sohkd sohkd
``` ```
Mark it as executable using `chmod +x <path_to_refresh_script>`. Mark it as executable using `chmod +x <path_to_refresh_script>`.
@ -34,12 +35,14 @@ Then call it using `setsid -f <path_to_refresh_script>`.
A better implementation using signals will be developed later. A better implementation using signals will be developed later.
## Support server: ## Contributors:
Original developers:
https://discord.gg/KKZRDYrRYW * Shinyzenith `<aakashsensharma@gmail.com>`
* Angelo Fallaria `<ba.fallaria@gmail.com>`
* EdenQwQ `<lsahlm1eden@gmail.com>`
## Contributors: Adapters:
<a href="https://github.com/Shinyzenith/swhkd/graphs/contributors"> * Tait Hoyem `<tait@tait.tech>`
<img src="https://contrib.rocks/image?repo=waycrate/swhkd" />
</a>

@ -1,4 +1,4 @@
# This goes in /etc/swhkd/swhkdrc # This goes in /etc/sohkd/sohkdrc
# ! = consume key # ! = consume key
# [XYZ] = only in mode XYZ; if not mode is specified, the hotkey is *always* used # [XYZ] = only in mode XYZ; if not mode is specified, the hotkey is *always* used

@ -439,7 +439,7 @@ fn extract_curly_brace(line: &str) -> Vec<String> {
continue; continue;
} }
// In swhkd we will parse the full range using ASCII values. // In sohkd we will parse the full range using ASCII values.
let begin_ascii_val = begin_char.parse::<char>().unwrap() as u8; let begin_ascii_val = begin_char.parse::<char>().unwrap() as u8;
let end_ascii_val = end_char.parse::<char>().unwrap() as u8; let end_ascii_val = end_char.parse::<char>().unwrap() as u8;
@ -569,7 +569,7 @@ mod tests {
#[test] #[test]
fn test_existing_file() -> std::io::Result<()> { fn test_existing_file() -> std::io::Result<()> {
let setup = TestPath::new("/tmp/swhkd-test-file1"); let setup = TestPath::new("/tmp/sohkd-test-file1");
// Build a dummy file in /tmp // Build a dummy file in /tmp
let mut f = File::create(setup.path())?; let mut f = File::create(setup.path())?;
f.write_all( f.write_all(

Loading…
Cancel
Save