I'm trying to use GTK+ 2.0 for my GUI, but I'm not sure how I could implement a menu that slides out when a button is clicked. Making a menu disappear/re-appear instantaneously would not be difficult to do as it requires a simple change to the visibility property. This app is being developed on Windows, but I'm also planning to port it over to Linux. So any ideas on how to achieve menu transitions that work on Windows and Linux?
Maybe you can make a menu widget yourself. Last time, I made a menu widget inherited from gtk dialog. You can move the dialog anywhere you want.
Related
I like to adjust or disable a feature of gtk3 (or gnome-shell?) because it causes a delay or at least need to remove the delay when bringing a window in/out of focus. My multi window application suffers from this delay:
I see is that all widgets like buttons, entries, etc. are set to in-sensitive/gray look at time the window they are contained is loosing focus and they return to normal when the window focus returns. I tried to turn off animations, but that does not disable this behavior.
My old program version based on gtk2 based does not have this feature (same gnome shell). So I conclude gtk3 is some how managing this.
I so far was not able to find out how to disable this.
This is part of the default (Adwaita) desktop theme, and as such you can't disable it for one application. Each window's widgets get the :backdrop CSS pseudo-class when it is not the active window, and the Adwaita theme styles them that way.
Your best bet is to pick another desktop theme.
Im using WindowBuilder tool to build a GUI for my application and I see that some widgets or tools don't get included in the Design view. In my case, I have created a new SWT Application window and I try to add DropDown Menu in the Application window and I always get a red icon when I take the DropDown menu from the palette to the design area. Can anyone tell me what is the problem in this case?
I found the mistake I was doing...It is not possible to directly add a DropDown Menu in the design editor. You first have to add a Menu and then add a DropDown Menu. And the widgets do work in all forms of applications you want to develop.
How to dock form to another form (like VB6's Immediate, Debug forms...)?
I've tried to do it with a MDI Form and a child form, but I couldn't dock child form to MDI parent.
Also I've found some third-party controls but I'd like to do it without them.
Is there any way to do it? Thanks in advance.
You could check out Developer Fusion Dockable Window Control. The screenshots look promising.
From the overview:
This control (only 44KB!) allows you to add a dockable window to your
VB Project.
Dock top, left, right or bottom
'Tear off' to undock form
Autodock by moving form to edge of parent form
'Window memory' (the control remembers the dockable windows last position, which is restored when your application loads again.
There is an addin for Visual Studio called MouseNavi that allows you to use mouse thumb buttons to navigate your history.
Does a similar extension exist for Eclipse?
I don't know of any Eclipse plugin that does this, but assuming you're using Windows:
This one should enable you to do what you want: http://www.highrez.co.uk/downloads/XMouseButtonControl.htm
With that tool you can assign each mouse button a sequence of keys (Alt+Left for example) and because it can be made application specific it won't interfere with other programs where you don't want that mapping.
Alt+Left and Alt+Right to navigate through the latest opened editors.
Also, Alt+L to open up the shortcuts popup, so you can see what's available.
No real mouse navigation control though (not that I know of... at least). Although, should not be very difficult to create one and attach it to the same handlers that deal with the navigation commands.
^Q takes you to last edited location. You can cycle using it. No mouse bindings.
I'm trying to get a window to cover the whole screen. Its positioning and dimensions is fine but it gets covered by the Gnome panel. To complicate things I have two monitors and this app needs to support people with multiple screens.
WINDOW_TYPE_HINT_SPLASHSCREEN is a good start. It covers both screens but not the panel. It's still there, just behind the panel.
WINDOW_TYPE_HINT_DOCK looked ideal but I need this window to take focus to listen to a keyboard event. _DOCK seems like it purposely ignores keyboard events (which kind of makes sense). Can I force it to take keyboard focus?
Is there some way I can force a hinted window to cover the panel?
There's window.fullscreen() which you can call on a normal "un-hinted" window. I assume this lets the window manager decide whether the window should cover the panel or not.
If you use the WINDOW_TYPE_HINT_MENU, you can give the focus to the window by calling the gtk_window_present() function.
However, I don't know if you will be able to cover the panel.
Another hint: the panel probably change its _NET_WM_STRUT property so that other windows cannot cover it. Maybe you will have to play with this property (or another) in your window.