Amethyst: User-defined layouts through an extension

Created on 19 Oct 2013  路  7Comments  路  Source: ianyh/Amethyst

Great work !
What about a config file for creating new custom layouts easily ?

Thanks

Trello Card

enhancement

Most helpful comment

I actually don't have any objection to a proliferation of people writing lots of different interesting layout algorithms for users to choose from, I just haven't had the time nor found the need to do so myself yet.

Writing a grid layout as you describe should be fairly straightforward and I would be happy to accept it as a PR. I would also be happy to write it myself when I get a chance if you file an issue for it or any other layout algorithms you think you might want.

All 7 comments

That's an interesting idea, can you elaborate on what you specifically might want to accomplish with this?

Hi
Basically, I work with lots of different applications. Some of them are single windowed, some of them have one or two, and some have a lot.

For these different environments (or spaces), I'd like to tailor a layout that suit my apps best. For instance, I'd like to have a layout for a "productivity" space where I have note-taking apps, and I would like this layout to be basically a grid of little square windows. To date I cannot do this yet, and I think that would be a great addition.

But you're not going to create more than a handful of standard layouts since they're kind of user-related. So I'd like to be able to configure my own layouts.

Technically speaking, I see a config file (yml) that describes the columns / lines of the layout, and defines the primary slot and the others, as well as flow rules, for instance..

Best,

I actually don't have any objection to a proliferation of people writing lots of different interesting layout algorithms for users to choose from, I just haven't had the time nor found the need to do so myself yet.

Writing a grid layout as you describe should be fairly straightforward and I would be happy to accept it as a PR. I would also be happy to write it myself when I get a chance if you file an issue for it or any other layout algorithms you think you might want.

I guess the preferred language would be Swift, right?

Not necessarily. Swift is compiled, so of it were used to build an extensible layout system we would have to include a compiler. The thing that comes to mind is actually JavaScript as there is native support via the JavaScriptCore framework (https://developer.apple.com/documentation/javascriptcore).

Wow yeah. Looks very nice.

along the lines of what @tchapi was saying, we could implement a parser for a subset of i3 layout config

Was this page helpful?
0 / 5 - 0 ratings