redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2023-11-07T17:45:59Zhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1377Repositories with missing GitLab CI2023-11-07T17:45:59ZRibbonRepositories with missing GitLab CICI testing is an important industry-standard to enforce mature software, it can cover compilation errors, logic problems, typos, broken links, etc.
- [ ] arg-parser
- [ ] audiod
- [ ] binutils
- [ ] bootloader
- [ ] bootloader-coreboot
...CI testing is an important industry-standard to enforce mature software, it can cover compilation errors, logic problems, typos, broken links, etc.
- [ ] arg-parser
- [ ] audiod
- [ ] binutils
- [ ] bootloader
- [ ] bootloader-coreboot
- [ ] bootloader-efi
- [ ] bootstrap
- [ ] cbitset
- [ ] cbloom
- [ ] chashmap
- [ ] compiler-builtins
- [ ] conc
- [ ] contain
- [ ] cookbook
- [ ] coreboot-fs
- [ ] coreboot-table
- [ ] core_io
- [ ] coreutils
- [ ] dmi
- [ ] drivers
- [ ] dynamic-example
- [ ] escalated
- [ ] event
- [ ] exampled
- [ ] extrautils
- [ ] f80
- [ ] findutils
- [ ] games
- [ ] gdb-protocol
- [ ] gdbserver
- [ ] home
- [ ] hwio
- [ ] init
- [ ] installer
- [ ] installer-gui
- [ ] intelflash
- [ ] kernel
- [ ] libextra
- [ ] netstack
- [ ] netutils
- [ ] nulld
- [ ] pkgar
- [ ] pkgutils
- [ ] ramfs
- [ ] randd
- [ ] ransid
- [ ] redox-daemon
- [ ] redoxer
- [ ] redox-fatfs
- [ ] redox-fatfs
- [ ] redox-input
- [ ] zerod
- [ ] redox-ssh
- [ ] rmm
- [ ] sodium
- [ ] strace-redox
- [ ] termios
- [ ] uefi
- [ ] userutilshttps://gitlab.redox-os.org/redox-os/kernel/-/issues/124Implement x86 security mitigations2024-03-16T08:44:54ZJacob Lorentzon4ldo2@protonmail.comImplement x86 security mitigationsHere's the list based on the x86 CPU vulnerabilities that Linux's lscpu prints. IIRC some of these only require updated microcode (but Redox doesn't currently support microcode updates).
- [ ] Spec store bypass (add IA32_SPEC_CTRL to co...Here's the list based on the x86 CPU vulnerabilities that Linux's lscpu prints. IIRC some of these only require updated microcode (but Redox doesn't currently support microcode updates).
- [ ] Spec store bypass (add IA32_SPEC_CTRL to context state)
- [ ] Spectre v1
- [ ] usercopy lfence barriers
- [ ] swapgs lfence barriers
- [ ] race condition induced Spectre (Ghostrace)
- [ ] etc...
- [ ] Spectre v2
- [ ] Retpolines
- [ ] RSB filling on context switches
- [ ] etc...
- [ ] Meltdown (PTI - unfinished)
- [ ] Retbleed - https://lwn.net/Articles/901834/, https://lwn.net/Articles/907054/
- [ ] Mmio stale data
- [ ] Mds
- [x] L1tf (VMM) - does not affect the Redox kernel... yet (no hypervisor support).
- [x] L1tf (OS) - `Frame`s are statically enforced not to be 0x0, and RMM is clearing page entries to zero (though it could be enforced better: https://gitlab.redox-os.org/redox-os/rmm/-/issues/3)
- [ ] Itlb multihit - does not yet affect the Redox kernel... but once hypervisor support is added, ensure that large/huge pages are not executable on vulnerable CPU models.
- [ ] Srbds - requires microcode update (mitigation can be disabled via MSRs)
- [ ] Tsx async abort - requires microcode update, Linux defaults to disabling TSX entirely in that case
- [ ] Gather data sampling ("DOWNFALL") - requires microcode update. TODO: anything else?
- [ ] RAS overflow ("INCEPTION") - requires microcode update too. TODO: anything else?
- [ ] Register File Data Sampling (only affects Intel Atom though)
Some other useful security-enhancing x86 features less related to side channels:
- [x] UMIP (trivial to add support for)
- [x] SMEP (also trivial) - apparently related to RSB filling
- [x] SMAP (will require [usercopy functions](https://gitlab.redox-os.org/redox-os/kernel/-/issues/115), hard)
- [ ] Protection keys
- [ ] Shadow stacks
It would most likely be wise to prioritize vulnerabilities affecting newer CPUs first, most notably Spec Store Bypass and Spectre V1/V2, then continuing with Retbleed, Meltdown, and lastly, the Intel-specific mostly-patched bugs (MDS, L1TF, TSX, MMIO stale data, SRBDS).
Redox also needs to implement microcode loading, which can probably be done from userspace.https://gitlab.redox-os.org/redox-os/syscall/-/issues/32Use a safe transmute crate2023-06-08T10:08:00ZJacob Lorentzon4ldo2@protonmail.comUse a safe transmute crateCurrently, many of the redox_syscall structs are repr(C) although using Deref impls to be convertible to regular slices. This has a few downsides, such as requiring explicit unsafe when casting *slices* of structs, as well as unsafe boil...Currently, many of the redox_syscall structs are repr(C) although using Deref impls to be convertible to regular slices. This has a few downsides, such as requiring explicit unsafe when casting *slices* of structs, as well as unsafe boilerplate. Reading padding bytes from a struct is UB, and `Stat` (on x86_64 at least) does contain implicit padding, making its Deref impl unsound (cf. https://gitlab.redox-os.org/redox-os/syscall/-/issues/29).
Some Redox drivers use `plain`, which would be a great improvement, although requiring manual `unsafe impl Plain for Struct`, and only allowing `slice_from_bytes` (as opposed to `slice_to_bytes`, which is impossible since plain does not forbid padding bytes). A better alternative might be `bytemuck`, which uses a derive-macro to safely implement traits, with the addition of being able to safely convert contiguous enums to/from ints (zerocopy would also work, but might not be ideal due to licensing).https://gitlab.redox-os.org/redox-os/redox/-/issues/1375Server room2024-03-18T00:01:18ZRibbonServer roomThis issue cover what is necessary for the server variant of Redox.
- [ ] Port nginx
- [ ] Port NodeJS
- [ ] Port Deno
- [ ] Port MySQL
- [ ] Port PostgreSQL
- [ ] Port MongoDB
- [ ] Audit the kernel for security issues
- [ ] Security m...This issue cover what is necessary for the server variant of Redox.
- [ ] Port nginx
- [ ] Port NodeJS
- [ ] Port Deno
- [ ] Port MySQL
- [ ] Port PostgreSQL
- [ ] Port MongoDB
- [ ] Audit the kernel for security issues
- [ ] Security mitigations for x86 motherboards (https://gitlab.redox-os.org/redox-os/kernel/-/issues/124)
- [ ] Extension of RedoxFS to multiple disks for RAID-style use cases
- [ ] GPGPU support for AI and other compute acceleration (future)https://gitlab.redox-os.org/redox-os/relibc/-/issues/176Rusty error handling2023-11-12T15:41:15ZJacob Lorentzon4ldo2@protonmail.comRusty error handlingCurrently, relibc primarily does C-like error handling (returning -1 and setting errno). A better alternative would be to use `Result<T, Errno>`, which AFAIK currently only the inner pthread implementation does. If `Errno` is defined as ...Currently, relibc primarily does C-like error handling (returning -1 and setting errno). A better alternative would be to use `Result<T, Errno>`, which AFAIK currently only the inner pthread implementation does. If `Errno` is defined as `NonZeroU32`, then the common "zero for success or -1 with errno" can be represented zero-cost as `Result<(), Errno>`. Only the outer C functions would convert the inner OS-abstracted platform functions into "-1 and errno", or other types of error handling (such as pthread's "0 or error code").
Worth noting both Redox and Linux represent syscall errors as negative error numbers (in Linux's case, between -4096 and -1, and currently in Redox's case, all negative numbers), so this change would most likely not lead to performance degradation.https://gitlab.redox-os.org/redox-os/redox/-/issues/1374aarch64 boot on qemu fails with redoxfs panic2023-06-13T00:40:37ZWill Angenentaarch64 boot on qemu fails with redoxfs panicWhen booting on qemu, redoxfs fails with [redoxfs-crash-log](/uploads/3b53e2fd01431ff0c3a8cc0ab2469675/redoxfs-crash-log).
`ELR_EL1` points at a BRK instruction. `ESR_EL1`, when decoded with something like
```
println!(
"ESR_EL1: {:...When booting on qemu, redoxfs fails with [redoxfs-crash-log](/uploads/3b53e2fd01431ff0c3a8cc0ab2469675/redoxfs-crash-log).
`ELR_EL1` points at a BRK instruction. `ESR_EL1`, when decoded with something like
```
println!(
"ESR_EL1: {:>016X} ISS={:>06X} instr len={:?} class={:>02X}", done in an idiomatic way, hardcode strings?
{ self.esr_el1 },
{ self.esr_el1 & 0xffffff },
{ self.esr_el1 >> 25 & 1 },
{ self.esr_el1 >> 26 & 0x3f }
);
```
in [dump](https://gitlab.redox-os.org/redox-os/kernel/-/blob/master/src/arch/aarch64/interrupt/handler.rs#L99) reveals
```
ISS=000001 instr len=1 class=3C
```
`0x3c` is BRK instruction execution from AArch64 state.
Manually dissecting the backtrace shows that the addresses correspond to the backtrace printing code, not the code that failed.
Early on, a fork happens, and the parent & child both panic. Looks like the child has this in [`src/bin/mount.rs`](https://gitlab.redox-os.org/redox-os/redoxfs/-/blob/master/src/bin/mount.rs#L373).
```
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: UnexpectedEof, message: "failed to fill whole buffer" }', src/bin/mount.rs:373:39
```
And the parent has
```
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /Users/wangenent/code/redox/mac/rust/library/alloc/src/collections/btree/navigate.rs:588:48
```
Some notes from conversations in the chat
- @4lDO2 mentioned that problems the btree is often caused by memory corruption.
- @microcolonel suggested checking the fork/context switching code. Audit the process creation, fork and context switch code. Come up with tests to stress this part. Tests that do not depend on an initfs or a livedisk etc.
- @rw_van suggested it's probably memory corruption or a race condition
An interesting observation, is that if redoxfs is built with `-O0` in a custom profile, e.g.
```
[profile.will-debug]
inherits = "release"
opt-level = 0
```
then the problem doesn't manifest itself and redox boots fine.https://gitlab.redox-os.org/redox-os/ring/-/issues/1redox-unix-0.13.5 fails to build on ARM Mac2023-04-30T18:27:32ZAhmed Ghoneimredox-unix-0.13.5 fails to build on ARM MacThis is caused by the fact that ARM Macs aren't in the ASM_TARGETS list
```
--- stderr
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:21:1: error: unknown directive
.hidden GFp...This is caused by the fact that ARM Macs aren't in the ASM_TARGETS list
```
--- stderr
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:21:1: error: unknown directive
.hidden GFp_aes_hw_set_encrypt_key
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:22:1: error: unknown directive
.type GFp_aes_hw_set_encrypt_key,%function
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:186:1: error: unknown directive
.size GFp_aes_hw_set_encrypt_key,.-GFp_aes_hw_set_encrypt_key
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:188:1: error: unknown directive
.hidden GFp_aes_hw_encrypt
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:189:1: error: unknown directive
.type GFp_aes_hw_encrypt,%function
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:216:1: error: unknown directive
.size GFp_aes_hw_encrypt,.-GFp_aes_hw_encrypt
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:218:1: error: unknown directive
.hidden GFp_aes_hw_decrypt
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:219:1: error: unknown directive
.type GFp_aes_hw_decrypt,%function
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:246:1: error: unknown directive
.size GFp_aes_hw_decrypt,.-GFp_aes_hw_decrypt
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:248:1: error: unknown directive
.hidden GFp_aes_hw_ctr32_encrypt_blocks
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:249:1: error: unknown directive
.type GFp_aes_hw_ctr32_encrypt_blocks,%function
^
/Users/ahmedghoneim/personal/ring/target/release/build/ring-ad93e0a461882550/out/aesv8-armx-linux64.S:428:1: error: unknown directive
.size GFp_aes_hw_ctr32_encrypt_blocks,.-GFp_aes_hw_ctr32_encrypt_blocks
^
```
I have a fix, but I need access to push a new branch to the repo :)https://gitlab.redox-os.org/redox-os/drivers/-/issues/34Tracking issue for acpid features2023-04-27T05:18:44ZRon WilliamsTracking issue for acpid features`acpid` needs the following features (among other things). Each item is relatively separate. A star at the end means you will need to understand the domain well. + or ++ indicates more effort.
- [ ] fix bug in `acpid` when using Rusty Ob...`acpid` needs the following features (among other things). Each item is relatively separate. A star at the end means you will need to understand the domain well. + or ++ indicates more effort.
- [ ] fix bug in `acpid` when using Rusty Object Notation for serialization - See #33 (ACPI knowledge not needed)
- [ ] change the `acpi` crate from `github.com/rust-osdev/acpi` so the table types are not parameterized `<H>`, but the `new` function is, and add a `from_table` new function that takes a virtual memory byte stream and creates a new table *++ https://github.com/rust-osdev/acpi/issues/172
- [ ] publish various acpi tables as serialized data, and provide a serialized interface definition *++
- [ ] implement some acpi related functionality such as battery management, as a way of clarifying requirements for acpi *+
- [ ] implement new acpi table types such as DMAR (we have a partial implementation of DMAR) *++https://gitlab.redox-os.org/redox-os/rusttype/-/issues/161Fallible outline builder2023-04-26T09:18:28ZGijs BurghoornFallible outline builderSince `OutlineBuilder` usually builds into some `String` or some struct that implements `io::Write`, it would be nice to be able to have a `FallibleOutlineBuilder` that results in a `Result<()>` with a `Error` as an associated type for t...Since `OutlineBuilder` usually builds into some `String` or some struct that implements `io::Write`, it would be nice to be able to have a `FallibleOutlineBuilder` that results in a `Result<()>` with a `Error` as an associated type for the `line_to`, `move_to`, etc.
I am not 100% sure how this should be incorporated. Possibly, we could make `OutlineBuilder` a supertrait of `FallibleOutlineBuilder` with the `Error=!`. If it is wanted, I can attempt to make an MR for this.https://gitlab.redox-os.org/redox-os/drivers/-/issues/33acpid: Change serialization of symbols to use Rusty Object Notation2023-06-11T09:22:45ZRon Williamsacpid: Change serialization of symbols to use Rusty Object NotationIn `acpid`, near https://gitlab.redox-os.org/redox-os/drivers/-/blob/master/acpid/src/acpi.rs#L342
```
if let Ok(ser_string) = serde_json::to_string_pretty(&ser_value) {
```
We would like to use Rusty Object Notation, but it crashes duri...In `acpid`, near https://gitlab.redox-os.org/redox-os/drivers/-/blob/master/acpid/src/acpi.rs#L342
```
if let Ok(ser_string) = serde_json::to_string_pretty(&ser_value) {
```
We would like to use Rusty Object Notation, but it crashes during initialization when it tries to fill with random data. It crashes accessing `/dev/rand`. This needs to be fixed and serialization converted to RON.https://gitlab.redox-os.org/redox-os/orbutils/-/issues/65Make apps and icons of launcher configurable2023-04-25T12:27:20ZAndrew MackenzieMake apps and icons of launcher configurableAdd a config file read at startup (or restart/signal?) that lists the dock contents:
- icon to show, binary name to invoke, hotkey to be used
So that people can edit it and replace or add to the listAdd a config file read at startup (or restart/signal?) that lists the dock contents:
- icon to show, binary name to invoke, hotkey to be used
So that people can edit it and replace or add to the listhttps://gitlab.redox-os.org/redox-os/orbutils/-/issues/64Add calculator to CI2023-05-08T09:47:45ZAndrew MackenzieAdd calculator to CIOnce MR is merged that adds CI on linux for most of the apps, then fix the CI build problem with calculator (related to slint) and add it to the build and test CI on all platforms that are supported.
This is the error currently:
```
I h...Once MR is merged that adds CI on linux for most of the apps, then fix the CI build problem with calculator (related to slint) and add it to the build and test CI on all platforms that are supported.
This is the error currently:
```
I haven't been able to get calculator to run on linux yet and hence it is not tested in CI either.
It fails with the following error:
error: The platform you're compiling for is not supported by winit
--> /home/andrew/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.28.3/src/platform_impl/mod.rs:67:1
|
67 | compile_error!("The platform you're compiling for is not supported by winit");
If anyone can help me fix that, we can then add it to CI on linux also.
```https://gitlab.redox-os.org/redox-os/orbutils/-/issues/63Get redoxer CI working2023-04-25T15:29:26ZAndrew MackenzieGet redoxer CI workingOnce https://gitlab.redox-os.org/redox-os/orbutils/-/merge_requests/60 is merged and linux has CI, then fix the CI for redox-os build and testOnce https://gitlab.redox-os.org/redox-os/orbutils/-/merge_requests/60 is merged and linux has CI, then fix the CI for redox-os build and testhttps://gitlab.redox-os.org/redox-os/orbclient/-/issues/50Move "bench tests" in examples to be real rust bench tests2023-04-20T13:47:14ZAndrew MackenzieMove "bench tests" in examples to be real rust bench testshttps://gitlab.redox-os.org/redox-os/book/-/issues/143Add warning/instructions for macos dependency : bison2023-04-17T08:18:05ZAndrew MackenzieAdd warning/instructions for macos dependency : bisonmacos has a version of bison already installed, but it is too old and the build fails.
installing a newer version of bison using brew is needed.
However, the brew install of bison is "keg only" and not added to the path.
If you add it...macos has a version of bison already installed, but it is too old and the build fails.
installing a newer version of bison using brew is needed.
However, the brew install of bison is "keg only" and not added to the path.
If you add it to the path AFTER the apple version, you will continue to be using the older version and build will fail.
So, you need to follow the instructions printed out from brew when running "brew install bison" and add it to the start of your $PATH
Here is the output of me re-installing it
```
❯ brew reinstall bison
==> Fetching bison
==> Downloading https://ghcr.io/v2/homebrew/core/bison/manifests/3.8.2
Already downloaded: /Users/andrew/Library/Caches/Homebrew/downloads/0a84b14c20dfba4609542ea4b14a4eb93d369f7f83f373b568017fc7d76b6505--bison-3.8.2.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/bison/blobs/sha256:fc0224d45c74ee561128eb9df366ccb08698b1d659cfb92ea746e57da0108806
Already downloaded: /Users/andrew/Library/Caches/Homebrew/downloads/0865a0dc7ef4c841a5650a22e6ce05918c025ca1dbadf91d0e18551aca1f4ac3--bison--3.8.2.ventura.bottle.tar.gz
==> Reinstalling bison
==> Pouring bison--3.8.2.ventura.bottle.tar.gz
==> Caveats
bison is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
If you need to have bison first in your PATH, run:
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.zshrc
For compilers to find bison you may need to set:
export LDFLAGS="-L/usr/local/opt/bison/lib"
==> Summary
🍺 /usr/local/Cellar/bison/3.8.2: 99 files, 3.7MB
==> Running `brew cleanup bison`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Warning: Calling plist_options is deprecated! Use service.require_root instead.
Please report this issue to the ethersphere/tap tap (not Homebrew/brew or Homebrew/homebrew-core), or even better, submit a PR to fix it:
/usr/local/Homebrew/Library/Taps/ethersphere/homebrew-tap/swarm-clef.rb:53
Warning: Calling plist_options is deprecated! Use service.require_root instead.
Please report this issue to the ethersphere/tap tap (not Homebrew/brew or Homebrew/homebrew-core), or even better, submit a PR to fix it:
/usr/local/Homebrew/Library/Taps/ethersphere/homebrew-tap/swarm-bee.rb:56
```https://gitlab.redox-os.org/redox-os/orbutils/-/issues/62Current master is in a broken state2023-04-07T09:43:44ZKivimangoCurrent master is in a broken stateHello !
I would like to commit my orblogin slint port, but I'm blocked by the current state of the master branch:
running `cargo run --bin calculator --release` on a Manjaro Linux fails to compile due to winit error:
```
error: The plat...Hello !
I would like to commit my orblogin slint port, but I'm blocked by the current state of the master branch:
running `cargo run --bin calculator --release` on a Manjaro Linux fails to compile due to winit error:
```
error: The platform you're compiling for is not supported by winit
--> /home/sapka/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.28.1/src/platform_impl/mod.rs:67:1
|
67 | compile_error!("The platform you're compiling for is not supported by winit");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
When i enable the default features in `calculator/Cargo.toml` for slint, it compiles fine.
```
slint = { git = "https://github.com/slint-ui/slint", features = ["compat-0-3-0", "renderer-winit-software"] }
```https://gitlab.redox-os.org/redox-os/orbital/-/issues/67Focus not set to top window when SUPER-TAB switching between windows2023-04-05T18:28:30ZAndrew MackenzieFocus not set to top window when SUPER-TAB switching between windowsWhen super-tab switching, we attempt to set the focus to the new window, but it doesn't appear to be working, and all the windows are left without focus and it seems to move to the launcher.
This causes problems such as key input to the...When super-tab switching, we attempt to set the focus to the new window, but it doesn't appear to be working, and all the windows are left without focus and it seems to move to the launcher.
This causes problems such as key input to the new window being lost and some keyboard shortcuts inadvertently modifying the Launcher window.https://gitlab.redox-os.org/redox-os/orbital/-/issues/66Improve SUPER overlay2023-04-04T17:19:54ZAndrew MackenzieImprove SUPER overlayIdeas for improving it:
- small delay before showing it, so in normal use when user types the other key "immediately" it is not shown.
- Better texts, shorter, easier to read
- Use of Unicode characters for some of the keys
- Better stylingIdeas for improving it:
- small delay before showing it, so in normal use when user types the other key "immediately" it is not shown.
- Better texts, shorter, easier to read
- Use of Unicode characters for some of the keys
- Better stylinghttps://gitlab.redox-os.org/redox-os/orbital/-/issues/65Maximize/restore window with double-clock on titlebar2023-04-04T16:21:27ZAndrew MackenzieMaximize/restore window with double-clock on titlebarWill need to investigate where to add double-clock detection, in Orbital or in the mouse event generation?
I think better the second, but will require modification of the mouse event (Orbclient?) so other apps can also receive it...Will need to investigate where to add double-clock detection, in Orbital or in the mouse event generation?
I think better the second, but will require modification of the mouse event (Orbclient?) so other apps can also receive it...https://gitlab.redox-os.org/redox-os/orbital/-/issues/63Sometimes super events being sent to Launcher is not working2023-04-04T08:37:28ZAndrew MackenzieSometimes super events being sent to Launcher is not workingAfter logout and backing?
Super-T for terminal and the like stop workingAfter logout and backing?
Super-T for terminal and the like stop working