qutebrowser profile manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

revise readme a bit

+30 -17
+30 -17
README.md
··· 1 - # `qpm`, a Qutebrowser Profile Manager 1 + # `qpm`: Qutebrowser Profile Manager 2 2 3 3 [![builds.sr.ht status](https://builds.sr.ht/~pvsr/qpm.svg)](https://builds.sr.ht/~pvsr/qpm?) 4 4 5 - [Qutebrowser](https://github.com/qutebrowser/qutebrowser) is the best web 6 - browser out there, but it doesn't handle huge numbers of open tabs very well 7 - when it comes to memory usage and UI. I even found myself restarting qutebrowser 8 - in order to free up memory pretty often. This is a tool I wrote to make it 9 - easier to split my many, many open tabs between separate qutebrowser instances, 10 - all sharing the same config file. 5 + [Qutebrowser](https://github.com/qutebrowser/qutebrowser) is by farthe best web 6 + browser available, but if you're the type of person who accumulates a huge 7 + number of open tabs, you'll quickly notice two deficiencies: the tab bar becomes 8 + a lot less useful once it starts to overflow horizontally, and memory usage gets 9 + a bit out of control if you leave the browser open 24/7; I even find myself 10 + restarting qutebrowser to free up memory from time to time on machines with less 11 + RAM. Unfortunately I've also noticed poor performance with multiple windows 12 + open<sup>[1](#footnote1)</sup>, which is annoying on its own and also means I 13 + can't split my tabs between multiple windows to improve the tab bar experience. 14 + So, inspired by qutebrowser's idea of sessions and Firefox's profile manager, I 15 + wrote `qpm` in order to better organize my mess of tabs by dividing them between 16 + separate qutebrowser instances, all sharing the same config file. 11 17 12 - ## Disclaimer 13 - This is alpha-quality software with no test suite and minimal manual testing. 14 - Even though it doesn't do anything too dangerous to the filesystem, there is 15 - always the risk that it will delete or mangle your data. 18 + <a name="footnote1">1</a>: For the record, based on other issues in the past I 19 + suspect this is a rendering bug in QtWebEngine, not qutebrowser itself. 16 20 17 21 ## Examples 18 22 ··· 25 29 the active window, then run: `qpm from-session profile-name` 26 30 27 31 I find it helpful to have a dedicated profile for each of my programming 28 - projects, so I keep a profile in the project dir, using 32 + projects, so I keep a profile in the project dir, using: 29 33 `qpm -P ~/dev/qpm new profile` and `qpm -P ~/dev/qpm launch profile` 30 34 35 + Arguments that `qpm` doesn't recognize will be passed to qutebrowser, so you can 36 + do stuff like: 37 + `qpm launch python docs.python.org --target window --loglevel info` 38 + 39 + ## Disclaimer 40 + This is alpha-quality software. Even though it doesn't do anything particularly 41 + dangerous to the filesystem, there is always the risk that it will mangle your 42 + data. 43 + 31 44 ## Future work 32 - - Config file for default profile directory and more 33 45 - More shared config and data (configurable) 34 46 - Generated binaries and `.desktop` files 35 47 - The ability to delete profiles (need tests first!) ··· 38 50 - Source `autoconfig.yml` instead of `config.py` 39 51 - Customizable config sourcing for those who like to split their config into 40 52 multiple files 53 + - Bundled config file optimized for single-site browsing 54 + - `qpm.conf` to configure the features above 41 55 42 56 ## Known limitations 43 57 - If your config relies on `config.configdir` to dynamically source other config 44 - files (I may be the only person who does this), `qpm`-created profiles may not 45 - result in exactly the same configuration as your main profile. There are 46 - plenty of workarounds, such as hardcoding your main config dir instead of 47 - using `config.configdir`. 58 + files (I may be the only person who does this), those config files will not be 59 + present in `qpm`-created profiles There are plenty of workarounds, such as 60 + hardcoding your main config dir instead of using `config.configdir`.