Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Rebrand away from Tinywl to Montis.dev | Josh Rahm | 2025-03-14 |
| | |||
* | Update. Is actually working to some degree with 0.18.0 again. | Josh Rahm | 2025-03-13 |
| | |||
* | Bump wlroots to 0.18.0. | Josh Rahm | 2025-03-12 |
| | |||
* | Update to wlroots 0.18. | Josh Rahm | 2025-03-11 |
| | |||
* | Just a whole bunch of changes | Josh Rahm | 2024-03-27 |
| | |||
* | Have macro support (again) and some type-level goodness. | Josh Rahm | 2024-03-25 |
| | |||
* | Checkpoint. | Josh Rahm | 2024-03-25 |
| | |||
* | Implement more stuff. Add DSL for binding to the new input handler. | Josh Rahm | 2024-03-21 |
| | |||
* | Add Input.hs. This will be a more general version of Keys. | Josh Rahm | 2024-03-21 |
| | |||
* | Implementing button presses and integrating it with the KeysM monad. | Josh Rahm | 2024-03-19 |
| | |||
* | Higher fidelity for extensible state. | Josh Rahm | 2024-03-19 |
| | |||
* | Add extensible state and macros. Fix some bugs with keys. | Josh Rahm | 2024-03-19 |
| | |||
* | Change KeysM to use a ContT monad instead of rolling my own. | Josh Rahm | 2024-03-19 |
| | | | | | Turns out the haskell geniuses already figured out how to encapsulate such asynchronous control flow. | ||
* | Version bump | Josh Rahm | 2024-03-15 |
| | |||
* | Implement ability to customize the keys "putHandler" functionality. | Josh Rahm | 2024-03-15 |
| | | | | | This will be useful for the future when I will implement macro-recording functionality. | ||
* | Have Wetterhorn keep track of the windows. | Josh Rahm | 2024-03-15 |
| | |||
* | More flexing with the new keysM system. | Josh Rahm | 2024-03-05 |
| | |||
* | Remove sleep() statement in teardown. It's not actually needed. | Josh Rahm | 2024-03-05 |
| | |||
* | Added some escape-hatch keybindings for Wetterhorn. | Josh Rahm | 2024-03-05 |
| | | | | | | | Specifically a way to reload the plugin and switch vterms. This is important in case the plugin is borked and stops accepting keyboard, the user can switch to a vterm, fix the plugin and reload it to get things working again without running into data loss. | ||
* | Better KeysM implementation and functions. | Josh Rahm | 2024-03-05 |
| | | | | This is making better key bindings possible and awesome! | ||
* | Added a new KeysM monad. | Josh Rahm | 2024-03-04 |
| | | | | | | | | | | | | | | | This monad allows keybindings to look and feel like one is writing blocking code with constructs like: key <- nextKey when (key == x) $ do key2 <- nextKey ... ... but this code does not block or do any io shenanigans, it under the hood just changes the handler on the state. It seems pretty awesome and opens the doors for some pretty expressive key bindings. | ||
* | wip | Josh Rahm | 2024-03-01 |
| | |||
* | Huge refactor for the Haskell code.HEADmain | Josh Rahm | 2024-02-28 |
| | | | | | | | This adds new layout configuration, preparing for actually using the layouts. This also restructures the code and tries to keep code interfacing with the foreign structures together and rename them to more sensible names. | ||
* | Update to new wlroots. | Josh Rahm | 2024-02-22 |
| | | | | | | Turns out that the one on Github is ancient and the project was moved long ago ... which is quite annoying that. No wonder where all the confusion was coming from. | ||
* | better surface handling | Josh Rahm | 2024-02-22 |
| | |||
* | Add wofi to the keylist and change the hotreload key | Josh Rahm | 2024-02-21 |
| | |||
* | Do not keylog myself | Josh Rahm | 2024-02-21 |
| | |||
* | Have the plugin handle more responsibility with keybindings. | Josh Rahm | 2024-02-21 |
| | | | | The plugin now passes the key events to the Wayland clients. | ||
* | Finally found the source of the deadlock bug. | Josh Rahm | 2024-02-21 |
| | | | | | | | I was initializing the plugin twice, causing hs_init to be called twice rendering the teardown call to hs_exit useless. Things finally appear to be working as intended, and it's likely this plugin architecture will work afterall! | ||
* | Do a major garbage collection before hot reloading the plugin. | Josh Rahm | 2024-02-21 |
| | | | | | | | | | This is done to cleanup the dangling reference to the opaque state before unloading the plugin. This fixes the problem where the runtime gets a "strange object" during garbage collection after hot-reloading the plugin while keeping the RTS running. | ||
* | Fix plugin interface generation erros | Josh Rahm | 2024-02-21 |
| | |||
* | Add the typed codepoint as an argument to the keyboard handler. | Josh Rahm | 2024-02-21 |
| | |||
* | Do most of keyboard handling in the plugin now. | Josh Rahm | 2024-02-21 |
| | |||
* | add back the metaload | Josh Rahm | 2024-02-20 |
| | |||
* | Added ability to exit the program via a back-interface. | Josh Rahm | 2024-02-16 |
| | |||
* | Add some support for xwayland | Josh Rahm | 2024-02-15 |
| | |||
* | Add wlroots build/include directory to the include path of the harness | Josh Rahm | 2024-02-14 |
| | |||
* | Framework for plugin to call into harness. | Josh Rahm | 2024-02-14 |
| | | | | | | This is done by passing an interface to the plugin from the harness. The plugin can then request the harness do some things (such as reload), and the harness will do that. | ||
* | WIP: Working on the foreign interface. | Josh Rahm | 2024-02-13 |
| | |||
* | add clang-format | Josh Rahm | 2024-02-12 |
| | |||
* | Do not actually need to have the config wetterhorn function an FFI function. | Josh Rahm | 2024-02-12 |
| | | | | Remove it as such! | ||
* | Change the message a bit when running wtr.so directly. | Josh Rahm | 2024-02-11 |
| | |||
* | Move Main.hs to Config.hs and override _start() | Josh Rahm | 2024-02-11 |
| | | | | | | | | | | Now if one tries to execute the built binary with 'stack run' or by just executing it, a helpful message prints to the screen instead of the segmentation fault that normally happens. This technically makes things not portable to other architectures, but it's all just window dressing and can be taken out if need be for other architectures. | ||
* | Added event handlers for map/unmap/destroy surfaces, added Alt+F5 for hot ↵ | Josh Rahm | 2024-02-11 |
| | | | | | | | | | | | | reload. It turns out I could actually remove the metaload handler from the plugin interface. As things turn out, when fully unloading the shared object and reloading it, the Haskell runtime no longer complained. This makes things much simpler, which is great. I do wonder if I'm going to run into issues because of this, but I'll cross that bridge when it's burning. | ||
* | Import tinywl into the project, starting the compositor phase. | Josh Rahm | 2024-02-11 |
| | | | | | | Right now nothing interesting is happening, but the new tinywl implementation is successfully loading a plugin and calling a handler for 'handle keybinding', which is pretty slick. | ||
* | Little test to make sure unloading the plugin still works | Josh Rahm | 2024-02-11 |
| | |||
* | Added some more comments | Josh Rahm | 2024-02-11 |
| | |||
* | Change up a lot of stuff. | Josh Rahm | 2024-02-11 |
| | | | | | Add more functions to the plugin interface and write some generators to generate an interface header file and the plugin's loading code. | ||
* | Start making some more changes to harness and add plugin interface. | Josh Rahm | 2024-02-11 |
| | |||
* | Fill out some of the README. | Josh Rahm | 2024-02-09 |
| |