Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Luakit – fast, extensible, and customizable web browser (luakit.github.io)
206 points by lelf on May 4, 2019 | hide | past | favorite | 59 comments


Another alternative that I use as a daily browser is qutebrowser. Basically the same idea, but with Python instead. Also comes with nice vim-bindings for navigation: https://qutebrowser.org/


Qutebrowser is nice, but it uses the same webengine (QtWebengine) that chrome uses. This is a concern for some


I don't have chrome, but I have chromium, and I don't see its package depend on the qt5-webengine package that qutebrowser depends on. Doesn't chrome/chromium use their own web engine called Blink[1]?

[1] https://en.wikipedia.org/wiki/Blink_(browser_engine)


I think their comment was either confusing or they misconstrued something. QtWebEngine uses code from Chromium [1], not the other way around.

[1]: https://wiki.qt.io/QtWebEngine


>This is a concern for some

I don't think so. Why would it be a concern? It's not like the web rendering engine will "phone home" under your nose or something...


I don't use any of these alternative browsers because I don't want to increase the Blink/Webkit marketshare even further.


This ^


Concern in the sense that some people don't want to be using the same kit as other browsers do. (E.g. this guy https://reddit.com/r/qutebrowser/comments/a4uk9r/use_of_webk...)


I used it for a while. It's fantastic browser. Unfortunately modern web is so broken that using browser without real adblocker (uBlock) is basically impossible so I had to switch to Firefox.


no perf issues ? laggy UX or else ?


Fastest browser I've used so far (Went from IE > Firefox > Chrome > Firefox). No problems with UX either, I'm using the vertical tabs, the rest of the browser barely have any UX except for keyboard shortcuts and commands.


These browsers are plenty fast since they are mostly just using lua/python for the UI and webkit/chromium for the browser component. The things that keep me coming back to luakit and qutebrowser are:

1. Way better vim binding support. Especially that the vim mode doesn't break when the extensions aren't loaded (ie a page fails to load or dev tools are focused or on settings pages)

2. Way more scriptable and customizable.(luakit is much more mature in this regard)


> Way more scriptable and customizable

Love to hear more about exactly what is more scriptable and customizable.

The user scripts (not to be confused with Greasemonkey-like userscripts) gives me all the scriptability I need. What could more could I do with luakit?


A quick glance at the luakit and qutebowser documentation should give an idea. The difference can be summed up by pointing out that the python and lua code you write for these browsers is trusted and can even modify the UI of the browser. For example in luakit you can add new “chrome pages” so if you don’t like the bookmark manager for example you could write your own.

User scripts only run when a page is loaded afaik.


I was thinking about specifically the different of luakit and qutebrowser, not luakit/qutebrowser and other browsers. As mentioned above, I already use qutebrowser daily.

User scripts (again, in the qutebrowser sense, not greasemonkey as it seems you're thinking about) is launched when the user wants them to launch. See more details here: https://qutebrowser.org/doc/userscripts.html


gonna give it a go

ps: first start feels great


Quite the opposite, that's the reason I used qutebrowser.

Plus it was really easy to write simple quick scripts for it without the overhead of web extensions.

The main reason to use it is the Vim support is rock solid, instead of a hack on top of existing behaviour.


The new website looks great! And it seems new maintainers have stepped up. Is Luakit on an upswing?

This project could have immense value to the web. Having multiple language communities working on the same types of problems, and in cross-cultural collaboration, gives the best approach, ie with [Model-driven engineering] ([example below]).

I have reviewed Luakit's codebase, trying to figure out the extent of its DOM scripting capabilities (notes elsewhere atm). If anyone else is interested in this, pls message me on Discord, @naturallymitchell via [The Programmers Hangout] or [Luvit].

A good example issue for DOM scripting would be something like [scrolling screenshots],

https://github.com/luakit/luakit/issues/763

https://en.wikipedia.org/wiki/Model-driven_architecture

http://luvit.io/

https://discord.gg/BQN6BYE


Sometime back I was looking for alternative browsers and came across your comment (dated 2015)[0]:

> The code itself works very well. Mason, founder of Luakit and most generous contributor, got hit by a bus so new maintainership roles have yet to get filled by existing and new users and developers. All current development takes place outside of "central" repo, and it needs organizing and compiling. Once this takes place, development and merge requests can continue full course.

I actually saved the comment as a placeholder in ZIM[1] - in a section where I keep programs to try in the future. You seem to keep up with the project pretty well and it also looks like the project itself has been moving forward. Going to give it a try this time ("This project could have immense value to the web." - I agree).

[0] https://news.ycombinator.com/item?id=10418268

[1] https://zim-wiki.org/


In my opinion what both luakit and qutebrowser need to grow or at least stay somewhat healthy is to get way easier to install the latest version. Qutebrowser the author is planning on getting pyinstaller working. For luakit I tried to get flatpak working but had issues with a dependency lfs. I'm hoping they can remove it since it's barely used at all and then the flatpak will just be ready.


I wish that there was a way for Luakit / Qutebrowser to support extensions from the major browsers.

Every time I use one I love it initially but then find myself desperately wishing for uBlock Origin and my password manager extension.


Well qutebrowser already has a built in host-based adblocker. There are also a number of password manager scripts available.


I really liked Luakit, but one problem I was having was with videos not loading I believe. I could have hacked it up with an external player I believe, but I couldn't get it to work. Has this been sorted?

Big fan of the project though, can't say that enough. It was a nice, lite and zippy browser with nice key bindings + Lua scripting. A lot to like about it, just hope some of the issues get resolved.


Try looking at the settings page to see if it could be disabled. There are settings relating to video playback and hardware acceleration. There was a bug in hardware acceleration that caused the browse to use a lot of cpu, maybe it has been fixed at this point.


I really liked using this web browser. I like qutebrowser too but luakit has some things it doesn’t have. One was making your own luakit:// pages.

I tried to get a flatpak working for it but was unable to get one of the dependencies luafilesysyem to work. I think the author was going to remove it so once that’s done installing the latest version should get much easier.


> One was making your own luakit:// pages would you min expanding or leaving a link on that


How does it compare with uzbl? (https://www.uzbl.org/)


I quite liked uzbl when it was being more actively developed, seemed like a very promising project. Unfortunately development stalled some time ago and it doesn't seem like it's going to start again any time soon. So I migrated to luakit. Luakit and uzbl are pretty much on par with each other feature wise and both are pretty scriptable.


uzbl seems to be more dead.


I wish the latest release wasn't from two years ago. And that it wasn't based on webkit.


Are there other embedable, modern, multi-platform and open-source browser engines besides webkit?

I'm looking forward to the day when we will be able to use servo instead, but we're not there yet.


Looks like the latest release was Nov 2018.


Then it's misleading that the site prominently says "Latest release — Luakit 2017-08-10"


Can this do basic functions such as play a video, post a form or run advanced JavaScript? If it can’t then it is broken today’s web technologies are just too advanced for some of these small browsers


The page says the latest release was 2017-08, that seems tremendously outdated. Am I missing something? Is it updating in the background?


Page is indeed outdated. Check the project GitHub repo, last release (e.g. git tag) was on Nov 2018, version 2.1.

Since then just the “develop” branch has received new code, but GitHub Insights shows stable activity on the last month.

I’m not involved in the project, they’re probably low on contributors and taking things slow. The documentation does point to compiling from code, so you should be good by using the develop branch and even bumping some dependencies if concerned with security issues and etc


Anyone know of something like this but with web technologies rather than a different stack? Vivaldi is the closest I can think of and while it is built with a similar concept it's structured in a way that makes it near impossible for you to modify substantially as a user (and you have to reapply your edits after every update).


There are electron browsers like beaker browser. Not really customizable or scriptable though


What are you looking to do that can't be done with local chrome/firefox extensions?


E.g. in Vivaldi I blend the URL bar into the top-of-window space where tabs are.

Also while there are many things web extensions can do in page their interactions with the browser as a whole or OS are extremely limited. This is good for security, bad for customization. Even in cases where web extensions are appropriate it can make implementation much more difficult (again, good for general user security, bad for running your own code).


Muon, but it’s abandoned now


Could someone who uses it say what this is really for? What can one do with it?

For instance: does it make automating interactions with web sites easier than using other tools?


Instructions for Arch Linux are broken.


Some dependencies have the package "luarocks-5.1" as a build dependency, and that package has been removed. Apparently, it's been replaced by "luarocks", so you can install in Archlinux by fixing these dependencies (tested on my own system):

  set -e # halts if there's an error in the following
  # move to a directory for building modified dependencies
  mkdir -p build
  cd build
  for aurpkg in lua51-{say,luacheck,luassert}; do
    # downloads the aur-package building script and files
    cower -d "$aurpkg"
    (
      cd "$aurpkg"
      # replace dependency
      sed -ri 's/luarocks-?5\.1/luarocks/' PKGBUILD
      # install dependencies, build package, and install
      makepkg -si
    )
  done
  # install luakit-git from aur
  pacaur -y luakit-git
Of course, these things being in the AUR, it's preferable if one gives the PKGBUILDs a read before deciding to build and install each of them, but if you've judged it's OK, you can just run the above.

If luakit is really on an upswing, maybe the package will be moved back to one of the official repos.


What can you do with this that you can't do with chrome/firefox extensions?


Keep using it after the signing certificate expires.

(Sorry, could not resist...)


One thing I love about luakit is the window is rendered no-frills -- just the content. I use openbox with undecorated windows, and luakit is the only web browser that lets me just have a rectangular space in my display containing web content, resizable and scalable to any dimensions I want. The vim-like interface for me is just a bonus.


You can extend it using lua.


If Firefox is generalized to be extended with wasm - which could run a lua VM - what would be the benefit of a single language specific browser?


The lua api in luakit (https://luakit.github.io/docs/) is trusted, meaning it has similar capabilities to pre-57 Firefox, as opposed to webextensions (in modern FF and Chrome), which are treated as untrusted and thus are somewhat more limited in what they can do.


Make and distribute an installable app. This project is to Lua what Electron is to Javascript.


Silly observation: The logo shows the Earth visible through a crescent moon. In reality the moon is always round, it's never transparent. :)


Well, maybe the Earth is just smiling. Maybe, it's laying down and having a nice dream. :)


Annoyed observation: the moon is slightly off-centre. The curve of the moon's left side and the inside curve of the Earth match, but it looks displeasingly off.


Maybe it's something at the interface between the lower and upper mantle ;)


the moon changes shape, you can see with your own eyes. you're probably a round earther :D


Is Luakit a web browser or a web view component?


Read the very first paragraph of the page linked above.


Not helpful. The reason why I asked this was that the page claimed that Luakit was a web browser but then immediately started talking about it being a “web browser framework”, and the screenshots showed nothing except for what looked like a web view (there’s no browser chrome, for instance).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: