Closed Bug 41526 Opened 25 years ago Closed 23 years ago

Need 'Set as Wallpaper' on windows

Categories

(SeaMonkey :: UI Design, enhancement, P2)

x86
Windows NT
enhancement

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.9

People

(Reporter: bugs, Assigned: hewitt)

References

()

Details

(Keywords: platform-parity, Whiteboard: [Hixie-P0])

Attachments

(1 file, 2 obsolete files)

Just about every (windows) browser since the dawn of time has allowed the user to set an image as their desktop background. Since going down the XP road, we seem to have lost this ability, which is a shame, as this was a feature I used ;) Filing so that this issue is 'on the record.'
m21. law. There's another bug to get context menu version of this working, I think I have that.
Assignee: don → law
Target Milestone: --- → M21
Keywords: pp
nav triage team: Not a beta1 stopper, marking nsbeta1-
Keywords: nsbeta1-
Marking nsbeta1- bugs as future to get off the radar.
Target Milestone: --- → Future
C|net has spoken, we should fix it. ;) oh, and add a smiley or two. :)
Adding 4xp keyword Can anyone explain why this is listed as pp? It's not even an option on any other platform so it's certainly not an issue of "parity" between them.
Keywords: 4xp
Resetting milestone. Catfood and future don't mix.
Target Milestone: Future → ---
-> UI Design
Assignee: law → mpt
Component: XP Apps → User Interface Design
Depends on: 75338
QA Contact: sairuh → zach
But a few features from Netscape 4.x we missed in 6 are still absent, ... the Set As Wallpaper menu, which lets you grab any graphic from the Web and turn it into your desktop wallpaper. --CNet Review of NS6.1 PR1 Just felt I should quote the CNet article mentioned by jelwell. If this will get us better reviews, we might want to push for it. The main questins however is how do we implement this? Is there a windows API to do this?
1) How is this "UI design"? It's not like there's any question of where to put the option once we have it (the only legit place for it is in the context menu of an image and in the context menu of a page that has an image for the background). 2) I agree that this should be implemented, just for 4xp reasons and because when I used to use windows, I really did find this option useful (eg see a webpage with a background I liked and set it as my windows background too). 3) 2 minutes of LXRing in the MozillaClassic source pointed me to this, which looks like source code to set as wallpaper. Presumably this code could be used as the basis of the implementation for this functionality... http://lxr.mozilla.org/classic/source/cmd/winfe/popup.cpp#1195 Presumably many of the calls used by this code don't exist in the new world, but it's a start (and it includes the magic windows function which actually does the "set as wallpaper" operation given a filename to a .bmp file)
I'm not sure I see the point in this. If you want to have wallpaper, just save the image and set the wallpaper from the Control Panel (under Display). This isn't something you do everyday so it just bloats up the already bloated context menu. Plus it makes it easy for pranksters to put obscene wallpaper on networked computers (such as in schools-this happens ALL the time) even if the sysadmin locked the display settings. This sort of thing happens all the time.
this is a UI issue, as it adds to our already overlong contextmenus. This is pp because i doubt it would work in linux, not sure about the mac.
I guess I could do this. I'd have to go bother pav about retrieving bitmap representations of other formats (4.x, IE, etc. let you set gifs and others as wallpaper).
Whiteboard: [br]
pp Platform Parity bugs. A bug is a Platform Parity bug if it only occurs on one particular platform or two platforms, but not all three - Win, Mac and Linux. For example, if you find a bug on Linux, but it does not occur using the same day's Win32 or Mac OS build. It kinda fits =) http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/cmd/winfe/cxdc1.cpp&rev=3.6 &mark=404-612 has the code to export to bitmaps. it should be noted that 98+ and 2k+ support jpegs and gifs and might even support png's or other formats. so in reality the old code sucked on 98/2k+ =). re exploitation by 'hackers' in schools and libraries, that's because the systems weren't properly secured. It is possible to lock the %winnt% (ntfs) directory against changes/writes/creates and protect HKLM/HCU, "Control Panel\Desktop" against changes/writes/creates. This applies to nt4 or newer. Trying to lock down 9x or complaining that you can't is like trying to stop the mississippi river w/ 3 2" toothpicks. I'm giving this bug back to law to consider implementing. Someone else should file a bug about the interface for it.
Assignee: mpt → pchen
Component: User Interface Design → XP Apps
QA Contact: zach → sairuh
Whiteboard: [br]
timeless: this bug was in the UI Design component because many people think this option shouldn't be in the browser's image context menu. mpt is working on a spec for context menus in bug 75338. If you think we need a separate bug to implement a backend that may or may not be used, please file a new bug.
Assignee: pchen → mpt
Component: XP Apps → User Interface Design
QA Contact: sairuh → zach
If mpt already has a bug to design a spec for the context menus then he doesn't need ot own this bug. However this bug is totally useless if there is no backend. As such I would reassign to blake/law and mark this bug as blocking not blocked by mpt's bug -- which he clearly has.
Re: the URL added by MPT. I thought I'd quote the relevant part of the page to save other users from having to search through it: "Eric Hartwell highlights a notable problem with the design of the context menus Internet Explorer. Eric often avails himself of the 'Save Image As' menu item to copy images from web sites. Unfortunately, the 'Set as Wallpaper ' menu item is located immediately below the desired menu item, making it a likely inadvertent target. The problem is that 'Set as Wallpaper ' acts immediately and irreversibly; the application does not first prompt the user, as is the case with the menu items immediately before and after it, so there is no way to cancel the action. If the 'Set as Wallpaper' item is inadvertently selected, the user will have to go somewhere else and perform a series of actions to undo the effects of the unintended action." Obviously, we want to avoid these problems in Mozilla. I'm not sure if placing 'Set as Wallpaper' item away from the 'Save Image As...' item is a good idea as I think the image-related commands should be together (they're not at the moment, BTW). However, a confirmation dialogue would be good. It would also be nice if the dialogue told the user where to go to undo this change (though that may make the dialogue text too long). So I suggest this text for the dialogue: Do you wish to set the image whatever.gif as your desktop wallpaper? You can set your wallpaper in the Background tab of the Desktop Properties dialog(ue), which is accessible from Control Panel. [Set As Wallpaper] [Cancel] Thoughts? Comments?
"You can set your wallpaper in the Background tab of the Desktop Properties dialog(ue), which is accessible from Control Panel." I see no reason why this bug can't be XP. AFAIK Mac has a wallpaper, and popular Linux Desktops have a wallpaper too (Gnome/KDE). If this were done XP an XP explanation of where to set the wallpaper would be needed.
yes, we could totally implement this with an XP interface to the desktop background, that has 3 unique implementations.
This is definitely implementable, but it's a bad idea. Several reasons have been given in this bug; it's a pain for network admins trying to avoid students etc. setting porn as the wallpaper, there is OS-level functionality for it, it can be accidentally hit and is irreversible (and no, Yet Another Confirm Dialog is not the solution to this problem) and it's, in the end, irrelevant to what a browser _does_. Gerv
gerv: please see my comments from 2001-06-15 15:20. Who said there was os level functionality for this? You can't easily do this on w95. There is a version of mspaint that supports plugins to allow it to open gif and jpeg, but getting the filters and the app require more work than buying a real paint app. As for undoable, it's certainly possible for this to be undoable. Mail is irrelevant to what a browser does, so is building web sites, chatting on irc, chatting in general, perhaps even rendering math. That doesn't mean we don't have those features.
It'd be nice to have a preference to turn this off, or at the very least a dialog asking if we're sure we'd like to change the wallpaper. I've hit this item by accident several times and it's an inconvience to have to reset my wallpaper and remove the image file. I know I'm not the only one who's done this.
While Gerv's concerns are valid, the installed base of wallpaper-setting-capable browsers on Windows networks is already vast, and if this problem exists, it's likely sysadmins have already disabled this option using respective CCKs. This isn't reason enough to remove this feature from all users. This same logic can be used to remove the ability to set the homepage, as people can set other people's homepages to porn (copying hyatt, who has suffered this in the past ;)
This is a useless feature and should not be checked in to Mozilla.
> Unfortunately, the 'Set as Wallpaper ' menu item is > located immediately below the desired menu item > -- Alex Bishop 2001-07-03 10:58 Would placing it above the "Save as..." options reduce the accidental clicks? Usability people know? When I've accidently clicked the wrong item it's invariably been below the required item. > I've hit this item by accident several times and it's an inconvience > to have to reset my wallpaper and remove the image file > -- Matt Perry 2001-07-15 21:32 Maybe the saved file can have a hardcoded filename in the user directory, e.g.: wallpaper(.bmp) so that the next image you immediately set (after confirming in the dialog) as the wallpaper, overwrites the (offending?) wallpaper you didn't want.
"Maybe the saved file can have a hardcoded filename in the user directory, e.g.: wallpaper(.bmp) so that the next image you immediately set (after confirming in the dialog) as the wallpaper, overwrites the (offending?) wallpaper you didn't want." If I understand you correctly, that's how it worked in previous versions. Choosing the 'Set as Wallpaper' command would save the image as "Netscape Wallpaper.bmp" (converting it to from GIF or JPEG or whatever to Windows Bitmap format) and set it as the wallpaper file. The problem is that if you have "Nice Picture.bmp" set as your wallpaper and then accidentally set a Web page image as your wallpaper, you must manually change it back to "Nice Picture.bmp" and delete the "Netscape Wallpaper.bmp" file (as it's no longer needed). As several people have objected to this feature, why can't the function be toggled with a line in the prefs.js file? Something along the lines of: user_pref("browser.enable_set_as_wallpaper", true);
> The problem is that if you have "Nice > Picture.bmp" set as your wallpaper and then accidentally set a Web page > image as your wallpaper, you must manually change it back to "Nice > Picture.bmp" and delete the "Netscape Wallpaper.bmp" file (as it's no > longer needed). The dialog should prevent people from accidently changing their wallpaper. > As several people have objected to this feature, why can't the function > be toggled with a line in the prefs.js file? Something along the lines > of: user_pref("browser.enable_set_as_wallpaper", true); The kind of users who'd like this feature in the context menu are unlikely to know how to edit config files. They probably also don't know how to save and convert it, and manually set it as wallpaper thru the OS. At the end of the day it's up to the programmers to choose if/how this should be implemented. Would the best thing be to leave it to others to include it in a "for Joe Average" browser based on the Moz code?
> The kind of users who'd like this feature in the context menu are unlikely to > know how to edit config files. They probably also don't know how to save and > convert it, and manually set it as wallpaper thru the OS. I think the pref should be enabled by default (i.e. the prefs.js file should contain user_pref("browser.enable_set_as_wallpaper", true); in it). Then advanced users who get annoyed by the option can edit their prefs.js file to remove the feature.
Although I generally respect what Gervase Markham and David Hyatt have to say, I really do not understand their position on this feature. You may find it "useless" or believe it to be "irrelevant to what a browser does", but there are a whole lot of people out there who expect this capability and would not consider using a browser that does not have it. I know of people who change their Windows wallpaper 3 or more times a week and more often than not, they do it via their web browser. If you have a problem selecting the correct context menu item, then figure out something to help you be more accurate (ie add a separator between the items), but removing an option from the menu is not going to stop you from selecting the wrong option (you will just select a different wrong option) unless you are suggesting that we limit the context menu to a single item? If you think there are too many options in the context menu, then create a UI preference dialog where users can select which context menu items you want and which ones they do not want. If Mozilla is going to be the best browser available then it should include as many features that users want as possible. Making the decision that this is a "useless" and "irrelevant" feature sounds a bit too patronizing when we all know that people are asking for it.
Netscape versions up through 4.x had this feature, and the default response to this bug should be to include this feature in later versions. Users are used to it, and at least some are desiring its return, or CNET wouldn't have complained about it. The time to remove this feature is not now when people are already bitching that in some ways, 4.x was more usable than current versions. In Windows at least, there is still no systray mail notification icon, there is still no fullscreen option, we don't have an undockable task bar that can stay in front of all other programs - and we still don't have a Set as Wallpaper feature. Possible compromise: We COULD add a dialog box that says: "You're about to replace your wallpaper with _filename_. Click Cancel if you don't want to replace your wallpaper." [OK] {Cancel] AND put a "Never Show Me This Window Again" checkbox so that users who don't want to be annoyed by the dialog can disable it.
<< The problem is that if you have "Nice Picture.bmp" set as your wallpaper and then accidentally set a Web page image as your wallpaper, you must manually change it back to "Nice Picture.bmp" and delete the "Netscape Wallpaper.bmp" file (as it's no longer needed). >> -- Alex Bishop 2001-08-02 17:54 Or if you already have "Netscape Wallpaper.bmp" as your wallpaper, and you accidently set a NEW "Netscape Wallpaper.bmp" as your wallpaper, then you have to go back to another web site and find the one you used to have, which may or may not still be available to d/l. However, if the old wallpaper file is not automatically overwritten by Moz, then it is not possible to set a new one to overwrite an offending picture: << Maybe the saved file can have a hardcoded filename in the user directory, e.g.: wallpaper(.bmp) so that the next image you immediately set (after confirming in the dialog) as the wallpaper, overwrites the (offending?) wallpaper you didn't want. >> -- Jeandré 2001-07-31 15:57 Possible solution: Instead of "Yet Another Confirm Dialog" there could be a box with options. On Win95, the wallpaper can be "tiled" or "centered." On Win98 (actually I think IE4 Windows Desktop Update thingy) it can also be "stretched." I doubt many users will want to tile a picture, but the other two are pretty common (i.e. either leave it in normal proportions or make an almost-the-right-size image fit without having a border the color of the desktop). Maybe: (?) Would you like to set <image-name/> as your desktop wallpaper? [Center] [Stretch] [Tile] [No] And could Moz remember the choice used last time, and give it focus so the user can use the same option by pressing enter if s/he doesn't want to read the buttons but remembers his/her last choice? This way the way Microsoft Paint does it can be avoided (it has two menu options: Set as wallpaper (centered), Set as wallpaper (tiled). Or, to solve the problem of clicking the wrong option and having something undesired happen, this could be a sub menu. Such as (needs to be reworded): ... Save image as... Set as wallpaper > Set as tiled ----- Set as centered Select all Set as stretched ... whatever else there is This way, no annoying dialog pops up, but also nothing happens with a misplaced click, because the real command is on the submenu.
MPT, since you haven't accepted this bug; would you mind if I re-assigned it to Ben?
Keywords: mozilla0.9.2
Blocks: 103064
No longer blocks: 103064
I like Pete's idea. A dialog's not as bad if it adds value. And it allows cancellation, which would be a lot easier than implementing Undo. And it makes the product appear more featureful. ;-) Gerv
Taking, part of Context Menu work.
Assignee: mpt → ben
Priority: P3 → P2
Target Milestone: --- → mozilla0.9.6
I think people are overlooking an obvious solution. The users that are against this are generally in Mozilla's target audience. The users that "need" this are in Netscape's target audience. My suggestion is that Netscape should add this feature along with other Netscape-specific items such as AIM. Then we can leave this out of Mozilla. BTW, I have never purposely used this feature in IE, but I have triggered it accidently many times.
Severity: normal → enhancement
Status: NEW → ASSIGNED
Joe has volunteered to take this
Assignee: ben → hewitt
Status: ASSIGNED → NEW
Component: User Interface Design → XP Apps: GUI Features
Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.6 → mozilla0.9.7
I like the idea of a confirmation dialog with explanatory text. As for not adding this to Mozilla, my sister uses this feature (on IE, of course) on a nearly daily basis; if I converted her to using a Mozilla-based product she would complain if there was no way to do this.
Whiteboard: [Hixie-P0]
perf/footprint work is pushing this back
Target Milestone: mozilla0.9.7 → mozilla0.9.9
> the only legit place for it is in the context menu > of an image and in the context menu of a page that has an image for the > background I disagree. A "Set as Wallpaper" command should not be added to the context menu. It is an extremely seldom used option and the context menu is way too long anyway. Make the main menu context-sensitive, if you really want to add the option. IMHO.
Ben, how do you propose that focus might end up on an image so that we can make the main menu context-sensitive? The only images that are focusable are input type=image, which are rarely suitable for wallpaper :)
Stuart, mpt's spec explains an excellent way of implementing this without the need for a context menu (as this spec is listed on mozilla.org does it mean it's an official spec and the way this feature needs implemented in mozilla?) Source: http://mozilla.org/projects/ui/menus/shortcut/ Where’s Set as Wallpaper? In the Tools menu. This item should open a dialog (which defaults to the selected image, if there is one), so you can: * choose between the various images on the page (useful if the one you want is a page background, or is layered behind other content); * give the image a meaningful name, so you can find it in the relevant control panel later; * choose whether you want the image stretched, centered, or tiled; * choose Cancel if you selected the menu item by mistake, without Mozilla resorting to anything as obviously annoying as an alert. ** END QUOTE ** I think mpt's idea for this feature is the best, for those coming from IE or Netscape it may take some time to get used to, however ultimately it is the better solution (for the reasons mpt states) and saves us people who don't use it having an extra item in the context menus (also keeps context menus consistent between Windows and platforms that don't have support for set as wallpaper)
Target Milestone: mozilla0.9.9 → mozilla1.0
Target Milestone: mozilla1.0 → mozilla0.9.9
Attached patch patch (obsolete) (deleted) — Splinter Review
This patch is not ready for prime-time, I'm just posting it as a record of my progress. This patch actually does work, and is able to correctly save about 90% of images as bmp files. However, there are some cases where the image data we get back from the video card is not a pure stream of RGB pixels - perhaps it is optimized somehow. In these cases, the bmp file is corrupt and set as wallpaper will result in a blank desktop. I talked to Stuart about this for a while and he says he's been thinking of a way to expose image data serialization for some time now, but hasn't yet arrived at a solution. I'll play around with this for a while and see if I can get something working myself -- if not, guess I'll have to push this bug back again. :/
Looking more closely at this, I am seeing that my patch is actually close to working completely. I just discovered that the pixel data I get back from nsIImage::GetBits is actually already converted from a DDB to a non-compressed DIB, so it should work perfectly all the time. I think the reason the files are messed up is because the DIBs are 32 bit in memory and I was trying to write them as 24 bit. Why some bitmaps worked and others didn't I don't know yet. I don't think I want to be writing these bitmaps as 32 bit, though.
Ok, problem solved, the resolution of the bitmap will always be the resolution of the video card, so if your card is set to 16, 24, or 32 bit, that will be the res of the DIB I get back from nsImageWin::GetBits, and that's exactly what I'll serialize to the bmp file. So, looks like this patch is almost ready to go! I'll post an updated one shortly.
Attached patch patch 2.0 (obsolete) (deleted) — Splinter Review
Attachment #69708 - Attachment is obsolete: true
Comment on attachment 69747 [details] [diff] [review] patch 2.0 add some null checks around the GetImageRequest, GetImage, etc functions, as they can return null. do that and r=pavlov
Attachment #69747 - Flags: review+
Problem with this patch is the filename "Mozilla Wallpaper.bmp" is hardcoded so whether they're using Mozilla.org's mozilla, Netscape 6.x or another Mozilla based derivative then the user is gonna have the same filename. There's already been cases where people have seen their html files described as "Mozilla Hypertext Document" when they've installed Netscape 6 and users have been confused wondering what Mozilla is. Also this implementation doesn't fit in with the spec posted on mozilla.org (see link I posted in comment #40). Anyway if this is to go into mozilla as a context menu item rather than as mpt's spec suggested then I think the naming of the file should be based on the original filename (e.g. moz1.gif -> moz1.bmp) that means if somone accidentially sets something as a wallpaper there's less chance of the old one being overwritten. If this isn't gonna happen then 'Mozilla' should be ditched from the filename so as not to confuse users of non Mozilla branded versions. "Browser Wallpaper.bmp", "Navigator Wallpaper.bmp"...?
Attached patch patch 3.0 (deleted) — Splinter Review
This patch addresses stuart's comments and renames the file to "Navigator Wallpaper.bmp"
Attachment #69747 - Attachment is obsolete: true
Comment on attachment 69764 [details] [diff] [review] patch 3.0 r=pavlov sr=blake
Attachment #69764 - Flags: superreview+
Attachment #69764 - Flags: review+
fixed. I opened bug 126366 to deal with the added work to make this work for background images, but support is now in for html:imgs.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
QA Contact: zach → sairuh
Keywords: nsbeta1+
vrfy'd fixed using 2002.03.06.06 comm bits on win2k. when i select "set as wallpaper" from the context menu, it's saved as "Netscape 6 Wallpaper" under the Background tab of the win2k Display Properties dlg.
Status: RESOLVED → VERIFIED
Product: Core → Mozilla Application Suite
Component: XP Apps: GUI Features → UI Design
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: