about summary refs log tree commit diff stats
path: root/xombrero.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Undo the backout of all the inputfocus changes.Josh Rickmar2012-08-141-9/+27
| | | | | | We thought these were the cause of the focus bugs, but it was something else instead. Now that we have that fixed, these can go back in.
* Send a fake focus-in event to fix the focus.Josh Rickmar2012-08-091-13/+79
| | | | | We probably shouldn't be relying on internal gtk functions (especially since we can't link to them on linux), so try this instead.
* Backout commitsJosh Rickmar2012-08-091-26/+13
| | | | | | | Accidentally pushed a bunch of stuff to master that wasn't ready yet when making the FreeBSD Makefile changes. Sorry marco for the merges in the logs. This should revert everything back to how it was at d397399c349d36f611a5aac6fa53528d2fe2eaea.
* Unref t->completion when deleting a tab to destroy the completionJosh Rickmar2012-08-071-0/+2
| | | | window.
* Destroy a hidden arrow menu instead of simply unreferencing it. ThisJosh Rickmar2012-08-071-6/+10
| | | | | keeps the toplevel window count from incrementing each time the arrow is clicked.
* Only hide when switching switching tabsJosh Rickmar2012-08-061-4/+6
| | | | | | | | | We need to hide t->cmd, t->oops, and t->buffers when creating a new tab, because when the tab is switched to, they are automatically hidden in the notebook callback. Removing this also prevents focusing the url GtkEntry when using middle click to create a new tab, since t->focus_wv would not have been set to 1 yet in the create_new_tab() function.
* Attach t->cmd to the hide signal to focus t->wvJosh Rickmar2012-08-061-7/+12
| | | | | | Whenever t->cmd is hidden we need to make a decision about what to focus (in most cases, the webview). Before this may not have always happened if t->cmd was hidden and no focus was explicitly set.
* Prevent expanding tabs when using the P keybinding.Josh Rickmar2012-08-021-0/+6
| | | | | | | | This change modifies the paste_uri function to change all newlines in the uri with spaces. This stops the new tab from expanding to twice it's correct height when using the P command, if pasting a link that contains any newlines (usually these would come from copying the newline out of a terminal).
* Add a :https commandJosh Rickmar2012-08-011-0/+13
|
* Backout all changes I've made to inputfocus.c.Josh Rickmar2012-08-021-27/+9
| | | | | | | It was likely something from one of these changes that introduced all of our focus bugs. We can reintroduce these commits again, much slower than as I first developed them, and see if the focus issues still appear.
* Implement an about:runtime page and :runtime command to view andJosh Rickmar2012-07-311-8/+59
| | | | | | change runtime settings. Settings that have been modified show in a highlighted color in the table. Tooltips describe the setting's function, as well as the default values.
* More focus improvements. Disable the can-focus property for a lot ofJosh Rickmar2012-07-271-9/+15
| | | | | | widgets that should not be receiving focus, and try focusing the HTML body to try to prevent some of the focus bugs that have been popping up. No idea if this will solve our problems but they can't hurt.
* Add a force_https setting (using the same domain syntax as theJosh Rickmar2012-07-311-7/+37
| | | | | | | | | | | | | | | whitelist settings) to make all requests to that domain use the HTTPS scheme, similar to HSTS. Install a new file, hsts-preload, into the resource dir. This is a regular config file with a bunch of force_https = ... lines, which is used to implement a preloaded HSTS list. Right now all the domains in this file, except for conformal.com and cyphertite.com, are taken directly from chromium's preloaded HSTS list (and should be synced with this file every so often). Also implement a new setting, preload_strict_transport (enabled by default), to enable or disable the loading of this preloaded HSTS list. Document force_https and preload_strict_transport in the manpage.
* vasprintf -> g_strdup_vprintfJosh Rickmar2012-07-261-2/+2
|
* two more free() -> g_free(); ok jrickTodd T. Fries2012-07-261-3/+2
|
* Remove malloc callsJosh Rickmar2012-07-261-7/+5
|
* Implement a do_not_track feature to set the Do Not Track HTTP header.Josh Rickmar2012-07-251-0/+3
|
* Fix marco's last commit so the donothing binary doesn't show warningsJosh Rickmar2012-07-241-1/+5
| | | | | with show_oops, and document how donothing behaves in the manpage and example conf.
* make warnx a show_oopsMarco Peereboom2012-07-241-1/+1
|
* Make this compile again with XT_DEBUG defined. Tsk tsk meJosh Rickmar2012-07-241-6/+6
|
* Always add the callback function to the soup message to enable HSTS ifJosh Rickmar2012-07-211-6/+6
| | | | | enable_strict_transport is set. Before, if referer_mode was set to XT_REFERER_ALWAYS, this code would never be run. Found by dhill.
* Change the CSS slightly so that url and statusbar text is notJosh Rickmar2012-07-171-0/+13
| | | | | | | invisible on windows, and add some additional inline CSS hacks for Windows into the source to beautify the tabs a bit. With this change, we should be ready to re-enable the default windows gtk3 theme instead of disabling user themes.
* Make some modifications to the notebook tabs so they do not expandJosh Rickmar2012-07-161-3/+14
| | | | | | | | | | | | | when the spinner is shown. Doing this in a way so that the text doesn't bounce around when the spinner is shown and hidden requires a ugly ugly hack of giving the label a fixed size instead of letting the GtkBox give it an appropiate width, but afaik this isnecessary (and the old gtk2 code was using the same hack). While in here, give the Arrow name to the arrow button itself and not the GtkArrow it holds, and remove the .button#Arrow CSS as we don't want to remove the border from this button, only the tab close and fancy_bar buttons.
* Make all the statusbar elements GtkLabel widgets instead of GtkEntryJosh Rickmar2012-07-131-72/+61
| | | | | | | | | | widgets (with the exception of the uri, we need this for the progressbar). Because labels only take up as much room as they need, the statusbar elements now dynamically fit together in a GtkBox instead of giving GtkEntry a fixed size. Because the background color of labels can not be colored directly, place a GtkEventBox underneath the packing GtkBox (which is also transparent) and color that when changing the colors for HTTPS sites.
* Always create the items in the toolbar, even if they aren't going toJosh Rickmar2012-07-131-60/+49
| | | | | | | | | | | | be immediatelly shown due to fancy_bar = 0 or an empty search_string. We need these to be created in case they are shown again by changing these gui settings at runtime later. This also prevents a lot of Gtk-CRITICAL warnings due to trying to set various widgets active or inactive based on the current page status (for example, stop and the js toggle button). While here, kill some useless boxes around both the uri and search entries in the toolbar.
* This should have made it into the last commit.Josh Rickmar2012-07-151-1/+6
|
* Silence this warning for good.Josh Rickmar2012-07-131-1/+7
|
* rejig downloads a bit to accomodate windowsMarco Peereboom2012-07-131-3/+6
|
* Remove the compact tab separator (I couldn't get this to colorJosh Rickmar2012-07-121-37/+51
| | | | | | | | | | | | | correctly in GTK3, maybe it was turned into a windowless widget) and instead use a GtkEventBox behind the compact tab bar. Give this GtkEventBox the same background color as the old separator, and put a 2 pixel spacing gap between each compact tab. This simplifies the code required to paint these separators, and works for both GTK2 and GTK3. * * * Call gtk_label_set_ellipsize() on the compact tab labels. This prevents the main window from forcefully expanding when there's not enough room for all of the compact tab labels.
* Instead of erroring out when unable to set special settings, add aJosh Rickmar2012-07-111-2/+1
| | | | warning to about:startpage. While in here, clean up some #ifdefs.
* Add a show_scrollbars option to disable showing of scrollbars. EnableJosh Rickmar2012-07-111-1/+32
| | | | | (keep current behavior) for gui_mode = normal, and disable for gui_mode = minimal. Requires GTK3.
* Use a DNPRINTF debugging macro for mutex warnings instead of show_oops.Josh Rickmar2012-07-111-2/+2
|
* Remove xterm_workaround as this has been fixed upstream, and make yJosh Rickmar2012-07-111-78/+21
| | | | | | and p work with CLIPBOARD in addition to PRIMARY. Yanking copies to both, and pasting tries PRIMARY first, and if empty, reads from CLIPBOARD. This should make y/p/P work on windows.
* Ran into a segfault, not 100% sure but this might provide a fix.Josh Rickmar2012-07-101-1/+2
|
* Support building again with ancient libsoup versions.Josh Rickmar2012-07-101-1/+1
|
* Kill the pixel border around show_oops. The changes in xombrero.cJosh Rickmar2012-07-101-3/+1
| | | | | give each t->vbox the "vbox" name, which is then used to style .entry classes that are direct descendants.
* Enable GTK3 as default on FreeBSD and Linux, and make attempts toJosh Rickmar2012-07-101-10/+15
| | | | | | improve coloring when using other invasive GTK3 themes. The URI bar should now be colored correctly, unless explicitly overridden in a user theme.
* Add for support for, and enable GTK3 as default.Josh Rickmar2012-07-091-28/+211
| | | | | | GTK2 is still supported. To build against GTK2, use: $ GTK_VERSION=gtk2 make
* Make the autofocus code a bit smarter by first saving the originalJosh Rickmar2012-07-051-0/+4
| | | | | | | | | text in the text box and seeing if it's any different from the new text before attempting to enter command mode. Before, there was only a check to see if there was any text. This also only sets t->active if it is not NULL, so only the page's default text entry box is ever used when entering insert_mode, instead of the last text box that was typed into.
* bring back notification of download startMarco Peereboom2012-07-041-3/+2
| | | | | | This restores the prior GUI behavior. Hide the asynchronous download complete message behind the download_notifications setting which is disruptive and racy.
* Show a warning message when executing run_script, and make sure %s inJosh Rickmar2012-07-041-3/+6
| | | | a format string actualy has something to print.
* print gerror when spawn failsMarco Peereboom2012-07-031-3/+5
|
* add PSC and only set defaults if not set yetMarco Peereboom2012-07-031-5/+7
|
* move init of resource_dir into unix specific codeMarco Peereboom2012-07-031-1/+0
|
* make this work again on windowsMarco Peereboom2012-07-031-1/+1
|
* init path to NULLMarco Peereboom2012-07-031-1/+1
|
* Prevent the use of an uninitialized variable. My earlier change inJosh Rickmar2012-07-031-2/+3
| | | | | f284a63967c1f5f349abdfbb7b3f8710b6c419fd was wrong due to some forgotten braces after the if statement.
* Check if a pointer points to some memory before blindly freeing it.Josh Rickmar2012-07-031-2/+3
|
* Add two new settings, allow_insecure_content andJosh Rickmar2012-07-021-0/+10
| | | | | | | | | | allow_insecure_scripts, which, if WebKitWebSettings has the enable-display-of-insecure-content and/or enable-running-of-insecure-content properties, sets those to enable or disable viewing or running of insecure content from secure websites. Make these default to 0 in whitelist mode, and 1 otherwise. * * * Document in manpage.
* Prevent the use a depreciated function (as of webkit 1.8), and onlyJosh Rickmar2012-06-291-2/+14
| | | | | | | | attempt to get the webview's pixbuf if the page is valid (has a non-null uri). This prevents glib warnings when attempting to load the webview's favicon. * * * Remove unnecessary braces.