Closed Bug 33985 Opened 25 years ago Closed 24 years ago

[RFE] Add pref forcing all application windows and dialogs to be resizable (patch included!)

Categories

(Core :: XUL, enhancement, P2)

x86
Windows NT
enhancement

Tracking

()

RESOLVED WONTFIX
Future

People

(Reporter: roc, Assigned: bugs)

References

Details

Attachments

(2 files)

There should be an option to make all application windows and dialogs resizable. This makes it easier to find bugs in XUL layouts that rely on assumptions about fixed sizes. These layouts will probably break with i18n or alternate skins; window resizing is a much easier way to find and diagnose some of these bugs (this was suggested by Hyatt in a thread in mozilla.xpfe some time ago). Furthermore, I (among others) think that every window should be resizable if the user wishes to do so and resizability does not create UI clutter. In Windows, resizability currently requires no additional visual elements. So, apart from its usefulness in testing, I would like this pref to become a real feature. Unfortunately this pref needs to be implemented per-platform, as the current XP widget APIs do not allow eBorderType_default to be combined with eBorderType_resizeh. I have completed an implementation for Windows. It adds the preference "nglayout.debug.all_windows_resizable". It seems to work, and reveals a number of interesting bugs that I will get around to filing during/after the skinnability push.
qa to jrgm
QA Contact: paulmac → jrgm
Why is this UNCONFIRMED? Adding patch keyword. don - could you look over this for a couple of seconds and see if you want to ask roc+moz@cs.cmu.edu to update it for the latest code? Gerv Gerv
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: patch
The patch is in my tree, which I keep up to date (the nightly builds have some bugs that really annoy me, and which I have fixes for). I can produce a new up-to-date patch anytime, just ask.
Hmmmm, let me have Ben Goodger and Bill Law take a look at this one.
Ben, should we take this enhancement? If so, send the bug over to Bill to evaluate the code and check it in. Thanks.
Assignee: don → ben
Priority: P3 → P2
Target Milestone: --- → M17
Ooooohhh Ben? Should we accept the patch or not?
I've looked at it: seems fine. I've run with it: seems fine. I'd like to get rods to look at it too, though. So since Robert says this patch flushes out bugs, I give it a tentative thumbs up pending Rod's review. However, I do have a couple of issues. 1) We try really hard not to implement platform-specific features. Though this feature would affect the OS window border on the Macintosh (that may flush out additional bugs, after all) I'd like Robert to promise a Macintosh and gtk implementation as well. At least get some Mac and Linux people to promise to take on the responsibility. Perhaps only Windows people will use this debugging feature, but the idea of a whole pref that's only functional on one platform kind of irks me. 2) I don't know how important it is to register a callback for changes in the pref value, since there's no UI for the pref. And really, a truly bonzai callback would hunt down all open windows and make changes in them, too. Not that I'm suggesting that be done for this simple debugging feature. But at any rate, if you want to do the callback thing, I'd ask that the newer do_GetService function replace the deprecated NS_WITH_SERVICE macros. Check out, for instance, nsDocShell.cpp - nsDocShell::Create() for a nice example that even uses the recommended ProgID.
I can't commit to producing Mac and GTK patches, I don't have access to those development environments (Mac in particular). I would have made the patch XP if I could have. If we want something that works XP, I think the best long-term solution is to fix the widget API. The "border style" parameter should be broken into two parts: "border styles to add to default" and "border styles to subtract from default". If we had that, then this "always resize" pref could be done in purely XP code. I will attach a revision using do_Service.
I'll build the patch in my tree and check it in when I am able. a couple of comments: 1) The linux WMs I've tried have all allowed for window resizing intrinsically... 2) There will be no representation in the default UI for this pref. I endorse giving people the ability to do this if they *really want to* but I don't want to clutter the already bloated pref dialog with any more settings, especially not 'fringe' prefs such as this. This could be placed among a set of developer prefs however (such as disable xul cache and box debugging).
Status: NEW → ASSIGNED
Component: XP Apps → XML
Keywords: approval, review
Don't want this patch to rot *too* much...
Component: XML → XP Apps: GUI Features
Netscape nav triage team: as per Alec Flett's pre-triage recommendation, this bug is nsbeta1-. Changed component to XP Toolkit.
Component: XP Apps: GUI Features → XP Toolkit/Widgets: XUL
Keywords: nsbeta1-
Target Milestone: M17 → ---
Marking nsbeta1- bugs as future to get off the radar.
Target Milestone: --- → Future
I'm using Linux now so I don't care, and it appears no-one else does either, so I'm resolving WONTFIX to make it go away.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → WONTFIX
in light of bug 79948 [and see the fallout in bug 80392], should this be reopened?
i'm using xlib and various xservers/window managers that can't resize windows. And the fixed size preference dialog is really affecting me -- I care.
Blocks: 79119
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: jrgmorrison → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: