/usr/lib/pike8.0/modules/GTK2.pmod is in pike8.0-gtk 8.0.388-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | /*
* GTK2 glue code.
*/
#pike __REAL_VERSION__
#if constant(.___GTK2.Widget)
string unsillycaps(string what)
{
string res=upper_case(what[0..0]);
foreach(what[1..]/"", string q)
if(lower_case(q)==q)
res += q;
else
res += "_"+lower_case(q);
return res;
}
inherit .___GTK2;
#define INDEX(x) predef::`->(this_object(),(x))
array(string) setup_gtk(array(string)|string|void name, int|void norc)
{
array res;
if(stringp(name))
name = ({ name });
if(name)
res = ::setup_gtk(name);
else
res = ::setup_gtk();
if(!norc)
{
if(file_stat( getenv("HOME")+"/.pgtkrc" ))
parse_rc( cpp(Stdio.read_bytes(getenv("HOME")+"/.pgtkrc")) ||"");
else if(file_stat( getenv("HOME")+"/.gtkrc" ))
parse_rc( Stdio.read_bytes(getenv("HOME")+"/.gtkrc") );
}
return res;
}
mixed `[](string what)
{
if(what == "destroy")
if(sizeof(backtrace())>2)
{
werror(describe_backtrace(backtrace()));
return s_destroy;
}
else
return ([])[0];
if(what == "_module_value") return ([])[0];
if(!zero_type(INDEX(what)))
return INDEX(what);
if(!zero_type(INDEX("s_"+what)))
return INDEX("s_"+what);
if(!zero_type(INDEX(upper_case(what))))
return INDEX(upper_case(what));
//if(!zero_type(INDEX(unsillycaps(what))))
// return INDEX(unsillycaps(what));
if(!zero_type(INDEX(upper_case(unsillycaps(what)))))
return INDEX(upper_case(unsillycaps(what)));
// return GTKSupport[what];
return UNDEFINED;
}
#endif
|