concept description needed
Hi @klesh , could you explain the three concepts for
theme,tilerandlayout
and their relation to each other? Maybe even in relation to further (more obvious) concepts like screen, window, physical work area and tab?
Which belongs where? Which is a child / parent of which?
Are these concepts used strict enough within the source code?
I try to understand the overall structure and would appreciate some support, here.
Hi @nnako,
Good question!
Here’s how I define the terms:
layout: Describes tiles in a relative/ratio/proportional way. The screen width/height are represented as1, and tiles are positioned between0and1.tiler: Converts a relativelayoutinto physical sizes based on the givenwork_area.layout_tiler: A combination oflayoutsand atiler— essentially a shortcut for convenience.theme: Maybe not the best term (I ran out of vocabulary 🙂). It’s used to store personal preferences likegap,new window as master, etc., along with alayout_tiler.
Other terms:
screen= monitorwindow= window (each window belongs to a monitor)
The following terms seem straightforward to me. Could you share a bit more context on what’s confusing about them?
physical work areatab
Where did you see these? A link or screenshot would help.
Hi @klesh ,
Could you share a bit more context on what’s confusing about them?
I was just wondering if there was a strict mental model for all the different words. Thanks for your explanation.
physical work areaandtab
"tab" might be just a word that came into my mind while thinking about all the different concepts and relations concerning window organization. But "physical work area" I read in some source file but can't remember where. I will get back to you as soon as I run into it, again.
Here is what I've extracted from your explanation. Does it fit?:
A workspace would be the overall (virtual) space wherein the screens (if multiple monitors are connected and active) get placed according to the operating system settings. Each screen hosts a single theme element and number of windows. And each window's location is defined relative (and normed) to its hosting screen via its layout parameter and is also defined by the tiler parameter which translates the layout into physical window sizes.
Not quite aligned with what I had in mind. Let me clarify:
- The OS can have one or multiple screens/monitors.
- Each screen has multiple workspaces (I usually prefer 4). Only one workspace is visible on a screen at a time, and you can switch workspaces independently for each screen.
- Each workspace supports multiple themes (e.g., dwindle with gap
x, monocle, static, etc.), with one active at a time. You can switch themes independently for each workspace. - Each workspace contains multiple windows, which are arranged according to the
theme.layout_tiler, gap preferences, and other settings.
Got it. Thanks for your clarification:
@nnako layout_tiler belongs to theme
ok. one layout_tiler per theme?
yes