Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Amethyst to send application names to custom layouts #1545

Open
ianyh opened this issue Sep 2, 2023 Discussed in #1425 · 1 comment
Open

Allow Amethyst to send application names to custom layouts #1545

ianyh opened this issue Sep 2, 2023 Discussed in #1425 · 1 comment

Comments

@ianyh
Copy link
Owner

ianyh commented Sep 2, 2023

Discussed in #1425

Originally posted by ianyh February 17, 2023
As it stands now we explicitly do not pass application information along with window frames when asking custom layout for appropriate frames. A user was requesting something for custom layouts in which they could apply special layout rules to some lower priority applications that should not affect the tiling. With the app information restriction this is effectively impossible, but I wanted to ask for feedback on how acceptable it would be to include application names along with window frames sent to custom layouts.

A brief explanation for why that information is not included is that Amethyst has privileged access to information through Accessibility, and custom layouts are basically arbitrary JavaScript so I wanted to minimize how much privileged information was passed along. Any application can determine what other applications are running, but they cannot necessarily tie those applications to window frames.

There is information that I don't want to ever pass along, but the open question right now is whether or not tying window frames to application names is acceptable. What do people think?

@jasonprado
Copy link

I would like this feature. I was surprised the information wasn't passed along when I looked at custom layouts, but the security issue you raise makes sense.

Can you make the JavaScript execute in a very sandboxed way? No modules, no fetch, no filesystem access.

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

No branches or pull requests

2 participants