Web lists-archives.com

Re: Desktop as transient window




Jasper,

On Sun, Aug 9, 2015 at 7:19 PM, Jasper St. Pierre <jstpierre@xxxxxxxxxxx> wrote:
> The desktop is not a window. It could be in some desktop environments,
> but is not always. In fact, in some desktop environments, there is no
> desktop window or desktop concept at all. There is no standard
> protocol to fetch the desktop window if it exists, either.
>
> The reason that unparented dialogs are discouraged are because in most
> cases, dialogs shouldn't just pop up out of the blue -- they should
> come from an understandable user action or application window to tie
> it back to. Otherwise, you might see a random dialog pop up at some
> point without knowing where it came from.

I understand this part.
The trouble is - what if the application is dialog based?

Let's say by design of my application it starts up by displaying the
dialog with some options
and after that the main window shows up after I click OK.

How do I handle this?

Thank you.

>
> While we can often detect the parent window automatically, there are
> sometimes cases where we cannot, and we warn to let you know that this
> is one of these cases, so you can go and fix it. It is OK to ignore
> that warning.
>
> On Sun, Aug 9, 2015 at 3:57 PM, Igor Korot <ikorot01@xxxxxxxxx> wrote:
>> Jasper,
>>
>> On Sun, Aug 9, 2015 at 6:39 PM, Jasper St. Pierre <jstpierre@xxxxxxxxxxx> wrote:
>>> As mentioned, dialogs are designed to be parented to a specific
>>> window. As the warning says, this is discouraged (and might cause
>>> things like Wayland not to work correctly). You can ignore the warning
>>> if you want.
>>
>> Well, "Desktop" is a window, isn't it?
>> So why I can't set it to be a parent to a dialog?
>>
>> And what if I have a dialog-based application? I should be able to set
>> the parent
>> to be a "Desktop", right?
>>
>> Or maybe I just need to get a pointer to a :"Desktop" window and
>> supply it to that function?
>> Will it work like this? If yes - what is this function name, if any?
>>
>> Thank you.
>>
>>>
>>> On Sun, Aug 9, 2015 at 3:34 PM, Igor Korot <ikorot01@xxxxxxxxx> wrote:
>>>> Hi, Jasper,
>>>>
>>>> On Sun, Aug 9, 2015 at 3:00 PM, Jasper St. Pierre <jstpierre@xxxxxxxxxxx> wrote:
>>>>> The default transient window is NULL, so you don't have to do anything.
>>>>
>>>> OK, I did call "gtk_window_set_transient_for( dlg, NULL );", but still
>>>> got the warning
>>>>
>>>> GtkDialog mapped without a transient parent: This is discouraged.
>>>>
>>>> The thing is: I have my own GtkDialog class and I'm trying to
>>>> eliminate this warning...
>>>>
>>>> Thank you.
>>>>
>>>>>
>>>>> On Sun, Aug 9, 2015 at 11:59 AM, Igor Korot <ikorot01@xxxxxxxxx> wrote:
>>>>>> Hi, ALL,
>>>>>> There is a function in GTK - gtk_window_set_transient_for() - which
>>>>>> sets the parent
>>>>>> window for the current one.
>>>>>>
>>>>>> Now the question I have is: is it possible to set the parent to become
>>>>>> a Desktop?
>>>>>>
>>>>>> Let's say I have an application class and I want to make sure that I
>>>>>> already have a TLW
>>>>>> to pass it to that function. Otherwise I want to use Desktop, because
>>>>>> passing NULL
>>>>>> according to documentation will unset it.
>>>>>>
>>>>>> [quote]
>>>>>> Passing NULL for parent unsets the current transient window
>>>>>> [/quote]
>>>>>>
>>>>>> and it does not say it what happen if there was no such window in the
>>>>>> first place.
>>>>>> So if I will pass NULL for the parent and the transient is not being
>>>>>> set, will it become
>>>>>> set as a Desktop.
>>>>>>
>>>>>> This is not clear from the docs.
>>>>>>
>>>>>> Thank you for clarification.
>>>>>> _______________________________________________
>>>>>> gtk-list mailing list
>>>>>> gtk-list@xxxxxxxxx
>>>>>> https://mail.gnome.org/mailman/listinfo/gtk-list
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>   Jasper
>>>
>>>
>>>
>>> --
>>>   Jasper
>
>
>
> --
>   Jasper
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-list