├── .gitignore ├── .gitmodules ├── .ycm_extra_conf.py ├── LICENSE ├── README.md ├── aclocal.m4 ├── ambassador ├── Makefile.in ├── app.mozbuild ├── app │ ├── Makefile.in │ ├── ambassador.exe.manifest │ ├── application.ini │ ├── macbuild │ │ └── Contents │ │ │ ├── Info.plist.in │ │ │ ├── MacOS-files.in │ │ │ └── Resources │ │ │ └── English.lproj │ │ │ └── InfoPlist.strings.in │ ├── macversion.py │ ├── module.ver │ ├── moz.build │ ├── nsChatApp.cpp │ ├── profile │ │ ├── ambassador.js │ │ ├── channel-prefs.js │ │ ├── extensions │ │ │ ├── moz.build │ │ │ └── {972ce4c6-7e08-4474-a285-3208198ce6fd} │ │ │ │ ├── Makefile.in │ │ │ │ ├── icon.png │ │ │ │ ├── install.rdf.in │ │ │ │ └── moz.build │ │ ├── pagethemes.rdf │ │ └── prefs.js │ └── splash.rc ├── branding │ ├── VisualElements_150.png │ ├── VisualElements_70.png │ ├── ambassador-branding.js │ ├── ambassador-window.ico │ ├── ambassador-window16.png │ ├── ambassador-window32.png │ ├── ambassador-window48.png │ ├── ambassador.VisualElementsManifest.xml │ ├── ambassador.desktop │ ├── ambassador.icns │ ├── appname.bmp │ ├── background.png │ ├── branding.nsi │ ├── configure.sh │ ├── disk.icns │ ├── document.icns │ ├── dsstore │ ├── firefox.icns │ ├── jar.mn │ ├── locales │ │ ├── en-US │ │ │ ├── brand.dtd │ │ │ └── brand.properties │ │ ├── jar.mn │ │ └── moz.build │ ├── logo-256.png │ ├── logo-512.png │ ├── logo-64.png │ ├── moz.build │ ├── mozicon128.png │ ├── wizHeader.bmp │ ├── wizHeaderRTL.bmp │ └── wizWatermark.bmp ├── build.mk ├── components │ ├── AddonComponents.manifest │ ├── AppComponents.manifest │ ├── ambassador-service.js │ ├── devtools │ │ ├── devtools-loader.js │ │ ├── devtools-loader.manifest │ │ ├── irc-root-actor.js │ │ ├── jar.mn │ │ ├── moz.build │ │ ├── webconsole-overlay.js │ │ └── webconsole-overlay.xul │ └── moz.build ├── config │ └── version.txt ├── confvars.sh ├── installer │ ├── Makefile.in │ ├── package-manifest.in │ ├── removed-files.in │ └── windows │ │ ├── Makefile.in │ │ ├── app.tag │ │ ├── moz.build │ │ └── nsis │ │ ├── defines.nsi.in │ │ ├── installer.nsi │ │ ├── shared.nsh │ │ ├── uninstaller.nsi │ │ └── updater_append.ini ├── jar.mn ├── js │ ├── lib │ │ ├── command-manager.js │ │ ├── connection-xpcom.js │ │ ├── dcc.js │ │ ├── events.js │ │ ├── file-utils.js │ │ ├── http.js │ │ ├── ident.js │ │ ├── irc-debug.js │ │ ├── irc.js │ │ ├── json-serializer.js │ │ ├── menu-manager.js │ │ ├── message-manager.js │ │ ├── pref-manager.js │ │ ├── sts.js │ │ ├── text-logger.js │ │ ├── text-serializer.js │ │ └── utils.js │ └── tests │ │ ├── DP.js │ │ ├── ircbot.js │ │ ├── mingus.js │ │ ├── mybot.js │ │ ├── test_matchobject.js │ │ └── toys.js ├── locales │ ├── Makefile.in │ ├── all-locales │ ├── en-US │ │ ├── ambassador-l10n.js │ │ ├── chrome │ │ │ ├── about.dtd │ │ │ ├── ambassador.dtd │ │ │ ├── ambassador.properties │ │ │ ├── ambassadorOverlay.dtd │ │ │ ├── browserOverlay.dtd │ │ │ ├── channels.dtd │ │ │ ├── config.dtd │ │ │ ├── extensionsOverlay.properties │ │ │ ├── install-plugin.dtd │ │ │ ├── messengerOverlay.dtd │ │ │ ├── networks-list.dtd │ │ │ ├── pref-irc.dtd │ │ │ └── security-info.dtd │ │ ├── defines.inc │ │ └── installer │ │ │ ├── custom.properties │ │ │ ├── mui.properties │ │ │ └── override.properties │ ├── generic │ │ └── install.rdf │ ├── jar.mn │ ├── l10n.ini │ └── moz.build ├── maxversions.mk ├── moz.build ├── moz.configure ├── xpi │ ├── Makefile.in │ ├── install.rdf │ └── moz.build └── xul │ ├── content │ ├── about │ │ ├── about.js │ │ └── about.xul │ ├── ambassador.xul │ ├── ambassadorOverlay.js │ ├── ambassadorOverlay.xul │ ├── bk │ │ └── overlay.xul │ ├── browserOverlay.xul │ ├── channels.js │ ├── channels.xul │ ├── commands.js │ ├── config-add.js │ ├── config-add.xul │ ├── config.css │ ├── config.js │ ├── config.xul │ ├── devtools.js │ ├── dynamic.css │ ├── extensions │ │ ├── extensionsOverlay.js │ │ └── extensionsOverlay.xul │ ├── handlers.js │ ├── il │ │ └── overlay.xul │ ├── install-plugin │ │ ├── install-plugin.js │ │ └── install-plugin.xul │ ├── menus.js │ ├── menus.xul │ ├── messages.js │ ├── messengerOverlay.xul │ ├── mungers.js │ ├── networks-list.css │ ├── networks-list.js │ ├── networks-list.xul │ ├── networks.js │ ├── output-base.css │ ├── output-window.html │ ├── output-window.js │ ├── pm │ │ └── overlay.xul │ ├── popups.xul │ ├── pref-irc-toolkit.xul │ ├── pref-irc.xul │ ├── prefs.js │ ├── prefsOverlay.xul │ ├── scripts.xul │ ├── security-info.js │ ├── security-info.xul │ └── static.js │ ├── lib │ ├── listbox.js │ ├── munger.js │ └── tree-utils.js │ └── skin │ ├── about.css │ ├── ambassador.css │ ├── ambassadorOverlay.css │ ├── browserOverlay.css │ ├── channels.css │ ├── extensionsOverlay.css │ ├── images │ ├── admin-graphic.png │ ├── admin-symbol.png │ ├── arrow-down.png │ ├── drop-indicator-bottom.png │ ├── face-alien.png │ ├── face-angry.png │ ├── face-arrow.png │ ├── face-confused.png │ ├── face-cool.png │ ├── face-cry.png │ ├── face-dizzy-back.png │ ├── face-dizzy.png │ ├── face-eek.png │ ├── face-evil.png │ ├── face-exclaim.png │ ├── face-idea.png │ ├── face-laugh.png │ ├── face-lol.png │ ├── face-mrgreen.png │ ├── face-normal.png │ ├── face-question.png │ ├── face-razz.png │ ├── face-red.png │ ├── face-rofl.png │ ├── face-rolleyes.png │ ├── face-sad.png │ ├── face-smile.png │ ├── face-surprised.png │ ├── face-tongue.png │ ├── face-wink.png │ ├── founder-graphic.png │ ├── founder-symbol.png │ ├── halfop-graphic.png │ ├── halfop-symbol.png │ ├── input-send.png │ ├── logging-off.png │ ├── logging-on.png │ ├── multiline-contract.png │ ├── multiline-expand.png │ ├── no-graphic.png │ ├── no-symbol.png │ ├── offline.png │ ├── online.png │ ├── op-graphic.png │ ├── op-symbol.png │ ├── secure-broken.png │ ├── secure-low.png │ ├── secure.png │ ├── source_png │ │ ├── spbubble-off.png │ │ └── spbubble-on.png │ ├── source_svg │ │ ├── logging.svg │ │ └── userlist_icons.svg │ ├── spbubble-off.png │ ├── spbubble-on.png │ ├── voice-graphic.png │ └── voice-symbol.png │ ├── install-plugin.css │ ├── messengerOverlay.css │ ├── output-dark.css │ ├── output-default.css │ ├── output-light.css │ └── security-info.css ├── build ├── autoconf │ ├── config.guess │ ├── mozconfig-find │ └── mozconfig2client-mk ├── dumbmake-dependencies ├── mach_bootstrap.py ├── pymake │ └── make.py └── pypng │ ├── check-sync-exceptions │ ├── exnumpy.py │ ├── iccp.py │ ├── mkiccp.py │ ├── pdsimgtopng │ ├── pipasgrey │ ├── pipcat │ ├── pipcolours │ ├── pipcomposite │ ├── pipdither │ ├── piprgb │ ├── pipscalez │ ├── pipstack │ ├── pipwindow │ ├── plan9topng.py │ ├── pngchunk │ ├── pnghist │ ├── pnglsch │ └── texttopng ├── client.mk ├── config ├── baseconfig.mk ├── config.mk ├── configobj.py ├── makefiles │ ├── autotargets.mk │ └── makeutils.mk ├── printconfigsetting.py ├── recurse.mk └── rules.mk ├── configure.in ├── configure.py ├── mach ├── moz.build └── moz.configure /.gitignore: -------------------------------------------------------------------------------- 1 | # .gitignore - List of filenames git should ignore 2 | 3 | # Filenames that should be ignored wherever they appear 4 | *~ 5 | *.rej 6 | *.orig 7 | *.pyc 8 | *.pyo 9 | TAGS 10 | tags 11 | ID 12 | .DS_Store* 13 | 14 | # Vim swap files. 15 | .*.sw[a-z] 16 | 17 | # User files that may appear at the root 18 | /.mozconfig* 19 | /mozconfig 20 | /configure 21 | /config.cache 22 | /config.log 23 | /.clang_complete 24 | /mach.ini 25 | 26 | # Ignore the files and directory that Eclipse IDE creates 27 | .project 28 | .cproject 29 | .settings/ 30 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "platform"] 2 | path = platform 3 | url = https://github.com/MoonchildProductions/UXP 4 | -------------------------------------------------------------------------------- /.ycm_extra_conf.py: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | import imp, os, sys 6 | 7 | old_bytecode = sys.dont_write_bytecode 8 | sys.dont_write_bytecode = True 9 | 10 | ycm_module = imp.load_source("_ycm_extra_conf", os.path.join("mozilla", ".ycm_extra_conf.py")) 11 | 12 | sys.dont_write_bytecode = old_bytecode 13 | 14 | # Expose the FlagsForFile function from mozilla/.ycm_extra_conf.py 15 | FlagsForFile = ycm_module.FlagsForFile 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ambassador 2 | 3 | Ambassador is a fork of the ChatZilla IRC client built upon the [Unified XUL Platform](https://github.com/moonchildproductions/uxp). It features a simple, straighforward interface with a number of options for customization and extensibility. It is available as an add-on compatible with other applications built upon UXP, and as a stand-alone package that can be installed and run independently of a browser. 4 | 5 | ## Platform Support 6 | 7 | The add-on is compatible with the following UXP-based applications: 8 | - [Pale Moon](http://www.palemoon.org/) 9 | - [Basilisk](http://basilisk-browser.org/) 10 | - [Interlink](http://binaryoutcast.com/projects/interlink/) 11 | 12 | The stand-alone version can be downloaded in the following formats: 13 | - Windows 64-bit installer 14 | - Windows 64-bit ZIP archive 15 | - Windows 32-bit installer 16 | - Windows 32-bit ZIP archive 17 | - Mac OS X 64-bit DMG file 18 | - Linux 64-bit tarball 19 | 20 | ## Features 21 | 22 | Ambassador includes most of the features found in ChatZilla, along with some unique features of its own. 23 | - IRCv3 support 24 | - Password management 25 | - A window for viewing secure connection details 26 | - An editor for the built-in networks list 27 | - CTCP request notifications 28 | - Several new commands 29 | - Emoji support 30 | - Removed CEIP 31 | 32 | Please see the [release notes](https://github.com/Ascrod/ambassador/releases/) for further details on these new features. 33 | -------------------------------------------------------------------------------- /aclocal.m4: -------------------------------------------------------------------------------- 1 | dnl 2 | dnl Local autoconf macros used with UXP 3 | dnl The contents of this file are under the Public Domain. 4 | dnl 5 | 6 | builtin(include, platform/build/autoconf/toolchain.m4)dnl 7 | builtin(include, platform/build/autoconf/config.status.m4)dnl 8 | builtin(include, platform/build/autoconf/nspr.m4)dnl 9 | builtin(include, platform/build/autoconf/nss.m4)dnl 10 | builtin(include, platform/build/autoconf/pkg.m4)dnl 11 | builtin(include, platform/build/autoconf/codeset.m4)dnl 12 | builtin(include, platform/build/autoconf/altoptions.m4)dnl 13 | builtin(include, platform/build/autoconf/mozprog.m4)dnl 14 | builtin(include, platform/build/autoconf/acwinpaths.m4)dnl 15 | builtin(include, platform/build/autoconf/lto.m4)dnl 16 | builtin(include, platform/build/autoconf/frameptr.m4)dnl 17 | builtin(include, platform/build/autoconf/compiler-opts.m4)dnl 18 | builtin(include, platform/build/autoconf/zlib.m4)dnl 19 | builtin(include, platform/build/autoconf/expandlibs.m4)dnl 20 | 21 | MOZ_PROG_CHECKMSYS() 22 | 23 | # Read the user's .mozconfig script. We can't do this in 24 | # configure.in: autoconf puts the argument parsing code above anything 25 | # expanded from configure.in, and we need to get the configure options 26 | # from .mozconfig in place before that argument parsing code. 27 | dnl MOZ_READ_MOZCONFIG(platform) 28 | -------------------------------------------------------------------------------- /ambassador/Makefile.in: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | include $(topsrcdir)/config/rules.mk 6 | 7 | ifdef MAKENSISU 8 | 9 | # For Windows build the uninstaller during the application build since the 10 | # uninstaller is included with the application for mar file generation. 11 | libs:: 12 | $(MAKE) -C installer/windows uninstaller 13 | endif 14 | -------------------------------------------------------------------------------- /ambassador/app.mozbuild: -------------------------------------------------------------------------------- 1 | # vim: set filetype=python: 2 | # This Source Code Form is subject to the terms of the Mozilla Public 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 | 6 | include('/platform/toolkit/toolkit.mozbuild') 7 | 8 | if CONFIG['MOZ_EXTENSIONS']: 9 | DIRS += ['/extensions'] 10 | 11 | DIRS += [ 12 | '/%s' % CONFIG['MOZ_BRANDING_DIRECTORY'], 13 | '/ambassador', 14 | ] 15 | -------------------------------------------------------------------------------- /ambassador/app/Makefile.in: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | dist_dest = $(DIST)/$(MOZ_MACBUNDLE_NAME) 6 | 7 | # hardcode en-US for the moment 8 | AB_CD = en-US 9 | 10 | DEFINES += \ 11 | -DAB_CD=$(AB_CD) \ 12 | -DAPP_VERSION="$(MOZ_APP_VERSION)" \ 13 | -DAMBASSADOR_ICO=\"$(DIST)/branding/ambassador-window.ico\" \ 14 | $(NULL) 15 | 16 | # Build a binary bootstrapping with XRE_main 17 | 18 | ifndef MOZ_WINCONSOLE 19 | ifdef MOZ_DEBUG 20 | MOZ_WINCONSOLE = 1 21 | else 22 | MOZ_WINCONSOLE = 0 23 | endif 24 | endif 25 | 26 | # This switches $(INSTALL) to copy mode, like $(SYSINSTALL), so things that 27 | # shouldn't get 755 perms need $(IFLAGS1) for either way of calling nsinstall. 28 | NSDISTMODE = copy 29 | 30 | include $(topsrcdir)/config/config.mk 31 | 32 | include $(topsrcdir)/config/rules.mk 33 | 34 | ifeq ($(OS_ARCH),WINNT) 35 | # Rebuild firefox.exe if the manifest changes - it's included by splash.rc. 36 | # (this dependency should really be just for firefox.exe, not other targets) 37 | EXTRA_DEPS += $(PROGRAM).manifest 38 | endif 39 | 40 | PROGRAMS_DEST = $(DIST)/bin 41 | 42 | ifneq (,$(filter-out WINNT,$(OS_ARCH))) 43 | 44 | ifdef COMPILE_ENVIRONMENT 45 | libs:: 46 | cp -p $(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/bin/$(MOZ_APP_NAME)-bin$(BIN_SUFFIX) 47 | endif 48 | 49 | GARBAGE += $(addprefix $(FINAL_TARGET)/defaults/pref/, ambassador.js) 50 | 51 | endif 52 | 53 | ifndef LIBXUL_SDK 54 | # channel-prefs.js is handled separate from other prefs due to bug 756325 55 | libs:: $(srcdir)/profile/channel-prefs.js 56 | $(NSINSTALL) -D $(DIST)/bin/defaults/pref 57 | $(call py_action,preprocessor,-Fsubstitution $(PREF_PPFLAGS) $(ACDEFINES) $^ -o $(DIST)/bin/defaults/pref/channel-prefs.js) 58 | endif 59 | 60 | ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) 61 | 62 | MAC_APP_NAME = $(MOZ_APP_DISPLAYNAME) 63 | 64 | ifdef MOZ_DEBUG 65 | MAC_APP_NAME := $(MAC_APP_NAME)Debug 66 | endif 67 | 68 | AB_CD = $(MOZ_UI_LOCALE) 69 | 70 | AB := $(firstword $(subst -, ,$(AB_CD))) 71 | 72 | clean clobber repackage:: 73 | $(RM) -r $(dist_dest) 74 | 75 | MAC_BUNDLE_VERSION = $(shell $(PYTHON) $(srcdir)/macversion.py --version=$(MOZ_APP_VERSION) --buildid=$(DEPTH)/buildid.h) 76 | 77 | .PHONY: repackage 78 | tools repackage:: $(PROGRAM) 79 | $(MKDIR) -p $(dist_dest)/Contents/MacOS 80 | $(MKDIR) -p $(dist_dest)/Contents/Resources/$(AB).lproj 81 | rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents $(dist_dest) --exclude English.lproj 82 | rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(dist_dest)/Contents/Resources/$(AB).lproj 83 | sed -e 's/%APP_VERSION%/$(MOZ_APP_VERSION)/' -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' -e 's/%MOZ_MACBUNDLE_ID%/$(MOZ_MACBUNDLE_ID)/' -e 's/%MAC_BUNDLE_VERSION%/$(MAC_BUNDLE_VERSION)/' $(srcdir)/macbuild/Contents/Info.plist.in > $(dist_dest)/Contents/Info.plist 84 | sed -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > $(dist_dest)/Contents/Resources/$(AB).lproj/InfoPlist.strings 85 | rsync -a --exclude-from='$(srcdir)/macbuild/Contents/MacOS-files.in' $(DIST)/bin/ $(dist_dest)/Contents/Resources 86 | rsync -a --include-from='$(srcdir)/macbuild/Contents/MacOS-files.in' --exclude '*' $(DIST)/bin/ $(dist_dest)/Contents/MacOS 87 | $(RM) $(dist_dest)/Contents/MacOS/$(PROGRAM) 88 | rsync -aL $(PROGRAM) $(dist_dest)/Contents/MacOS 89 | cp -RL $(DIST)/branding/firefox.icns $(dist_dest)/Contents/Resources/firefox.icns 90 | cp -RL $(DIST)/branding/document.icns $(dist_dest)/Contents/Resources/document.icns 91 | printf APPLMOZB > $(dist_dest)/Contents/PkgInfo 92 | endif 93 | 94 | 95 | -------------------------------------------------------------------------------- /ambassador/app/ambassador.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | Ambassador 10 | 11 | 12 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | true/PM 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /ambassador/app/application.ini: -------------------------------------------------------------------------------- 1 | #if MOZ_APP_STATIC_INI 2 | #ifdef MOZ_BUILD_APP_IS_BROWSER 3 | ; This file is not used. If you modify it and want the application to use 4 | ; your modifications, move it under the browser/ subdirectory and start with 5 | ; the "-app /path/to/browser/application.ini" argument. 6 | #else 7 | ; This file is not used. If you modify it and want the application to use 8 | ; your modifications, start with the "-app /path/to/application.ini" 9 | ; argument. 10 | #endif 11 | #endif 12 | #if 0 13 | ; This Source Code Form is subject to the terms of the Mozilla Public 14 | ; License, v. 2.0. If a copy of the MPL was not distributed with this 15 | ; file, You can obtain one at http://mozilla.org/MPL/2.0/. 16 | #endif 17 | #filter substitution 18 | #include @TOPOBJDIR@/buildid.h 19 | #include @TOPOBJDIR@/source-repo.h 20 | 21 | [App] 22 | # Vendor=@MOZ_APP_VENDOR@ 23 | Vendor=Ascrod 24 | # Name=@MOZ_APP_BASENAME@ 25 | Name=Ambassador 26 | RemotingName=@MOZ_APP_REMOTINGNAME@ 27 | #ifdef MOZ_APP_DISPLAYNAME 28 | CodeName=@MOZ_APP_DISPLAYNAME@ 29 | #endif 30 | Version=@MOZ_APP_VERSION@ 31 | #ifdef MOZ_APP_PROFILE 32 | Profile=@MOZ_APP_PROFILE 33 | #endif 34 | BuildID=@MOZ_BUILDID@ 35 | #ifdef MOZ_SOURCE_STAMP 36 | SourceStamp=@MOZ_SOURCE_STAMP@ 37 | #endif 38 | ID=@MOZ_APP_ID@ 39 | 40 | [Gecko] 41 | MinVersion=@GRE_MILESTONE@ 42 | MaxVersion=@GRE_MILESTONE@ 43 | 44 | [XRE] 45 | EnableExtensionManager=Truly, yes. 46 | -------------------------------------------------------------------------------- /ambassador/app/macbuild/Contents/Info.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleInfoDictionaryVersion6.0 6 | CFBundleIdentifiercom.ascrod.ambassador 7 | CFBundlePackageTypeAPPL 8 | CFBundleExecutableambassador 9 | CFBundleIconFileambassador.icns 10 | NSAppleScriptEnabled 11 | CFBundleNameAmbassador 12 | CFBundleDisplayNameAmbassador 13 | CFBundleGetInfoStringAmbassador @REVISION@ 14 | CFBundleShortVersionString@REVISION@ 15 | CFBundleVersion@REVISION@.@BUILDID@ 16 | 17 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ambassador/app/macbuild/Contents/MacOS-files.in: -------------------------------------------------------------------------------- 1 | /*.app/*** 2 | /*.dylib 3 | /certutil 4 | ambassador-bin 5 | /gtest/*** 6 | /pk12util 7 | /ssltunnel 8 | /xpcshell 9 | /XUL 10 | -------------------------------------------------------------------------------- /ambassador/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | CFBundleName = "%MAC_APP_NAME%"; 6 | -------------------------------------------------------------------------------- /ambassador/app/macversion.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # This Source Code Form is subject to the terms of the Mozilla Public 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 | 6 | 7 | from optparse import OptionParser 8 | import sys 9 | import re 10 | 11 | o = OptionParser() 12 | o.add_option("--buildid", dest="buildid") 13 | o.add_option("--version", dest="version") 14 | 15 | (options, args) = o.parse_args() 16 | 17 | if not options.buildid: 18 | print >>sys.stderr, "--buildid is required" 19 | sys.exit(1) 20 | 21 | if not options.version: 22 | print >>sys.stderr, "--version is required" 23 | sys.exit(1) 24 | 25 | # We want to build a version number that matches the format allowed for 26 | # CFBundleVersion (nnnnn[.nn[.nn]]). We'll incorporate both the version 27 | # number as well as the date, so that it changes at least daily (for nightly 28 | # builds), but also so that newly-built older versions (e.g. beta build) aren't 29 | # considered "newer" than previously-built newer versions (e.g. a trunk nightly) 30 | 31 | define, MOZ_BUILDID, buildid = open(options.buildid, 'r').read().split() 32 | 33 | # extract only the major version (i.e. "14" from "14.0b1") 34 | majorVersion = re.match(r'^(\d+)[^\d].*', options.version).group(1) 35 | # last two digits of the year 36 | twodigityear = buildid[2:4] 37 | month = buildid[4:6] 38 | if month[0] == '0': 39 | month = month[1] 40 | day = buildid[6:8] 41 | if day[0] == '0': 42 | day = day[1] 43 | 44 | print '%s.%s.%s' % (majorVersion + twodigityear, month, day) 45 | -------------------------------------------------------------------------------- /ambassador/app/module.ver: -------------------------------------------------------------------------------- 1 | WIN32_MODULE_COMPANYNAME=Ascrod 2 | WIN32_MODULE_COPYRIGHT=Available under the MPL 2.0. 3 | WIN32_MODULE_PRODUCTVERSION=@MOZ_APP_WINVERSION@ 4 | WIN32_MODULE_PRODUCTVERSION_STRING=@MOZ_APP_VERSION@ 5 | WIN32_MODULE_TRADEMARKS= 6 | WIN32_MODULE_DESCRIPTION=@MOZ_APP_DISPLAYNAME@ 7 | WIN32_MODULE_PRODUCTNAME=@MOZ_APP_DISPLAYNAME@ 8 | WIN32_MODULE_NAME=@MOZ_APP_DISPLAYNAME@ 9 | -------------------------------------------------------------------------------- /ambassador/app/moz.build: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | DIRS += ['profile/extensions'] 8 | 9 | 10 | GeckoProgram(CONFIG['MOZ_APP_NAME']) 11 | 12 | JS_PREFERENCE_PP_FILES += [ 13 | 'profile/ambassador.js', 14 | ] 15 | 16 | if CONFIG['LIBXUL_SDK']: 17 | PREF_JS_EXPORTS += [ 18 | 'profile/channel-prefs.js', 19 | ] 20 | 21 | SOURCES += [ 22 | 'nsChatApp.cpp', 23 | ] 24 | 25 | FINAL_TARGET_FILES.defaults.profile += ['profile/prefs.js'] 26 | 27 | DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION'] 28 | 29 | LOCAL_INCLUDES += [ 30 | '!/build', 31 | ] 32 | 33 | LOCAL_INCLUDES += [ 34 | '/platform/toolkit/xre', 35 | '/platform/xpcom/base', 36 | '/platform/xpcom/build', 37 | ] 38 | 39 | USE_LIBS += [ 40 | 'mozglue', 41 | ] 42 | 43 | if CONFIG['_MSC_VER']: 44 | # Always enter a Windows program through wmain, whether or not we're 45 | # a console application. 46 | WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup'] 47 | 48 | if CONFIG['OS_ARCH'] == 'WINNT': 49 | RCINCLUDE = 'splash.rc' 50 | DEFINES['MOZ_PHOENIX'] = True 51 | 52 | # Control the default heap size. 53 | # This is the heap returned by GetProcessHeap(). 54 | # As we use the CRT heap, the default size is too large and wastes VM. 55 | # 56 | # The default heap size is 1MB on Win32. 57 | # The heap will grow if need be. 58 | # 59 | # Set it to 256k. See bug 127069. 60 | if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']: 61 | LDFLAGS += ['/HEAP:0x40000'] 62 | 63 | DISABLE_STL_WRAPPING = True 64 | 65 | if CONFIG['MOZ_LINKER']: 66 | OS_LIBS += CONFIG['MOZ_ZLIB_LIBS'] 67 | 68 | if CONFIG['HAVE_CLOCK_MONOTONIC']: 69 | OS_LIBS += CONFIG['REALTIME_LIBS'] 70 | -------------------------------------------------------------------------------- /ambassador/app/profile/ambassador.js: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | // This is needed to start Ambassador. 6 | pref("toolkit.defaultChromeURI", "chrome://ambassador/content/ambassador.xul"); 7 | 8 | // Enable the extension manager. 9 | pref("xpinstall.dialog.confirm", "chrome://mozapps/content/xpinstall/xpinstallConfirm.xul"); 10 | pref("xpinstall.dialog.progress.skin", "chrome://mozapps/content/extensions/extensions.xul?type=themes"); 11 | pref("xpinstall.dialog.progress.chrome", "chrome://mozapps/content/extensions/extensions.xul?type=extensions"); 12 | pref("xpinstall.dialog.progress.type.skin", "Extension:Manager-themes"); 13 | pref("xpinstall.dialog.progress.type.chrome", "Extension:Manager-extensions"); 14 | pref("extensions.update.enabled", true); 15 | pref("extensions.update.interval", 86400); 16 | pref("extensions.dss.enabled", false); 17 | pref("extensions.dss.switchPending", false); 18 | pref("extensions.ignoreMTimeChanges", false); 19 | pref("extensions.logging.enabled", false); 20 | pref("general.skins.selectedSkin", "classic/1.0"); 21 | pref("extensions.getAddons.cache.enabled", true); 22 | 23 | // This means nothing because APO doesn't host Ambassador extensions, 24 | // but I have to put something or the extension manager pukes. 25 | pref("extensions.update.url", "https://addons.palemoon.org/"); 26 | 27 | pref("extensions.getAddons.showPane", false); 28 | pref("extensions.logging.enabled", false); 29 | pref("extensions.strictCompatibility", true); 30 | pref("extensions.minCompatibleAppVersion", "1.0"); 31 | 32 | // Make the external protocol service happy 33 | pref("network.protocol-handler.expose-all", false); 34 | pref("network.protocol-handler.expose.irc", true); 35 | pref("network.protocol-handler.expose.ircs", true); 36 | pref("security.dialog_enable_delay", 0); 37 | 38 | // Update prefs 39 | 40 | // Always prompt by default. 41 | pref("app.update.enabled", true); 42 | pref("app.update.auto", false); 43 | pref("app.update.silent", false); 44 | pref("app.update.mode", 0); 45 | pref("app.update.incompatible.mode", 0); 46 | 47 | pref("app.update.url", "http://chatzilla.rdmsoft.com/xulrunner/update/2/%CHANNEL%?v=%VERSION%&b=%BUILD_ID%&o=%BUILD_TARGET%&ov=%OS_VERSION%&pv=%PLATFORM_VERSION%&"); 48 | pref("app.update.url.manual", "https://github.com/ascrod/ambassador/"); 49 | pref("app.update.url.details", "https://github.com/ascrod/ambassador/"); 50 | 51 | // Check every day, if download or install is deferred ask again each day. 52 | pref("app.update.interval", 86400); 53 | pref("app.update.nagTimer.download", 86400); 54 | pref("app.update.nagTimer.restart", 86400); 55 | pref("app.update.timer", 600000); 56 | 57 | // Seems to be broken, and nothing else uses it. 58 | pref("app.update.showInstalledUI", false); 59 | 60 | // Disable SSL session tickets and cache. 61 | // Most servers don't handle them properly, making reconnects a pain, and 62 | // long-term connections don't benefit much from the performance gains. 63 | pref("security.ssl.disable_session_identifiers", true); 64 | -------------------------------------------------------------------------------- /ambassador/app/profile/channel-prefs.js: -------------------------------------------------------------------------------- 1 | #filter substitution 2 | /* This Source Code Form is subject to the terms of the Mozilla Public 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 | 6 | pref("app.update.channel", "@MOZ_UPDATE_CHANNEL@"); 7 | -------------------------------------------------------------------------------- /ambassador/app/profile/extensions/moz.build: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | DIRS += ['{972ce4c6-7e08-4474-a285-3208198ce6fd}'] 8 | -------------------------------------------------------------------------------- /ambassador/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/Makefile.in: -------------------------------------------------------------------------------- 1 | # 2 | # This Source Code Form is subject to the terms of the Mozilla Public 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 | 6 | FILES := \ 7 | install.rdf.in \ 8 | $(NULL) 9 | FILES_PATH = $(FINAL_TARGET)/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} 10 | PP_TARGETS := FILES 11 | 12 | ICON_FILES := icon.png 13 | ICON_DEST = $(FINAL_TARGET)/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} 14 | INSTALL_TARGETS += ICON 15 | -------------------------------------------------------------------------------- /ambassador/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png -------------------------------------------------------------------------------- /ambassador/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | #filter substitution 8 | 9 | 11 | 12 | 13 | {972ce4c6-7e08-4474-a285-3208198ce6fd} 14 | @MOZ_APP_VERSION@ 15 | 16 | 18 | 19 | 20 | @MOZ_APP_ID@ 21 | @MOZ_APP_VERSION@ 22 | @MOZ_APP_VERSION@ 23 | 24 | 25 | 26 | 27 | Default 28 | The default theme. 29 | 30 | 31 | Ascrod 32 | classic/1.0 33 | true 34 | true 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ambassador/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/moz.build: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION'] 8 | DEFINES['MOZ_APP_ID'] = CONFIG['MOZ_APP_ID'] -------------------------------------------------------------------------------- /ambassador/app/profile/pagethemes.rdf: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ambassador/app/profile/prefs.js: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | # Mozilla User Preferences 6 | 7 | /* Do not edit this file. 8 | * 9 | * If you make changes to this file while the browser is running, 10 | * the changes will be overwritten when the browser exits. 11 | * 12 | * To make a manual change to preferences, you can visit the URL about:config 13 | */ 14 | -------------------------------------------------------------------------------- /ambassador/app/splash.rc: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 | /* This Source Code Form is subject to the terms of the Mozilla Public 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 | 6 | #include 7 | #include "nsNativeAppSupportWin.h" 8 | 9 | 1 24 "ambassador.exe.manifest" 10 | 11 | IDI_APPICON ICON AMBASSADOR_ICO 12 | IDI_APPLICATION ICON AMBASSADOR_ICO 13 | 14 | STRINGTABLE DISCARDABLE 15 | BEGIN 16 | IDS_STARTMENU_APPNAME, "@MOZ_APP_DISPLAYNAME@" 17 | END 18 | -------------------------------------------------------------------------------- /ambassador/branding/VisualElements_150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/VisualElements_150.png -------------------------------------------------------------------------------- /ambassador/branding/VisualElements_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/VisualElements_70.png -------------------------------------------------------------------------------- /ambassador/branding/ambassador-branding.js: -------------------------------------------------------------------------------- 1 | #filter substitution 2 | #filter emptyLines 3 | 4 | pref("startup.homepage_override_url","https://www.github.com/ascrod/ambassador/"); 5 | pref("app.releaseNotesURL", "https://www.github.com/ascrod/ambassador/releases/latest/"); 6 | 7 | // Updates disabled 8 | pref("app.update.enabled", false); 9 | pref("app.update.url", ""); 10 | 11 | // Number of usages of the web console or scratchpad. 12 | // If this is less than 5, then pasting code into the web console or scratchpad is disabled 13 | pref("devtools.selfxss.count", 100); 14 | -------------------------------------------------------------------------------- /ambassador/branding/ambassador-window.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/ambassador-window.ico -------------------------------------------------------------------------------- /ambassador/branding/ambassador-window16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/ambassador-window16.png -------------------------------------------------------------------------------- /ambassador/branding/ambassador-window32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/ambassador-window32.png -------------------------------------------------------------------------------- /ambassador/branding/ambassador-window48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/ambassador-window48.png -------------------------------------------------------------------------------- /ambassador/branding/ambassador.VisualElementsManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | -------------------------------------------------------------------------------- /ambassador/branding/ambassador.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Ambassador 3 | GenericName=IRC Client 4 | Comment=A simple, straightforward IRC client. 5 | Keywords=IM;Chat; 6 | Exec=ambassador %u 7 | Terminal=false 8 | Type=Application 9 | Icon=ambassador 10 | Categories=Network;IRCClient 11 | MimeType=x-scheme-handler/irc;x-scheme-handler/ircs; 12 | StartupNotify=True 13 | -------------------------------------------------------------------------------- /ambassador/branding/ambassador.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/ambassador.icns -------------------------------------------------------------------------------- /ambassador/branding/appname.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/appname.bmp -------------------------------------------------------------------------------- /ambassador/branding/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/background.png -------------------------------------------------------------------------------- /ambassador/branding/branding.nsi: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | # NSIS branding defines for release builds. 6 | 7 | # BrandFullNameInternal is used for some registry and file system values 8 | # instead of BrandFullName and typically should not be modified. 9 | !define BrandFullNameInternal "Ambassador" 10 | !define CompanyName "Ascrod" 11 | !define URLInfoAbout "https://www.github.com/ascrod/ambassador/" 12 | !define URLUpdateInfo "https://www.github.com/ascrod/ambassador/releases/latest/" 13 | !define HelpLink "https://www.github.com/ascrod/ambassador/" 14 | !define URLSystemRequirements "https://www.github.com/ascrod/ambassador/" 15 | -------------------------------------------------------------------------------- /ambassador/branding/configure.sh: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | MOZ_APP_DISPLAYNAME=Ambassador 6 | -------------------------------------------------------------------------------- /ambassador/branding/disk.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/disk.icns -------------------------------------------------------------------------------- /ambassador/branding/document.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/document.icns -------------------------------------------------------------------------------- /ambassador/branding/dsstore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/dsstore -------------------------------------------------------------------------------- /ambassador/branding/firefox.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/firefox.icns -------------------------------------------------------------------------------- /ambassador/branding/jar.mn: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | ambassador.jar: 6 | % content branding %content/branding/ contentaccessible=yes 7 | content/branding/icon16.png (ambassador-window16.png) 8 | content/branding/icon32.png (ambassador-window32.png) 9 | content/branding/icon48.png (ambassador-window48.png) 10 | content/branding/icon64.png (logo-64.png) 11 | -------------------------------------------------------------------------------- /ambassador/branding/locales/en-US/brand.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ambassador/branding/locales/en-US/brand.properties: -------------------------------------------------------------------------------- 1 | brandShortName=Ambassador 2 | brandFullName=Ambassador 3 | vendorShortName=Ascrod 4 | -------------------------------------------------------------------------------- /ambassador/branding/locales/jar.mn: -------------------------------------------------------------------------------- 1 | #filter substitution 2 | # This Source Code Form is subject to the terms of the Mozilla Public 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 | 6 | 7 | @AB_CD@.jar: 8 | % locale branding @AB_CD@ %locale/branding/ 9 | locale/branding/brand.dtd (%brand.dtd) 10 | locale/branding/brand.properties (%brand.properties) 11 | -------------------------------------------------------------------------------- /ambassador/branding/locales/moz.build: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | JAR_MANIFESTS += ['jar.mn'] 6 | -------------------------------------------------------------------------------- /ambassador/branding/logo-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/logo-256.png -------------------------------------------------------------------------------- /ambassador/branding/logo-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/logo-512.png -------------------------------------------------------------------------------- /ambassador/branding/logo-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/logo-64.png -------------------------------------------------------------------------------- /ambassador/branding/moz.build: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | DIRS += ['locales'] 6 | 7 | JAR_MANIFESTS += ['jar.mn'] 8 | 9 | if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': 10 | FINAL_TARGET_FILES += [ 11 | 'ambassador.VisualElementsManifest.xml', 12 | ] 13 | FINAL_TARGET_FILES.VisualElements += [ 14 | 'VisualElements_150.png', 15 | 'VisualElements_70.png', 16 | ] 17 | BRANDING_FILES += [ 18 | 'ambassador-window.ico', 19 | 'appname.bmp', 20 | 'branding.nsi', 21 | 'wizHeader.bmp', 22 | 'wizHeaderRTL.bmp', 23 | 'wizWatermark.bmp', 24 | ] 25 | FINAL_TARGET_FILES.chrome.icons.default += [ 26 | 'ambassador-window.ico', 27 | ] 28 | elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': 29 | BRANDING_FILES += [ 30 | 'background.png', 31 | 'disk.icns', 32 | 'document.icns', 33 | 'dsstore', 34 | 'firefox.icns', 35 | ] 36 | elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: 37 | BRANDING_FILES += [ 38 | 'ambassador-window16.png', 39 | 'ambassador-window32.png', 40 | 'ambassador-window48.png', 41 | 'mozicon128.png', 42 | ] 43 | FINAL_TARGET_FILES.icon += ['mozicon128.png'] 44 | FINAL_TARGET_FILES.chrome.icons.default += [ 45 | 'ambassador-window16.png', 46 | 'ambassador-window32.png', 47 | 'ambassador-window48.png', 48 | ] 49 | 50 | JS_PREFERENCE_PP_FILES += [ 51 | 'ambassador-branding.js' 52 | ] 53 | -------------------------------------------------------------------------------- /ambassador/branding/mozicon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/mozicon128.png -------------------------------------------------------------------------------- /ambassador/branding/wizHeader.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/wizHeader.bmp -------------------------------------------------------------------------------- /ambassador/branding/wizHeaderRTL.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/wizHeaderRTL.bmp -------------------------------------------------------------------------------- /ambassador/branding/wizWatermark.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ascrod/ambassador/7d2b260f1a069e2d11718c576d694f9343c096be/ambassador/branding/wizWatermark.bmp -------------------------------------------------------------------------------- /ambassador/build.mk: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | installer: 6 | @$(MAKE) -C ambassador/installer installer 7 | 8 | package: 9 | @$(MAKE) -C ambassador/installer make-archive 10 | 11 | l10n-package: 12 | @$(MAKE) -C ambassador/installer make-langpack 13 | 14 | mozpackage: 15 | @$(MAKE) -C ambassador/installer 16 | 17 | package-compare: 18 | @$(MAKE) -C ambassador/installer package-compare 19 | 20 | stage-package: 21 | @$(MAKE) -C ambassador/installer stage-package make-buildinfo-file 22 | 23 | sdk: 24 | @$(MAKE) -C ambassador/installer make-sdk 25 | 26 | install:: 27 | @$(MAKE) -C ambassador/installer install 28 | 29 | clean:: 30 | @$(MAKE) -C ambassador/installer clean 31 | 32 | distclean:: 33 | @$(MAKE) -C ambassador/installer distclean 34 | 35 | source-package:: 36 | @$(MAKE) -C ambassador/installer source-package 37 | 38 | upload:: 39 | @$(MAKE) -C ambassador/installer upload 40 | 41 | source-upload:: 42 | @$(MAKE) -C ambassador/installer source-upload 43 | 44 | hg-bundle:: 45 | @$(MAKE) -C ambassador/installer hg-bundle 46 | 47 | l10n-check:: 48 | @$(MAKE) -C ambassador/locales l10n-check 49 | 50 | -------------------------------------------------------------------------------- /ambassador/components/AddonComponents.manifest: -------------------------------------------------------------------------------- 1 | component {38a95514-1dd2-11b2-97e7-9da958640f2c} ambassador-service.js 2 | component {f21c35f4-1dd1-11b2-a503-9bf8a539ea39} ambassador-service.js 3 | component {f21c35f4-1dd1-11b2-a503-9bf8a539ea3a} ambassador-service.js 4 | contract @mozilla.org/commandlinehandler/general-startup;1?type=chat-addon {38a95514-1dd2-11b2-97e7-9da958640f2c} 5 | category command-line-handler m-irc @mozilla.org/commandlinehandler/general-startup;1?type=chat-addon 6 | contract @mozilla.org/network/protocol;1?name=irc {f21c35f4-1dd1-11b2-a503-9bf8a539ea39} 7 | contract @mozilla.org/network/protocol;1?name=ircs {f21c35f4-1dd1-11b2-a503-9bf8a539ea3a} 8 | -------------------------------------------------------------------------------- /ambassador/components/AppComponents.manifest: -------------------------------------------------------------------------------- 1 | component {ae6ad015-433b-42ab-9afc-1636af5a7fc4} ambassador-service.js 2 | component {f21c35f4-1dd1-11b2-a503-9bf8a539ea39} ambassador-service.js 3 | component {f21c35f4-1dd1-11b2-a503-9bf8a539ea3a} ambassador-service.js 4 | contract @mozilla.org/commandlinehandler/general-startup;1?type=chat-app {ae6ad015-433b-42ab-9afc-1636af5a7fc4} 5 | category command-line-handler m-irc @mozilla.org/commandlinehandler/general-startup;1?type=chat-app 6 | contract @mozilla.org/network/protocol;1?name=irc {f21c35f4-1dd1-11b2-a503-9bf8a539ea39} 7 | contract @mozilla.org/network/protocol;1?name=ircs {f21c35f4-1dd1-11b2-a503-9bf8a539ea3a} 8 | -------------------------------------------------------------------------------- /ambassador/components/devtools/devtools-loader.js: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | "use strict"; 6 | 7 | const { interfaces: Ci, utils: Cu } = Components; 8 | Cu.import("resource://gre/modules/XPCOMUtils.jsm"); 9 | XPCOMUtils.defineLazyModuleGetter(this, "Services", "resource://gre/modules/Services.jsm"); 10 | 11 | function DevToolsStartup() {} 12 | 13 | DevToolsStartup.prototype = { 14 | QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]), 15 | classID: Components.ID("{089694e9-106a-4704-abf7-62a88545e194}"), 16 | 17 | helpInfo: "", 18 | handle: function (cmdLine) { 19 | this.initialize(); 20 | 21 | // We want to overwrite the -devtools flag and open the toolbox instead 22 | let devtoolsFlag = cmdLine.handleFlag("devtools", false); 23 | if (devtoolsFlag) { 24 | this.handleDevToolsFlag(cmdLine); 25 | } 26 | }, 27 | 28 | handleDevToolsFlag: function (cmdLine) { 29 | Cu.import("resource://devtools/client/framework/ToolboxProcess.jsm"); 30 | BrowserToolboxProcess.init(); 31 | 32 | if (cmdLine.state == Ci.nsICommandLine.STATE_REMOTE_AUTO) { 33 | cmdLine.preventDefault = true; 34 | } 35 | }, 36 | 37 | initialize: function() { 38 | var { devtools, require, DevToolsLoader } = Cu.import("resource://devtools/shared/Loader.jsm", {}); 39 | var { DebuggerServer } = require("devtools/server/main"); 40 | var { gDevTools } = require("devtools/client/framework/devtools"); 41 | var HUDService = require("devtools/client/webconsole/hudservice"); 42 | 43 | if (DebuggerServer.chromeWindowType != "irc:ambassador") { 44 | // Set up the server chrome window type, make sure it can't be set 45 | Object.defineProperty(DebuggerServer, "chromeWindowType", { 46 | get: () => "irc:ambassador", 47 | set: () => {}, 48 | configurable: true 49 | }); 50 | } 51 | 52 | if (gDevTools.chromeWindowType != "irc:ambassador") { 53 | // Set up the client chrome window type, make sure it can't be set 54 | Object.defineProperty(gDevTools, "chromeWindowType", { 55 | get: () => "irc:ambassador", 56 | set: () => {}, 57 | configurable: true 58 | }); 59 | } 60 | 61 | // Make the loader visible to the debugger by default and for the already 62 | // loaded instance. Ambassador now also provides the Browser Toolbox for 63 | // chrome debugging, which uses its own separate loader instance. 64 | DevToolsLoader.prototype.invisibleToDebugger = false; 65 | devtools.invisibleToDebugger = false; 66 | 67 | if (!DebuggerServer.initialized) { 68 | // Initialize and load the toolkit/browser actors 69 | DebuggerServer.init(); 70 | DebuggerServer.addBrowserActors("irc:ambassador"); 71 | } 72 | 73 | if (!DebuggerServer.createRootActor.isIrcRootActor) { 74 | // Register the Ambassador root actor 75 | DebuggerServer.registerModule("resource:///modules/irc-root-actor.js"); 76 | } 77 | } 78 | }; 79 | 80 | this.NSGetFactory = XPCOMUtils.generateNSGetFactory([DevToolsStartup]); 81 | -------------------------------------------------------------------------------- /ambassador/components/devtools/devtools-loader.manifest: -------------------------------------------------------------------------------- 1 | component {089694e9-106a-4704-abf7-62a88545e194} devtools-loader.js 2 | contract @mozilla.org/commandlinehandler/devtools-startup;1 {089694e9-106a-4704-abf7-62a88545e194} 3 | # This command line handler needs to be initialized before the devtools command line 4 | # handler, which currently uses "m-devtools". See details in nsICommandLineHandler.idl. 5 | category command-line-handler m-aaa-irc-devtools @mozilla.org/commandlinehandler/devtools-startup;1 6 | -------------------------------------------------------------------------------- /ambassador/components/devtools/jar.mn: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | ambassador.jar: 6 | % overlay chrome://devtools/content/webconsole/webconsole.xul chrome://ambassador/content/devtools/webconsole-overlay.xul 7 | content/ambassador/devtools/webconsole-overlay.xul (webconsole-overlay.xul) 8 | content/ambassador/devtools/webconsole-overlay.js (webconsole-overlay.js) 9 | -------------------------------------------------------------------------------- /ambassador/components/devtools/moz.build: -------------------------------------------------------------------------------- 1 | # vim: set filetype=python: 2 | # This Source Code Form is subject to the terms of the Mozilla Public 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 | 6 | EXTRA_JS_MODULES += [ 7 | "irc-root-actor.js", 8 | ] 9 | 10 | JAR_MANIFESTS += ['jar.mn'] 11 | 12 | EXTRA_COMPONENTS += [ 13 | "devtools-loader.js", 14 | "devtools-loader.manifest", 15 | ] 16 | -------------------------------------------------------------------------------- /ambassador/components/devtools/webconsole-overlay.js: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | "use strict" 6 | 7 | const {classes: Cc, interfaces: Ci} = Components; 8 | 9 | function openUILinkIn(url) { 10 | var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); 11 | Components.classes["@mozilla.org/uriloader/external-protocol-service;1"] 12 | .getService(Ci.nsIExternalProtocolService) 13 | .loadURI(ios.newURI(url, null, null), window); 14 | } 15 | -------------------------------------------------------------------------------- /ambassador/components/devtools/webconsole-overlay.xul: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 9 | 12 | 19 | 20 | 21 | 22 | 23 |