<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вс, 8 янв. 2023 г., 09:15 Андрей Спицын via Cin <<a href="mailto:cin@lists.cinelerra-gg.org">cin@lists.cinelerra-gg.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">><span style="font-size:12.8px">also, 3 or more displays will not work?</span><div dir="auto"><span style="font-size:12.8px"><br></span></div><div dir="auto"><span style="font-size:12.8px">I used Cinelerra with 5 displays and it's works ok. I didn't try Cinelerra with second xserver.<br></span></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">4 displays for each cin window and one separately for scope? :-)</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto"><span style="font-size:12.8px"></span><br><div data-smartmail="gmail_signature" dir="auto">Best regards,</div><div data-smartmail="gmail_signature" dir="auto">Andrey</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вс, 8 янв. 2023 г., 07:41 Andrew Randrianasulu via Cin <<a href="mailto:cin@lists.cinelerra-gg.org" target="_blank" rel="noreferrer">cin@lists.cinelerra-gg.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I tried to test multi-monitor support by firing another, nested X server<br>
<br>
Xephyr :1 -screen 1024x768<br>
<br>
then Cin displays her windows on either DISPLAY :0 or :1 depend on<br>
preferences but I can\t set compositor to just one ...xserver.<br>
<br>
I looked into code :)<br>
<br>
in cwindowgui.C<br>
<br>
CWindowGUI::CWindowGUI(MWindow *mwindow, CWindow *cwindow)<br>
: BC_Window(_(PROGRAM_NAME ": Compositor"),<br>
mwindow->session->cwindow_x,<br>
mwindow->session->cwindow_y,<br>
mwindow->session->cwindow_w,<br>
mwindow->session->cwindow_h,<br>
xS(100), yS(100), 1, 1, 1,<br>
BC_WindowBase::get_resources()->bg_color,<br>
mwindow->get_cwindow_display())<br>
<br>
in mwindow.C<br>
<br>
char *MWindow::get_cwindow_display()<br>
{<br>
char *x11_host = screens < 2 || session->window_config == 0 ?<br>
session->a_x11_host : session->b_x11_host;<br>
return *x11_host ? x11_host : 0;<br>
}<br>
<br>
and screens set in<br>
<br>
void MWindow::init_preferences()<br>
{<br>
preferences = new Preferences;<br>
preferences->load_defaults(defaults);<br>
File::setenv_path("LV2_PATH",preferences->lv2_path, 1);<br>
session = new MainSession(this);<br>
session->load_defaults(defaults);<br>
// set x11_host, screens, window_config<br>
screens = session->set_default_x11_host();<br>
<br>
so into mainsession.C<br>
<br>
// set default x11 host, window_config, return screens<br>
int MainSession::set_default_x11_host(int win_config)<br>
{<br>
if( win_config < 0 ) win_config = window_config;<br>
const char *x11_host = win_config!=1 ? a_x11_host : b_x11_host;<br>
BC_DisplayInfo display_info(x11_host,0);<br>
int screen = display_info.get_screen();<br>
if( screen < 0 && strcmp(a_x11_host, b_x11_host) ) {<br>
win_config = win_config==1 ? 0 : 1;<br>
x11_host = win_config!=1 ? a_x11_host : b_x11_host;<br>
display_info.init_window(x11_host,0);<br>
screen = display_info.get_screen();<br>
}<br>
if( screen < 0 ) {<br>
x11_host = "";<br>
display_info.init_window(x11_host,1);<br>
}<br>
int screens = 1;<br>
if( display_info.get_screen_count() > 1 )<br>
screens = strcmp(a_x11_host, b_x11_host) != 0 ? 2 : 1;<br>
window_config = win_config;<br>
BC_Window::set_default_x11_host(x11_host);<br>
return screens;<br>
}<br>
<br>
and display_info lives in<br>
<br>
guicast/bcdisplayinfo.C and h<br>
<br>
in our case in h file<br>
<br>
int get_screen() { return scrnum; }<br>
<br>
and scrnum set to<br>
scrnum = DefaultScreen(display);<br>
<br>
in void BC_DisplayInfo::init_window(const char *display_name, int show_error)<br>
<br>
so, it seems having two 'x11 hosts" as separate X servers to send<br>
Compositor to actually not supported... ? we query number of screens<br>
on specific display/host ...<br>
<br>
so :0.0 and :0.1 works, while :1.0 and :0.0 not ?<br>
<br>
also, 3 or more displays will not work?<br>
-- <br>
Cin mailing list<br>
<a href="mailto:Cin@lists.cinelerra-gg.org" rel="noreferrer noreferrer" target="_blank">Cin@lists.cinelerra-gg.org</a><br>
<a href="https://lists.cinelerra-gg.org/mailman/listinfo/cin" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.cinelerra-gg.org/mailman/listinfo/cin</a><br>
</blockquote></div>
-- <br>
Cin mailing list<br>
<a href="mailto:Cin@lists.cinelerra-gg.org" target="_blank" rel="noreferrer">Cin@lists.cinelerra-gg.org</a><br>
<a href="https://lists.cinelerra-gg.org/mailman/listinfo/cin" rel="noreferrer noreferrer" target="_blank">https://lists.cinelerra-gg.org/mailman/listinfo/cin</a><br>
</blockquote></div></div></div>