feat: add %K placeholder for key triggering action#801
Open
peternasser99 wants to merge 1 commit intoderf:masterfrom
Open
feat: add %K placeholder for key triggering action#801peternasser99 wants to merge 1 commit intoderf:masterfrom
peternasser99 wants to merge 1 commit intoderf:masterfrom
Conversation
- Introduced global variables to capture last key event (state, keysym, button) - Extended feh_printf to expand %K with the actual key pressed - Updated keyevents.c to assign globals before action handling - this so downstream actions could be branced on pressed key not be limited to 10 actions only
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a new printf-style substitution
%Kthat expandsto the key (or key combination) which triggered the action.
Motivation
Currently, feh actions can access file paths (
%f,%F) and othercontextual info, but not the actual key used. This makes it harder
to write key-dependent custom scripts.
Changes
feh.hto store the last key event.keyevents.cto populate these vars infeh_event_handle_generic.feh_printfinslideshow.cto substitute%Kwiththe triggering key sequence.
%Kexpands correctly for simple keys and combinations.Example usage
feh --action1 'echo "Pressed %K on %f"'note:
most of this is llm generated for my use if any wants to have more actions than 10