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.
Tyhle remote prikazy podedil Firefox ze stareho Netscape. Pokud by to nekoho zajimalo vice, prikladam odkaz na dokumentaci http://www.mozilla.org/unix/remote.html (je psana pro Mozilla Suite, tak se proto ty prikazy mailto apod).
Ked sme uz pri tych remote prikazoch, neviete niekto riesit nasledovne:
1. na lokalnom kompe mam spusteny Ffrefox
2. ssh-cknem sa na remote komp, tam spustim firefox (z command line)
3. lenze namiesto pustenia remote Firefoxu via X-Forwarding to pusti lokalny Firefox (ma to na svedomi mozilla-xremote-client) a nedokazal som vygooglit, jak mu to rozmluvit (ani pustenie ineho profilu via -P nepomoze), jedine zavriet lokalny firefox, potom sa remote firefox pusti normalne
Petre, mrknul bych do nastaveni firefoxu - sla tam nekde nastavit moznost ze je vzdy spustena jen jedna instance (tedy alespon na windows) a pak volani firefox "url" vzdy pouze prida tab do aktualniho okna.
Bohuzel jsem firefox pred nejakym casem odinstaloval takze presne ti nereknu.
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. GNU/Linuxem a Unixem obecně se zabývá již více než deset let a věnuje se především jeho nasazení v počítačových sítích a bezpečnostní politice. Zde bloguje o Root.cz, Linuxu, internetu a světě kolem sebe.
Přečteno 112 296×
Přečteno 89 772×
Přečteno 73 165×
Přečteno 58 109×
Přečteno 54 435×