In my Qt5 app, I wanted to display a tiny icon in the title bar. I used
setWindowIcon(QIcon(":/icons/Mylogo.png"));
To my surprise, the icon appears (on my Ubuntu) on the sidebar, along with the other active tasks, but not in the title of the window. With the messages from my app, I also reveive
QPixmap::scaled: Pixmap is a null pixmap
that may be the reason why I do not have the icon. Do I make something wrong, or do need to do something extra? (i.e. the pixmap exists, found, and used on one purpose, I guess)
No minimum example and no info about window manager.. my advice is to look into platform notes for Setting the Application Icon
Your icon may be under control of e.g. KDE/GNOME theme.
Related
I'm writing a codenameone application where I want to have an image displayed across the top of the screen as a header. I do not want to include this image in every form/container that I create so therefore I came up with the following solution:
I have a Main form which contains the image (North) and a container (Center) which will then hold all the components of the specific screen that I want to show.
I will then create containers that represent each individual screen. My idea was to add these containers to the container of the main form, one by one and that navigation between them would be handled by changing the contents of that main screen container.
But I cannot find out how to make this work. As long as I have one single screen to show it is easy... The main form container can be an embedded container that is set to show the container for the single screen. But when I try to navigate to another I cannot make it work.
So, is there another approach I should use?
If not, how should I handle navigation between screens?
Is this with a GUI builder app or with a handcoded app?
Either way a simple way of customizing this if your app has a side menu or Toolbar would be to customize the TitleArea UIID to include your background image. E.g. start with a modern theme like the Business Theme and in the designer theme change the title area border property to be "Empty".
Then define the background image to be the image you want with "scaled to fit" or "aligned bottom" depending on what you want. Make sure to include enough space in the image for the title are and use a multi image so it will adapt for other OS's.
I'm starting with developing on Windows phone 8.1. I've been working with the different image assets for logos and tiles, but have not been able to identify the one that is displayed when you go to the list of open apps (i.e. pressing and holding the back key). In this view there is a logo of the app in the bottom-left corner that I don't know from where it comes. I'm trying to change the background color of it, but is none of the ones define in the manifest. I've seen apps that have this image with a specific background color (i.e. not transparent) like the one in the screenshot below. So, there must be a way to do it, but I'm not able to find where or how.
That would be the application icon you set in your WMAppManifest.xml. You can find this under your project's Properties folder. You can set icon from the UI (App icon) or by editing the XML block itself.
<IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
This is the same icon that is shown in phone's app list. If image has transparency, phone's selected accent color is shown as "background". If not, well.. then it won't be transparent :).
How can I show an NSWindow when clicking on an NSStatusItem, such that it shows over other applications when appearing, but without causing them to lose active status?
I have seen MAAttachedWindow, and it is neat but it does not show on top of other applications unless its own application is active.
I would check out this excellent tutorial and sample project:
Cocoa Popup window in the Status bar
That example shows how to "attach" a window to a status bar item, but you could position the window wherever you want. Basically, if you define your app as a LSUIElement you can display floating utility windows despite your app never activating or showing a dock icon, and other apps still remain key.
if you use MAAttachedWindow, you can set the winow level as NSStatusWindowLevel. Then it will show on top of other application.
From the Mac OS X HIG:
As with the icons that can be used inside toolbar controls, the system applies various effects to sidebar icons. To help you understand how these effects can change the appearance of a sidebar icon, consider the Finder Home icon, shown here in its unprocessed state[...]
So I'm trying to get my NSOutlineView to render a black sidebar icon with the typical new Lion style. I'm using a view-based NSOutlineView. However, I'm unable to find anything in the docs and if I simple set the imageView.image property to the sidebar image, it renders in black. So I figure there must be some sort of opt-in mechanism to get the sidebar to render it properly. Any suggestions on how to achieve that?
Apart from using the setTemplate: method of NSImage, you can just rename your images. This is from the documentation of imageNamed:…
If an application is linked in Mac OS X v10.5 or later, images
requested using this method and whose name ends in the word “Template”
are automatically marked as template images.
I want to create a full Screen Cocoa application, however my app is slightly different from a conventional fullscreen app.
This app would be below everything else, so underneath the menu bar and the Dock, etc. It would have a large image covering up the Desktop and icons, with a custom NSView in the middle with a table view, etc. If this concept is hard to understand then here is an image:
http://img10.imageshack.us/img10/6308/mockupo.png
The only part that might be a bit confusing is the background image. This background image is NOT the wallpaper of the computer, but part of the app. So when the app is launched, it goes into full screen mode and puts itself underneath the dock and the menu bar, and underneath all other windows too. So it draws the background image to cover the screen (including Desktop and icons). Then has a custom NSView in the middle containing my controls.
What's the best way to go about doing this?
Thanks
Make a borderless window, the size of the menu-bar screen (screen 0—not [NSScreen mainScreen]), positioned at 0,0, with window level kCGDesktopWindowLevel.
Remember that you will need to observe for screen frame-change notifications (when the user changes the screen dimensions), and that you should correctly handle the case of no screen at all (headless Mac).
I think #Peter Hosey’s solution should work, but to make other windows go on top, you will probably need to change the window level to something else.
But, I implore you, do not do this. This will be the most bugly application the Macintosh has ever seen. There are a lot of really good user interface paradigms that you can use, and "replicating" the main desktop interface of Mac OS X is generally not one of them. That is, unless you are reimplementing Time Machine or something like that.