LMMS / LMMS/lmms

Add the ability to dock windows

Open
#5,669 1 comment 4 reactions 0 assignees View on GitHub
enhancement gui
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

_I found [this](https://github.com/LMMS/lmms/issues/1911), but my proposal is a little less radical._

### Enhancement Summary

#### Justification

I will use the following configuration as an example:

![](https://user-images.githubusercontent.com/47700418/92255262-baa6db80-eeda-11ea-87ec-1c9c8a22b0e2.png)

When using multi-window mode, I experience the following inconveniences:

- windows are lost when switching due to overlapping;



![](https://user-images.githubusercontent.com/47700418/92255788-7700a180-eedb-11ea-8a17-733704f6e99e.png)

- scroll bars appear when the main window is resized or the sidebar is opened.



![](https://user-images.githubusercontent.com/47700418/92256021-cc3cb300-eedb-11ea-867d-5d01cee6b5ac.png)

However, when one of the windows is maximized, it works correctly: the content stretches and shrinks depending on the available space, extra scrollbars do not appear.

![](https://user-images.githubusercontent.com/47700418/92256629-9ea43980-eedc-11ea-83af-edbb6b0c8e10.png)

![](https://user-images.githubusercontent.com/47700418/92256665-a95ece80-eedc-11ea-9c3f-62aa135c8101.png)

I propose adding the ability to dock some windows (Song-Editor, Beat+Bassline Editor, Piano-Roll, Automation Editor, FX-Mixer and Project Notes) in the background so that other windows cannot hide behind them. Also, when resizing the main window, docked windows are scaled accordingly.

Docked windows are tiled and have no window titles. See mockup below. The tiles can be resized manually, just like in other programs.

Other windows should work as before. For convenience, we can add the "Close all windows except docks" keyboard shortcut.

#### Mockup

![](https://user-images.githubusercontent.com/47700418/92271472-850ced00-eef0-11ea-840f-bd926e2c2b65.png)

![](https://user-images.githubusercontent.com/47700418/92270498-d74d0e80-eeee-11ea-8196-974b80c10d4d.png)

![](https://user-images.githubusercontent.com/47700418/92271835-27c56b80-eef1-11ea-9355-b4ca1fa68982.png)

![](https://user-images.githubusercontent.com/47700418/92266315-32c7ce00-eee8-11ea-9c74-646df1575e09.png)

In addition, we can add presets for layouts (several options for the location of tiles, between which you can switch), as in some video editors.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing multi-window behavior and the related issue #1911, then compare it with the supplied mockups. The change would need to cover docking Song-Editor, Beat+Bassline Editor, Piano-Roll, Automation Editor, FX-Mixer, and Project Notes, including tiled resizing while preserving other windows' behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.