MCPcopy Index your code
hub / github.com/FriederHannenheim/cthulock

github.com/FriederHannenheim/cthulock @v0.1.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.2 ↗ · + Follow
63 symbols 82 edges 11 files 3 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cthulock

Cthulock is a screen locker for Wayland focused on customizability. You can style your lock screen using the Slint language. An example config is already provided for you to build upon.

Cthulock is still in development, if you have any suggestions for features please open an issue. Code contributions through pull requests are also always welcome.

Example Screenshot

Example Screenshot

Installation

Compiling

Compile dependencies

  • rust
  • clang
  • xkbcommon
  • egl
  • pam

If you have the repo cloned you can just do

$ cargo install --path .

Alternatively you can install from git like this

$ cargo install --git https://github.com/FriederHannenheim/cthulock.git

IMPORTANT: Cthulock needs either /etc/pam.d/cthulock or /etc/pam.conf to exist in order to unlock. If neither exist, symlink /etc/pam.d/cthulock to /etc/pam.d/login like this:

sudo ln -s /etc/pam.d/login /etc/pam.d/cthulock

NixOS

Add the cthulock flake to your flake inputs like this:

inputs.cthulock.url = "github:FriederHannenheim/cthulock";

Then add the cthulock module to your system and set

programs.cthulock.enable = true;  

Running

Runtime dependencies

  • Wayland compositor supporting ext-session-lock-v1
  • OpenGL

Just run cthulock without any parameters

$ cthulock

Configuration

Copy the sample config into $XDG_CONFIG_HOME/cthulock and start customizing it, for example by swapping out the wallpaper or moving the clock anywhere else. You can find the Slint syntax here.

For details on which properties and callbacks your Slint component needs to have look at the configuration docs

Credits

The wallpaper in the example configuration is "Wallpaper" by DyosEL and is licensed under CC BY 2.0.

Core symbols most depended-on inside this repo

Shape

Method 39
Function 15
Class 6
Enum 3

Languages

Rust100%

Modules by API surface

src/windowing_thread.rs24 symbols
src/ui/window_adapter.rs9 symbols
src/ui/egl.rs6 symbols
src/ui/mod.rs5 symbols
src/ui/slint_types.rs4 symbols
src/ui/platform.rs4 symbols
src/style.rs4 symbols
src/message.rs2 symbols
src/main.rs2 symbols
src/args.rs2 symbols
src/common.rs1 symbols

For agents

$ claude mcp add cthulock \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page