Added system actions: exit menu etc.#2102
Conversation
- Implemented them for Windows. - Transferred one action for Linux from an existing .talon file.
for more information, see https://pre-commit.ci
| def system_lock(): | ||
| # Adapt key configuration as needed. | ||
| actions.key("super-shift-x") |
There was a problem hiding this comment.
I think this is very problematic: it moves a setting that is neither a default nor really a widely adopted convention to a file that has nothing to do with i3wm. Thus, this would become very hard to discover. I am not even entirely convinced that there is any configuration for these commands that would work reliably across desktop environments. I'm not aware of any general configuration for the major environments like Gnome and KDE in community. Of course, the major desktop environments have recently dropped support for X11 and, by extension, Talon. But that's a different can of worms.
There was a problem hiding this comment.
a setting that is neither a default nor really a widely adopted convention
I needed to abstract the existing voice command lock screen, because it semantically belongs to what the new core/system/system.py declares. I can't see how it should just continue to exist in parallel, if the platform-independent abstraction is accepted.
this would become very hard to discover.
i3wm.talon could refer to this code in a comment. Do you think the implementation in core/system should be moved?!
I am not even entirely convinced that there is any configuration for these commands that would work reliably across desktop environments.
That's why I defined the i3wm_ctx with the respective constraint. The new core/system/system_linux.py was intended to be augmented with different Talon Contexts for different desktop environments.
AI generated code for me for the class I3wmUserActions that it thought would implement the actions (same for Mac). I just didn't accept it, because I can't test it, because I'm neither a Linux user nor knowledgable in Linux. (Disclaimer: I wrote the Windows code diligently myself.)
|
Maybe I should move |
…reens on. Also made use of the `win32con` module more.
The "system" prefix is required, because the user is normally in the mindset of working with specific apps, and some widely used apps like Chrome and Firefox have their own task managers.
eb41146 to
096a3e0
Compare
|
Feedback from community session: We're not in love with adding a lot of "to do"s and half implemented actions. We would suggest creating a separate pull request with the windows only features like opening task manager. Having that voice commands for the other platforms doesn't really make that much sense. In this pull request the things that should be left is things that are actually supported and implemented for all three platforms. A reason why all of these actions are not added already is because there isn't a platform agnostic implementation or support for all of these features. In the future you are welcome to attend one of our backlog sessions or write to us on slack we can have a discussion about large changes beforehand. Please have a look at the contribution guidelines Line 15 in 6272485 |
See the new file
core/system/system.talonfirst for a quick overview.