Firefox: nový panel z jiné aplikace

10. 10. 2011 11:37 (aktualizováno) Petr Krčmář

Konečně se mi podařilo úspěšně vyřešit problém, který mě trápil už dlouho. Jak správně otevírat ve Firefoxu nové panely z jiné aplikace.

Jistě uznáte, že panely v prohlížeči jsou skvělá věc, pokud potřebujete otevřít více stránek zároveň. Můžete to udělat buďto přímo v prohlížeči nebo zavoláním z jiné aplikace.

Možná vám tenhle problém přijde naprosto triviální, ale já jsem se o jeho úspěšné vyřešení snažil delší dobu a paradoxně mě k němu přivedla až Opera. Třeba můj popis pomůže někomu dalšímu (nebo mě, až ho budu někdy zase potřebovat). Ale vezmeme to popořádku.

Volání Firefoxu z jiné aplikace jsem řešil především z e-mailového klienta Thunderbird a Jabber klienta Psi. Do obou jsem nastavil, že se má pro otevření odkazu zavolat příkaz firefox. Program pak zavolá onen příkaz a jako parametr mu předá URL.

Odbočka: V TB je třeba jít do menu Úpravy → Předvolby → Rozšířené → Editor předvoleb. Tam je potřeba najít vlastnost network.protocol-handler.app.http a nastavit příslušný příkaz.

Pokud jsem navíc ve FF nastavil, že se pro nově otevírané adresy má otevřít nový panel, fungovalo to správně. Mělo to ovšem dva háčky:

1) Pouštělo to znovu celý Firefox (ačkoliv ten otevíral jen nový panel ve starém okně) a tak se jednalo o docela pomalé řešení. Navíc když jsem v RSS čtečce (TB) poklikal rychle za sebou třeba šest odkazů, počítač se začal vztekat a poslední dva už to neotevřelo (zřejmě nebyl schopen dostatečně rychle pustit šest Firefoxů).

2) Takto zavolaný Firefox dostal od správce oken focus. Používal jsem EvilWM a teď mám OpenBox a v obou se to chová stejně. Nejen, že Firefox vyskočí, ale správce mě vždy přepnul na jeho plochu. Pokud potřebujete otevřít několik odkazů zároveň, je to problém, protože po každém kliku skončíte na jiné ploše s Firefoxem.

Na řešení mě paradoxně přivedla Opera, kterou jsem chvíli používal. V její dokumentaci byly totiž pořádně popsány parametry při spouštění. Vím o tom, že je Firefox má taky, ale nikdy se mi nepodařilo s nimi problém uspokojivě vyřešit.

Naštěstí je volání Opery a Firefoxu velmi podobné, takže jsem z něj odvodil a posléze i dohledal, jak na to ve Firefoxu. Výsledkem je tedy můj „skript“ s názvem firefoxtab, který mám v /usr/bin. Jeho obsahem je:

      #!/bin/bash
/opt/firefox/firefox -remote "openURL($1, new-tab)"

V obou zmíněných klientech jsem pak místo klasického firefox pro otevírání nové stránky použil právě firefoxtab a vše funguje, jak má. Otevírání nových panelů je velmi rychlé a přepínání na jinou plochu už se neděje.

Sdílet