summaryrefslogtreecommitdiff
path: root/browser.c
AgeCommit message (Collapse)Author
2018-02-21Connect to button release events instead of button pressPeter Hofmann
By default, WebKit only responds to release events. The old code listened for press events. That's probably not the right way to do things. We should properly "override" the release events. Closes #56.
2018-01-13Remove "whacky" commentPeter Hofmann
I was probably thinking about multibyte encodings when I left that note, but we explicitly check whether the first two bytes are ':' and '/', so it's fine to skip them.
2018-01-13Remove irrelevant parameter namePeter Hofmann
2018-01-13Use full signature for external_handler_runPeter Hofmann
Yes, this needs the two void casts to make the compiler not complain about unused parameters, but I think "explicit is better than implicit" here. And none of the other callbacks use this trick.
2018-01-11No longer use GtkAction when constructing the context menuPeter Hofmann
Thanks to @jun7 for helping me out! Closes #54.
2017-10-24Support WebKit "enable-write-console-messages-to-stdout" via env-variable.Frank Vennemeyer
2017-05-26Add missing call to g_uri_escape_string()Peter Hofmann
Closes #47.
2017-04-27Code style nitpickingPeter Hofmann
2017-04-26Hide progress bar once the webpage has finished loadingCamille Scholtz
2017-04-21Add option to enable WebGLPeter Hofmann
CC #36.
2017-04-08Minor nitpickingPeter Hofmann
2017-04-08Refuse to quit if there are active downloadsPeter Hofmann
CC #35.
2017-03-25Remove autoreloading of crashed windowsPeter Hofmann
CC #32.
2017-03-11Call ensure_uri_scheme() before sending message to socketPeter Hofmann
The main process and the process that sends the message might have different working directories. As a result, the main process might not be able to detect "foo.html" as a file when called as "lariza foo.html".
2017-02-04Optionally write each URI to $LARIZA_HISTORY_FILEPeter Hofmann
2017-01-29Remove GtkLevelBar, use bar included in GtkEntryPeter Hofmann
I was still seeing this warning whenever the GtkLevelBar was set to a value of 0: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node block, owner GtkLevelBar) This happens even in a minimal test program: #include <gtk/gtk.h> int main(int argc, char **argv) { GtkWidget *win, *progress; gtk_init(&argc, &argv); win = gtk_window_new(GTK_WINDOW_TOPLEVEL); progress = gtk_level_bar_new(); gtk_level_bar_set_value(GTK_LEVEL_BAR(progress), 0); gtk_container_add(GTK_CONTAINER(win), progress); gtk_widget_show_all(win); gtk_main(); } It would appear that it's illegal to call gtk_level_bar_set_value() with a value of 0. Or, and that's just as likely, I don't understand how a GtkLevelBar is supposed to work. You don't even have to call gtk_level_bar_set_value() at all, since 0 is the default value of such a bar. All of this doesn't really matter, though, since GtkEntry has a built-in progress bar that we can use. CC #20.
2017-01-29Switch to multi-process modelPeter Hofmann
I think this is a good thing to do in any case. One crashed tab/window should no longer be able to crash all other tabs as well. CC #28: This change also appears to be a workaround for scenario number two (`Alt+e` can crash WebKit/lariza).
2017-01-29Deduplicate shared code in key handlersPeter Hofmann
2017-01-29Wait for "ready-to-show" signal after a "create" signalPeter Hofmann
CC #28.
2017-01-28s/malloc/callocPeter Hofmann
2017-01-27Automatically add "file://" prefix for local filesPeter Hofmann
Closes #27.
2017-01-27Change search prefix to ":/"Peter Hofmann
I want to change ensure_uri_scheme() so it automatically adds "file://" if we're dealing with a valid local file path. However, this clashes with "/" as a search prefix. CC #27.
2017-01-27Add launching of an external script for selected URLsPeter Hofmann
2016-12-14Clip return value of webkit_download_get_estimated_progress() to [0, 1]Peter Hofmann
Closes #23.
2016-11-16Remove call to gtk_window_set_wmclass()Peter Hofmann
2016-07-30Look for web extensions in ~/.config/lariza/web_extensionsPeter Hofmann
~/.local/share isn't really an appropriate place because it's meant to contain "data", possibly written by the application. Usually, lariza's web extensions (.so files) are not placed in your home directory anyway. Instead, they are installed somewhere in /usr. The home directory only contains symlinks. So, in a way, those symlinks can be considered "configuration items". Hence, ~/.config is where they should live.
2016-06-14Remove size request for the progress barPeter Hofmann
I'm not comfortable with having pixel values in here. The 100px were mostly personal taste. HiDPI screens might not be happy with 100px anyway.
2016-06-14Get rid of Gtk warningPeter Hofmann
Fixes this: (lariza:675): Gtk-WARNING **: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node block, owner GtkLevelBar) Funny enough, even without calling gtk_level_bar_set_value(), I get this warning. Almost feels like a Gtk bug? Closes #20.
2016-03-19Add new control binding for history browsing - Fix #16Étienne Deparis
Edited to retain Mod1+* and just add F2/F3.
2016-01-04Don't set empty string as window titlePeter Hofmann
2015-12-06"Keypad enter" now registers as "commit"Peter Hofmann
Closes #14.
2015-12-06Strip G_DIR_SEPARATOR from local file namesPeter Hofmann
Closes #15.
2015-11-28Remove $LARIZA_WEB_EXTENSIONS_DIRPeter Hofmann
For the sake of consistency. There is no reason why this particular directory can be configured at runtime.
2015-08-29RetabPeter Hofmann
For years, I've been using a tab size of 4. This, however, conflicts with the idea of limiting the line length: You can only limit the line length in a meaningful way if you're using the default tab size of 8. But 8 is a huge waste of space... So let's just do this. Retab to 4 spaces and limit the line length to about 80 characters.
2015-08-29No need for a GtkScrolledWindowPeter Hofmann
2015-08-29GtkBox: Don't manually specify a paddingPeter Hofmann
This might look good on my display, but on a display with a different DPI value, it's probably garbage. Specifying space in pixels is meaningless today. Yes, this applies to the level bar and the window size as well. I have not yet found a better way to control those, though.
2015-05-02Bring back gtk_window_set_default_size()Peter Hofmann
I always use a tiling WM, so I never noticed that, when lariza is floating, the window is unusably tiny and you always have to resize it first.
2015-05-02Fix "-C": Don't listen on FIFOPeter Hofmann
"-C" was kind of broken. It only prevented lariza from writing to the FIFO which "worked fine" as long as you only had one "-C" instance running.
2015-01-19Change default download directory to /var/tmpPeter Hofmann
Why? See #13. This commit closes #13.
2015-01-05Kick usage() since it's only used in one placePeter Hofmann
2015-01-05Implement a simple certificate trust storePeter Hofmann
The WebKit1 version of lariza simply ignored certificate errors. I could have turned off validation in WebKit2 as well, but I wanted to try to do it right. :-) Closes #12.
2015-01-01Automatically recover from WebKit crashesPeter Hofmann
2014-12-14Show the download manager when a download startsPeter Hofmann
This is kind of a quickfix as well (related to #10). I'll have to use this for a while to see if I'm happy with it.
2014-12-14Quickfix for crashes when downloads startPeter Hofmann
Every new window added download_handle_start() as a signal handler to the global WebKitWebContext. This is wrong anway, because the signal handler sets the destination path; this should not be done multiple times. The actual crash happened when a window was closed and *then* a download started. The window's signal handler still existed with a pointer to the window's "struct Client". This struct, however, is now free'd and invalid. Hence the crash. To get rid of the crashes, only add the signal handler once. Sad thing is, this makes the "status" level bar useless: It would only work for the very first window ever created -- if it still existed. If that window has been closed as well, we would still crash. Thus, remove "status" completely. We'll have to find a new way to announce the start of a download. Closes #10.
2014-11-30Tell WebKit where to look for web extensionsPeter Hofmann
2014-11-09Improve mouse wheel zoom and update READMEPeter Hofmann
2014-11-09Fix interactive mouse wheel zoom (GTK+ 3)Peter Hofmann
2014-11-09Remove remaining stuff about "view source mode"Peter Hofmann
2014-11-09Fix deprecation warning about gtk_scrolled_window_add_with_viewport()Peter Hofmann
2014-11-09Fix deprecation warning about stock IDsPeter Hofmann