about summary refs log tree commit diff stats
path: root/xombrero.h
Commit message (Collapse)AuthorAgeFilesLines
* Add a dragonflybsd portJosh Rickmar2012-08-291-0/+9
| | | | Patch from user Zplay on the forum
* Fix back/forward handling with about pages.Josh Rickmar2012-08-291-1/+1
| | | | | | | | | This change makes the can_go_* and go_* back/forward functions use the same logic when determining whether we are on an about page, and makes it so about:secviolation warning pages do not save the page that generated the warning to t->item. This prevents hitting back and going back to the exact same page that generated the warning (triggering the warning a second time).
* Remove some deprecated signalsJosh Rickmar2012-08-221-2/+7
| | | | | | This stops the webview's deprecated load-finished and load-progress-changed signals from being attached to. May help with stability.
* Kill the gcrypt deprecated warningsJosh Rickmar2012-08-221-0/+2
|
* Remove duplicate codeJosh Rickmar2012-08-061-8/+1
| | | | | | Now that wl_add works correctly (doesn't automatically insert leading periods), remove the old struct sv_ignore and use struct domain and wl_add/wl_find instead.
* Add a new setting, gnutls_priority_string.Josh Rickmar2012-08-021-0/+2
| | | | | | This may be used to modify the GnuTLS priority string used for the soup session to enable or disable specific ciphers or TLS/SSL versions. Default is empty (uses libsoup's defaults).
* Give each tab its own session key for xtp links.Josh Rickmar2012-08-161-11/+12
| | | | While here, kill a bunch of trailing whitespace.
* Add more info and features to about:secviolationJosh Rickmar2012-08-151-1/+2
| | | | | | This adds the full url to the about:secviolation warning page, as well as implementing a new link to show the local cached cert instead of only the new remote one.
* many changes to about:allthethings and about:webkitTodd T. Fries2012-08-141-0/+1
| | | | | | | | | | | | | | | | | | | o breakout deeply nested function and comment soup session (soup session will be exploded in about:allthethings once the associated warnings are fixed) o munge and massage the show_g_object_settings function o move from 'var = g_value_get_foo(&value); valstr = g_strdup_printf("%XX", foo);' to 'valstr = g_strdup_printf("%XX", g_value_get_foo(&value));' .. shrinks code, no change in behavior o add G_TYPE_{{U,}CHAR,LONG} o introduce xt_append_settings() to simplify allthethings() and about_webkit() o rework output to look much more c like o spend way too much effort aligning the /* number flags=0x.... */ comments o compact output and be as c like as possible o from Josh Rickmar Don't recurse for toplevel windows and use proper glib foreach functions.
* Undo the backout of all the inputfocus changes.Josh Rickmar2012-08-141-1/+6
| | | | | | 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.
* Reintroduce the FreeBSD fixes that were lost in the backouts.Josh Rickmar2012-08-091-0/+2
|
* Backout commitsJosh Rickmar2012-08-091-4/+0
| | | | | | | 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.
* Make sure LOGIN_NAME_MAX is defined properly for FreeBSDJosh Rickmar2012-08-091-0/+2
|
* breakout deeply nested function and comment soup sessionTodd T. Fries2012-08-081-0/+2
| | | | | soup session will be exploded in about:allthethings once the warnings associated with exploding it are fixed
* Add a :https commandJosh Rickmar2012-08-011-0/+4
|
* Distinguish between toplevel domains and FQDNs in whitelist code.Josh Rickmar2012-08-011-3/+0
| | | | | | | | | This fixes the behavior of the whitelist code so that whitelist toggling toggles the FQDN (not the domain and all subdomains), unless domain is explicitly used. This was the intended behavior but the old code would automatically assume all subdomains anyways. This also makes the new force_https stuff work correctly with FQDNs (no subdomains) for the preloaded HSTS list.
* Backout all changes I've made to inputfocus.c.Josh Rickmar2012-08-021-6/+1
| | | | | | | 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-2/+81
| | | | | | 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.
* Add a force_https setting (using the same domain syntax as theJosh Rickmar2012-07-311-0/+9
| | | | | | | | | | | | | | | 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.
* Implement a do_not_track feature to set the Do Not Track HTTP header.Josh Rickmar2012-07-251-0/+2
|
* Make all the statusbar elements GtkLabel widgets instead of GtkEntryJosh Rickmar2012-07-131-2/+3
| | | | | | | | | | 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.
* Replace all signaling code and a mkstemps call with glib functions.Josh Rickmar2012-07-171-6/+0
| | | | | With this change, external_editor should now be able to edit HTML input elements on Windows.
* Remove the compact tab separator (I couldn't get this to colorJosh Rickmar2012-07-121-1/+0
| | | | | | | | | | | | | 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.
* Add a show_scrollbars option to disable showing of scrollbars. EnableJosh Rickmar2012-07-111-0/+3
| | | | | (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-0/+1
|
* Remove xterm_workaround as this has been fixed upstream, and make yJosh Rickmar2012-07-111-2/+0
| | | | | | 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.
* Enable GTK3 as default on FreeBSD and Linux, and make attempts toJosh Rickmar2012-07-101-3/+1
| | | | | | 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-0/+6
| | | | | | GTK2 is still supported. To build against GTK2, use: $ GTK_VERSION=gtk2 make
* More #ifdef nonsense so this compiles with older webkits.Josh Rickmar2012-07-091-0/+2
|
* Make the autofocus code a bit smarter by first saving the originalJosh Rickmar2012-07-051-0/+1
| | | | | | | | | 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.
* add some missing debug defines, bad jrickMarco Peereboom2012-07-031-0/+3
|
* add PSC and only set defaults if not set yetMarco Peereboom2012-07-031-0/+1
|
* Add two new settings, allow_insecure_content andJosh Rickmar2012-07-021-0/+5
| | | | | | | | | | 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.
* Implement a tabonly command that deletes all tabs except the currentlyJosh Rickmar2012-06-281-0/+1
| | | | focused one. Document in manpage.
* Modify the allocation of the scrollbar and GTK adjustment so they areJosh Rickmar2012-06-281-2/+0
| | | | | | | | allocated by the gtk_scrolled_window_new command instead of allocating them first and then passing them as args. I was seeing some segfaults from invalid t->adjust_h pointers earlier, and although I couldn't figure out why the pointers were invalid, I have not yet seen that crash after this change.
* Save a pointer to the text entry box that is focused when the page isJosh Rickmar2012-06-281-1/+3
| | | | | | | | | | load for each tab. Try to use this first when using the insert_mode command instead of just focusing on the first text box in the html. Don't switch to command mode if the currently-focused input box contains any text in it. This prevents an annoying switch to command after the page has focused a particular element and the user has already begun typing something.
* Use glib's g_spawn_async() function instead of OS-specific fork/execJosh Rickmar2012-06-281-3/+0
| | | | | or spawning functions. Remove the SIGCHLD handling as that is no longer required to stop zombie processes.
* Change user_agent to rotate on a connection per tab (instead ofJosh Rickmar2012-06-191-7/+20
| | | | | globally for all connections), and implement http_accept which acts the same way but sets the HTTP Accept header.
* add statusbar_styleMichal Mazurek2012-06-161-0/+6
|
* Remove the "Loading", "Downloading", and "Download Failed" tab titlesJosh Rickmar2012-06-151-0/+1
| | | | | | and rely on other already-implemented features for these notifications instead. This fixes a bug where Loading would remain in the tab title after requesting a download by following a link.
* Add an 'p' option to statusbar_elems to show if the http_proxy isJosh Rickmar2012-06-151-0/+2
| | | | currently enabled or disabled in the statusbar.
* Add a userstyle setting to change the default stylesheet that is usedJosh Rickmar2012-06-151-1/+3
| | | | | | | instead of the low-contrast one. Allow the userstyle and usersyle_global commands to take an optional argument to use a user-specified stylesheet instead of the default. Document in the manpage.
* add tab number statusbar element. for small displays that have the tab bar ↵Michal Mazurek2012-06-131-0/+1
| | | | disabled
* Implement a warn_cert_changes setting to warn users when the remoteJosh Rickmar2012-06-071-0/+27
| | | | | | | ssl certificate is different from a previously cached certificate to help prevent against MITM attacks. Prompt the user with an action to take (show remote cert, allow for that session, or cache the new remote cert).
* Some tweaks to xombrero's proxy support.vext012012-06-071-0/+1
| | | | | | | | | | | * Display a message when toggling proxy. * Add a 'http_proxy_disabled' config option allowing a proxy to be disabled at xombrero start. * Add a note in the manual that polipo works with xombrero aswell as tsocks. * In the config file, provide examples for polipo and tsocks running on localhost with default ports. OK marco
* Set default char * setting pointers to NULL and g_strdup the defaultJosh Rickmar2012-06-071-3/+3
| | | | | | | | | | | | | | | | | values from static memory, as they will be g_free()'d later if changed at runtime or from parsing the config. "Special" settings (struct special) do not need this as they use their own set functions. This also fixes a bad bug where default_script pointed to "" somewhere in static memory instead of an array of PATH_MAX size. This fixes a crash when compiled with clang where changing this setting would try to write a string possibly as large as PATH_MAX and overwrite other static data. Finally, make ssl_ca_file static to match all the other strings that represent files or directories. Make it a special setting so static memory is never freed. As an added bonus, ssl_ca_file is now tilde expanded.
* This fixes a bunch of things that probably should have gone in my lastJosh Rickmar2012-06-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | push. Make the set_ssl_ca_file pointer logic not suck. 'M' isn't a valid key modifier, use 'M1' in the manpage. Add a function to escape an html string and use this for displaying settings. Now things like <file> and <uri> are not interpreted as html tags. Kill a system() when running a custom uri script. Tildes are now also expanded instead of being interpreted by the no-longer-being-called system shell. Plug a leak Replace the system() call for external_editor with an execvp and while here, kill a dangerous sprintf. Remove an unused variable
* Replace the home directory in the about:about page with the path toJosh Rickmar2012-06-011-2/+4
| | | | | the config file, and make the last part of the path an link to spawn external_editor to edit the configuration.
* Fix some random stuff the rebasing lost. At least the build stillJosh Rickmar2012-06-011-0/+1
| | | | | works, will have to check later to make sure all the other features got in.
* Make all runtime settings unsettable by using the ':set setting ='Josh Rickmar2012-06-011-1/+52
| | | | command. This will reset the value to its default.