Git Product home page Git Product logo

lanta's People

Contributors

mjkillough avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lanta's Issues

Phantom windows get stuck in stack

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.

Better split of lib/bin

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?

Opening a link from VS Code causes a crash

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.

Log to file by default?

Or should we just redirect stdout? If it's in my .xinitrc, does it go to systemd's journal?

Don't unmap windows unnecessarily.

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.

Option to float dialog windows over their parent application

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).

Track focus history, not just currently focused item

If you:

  • have multiple windows open in a group
  • have the default stack layout
  • have a pop-up dialog appear (like Firefox's, "are you sure you want to close these tabs?")
  • dismiss the dialog

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.

Windows are lost when moving between groups

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.

Add simple integration tests

  • Windows are tiled correctly with stack layout.
  • Focus shuffling works.
  • Window shuffling works.
  • Key handling works! (Incl. multiple modifiers).

Switch to XCB

Switch to xcb and xcb_util. Experience in hue shows it'll be much nicer.

Support docks

Like hue. Need support for EWMH's _NET_WM_WINDOW_TYPE and _NET_WM_STRUT_PARTIAL.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.