• Looking for an uncommon technique

    From Lew Pitcher@lew.pitcher@digitalfreehold.ca to comp.windows.x on Mon Mar 2 17:06:43 2026
    From Newsgroup: comp.windows.x

    I know that a Window Manager usually reparents the top-level window(s) of
    an application, in order to wrap the window with various Window Manager controls (resize, minimize, move, etc).

    But, can an X application do that as well? If so, how?

    The hypothetical scenario I'm looking at is an X11-based email client
    that only displays text emails must now display html emails. Instead
    of incorporating a full html parser and display painter, the email
    client invokes an external application (a web browser) to present
    the html content. BUT, rather than have the web browser pop up as
    it's own window, the email client needs the browser to paint within
    one of the email application windows. How does the email client
    invoke the web browser, and capture it's top-level window?
    --
    Lew Pitcher
    "In Skills We Trust"
    Not LLM output - I'm just like this.
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From Julian Bradfield@jcb@inf.ed.ac.uk to comp.windows.x on Mon Mar 2 20:32:50 2026
    From Newsgroup: comp.windows.x

    On 2026-03-02, Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
    I know that a Window Manager usually reparents the top-level window(s) of
    an application, in order to wrap the window with various Window Manager controls (resize, minimize, move, etc).

    But, can an X application do that as well? If so, how?

    With XReparentWindow() (see the man page).

    You can use xdotool to experiment before changing code. I occasionally
    did this in Covid days to play video "within" the PDF slides I was
    sharing via Zoom.
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.windows.x on Mon Mar 2 21:11:10 2026
    From Newsgroup: comp.windows.x

    On Mon, 2 Mar 2026 20:32:50 -0000 (UTC), Julian Bradfield wrote:

    On 2026-03-02, Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:

    I know that a Window Manager usually reparents the top-level
    window(s) of an application, in order to wrap the window with
    various Window Manager controls (resize, minimize, move, etc).

    But, can an X application do that as well? If so, how?

    With XReparentWindow() (see the man page).

    As I understand it, in X11, it is not just windows that are rCLwindowsrCY,
    but every widget within a window is also technically a rCLwindowrCY. So
    you have a hierarchy of windows within windows.

    Given that, is it possible to reparent one applicationrCOs entire
    top-level window to be within just one area of another applicationrCOs
    window?
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From Eli the Bearded@*@eli.users.panix.com to comp.windows.x on Tue Mar 3 05:11:39 2026
    From Newsgroup: comp.windows.x

    In comp.windows.x, Lew Pitcher <lew.pitcher@digitalfreehold.ca> wrote:
    I know that a Window Manager usually reparents the top-level window(s) of
    an application, in order to wrap the window with various Window Manager controls (resize, minimize, move, etc).

    But, can an X application do that as well? If so, how?

    The hypothetical scenario I'm looking at is an X11-based email client
    that only displays text emails must now display html emails. Instead
    of incorporating a full html parser and display painter, the email
    client invokes an external application (a web browser) to present
    the html content. BUT, rather than have the web browser pop up as
    it's own window, the email client needs the browser to paint within
    one of the email application windows. How does the email client
    invoke the web browser, and capture it's top-level window?

    The 'surf' browser is designed to be embeded, and the 'tabbed' tool is
    designed to let you run multiple embedable tools in one window, with
    tabs, so you can emulate the tab experience of a more common browser.

    https://surf.suckless.org/
    https://tools.suckless.org/tabbed/

    Might be useful for your project.

    Elijah
    ------
    has not looked hard at either, nor tried them in several years
    --- Synchronet 3.21d-Linux NewsLink 1.2