General :  K-Meleon Web Browser Forum
General discussion about K-Meleon 
Proxy kmm with all options (ftp,ssl,socks etc.)
Posted by: Rochey
Date: October 18, 2007 12:33PM

I use proxies quite a lot and needed to have the proxy change function change all the proxy settings. so I have modified the proxy.kmm to show and ask for all the settings.
I am quite new to the macro language so I may have made some mistakes (or quite alot) could you all have a look and let me know if anything needs any changes. I currently works quite well on my 1.1.2 version
Cheers Rochey
PS. The faces are ": s" without the space, I can't seem to get the txt to show properly.

# K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage)

# ---------- Custom Proxies ----------------------------------------------------------------------------------------
#
# Dependencies	: main.kmm ($macroPrefBranch)
# Resources	: -
# Preferences	: kmeleon.plugins.macros.proxy[1-3].name
#		  kmeleon.plugins.macros.proxy[1-3].http
#		  kmeleon.plugins.macros.proxy[1-3].http_port
#		  kmeleon.plugins.macros.proxy[1-3].ftp
#		  kmeleon.plugins.macros.proxy[1-3].ftp_port
#		  kmeleon.plugins.macros.proxy[1-3].ssl
#		  kmeleon.plugins.macros.proxy[1-3].ssl_port
#		  kmeleon.plugins.macros.proxy[1-3].gopher
#		  kmeleon.plugins.macros.proxy[1-3].gopher_port
#		  kmeleon.plugins.macros.proxy[1-3].socks
#		  kmeleon.plugins.macros.proxy[1-3].socks_port
#
# ------------------------------------------------------------------------------------------------------------------

Proxy_None{
menuchecked=(getpref(INT,$_Proxy_Active."type")==0);
setpref(INT,$_Proxy_Active."type",0); &_Proxy_Status;
}
Proxy_Auto{
menuchecked=(getpref(INT,$_Proxy_Active."type")==4);
setpref(INT,$_Proxy_Active."type",4); &_Proxy_Status;
}
Proxy_File{
menuchecked=(getpref(INT,$_Proxy_Active."type")==2);
getpref(STRING,$_Proxy_PACURL)==""?0:setpref(INT,$_Proxy_Active."type",2); &_Proxy_Status;
}
Proxy_Custom{
menuchecked=((getpref(INT,$_Proxy_Active."type")==1)*(getpref(STRING,$_Proxy_Custom.$ARG.".http")==getpref(STRING,$_Proxy_Active."http")));
$__srvr=getpref(STRING,$_Proxy_Custom.$ARG.".http");
$__port=getpref(INT,$_Proxy_Custom.$ARG.".http_port");
$__ftpsrvr=getpref(STRING,$_Proxy_Custom.$ARG.".ftp");
$__ftpport=getpref(INT,$_Proxy_Custom.$ARG.".ftp_port");
$__sslsrvr=getpref(STRING,$_Proxy_Custom.$ARG.".ssl");
$__sslport=getpref(INT,$_Proxy_Custom.$ARG.".ssl_port");
$__gophersrvr=getpref(STRING,$_Proxy_Custom.$ARG.".gopher");
$__gopherport=getpref(INT,$_Proxy_Custom.$ARG.".gopher_port");
$__sockssrvr=getpref(STRING,$_Proxy_Custom.$ARG.".socks");
$__socksport=getpref(INT,$_Proxy_Custom.$ARG.".socks_port");
# When no server url is set, do not change anything!
$__srvr==""?0:setpref(STRING,$_Proxy_Active."http",$__srvr);
$__srvr==""?0:setpref(INT,$_Proxy_Active."http_port",$__port);
$__srvr==""?0:setpref(INT,$_Proxy_Active."type",1); &_Proxy_Status;
$__srvr==""?0:setpref(STRING,$_Proxy_Active."ftp",$__ftpsrvr);
$__srvr==""?0:setpref(INT,$_Proxy_Active."ftp_port",$__ftpport);
$__srvr==""?0:setpref(INT,$_Proxy_Active."type",1); &_Proxy_Status;
$__srvr==""?0:setpref(STRING,$_Proxy_Active."ssl",$__sslsrvr);
$__srvr==""?0:setpref(INT,$_Proxy_Active."ssl_port",$__sslport);
$__srvr==""?0:setpref(INT,$_Proxy_Active."type",1); &_Proxy_Status;
$__srvr==""?0:setpref(STRING,$_Proxy_Active."gopher",$__gophersrvr);
$__srvr==""?0:setpref(INT,$_Proxy_Active."gopher_port",$__gopherport);
$__srvr==""?0:setpref(INT,$_Proxy_Active."type",1); &_Proxy_Status;
$__srvr==""?0:setpref(STRING,$_Proxy_Active."socks",$__sockssrvr);
$__srvr==""?0:setpref(INT,$_Proxy_Active."socks_port",$__socksport);
$__srvr==""?0:setpref(INT,$_Proxy_Active."type",1); &_Proxy_Status;
}
Proxy_Configuration{
$_tit=_("HTTP Proxy Configuration"); $_i=4;
$__url=getpref(STRING,$_Proxy_PACURL);
$__msg=sub("%n",$_i,_("Current settings for automatic proxy configuration:"))."\n\n".sub("%s",$__url==""?_("(not set)"):$__url,_("URL: %s"))."\n\n"._("Do you want to change these settings?");
$__key=confirm($__msg,$_tit,YESNOCANCEL,QUESTION); $__key==YES?&_Proxy_ConfigurationFilesad smiley$__key==NO?$_i=1:0);
while($_i!=4) &_Proxy_ConfigurationLoop;
}

# ----- PRIVATE

$_Proxy_Active="network.proxy.";
$_Proxy_PACURL=$_Proxy_Active."autoconfig_url";
$_Proxy_Custom=$macroPrefBranch."proxy";

_Proxy_Status{
$__data=getpref(INT,$_Proxy_Active."type");
$__data==0?statusbar(_("Connecting directly")):0;
$__data==1?statusbar(sub("%url",getpref(STRING,$_Proxy_Active."http"),sub("%port",getpref(INT,$_Proxy_Active."http_port"),_("Connecting over proxy %url:%port")))):0;
$__data==2?statusbar(sub("%s",getpref(STRING,$_Proxy_PACURL),_("Connecting according to %s"))):0;
$__data==4?statusbar(_("Connecting over any detected proxy")):0;
}

_Proxy_ConfigurationFile{
$__data=prompt(_("Automatic proxy configuration URL:"),$_tit,getpref(STRING,$_Proxy_PACURL));
$__data==""?0:setpref(STRING,$_Proxy_PACURL,$__data);
&Proxy_Configuration;
}
_Proxy_ConfigurationLoop{
$_name=getpref(STRING,$_Proxy_Custom.$_i.".name");
$_srvr=getpref(STRING,$_Proxy_Custom.$_i.".http");
$_port=getpref(INT,$_Proxy_Custom.$_i.".http_port");
$_ftpsrvr=getpref(STRING,$_Proxy_Custom.$_i.".ftp");
$_ftpport=getpref(INT,$_Proxy_Custom.$_i.".ftp_port");
$_sslsrvr=getpref(STRING,$_Proxy_Custom.$_i.".ssl");
$_sslport=getpref(INT,$_Proxy_Custom.$_i.".ssl_port");
$_gophersrvr=getpref(STRING,$_Proxy_Custom.$_i.".gopher");
$_gopherport=getpref(INT,$_Proxy_Custom.$_i.".gopher_port");
$_sockssrvr=getpref(STRING,$_Proxy_Custom.$_i.".socks");
$_socksport=getpref(INT,$_Proxy_Custom.$_i.".socks_port");
$__msg=sub("%n",$_i,_("Current settings for proxy %n:"))."\n\n".sub("%s",$_name,_("Server name:\t%s"))."\n".sub("%s",$_srvr==""?_("(not set)"):$_srvr,_("HTTP Server:\t%s"))."\n".sub("%s",$_port==0?_("(not set)"):$_port,_("HTTP port:\t%s"))."\n".sub("%s",$_ftpsrvr==""?_("(not set)"):$_ftpsrvr,_("FTP Server:\t%s"))."\n".sub("%s",$_ftpport==0?_("(not set)"):$_ftpport,_("FTP_ port:\t%s"))."\n".sub("%s",$_sslsrvr==""?_("(not set)"):$_sslsrvr,_("SSL Server:\t%s"))."\n".sub("%s",$_sslport==0?_("(not set)"):$_sslport,_("SSL_ port:\t%s"))."\n".sub("%s",$_gophersrvr==""?_("(not set)"):$_gophersrvr,_("GOPHER Server:\t%s"))."\n".sub("%s",$_gopherport==0?_("(not set)"):$_gopherport,_("GOPHER port:\t%s"))."\n".sub("%s",$_sockssrvr==""?_("(not set)"):$_sockssrvr,_("SOCKS Server:\t%s"))."\n".sub("%s",$_socksport==0?_("(not set)"):$_socksport,_("SOCKS port:\t%s"))."\n\n"._("Do you want to change these settings?");
$__key=confirm($__msg,$_tit,YESNOCANCEL,QUESTION); $__key==YES?&_Proxy_ConfigurationChangesad smiley$__key==NO?$_i=$_i+1:$_i=4);
}

_Proxy_ConfigurationChange{
$_name=prompt(_("Server name:"),$_tit,$_name);
$_name==""?0:setpref(STRING,$_Proxy_Custom.$_i.".name",$_name);
$_name==""?$_srvr="":$_srvr=prompt(_("HTTP URL:"),$_tit,$_srvr);
$_srvr==""?0:setpref(STRING,$_Proxy_Custom.$_i.".http",$_srvr);
$_srvr==""?$_port="":$_port=prompt(_("HTTP port:"),$_tit,$_port);
$_port==""?0:setpref(INT,$_Proxy_Custom.$_i.".http_port",$_port);
$_name==""?$_ftpsrvr="":$_ftpsrvr=prompt(_("FTP URL:"),$_tit,$_ftpsrvr);
$_ftpsrvr==""?0:setpref(STRING,$_Proxy_Custom.$_i.".ftp",$_ftpsrvr);
$_ftpsrvr==""?$_ftpport="":$_ftpport=prompt(_("FTP port:"),$_tit,$_ftpport);
$_ftpport==""?0:setpref(INT,$_Proxy_Custom.$_i.".ftp_port",$_ftpport);
$_name==""?$_sslsrvr="":$_sslsrvr=prompt(_("SSL URL:"),$_tit,$_sslsrvr);
$_sslsrvr==""?0:setpref(STRING,$_Proxy_Custom.$_i.".ssl",$_sslsrvr);
$_sslsrvr==""?$_sslport="":$_sslport=prompt(_("SSL port:"),$_tit,$_sslport);
$_sslport==""?0:setpref(INT,$_Proxy_Custom.$_i.".ssl_port",$_sslport);
$_name==""?$_gophersrvr="":$_gophersrvr=prompt(_("GOPHER URL:"),$_tit,$_gophersrvr);
$_gophersrvr==""?0:setpref(STRING,$_Proxy_Custom.$_i.".gopher",$_gophersrvr);
$_gophersrvr==""?$_gopherport="":$_gopherport=prompt(_("GOPHER port:"),$_tit,$_gopherport);
$_gopherport==""?0:setpref(INT,$_Proxy_Custom.$_i.".gopher_port",$_gopherport);
$_name==""?$_sockssrvr="":$_sockssrvr=prompt(_("SOCKS URL:"),$_tit,$_sockssrvr);
$_sockssrvr==""?0:setpref(STRING,$_Proxy_Custom.$_i.".socks",$_sockssrvr);
$_sockssrvr==""?$_socksport="":$_socksport=prompt(_("SOCKS port:"),$_tit,$_socksport);
$_socksport==""?0:setpref(INT,$_Proxy_Custom.$_i.".socks_port",$_socksport);
&_Proxy_BuildMenu;
}

_Proxy_BuildMenu{
# tools menu
$_p="Pro&xy";
setmenu(PrivacySecurity,popup,$_p);
setmenu($_p,macro,"&Direct Connection",Proxy_None);
setmenu($_p,macro,"&Auto Detect",Proxy_Auto);
setmenu($_p,macro,"Auto &Configure",Proxy_File);
$_j=1; while($_j!=4) &_Proxy_BuildMenuLoop;
setmenu($_p,macro,"Con&figure...",Proxy_Configuration);
setmenu($_p,separator,"Con&figure...");
rebuildmenu($_p);
}
_Proxy_BuildMenuLoop{
setmenu($_p,macro,getpref(STRING,$_Proxy_Custom.$_j.".name"),"Proxy_Custom(".$_j.")"); $_j=$_j+1;
}
$OnInit=$OnInit."_Proxy_BuildMenu;";

# ------------------------------------------------------------------------------------------------------------------
$macroModules=$macroModules."Proxy;";



Options: ReplyQuote


K-Meleon forum is powered by Phorum.