Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

20th Century To Unix: "Which is Default browser?"

[es] :: Advocacy :: 20th Century To Unix: "Which is Default browser?"

[ Pregleda: 3446 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon 20th Century To Unix: "Which is Default browser?"27.07.2008. u 02:27 - pre 190 meseci
Jedna zanimljiva poruka sa libsdl diskusione liste, izmami mi osmeh u ove sitne sate: :)

Citat:
I have a program that I'm working on that needs to
open a web-page in the "default" browser. As there is
no standard convention for having a defualt browser in
Unix the only thing I could think of is something
like:

#ifdef WIN32
return JustExecWebPage()
#else
#ifdef __unix__
if( IsDisplayEnvVarSet())
{
if( KdeIsRunning())
{
return AskKdeWhatTheDefaultBrowserIs();
}
else if( GnomeIsRunning())
{
return AskGnomeWhatTheDefaultBrowserIs();
}
else if( CdeIsRunning())
{
return AskCdeWhatTheDefaultBrowserIs();
}
else if( IsMozillaInstalled())
{
return RunMozilla();
}
else if( IsNetscapeInstalled())
{
return RunNetscape();
}
else if( IsOperaInstalled())
{
return RunOpera();
}
else if( IsMosaicInstalled())
{
return RunMosaic();
}
}
if ( DoWeHaveATerminal() && IsLynxInstalled() )
{
return RunLynx();
}
/* Give up! */
return NULL;
#else
#error "Add support for this platform"
#endif
#endif


While this may work, it seems un-necessarily
complicated. Anyone have any better ideas???

Thanks in advance,

-Loren


Nažalost, niko nije imao bolju ideju :).

[Ovu poruku je menjao Burgos dana 27.07.2008. u 03:37 GMT+1]
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 11:06 - pre 190 meseci
A sta te zbunjuje? Sta je to toliko smesno... ? Prvo, ovo je 21-vi vek :), a drugo Unix ne mora da ima GUI. Nije tako zamisljen. A ako nemas GUI koncept obaveznog browsera je malo ... pogresan. Server nema nijedan razlog zasto bi morao da ima browser, ako nema ni GUI. S'druge strane GUI okruzenja, ako su instalirana, imaju nacina da ti kazu koji je default browser i da li ga ima, sto se i vidi na pocetku ovog tvog pseudokoda....

Jedino sto je mene zbilja nasmejalo je naslov teme i cinjenica da 2008-me ti ne znas koji je vek :D.
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon 20th Century To Linux Desktop: "Which is Default browser?"27.07.2008. u 11:12 - pre 190 meseci
Poruka je postavljena 1999. u listi, šerpao sam po starim mejlovima, a vidim da se stanje nije nimalo promenilo (verovatno otuda ta zabuna) :).

A izvinjavam se, ipak sam pisao u pola četiri. Vidim da je u toj poruci napravljen previd, ali pošto je sa SDL liste, podrazumevalo se da se radi o Linux desktop sistemu:
20th Century To Linux Desktop: "Which is Default browser?"
 
Odgovor na temu

Tyler Durden
Tyler Durden
Beograd

Član broj: 4312
Poruke: 3379
*.adsl.verat.net.



+1365 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 13:31 - pre 190 meseci
Pa i nije baš duhovit momčić.
Posebno što se može uraditi ovo što on hoće bez problema.
Beneath civilization's fragile crust, cold chaos churns...
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 14:41 - pre 190 meseci
Ne pokušava on da bude duhovit.

A kako se može uraditi bez problema (pitam, radoznao sam, a ko pita - ne skita)?
 
Odgovor na temu

Tyler Durden
Tyler Durden
Beograd

Član broj: 4312
Poruke: 3379
*.adsl.verat.net.



+1365 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 18:24 - pre 190 meseci
Pošto se igram sa python-om u zadnje vrijeme mogu za njega da navedem jednostavan primjer. Isto može i u ostalim jezicima, siguran sam.

Code:
import webbrowser

url = 'http://www.elitesecurity.org'

webbrowser.open_new_tab(url)

webbrowser.open_new(url)

Beneath civilization's fragile crust, cold chaos churns...
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.pool.mediaWays.net.



+27 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 19:13 - pre 190 meseci
Iz školjke:
Code:
$ xdg-open http://www.elitesecurity.org

što znači i iz bilo kog programskog okruženja koje može da pokrene dečji proces. Potrebno, naravno, samo ako već ne poseduje sopstveni mehanizam, kao što obično poseduje čim je nešto višeg nivoa od čistog C-a/C++a.

Dalje, xdg-open ne otvara samo veb strane, već po tipu argumenta/datoteke; npr. xdg-open foo.png otvoriće podrazumevani prikazivač slika. xdg-open je iz paketa xdg-utils, koji se instalira kao zavisnost bilo kog od grafičkih okruženja.

Nego, kao zanima me — ekvivalent xdg-open za cmd.exe? Tj. da mogu veb strane i ostalo da se otvara iz BAT datoteka.
 
Odgovor na temu

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 19:17 - pre 190 meseci
@Tyler Durden
Hmm, kao što se vidi iz tvog priloženog, ovdje je problem riješen na nivou biblioteke/frameworka ali onakav gore navedeni kôd postoji negdje ali on je "daleko od očiju javnosti". Znaš na šta mislim.
I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 20:14 - pre 190 meseci
Ne postoji ekvivalent iz prostog razloga - nije potreban :)

Directory of E:\Documents and Settings\Korisnik\My Documents\Cpp

07/24/2008 05:51 PM <DIR> .
07/24/2008 05:51 PM <DIR> ..
07/24/2008 05:33 PM 362 niz.c
07/24/2008 05:33 PM 19,971 niz.exe
07/24/2008 05:51 PM 486 niz2.c
07/24/2008 05:51 PM 19,971 niz2.exe
4 File(s) 40,790 bytes
2 Dir(s) 12,454,948,864 bytes free

E:\Documents and Settings\Korisnik\My Documents\Cpp>niz.c


niz.c se otvara u default programu (da, na Windows sistemu je ovo veoma jednostavno, ne treba kompajlirati X biblioteka, niti imati dodatne programe zarad otvaranja datoteke).

Takođe (ANSI C):

Code:
#include <stdio.h>

int main(){
    system("niz.c");
    return 0;
}


radi posao, kao i (ako treba malo više detalja):

Code:
ShellExecute(handle, _T("open"), _T("niz.c"), NULL, NULL, SW_SHOWNORMAL);

 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 20:32 - pre 190 meseci
Izvinjavam se zbog malog previda. Ako hoćeš iz bat fajla da otvoriš URL, koristiš ovo:

Code:
start "" http://www.elitesecurity.org
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 20:34 - pre 190 meseci
Ovo ispada kao ono "da li si prestao da tuces svoju zenu?". :) Tekst-baziran sistem, namenjen serveru ne mora ni da ima browser. Zasto bi nesto sto nema browser trebalo da ima metodu koja ti kaze koji je default browser. Cinjenica da postoji nacin da se sazna koji je default browser implicira da browser postoji, sto nije obavezno.

S'druge strane, graficka okruzenja, koja imaju potrebu da imaju browser, jer je to normalno za graficko okruzenje danas, imaju i metodu da se do te informacije dodje.
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.pool.mediaWays.net.



+27 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 20:51 - pre 190 meseci
Citat:
icobh: Hmm, kao što se vidi iz tvog priloženog, ovdje je problem riješen na nivou biblioteke/frameworka ali onakav gore navedeni kôd postoji negdje ali on je "daleko od očiju javnosti". Znaš na šta mislim.


I? Valjda je i poenta da problem bude rešen „daleko od očiju javnosti“. Da ne mora svaki namernik da se pati, već da postoji centralizovano rešenje.

Citat:
Burgos: Ne postoji ekvivalent iz prostog razloga - nije potreban :)
[...]
E:\Documents and Settings\Korisnik\My Documents\Cpp>niz.c


Drugim rečima, ekvivalent postoji, samo budalast: bez mogućnosti razlikovanja izvršavanja i otvaranja — šta kad je datoteka .bat (ili .sh, .py, .pl, itd.) — i ograničavajući moguća imena izvršnih datoteka.

No dobro, i tako je mnogo bolje nego što sam očekivao :)
 
Odgovor na temu

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
89.142.53.*

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 20:57 - pre 190 meseci
moze da se resi na unix nacin :D

Code:

/etc/xpdfrc

...
...

# Set the command used to run a web browser when a URL hyperlink is
# clicked.

#urlCommand     "netscape -remote 'openURL(%s)'"
urlCommand      "firefox %s"

Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

Tyler Durden
Tyler Durden
Beograd

Član broj: 4312
Poruke: 3379
*.adsl.verat.net.



+1365 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 21:13 - pre 190 meseci
Citat:
icobh: @Tyler Durden
Hmm, kao što se vidi iz tvog priloženog, ovdje je problem riješen na nivou biblioteke/frameworka ali onakav gore navedeni kôd postoji negdje ali on je "daleko od očiju javnosti". Znaš na šta mislim.


Nisam baš siguran šta želiš da kažeš?
Ovo radi van KDE ili GNOME-a na jednom okruženju koje je poprilična beta uz tri browsera instalirana.
Onakav kod sigurno nije korišten.
Beneath civilization's fragile crust, cold chaos churns...
 
Odgovor na temu

unleaded

Član broj: 114756
Poruke: 74
*.teol.net.



Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 21:46 - pre 190 meseci
U GNOME-u klik na :
System > Preferences > Preferred Applications

izaberes browser sa spiska instalisanih.






Kad kliknes na link u okviru dokumenta kreiranog, na primjer u OO,
automatski se startuje taj browser i otvori sadrzaj linka.
To samo za one sto nece da skriptaju :).
Programmer is an organism that turns coffee into software.
Prikačeni fajlovi
 
Odgovor na temu

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 21:59 - pre 190 meseci
Htjeo sam da kažem, da ovo rješenje u python-u je rješenje u python-u. Nije univerzalno! To rješenje je iznuđeno i onaj gore navedeni "smiješni" kôd sigurno postoji u okviru webbrowser klase. To nije sporno. No problem jeste to što kad napišeš u C-u
Code:
#include <webbrowser.h>

to neće raditi. Razumijete?!

Windows API je jedinstven i važi za svaki jezik koji podržava dinamički linking sa Windows dll-ovima. ShellExecute ima isto parametara i slično se poziva i iz C, i iz VB, i iz FB itd...

Unixoidima nedostaje jedinstven framework. To je srž ovog problema.
I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.pool.mediaWays.net.



+27 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 22:21 - pre 190 meseci
Citat:
icobh:
Code:
#include <webbrowser.h>


to neće raditi. Razumijete?!
[...]
[...] ShellExecute ima isto parametara i slično se poziva i iz C, i iz VB, i iz FB itd...


Ne razumem. Na isti način je tu:
Code:
#include <stdlib.h>
...
snprintf(cmd, "xdg-open %s", MAXCSZ, filepath);
ret = system(cmd);

odnosno:
Code:
#include <unistd.h>
...
ret = execlp("xdg-open", "xdg-open", filepath, NULL);

I to, ponavljam, samo ako programsko okruženje ne pruža sopstveni, uglađeniji način za otvaranje proizvoljnih dokumenata, što pruža svako koje imalo drži do sebe.
 
Odgovor na temu

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"27.07.2008. u 22:46 - pre 190 meseci
^Ne pokušavam reći da se ne može postići ista funkcionalnost, već kažem da rješenje koje je predložio Tyler Durden se razlikuje od tvog u C-u, možda bi se razlikovalo i u HBasic-u. Ono što je zajedničko je to da se iz svih programskih jezika može pozvati xdg-open?! Možda griješim, ali način pozivanja xdg-open ekvivalenta na Windows-u može biti unificiran kroz ShellExecute.

ShellExecute na Windows-u je dio API-a dok je xdg-open program/skripta/whatever koji je nadam se sastavni dio svake distribucije bez obzira na grafičko okruženje. No, u njemu mora biti nešto kao onaj "smiješni" kôd...
I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.169.209.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: 20th Century To Unix: "Which is Default browser?"28.07.2008. u 03:03 - pre 190 meseci
Citat:
Časlav Ilić: Drugim rečima, ekvivalent postoji, samo budalast: bez mogućnosti razlikovanja izvršavanja i otvaranja — šta kad je datoteka .bat (ili .sh, .py, .pl, itd.) — i ograničavajući moguća imena izvršnih datoteka.

No dobro, i tako je mnogo bolje nego što sam očekivao :)


Heh, čekao sam da neko od Linuxaša spomene to, kao ključnu osobinu Linuxa, nad kojom je Win32 subsystem budalasta implementacija :).

Elem, pretpostavljam na vašu žalost, naravno da postoji mogućnost razlikovanja, samo se umesto ShellExecuteEx funkcije pozove CreateProcessEx funkcija (nekada se, a verovatno i sada, koliko se sećam moglo zameniti "open", sa "execute");a ukoliko hoćeš da razlikuješ pokretanje od otvaranja u BAT fajlu, jednostavno izostavi ono "start "" " ;).

Mislim da je to više nego dovoljna razlika između izvršavanja i otvaranja. A za ograničavanje imena: veoma je lako preimenovati ekstenziju nekog fajla u "exe"; mnogo lakše nego, umesto standarizovane ekstenzije koja označava PE exec (a i šire) imati 23 ekstenzija. Mada, uzimajući u obzir da , pri pomeni OLE-a, API i ABI backward kompatibilnosti, većina Linux korisnika aktivnih na Advocacy grupi uzima u obzir činjenicu da je mnogo lakše i sigurnije koristiti ručne metode, nemam šta da ti prigovorim. ;)

Edit: typo

[Ovu poruku je menjao Burgos dana 28.07.2008. u 10:57 GMT+1]
 
Odgovor na temu

[es] :: Advocacy :: 20th Century To Unix: "Which is Default browser?"

[ Pregleda: 3446 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.