Kintaro / wtftw

Window Tiling For The Win. A tiling window manager written in Rust
BSD 3-Clause "New" or "Revised" License
2.38k stars 84 forks source link

Suggestions, enhancements and other notes. :-) #32

Closed WildCryptoFox closed 9 years ago

WildCryptoFox commented 9 years ago

Hello Kintaro, loving your window manager; intend to switch away from XMonad! Although, before I do; I'd like to make a number of suggestions, enhancements and other notes. :-)

Layout notes

Sadly; I'm a bit too rusty with rust; I'm learning and I'm looking into the layout suggestions currently. :) P.S: Great to hear that Wayland is also a possibility as it would mean that the efforts for X continue to be of value when people switch to Wayland. ^,^ Oh and Merry Christmas!

-DarkFox

Kintaro commented 9 years ago

Wow, that's a good Christmas present for a developer :D I'll try to address some of these issues/notes and will later create a list of issues for them. If not only for myself as a todo list.

Layout notes

I am working on that. Have to figure out a clean way how layouts could handle this. I have 1-2 rough designs. As for the resizing: yeah. Though that is a bit trickier. WIth the horizontal resize, it's only one fraction that needs to be increased/decreased. With vertical resize, it potentially involves more of them. Spacing is a dead remainder from the good ol' days ^^

BYO panel

Maybe I should open a separate thread for this, but wtftw is a window not a desktop manager. I'd love to keep it compartmentalized. Tying a panel right into the wm is somewhat against choice. I can't really put my finger on it, but I think the WM and the panel should be separated. But a xmobar-like panel is in the works. Including plugin-like modules for the bar.

Keyboard keys

Hm, that one could be tricky. I'll have to think about it. I may have an idea, but I'll have to sketch it up first.

Window groups

Should/could be possible with a layout. Will be on my list. At least to provide the needed mechanisms that such a thing can be implemented.

Contrib

If you mean mpd in the panel/bar, that depends on the panel. For inside the wm itself...hm, too specific and not for a window manager, I think. But a binding to libmpd would certainly be nice. I may write one when working on the panel/bar.

WildCryptoFox commented 9 years ago

^,^ Yay; I hope you enjoy the present!

I lightly touched on it in the contrib, but I did mean to imply that the BYO panel would be better as contrib; just like with xmonad-contrib there are panel-like modules including search, run dialog/prompt, and various others. IIRC; xmonad-contrib also has mpd bindings. They were ideally for wtftw-contrib in the same style; keeping the WM itself clean.

-contrib's are generally to enable the user to take their configuration file and build a desktop environment. :-P

I'm keen to see which of these will be implemented and for how. After publishing this issue (not the best word for a request?) I considered that the window groups might be easier then the layouts; so I might give that one a try myself. :-D

Kintaro commented 9 years ago

Ok, fullscreen without borders is implemented. Layouts now feature a "post layout" functionality that is applied after the layout step and internal updates. It cannot alter the internal state of the wm, but is allowed to access the window system to alter borders, positions, sizes etc.

Just change from "box FullLayout" to "NoBordersLayout::new(box FullLayout)"

Kintaro commented 9 years ago

There is a small flickering bug when the noborderslayout is active and focus in another screen changes. A fix is in the pipeline.

Kintaro commented 9 years ago

Ok, is fixed.

WildCryptoFox commented 9 years ago

Awesome! Trying this out now. :-) Nice code changes.

WildCryptoFox commented 9 years ago

Ahem; kintaro; this "issue" was a collection of many ideas...

Kintaro commented 9 years ago

And they are noted. They will come back as separate issues that I'll work on and set them for separate milestones and priorities :)

WildCryptoFox commented 9 years ago

:-)