https://bugs.kde.org/show_bug.cgi?id=455143
--- Comment #1 from tcanabr...@kde.org --- This is a really nice idea. I’ll implement this week, thanks for the heads up. On Sat, 11 Jun 2022 at 01:17 shellsmoke <bugzilla_nore...@kde.org> wrote: > https://bugs.kde.org/show_bug.cgi?id=455143 > > Bug ID: 455143 > Summary: Feature Request: Expanded JSON Layout Configuration > Product: konsole > Version: unspecified > Platform: Other > OS: Linux > Status: REPORTED > Severity: wishlist > Priority: NOR > Component: split-view > Assignee: konsole-de...@kde.org > Reporter: smokeinthesh...@gmail.com > Target Milestone: --- > > Created attachment 149605 > --> https://bugs.kde.org/attachment.cgi?id=149605&action=edit > Konsole Session Generated example JSON > > It appears that currently, Konsole only supports the number and > orientation of > window splits in a JSON file format with the --layout commandline option. > While > most of the features requested below can be controlled for automation > purposes > with dbus, using dbus commands requires a steeper learning curve for the > end > user, creates issues with portability between systems, and can cause issues > with script readability (one user writes a bash script one way, while other > people might write it another). There are additional security concerns > with the > runCommand and sendText dbus methods, though Konsole already supports > executing > commands in a new session with the '-e' option. These issues can be > alleviated > by exposing more of Konsole's configuration and commandline options via > JSON. > > My suggestion/feature request is to expand the JSON configuration to > encompass > the following: > Publicly exposed DBus methods and properties for the 'org.kde.konsole' > endpoint: > - org.kde.konsole.Session.setTitle > - org.kde.konsole.Session.setTabTitleFormat > - - There are two Title and TabTitleFormat properties controlled by the > above > two methods. I've accounted for this in my example below > - org.kde.konsole.Session.setProfile > - org.kde.konsole.Session.sendText > - org.kde.konsole.Session.runCommand > Split pane sizing with either "HEIGHTxWIDTH" or separate HEIGHT and WIDTH > properties. > Window configurations such as window size and view-enabled plugins. > > The JSON formatting should be easy and simple to read and configure, and > KDE > Konsole documentation should be updated to include its usage. To assist in > ease > of formatting and standardization, I propose having all splits be > separated by > their left-right (horizontal) top-bottom (vertical) orientation (current > behavior) to include the first split (Konsole Session 1. Not current > behavior, > as there is just a first '"Orientation": "Horizontal"' for the beginning > of the > first split). Additionally, all Konsole window settings, such as Window > size, > should be declared at the top of the JSON config file. > > An example of what this JSON configuration file might look like is below: > > { > "WindowSize" : "Maximized", > "Plugins": ["SSHManager", "Plugin2"], > "Splits": [ > { > # First Split on far left > # session 1 > "Orientation": "Horizontal", > "SessionRestoreId": 0, > "TabTitleLocal": "Local Tab Title" > }, > { > # Second split to right > "Orientation": "Vertical", > "Widgets": [ > { > # Top > # session 2 > "SessionRestoreId": 0, > "TabTitleFormatLocal": "%d : %n" > }, > { > # Bottom > # session 3 > "SessionRestoreId": 0, > "TabTitleFormatRemote": "%U%H" > } > ] > }, > { > # Third split to right > # session 4 > "SessionRestoreId": 0, > "TabTitleRemote": "Remote Tab Title", > "Profile": "KonsoleProfile1" > }, > { > # Fourth Split to far right > "Orientation": "Vertical", > "Widgets": [ > { > # top > # session 5 > "SessionRestoreId": 0, > "SendText": "# echo send text" > }, > { > # middle > # session 6 > "SessionRestoreId": 0, > "RunCommand": "echo run command" > }, > { > # bottom > # session 7 > "SessionRestoreId": 0, > "PaneSize": "64x30" > } > ] > } > ] > } > A Screenshot of the resulting Konsole window from the example > configuration I'm > suggesting would look like the attached screenshot > > -- > You are receiving this mail because: > You are the assignee for the bug. -- You are receiving this mail because: You are watching all bug changes.