Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ As fallback, the last part of the path is used, e.g. `theuser1` for `Internet/gi
- Vivaldi
- Iridium
- Slimjet
- Librewolf

### Windows

Expand Down
2 changes: 2 additions & 0 deletions internal/jsonapi/manifest/manifest.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ func renaderManifestContent(browser, wrapperPath string) ([]byte, error) {
switch browser {
case "firefox":
return newFirefoxManifest(wrapperPath).Format()
case "librewolf":
return newFirefoxManifest(wrapperPath).Format()
case "chrome":
fallthrough
case "brave":
Expand Down
2 changes: 1 addition & 1 deletion internal/jsonapi/manifest/manifest_path.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func (m manifestPath) Global(browser, libpath string) (string, error) {
return "", err
}

if browser == "firefox" && libpath != "" {
if (browser == "firefox" || browser == "librewolf") && libpath != "" {
return filepath.Join(libpath, path), nil
}

Expand Down
16 changes: 9 additions & 7 deletions internal/jsonapi/manifest/manifest_path_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@ package manifest

var manifestPaths = &manifestPath{
local: map[string]string{
"firefox": "~/Library/Application Support/Mozilla/NativeMessagingHosts",
"chrome": "~/Library/Application Support/Google/Chrome/NativeMessagingHosts",
"chromium": "~/Library/Application Support/Chromium/NativeMessagingHosts",
"brave": "~/Library/Application Support/Brave/NativeMessagingHosts",
"vivaldi": "~/Library/Application Support/Vivaldi/NativeMessagingHosts",
"iridium": "~/Library/Application Support/Iridium/NativeMessagingHosts",
"slimjet": "~/Library/Application Support/Slimjet/NativeMessagingHosts",
"firefox": "~/Library/Application Support/Mozilla/NativeMessagingHosts",
"librewolf": "~/Library/Application Support/Librewolf/NativeMessagingHosts",
"chrome": "~/Library/Application Support/Google/Chrome/NativeMessagingHosts",
"chromium": "~/Library/Application Support/Chromium/NativeMessagingHosts",
"brave": "~/Library/Application Support/Brave/NativeMessagingHosts",
"vivaldi": "~/Library/Application Support/Vivaldi/NativeMessagingHosts",
"iridium": "~/Library/Application Support/Iridium/NativeMessagingHosts",
"slimjet": "~/Library/Application Support/Slimjet/NativeMessagingHosts",
},
global: map[string]string{
"firefox": "/Library/Application Support/Mozilla/NativeMessagingHosts",
"librewolf": "/Library/Application Support/Librewolf/NativeMessagingHosts",
"chrome": "/Library/Google/Chrome/NativeMessagingHosts",
"chromium": "/Library/Application Support/Chromium/NativeMessagingHosts",
"brave": "/Library/Application Support/Brave/NativeMessagingHosts",
Expand Down
30 changes: 16 additions & 14 deletions internal/jsonapi/manifest/manifest_path_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,23 @@ package manifest

var manifestPaths = &manifestPath{
local: map[string]string{
"firefox": "~/.mozilla/native-messaging-hosts",
"chrome": "~/.config/google-chrome/NativeMessagingHosts",
"chromium": "~/.config/chromium/NativeMessagingHosts",
"brave": "~/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts",
"vivaldi": "~/.config/vivaldi/NativeMessagingHosts",
"iridium": "~/.config/iridium/NativeMessagingHosts",
"slimjet": "~/.config/slimjet/NativeMessagingHosts",
"firefox": "~/.mozilla/native-messaging-hosts",
"librewolf": "~/.librewolf/native-messaging-hosts",
"chrome": "~/.config/google-chrome/NativeMessagingHosts",
"chromium": "~/.config/chromium/NativeMessagingHosts",
"brave": "~/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts",
"vivaldi": "~/.config/vivaldi/NativeMessagingHosts",
"iridium": "~/.config/iridium/NativeMessagingHosts",
"slimjet": "~/.config/slimjet/NativeMessagingHosts",
},
global: map[string]string{
"firefox": "mozilla/native-messaging-hosts", // will be prefixed with the appropriate lib path
"chrome": "/etc/opt/chrome/native-messaging-hosts",
"chromium": "/etc/chromium/native-messaging-hosts",
"brave": "/etc/opt/chrome/native-messaging-hosts",
"vivaldi": "/etc/opt/vivaldi/native-messaging-hosts",
"iridium": "/etc/iridium-browser/native-messaging-hosts",
"slimjet": "/etc/opt/slimjet/native-messaging-hosts",
"firefox": "mozilla/native-messaging-hosts", // will be prefixed with the appropriate lib path
"librewolf": "librewolf/native-messaging-hosts", // will be prefixed with the appropriate lib path
"chrome": "/etc/opt/chrome/native-messaging-hosts",
"chromium": "/etc/chromium/native-messaging-hosts",
"brave": "/etc/opt/chrome/native-messaging-hosts",
"vivaldi": "/etc/opt/vivaldi/native-messaging-hosts",
"iridium": "/etc/iridium-browser/native-messaging-hosts",
"slimjet": "/etc/opt/slimjet/native-messaging-hosts",
},
}
2 changes: 1 addition & 1 deletion internal/jsonapi/manifest/setup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ func TestValidBrowsers(t *testing.T) {
if runtime.GOOS == "windows" {
assert.Equal(t, []string{"chrome", "chromium", "firefox"}, ValidBrowsers())
} else {
assert.Equal(t, []string{"brave", "chrome", "chromium", "firefox", "iridium", "slimjet", "vivaldi"}, ValidBrowsers())
assert.Equal(t, []string{"brave", "chrome", "chromium", "firefox", "iridium", "librewolf", "slimjet", "vivaldi"}, ValidBrowsers())
}
}
2 changes: 1 addition & 1 deletion setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func (s *jsonapiCLI) getGlobalInstall(ctx context.Context, c *cli.Context) (bool
}

func (s *jsonapiCLI) getLibPath(ctx context.Context, c *cli.Context, browser string, global bool) (string, error) {
if !c.IsSet("libpath") && runtime.GOOS == "linux" && browser == "firefox" && global {
if !c.IsSet("libpath") && runtime.GOOS == "linux" && (browser == "firefox" || browser == "librewolf") && global {
return termio.AskForString(ctx, color.BlueString("What is your lib path?"), "/usr/lib")
}

Expand Down