Skip to content

Commit

Permalink
chore: update README
Browse files Browse the repository at this point in the history
  • Loading branch information
Decodetalkers committed Aug 8, 2024
1 parent 6a08036 commit f945a94
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 11 deletions.
38 changes: 29 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,52 @@
# Extra wayland shell event loop
# Extra wayland shell event loop and their iced bindings

We want to make program with iced for layershell and sessionlock, so we made this project.

Take winit as reference a lot, to make easilier program on layershell and ext-session-lock.

This project bind `ext-session-lock` and `layershell` with the similar way of winit, which storing message and handle it in callback

Here are five subprojects
## Here are five subprojects

## waycrate_xkbkeycode
### waycrate_xkbkeycode
[![Crates.io](https://img.shields.io/crates/v/waycrate_xkbkeycode.svg)](https://crates.io/crates/waycrate_xkbkeycode)

Take a lot of reference from winit (mainly from winit). Mainly handle the xkbcommon events.

## layershellev
### layershellev
[![Crates.io](https://img.shields.io/crates/v/layershellev.svg)](https://crates.io/crates/layershellev)

Winit like layershell event crate
Winit like layershell event crate.

We use it make a virtual-keyboard program, please take a look at `starcolorkeyboard`. Next we will make the program with iced-layershell instead, to provide a more beautiful virtual-keyboard program.

## sessionlockev
### sessionlockev
[![Crates.io](https://img.shields.io/crates/v/sessionlockev.svg)](https://crates.io/crates/sessionlockev)

Winit like sessionlock event crate
Winit like sessionlock event crate. It handles the sessionlock event, like lock and unlock, and provides base support for iced binding for sessionlock

## iced-layershell
### iced-layershell
[![Crates.io](https://img.shields.io/crates/v/iced-layershell.svg)](https://crates.io/crates/iced-layershell)

iced binding for layershell

## iced-sessionlock
#### Feature:

- support to open new layershell and support popup window.
- support ext-virtual-keyboard

![example](./misc/iced_layershell_example.png)

With crate, you can use iced to build your kde-shell, notification application, and etc.

### iced-sessionlock
[![Crates.io](https://img.shields.io/crates/v/iced-sessionlock.svg)](https://crates.io/crates/iced-sessionlock)

iced binding for sessionlock

Session lock is the wayland protocol for lock. This protocol is supported in river, sway and etc. We use it make a beautiful lock program in [twenty](https://github.com/waycrate/twenty). You can also use it to build your sessionlock. This will become very easy to use our crate with pam crate.


## Help Us

in iced 0.13, there will be breaking changes, we need someone who are familiar with iced to help us. And text-input-v3 and input-method also not handled, we also need some help since ime feature will be support in iced 0.13, we think this feature is very important, we need prepare for it.
2 changes: 2 additions & 0 deletions iced_sessionlock/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

iced-layershell provides binding for iced and sessionlock.

Session lock is the wayland protocol for lock. This protocol is supported in river, sway and etc. We use it make a beautiful lock program in [twenty](https://github.com/waycrate/twenty). You can also use it to build your sessionlock. This will become very easy to use our crate with pam crate.

The smallest example is like

```rust
Expand Down
9 changes: 9 additions & 0 deletions layershellev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

Layershelleventloop, take lot reference from winit, amin to make a easy way to create layershell window.

## Feature:

- support to open new layershell and support popup window.
- support ext-virtual-keyboard

With crate, you can use iced to build your kde-shell, notification application, and etc.

## Example

you can take `./examples/simplelayer.rs` for example

```rust
Expand Down
Binary file added misc/iced_layershell_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions waycrate_xkbkeycode/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ edition.workspace = true
version.workspace = true
license.workspace = true
repository.workspace = true
description.workspace = true
keywords.workspace = true
readme.workspace = true
readme = "README.md"
description = "something about xkbcommon, used in iced-layershell"

[dependencies]
xkbcommon-dl.workspace = true
Expand Down
5 changes: 5 additions & 0 deletions waycrate_xkbkeycode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# waycrate_xkbkeycode

A crate to handle xkbcommon. Most code is from winit. Be used in layershellev and sessionlockev.

xkbcommon is too difficult for me. I can just understand part of the code, but it works

0 comments on commit f945a94

Please sign in to comment.