browsers

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2026 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Flatpak = "flat"
	Snap    = "snap"
)

Variables

View Source
var DefinedBrowsers = []BrowserDef{
	{
		"brave",
		1,
		"~/.config/BraveSoftware/Brave-Browser",
		"~/snap/brave/current/.config/BraveSoftware/Brave-Browser",
		"~/.var/app/com.brave.Browser/config/BraveSoftware/Brave-Browser",
	},
	{
		"chrome",
		1,
		"~/.config/google-chrome",
		"",
		"~/.var/app/com.google.Chrome/config/google-chrome",
	},
	{
		"chromium",
		1,
		"~/.config/chromium",
		"~/snap/chromium/common/chromium/",
		"~/.var/app/org.chromium.Chromium/config/chromium",
	},
	{
		"basilisk",
		0,
		"~/.basilisk",
		"",
		"",
	},
	{
		"firefox",
		0,
		"~/.mozilla/firefox",
		"~/snap/firefox/common/.mozilla/firefox",
		"~/.var/app/org.mozilla.firefox/.mozilla/firefox",
	},
	{
		"icecat",
		0,
		"~/.mozilla/icecat",
		"",
		"",
	},
	{
		"librewolf",
		0,
		"~/.librewolf",
		"",
		"~/.var/app/io.gitlab.librewolf-community/.librewolf",
	},
	{
		"palemoon",
		0,
		"~/.palemoon",
		"",
		"",
	},
	{
		"waterfox",
		0,
		"~/.waterfox",
		"",
		"~/.var/app/net.waterfox.waterfox/.waterfox",
	},
	{
		"zen",
		0,
		"~/.zen",
		"",
		"~/.var/app/app.zen_browser.zen/.zen",
	},
	{
		"qutebrowser",
		2,
		"~/.config/qutebrowser",
		"",
		"",
	},
}

Functions

func AddBrowserDef

func AddBrowserDef(b BrowserDef)

func Defined

func Defined(family BrowserFamily) map[string]BrowserDef

Types

type BrowserConfig added in v1.4.0

type BrowserConfig struct {

	// Chrome based browsers
	Chrome map[flavour]Platforms `yaml:"chrome"`

	// Mozilla based browsers
	Mozilla map[flavour]Platforms `yaml:"mozilla"`

	// Custom BrowserDef
	Other map[BrowserFamily]CustomBrowser `yaml:"other"`
}

top-level browser config struct for YAML parsing

type BrowserDef

type BrowserDef struct {
	Flavour string // also acts as canonical name

	Family BrowserFamily // browser family

	// Base browser directory path
	BaseDir string

	// (linux only) path to snap package base dir
	SnapDir string

	// (linux only) path to flatpak package base dir
	FlatpakDir string
}

func ChromeBrowser

func ChromeBrowser(flavour, base, snap, flat string) BrowserDef

func MozBrowser

func MozBrowser(flavour, base, snap, flat string) BrowserDef

func (BrowserDef) Detect

func (b BrowserDef) Detect() bool

func (BrowserDef) ExpandBaseDir

func (b BrowserDef) ExpandBaseDir() (string, error)

Expands to the full path of base directory If browser installed as snap or flatpak, expand to respective base dir

func (BrowserDef) GetBaseDir added in v1.4.0

func (b BrowserDef) GetBaseDir() string

base directory without normalization

type BrowserFamily

type BrowserFamily uint
const (
	Mozilla BrowserFamily = iota
	ChromeBased
	Qutebrowser
)

func (*BrowserFamily) UnmarshalYAML added in v1.4.0

func (f *BrowserFamily) UnmarshalYAML(value *yaml.Node) error

type CustomBrowser added in v1.4.0

type CustomBrowser map[flavour]Platforms

type PlatformConfig added in v1.4.0

type PlatformConfig struct {
	BaseDir string `yaml:"base_dir"`
	Snap    string `yaml:"snap"`
	Flatpak string `yaml:"flat"` // note: changed from flat to flatpak for clarity
}

Platform config data structure for generation process

type Platforms added in v1.4.0

type Platforms map[platform]PlatformConfig

Directories

Path Synopsis
Package mozilla provides functionality for managing Mozilla-based browser profiles, such as Firefox and LibreWolf.
Package mozilla provides functionality for managing Mozilla-based browser profiles, such as Firefox and LibreWolf.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL