#119 Open Tab in iconized Window

development
open
nobody
Program (79)
5
2004-07-15
2004-07-15
Thorsten Haude
No

This complements Eddy's patch #963120 (now committed)
by allowing iconized windows to accept the new
document. Iconized windows don't belong to any desktop,
so they are ignored while looking for an Untitled tab
to receive the new document.

There is no preference, since I believe this is the
natural thing to do.

This is only tested on Debian Sarge w/ Enlightenment,
so please try to find problems.

TODO: If the last non-Untitled tab is closed, the
window should iconify itself. This would require a pref
of course.

Discussion

  • Thorsten Haude
    Thorsten Haude
    2004-07-15

    The Patch

     
  • Thorsten Haude
    Thorsten Haude
    2004-07-15

    Logged In: YES
    user_id=119143

    The iconification is not that hard to do.

    I will add preferences later on, when the existing stuff is
    shown to be working on various platforms. It's a global
    pref, so it shouldn't be too difficult.

     
  • Thorsten Haude
    Thorsten Haude
    2004-07-15

    adds iconification

     
  • Eddy De Greef
    Eddy De Greef
    2004-07-15

    Logged In: YES
    user_id=73597

    I see two problems:
    - Some window managers keep track of what windows are
    iconized per desktop (eg, sawfish) and some users may not
    like it when an arbitrary iconized window is moved to
    another desktop behind their back (I'm one of them). NEdit
    should not move windows between desktops; that's the task of
    the window manager.
    - If I'm not mistaken, you pick either a window on the
    current desktop or an iconized window, whichever comes
    first. I think you should not pick an iconized window unless
    you are sure that there is no visible window.

    I don't see this patch a complementary to mine. On the
    contrary: it's counter-acting. My patch prevents new
    documents from being sucked to arbitrary desktops. Unless
    I'm mistaken, your patch sucks sets of (iconized) documents
    to arbitrary desktops.

     
  • Thorsten Haude
    Thorsten Haude
    2004-07-15

    Logged In: YES
    user_id=119143

    1. I wasn't aware of that. For the sake of the discussion, I
    could redefine 'iconized' to mean 'iconized and not
    belonging to a desktop'. I think that could be implemented
    and would solve this problem.
    2. True, will be fixed.
    3. The way I think about your patch, it offers a way to
    restrict new documents to windows on the current desktop. I
    think about mine as extending it to the icon box (which was
    neutral ground for me before your post). It also offers a
    nice way to get rid of empty windows.

    This behaviour is from Ultraedit. The way Windows is
    completely unaware of my multiple desktop app is a good
    simulation of Enlightenments behaviour. The idea is that you
    never exit the NEdit session: Just close the last document,
    and the window goes (nearly) away. Change desktop, do other
    things. As soon as you open a new file the window is back
    instantly.

    I guess this will take a while to get it right.

     
  • Eddy De Greef
    Eddy De Greef
    2004-07-16

    Logged In: YES
    user_id=73597

    If you can keep iconized windows on their desktop, then I
    would have no problem with it, on the contrary.

    But I misunderstood the problem. With sawfish, iconized
    windows also belong to a desktop and the current
    implementation makes no distinction between visible and
    iconized windows. Ie, iconized windows already accept new
    documents. (As a side note: I think the current
    implementation can be improved by first considering
    non-iconized windows; now the choice is arbitrary.)

    It is probably Enlightenment-specific that iconized windows
    don't belong to a desktop (ie, they have no _NET_WM_DESKTOP
    property), so in that case picking an arbitrary iconized
    window makes sense, I guess.

    To summarize, I think the proper selection algorithm is the
    following:
    1) Look for a visible window on the current desktop.
    2) If none is found, look for an iconized window on the
    current desktop.
    3) If none is found, look for an iconized window not
    belonging to any desktop.
    4) If none is found, create a new window.

    The idea of having an NEdit server running in the background
    has been brought up before, and the Ultraedit-like behaviour
    is probably a good way of achieving this in a relatively
    simple way (as long as it remains an option).