Skip to content

Proof-of-concept for queuing multiple actions on keybindings - #86

Draft
arkonger wants to merge 1 commit into
noctalia-dev:mainfrom
arkonger:main
Draft

Proof-of-concept for queuing multiple actions on keybindings#86
arkonger wants to merge 1 commit into
noctalia-dev:mainfrom
arkonger:main

Conversation

@arkonger

Copy link
Copy Markdown
Contributor

Summary

Added support for queuing multiple actions on a keybinding by setting the keybinding's action to an array of strings.

Motivation

This is just a proof-of-concept I threw together and will definitely need more testing before merging, but I think it would be quite helpful. As I've configured my keybindings, I've found that I've often had to spawn bash -c to pass several commands through umbriel msg, which makes me think that something like this would be useful not just for myself but for others as well. I thought it was worth submitting to see if this is a feature the team is interested in before I put more effort into testing.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Build / packaging
  • Documentation

Testing

I've only done minimal testing so far, by setting "Mod+Slash" = { action = ["workspace-next", "spawn:kitty"], repeat = false } and then testing in a nested session.

Manual Coverage

  • Tested in a nested Umbriel session
  • Tested in a native Umbriel session
  • Tested with multiple monitors
  • Tested with a scaled output
  • Tested with native Wayland applications
  • Tested with X11 applications through xwayland-satellite
  • Tested with the scrolling layout
  • Tested with the dwindle layout

Checklist

  • This PR is ready for review, or it is marked as Draft.
  • This change fits SCOPE.md, or its scope was agreed in an issue or on Discord first.
  • I read and followed the relevant guidance in CONTRIBUTING.md.
  • I initialized and updated the SceneFX submodule where required.
  • I ran just format, or this PR has no C++ changes.
  • I ran the relevant build, test, lint, or verification commands, or explained why they were not run.
  • I functionally verified compositor behavior where automated checks are insufficient.
  • I self-reviewed the changes.
  • I checked for new warnings or errors.
  • I updated docs/ and examples/config.toml, or this PR does not change user-facing configuration or behavior.
  • I used canonical names for config keys, IPC actions, paths, and identifiers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant