cdepillabout / cdepillabout/termonad
add ability to move tabs between Termonad windows (manage multiple windows in same Termonad process)
- Dominant language
- Haskell
- Stars
- 418
- Forks
- 51
- PR merge metrics
- No merged PRs in 30d
Description
It would be nice to be able to move tabs between two different termonad windows.
Currently, if you open up two different copies of Termonad, they are treated as two completely separate applications. They share nothing.
The design of Termonad should be changed so that multiple Termonad windows are handled by the same termonad process.
Implementing this will require at least the following steps (if not more):
- Change the [TMState'](https://github.com/cdepillabout/termonad/blob/f161082f02af901c39f62c80eb9811546ff2daee/src/Termonad/Types.hs#L108) data type to have multiple `ApplicationWindow`s (and probably split off this type into a `TMWindow` type that contains the `ApplicationWindow` and `TMNotebook`).
- Change the call to [appNew](https://github.com/cdepillabout/termonad/blob/f161082f02af901c39f62c80eb9811546ff2daee/src/Termonad/App.hs#L370) to be something like `appNew (Just "some.app.name") ...`. `some.app.name` should be something like `haskell.termonad`, or `com.github.cdepillabout.termonad` or something like that. Note that it needs a `.` in it.
- When you try to start Termonad and it is already open, you need to change the logic to instead create a new `TMWindow` instead. I'm not sure exactly how to go about this.
- Add the ability to drag and drop terminals between Termonad windows. I think the gtk notebook has [functions]() related to drag-and-drop.
- Finally, make sure that the logic for closing windows using your window manager still works. (You should still get a pop-up asking you if you are sure you want to close the terminal.)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.