mjkillough / lanta Goto Github PK
View Code? Open in Web Editor NEWExperiments in creating a tiling X11 window manager in Rust.
License: MIT License
Experiments in creating a tiling X11 window manager in Rust.
License: MIT License
After opening Visual Studio Code's "File Open" dialog (or probably any GTK dialog), an extra empty window seems to get stuck in the stack. Trying to close it crashes the WM.
It's currently a miserable experience.
Move main()
into src/lanta.rs
. Re-think the pub use
statements in lib.rs
: do we want people to know about our internal module structure?
I've only noticed this happening recently, so it might be because I've switched to Firefox from Chrome.
Debugging might be easier with #27, but it might be possible to re-create under Xephyr
.
It'd be nice to be able to override:
For things like "split in two" etc.
Unclear how these commands could be generic across layouts.
... ideally in the application itself, but at least in my usage of it.
Perhaps rotate the previous log to .1 (etc.) on start-up, up to some predefined max?
Or should we just redirect stdout? If it's in my .xinitrc, does it go to systemd's journal?
TiledLayout causes all existing windows to flash when adding a new one. I suspect this is because we unmap all windows before mapping them again. We shouldn't do that.
... in particular Netflix. :)
[replace]
works better
... details still TBD.
Currently dialog windows like Firefox's "Are you sure you want to close these tabs?" are treated like any other. This means that if Firefox is maximised (in a stack layout), the dialog window overlays the entire Firefox window (as it becomes the focused entry on the stack), removing the context. (It's also a bit ugly).
Perhaps dialog windows should simply float in the middle of the screen, with their requested width/height? (I don't think we need to care too much about the case where their requested width/height doesn't fit on the screen).
If you:
Then the original window is not always re-focused. We currently focus whichever window was most recently opened.
We should track focus history. When a focused window is closed, we should revert focus to the previously focused window.
If you move a window between groups (Mod+Shift+GroupKey in default config), the window disappears from the current group but doesn't appear in the other group.
I suspect we're not ignoring the .unmap()
and are unmanaging the window.
We currently let clients resize their windows, which can upset our layouts. We should catch and squash any such requests. Noticeable with urxvt when you make font size bigger or smaller.
If the window title is really long, it overflows into the other widgets.
Should we also truncate non-stretch widgets?
Ideally using the logging framework, but at least ensure they're written to stdout and saved by systemd (on my machine :)) somehow.
Perhaps we could use something like rust-log-panics
.
Switch to xcb
and xcb_util
. Experience in hue
shows it'll be much nicer.
When switching to an empty group, we leave WM_ACTIVE_WINDOW alone. We should unset it.
top
shows the processes are still running. Perhaps we're accidentally using XDestroyWindow
(or XCB equiv) when it is expecting WM_DELETE
?
After killall code
, it opens again.
Like hue
. Need support for EWMH's _NET_WM_WINDOW_TYPE
and _NET_WM_STRUT_PARTIAL
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.