-- Leo's gemini proxy
-- Connecting to gemini.ctrl-c.club:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
___ _ ___
/ _ \ _ _| |_ ___| _ )_ _ _____ __ _____ ___ _ _
| (_) | || | _/ -_) _ \ '_/ _ \ V V (_-</ -_) '_|
\__\_\\_,_|\__\___|___/_| \___/\_/\_//__/\___|_|
A few days ago, I made the decision to switch my web browser, and for reasons still unclear to me, I concluded that Librewolf, my beloved browser, was consuming too many resources for my liking. While exploring alternatives, I recalled a small project that had caught my attention but seemed immature at the time – qutebrowser. I had never paid much attention to it before, but that afternoon, I decided to give it a try. To my amazement, it turned out to be a lightweight, user-friendly browser that incorporated all the keybindings of Vim. In a word, it was relaxing. Today, I want to describe the step-by-step process of configuring it on my Debian system.
First, I quickly checked for qutebrowser availability:
sudo apt search qutebrowser
Then, I proceeded with the installation:
sudo apt install qutebrowser-qtwebengine qutebrowser-qtwebkit qutebrowser qtwebkit-plugins qtwebkit -y
After installation, I set qutebrowser as my default browser in my Sway configuration file:
set $browser=qutebrowser
Next, I attempted to read the qutebrowser configuration file, but to my surprise, it was empty:
less /home/jolek78/.config/qutebrowser/autoconfig.yml
Empy autoconfig, no config. I learned that if a config.py file existed, it would be ignored unless explicitly loaded using config.load_autoconfig(). It's important not to edit this file manually, as qutebrowser will overwrite it. Instead, I needed to create a config.py. Could there be an example config.py in the package? I searched for the directory:
sudo find / -d -iname qutebrowser 2>/dev/null
Then, I looked for specific files:
sudo find / -name "config.py" 2>/dev/null | grep qutebrowser
Unfortunately, these files weren't very helpful. So, I opened a tab to
:open qute://help/configuring.html
and, with patience, I got to work. I explored GitHub in search of examples and crafted my configuration:
nvim ~/.config/qutebrowser/config.py
config.load_autoconfig()
c.tabs.show = 'always'
config.set("colors.webpage.darkmode.enabled", True)
c.downloads.location.directory = '~/Downloads'
c.downloads.location.prompt = False
c.downloads.location.remember = False
c.url.start_pages = 'https://searx.envs.net/'
c.url.searchengines = 'https://searx.envs.net/? ♪
c.aliases = 'quit', 'w': 'session-save', 'wq': 'quit --save'
It's a basic configuration, but it suits my current needs. I quickly noticed that the adblock feature wasn't working properly, so I turned to GitHub to find python-adblock:
git clone https://github.com/ArniDagur/python-adblock.git
cd python-adblock/
pip install .
I launched qutebrowser again using my keybinding:
bindsym $mod+Shift+f exec $browser
Then, I executed an adblock update:
:adblock-update
And everything worked perfectly, meeting all my requirements.
I had accumulated a multitude of bookmarks, many of which were useless and repetitive, in my previous browser, Librewolf. It was time for some spring cleaning:
grep -o 'HREF='[^]'' bookmarks.html | awk -F'' '{print $2'' > urls
nvim urls
After editing the file, I exported it to the qutebrowser bookmark file:
cat urls >> ~/.config/qutebrowser/bookmarks/urls
You know what? Qutebrowser is simply perfect for me.
-- Response ended
-- Page fetched on Sun May 19 00:52:32 2024