Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
Closes #13
  • Loading branch information
Raymo111 committed Oct 31, 2023
1 parent bc993a8 commit b417ff2
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 11 deletions.
40 changes: 32 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,48 @@
# Nexus
![nexus logo](ui/images/icon.svg)

# nexus

CharaChorder's all-in-one desktop app, supporting Linux, Windows, and macOS.

## Build

1. Get Python >=3.11 (using [pyenv](https://github.com/pyenv/pyenv) recommended on Linux/macOS, Microsoft store has 3.11 for Windows)
2. Clone and build
```sh
git clone https://github.com/CharaChorder/nexus
cd nexus/
python dist.py -nd
```
```sh
git clone https://github.com/CharaChorder/nexus
cd nexus/
python dist.py -nd
```

With the `-n` and `-d` flags, `dist.py` automatically detects your OS, sets up a virtualenv in the root directory of the repo (if not provided one via args), installs requirements, converts UI files to Python, sets up git hooks, and installs the nexus module locally.

To develop, you can now run it from within the virtualenv (activate it first) using the `python -m nexus <args>` command.

## Installation

```sh
python dist.py
```

Running `dist.py` without any args detects your OS, sets up a virtualenv, installs reqs, converts UI files, and generates a platform-dependent executable in the `dist/` directory.

Note: the CI-generated binaries (in releases) don't work at the moment (see [#6 CI doesn't work](https://github.com/CharaChorder/nexus/issues/6)).

## Usage

```
cd dist/ # if following the steps above
./nexus # Unix
.\nexus.exe # Windows
```
Use the `-h` to access CLI options.
Use the `-h` flag to access CLI options
## Platform-specific quirks
### Wayland
You need to have XWayland enabled, and allow X11 apps to read keystrokes in all apps (on KDE this is in `Settings > Applications > Legacy X11 App Support`).
- You need to have XWayland enabled, and allow X11 apps to read keystrokes in all apps (on KDE this is in `Settings > Applications > Legacy X11 App Support`).
- Move the `com.charachorder.nexus.desktop` file into either your `~/.local/share/applications/` or `/usr/share/applications/` directory, and edit the path to point to the nexus icon.
## Contributing
Expand All @@ -45,3 +55,17 @@ By creating issues, PRs, or any other contributions to this repo, you hereby agr
- and will notify us if any of these change.
This summary is for information purposes only, and you are agreeing to the full text in our [CLA](Contributing.md).
## Privacy policy/Data collection
No data is collected from you when you use nexus. Unless you somehow send us data manually (e.g. by creating an issue on GitHub), anything that you type that may be logged by nexus stays on your computer. You can verify this for yourself by reading the source code. We will update this section if this changes.
## Security
### Using nexus
Parts of nexus (Freqlog) **log keystrokes**. This is necessary for that module to analyze the words you use the most. You should ban any sensitive information (passwords, credit card numbers, etc.) or stop logging before typing them. CharaChorder will not be held responsible for any data loss or theft, or any security breaches. You use nexus at your own risk.
### Reporting security issues/vulnerabilities
If you find a security issue, please reach out to a CC Rep on Discord or through our support email (support at charachorder dot com). We will work with you to resolve the issue. Please do not create a GitHub issue for security issues.
6 changes: 3 additions & 3 deletions src/nexus/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ def main():
required=False)

# Parse command line arguments
parser = argparse.ArgumentParser(description=__doc__,
epilog="Made with love by CharaChorder, source code available at "
"https://github.com/CharaChorder/nexus")
parser = argparse.ArgumentParser(
description=__doc__, epilog="Made with love by CharaChorder, source code, license, and more info available at "
"https://github.com/CharaChorder/nexus")
parser.add_argument("-l", "--log-level", default="INFO", help=f"One of {log_levels}",
metavar="level", choices=log_levels)
parser.add_argument("--freqlog-db-path", default=Defaults.DEFAULT_DB_PATH, help="Path to db backend to use")
Expand Down

0 comments on commit b417ff2

Please sign in to comment.