News

luakit release 2011.07.22 (10 comments)

Added by Mason Larobina 7 months ago

Summary of changes in 2011.07.22:

  • Force webview.uri to return "about:blank" if uri property NULL or an empty string.
  • Store private webview instance data in a private struct again.
  • Add luaH_checkwebview function to check for webview widget type.
  • Add luaH_checkwvdata macro to check for webview widget and return the widgets private data struct.
  • Check callback type in luaH_webview_register_function.
  • Bugfix: Don't perform bitwise operations on the WEBVIEW_LOAD_* enums.
  • Prevent stack leaks in create_web_view_cb by checking signal return type correctly.
  • Use hash table iterator to push webview frames table.
  • Add more doxygen comments.
  • Merge l_exec function into the luaH_luakit_exec function.
  • Bugfix: missing luaH_object_unref call in luaH_luakit_idle_remove.
  • Bugfix: don't use g_utf8_strlen to get the selection text length (was truncating selection text when it contained unicode characters).
  • Raise "property::position" when cursor moves in entry widget.
  • Add optional move_cursor hook to all modes.
  • Refactor of completion lib to allow history completion (and more in the future).
  • Bugfix: if gtk_main_level() == 0 then call exit directly.
  • Bugfix: missing return keyword causing module sigfuncs to not return any values.
  • Add more readline bindings to command mode (del-backward-char & del-forward-char).
  • Add libunique bindings which allow us to open links in running instances (as new tabs).
  • Add -U,--nounique launch options to prevent the libunique bindings being loaded (for a single instance session).
  • Add window:set_screen(GdkScreen) function to move luakit between screens. Used in conjunction with libunique to move luakit to the current screen when opening links in running instances.
  • Allow compiling luakit without libunique bindings with make WITH_UNIQUE=0.
  • key_press_cb not checking if user returned true/false to catch event.
  • Catch "scroll-event" signal to bind keys to mousewheel movements (mouse buttons 4 to 7).
  • Bugfix: fix typo causing segfault in luaH_widget_get_child.
  • Bugfix: remove sentinel row in widget constructor table (was causing segfaults if widget name doesn't exist).
  • Write a proper README file with full list of compile options & etc.
  • Bugfix: cookies not working on 32 bit systems due to incorrect string format option (%d -> %.0f).
  • Add [count]zz binding for normal absolute percent zoom and [count]zZ for full content absolute zoom. Default values are 100% so they can still be used to reset the zoom level.
  • Add window:maximize(), :unmaximise(), :fullscreen(), :unfullscreen() window methods.
  • Add window.decorated property for window managers with weird defaults (hides the resize triangle at the bottom right of the window).
  • Bugfix: download timer running endlessly after all downloads finished.
  • Make cookie module raise an "accept-cookie" signal to allow other libs to block cookies.
  • Add cookie_blocking lib which blocks cookies by domain according to the users $XDG_CONFIG_HOME/luakit/cookie.whitelist and cookie.blacklist files (supports glob patterns).
  • yt now yanks webview title not window title (window title gets truncated when too long).
  • Add Ctrl+MouseWheelUp/MouseWheelDown zoom bindings.
  • Add NoScript module which allows you to toggle blocking of scripts and or plugins on a per-domain basis with ,ts & ,tp. Use ,tr to remove rules for the current domain.
  • Bugfix: fixed typo preventing following from within frames.
  • Add Shift+MouseWheelUp/MouseWheelDown horizontal scrolling binds.
  • Add socket widget (wrapper around GtkSocket object) which allows embedding external applications which support the XEmbed protocol.
  • Bugfix: fixed typo causing luakit crash when opening a file.
  • Large refactor of follow module into separate files and in introduction of "following styles" which allow the user to have complete control over how the hint labels are generated.
  • Add :userscripts function to list all installed userscripts and :userscriptinstall to install a userscript if currently viewing a .user.js file.
  • Add F11 binding for fullscreen toggling.

More information can be found in the git commit logs.

You can browse the luakit-2011.07.22-r1 source code here:

https://github.com/mason-larobina/luakit/tree/2011.07.22-r1

Or download the luakit-2011.07.22-r1 source tarball from here:

https://github.com/mason-larobina/luakit/tarball/2011.07.22-r1

Special thanks to the following people for contributing to this release: Alexis Daboville, Chris van Dijk, Fabian Streitel, Peter Hofmann and Constantin Schomburg.

luakit release 2011.05.06-r1 (7 comments)

Added by Mason Larobina 10 months ago

Summary of changes in 2011.05.06:

  • Luakit builds on FreeBSD out of the box (removed install -D .. usage in the Makefile).
  • Begun documenting the C source code with doxygen. If you have doxygen & graphvis installed run `make doc` to build the documentation (html only by default). View the online version here.
  • Fix bug in cookie code (not setting session cookies correctly).
  • luakit.set_selection(..) syntax changed from set_selection(text [, selection]) to set_selection([selection,] text).
  • luakit.uri_encode(..) now takes a second argument of allowed characters to leave unescaped in the string to be encoded. See g_uri_escape_string.
  • Similarly the luakit.uri_decode(..) takes a second argument of illegal characters which should not appear in the unescaped string. If illegal characters are found the uri_decode function returns nil. See g_uri_unescape_string.
  • Refactor luakit.spawn(..) to not leak memory or leave items on the stack on error.
  • Verbose errors on cookie creation failure.
  • Fix build errors on Archlinux for people updating to libwebkit-1.4
  • Remove need for the callback_data struct in clib/sqlite3.c. Do the row counting in the main sqlite3_t struct.
  • If unable to determine uri domain name (in the case of non-http uris) use "all" so that domain properties continue to work (or rather reset).
  • s/luakit_t globalconf/globalconf_t globalconf/
  • Ignore keys for 250ms after a successful follow to prevent stray keys from activating other binds. The exact delay can be configured by placing follow.ignore_delay = 500 in your rc.lua where 500 is the new ignore delay in milliseconds. To disable all key ignoring set the delay to 0.
  • Another follow.lua refactor to use more standards compliant JavaScript code. Following was failing on sites which enforce non-quirks mode (I.e. http://rsget.pl/).

Summary of changes in 2011.05.06-r1:

  • Allow overriding of the MANPREFIX and DOCDIR Makefile variables from the shell while each maintains the correct DESTDIR install prefix (for packagers).
  • Fixed the right-click lock X input bug present in webkit-gtk >= 1.4 versions. We needed to connect to the "unrealize" GtkMenu signal and then destroy all context menu items we created before the menu items and sub-menus are un-realized.
  • Rename luaH_next to luaH_mtnext to prevent linker errors on some systems (luaH_next is a symbol in liblua.so).
  • Do not add history items when "enable-private-browsing" webview property set.
  • Need the --export-dynamic linker option on some systems otherwise luakit crashes with symbol reference errors when loading dynamically linked lua modules (I.e. lfs.so from luafilesystem).

More information can be found in the git commit logs.

You can browse the luakit-2011.05.06-r1 source code here:

https://github.com/mason-larobina/luakit/tree/2011.05.06-r1

Or download the luakit-2011.05.06 source tarball from here:

https://github.com/mason-larobina/luakit/tarball/2011.05.06-r1

Special thanks to the following people for contributing to this release: Fabian Streitel, Stefan Bolte and Thorsten Wissmann.

luakit release 2011.04.13 (19 comments)

Added by Mason Larobina 11 months ago

Summary of changes since 2011.04.04:

  • Use string.wlen function to check key length (now allows unicode characters in the command buffer)
  • lousy.signal.setup has a second argument for setting up signals on modules. Calling module functions like class methods is no longer required (I.e. module:add_signal becomes module.add_signal). All current usages updated.
  • Use LUA_CLASS_FUNCS(..) in luakit & soup clibs to create the luaH_{soup,luakit}_emit_signal, add_signal and remove_signal functions.
  • Add luakit.idle_add & luakit.idle_remove wrappers around glib g_idle_add and g_idle_remove_by_data functions. Useful for deferring function exection to after GUI updates and or other hi-priority events. For example: wrapping heavy functions in coroutines and yielding several times during their execution allows the GUI to update regularly and not lock up. See it in action here: lib/db_clean.lua
  • Fix serious memory leak in the luaH_cookiejar_add_cookies function whereby every cookie that is inserted into the LuakitCookieJar was duplicated unnecessarily and the original not freed.
  • Fix minor memory leak in luaH_label_newindex where pango font description structs weren't being freed with the pango_font_description_free function.
  • Show "Opening..." when attempting to open download at luakit://downloads
  • Fixed uninitialized GError pointer that caused segfalts when opening downloads.

Changes in 2011.04.13-r1:

  • LuaJIT still requires LC_NUMERIC=C to load luakit scripts in some locales.

More information can be found in the git commit logs.

You can browse the luakit-2011.04.13-r1 source code here:

https://github.com/mason-larobina/luakit/tree/2011.04.13-r1

Or download the luakit-2011.04.13-r1 source tarball from here:

https://github.com/mason-larobina/luakit/tarball/2011.04.13-r1

Special thanks to the following people for contributing to this (and namely the last) release: André Aparício, Chris van Dijk, Fabian Streitel, HarryD, Javier Rojas, Pete Elmore, Piotr Husiatyński, Stjujsckij Nickolaj and Vasuvi.

luakit release 2011.04.04 (24 comments)

Added by Mason Larobina 11 months ago

Summary of changes since 2010.12.25-r2:

  • All "chrome" pages now use the luakit:// scheme
  • Bookmarks now accessed via luakit://bookmarks
  • Moved bookmark binds into lib/bookmarks.lua
  • Pass WebKitHitTestResult to every webview button signal (to detect clicking on link, image, media, selection or editable elements (or a combination thereof))
  • Now possible to detect double clicking on GTK widgets or in the webview
  • The "form-active" & "root-active" signals are now raised in lua (previously the webview button callback functions)
  • Move all mouse binds to "all" mode
  • Ignore middle clicks in editable elements (thanks to the button signal context table)
  • Revert fancy domain/ip matching in search_open window method (doesn't play nice unicode characters). Now the function checks for a single argument with '.' or '/' characters (to detect a uri)
  • Add sqlite3 library which allows you to open, create and or query sqlite3 databases from lua
  • Save history with sqlite3 databases
  • View history via luakit://history (with search & pagination support)
  • Add helper method w:activate() which simulates an Enter press in the command input bar
  • Update domain property example for user stylesheets (needs a file:// for local resources)
  • Bug fixes in lib/follow.lua (non-visible labels in some locales and placing labels outside the viewport)
  • Add :bookmarks command to open luakit://bookmarks
  • Re-factored lib/follow.lua JavaScript code to make it easier to debug
  • Move the label making function outside of the JavaScript in lib/follow.lua so that users can write custom functions to modify the label order, sorting and or text
  • Add webview method to return a table of light userdata (pointers) to the currently visible frames in the webview (to allow us to execute JavaScript on any specific frame and allows reliable link hinting across frames)
  • Add 0 and $ vim-like scrolling binds
  • Fix Makefile partial building issue
  • Add optional proxy indicator widget to status bar (integrated with lib/proxy.lua)
  • Fixed webkit downloads to include referrer (and cookie headers) when making download request
  • Open link in new background tab when Control clicked
  • Parse luakit startup uris with search_open function (allows luakit "imdb Patrick Stewart")
  • Bugfix: found package module was left on lua stack after lua environment init
  • Indicate failed search with red input bar (changeable in users theme)
  • Stop timers when downloads not running
  • Merge speed_timer & status_timer in lib/downloads.lua
  • Fixed clearing of hints on navigate
  • Remove deprecated Lua 5.0 argument syntax in lousy.util.join
  • Add soup library which allows you to add cookies directly into the custom LuakitCookieJar and attach signals to update a cookie database when new cookies are added or deleted from the jar. The second aspect of the soup library is it's authentication signals and auth dialog
  • Modifications made to the formfiller script which allows saving/loading of http authentication credentials
  • Modified signal_object_emit function to allow signals to return values
  • Fixed bug in luaH_object_emit_signal which cause premature exiting of signal callback executing when nret was 0
  • Add search_open case for about:blank
  • Add lua mode (I.e. a cut down lua code prompt, so no multi-line input or result printing in the window yet)
  • Move common GObject property setting/getting code into common/property.c
  • The lib/cookies.lua library which saves all cookies in a sqlite3 database uses the mozilla cookies schema (if you so desire it you can use your firefox cookies in luakit or even share a cookies database between browsers)
  • Add :tabhistory menu to navigate (or open in new tabs/windows) the current tabs history
  • Add luakit.time() function to return nanosecond precision time (needed for cookie timestamps)
  • Move all libsoup properties in the webview properties table to a properties table in the soup library
  • Use pkg-config and conditional statements in the Makefile config to auto-detect the correct lua-5.1 spec-file name and check most dependencies are installed
  • Set correct file permissions on installed files (lua scripts don't need a +x)
  • Compile luakit with USE_LUAJIT=1 make option to use the Just-In-Time compiler for Lua. Increases performance on lua-bound operations by a large amount. See http://luajit.org and http://luajit.org/performance.html for more information about LuaJIT
  • Add lousy.util.table.values to clone a table with all values as array items
  • Load hosts from /etc/hosts for use by search_open
  • Check for file in filesystem in search_open
  • Add view:can_go_back() and view:can_go_forward() webview methods
  • Add a vimperator-like history position indicator in the statusbar
  • Add two lib/follow.lua label making options: reverse labels & sort labels (after reverse). In some cases reversed labels can equate to less key presses
  • Refactor clib/download.c to return meaningful download error messages
  • Add options to disable /etc/hosts loading or checking for filepaths in search_open
  • Make lousy.bind.match_* functions return false on no match
  • Make add_cmds(...) function a wrapper around add_binds("command", ...)
  • Ignore blank commands (not error)
  • Detect bangs in commands (I.e. :command! args) and set opts.bang to true when bang detected
  • Update binds to use bang syntax
  • w:close_win now emits "can-close" signal to check if it can close the last window (so far it will only prevent you from closing if downloads are running)
  • Make w.mode table immutable & get current mode name from w.mode.name
  • Add mode options "passthrough", "reset_on_focus" & "reset_on_navigation" which removes the need to check for mode options/features by mode name
  • Emit "root-active" signal on button release (fixes some bugs when clicking on links/buttons from insert mode and missing the button because the "-- INPUT --" prompt is hiding)
  • Possible fix for the opening two windows bug: forgot to return true in "new-window-decision" signal when opening new tab
  • Allow focus events to be caught
  • Use lua_toboolean to check signal return types (otherwise if a user returns a non-boolean type the lua error function will longjmp leaving the incorrect value on the stack)
  • Add lousy.uri module for parsing uris and converting uri query components into tables for easy getting/setting of "?a=b&c=d" options
  • Use cookie domain matching rules in domain props
  • Modify chrome rule patterns to match against host/path only (ignoring scheme as only luakit:// schemes will be checked)
  • Add lousy.util.table.copy which is similar to table.clone but it also copies the metatable (useful for cloning some class instances)
  • os.exists(path) returns path if found
  • Add luakit.dev_paths for use by lua scripts
  • Set window icon by default on all windows
  • Modify luakit.spawn to allow a callback function for when the process terminates (could be useful for external editing scripts)
  • Add missing luaH_object_gc calls in clib/download.c and clib/timer.c
  • Successfully made luakit more awesome

More information can be found in the git commit logs.

You can browse the luakit-2011.04.04 source code here:

https://github.com/mason-larobina/luakit/tree/2011.04.04

Or download the luakit-2011.04.04 source tarball from here:

https://github.com/mason-larobina/luakit/tarball/2011.04.04

Special thanks to the following people for contributing to this release: André Aparício, Chris van Dijk, Fabian Streitel, HarryD, Javier Rojas, Pete Elmore, Piotr Husiatyński, Stjujsckij Nickolaj and Vasuvi.

luakit release 2010.12.25 (16 comments)

Added by Mason Larobina about 1 year ago

Summary of changes since 2010.09.24:

  • Native WebKit downloads (saves session/cookie/auth problems).
  • Save file API (used by the downloads lib).
  • Move Lua API classes into classes/.
  • New timer class.
  • Added interactive download menu for active downloads.
  • Add chrome module which allows other libs to easily create chrome:// pages with the necessary API changes to allow that (I.e. setting the page content, forcing a uri and registering javascript callback functions to lua).
  • Add delete bookmark command.
  • Add --noblock luakit CLI option to launch & fork the process (useful when using luakit as a uri loader for applications without forking options).
  • Complete support for vimperator like quickmarks (including an interactive quickmarks menu to remove/edit/open/tabopen/winopen quickmarks).
  • Fix bug in lousy.util.string.strip.
  • Add <Control-i/o> backwards/forwards commands.
  • Refactor binding system to make it easier to recursively call the lousy.bind.hit function.
  • Add new type of binding lousy.bind.any which is always called (and is called before any other binds, useful for grammar bindings).
  • Update [count] grammar binding to support key bindings with modifiers and or non-character keys (I.e. [count]<Control+o> is now supported)
  • Add get_children method to the notebook gtk widget.
  • Add lousy.signal lib which adds luakit Lua signal API methods to tables/modules.
  • Add tablist widget and remove all tablist code from config/window.lua
  • Add window.xid property which returns the X window id for the gtk window widget.
  • Only follow selected links in normal mode.
  • Optionally reset the mode when calling w:notify or w:error.
  • Add interactive menu widget which looks similar to vertical-dmenu (as previously mentioned).
  • Add menu_binds table which contains simple movement binds for the menu widget.
  • Use vimperator regex for next/prev link matching.
  • Add num-to-string function which removes the need to force a C locale (regarding missing follow hints problems).
  • Add inc_uri function & <Control-a> / <Control-x> binds.
  • Only start auto-searching after the user has entered > 3 chars. Searches can still be run for terms <= 3 chars by pressing Return or using <Control-j/k>.
  • Let the undo_close_tab function take an index specifying which tab to restore. And update undo tab close bind to [index]u.
  • Add :undolist interactive menu for closed tabs.
  • Only reset mode in navigation if in insert or command mode.
  • Increase default scroll step.
  • Add double click signals to widgets.
  • Allow count argument to go_input function and update go input binding to [count]gi.
  • Add themes for tab label numbers indicating tab loading, trusted ssl, untrusted ssl, focused or unfocused.
  • Use 'smart' case searching for w:search().
  • Add return code to view:search() from the webkit_web_view_search_text C function to indicate if search wrapped or no results found.
  • Allow pango markup in tab labels.
  • Cache theme query results for increased performance.
  • Bug #36 make default window size available in Lua.
  • Add new quit commands :q! and :wq!. The old commands refuse to exit if downloads are running (only if you're using the downloads module).
  • Add <Control-Return> (follow selected uri in new tab) <Shift-Return> (open uri in new window) and <Alt-Return> (download uri) binds.
  • Fixed "DOM Exception 1" error in follow_selected when no selection.
  • Make follow_selected binds non-blocking (I.e. only catch if something is selected).
  • Proxy manager module added which also adds several proxy related commands.
  • Add more vim-like scroll related binds: ^, $ and [count]gg.
  • Added javascript userscript support.
  • Make command completion use the new menu widget (it works really well!).
  • Several proxy & link following related bugfixes.
  • Use G_OBJECT & G_CALLBACK macros universally in the C codebase.
  • Add :javascript & :lua commands.
  • Add :dump command to save the current html document to file.
  • Huge bind/script layout refactor.
  • Use menu widget to select formfiller profiles (if multiple for any given website).
  • Add vimperator passthrough mode.
  • Add luakit.uri_{encode,decode} function wrappers around glib string util functions.
  • Fixed bug where primary selection is cleared by w:set_input().
  • Add <Alt-Page_up> and <Alt-Page_down) binds to reorder tabs.
  • Add readline binds to both command and insert modes.
  • Add w:warning which looks similar to w:error but writes the message to stderr also.
  • Emit close signal on window close.
  • Add downloads statusbar widget to indicate the number of running downloads.
  • Several updates to the search_open function (including localhost uri matching and a better domain matching algorithm which should reduce the number of false positives).
  • Fix lua panic when trying to check config, forgot to init dirs before check.
  • Display "Yank: <text>" message on yank follow modes.
  • Make session.restore take an argument to delete the loaded session file.
  • Make bind type matching explicit not implicit.
  • Several commits to increase readability of lousy library and other config files.
  • Try to prevent flash from segfaulting luakit on tab close by disabling plugins before the webview widget is destroyed.

More information can be found in the git commit logs.

You can browse the luakit-2010.12.25-r2 source code here:

https://github.com/mason-larobina/luakit/tree/2010.12.25-r2

Or download the luakit-2010.12.25-r2 source tarball from here:

https://github.com/mason-larobina/luakit/tarball/2010.12.25-r2

Special thanks to the following people for contirbuting to this release: Chris van Dijk, Fabian Streitel, Gregor Uhlenheuer, Henrik Hallberg, Pawel Tomak, Paweł Zuzelski, Piotr Husiatyński, and HarryD.

luakit release 2010.09.24 (47 comments)

Added by Mason Larobina over 1 year ago

Summary of changes since 2010.08.30:

  • Add lib/go_input.lua (activated by gi).
  • Add lib/follow_selected.lua to follow the currently selected link (useful in conjunction with luakit's searching binds / & ?).
  • Add lib/go_next_prev.lua which follow "next" or "prev" links on a page (activated by ]] or [[).
  • Add lib/go_up.lua (activated by gu & gU).
  • Add <Control-j> & <Control-k> binds as aliases for select next/prev search result (useful in conjunction with follow selected script to focus the correct link before following).
  • Modify lousy.bind to prevent binds catching keys if the handlers return false.
  • Allow re-ordering of tabs with < & >.
  • Full support for most of vimperators extended following modes and others (F, ;;, ;F, ;y, ;Y, ;s, ;i, ;I, ;o, ;t, ;b, ;w, ;O, ;T & ;W)
  • Fix index/position returning/setting bugs in the entry widget.
  • Add webview:stop() method (and bound to <Control-c>).
  • Add [count] grammar for all binds in the normal mode.
  • Add [count] aware zooming, scrolling, new tab pasting, next/prev searching, history traversing, tab traversing, tab deletion, tab undo close, go home in new tab, open bookmarks in new tab and the F follow in new tab binds.
  • Support dumping and reloading webview history via tables which allows tab undo close support with the full tab history maintained.
  • Session saving support with the ZZ bind and :wq command.
  • Full config reloading support with auto session saving/restoration with the <Control-R> bind.
  • Add some type assertions to the bind functions in lousy.bind.
  • Open most new tabs in the background.
  • Add support for "this[syntax]" for :thissyntax commands with a :this alias.
  • Add traditional tab traversing & closing binds (<Control-Tab>, <Control-w>, etc).
  • Add search_open function which parses the uris for the :open, :tabopen & :winopen commands and detects search terms and or a specified search engine to search for those terms with.
  • Set locale to "C" to prevent locale related errors in building the theme table for the following lib.
  • Add w:error(msg) and w:notify(msg) functions for displaying messages to the user.
  • Add ability to scroll through the follow hints with <Tab> and <Shift-Tab> and use <Return> to follow the current follow hint.
  • Add handy w:set_input(text, ..) and w:set_prompt(text, ..) methods to control the entry widget & prompt.
  • Treat single "about:blank" tab as empty notebook in new tab and close tab functions.
  • Move all mode setup into config/mode.lua
  • Input bar search and command history now handled by config/mode.lua automatically.
  • Make entry widget position set/get a property.
  • Remove unused textbutton widget.
  • Use luaH_checkwidget function to check widget hasn't been destroyed and return widget_t userdata.
  • Ignore modifiers used in the NEO keyboard layout.
  • Fixed hints for frames to actually show up by placing them inside the frames themselves.
  • Add ability to evaluate js on the currently focused frame (instead of main frame).
  • Add webview:reload_bypass_cache() method.
  • Restore windows & window sessions on startup.
  • Update luakit vimfiles with diff function.
  • Removed gperf build dependency.
  • Add luakit option to check config file syntax & check config file syntax before restarting luakit.
  • Add AppleWebKit and Webkit-build specific version to user agent string.
  • Add <Mod1-[1-9]> tab switching binds.
  • Ellipsize long window title names.
  • Add more readline binds & vim scrolling binds.
  • Use javascripts encodeURIComponent func to escape search strings.
  • Rename stdout & stderr vars in luah.c to allow luakit to build in Cygwin.

More information can be found in the git commit logs.

You can browse the luakit-2010.09.24 source code here:

https://github.com/mason-larobina/luakit/tree/2010.09.24

Or download the luakit-2010.09.24 source tarball from here:

https://github.com/mason-larobina/luakit/tarball/2010.09.24

Special thanks to the following people for contributing to this release: Chris van Dijk, Fabian Streitel, Gregor Uhlenheuer, Kumar Appaiah, Matthew Wild, Michael Dietrich, Paweł Zuzelski and Vasuvi.

luakit release 2010.08.30 (12 comments)

Added by Mason Larobina over 1 year ago

Summary of changes from 2010.08.13 to 2010.08.30:

  • Removed libxdg-basedir dependency, using glibs g_get_user_{config,data,cache}_dir() functions instead.
  • Add DEVELOPMENT_PATHS flag to toggle the adding of relative locations to the lua package.path.
  • Set default download dir to $XDG_DOWNLOAD_DIR or $HOME/downloads.
  • Change into insert mode when clicking on an input element.
  • Remove callbacks on deprecated webview signals (E.g. "load-property-update", "load-status", "load-finished" & etc).
  • Use hash table lookup for webview widget properties.
  • Add webview widget :reload() method.
  • Renamed luakit.selection() to luakit.get_selection(..) and added new luakit.set_selection(..).
  • Add button release signals.
  • Add mouse bindings with lousy.bind.but({mods}, num, func).
  • Add luakit.get_special_dir(atom) wrapper around glibs g_get_user_special_dir(atom).
  • Use gobject "signal::notify" signal for "property::name" signals.
  • Enable middle-click closing of tabs.
  • Add luakit.spawn(cmd) and luakit.spawn_sync(cmd) functions.
  • Add scroll page function and vi-like page scrolling bindings.
  • Add webkit webview :get_view_source() & :set_view_source(..) methods.
  • Add formfiller.lua (ported from uzbl grodzik!). This version supports multiple-profiles and autosubmitting forms.
  • Add per-domain webview properties which are modified in globals.lua.
  • Add luakit.webkit_{major,minor,micro}_version properties.
  • Custom luakit useragent.
  • Handle webkit "create-web-view" signal which fixes "Open in new window" context menu item.
  • Make heavy use of luaL_argerror in widget functions.
  • Add zooming functions & binds.
  • Add "O" and "T" binds which do the exact same as "o" & "t" but provide the current uri as the uri argument.
  • Use portable sigaction instead of signal & add -std=gnu99 to the Makefile.
  • Add bookmarks lib which is able to generate html output.
  • Build api docs with the make apidoc make target using the luadoc command.
  • Split the large rc.lua into several smaller files: webview.lua, window.lua, binds.lua, globals.lua, modes.lua, theme.lua & rc.lua.
  • Created luakit vim syntax which highlights javascript between [=[ & ]=] regions, html between [==[ & ]==] regions and css between [===[ & ]===] regions.
  • Add window closing function & binds.
  • Add "resource-request-started" callback and lua signal for webview widgets.
  • Add "populate-popup" signal which can build a context menu from a returned table.
  • Add & install extras/luakit.desktop file and icon extras/luakit.png.
  • Add several more common widget box/container methods.
  • Add per-domain cookie acceptance policies.
  • Use help2man to build manpage for luakit.
  • Make --help and --version work without X.
  • Make all uris which point to relative paths absolute paths (allows loading of local resources like images).
  • Track current uri manually so that on error "T" & "O" binds allow you to edit the failed uri.
  • Add ssl trusted widget which reads "(trust)" on valid website certificate, "(notrust)" on invalid certificate & "(nocheck)" if no ca-file was used to check the connection.
  • Add simple key name mapping table (mainly for ISO_Left_Tab -> Tab).
  • All mode actions, webview signal handlers, window signal handlers, webview methods and window methods can be replaced with custom functions without editing window.lua, webview.lua or mode.lua. Simply make some changes in a mine.lua and add require "mine" to your rc.lua.
  • Add gtk label :set_width(chars) widget method which is used to make all tablabels the same width.
  • Several bug fixes.

Special thanks to the following people for contributing to this release: Alex Alexander, Clint Adams, Gregor Uhlenheuer, Fabian Streitel, Kumar Appaiah, Michael Dietrich, Pawel Tomak, Paweł Zuzelski, Richard Gay & Vasuvi.

luakit release 2010.08.13

Added by Mason Larobina over 1 year ago

Summary of changes from 2010.08.07 to 2010.08.13:

  • Add -v,--verbose option to toggle debugging output
  • Re-licensed MIT code to GPLv3
  • Add eval_js(..) webview widget method
  • Add eval_js_from_file(..) helper function to load and execute a script using the eval_js webview method
  • Add luakit.selection(name) which returns the contents of either the "primary", "secondary" or "clipboard" selection
  • Add xdg aware file finding functions to util.lua
  • Add :websearch [engine] [query] command
  • Add p bind which opens the primary selection in the current tab or P to open in a new tab
  • Add d to close current tab
  • Add o, t & ,g as shortcuts for :open, :tabopen & :websearch google
  • Add link hinting and following support
  • Add Shift+Insert key binding to paste current primary selection in the input bar
  • Add search history navigation
  • Add proxy support
  • Add ssl certificate validation options
  • Add command line completion for command mode
  • Add "link-hover" & "link-unhover" signal handlers to display and hide the hovered uri in the statusbar
  • Add file downloading support with wget
  • Add Control+w and Control-u readline bindings in the command mode
  • Use util.escape to sanitise label widgets text
  • Several bug fixes

Enjoy.

Also available in: Atom