MozillaZine


[Ext] userChrome.js

Announce and Discuss the Latest Theme and Extension Releases.
pile0nades
 
Posts: 756
Joined: May 15th, 2005, 2:31 am

Post Posted November 21st, 2006, 8:14 pm

I fixed the bug, and also added a new feature to Zoolcar9's Greasemonkey Mod script. Now you can right click a script's status bar menu item to open the script in an editor, like you can with Stylish. No need to open the Manager to edit a script anymore. Also includes his User Script Manager script sorter.

<a href="data:text/javascript;charset=utf-8;base64,LyotLS0tLS0tLS0tIEdyZWFzZW1vbmtleSBtb2RzIC0tLS0tLS0tLS0gKi8NCg0KKGZ1bmN0aW9uKCkgew0KICBpZih0eXBlb2YgR01fQnJvd3NlclVJICE9ICJvYmplY3QiKSByZXR1cm47DQoNCiAgLy9taW5pbWl6YWJsZSwgbm9uLW1vZGFsIFVzZXIgU2NyaXB0cyBNYW5hZ2VyIGRpYWxvZw0KICBHTV9Ccm93c2VyVUkubWFuYWdlTWVudUl0ZW1DbGlja2VkID0gZnVuY3Rpb24oYUV2ZW50KSB7DQogICAgICB3aW5kb3cub3BlbkRpYWxvZygiY2hyb21lOi8vZ3JlYXNlbW9ua2V5L2NvbnRlbnQvbWFuYWdlLnh1bCIsDQogICAgICAgICAgICAgICAgICAgICAgICAibWFuYWdlciIsDQogICAgICAgICAgICAgICAgICAgICAgICAicmVzaXphYmxlLCBjZW50ZXJzY3JlZW4sIG1vZGFsPW5vLCBkaWFsb2c9bm8iKTsNCiAgfQ0KDQogIC8vbWlkZGxlIGNsaWNrIG9uIEdNIHN0YXR1c2JhciBpY29uIHRvIG9wZW4gVXNlciBTY3JpcHRzIE1hbmFnZXINCiAgdmFyIGdtSWNvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnbS1zdGF0dXMtaW1hZ2UiKTsNCiAgaWYoIWdtSWNvbikgcmV0dXJuOw0KICB2YXIgY2xpY2tFdnQgPSBnbUljb24uZ2V0QXR0cmlidXRlKCJvbmNsaWNrIik7DQogIGdtSWNvbi5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCBjbGlja0V2dCArICI7ICIgKw0KICAgICAgICAgICAgICAgICAgICAgICJlbHNlIGlmIChldmVudC5idXR0b24gPT0gMSkgIiArDQogICAgICAgICAgICAgICAgICAgICAgIkdNX0Jyb3dzZXJVSS5tYW5hZ2VNZW51SXRlbUNsaWNrZWQoKTsiKQ0KDQoNCiAgLy9zb3J0cyBzY3JpcHRzIGxpc3Qgb24gR00gaWNvbiBjb250ZXh0IG1lbnUgYWxwaGFiZXRpY2FsbHkNCiAgZnVuY3Rpb24gR01fc2hvd1BvcHVwX3NvcnRlZChhRXZlbnQpIHsNCiAgICB2YXIgY29uZmlnID0gbmV3IENvbmZpZyhnZXRTY3JpcHRGaWxlKCJjb25maWcueG1sIikpOw0KICAgIGNvbmZpZy5sb2FkKCk7DQogICAgdmFyIHNvcnRlZFNjcmlwdHMgPSBjb25maWcuc2NyaXB0cy5zbGljZSgwLCBjb25maWcuc2NyaXB0cy5sZW5ndGgpOw0KDQogICAgLy8gYnVnIGZpeCwgcGVyc2lzdCB0aGUgc2NyaXB0IG51bWJlcg0KICAgIGZvcih2YXIgaSA9IDA7IGkgPCBzb3J0ZWRTY3JpcHRzLmxlbmd0aDsgaSsrKSB7DQogICAgICBzb3J0ZWRTY3JpcHRzW2ldLnZhbHVlID0gaTsNCiAgICB9DQoNCiAgICBzb3J0ZWRTY3JpcHRzLnNvcnQoZnVuY3Rpb24oYSwgYikgew0KICAgICAgYSA9IGEubmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgICAgYiA9IGIubmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgICAgaWYgKGEgPCBiKSByZXR1cm4gLTE7DQogICAgICBpZiAoYSA%2BIGIpIHJldHVybiAxOw0KICAgICAgcmV0dXJuIDA7DQogICAgfSkNCg0KICAgIHZhciBwb3B1cCA9IGFFdmVudC50YXJnZXQ7DQogICAgdmFyIHVybCA9IGdldEJyb3dzZXIoKS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uLmhyZWY7DQogICAgR01fQnJvd3NlclVJLnN0YXR1c0VuYWJsZWRJdGVtLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsIEdNX2dldEVuYWJsZWQoKSk7DQogICAgZm9yICh2YXIgaSA9IHBvcHVwLmNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA%2BPSAwOyBpLS0pIHsNCiAgICAgIGlmIChwb3B1cC5jaGlsZE5vZGVzW2ldLmhhc0F0dHJpYnV0ZSgidmFsdWUiKSkgew0KICAgICAgICBwb3B1cC5yZW1vdmVDaGlsZChwb3B1cC5jaGlsZE5vZGVzW2ldKTsNCiAgICAgIH0NCiAgICB9DQogICAgdmFyIGZvdW5kSW5qZWN0ZWRTY3JpcHQgPSBmYWxzZTsNCiAgICBmb3IgKHZhciBpID0gMCwgc2NyaXB0ID0gbnVsbDsgc2NyaXB0ID0gc29ydGVkU2NyaXB0c1tpXTsgaSsrKSB7DQogICAgICAvL2FsZXJ0KGkgKyAiOiAiICsgc29ydGVkU2NyaXB0c1tpXS5uYW1lICsgIiwgIiArIGNvbmZpZy5zY3JpcHRzW2ldLm5hbWUpOw0KICAgICAgaW5jbG9vcDoNCiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc2NyaXB0LmluY2x1ZGVzLmxlbmd0aDsgaisrKSB7DQogICAgICAgIHZhciBwYXR0ZXJuID0gY29udmVydDJSZWdFeHAoc2NyaXB0LmluY2x1ZGVzW2pdKTsNCiAgICAgICAgaWYgKHBhdHRlcm4udGVzdCh1cmwpKSB7DQogICAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBzY3JpcHQuZXhjbHVkZXMubGVuZ3RoOyBrKyspIHsNCiAgICAgICAgICAgIHBhdHRlcm4gPSBjb252ZXJ0MlJlZ0V4cChzY3JpcHQuZXhjbHVkZXNba10pOw0KICAgICAgICAgICAgaWYgKHBhdHRlcm4udGVzdCh1cmwpKSB7DQogICAgICAgICAgICAgIGJyZWFrIGluY2xvb3A7DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgIGZvdW5kSW5qZWN0ZWRTY3JpcHQgPSB0cnVlOw0KICAgICAgICAgIHZhciBtaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm1lbnVpdGVtIik7DQogICAgICAgICAgbWkuc2V0QXR0cmlidXRlKCJsYWJlbCIsIHNjcmlwdC5uYW1lKTsNCiAgICAgICAgICBtaS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgc2NyaXB0LnZhbHVlKTsNCiAgICAgICAgICBtaS5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiY2hlY2tib3giKTsNCiAgICAgICAgICBtaS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCBzY3JpcHQuZW5hYmxlZC50b1N0cmluZygpKTsNCiAgICAgICAgICBtaS5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCAiIg0KICAgICAgICAgICAgKyJpZihldmVudC5idXR0b24gPT0gMikgeyINCiAgICAgICAgICAgICsiICBvcGVuSW5FZGl0b3IoIg0KICAgICAgICAgICAgKyIgICAgZ2V0U2NyaXB0RmlsZSgnIitzY3JpcHQuZmlsZW5hbWUrIicpLCINCiAgICAgICAgICAgICsiICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbS1icm93c2VyLWJ1bmRsZScpLmdldFN0cmluZygnZWRpdG9yLnByb21wdCcpIg0KICAgICAgICAgICAgKyIgICk7Ig0KICAgICAgICAgICAgKyIgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ig0KICAgICAgICAgICAgKyJ9OyINCiAgICAgICAgICApOw0KICAgICAgICAgIHBvcHVwLmluc2VydEJlZm9yZShtaSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdtLXN0YXR1cy1uby1zY3JpcHRzLXNlcCIpKTsNCiAgICAgICAgICBicmVhayBpbmNsb29wOw0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnbS1zdGF0dXMtbm8tc2NyaXB0cyIpLmNvbGxhcHNlZCA9IGZvdW5kSW5qZWN0ZWRTY3JpcHQ7DQogIH0NCg0KICBHTV9zaG93UG9wdXAgPSBHTV9zaG93UG9wdXBfc29ydGVkOw0KDQogIC8qIGluc2VydCBXaW5kb3dIb29rIHNuaXBwZXQgaGVyZSAqLw0KICBXaW5kb3dIb29rLnJlZ2lzdGVyKCJjaHJvbWU6Ly9ncmVhc2Vtb25rZXkvY29udGVudC9tYW5hZ2UueHVsIiwNCiAgICBmdW5jdGlvbihhV2luZG93KSB7DQogICAgICBmdW5jdGlvbiBwb3B1bGF0ZUNob29zZXJfc29ydGVkKCkgew0KICAgICAgICB2YXIgc29ydGVkU2NyaXB0cyA9IGFXaW5kb3cuY29uZmlnLnNjcmlwdHMuc2xpY2UoMCxhV2luZG93LmNvbmZpZy5zY3JpcHRzLmxlbmd0aCk7DQogICAgICAgIHNvcnRlZFNjcmlwdHMuc29ydCgNCiAgICAgICAgICBmdW5jdGlvbihhLGIpIHsNCiAgICAgICAgICAgIGE9YS5uYW1lLnRvTG93ZXJDYXNlKCk7DQogICAgICAgICAgICBiPWIubmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgICAgICAgICAgaWYgKGEgPCBiKSByZXR1cm4gLTE7DQogICAgICAgICAgICBpZiAoYSA%2BIGIpIHJldHVybiAxOw0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgfQ0KICAgICAgICApDQogICAgICAgIGZvciAodmFyIGkgPSAwLCBzY3JpcHQgPSBudWxsOyAoc2NyaXB0ID0gc29ydGVkU2NyaXB0c1tpXSk7IGkrKykgew0KICAgICAgICAgIHZhciBsaXN0aXRlbSA9IGFXaW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGlzdGl0ZW0iKTsNCiAgICAgICAgICBsaXN0aXRlbS5zZXRBdHRyaWJ1dGUoImxhYmVsIiwgc2NyaXB0Lm5hbWUpOw0KICAgICAgICAgIGxpc3RpdGVtLnNldEF0dHJpYnV0ZSgiY3JvcCIsICJlbmQiKTsNCiAgICAgICAgICBsaXN0aXRlbS5zY3JpcHQgPSBzY3JpcHQ7DQogICAgICAgICAgaWYgKCFzY3JpcHQuZW5hYmxlZCkgew0KICAgICAgICAgICAgbGlzdGl0ZW0uc3R5bGUuY29sb3IgPSAnZ3JheSc7DQogICAgICAgICAgfQ0KICAgICAgICAgIGFXaW5kb3cubGlzdGJveC5hcHBlbmRDaGlsZChsaXN0aXRlbSk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICBhV2luZG93LnBvcHVsYXRlQ2hvb3NlciA9IHBvcHVsYXRlQ2hvb3Nlcl9zb3J0ZWQ7DQogICAgfQ0KICApOw0KDQp9KSgpOw0K">greasemonkey_mod.uc.js</a>
Last edited by pile0nades on November 23rd, 2006, 4:13 pm, edited 2 times in total.
Linkify bug numbers - test: bug 258287

Zoolcar9

User avatar
 
Posts: 2225
Joined: November 9th, 2004, 6:45 pm
Location: Jakarta, Indonesia (UTC+7)

Post Posted November 22nd, 2006, 8:06 am


Thanks pile0nades, I've fixed mine as well.
The right click to edit a script is a brilliant idea :) thanks again.

My Firefox information | Add-ons | GitHub

"With great power, comes great desire to show it off."

pile0nades
 
Posts: 756
Joined: May 15th, 2005, 2:31 am

Post Posted November 23rd, 2006, 12:43 am

Stop-Reload-Go button

This will combine the stop, reload and go buttons into one. The stop and reload buttons alternate as needed, but when the url bar has focus, the go button is shown.

<a href="data:text/javascript;charset=utf-8;base64,KGZ1bmN0aW9uKCl7DQoNCiAgdmFyIHN0b3BCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTsNCiAgc3RvcEJ1dHRvbi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgIi1tb3otYXBwZWFyYW5jZTogdG9vbGJhcjsgcGFkZGluZzogMCA0cHg7IGJvcmRlcjogbm9uZTsiKTsNCg0KICB2YXIgcmVsb2FkQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlbG9hZC1idXR0b24iKTsNCiAgcmVsb2FkQnV0dG9uLnNldEF0dHJpYnV0ZSgic3R5bGUiLCAiLW1vei1hcHBlYXJhbmNlOiB0b29sYmFyOyBwYWRkaW5nOiAwIDRweDsgYm9yZGVyOiBub25lOyIpOw0KDQogIHZhciBnb0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnby1idXR0b24iKTsNCg0KICB2YXIgbmV3VG9vbGJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRvb2xiYXIiKTsNCiAgbmV3VG9vbGJhci5zZXRBdHRyaWJ1dGUoImlkIiwgInVybGJhci1zdG9wLXJlbG9hZC1nby1idXR0b24tdG9vbGJhciIpOw0KICBuZXdUb29sYmFyLnNldEF0dHJpYnV0ZSgiaWNvbnNpemUiLCAic21hbGwiKTsNCiAgbmV3VG9vbGJhci5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgIm1heC1oZWlnaHQ6IDI2cHg7IHBhZGRpbmc6IDA7IGJvcmRlcjogbm9uZTsiKTsNCiAgbmV3VG9vbGJhci5hcHBlbmRDaGlsZChzdG9wQnV0dG9uKTsNCiAgbmV3VG9vbGJhci5hcHBlbmRDaGlsZChyZWxvYWRCdXR0b24pOw0KDQogIGdvQnV0dG9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5ld1Rvb2xiYXIsIGdvQnV0dG9uKTsNCiAgZ29CdXR0b24uc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCg0KICB2YXIgdXJsYmFyID0gZG9jdW1lbnQuZ2V0QW5vbnltb3VzRWxlbWVudEJ5QXR0cmlidXRlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cmxiYXIiKSwgImFub25pZCIsICJpbnB1dCIpOw0KICB1cmxiYXIuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCBmdW5jdGlvbigpew0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnby1idXR0b24iKS5zdHlsZS5kaXNwbGF5ID0gIi1tb3otYm94IjsNCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXJsYmFyLXN0b3AtcmVsb2FkLWdvLWJ1dHRvbi10b29sYmFyIikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCiAgfSAsIGZhbHNlKTsNCiAgdXJsYmFyLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCBmdW5jdGlvbigpew0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnby1idXR0b24iKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cmxiYXItc3RvcC1yZWxvYWQtZ28tYnV0dG9uLXRvb2xiYXIiKS5zdHlsZS5kaXNwbGF5ID0gIi1tb3otYm94IjsNCiAgfSwgZmFsc2UpOw0KDQp9KSgpOw%3D%3D">stopreloadgo.uc.js</a>

Requires the Stop/Reload CSS code in Stylish or userChrome.css:
Code: Select all
/* Stop-Reload Button */
#stop-button[disabled="true"],
#stop-button:not([disabled]) + #reload-button {
  display:none !important;
}
Last edited by pile0nades on November 23rd, 2006, 4:11 pm, edited 1 time in total.
Linkify bug numbers - test: bug 258287

Zoolcar9

User avatar
 
Posts: 2225
Joined: November 9th, 2004, 6:45 pm
Location: Jakarta, Indonesia (UTC+7)

Post Posted November 23rd, 2006, 9:12 am


pile0nades, you can remove the <a href="data:application/x-javascript;base64,Ly8gYWRkIEdNIE1hbmFnZXIgc3RyaW5nYnVuZGxlCnZhciBidW5kbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHJpbmdidW5kbGUiKTsKYnVuZGxlLnNldEF0dHJpYnV0ZSgic3JjIiwgImNocm9tZTovL2dyZWFzZW1vbmtleS9sb2NhbGUvZ20tbWFuYWdlLnByb3BlcnRpZXMiKTsKYnVuZGxlLnNldEF0dHJpYnV0ZSgiaWQiLCAiZ20tbWFuYWdlLWJ1bmRsZSIpOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RyaW5nYnVuZGxlc2V0IikuYXBwZW5kQ2hpbGQoYnVuZGxlKTs%3D">add GM Manager stringbundle</a> in greasemonkey_mod.uc.js
I just found out Greasemonkey already had a stringbundle (chrome://greasemonkey/locale/gm-browser.properties) for browser window on statusbar (id="<code>gm-browser-bundle</code>")
and replace
Code: Select all
document.getElementById('gm-manage-bundle').getString('editor.prompt')"
with
Code: Select all
document.getElementById('gm-browser-bundle').getString('editor.prompt')"


My Firefox information | Add-ons | GitHub

"With great power, comes great desire to show it off."

pile0nades
 
Posts: 756
Joined: May 15th, 2005, 2:31 am

Post Posted November 23rd, 2006, 4:18 pm

^^updated, thanks.
Linkify bug numbers - test: bug 258287

Eygte450

User avatar
 
Posts: 179
Joined: July 20th, 2006, 12:52 pm

Post Posted November 24th, 2006, 11:24 am

Could anyone write a script to bypass the Google Images frame?

Zoolcar9

User avatar
 
Posts: 2225
Joined: November 9th, 2004, 6:45 pm
Location: Jakarta, Indonesia (UTC+7)

Post Posted November 24th, 2006, 11:28 am

My Firefox information | Add-ons | GitHub

"With great power, comes great desire to show it off."

Old Greg S
 
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post Posted November 24th, 2006, 10:45 pm

Is it possible to have a sript that will work like one of the options in tabmix plus, tab width fits tab title up to the default width of 250px?

Eygte450

User avatar
 
Posts: 179
Joined: July 20th, 2006, 12:52 pm

Post Posted November 25th, 2006, 11:10 pm

Zoolcar9 wrote:
CustomizeGoogle



Is this the only way? using the extension CustomizeGoogle?
The script can't be done?

pile0nades
 
Posts: 756
Joined: May 15th, 2005, 2:31 am

Post Posted November 26th, 2006, 12:53 am

FalledAngel wrote:
Zoolcar9 wrote:
CustomizeGoogle



Is this the only way? using the extension CustomizeGoogle?
The script can't be done?


http://userscripts.org/scripts/show/792
Linkify bug numbers - test: bug 258287

Chad-)
 
Posts: 166
Joined: August 29th, 2005, 7:01 am

Post Posted November 26th, 2006, 9:40 am

Can anyone write a script that generates a list of all the extensions installed like Listzilla? Maybe it could add a 'Generate List' text link next to 'Get extensions' in the addons manager window.

Old Greg S
 
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post Posted December 3rd, 2006, 6:41 am

Does window.status not work as far as using the clock in there in place of the Done label? I know that it works from within a page but can't get it to work as previously mentioned.

aaron

User avatar
 
Posts: 3130
Joined: November 4th, 2002, 8:49 pm
Location: Texas

Post Posted December 3rd, 2006, 10:09 am

I don't know if this has been requested or not...

Is there something I could put into my userchrome.js file that would give me right-click functionality for bookmarks in the bookmarks toolbar for Seamonkey? Firefox has this just fine, but Seamonkey is lacking in this department. I can right-click on an item if it is not in a folder, or on the root of a folder, but not on something within a folder. Also, on this same topic, if it can be done to give the right-click menu, could I get an "Open in Tabs" menu item?

In the image below, the items boxed in red do not have a right-click menu, those are the ones I'm wanting to get a right-click menu for. I'd like the "Open in Tabs" menu item for all bookmarks though. Thanks!
Image

Zoolcar9

User avatar
 
Posts: 2225
Joined: November 9th, 2004, 6:45 pm
Location: Jakarta, Indonesia (UTC+7)

Post Posted December 3rd, 2006, 11:23 am

Greg S wrote:Does window.status not work as far as using the clock in there in place of the Done label? I know that it works from within a page but can't get it to work as previously mentioned.

Code: Select all
document.getElementById("statusbar-display").label = timestr

or
Code: Select all
document.getElementById("statusbar-display").setAttribute("label", timestr);


My Firefox information | Add-ons | GitHub

"With great power, comes great desire to show it off."

Old Greg S
 
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post Posted December 3rd, 2006, 12:31 pm

Zoolcar9 wrote:
Greg S wrote:Does window.status not work as far as using the clock in there in place of the Done label? I know that it works from within a page but can't get it to work as previously mentioned.

Code: Select all
document.getElementById("statusbar-display").label = timestr

or
Code: Select all
document.getElementById("statusbar-display").setAttribute("label", timestr);





Thanks, I'm trying but getting no where. If you experiment and get it working, please post it

Return to Extension/Theme Releases


Who is online

Users browsing this forum: No registered users and 2 guests