<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I would like Cuis to have a configurable WindowManager that takes
care of window positioning, etc, but also let you choose the class
of window to use by making SystemWindow wrap their contents, and
not have subclasses of it for the different applications. So, it
would be composition over inheritance. Like, instead of a
SystemBrowserWindow, have MySystemWindow open: Browser, and the
window system class (MySystemWindow) is configured by the
WindowManager.</p>
<p>It can be done, and I have prototyped it, but I didn't take it to
the end.</p>
<p> Mariano <br>
</p>
<div class="moz-cite-prefix">El 10/2/25 a las 07:20, Luciano
Notarfrancesco via Cuis-dev escribió:<br>
</div>
<blockquote type="cite"
cite="mid:CAL5GDyrkhiKoe5u2ycURGrCO3UAaJQwZh3i4preRMWZ7mhs_Tg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div>
<div>
<div dir="auto"
style="font-family:-apple-system,helveticaneue;font-size:16px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">It
seems several of us have already implemented different
versions of the “window manager” thing to replace some of
the default behavior of windows, do tiling, create or change
global keyboard shortcuts, implement virtual pages or
screens, etc. I made my own tiling window manager just as I
like it, and I disable the taskbar and use something else
instead (a small widget to show in which page you are, and
which pages have opened windows).</div>
<div dir="auto"
style="font-family:-apple-system,helveticaneue;font-size:16px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)"><br>
</div>
<div dir="auto"
style="font-family:-apple-system,helveticaneue;font-size:16px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">I
think, perhaps, at some point we could have some object
grouping together these things, with a default in the base
image (like Themes), and packages could implement different
ways of managing windows. I have a WindowManagerMorph class
<div style="font-family:-apple-system,helveticaneue"
dir="auto"><a
href="https://github.com/len/Cuis-Smalltalk-DWM/blob/9b0f0b95aca31f8a8b3c8dee95fabedfcfc9c55d/Morphic-DWM.pck.st#L586"
style="font-family:-apple-system,helveticaneue"
moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/len/Cuis-Smalltalk-DWM/blob/9b0f0b95aca31f8a8b3c8dee95fabedfcfc9c55d/Morphic-DWM.pck.st#L586</a><span
style="font-family:-apple-system,helveticaneue;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)"> that
receives messages when windows are opened or closed (and
could do window positioning ), and receives keystroke
events (possibly handling them before any other morph,
in order to implement global shortcuts). I think these
three messages are the main “hooks” I needed to add,
perhaps other people need others. Opinions?</span></div>
</div>
</div>
<br>
</div>
<div dir="auto">Cheers,<br>
</div>
<div dir="auto">Luciano</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_quote gmail_quote_container" dir="auto">
<div dir="ltr" class="gmail_attr">On Mon, Feb 10, 2025 at
02:41 Mark Volkmann via Cuis-dev <<a
href="mailto:cuis-dev@lists.cuis.st"
moz-do-not-send="true" class="moz-txt-link-freetext">cuis-dev@lists.cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div dir="ltr">
<div>Checkout my WindowManager package at <a
href="https://github.com/mvolkmann/Cuis-Smalltalk-WindowManager"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/mvolkmann/Cuis-Smalltalk-WindowManager</a>.
This addresses two issues. The first is where windows
are opened. The second is the ability to save and
restore window locations and sizes. The README explains
all of this and there is a link to a video at the bottom
of the README that demonstrates all the features.</div>
</div>
<div dir="ltr">
<div><br>
</div>
<span class="gmail_signature_prefix">-- </span><br>
<div dir="ltr" class="gmail_signature"
data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div dir="ltr">
<div><font
face="arial, helvetica, sans-serif"
style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">R. Mark
Volkmann</font></div>
<div><span style="font-size:12.8px"><font
face="arial, helvetica, sans-serif"
style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">Object
Computing, Inc.</font></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote>
</div>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
</blockquote>
</body>
</html>