this post was submitted on 28 Sep 2023
50 points (90.3% liked)

Linux

48090 readers
786 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I am once again considering to write my own window manager

...unless the setup I am thinking of is already possible, let me construct this in your head:

On the top of the screen, there is narrow status bar, which is split into two parts. On the right side of the bar, you have your clock, your battery, your signal strength and so on.

On the left side, there is a clickable tab for every window you have opened. It's like browser tabs: Every window always uses the entire space below the status bar.

On the far left, there could be an icon which opens a searchable list of applications, kind of like #dmenu but vertical. Everything supports mouse input as you would expect.

Does that exist? Should I make it? It would be awesome for smaller screens, like phones.

Edit: I should add that I'm planning to run it on a Nokia N900 with a single 600 MHz CPU core, 256 MB RAM and a resolution of 800×480 pixels. Existing full desktop environments like Xfce4, LXDE, and so on are way to heavy to run.

@[email protected] @[email protected] @[email protected] @[email protected]

#linux #programming #windowmanager #x11 #wayland

top 34 comments
sorted by: hot top controversial new old
[–] [email protected] 18 points 1 year ago

Almost any window manager should be able to do that. One way would be: timing WM + a script that opens each window in new workspace + bar configuration (if the built-in bar can't do what you want, there are plenty configurable thind-party bars that most WMs support).

[–] [email protected] 13 points 1 year ago (1 children)

Check out awesome wm and i3 if you haven't already

[–] [email protected] 4 points 1 year ago (2 children)

@mvirts @chinstrap

I haven't looked too deep into what's possible with the config files of i3 or awesome. Maybe I should do that first. I just assumed they would be too keyboard focused. I want everything to be visible on screen, so you don't have to remember hotkeys.

[–] [email protected] 8 points 1 year ago (1 children)

What you want should be quite easy to achieve with i3/sway or awesomewm. i3 has a slew of possibilities for "bars", even the xfce/kde panels: https://wiki.archlinux.org/title/i3#i3bar_alternatives

Awesomewm is totally usable via the mouse and infinetly extendaple via lua.

[–] [email protected] 2 points 1 year ago (1 children)

I just wish it would be easier to set it up and run it a s a floating WM, with proper window decorations and movement.

[–] [email protected] 0 points 1 year ago (1 children)

Why would you want it floating if every window is maximized? These requirements contradict each other.

The linux community is IMHO a bit focused on tiling WMs. I like tiling as well, but in this case: the vanilla gnome workflow is kinda 70% of what you want already. The rest can be done via extensions.

[–] [email protected] 3 points 1 year ago

I want floating because I DON'T want every window maximized.

To be honest, I actually only want Openbox but it run's with Wayland (no, labwc is missing too many fetures).

[–] [email protected] 1 points 1 year ago

Hey I thought you we're going to use it on an N900! :P

[–] [email protected] 9 points 1 year ago (1 children)

Enlightenment says:

“Welcome”

[–] [email protected] 0 points 1 year ago (2 children)

@PuppyOSAndCoffee Probably nothing for a N900 but I've heard so much of it. I really should give it a try. How does Enlightenment run with older hardware? I'm talking 8-10 years old.

[–] [email protected] 2 points 1 year ago

Excellent. It is very very very tweakable.

[–] [email protected] 1 points 1 year ago

What's wrong with PostmarketOS + sxmo? Supports xorg and Wayland.

[–] [email protected] 8 points 1 year ago

I did something similar: I wrote this kwin script to arrange each window maximized in a new virtual desktop, and then this plasmoid to navigate through applications by sliding the finger on the top edge.
It's still in the first development stage, so don't expect it to be perfect, but it work for me. You may use the kwin script and create just the "tab manager", perhaps forked from pager, and arrange your panel as you like

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

in Wayland: sway+waybar

You can use i3 as mentioned in other comments for x11.

[–] [email protected] 6 points 1 year ago (1 children)

Aren't you mixing WM and DE together? XFCE can do that, LXDE probably too.

[–] [email protected] 2 points 1 year ago (1 children)

@MonkderZweite Well, a window manager is for managing windows, right? So, having it also provide a list of windows to click on is resonable, in my opinion.

I should've added that I'm planning to run it on a Nokia N900 with 600 MHz and 256 MB RAM, both #XFCE and #LXDE are way too heavy for it. Also, most of their menus don't fit on the 800×480 pixel screen.

[–] [email protected] 5 points 1 year ago

Ah, ok. Custom requirements (probably) need custom solutions.

[–] [email protected] 6 points 1 year ago (1 children)

This should be possible to build with sway (and presumably any other tiling wm). Now that I'm thinking about it, you can probably also do this with gnome and a couple of extensions.

The status bar can be achieved with waybar in sway, which can be easily configured the way you described. In gnome there is an extension to rearrange the top panel.

I'm thinking of opening each window in a new workspace, can be configured for sway and gnome has an extension for that.

For the tabs we can use waybar with sworkstyle for each wroskpace, requires some configuration. For gnome I'd just use one of the many task bar extensions.

I can't immediately think of a solution for the searchable list, but I'd be surprised if it didn't exist for both systems.

[–] [email protected] 1 points 1 year ago

Since tiling is not wanted, I think gnome + extensions should be the way to go.

[–] [email protected] 5 points 1 year ago

That's something you can do with most window managers, but if you want to write your own wm, you can use DWM as a start.

[–] [email protected] 5 points 1 year ago

AwesomeWM and i3 are great options.

But, if you're looking in Wayland, check out Hyprland.

I wouldn't say it's too stable yet, but is really smooth and you can customise the bar accordingly.

[–] [email protected] 4 points 1 year ago

I think the awesomeWM has the status bar you've described.

[–] [email protected] 4 points 1 year ago

You can do this with XMonad and XMobar.

[–] [email protected] 3 points 1 year ago

You could look into sxmo, something like i3 but designed for phones

[–] [email protected] 2 points 1 year ago

I want to add an advice to the other answers. You can get a vertical menu with Rofi. Its easy to make it nice. You can config a button in the bar on any bar, I'm not sure about Gnome and KDE bars.

[–] [email protected] 1 points 1 year ago (2 children)
[–] [email protected] 3 points 1 year ago (1 children)

Honestly, that's all I want but stripped down so it can run on a system with 256 MB RAM.

@jthecoder @[email protected] @[email protected] @[email protected] @[email protected]

[–] [email protected] 1 points 1 year ago

Hi there! Your text contains links to other Lemmy communities, here are correct links for Lemmy users: [email protected], [email protected], [email protected]

[–] [email protected] 1 points 1 year ago

Hi there! Your text contains links to other Lemmy communities, here are correct links for Lemmy users: [email protected], [email protected], [email protected]

[–] [email protected] 1 points 1 year ago

Sounds like my setup except no split

[–] [email protected] 1 points 1 year ago (1 children)

You could just put every window on a new workspace

[–] [email protected] 1 points 1 year ago

Or just everything Fullscreen and alt+tab through the windows. No need for workspaces if you only put one window per workspace.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

notion is kinda like this, but no icons and the clock bar is at the bottom. highly scriptable in lua. it's actually a tiling WM, but the tiling area can be just one massive thing. the tabs go on top of each tyling area, so if you have only one everything is maximized with tabs on top. i used it for a long time. customized some lua too, so its start menu thing opens on mouse click on the bar.

[–] [email protected] 1 points 1 year ago

~~Unless you wanna write your own window manager (all the power to you!) almost any barebones window manager can pretty much be customised to meet your needs with their scripting APIs.~~

Oh damn, maybe you might wanna write your own for such a specific use case.