Old 06-24-2019, 06:21 AM   #1
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default API: Docker-related functions

In hinsight of Reaper 6 and the numerous improvements on layout and themeing-side, I would suggest to give some love API-access of dockers as well.

As far as I understood, docking works the following way:
1) We have 16 dockers available, that can be freely positioned to right, left, top and bottom as well as hidden(when nothing is docked).
2) You can associate "Children" to each of these dockers.
3) If you move a docker, only the position of the docker is changed, not the docked/posiiton-states of the docked windows.

If I got that right, then I noticed, that some basic functions are missing, that are needed to have full control over docking in all aspects.

So I would love to suggest the following functions to be added:

Code:
HWND = reaper.Dock_GetDockHWND(integer docker_id)
    returns the HWND of a docker
        integer docker_id - 0 to 15 for docker 0 to 15

HWND = reaper.Dock_GetDockHWND_DockedWindows(integer docker_id, integer childdock_id)
    returns the HWND of a window that's docked in a docker; nil, if no such childdock is available
        integer docker_id - 0 to 15 for docker 0 to 15
        integer childdock_id - the id of the docked window with 0 for the first, n for the last one

boolean retval = reaper.Dock_SetOrder_DockedWindows(integer docker_id, integer childdock_id, integer new_childdock_id)
    moves a window that's docked in a docker onto a new position within that docker
        integer docker_id - 0 to 15 for docker 0 to 15
        integer childdock_id - the id of the docked window with 0 for the first, n for the last one
        integer new_childdock_id - the new position(id) of the window, within the docked windows
        
integer position, integer order = reaper.Dock_GetDockerPosition(integer docker_id)
    returns the position of a docker
        integer position: -1, hidden; 0, default; 1, left; 2, top; 3, right; 4, bottom)
        integer order: the position of the docker within all dockers at position: 0 to x; ignored, when only one docker is at position
        integer docker_id - 0 to 15 for docker 0 to 15
    
reaper.Dock_SetDockerPosition(integer docker_id, integer position, optional integer order)
    sets the position of a docker, optionally allows setting the order within numerous dockers at the same position
        integer position: -1, hidden; 0, default; 1, left; 2, top; 3, right; 4, bottom)
        optional integer order: the position of the docker within all dockers at position: 0 to x; ignored, when only one docker is at position

This, in combination with the new Theme-related-functions, would allow us even more control over the layout of Reaper.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...

Last edited by Meo-Ada Mespotine; 04-05-2020 at 04:39 PM.
Meo-Ada Mespotine is offline   Reply With Quote
Old 06-24-2019, 06:51 AM   #2
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Oh yes, please, huge +1!
I’m really pulling my hair while trying to show/hide individual dockers.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom

Last edited by _Stevie_; 06-24-2019 at 07:24 AM.
_Stevie_ is offline   Reply With Quote
Old 07-11-2019, 11:17 AM   #3
shady
Human being with feelings
 
Join Date: Jun 2017
Posts: 110
Default

would be sweet
__________________
twitch.tv/suprshady trying to stream REAPER stuff.. more than twice a year
shady is offline   Reply With Quote
Old 09-16-2019, 04:19 PM   #4
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

bumpy bump
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 09-16-2019, 04:39 PM   #5
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

+1 Biggity bump to the bump bump
Klangfarben is offline   Reply With Quote
Old 11-08-2019, 10:19 AM   #6
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Up up into the bumps
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 02-28-2020, 08:44 AM   #7
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Bumpy bumpely boo
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 02-28-2020, 08:46 AM   #8
cohler
Banned
 
Join Date: Dec 2018
Posts: 642
Default Absolutely!

These functions are critical. Indeed, a function to know what windows are docked where seems to be like the most basic function necessary for playing around with windows and docs....
cohler is offline   Reply With Quote
Old 04-05-2020, 11:59 AM   #9
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Ping!
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 04-07-2020, 07:58 AM   #10
Sweetfoot
Human being with feelings
 
Join Date: Feb 2017
Posts: 120
Default

+1, I'm not sure what this code does specifically, I found myself here looking for a way to show/hide dockers independently. If this code helps with that, I give it a big bump. Can't believe I can't do it now!
Sweetfoot is offline   Reply With Quote
Old 08-07-2020, 05:01 AM   #11
nikolalkc
Human being with feelings
 
nikolalkc's Avatar
 
Join Date: Feb 2017
Location: Belgrade, Serbia
Posts: 338
Default

Yes please!!!

+1
__________________
Youtube | Website | Twitter
nikolalkc is offline   Reply With Quote
Old 10-06-2020, 09:43 PM   #12
Etc.etera
Human being with feelings
 
Join Date: Aug 2020
Posts: 40
Default

This would be great!!

+1
Etc.etera is offline   Reply With Quote
Old 01-16-2021, 09:20 AM   #13
Kr3eM
Human being with feelings
 
Kr3eM's Avatar
 
Join Date: Apr 2019
Posts: 231
Default

Yes please

+1
Kr3eM is offline   Reply With Quote
Old 01-24-2021, 02:51 PM   #14
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy
Posts: 322
Default

+1 here too
80icio is offline   Reply With Quote
Old 01-27-2021, 06:02 AM   #15
rstockm
Human being with feelings
 
rstockm's Avatar
 
Join Date: May 2012
Location: Berlin, Germany
Posts: 171
Default

+1 this would be very helpful.
rstockm is offline   Reply With Quote
Old 06-12-2021, 06:18 AM   #16
lexaproductions
Human being with feelings
 
Join Date: Jan 2013
Posts: 1,126
Default

I also agree to this
lexaproductions is offline   Reply With Quote
Old 06-12-2021, 06:50 AM   #17
DanSwizer
Human being with feelings
 
DanSwizer's Avatar
 
Join Date: Sep 2019
Posts: 42
Default

Docks need some love!
DanSwizer is offline   Reply With Quote
Old 01-04-2022, 12:06 PM   #18
GeneralMidi
Human being with feelings
 
Join Date: Dec 2020
Posts: 226
Default

Yup, I concur.
GeneralMidi is offline   Reply With Quote
Old 01-11-2022, 11:15 AM   #19
schapps
Human being with feelings
 
Join Date: Sep 2017
Posts: 27
Default

+1. This would be great!
schapps is offline   Reply With Quote
Old 01-30-2022, 10:56 AM   #20
FeedTheCat
Human being with feelings
 
FeedTheCat's Avatar
 
Join Date: May 2019
Location: Berlin
Posts: 2,164
Default

A bit more control over docking would be definitely be useful, +1!
__________________
Featured scripts: REAPER Update UtilityLil ChordboxGridbox/Adaptive gridMX TunerRS5K LinkMIDI Editor Magic Donate💝: PayPal|ko-fi
FeedTheCat is offline   Reply With Quote
Old 01-31-2022, 10:49 AM   #21
juan_r
Human being with feelings
 
juan_r's Avatar
 
Join Date: Oct 2019
Posts: 1,075
Default

+1
Docking improves workflow in a substantial way. I've been using it too little, but I'm beginning to see the light. I can only imagine what such APIs could do in the hands of our mighty scripters/extension coders...
juan_r is offline   Reply With Quote
Old 02-05-2023, 09:08 AM   #22
Hipox
Human being with feelings
 
Join Date: Apr 2022
Posts: 200
Default

I agree! This would be very useful.
Hipox is offline   Reply With Quote
Old 02-05-2023, 10:21 AM   #23
Manwë
Human being with feelings
 
Manwë's Avatar
 
Join Date: Aug 2022
Posts: 79
Default

+1 more docker flexibility would be incredibly helpful/useful!
Manwë is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:09 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.