Giter VIP home page Giter VIP logo

junction's Introduction

Junction

Junction lets you choose the application to open files and links.

screenshot

Download on Flathub

Usage

Set Junction as the default application for a resource and let it do the rest. Junction will pop up and offer multiple options to handle it.

Set Junction as default browser xdg-settings set default-web-browser re.sonny.Junction.desktop
Set Junction as default for all files xdg-mime default re.sonny.Junction.desktop x-scheme-handler/file

Please note that this may not be respected by all applications but the command xdg-open will.

Set Junction as default for png xdg-mime default re.sonny.Junction.desktop image/png
Set Junction as default email composer xdg-settings set default-url-scheme-handler mailto re.sonny.Junction.desktop
Set Junction as default folder opener xdg-mime default re.sonny.Junction.desktop inode/directory
API

Junction has a very simple API that doesn't require any programming. To open any resource with Junction, even if it's not configured as the default application, simply use the following URI format x-junction://$RESOURCE. For examples

  • x-junction://https://github.com
  • x-junction://~
  • x-junction://file:///etc/os-release
  • x-junction:///etc/os-release

You can use this in web pages, the terminal, native applications and anything that is able to open URIs.

If Junction is installed - you can test this in the terminal with xdg-open "x-junction://file:///etc/os-release" and in the browser with <a href="x-junction://file:///etc/os-release">Test Junction URI</a>.

Tips and tricks

Keyboard navigation

Use the menu or <Ctrl>? to learn about Keyboard usage. You can navigate the UI with the arrow keys too.

Open with multiple applications

Use Middle-click, Ctrl+Click, Ctrl+Enter or Ctrl+Space to keep Junction open - allowing you to open the resource in multiple applications.

Make Junction appear in the center of the screen

On GNOME you can make all new windows open in the center using

gsettings set org.gnome.mutter center-new-windows true

See https://gitlab.gnome.org/GNOME/mutter/-/issues/246

Use Junction from the terminal

Create a permant alias, for example alias open="flatpak run re.sonny.Junction".

Then you can use open my-file.

See How To Create Permanent Aliases In Linux?

Add custom scripts to Junction

You can add your own script to Junction by creating a .desktop file for it in ~/.local/share/applications.

See https://wiki.archlinux.org/title/desktop_entries (distro agnostic).

Browser integration

Create a bookmark with the following URL

javascript:window.location='x-junction://'+window.location
Multiple Firefox profiles

See Profile Manager - Create, remove or switch Firefox profiles

If you want to be able to choose the Firefox profile to open the resource with, you can make desktop files for your Firefox profiles in ~/.local/share/applications.

Here is an example ~/.local/share/applications/firefox-work.desktop

[Desktop Entry]
Version=1.0
Name=Firefox work
Exec=firefox -P work --class=firefox-work %u
Icon=firefox
Terminal=false
Type=Application
StartupWMClass=firefox-work
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true

Save, run update-desktop-database ~/.local/share/applications, enjoy.

Reference

Environment variables in desktop files
# Before
Exec=firefox %u
# After
Exec=env MOZ_USE_XINPUT2=1 firefox %u

Troubleshooting

I can't distinguish between options with the same icon

Within Junction, you can toggle Show names in the menu or hover the application with the mouse to display a tooltip.

Otherwise, you can edit the desktop files to use distinctive icons, here are a some tools

My app doesn't show up

If the application was installed via Flatpak, the package manager or an other conventional way, feel free to open an issue.

Make sure the application desktop file has a MimeType key that matches the type of resource you want it to handle. For example if you want the application ~/.local/share/applications/my-custom-browser.desktop to handle web content; add the following MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;.

The [Desktop Entry] of the .desktop file must be the first section as mandated by the specification.

The desktop filename should be unique. Junction can't display both /usr/share/applicatins/firefox.desktop and ~/.local/share/applications/firefox.desktop. The second overrides the first.

Finally - make sure to run update-desktop-database ~/.local/share/applications after installing a desktop file.

Where are desktop files located ?
  • System /usr/share/applications/
  • User ~/.local/share/applications/
  • Flatpak system /var/lib/flatpak/exports/share/applications/
  • Flatpak user ~/.local/share/flatpak/exports/share/applications/
  • Snap /var/lib/snapd/desktop/applications/

In the media

softpedia.com - Nifty and useful app switcher called Junction - 05/2022

itsfoss.com - 03/2022

youtube.com - Junction 1.4 | Choose the application to open files and links - 12/2021

linuxunplugged.com - Episode 433 The Lessons of Jellyfin - 11/2021

Translation

If you'd like to help translating Junction into your language, please head over to Weblate.

Translation status

Thank you for your help!

Development

git clone --recursive https://github.com/sonnyp/Junction.git
cd Junction
npm install
make dev

Make changes and press <Primary><Shift>Q on the Junction window to restart it.

Use <Primary><Shift>I to open the inspector.

To pass the tests you have to install a few dependencies

# Install development dependencies
sudo dnf install --assumeyes npm flatpak make desktop-file-utils gjs gtk4-devel libadwaita-devel
cd Junction
npm install
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user --assumeyes --noninteractive flathub org.freedesktop.appstream-glib

# Run tests
make test

Maintainer

Bookmarks
i18n
# To update the pot file
# xgettext -f po/POTFILES -o po/re.sonny.Junction.pot --no-wrap -cTRANSLATORS --from-code=UTF-8
# sed -i "s/Project-Id-Version: PACKAGE VERSION/Project-Id-Version: re.sonny.Junction/" po/re.sonny.Junction.pot
meson compile re.sonny.Junction-pot -C build


# To create a translation
# msginit -i po/re.sonny.Junction.pot -o po/fr.po -l fr_FR.UTF-8
echo -n " fr" >> po/LINGUAS
meson compile re.sonny.Junction-update-po -C build

# To update translations
# msgmerge -U po/*.po po/re.sonny.Junction.pot
meson compile re.sonny.Junction-update-po -C build

See sonnyp/Commit#14 (comment)

Publish new version
  • update metainfo and screenshot
  • meson compile re.sonny.Junction-pot -C build
  • meson compile re.sonny.Junction-update-po -C build
  • Update version in meson.build
  • git tag
  • flathub

Copyright

© 2021 Sonny Piers

License

GPLv3. Please see COPYING file.

junction's People

Contributors

albanobattistella avatar cheesersy5 avatar comradekingu avatar da-viper avatar davinov avatar fkinoshita avatar gregorni avatar laontme avatar mejans avatar oscfdezdz avatar pdecat avatar pervoj avatar rafal06 avatar rffontenelle avatar sambuca1g avatar sonnyp avatar tiagoflach avatar ubuntuegor avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

junction's Issues

How can I change the icon theme?

It is candy-icons being used by junction now for me. And some dont have icons. Is there a way I can change that?
I use bspwm and lxappearance has adwaita as icon theme.

Host installation of Tor Browser Launcher not listed under Browsers

Hi.

I've the Tor Browser Laucher launcher installed from Manjaro's official repositories. It's executable is at /usr/local/bin/torbrowser-launcher and its desktop file lies at /home/user/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/start-tor-browser.desktop

Could it be listed as a browser option at Junction?

Custom desktop files on silverblue

I've installed Junction on flatpak on Fedora Silverblue (modified, without gnome).

I have a bunch of custom desktop files in ~/.local/share/applications (firefox profiles, etc). However done of these are picked up by Junction.

Notice in the log below that XDG_DATA_DIRS does not contain $HOME/.local/share/applications

$ flatpak run re.sonny.Junction
F: Can't find a11y bus: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer.

(gjs:3): GLib-GIO-WARNING **: 13:53:00.326: Failed to create file monitor for /var/home/ramblurr/.var/app/re.sonny.Junction/config/glib-2.0/settings/keyfile: Unable to find default local file monitor type
Gjs-Message: 13:53:00.337: JS LOG: datadir: /app/share
Gjs-Message: 13:53:00.337: JS LOG: argv /app/bin/re.sonny.Junction
Gjs-Message: 13:53:00.337: JS LOG: programInvocationName: /app/bin/re.sonny.Junction
Gjs-Message: 13:53:00.337: JS LOG: _: /app/bin/re.sonny.Junction
Gjs-Message: 13:53:00.337: JS LOG: PWD: /var/home/ramblurr
Gjs-Message: 13:53:00.337: JS LOG: XDG_DATA_DIRS /app/share:/usr/share:/usr/share/runtime/share:/run/host/user-share:/run/host/share:/run/host/usr/share:/var/lib/flatpak/exports/share:/var/home/ramblurr/.local/share/flatpak/exports/share
Gjs-Message: 13:53:00.337: JS LOG: PATH /app/bin:/usr/bin
Gjs-Message: 13:53:00.337: JS LOG: FLATPAK_ID re.sonny.Junction
Gjs-Message: 13:53:04.249: JS LOG: open,1,demo

  • I have run update-desktop-database on $HOME/.local/share/applications
  • the desktop files contain proper MimeType=, for example `MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
  • If I manually copy the desktop files into a location listed in the log, run update-desktop-database, then Junction works as expected
    `

Circular or Grid app icon layout

Is it possible to have an optional circular or grid arrangement of application icons instead of a single long line?
I maybe something of an edge case but it gets awkward with a lot of browsers installed.

junction

Can't launch app when exec contains environment variable

I edited my exec of firefox.desktop to MOZ_USE_XINPUT2=1 firefox %u, and now junction can't launch it. The error that appears when opening firefox through junction are:

$ flatpak run re.sonny.Junction https://www.google.com

(re.sonny.Junction:3): Adwaita-WARNING **: 10:57:21.141: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
Portal call failed: Failed to start command: Failed to execute child process “MOZ_USE_XINPUT2=1” (No such file or directory)

Please don't change default applications without asking the user

On opening the welcome window, Junction sets itself as the default handler for URLs. I think messing with the system configuration like this is entirely inappropriate. Please reconsider this behaviour. An alternative might be to add a button to this window to trigger this.

In my case, I just discovered Junction through the This week in GNOME blog. It seemed useful, so I installed it and gave it a go. Looking for a preferences window (since Junction renders huge icons on my system, rendering it inconvenient to unusable depending on the number of handlers for a filetype), I opened the Junction application itself (without opening a document). Consequently, it installed itself as the default url handler. I particularly don't want to use Junction for URLs, the usecase would be exclusively PDFs.

Firefox snap not listed as an option

The Firefox browser, installed as a snap package, is not listed when opening a link and having set Junction as the default browser (using the readme)

Chrome, Brave and GNOME Web (org.gnome.Epiphany) are all listed.
Here chrome and brave are both just installed via APT and GNOME Web via flatpak.

If I install Firefox as a flatpak package it is listed, not sure if its a problem with the way snap does things or with junction though.

System info:

  • Junction 1.3.0
  • Firefox 95.0.2-1 (snap package)
  • Ubuntu 21.10 x86_64

Also, thanks for junction! I use it a lot and it solves all my workflow problems with having multiple programs (mainly using multiple browsers as the issue)

Host Chromium won't show in Junction flatpak

When running Junction as a flatpak, Chromium is listed if it's installed as a flatpak but not if it's installed on the host.

  • Fedora 34/35
  • flatpak 1.10, 1.11, 1.12.2
  • chromium rpm 93.0.4577.63

The problem doesn't appear to be related to Exec or TryExec.

Junction window transparent and hard to see

I have an issue using Fedora 35, KDE, and Junction in a Flatpak. The dialog opens as shown below, and can be very hard to see depending on what's behind it.

image

It seems this always happens, except for when I click on a link from another Flatpak application, in which case the option for Edge is missing but the window is fully opaque.

Browser name label option

Hi,

this app is such a beautiful extension to the system, loving it!

I am using several desktop files for differently configured firefox instances. When using Junction I cannot differentiate among the Firefox icons because I am not using different icons for the desktop files. I think it would be neat to have an option to enable some sort of label (for example Name from the desktop file).

Screenshot from 2021-10-25 19-38-57
Screenshot-20211025194014-1920x1080

Select the most frequently used app by default

This is potentially related to #12 and i suggested this idea in the thread over there.

In my experience people usually have one default app that they might wanna use regularly but have different apps installed that they might wanna choose for one time use.

For example:

  • You always use firefox for links but you might wanna choose edge once for a teams link or chrome because the source has mentioned it only works with chrome.
  • You always use document reader for most of your PDF files but might wanna open it in libreoffice or xpdf to do some intensive edits.
  • You always use image viewer (eog, or any other viewer) for images but might wanna open a image in GIMP to edit it

A nice quality of life improvement in this case would be to automatically select the most frequent (or previously selected) application for that particular type such that instead of having to select the app after hitting enter, you could hit enter twice to open a image in viewer without having to set eog as default.

If you want to use a different app, you can certainly just tap/click the app instead as you do now.

This screenshot might help with how the default view when Junction opens might look. The highlight could potentially be toned down or be a outline instead. as white text on off-white background is a bit harder to read. The highlight the dash uses seems to be visible enough while not being too bright.

image
image

Here is how this might work:

  • For filetypes for which we dont have a history/freq available, do not select any app.
  • Once the user selects the app once, we select that by default the next time
  • Once a app is used for that type more than x times (maybe 10?), we now know the user's preference is to use that app (eg. eog for png) for that file type.
  • Next time user opens a png, select Image viewer as default selection.
  • Only keep preference for last 14 days or last 20 uses for that filetype, whichever is higher. IF the user starts using a different app, the count for say gthumb will be higher than eog, so we select that by default.

Junction doesn't appear in default apps

On first install/launch - Junction isn't an option in default apps after pressing Set Junction as default for Web even thought it has been set as default.

After closing gnome-control-center and pressing on Set Junction as default for Web again Junction appeared

The problem appears to occur only when installed with system flathub - not user.

Steps to reproduce

  • Setup a Fedora workstation 35 box
  • Install flathub https://flatpak.org/setup/Fedora/
  • flatpak install re.sonny.Junction
  • flatpak start re.sonny.Junction
  • Click on Set Junction as default for Web

cc @BrainBlasted who originally reported the issue

Let user choose which applications appear

I have several browsers installed, which I use for different purposes. Only a subset of these appear in junction, and are not all of the ones that I use for general browsing. An option to define which applications appear in the selector would be fantastic.

Junction Popup - Window Placement

The Junction Popup window behaves like any normal window in mutter. So it is placed on the top left of the desktop if that is free or otherwise in free space on the desktop (i think).

I am no gnome/mutter developer but would it be possible to create the window at the current cursor position? Sometime there is a lot of "mouse travel" involved to navigating to it which make this a bit cumbersome (i know i can use the keyboard for junction).
For example i have a nautilus window at the bottem right, double click a file and junction opens at the top left.

Brave flatpak don't appear

Hello i have a problem i have brave flatpak (with custom .desktop into ~/.local/share.

But this browser don't appear into junction (it appear into the gnome settings to be the default browser) but not into junction (if i click on the "..." brave flatpak is in the list.

Can you add a way to let us select default app for a specific protocol (for instance http/https), to add it into the default choice manually

Support for application actions

It would be nice if support for application actions (aka jumplists) could be added, so that if a desktop entry defines additional actions we could use them to open files/links.

For example this would allow to open stuff in a browser private window or new window.

Select option using hotkey

I know that we can navigate using the arrow keys but I would like a way to instantly select an option using something like Ctrl/Super + #.

Center Junction window under cursor

There is an application for Mac called bumpr which provides much of the same functionality. They default to placing the window under your cursor, which I believe to be the best UI for an application like this.

Nautilus isn't offered for protocols

Nautilus, via gvfs - supports tons of protocols but doesn't advertise support.

Screenshot from 2021-12-21 10-54-34

Not sure if it should or if we should consider a workaround in Junction.
Perhaps gvfs could ship desktop files.

Path to the opened file not passed to some programs

I have set Junction to open video files, and while some programs like mpv and GNOME Videos work with Junction properly, others like MediaInfo-GUI and Avidemux just open in a blank state instead of opening the selected file.

I've noticed that .desktop files for Mediainfo and Avidemux use %f as launch args in the corresponding Exec lines whereas most other programs use %U (difference being local file/URI I assume?)

Perhaps something can be done to properly launch those programs when Junction is used to open a local file.

Is it possible to add other languages to weblate?

Sorry if this is an obvious oversight by me, but is it possible for contributors to add languages to weblate for translation?
In any case, I am interested in translating this project to Persian (Farsi).

Order by frequency

If I consistently use Firefox Dev Edition, then it would be useful to just have it show up as the first option. So ordering by frequency would be useful. Of course that means you have to track that number, so maybe it could just be an option?

Needs an icon

I quite like the current icon - or at least the symbolic of it.

But it's meant to be temporary, I made it quickly so it's probably not great. The color is also a bit strange given the app will probably prefer or force dark mode.

@bertob would you be interested? any thought ?

Junction won't work correctly for files on SMB Shares

Info:

  • Junction: 1.4.0 (AUR)
  • Gnome: 41.2 (Manjaro)

I noticed that Junction isnt working for files on SMB Shares that i have mounted through nautilus (not manually).
It opens up fine but doesnt offer any of the usual image options for example.

Junction shows the path as smb://SERVER/Share/file.jpg and my guess is its looking for an app to handle the SMB:// protocol and is ignoring the extension completely.

Screenshot:
image

Probably related to #48 but in this case i think junction should completely ignore the protocol and should behave as with other local files.

Open links in different application directly

Hello

Thank you for building this powerful tool.

I had something in mind but I don't know if it is possible or not yet.

The idea is to open a link in the primary browser by default without showing the dialog. But pressing Shift + clicking would show the dialog or alternatively use the the secondary selected application from the list. If the latter is used maybe pressing Alt + clicking to use the tertiary application from the list.

So my question is "is this possible with current APIs?".

Problems with LibreOffice

When opening a docx file with LibreOffice through the Junction interface, Libreoffice always complains that the file is still in use and therefore could only be opened in Read-Only mode. When opening the file the 'normal' way this problem doenst occur.

Let me know if I can provide any additional info.

Chrome is not detected when the desktop file is in user's application folder

I modified the chrome's desktop file and put it in ~/.local/share/applications/google-chrome.desktop and now it's not detected. I modified it using KDE Menu Editor.

Here's the content
[Desktop Action new-private-window]
Exec=/usr/bin/google-chrome-stable --incognito
Name=New Incognito Window
Name[ar]=نافذة جديدة للتصفح المتخفي
Name[bg]=Нов прозорец „инкогнито“
Name[bn]=নতুন ছদ্মবেশী উইন্ডো
Name[ca]=Finestra d'incògnit nova
Name[cs]=Nové anonymní okno
Name[da]=Nyt inkognitovindue
Name[de]=Neues Inkognito-Fenster
Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση
Name[en_GB]=New Incognito window
Name[es]=Nueva ventana de incógnito
Name[et]=Uus inkognito aken
Name[fa]=پنجره جدید حالت ناشناس
Name[fi]=Uusi incognito-ikkuna
Name[fil]=Bagong Incognito window
Name[fr]=Nouvelle fenêtre de navigation privée
Name[gu]=નવી છુપી વિંડો
Name[hi]=नई गुप्त विंडो
Name[hr]=Novi anoniman prozor
Name[hu]=Új Inkognitóablak
Name[id]=Jendela Penyamaran baru
Name[it]=Nuova finestra di navigazione in incognito
Name[iw]=חלון חדש לגלישה בסתר
Name[ja]=新しいシークレット ウィンドウ
Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ
Name[ko]=새 시크릿 창
Name[lt]=Naujas inkognito langas
Name[lv]=Jauns inkognito režīma logs
Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ
Name[mr]=नवीन गुप्त विंडो
Name[nl]=Nieuw incognitovenster
Name[no]=Nytt inkognitovindu
Name[pl]=Nowe okno incognito
Name[pt]=Nova janela de navegação anónima
Name[pt_BR]=Nova janela anônima
Name[ro]=Fereastră nouă incognito
Name[ru]=Новое окно в режиме инкогнито
Name[sk]=Nové okno inkognito
Name[sl]=Novo okno brez beleženja zgodovine
Name[sr]=Нови прозор за прегледање без архивирања
Name[sv]=Nytt inkognitofönster
Name[ta]=புதிய மறைநிலைச் சாளரம்
Name[te]=క్రొత్త అజ్ఞాత విండో
Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน
Name[tr]=Yeni Gizli pencere
Name[uk]=Нове вікно в режимі анонімного перегляду
Name[vi]=Cửa sổ ẩn danh mới
Name[zh_CN]=新建隐身窗口
Name[zh_TW]=新增無痕式視窗

[Desktop Action new-window]
Exec=/usr/bin/google-chrome-stable
Name=New Window
Name[am]=አዲስ መስኮት
Name[ar]=نافذة جديدة
Name[bg]=Нов прозорец
Name[bn]=নতুন উইন্ডো
Name[ca]=Finestra nova
Name[cs]=Nové okno
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[el]=Νέο Παράθυρο
Name[en_GB]=New Window
Name[es]=Nueva ventana
Name[et]=Uus aken
Name[fa]=پنجره جدید
Name[fi]=Uusi ikkuna
Name[fil]=New Window
Name[fr]=Nouvelle fenêtre
Name[gu]=નવી વિંડો
Name[hi]=नई विंडो
Name[hr]=Novi prozor
Name[hu]=Új ablak
Name[id]=Jendela Baru
Name[it]=Nuova finestra
Name[iw]=חלון חדש
Name[ja]=新規ウインドウ
Name[kn]=ಹೊಸ ವಿಂಡೊ
Name[ko]=새 창
Name[lt]=Naujas langas
Name[lv]=Jauns logs
Name[ml]=പുതിയ വിന്‍ഡോ
Name[mr]=नवीन विंडो
Name[nl]=Nieuw venster
Name[no]=Nytt vindu
Name[pl]=Nowe okno
Name[pt]=Nova janela
Name[pt_BR]=Nova janela
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[sr]=Нови прозор
Name[sv]=Nytt fönster
Name[sw]=Dirisha Jipya
Name[ta]=புதிய சாளரம்
Name[te]=క్రొత్త విండో
Name[th]=หน้าต่างใหม่
Name[tr]=Yeni Pencere
Name[uk]=Нове вікно
Name[vi]=Cửa sổ Mới
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗

[Desktop Entry]
Actions=new-window;new-private-window;
Categories=Network;WebBrowser;
Comment[en_US]=Access the Internet
Comment=Access the Internet
Comment[ar]=الدخول إلى الإنترنت
Comment[bg]=Достъп до интернет
Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
Comment[ca]=Accedeix a Internet
Comment[cs]=Přístup k internetu
Comment[da]=Få adgang til internettet
Comment[de]=Internetzugriff
Comment[el]=Πρόσβαση στο Διαδίκτυο
Comment[en_GB]=Access the Internet
Comment[es]=Accede a Internet.
Comment[et]=Pääs Internetti
Comment[fi]=Käytä internetiä
Comment[fil]=I-access ang Internet
Comment[fr]=Accéder à Internet
Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
Comment[he]=גישה אל האינטרנט
Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
Comment[hr]=Pristup Internetu
Comment[hu]=Internetelérés
Comment[id]=Akses Internet
Comment[it]=Accesso a Internet
Comment[ja]=インターネットにアクセス
Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
Comment[ko]=인터넷 연결
Comment[lt]=Interneto prieiga
Comment[lv]=Piekļūt internetam
Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക
Comment[mr]=इंटरनेटमध्ये प्रवेश करा
Comment[nb]=Gå til Internett
Comment[nl]=Verbinding maken met internet
Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
Comment[pl]=Skorzystaj z internetu
Comment[pt]=Aceder à Internet
Comment[pt_BR]=Acessar a internet
Comment[ro]=Accesaţi Internetul
Comment[ru]=Доступ в Интернет
Comment[sk]=Prístup do siete Internet
Comment[sl]=Dostop do interneta
Comment[sr]=Приступите Интернету
Comment[sv]=Gå ut på Internet
Comment[ta]=இணையத்தை அணுகுதல்
Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి
Comment[th]=เข้าถึงอินเทอร์เน็ต
Comment[tr]=İnternet'e erişin
Comment[uk]=Доступ до Інтернету
Comment[vi]=Truy cập Internet
Comment[zh_CN]=访问互联网
Comment[zh_HK]=連線到網際網路
Comment[zh_TW]=連線到網際網路
Exec=/usr/bin/google-chrome-stable --enable-features=WebUIDarkMode --force-dark-mode %U
GenericName[en_US]=Web Browser
GenericName=Web Browser
GenericName[ar]=متصفح الشبكة
GenericName[bg]=Уеб браузър
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[ca]=Navegador web
GenericName[cs]=WWW prohlížeč
GenericName[da]=Browser
GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής ιστού
GenericName[en_GB]=Web Browser
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fi]=WWW-selain
GenericName[fil]=Web Browser
GenericName[fr]=Navigateur Web
GenericName[gu]=વેબ બ્રાઉઝર
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=वेब ब्राउज़र
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
GenericName[id]=Browser Web
GenericName[it]=Browser Web
GenericName[ja]=ウェブブラウザ
GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
GenericName[ko]=웹 브라우저
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Tīmekļa pārlūks
GenericName[ml]=വെബ് ബ്രൌസര്‍
GenericName[mr]=वेब ब्राऊजर
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador da Internet
GenericName[ro]=Navigator de Internet
GenericName[ru]=Веб-браузер
GenericName[sk]=WWW prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sr]=Интернет прегледник
GenericName[sv]=Webbläsare
GenericName[ta]=இணைய உலாவி
GenericName[te]=మహాతల అన్వేషి
GenericName[th]=เว็บเบราว์เซอร์
GenericName[tr]=Web Tarayıcı
GenericName[uk]=Навігатор Тенет
GenericName[vi]=Bộ duyệt Web
GenericName[zh_CN]=网页浏览器
GenericName[zh_HK]=網頁瀏覽器
GenericName[zh_TW]=網頁瀏覽器
Icon=google-chrome
MimeType=text/html;image/webp;image/png;image/jpeg;image/gif;application/xml;application/xml;application/xhtml+xml;application/rss+xml;application/rdf+xml;application/pdf;
Name[en_US]=Google Chrome
Name=Google Chrome
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Option to dismiss on focus lost

Add an option to dismiss the app on focus lost.
This would be much easier for a mouse user, than dismissing with Esc in case of a mis-click.
At the moment, losing focus just hides the window behing others, and leaves it open.

[Enhancement] Provide a more friendly UI when no apps are available

I just got this while trying to open a flatpakref. I dont know why it didnt detect and show gnome-software but this brought up this interesting edge case where no apps are available to display/open requested file.

Ideally, we should have a better UI to handle this edge case and either:

  1. Allow you to select an app anyways from all apps list.
  2. Show more informative UI describing that no apps support handling selected file possibly with a nice image to appear more friendly and not scare/confuse users.

image

Does not detect Waterfox as a browser alternative

I'm running Manjaro and using Waterfox as my main browser. I've installed it using waterfox-g4-bin AUR package, and somehow Junction can't suggest it to open http(s) links.

How is exactly that junction searches for a protocol handler? I thought that it would be using the MimeType from the .desktop, but Waterfox has it defined correctly (at least it seems to me).

waterfox-g4.desktop without the translations for brevity.

[Desktop Entry]
Version=1.0
Name=Waterfox G4
Comment=Browse the World Wide Web
GenericName=Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer;
Exec=waterfox-g4 %u
Terminal=false
X-MuiltpleArgs=false
Type=Application
Icon=waterfox-g4
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true
Actions=NewWindow;NewPrivateWindow;ProfileManagerWindow;

[Desktop Action NewWindow]
Name=Open a New Window
Exec=waterfox-g4 --new-window

[Desktop Action NewPrivateWindow]
Name=Open a New Private Window
Exec=waterfox-g4 --private-window

[Desktop Action ProfileManagerWindow]
Name=Open the Profile Manager
Exec=waterfox-g4 --ProfileManager

Am I missing something? Is there anything else that I have to add to .desktop? Or is it some other config that needs to be set?

Can't open Junction. gjs-console crashed

How to reproduce

$ re.sonny.Junction
Failed to establish dbus connection**
Gsk:ERROR:../gsk/ngl/gsknglcommandqueue.c:1261:gsk_ngl_command_queue_create_render_target: assertion failed (glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE): (0x00008cdd == 0x00008cd5)
Bail out! Gsk:ERROR:../gsk/ngl/gsknglcommandqueue.c:1261:gsk_ngl_command_queue_create_render_target: assertion failed (glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE): (0x00008cdd == 0x00008cd5)

I tried to debug, but for some reason I couldn't either.

$ sudo flatpak-coredumpctl re.sonny.Junction.Debug
Executable /usr/bin/gjs-console doesn't seem to be a flatpaked application

Version: 1.5.0 (Flatpak)

Create backround layer behind Junction main window

Hi, I had two big issues and I found that they were posted and closed as #10 and #35. I have an idea how to fix both of those in the same time.
This could be accomplished by creating an invisible or translucent layer behind the main junction app. Clicking on this background layer would close junction app when you don't want to open any links and It could be used to locate pointer and add the main interface of the app behind cursor.
Implemented as is Junction is very irritating to use since to close it I need to press esc key and to open any link I have to move my cursor around the display.
I did set global gnome window centering but that is not a real solution.

Permission question

Hello, already thank you very much for this very useful application which (as far as I'm concerned) fills a gap in the GNOME interface.

I would like to know if the permissions could be improved, i.e. less intrusive? It says:

  • arbitrary permissions (very dangerous in terms of computer security)
  • full read access to the filesystem (also a risk, but I think a little less serious because it is only read access).
    Screenshot from 2022-04-08 00-12-41

Question

Would it be possible to stop these two warnings by restricting the permissions of this tool?

Thanks again for your kind help.

Options aren't displaying in plasma desktop

I'm using KDE Plasma 5.24.5 and opening links works as expected, I have Junction as my default browser. It displays all the browsers I have installed once I try to open a link.

The issue is when I open Junction for customization. It keeps saying "Set junction as default browser" so I can't remove or change existing browsers options like in Gnome:
image

I've installed it via Flatpak.

Slow startup time for some users

If I don't have the Junction app open already, there is a waiting period of about 2-4 seconds between clicking a link or file and the Junction popup appearing.
Probably inevitable because it's a flatpak, current solution is to run the App and hide the window. Maybe add a background process that starts on boot?

Original title: Add background process / system tray icon

Remember for domain / file type

User should be able to remember the application by type (for file) and domain / public suffix for urls

For file type we can simply set the selected application as the new default application.

For urls we will need to store a list somewhere. If it's a simple text file I guess Junction doesn't have to offer a UI even thought that'd be best.

Anyway, the problem is where to put that "Remember" feature.

WIP

junction-remember

Not very happy with the header bar, it feels a bit intrusive compared to this design

Screenshot from 2021-10-19 22-12-01

Open Links in different Firefox Profiles?

Hello, I use 4 different Firefox profiles to separate work from personal from shopping etc. Would be great if I could somehow add those profiles to the selection screen of junction and select the opening of certain links in certain firefox profiles.

Domain Specific Applications Possible?

I would like Junction to provide FreeTube as an app to open YouTube urls and only YouTube urls. Would there be a way to get Junction to recognize FreeTube as such? Whether that be through something is Junction or in the system MIME database. Currently it registers itself as a handler of the MIME type x-scheme-handler/freetube, idk if that helps.

Thank you for your time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.