How to add GtkMozEmbed browser into a tab with Ruby/Glade/GtK? - ruby

I am trying to add a browser using GtkMozEmbed into a gui I am designing using Glade. I want the browser to take up a tab in a notebook widget, but I cannot figure out how to actually do this. I am wondering what container to use to put the browser in, and the associated ruby code to actually embed the browser in this container. Any help would be appreciated thanks!

What I ended up doing eventually was to insert a window element into the tab, and in the ruby code associated with the glade file configure the GTKMozEmbed there. I do not think it is possible to get it setup using the Glade GUI, so you will have to get down into the code for this.

To add a new tab with any widget use this.

Related

Nativescript prompt dialog select all text

I was just wondering if it was possible to have a nativescript prompt dialog select all of the text upon opening without going so far as to create an entire custom dialog. I don't see any settings when creating it, but I was wondering if someone knew of a way to do this?
Thanks in advance.
The native dialog controller or the UI components inside are private to the dialogs module, not exported for public use. Hence you will need a custom one in order to operate on the textfield.

how to click a blank area in a browser

I want to click on the blank area of a browser. How do I do this with watir?
For example, go to google, enter some words and then click the white space/blank area so that the search suggestions box goes away.
Two possible ways to tackle this, one I've successfully done and one I haven't.
First, using watir, something I have not tried is here: How to click on specific element in canvas by its coordinates (using WebDriver)?. I haven't looked into this much but it seems like these two guys have it figured.
The thing I have tried, however, is to use something called Sikuli. Sikuli scripts can be run ontop of an existing watir-designated browser because they are purely image-recognition based. You can trigger the sikuli script to execute from within ruby and implement the canvas (blank area) click that way. Sikuli is crazy simple to use if you use the IDE to generate the macro.

Opening a bar on top of the page with firefox sdk

I am making a firefox pluggin and I want to open a "topbar" on a few websites. Realy, it would be a few informations about the curent page a link back to my own website. What would be te best way to do that ?
My first idea was to use content script, but that seems to be a very bad practice. I also read about panels, here are my questions :
How can I add my pannel just under the adressbar ?
How can I only open in it on the website I need ?
thx.
Using content script is completely fine.
It is modern, simple, less-code, more compatible way
to add top-panel to some web pages.
Also, code of content script is not injected to the web page, it just uses the dom and context; page script has no access (if you do not provide it explicit) to content script.
The only possible disadvantage is that panel would not look like native part of the browser.
If I convienced you to use content script:
The module you really need in your plugin page-mod
Using Add-on Builder you make have your plugin in a day

In order to add new functionality to existing Firefox clients, do I need to create an extension or a plugin?

More specifically, the idea is to allow the user to open Firefox, highlight a word on a web page, right click on it, and have an additional option that, when selected, calls c++ code that does something with the input string (must call C++ code, unfortunately), and displays a dialog box showing the result.
I'm still not sure if in order to implement this functionality I need to create a Firefox plugin or an extension. Can someone point me in the right direction?
Also, if someone can show me sample code in order to get me started that would be appreciated. (XPCOM, which I'm not even sure is what I should be using, seems a bit complicated for this seemingly simple project.)
You need a regular Firefox extension. It can add an item to the context menu, NPAPI plugins cannot do this. When it is clicked it can get the selected text and send it to your binary library. The best way to call functions in this library is js-ctypes, XPCOM is not required.

Modify contents of Firefox download dialog from add-on kit

I'd like to be able to add an option to the download dialog that pops-up in Firefox when starting a file download. Is it possible to do so using the new add-on SDK or do I have to do it the old way?
edit: Obviously, if the new option is selected, I need a way to know it and execute code based on it.
That's something you would use XUL overlays for. I guess that the dialog you are talking about is chrome://mozapps/content/downloads/downloads.xul - the download manager. AFAIK doing this isn't possible with the Add-on SDK, it only provides the most common UI integration points. You could create a traditional extension however, it can overlay any dialog.
There is no existing module that will help you that I know of, so you would have to create one, or wait for one to be made by someone else. But the main idea to extending browser UI is simple, and goes like this:
When the addon is loaded, scan for open windows of the type that you wish to extend.
extend the open windows by adding xul elements and javascript to the page.
listen for newly opened windows, and test that they are the type that you are looking for once they open
extend newly opened windows while your addon is active
Clean up after yourself when windows close or when your addon is disabled/uninstalled.
The last step is the most important and never matter with old school extensions which were not restartless.
Some for the built-in modules that you can look at that do this are the widget module, the context menu module, and the hotkeys module, all of which you can find here.
I've made a couple myself which are the toolbar button module, the xulkeys module, the menuitems module, and a few others, all of which you can find here.
Recently I wrote an extension do the same things. A bootstrap extension, not using addon-sdk.
I already submit it on AMO, but wait for review
https://addons.mozilla.org/en-US/firefox/addon/download-dialog-tweak/
And the source code
https://github.com/muzuiget/download_dialog_tweak

Resources