From 67454b566f70909a14bab5c7ff313a4be96eee83 Mon Sep 17 00:00:00 2001 From: Andreas Neumann Date: Tue, 12 Sep 2017 12:00:45 +0200 Subject: [PATCH] Add PlanetRomeo --- README.md | 3 +- app/store/ServicesList.js | 1666 ++++++++++++++++--------------- resources/icons/planetromeo.png | Bin 0 -> 22575 bytes 3 files changed, 841 insertions(+), 828 deletions(-) create mode 100644 resources/icons/planetromeo.png diff --git a/README.md b/README.md index 5d3151f4..b5e5d140 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ ![Rambox](https://raw.githubusercontent.com/saenzramiro/rambox/master/resources/screenshots/mac.png) -## Services available - 89 +## Services available - 90 WhatsApp Messenger @@ -132,6 +132,7 @@ Teamwork Chat ClockTweets Intercom +PlanetRomeo





































diff --git a/app/store/ServicesList.js b/app/store/ServicesList.js index 92adb130..bb307f58 100644 --- a/app/store/ServicesList.js +++ b/app/store/ServicesList.js @@ -1,834 +1,846 @@ Ext.define('Rambox.store.ServicesList', { - extend: 'Ext.data.Store' - ,alias: 'store.serviceslist' + extend: 'Ext.data.Store', + alias: 'store.serviceslist' - ,requires: [ - 'Ext.data.proxy.LocalStorage' - ] + , + requires: [ + 'Ext.data.proxy.LocalStorage' + ] - ,model: 'Rambox.model.ServiceList' + , + model: 'Rambox.model.ServiceList' - ,proxy: { - type: 'memory' - } + , + proxy: { + type: 'memory' + } - ,sorters: [{ - property: 'name' - ,direction: 'ASC' - }] + , + sorters: [{ + property: 'name', + direction: 'ASC' + }] - ,autoLoad: true - ,autoSync: true - ,pageSize: 100000 - ,data: [ - { - id: 'whatsapp' - ,logo: 'whatsapp.png' - ,name: 'WhatsApp' - ,description: locale['services[0]'] - ,url: 'https://web.whatsapp.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("infinite-list-item"),b=0;for(i=0;i0||0===a[i].getElementsByClassName("unread-count").length)){var c=parseInt(a[i].getElementsByClassName("unread-count")[0].innerHTML.trim());b+=isNaN(c)?0:c}updateBadge(b)}function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } }setInterval(checkUnread,1e3);' - ,dont_update_unread_from_title: true - }, - { - id: 'slack' - ,logo: 'slack.png' - ,name: 'Slack' - ,description: locale['services[1]'] - ,url: 'https://___.slack.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var e=$(".p-channel_sidebar__channel--unread").length,a=0;$(".p-channel_sidebar__badge").each(function(){a+=isNaN(parseInt($(this).html()))?0:parseInt($(this).html())}),updateBadge(e,a)}function updateBadge(e,a){var n=a>0?"("+a+") ":e>0?"(•) ":"";document.title=n+originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' - }, - { - id: 'noysi' - ,logo: 'noysi.png' - ,name: 'Noysi' - ,description: locale['services[2]'] - ,url: 'https://noysi.com/#/identity/sign-in' - ,type: 'messaging' - }, - { - id: 'messenger' - ,logo: 'messenger.png' - ,name: 'Messenger' - ,description: locale['services[3]'] - ,url: 'https://www.messenger.com/login/' - ,type: 'messaging' - ,titleBlink: true - ,note: 'To enable desktop notifications, you have to go to Options inside Messenger.' - }, - { - id: 'skype' - ,logo: 'skype.png' - ,name: 'Skype' - ,description: locale['services[4]'] - ,url: 'https://web.skype.com/' - ,type: 'messaging' - ,userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586' - ,note: 'Text and Audio calls are supported only. Read more...' - }, - { - id: 'hangouts' - ,logo: 'hangouts.png' - ,name: 'Hangouts' - ,description: locale['services[5]'] - ,url: 'https://hangouts.google.com/' - ,type: 'messaging' - ,titleBlink: true - ,manual_notifications: true - ,dont_update_unread_from_title: true - ,js_unread: 'function checkUnread(){updateBadge(document.getElementById("hangout-landing-chat").lastChild.contentWindow.document.body.getElementsByClassName("ee").length)}function updateBadge(e){e>=1?rambox.setUnreadCount(e):rambox.clearUnreadCount()}setInterval(checkUnread,3000);' - }, - { - id: 'hipchat' - ,logo: 'hipchat.png' - ,name: 'HipChat' - ,description: locale['services[6]'] - ,url: 'https://___.hipchat.com/chat' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("hc-badge"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - ,custom_domain: true - }, - { - id: 'telegram' - ,logo: 'telegram.png' - ,name: 'Telegram' - ,description: locale['services[7]'] - ,url: 'https://web.telegram.org/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("im_dialog_badge badge"),t=0;for(i=0;i=1?rambox.setUnreadCount(e):rambox.clearUnreadCount()}setInterval(checkUnread,3000);' - ,dont_update_unread_from_title: true - }, - { - id: 'wechat' - ,logo: 'wechat.png' - ,name: 'WeChat' - ,description: locale['services[8]'] - ,url: 'https://web.wechat.com/' - ,type: 'messaging' - }, - { - id: 'gmail' - ,logo: 'gmail.png' - ,name: 'Gmail' - ,description: locale['services[9]'] - ,url: 'https://mail.google.com/mail/' - ,type: 'email' - ,allow_popups: true - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("aim")[0];updateBadge(-1!=a.textContent.indexOf("(")&&(t=parseInt(a.textContent.replace(/[^0-9]/g,""))))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - ,note: 'To enable desktop notifications, you have to go to Settings inside Gmail. Read more...' - ,dont_update_unread_from_title: true - }, - { - id: 'inbox' - ,logo: 'inbox.png' - ,name: 'Inbox' - ,description: locale['services[10]'] - ,url: 'http://inbox.google.com/?cid=imp' - ,type: 'email' - ,manual_notifications: true - ,js_unread: 'function checkUnread(){updateBadge(document.getElementsByClassName("ss").length)}function updateBadge(a){a>=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' - ,note: 'Please be sure to sign out of Hangouts inside Inbox, as it causes problems. Read more...' - }, - { - id: 'chatwork' - ,logo: 'chatwork.png' - ,name: 'ChatWork' - ,description: locale['services[11]'] - ,url: 'https://www.chatwork.com/login.php' - ,type: 'messaging' - ,note: 'To enable desktop notifications, you have to go to Options inside ChatWork.' - }, - { - id: 'groupme' - ,logo: 'groupme.png' - ,name: 'GroupMe' - ,description: locale['services[12]'] - ,url: 'https://web.groupme.com/signin' - ,type: 'messaging' - ,note: 'To enable desktop notifications, you have to go to Options inside GroupMe. To count unread messages, be sure to be in Chats.' - ,js_unread: 'function checkUnread(){var a=document.querySelectorAll(".badge-count"),b=0;for(i=0;i=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - ,dont_update_unread_from_title: true - }, - { - id: 'grape' - ,logo: 'grape.png' - ,name: 'Grape' - ,description: locale['services[13]'] - ,url: 'https://chatgrape.com/accounts/login/' - ,type: 'messaging' - }, - { - id: 'gitter' - ,logo: 'gitter.png' - ,name: 'Gitter' - ,description: locale['services[14]'] - ,url: 'https://gitter.im/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("room-item__unread-indicator"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'steam' - ,logo: 'steam.png' - ,name: 'Steam Chat' - ,description: locale['services[15]'] - ,url: 'https://steamcommunity.com/chat' - ,type: 'messaging' - ,note: 'To enable desktop notifications, you have to go to Options inside Steam Chat.' - ,js_unread: 'CTitleManager.UpdateTitle = function(){};function checkUnread(){var e=document.getElementsByClassName("unread_message_count_value"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'discord' - ,logo: 'discord.png' - ,name: 'Discord' - ,description: locale['services[16]'] - ,url: 'https://discordapp.com/login' - ,type: 'messaging' - ,titleBlink: true - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("guild unread").length,b=0,c=document.getElementsByClassName("badge");for(i=0;i0?"("+b+") ":a>0?"(•) ":"";document.title=c+originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' - ,note: 'To enable desktop notifications, you have to go to Options inside Discord.' - }, - { - id: 'outlook' - ,logo: 'outlook.png' - ,name: 'Outlook' - ,description: locale['services[17]'] - ,url: 'https://mail.live.com/' - ,type: 'email' - ,manual_notifications: true - ,js_unread: 'function checkUnread(){var a=$(".subfolders [role=treeitem]:first .treeNodeRowElement").siblings().last().text();updateBadge(""===a?0:parseInt(a))}function updateBadge(a){a>=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' - }, - { - id: 'outlook365' - ,logo: 'outlook365.png' - ,name: 'Outlook 365' - ,description: locale['services[18]'] - ,url: 'https://outlook.office.com/owa/' - ,type: 'email' - ,manual_notifications: true - ,js_unread: 'function checkUnread(){var a=$(".subfolders [role=treeitem]:first .treeNodeRowElement").siblings().last().text();updateBadge(""===a?0:parseInt(a))}function updateBadge(a){a>=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' - }, - { - id: 'yahoo' - ,logo: 'yahoo.png' - ,name: 'Yahoo! Mail' - ,description: locale['services[19]'] - ,url: 'https://mail.yahoo.com/' - ,type: 'email' - ,note: 'To enable desktop notifications, you have to go to Options inside Yahoo! Mail.' - ,userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' - }, - { - id: 'protonmail' - ,logo: 'protonmail.png' - ,name: 'ProtonMail' - ,description: locale['services[20]'] - ,url: 'https://mail.protonmail.com/inbox' - ,type: 'email' - }, - { - id: 'protonmailch' - ,logo: 'protonmail.png' - ,name: 'ProtonMail CH' - ,description: locale['services[20]'] - ,url: 'https://app.protonmail.ch/inbox' - ,type: 'email' - ,note: 'Read HERE to see the differences between protonmail.com and protonmail.ch.' - }, - { - id: 'tutanota' - ,logo: 'tutanota.png' - ,name: 'Tutanota' - ,description: locale['services[21]'] - ,url: 'https://app.tutanota.de/' - ,type: 'email' - }, - { - id: 'hushmail' - ,logo: 'hushmail.png' - ,name: 'Hushmail' - ,description: locale['services[22]'] - ,url: 'https://www.hushmail.com/hushmail/index.php' - ,type: 'email' - }, - { - id: 'missive' - ,logo: 'missive.png' - ,name: 'Missive' - ,description: locale['services[23]'] - ,url: 'https://mail.missiveapp.com/login' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("unseen-count"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'rocketchat' - ,logo: 'rocketchat.png' - ,name: 'Rocket Chat' - ,description: locale['services[24]'] - ,url: '___' - ,type: 'messaging' - ,note: 'You have to use this service by signing in with your email or username (No SSO allowed yet).' - }, - { - id: 'wire' - ,logo: 'wire.png' - ,name: 'Wire' - ,description: locale['services[25]'] - ,url: 'https://app.wire.com/' - ,type: 'messaging' - }, - { - id: 'sync' - ,logo: 'sync.png' - ,name: 'Sync' - ,description: locale['services[26]'] - ,url: 'https://m.wantedly.com/login' - ,type: 'messaging' - }, - { - id: 'bearychat' - ,logo: 'bearychat.png' - ,name: 'BearyChat' - ,url: 'https://___.bearychat.com/' - ,type: 'messaging' - }, - { - id: 'yahoomessenger' - ,logo: 'yahoomessenger.png' - ,name: 'Yahoo! Messenger' - ,description: locale['services[28]'] - ,url: 'https://messenger.yahoo.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){updateBadge(document.getElementsByClassName("list-item-unread-indicator").length)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'voxer' - ,logo: 'voxer.png' - ,name: 'Voxer' - ,description: locale['services[29]'] - ,url: 'https://web.voxer.com/' - ,type: 'messaging' - }, - { - id: 'dasher' - ,logo: 'dasher.png' - ,name: 'Dasher' - ,description: locale['services[30]'] - ,url: 'https://dasher.im/' - ,type: 'messaging' - }, - { - id: 'flowdock' - ,logo: 'flowdock.png' - ,name: 'Flowdock' - ,description: locale['services[31]'] - ,url: 'https://www.flowdock.com/login' - ,type: 'messaging' - }, - { - id: 'mattermost' - ,logo: 'mattermost.png' - ,name: 'Mattermost' - ,description: locale['services[32]'] - ,url: '___' - ,type: 'messaging' - ,js_unread: 'Object.defineProperty(document,"title",{configurable:!0,set:function(a){document.getElementsByTagName("title")[0].innerHTML=a[0]==="*"?"(•) Mattermost":a},get:function(){return document.getElementsByTagName("title")[0].innerHTML}});' - }, - { - id: 'dingtalk' - ,logo: 'dingtalk.png' - ,name: 'DingTalk' - ,description: locale['services[33]'] - ,url: 'https://im.dingtalk.com/' - ,type: 'messaging' - }, - { - id: 'mysms' - ,logo: 'mysms.png' - ,name: 'mysms' - ,description: locale['services[34]'] - ,url: 'https://app.mysms.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("unread"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}"https://app.mysms.com/#login"===document.baseURI&&(document.getElementsByClassName("innerPanel")[0].rows[0].style.display="none",document.getElementsByClassName("innerPanel")[0].rows[1].cells[0].firstElementChild.style.display="none",document.getElementsByClassName("msisdnLoginPanel")[0].style.display="inline");var originalTitle=document.title;setInterval(checkUnread,3000);' - ,note: 'You have to use this service by signing in with your mobile number.' - }, - { - id: 'icq' - ,logo: 'icq.png' - ,name: 'ICQ' - ,description: locale['services[35]'] - ,url: 'https://web.icq.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementsByClassName("nwa-msg-counter")[0].style.display==="block"?document.getElementsByClassName("nwa-msg-counter")[0].innerHTML.trim():0))}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'tweetdeck' - ,logo: 'tweetdeck.png' - ,name: 'TweetDeck' - ,description: locale['services[36]'] - ,url: 'https://tweetdeck.twitter.com/' - ,type: 'messaging' - }, - { - id: 'custom' - ,logo: 'custom.png' - ,name: '_Custom Service' - ,description: locale['services[38]'] - ,url: '___' - ,type: 'custom' - ,allow_popups: true - }, - { - id: 'zinc' - ,logo: 'zinc.png' - ,name: 'Zinc' - ,description: locale['services[39]'] - ,url: 'https://zinc-app.com/' - ,type: 'messaging' - }, - { - id: 'freenode' - ,logo: 'freenode.png' - ,name: 'FreeNode' - ,description: locale['services[40]'] - ,url: 'https://webchat.freenode.net/' - ,type: 'messaging' - }, - { - id: 'mightytext' - ,logo: 'mightytext.png' - ,name: 'Mighty Text' - ,description: locale['services[41]'] - ,url: 'https://mightytext.net/web/' - ,type: 'messaging' - }, - { - id: 'roundcube' - ,logo: 'roundcube.png' - ,name: 'Roundcube' - ,description: locale['services[42]'] - ,url: '___' - ,type: 'email' - }, - { - id: 'horde' - ,logo: 'horde.png' - ,name: 'Horde' - ,description: locale['services[43]'] - ,url: '___' - ,type: 'email' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("count"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - ,note: 'To enable desktop notifications and automatic mail check, you have to go to Options inside Horde.' - }, - { - id: 'squirrelmail' - ,logo: 'squirrelmail.png' - ,name: 'SquirrelMail' - ,description: locale['services[44]'] - ,url: '___' - ,type: 'email' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("leftunseen"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'zohoemail' - ,logo: 'zohoemail.png' - ,name: 'Zoho Email' - ,description: locale['services[45]'] - ,url: 'https://mail.zoho.com/' - ,type: 'email' - ,js_unread: 'zmail.aInfo[zmail.accId].mailId = "a";' - ,note: 'To enable desktop notifications, you have to go to Settings inside Zoho Email.' - }, - { - id: 'zohochat' - ,logo: 'zohochat.png' - ,name: 'Zoho Chat' - ,description: locale['services[46]'] - ,url: 'https://chat.zoho.com/' - ,type: 'messaging' - ,js_unread: 'NotifyByTitle.show = function(){};NotifyByTitle.start = function(){};NotifyByTitle.stop = function(){};function checkUnread(){var t=0;$(".msgnotify").each(function() { t += isNaN(parseInt($(this).html())) ? 0 : parseInt(parseInt($(this).html())) });updateBadge(t)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'aol' - ,logo: 'aol.png' - ,name: 'Aol' - ,description: 'Free and simple (old) webmail service.' - ,url: 'https://mail.aol.com/' - ,type: 'email' - }, - { - id: 'glip' - ,logo: 'glip.png' - ,name: 'Glip' - ,description: 'Glip is fully searchable, real-time group chat & video chat, task management, file sharing, calendars and more.' - ,url: 'https://glip.com/' - ,type: 'messaging' - ,note: 'To enable desktop notifications, you have to go to Options inside Glip.' - }, - { - id: 'yandex' - ,logo: 'yandex.png' - ,name: 'Yandex Mail' - ,description: 'Yandex is a free webmail service with unlimited mail storage, protection from viruses and spam, access from web interface, etc.' - ,url: 'https://mail.yandex.com/' - ,type: 'email' - ,js_unread: 'function checkUnread(){var t=parseInt($(".mail-MessagesFilters-Item_unread .mail-LabelList-Item_count").html());updateBadge(isNaN(t)?0:t)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'irccloud' - ,logo: 'irccloud.png' - ,name: 'IRCCloud' - ,description: 'IRCCloud is a modern IRC client that keeps you connected, with none of the baggage.' - ,url: 'https://www.irccloud.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var t=0;[].map.call(document.querySelectorAll(".bufferBadges > .badge"),n=>n.textContent?parseInt(n.textContent,10):0).reduce((x,y)=>x+y,0);updateBadge(t)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - ,custom_domain: true - }, - { - id: 'ryver' - ,logo: 'ryver.png' - ,name: 'Ryver' - ,description: 'Ryver is a team communication tool that organizes team collaboration, chats, files, and even emails into a single location, for any size team, for FREE.' - ,url: 'https://___.ryver.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementsByClassName("scene-space-tab-button--flash").length))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - }, - { - id: 'aim' - ,logo: 'aim.png' - ,name: 'Aim' - ,description: 'Aim offers free Text Messaging, Group Conversations, Media Sharing, Social Notifications, and more.' - ,url: 'http://aim.com/' - ,type: 'messaging' - }, - { - id: 'kiwi' - ,logo: 'kiwi.png' - ,name: 'Kiwi IRC' - ,description: 'KiwiIRC makes Web IRC easy. A hand-crafted IRC client that you can enjoy. Designed to be used easily and freely.' - ,url: 'https://kiwiirc.com/client' - ,type: 'messaging' - ,js_unread: 'function getUnreadCount(){var a=0;$(".activity").each(function(){a+=parseInt($(this).html())});var b=!1;return $(".panel[style*=\'display:block\'] .msg").each(function(){b?a++:$(this).hasClass("last_seen")&&(b=!0)}),a}function updateTitle(a){count=getUnreadCount(),cleanTitle=a.match(re),null!==cleanTitle&&cleanTitle.length>1?cleanTitle=cleanTitle[1]:cleanTitle=a,a=count>0?"("+getUnreadCount()+") "+cleanTitle:cleanTitle,$("title").text(a)}var re=/\(\d+\)[ ](.*)/;Object.defineProperty(document,"title",{configurable:!0,set:function(a){updateTitle(a)},get:function(){return $("title").text()}}),setInterval(function(){updateTitle(document.title)},3e3);' - ,custom_domain: true - }, - { - id: 'icloud' - ,logo: 'icloud.png' - ,name: 'iCloud Mail' - ,description: 'iCloud makes sure you always have the latest versions of your most important things — documents, photos, notes, contacts, and more — on all your devices. It can even help you locate a missing iPhone, iPad, iPod touch or Mac.' - ,url: 'https://www.icloud.com/#mail' - ,type: 'email' - ,js_unread: 'function checkUnread(){updateBadge(document.querySelector(".current-app").querySelector(".sb-badge").style.display==="none"?0:parseInt(document.querySelector(".current-app").querySelector(".text").innerHTML.trim()))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - ,dont_update_unread_from_title: true - }, - { - id: 'rainloop' - ,logo: 'rainloop.png' - ,name: 'RainLoop' - ,description: 'RainLoop Webmail - Simple, modern & fast web-based email client.' - ,url: '___' - ,type: 'email' - ,js_unread: 'function checkUnread(){var a=document.querySelectorAll(".e-item .e-link:not(.hidden) .badge.pull-right.count"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);' - }, - { - id: 'amium' - ,logo: 'amium.png' - ,name: 'Amium' - ,description: 'Amium turns any file into a real-time activity feed and conversation. So you can work better, together.' - ,url: 'https://___.amium.com/' - ,type: 'messaging' - }, - { - id: 'hootsuite' - ,logo: 'hootsuite.png' - ,name: 'Hootsuite' - ,description: 'Enhance your social media management with Hootsuite, the leading social media dashboard. Manage multiple networks and profiles and measure your campaign results.' - ,url: 'https://hootsuite.com/dashboard' - ,type: 'messaging' - }, - { - id: 'zimbra' - ,logo: 'zimbra.png' - ,name: 'Zimbra' - ,description: 'Over 500 million people rely on Zimbra and enjoy enterprise-class open source email collaboration at the lowest TCO in the industry. Discover the benefits!' - ,url: '___' - ,type: 'email' - ,js_unread: 'function check_unread(){update_badge(appCtxt.getById(ZmFolder.ID_INBOX).numUnread)}function update_badge(a){document.title=a>0?"("+a+") "+original_title:original_title}const original_title=document.title;setInterval(check_unread,3e3);' - }, - { - id: 'kaiwa' - ,logo: 'kaiwa.png' - ,name: 'Kaiwa' - ,description: 'A modern and Open Source Web client for XMPP.' - ,url: '___' - ,type: 'messaging' - ,js_unread: 'function check_unread() { let count=0; for (let node of document.getElementsByClassName("unread")){ if (node.innerHTML){ count += parseInt(node.innerHTML); } } update_badge(count);}function update_badge(a) { document.title = a > 0 ? "(" + a + ") " + original_title : original_title}const original_title = document.title;setInterval(check_unread, 3e3);' - }, - { - id: 'movim' - ,logo: 'movim.png' - ,name: 'Movim' - ,description: 'Movim is a decentralized social network, written in PHP and HTML5 and based on the XMPP standard protocol.' - ,url: 'https://___.movim.eu/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("color dark"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' - ,custom_domain: true - }, - { - id: 'pushbullet' - ,logo: 'pushbullet.png' - ,name: 'Pushbullet' - ,description: 'Pushbullet connects your devices, making them feel like one.' - ,url: 'https://www.pushbullet.com/' - ,type: 'messaging' - }, - { - id: 'riot' - ,logo: 'riot.png' - ,name: 'Riot' - ,description: 'Riot is a simple and elegant collaboration environment that gathers all of your different conversations and app integrations into one single app.' - ,url: 'https://riot.im/app/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("mx_RoomTile_nameContainer"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);' - ,custom_domain: true - }, - { - id: 'socialcast' - ,logo: 'socialcast.png' - ,name: 'Socialcast' - ,description: 'Socialcast is the premier enterprise social networking platform that connects people to the knowledge, ideas and resources they need to work more effectively.' - ,url: 'https://___.socialcast.com/' - ,type: 'messaging' - }, - { - id: 'fleep' - ,logo: 'fleep.png' - ,name: 'Fleep' - ,description: 'Fleep enables communication within and across organizations - be it your team chats, project communication or 1:1 conversations.' - ,url: 'https://fleep.io/chat' - ,type: 'messaging' - ,js_unread: 'document.getElementsByClassName("google-login-area")[0].remove();document.getElementsByClassName("microsoft-login-area")[0].remove();' - }, - { - id: 'spark' - ,logo: 'spark.png' - ,name: 'Cisco Spark' - ,description: 'Cisco Spark is for group chat, video calling, and sharing documents with your team. It’s all backed by Cisco security and reliability.' - ,url: 'https://web.ciscospark.com/' - ,type: 'messaging' - }, - { - id: 'drift' - ,logo: 'drift.png' - ,name: 'Drift' - ,description: 'Drift is a messaging app that makes it easy for businesses to talk to their website visitors and customers in real-time, from anywhere.' - ,url: 'https://app.drift.com/' - ,type: 'messaging' - }, - { - id: 'typetalk' - ,logo: 'typetalk.png' - ,name: 'Typetalk' - ,description: 'Typetalk brings fun and ease to team discussions through instant messaging on desktop and mobile devices.' - ,url: 'https://typetalk.in/signin' - ,type: 'messaging' - }, - { - id: 'openmailbox' - ,logo: 'openmailbox.png' - ,name: 'Openmailbox' - ,description: 'Free mail hosting. Respect your rights and your privacy.' - ,url: 'https://app.openmailbox.org/webmail/' - ,type: 'email' - }, - { - id: 'flock' - ,logo: 'flock.png' - ,name: 'Flock' - ,description: 'Flock is a free enterprise tool for business communication. Packed with tons of productivity features, Flock drives efficiency and boosts speed of execution.' - ,url: 'https://web.flock.co/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("unreadMessages no-unread-mentions has-unread"),b=0;for(i=0;i=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - ,dont_update_unread_from_title: true + , + autoLoad: true, + autoSync: true, + pageSize: 100000, + data: [{ + id: 'whatsapp', + logo: 'whatsapp.png', + name: 'WhatsApp', + description: locale['services[0]'], + url: 'https://web.whatsapp.com/', + type: 'messaging', + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("infinite-list-item"),b=0;for(i=0;i0||0===a[i].getElementsByClassName("unread-count").length)){var c=parseInt(a[i].getElementsByClassName("unread-count")[0].innerHTML.trim());b+=isNaN(c)?0:c}updateBadge(b)}function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } }setInterval(checkUnread,1e3);', + dont_update_unread_from_title: true + }, + { + id: 'slack', + logo: 'slack.png', + name: 'Slack', + description: locale['services[1]'], + url: 'https://___.slack.com/', + type: 'messaging', + js_unread: 'function checkUnread(){var e=$(".p-channel_sidebar__channel--unread").length,a=0;$(".p-channel_sidebar__badge").each(function(){a+=isNaN(parseInt($(this).html()))?0:parseInt($(this).html())}),updateBadge(e,a)}function updateBadge(e,a){var n=a>0?"("+a+") ":e>0?"(•) ":"";document.title=n+originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' + }, + { + id: 'noysi', + logo: 'noysi.png', + name: 'Noysi', + description: locale['services[2]'], + url: 'https://noysi.com/#/identity/sign-in', + type: 'messaging' + }, + { + id: 'messenger', + logo: 'messenger.png', + name: 'Messenger', + description: locale['services[3]'], + url: 'https://www.messenger.com/login/', + type: 'messaging', + titleBlink: true, + note: 'To enable desktop notifications, you have to go to Options inside Messenger.' + }, + { + id: 'skype', + logo: 'skype.png', + name: 'Skype', + description: locale['services[4]'], + url: 'https://web.skype.com/', + type: 'messaging', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586', + note: 'Text and Audio calls are supported only. Read more...' + }, + { + id: 'hangouts', + logo: 'hangouts.png', + name: 'Hangouts', + description: locale['services[5]'], + url: 'https://hangouts.google.com/', + type: 'messaging', + titleBlink: true, + manual_notifications: true, + dont_update_unread_from_title: true, + js_unread: 'function checkUnread(){updateBadge(document.getElementById("hangout-landing-chat").lastChild.contentWindow.document.body.getElementsByClassName("ee").length)}function updateBadge(e){e>=1?rambox.setUnreadCount(e):rambox.clearUnreadCount()}setInterval(checkUnread,3000);' + }, + { + id: 'hipchat', + logo: 'hipchat.png', + name: 'HipChat', + description: locale['services[6]'], + url: 'https://___.hipchat.com/chat', + type: 'messaging', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("hc-badge"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);', + custom_domain: true + }, + { + id: 'telegram', + logo: 'telegram.png', + name: 'Telegram', + description: locale['services[7]'], + url: 'https://web.telegram.org/', + type: 'messaging', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("im_dialog_badge badge"),t=0;for(i=0;i=1?rambox.setUnreadCount(e):rambox.clearUnreadCount()}setInterval(checkUnread,3000);', + dont_update_unread_from_title: true + }, + { + id: 'wechat', + logo: 'wechat.png', + name: 'WeChat', + description: locale['services[8]'], + url: 'https://web.wechat.com/', + type: 'messaging' + }, + { + id: 'gmail', + logo: 'gmail.png', + name: 'Gmail', + description: locale['services[9]'], + url: 'https://mail.google.com/mail/', + type: 'email', + allow_popups: true, + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("aim")[0];updateBadge(-1!=a.textContent.indexOf("(")&&(t=parseInt(a.textContent.replace(/[^0-9]/g,""))))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);', + note: 'To enable desktop notifications, you have to go to Settings inside Gmail. Read more...', + dont_update_unread_from_title: true + }, + { + id: 'inbox', + logo: 'inbox.png', + name: 'Inbox', + description: locale['services[10]'], + url: 'http://inbox.google.com/?cid=imp', + type: 'email', + manual_notifications: true, + js_unread: 'function checkUnread(){updateBadge(document.getElementsByClassName("ss").length)}function updateBadge(a){a>=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);', + note: 'Please be sure to sign out of Hangouts inside Inbox, as it causes problems. Read more...' + }, + { + id: 'chatwork', + logo: 'chatwork.png', + name: 'ChatWork', + description: locale['services[11]'], + url: 'https://www.chatwork.com/login.php', + type: 'messaging', + note: 'To enable desktop notifications, you have to go to Options inside ChatWork.' + }, + { + id: 'groupme', + logo: 'groupme.png', + name: 'GroupMe', + description: locale['services[12]'], + url: 'https://web.groupme.com/signin', + type: 'messaging', + note: 'To enable desktop notifications, you have to go to Options inside GroupMe. To count unread messages, be sure to be in Chats.', + js_unread: 'function checkUnread(){var a=document.querySelectorAll(".badge-count"),b=0;for(i=0;i=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);', + dont_update_unread_from_title: true + }, + { + id: 'grape', + logo: 'grape.png', + name: 'Grape', + description: locale['services[13]'], + url: 'https://chatgrape.com/accounts/login/', + type: 'messaging' + }, + { + id: 'gitter', + logo: 'gitter.png', + name: 'Gitter', + description: locale['services[14]'], + url: 'https://gitter.im/', + type: 'messaging', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("room-item__unread-indicator"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'steam', + logo: 'steam.png', + name: 'Steam Chat', + description: locale['services[15]'], + url: 'https://steamcommunity.com/chat', + type: 'messaging', + note: 'To enable desktop notifications, you have to go to Options inside Steam Chat.', + js_unread: 'CTitleManager.UpdateTitle = function(){};function checkUnread(){var e=document.getElementsByClassName("unread_message_count_value"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'discord', + logo: 'discord.png', + name: 'Discord', + description: locale['services[16]'], + url: 'https://discordapp.com/login', + type: 'messaging', + titleBlink: true, + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("guild unread").length,b=0,c=document.getElementsByClassName("badge");for(i=0;i0?"("+b+") ":a>0?"(•) ":"";document.title=c+originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);', + note: 'To enable desktop notifications, you have to go to Options inside Discord.' + }, + { + id: 'outlook', + logo: 'outlook.png', + name: 'Outlook', + description: locale['services[17]'], + url: 'https://mail.live.com/', + type: 'email', + manual_notifications: true, + js_unread: 'function checkUnread(){var a=$(".subfolders [role=treeitem]:first .treeNodeRowElement").siblings().last().text();updateBadge(""===a?0:parseInt(a))}function updateBadge(a){a>=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' + }, + { + id: 'outlook365', + logo: 'outlook365.png', + name: 'Outlook 365', + description: locale['services[18]'], + url: 'https://outlook.office.com/owa/', + type: 'email', + manual_notifications: true, + js_unread: 'function checkUnread(){var a=$(".subfolders [role=treeitem]:first .treeNodeRowElement").siblings().last().text();updateBadge(""===a?0:parseInt(a))}function updateBadge(a){a>=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);' + }, + { + id: 'yahoo', + logo: 'yahoo.png', + name: 'Yahoo! Mail', + description: locale['services[19]'], + url: 'https://mail.yahoo.com/', + type: 'email', + note: 'To enable desktop notifications, you have to go to Options inside Yahoo! Mail.', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' + }, + { + id: 'protonmail', + logo: 'protonmail.png', + name: 'ProtonMail', + description: locale['services[20]'], + url: 'https://mail.protonmail.com/inbox', + type: 'email' + }, + { + id: 'protonmailch', + logo: 'protonmail.png', + name: 'ProtonMail CH', + description: locale['services[20]'], + url: 'https://app.protonmail.ch/inbox', + type: 'email', + note: 'Read HERE to see the differences between protonmail.com and protonmail.ch.' + }, + { + id: 'tutanota', + logo: 'tutanota.png', + name: 'Tutanota', + description: locale['services[21]'], + url: 'https://app.tutanota.de/', + type: 'email' + }, + { + id: 'hushmail', + logo: 'hushmail.png', + name: 'Hushmail', + description: locale['services[22]'], + url: 'https://www.hushmail.com/hushmail/index.php', + type: 'email' + }, + { + id: 'missive', + logo: 'missive.png', + name: 'Missive', + description: locale['services[23]'], + url: 'https://mail.missiveapp.com/login', + type: 'messaging', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("unseen-count"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'rocketchat', + logo: 'rocketchat.png', + name: 'Rocket Chat', + description: locale['services[24]'], + url: '___', + type: 'messaging', + note: 'You have to use this service by signing in with your email or username (No SSO allowed yet).' + }, + { + id: 'wire', + logo: 'wire.png', + name: 'Wire', + description: locale['services[25]'], + url: 'https://app.wire.com/', + type: 'messaging' + }, + { + id: 'sync', + logo: 'sync.png', + name: 'Sync', + description: locale['services[26]'], + url: 'https://m.wantedly.com/login', + type: 'messaging' + }, + { + id: 'bearychat', + logo: 'bearychat.png', + name: 'BearyChat', + url: 'https://___.bearychat.com/', + type: 'messaging' + }, + { + id: 'yahoomessenger', + logo: 'yahoomessenger.png', + name: 'Yahoo! Messenger', + description: locale['services[28]'], + url: 'https://messenger.yahoo.com/', + type: 'messaging', + js_unread: 'function checkUnread(){updateBadge(document.getElementsByClassName("list-item-unread-indicator").length)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'voxer', + logo: 'voxer.png', + name: 'Voxer', + description: locale['services[29]'], + url: 'https://web.voxer.com/', + type: 'messaging' + }, + { + id: 'dasher', + logo: 'dasher.png', + name: 'Dasher', + description: locale['services[30]'], + url: 'https://dasher.im/', + type: 'messaging' + }, + { + id: 'flowdock', + logo: 'flowdock.png', + name: 'Flowdock', + description: locale['services[31]'], + url: 'https://www.flowdock.com/login', + type: 'messaging' + }, + { + id: 'mattermost', + logo: 'mattermost.png', + name: 'Mattermost', + description: locale['services[32]'], + url: '___', + type: 'messaging', + js_unread: 'Object.defineProperty(document,"title",{configurable:!0,set:function(a){document.getElementsByTagName("title")[0].innerHTML=a[0]==="*"?"(•) Mattermost":a},get:function(){return document.getElementsByTagName("title")[0].innerHTML}});' + }, + { + id: 'dingtalk', + logo: 'dingtalk.png', + name: 'DingTalk', + description: locale['services[33]'], + url: 'https://im.dingtalk.com/', + type: 'messaging' + }, + { + id: 'mysms', + logo: 'mysms.png', + name: 'mysms', + description: locale['services[34]'], + url: 'https://app.mysms.com/', + type: 'messaging', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("unread"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}"https://app.mysms.com/#login"===document.baseURI&&(document.getElementsByClassName("innerPanel")[0].rows[0].style.display="none",document.getElementsByClassName("innerPanel")[0].rows[1].cells[0].firstElementChild.style.display="none",document.getElementsByClassName("msisdnLoginPanel")[0].style.display="inline");var originalTitle=document.title;setInterval(checkUnread,3000);', + note: 'You have to use this service by signing in with your mobile number.' + }, + { + id: 'icq', + logo: 'icq.png', + name: 'ICQ', + description: locale['services[35]'], + url: 'https://web.icq.com/', + type: 'messaging', + js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementsByClassName("nwa-msg-counter")[0].style.display==="block"?document.getElementsByClassName("nwa-msg-counter")[0].innerHTML.trim():0))}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'tweetdeck', + logo: 'tweetdeck.png', + name: 'TweetDeck', + description: locale['services[36]'], + url: 'https://tweetdeck.twitter.com/', + type: 'messaging' + }, + { + id: 'custom', + logo: 'custom.png', + name: '_Custom Service', + description: locale['services[38]'], + url: '___', + type: 'custom', + allow_popups: true + }, + { + id: 'zinc', + logo: 'zinc.png', + name: 'Zinc', + description: locale['services[39]'], + url: 'https://zinc-app.com/', + type: 'messaging' + }, + { + id: 'freenode', + logo: 'freenode.png', + name: 'FreeNode', + description: locale['services[40]'], + url: 'https://webchat.freenode.net/', + type: 'messaging' + }, + { + id: 'mightytext', + logo: 'mightytext.png', + name: 'Mighty Text', + description: locale['services[41]'], + url: 'https://mightytext.net/web/', + type: 'messaging' + }, + { + id: 'roundcube', + logo: 'roundcube.png', + name: 'Roundcube', + description: locale['services[42]'], + url: '___', + type: 'email' + }, + { + id: 'horde', + logo: 'horde.png', + name: 'Horde', + description: locale['services[43]'], + url: '___', + type: 'email', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("count"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);', + note: 'To enable desktop notifications and automatic mail check, you have to go to Options inside Horde.' + }, + { + id: 'squirrelmail', + logo: 'squirrelmail.png', + name: 'SquirrelMail', + description: locale['services[44]'], + url: '___', + type: 'email', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("leftunseen"),t=0;for(i=0;i=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'zohoemail', + logo: 'zohoemail.png', + name: 'Zoho Email', + description: locale['services[45]'], + url: 'https://mail.zoho.com/', + type: 'email', + js_unread: 'zmail.aInfo[zmail.accId].mailId = "a";', + note: 'To enable desktop notifications, you have to go to Settings inside Zoho Email.' + }, + { + id: 'zohochat', + logo: 'zohochat.png', + name: 'Zoho Chat', + description: locale['services[46]'], + url: 'https://chat.zoho.com/', + type: 'messaging', + js_unread: 'NotifyByTitle.show = function(){};NotifyByTitle.start = function(){};NotifyByTitle.stop = function(){};function checkUnread(){var t=0;$(".msgnotify").each(function() { t += isNaN(parseInt($(this).html())) ? 0 : parseInt(parseInt($(this).html())) });updateBadge(t)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'aol', + logo: 'aol.png', + name: 'Aol', + description: 'Free and simple (old) webmail service.', + url: 'https://mail.aol.com/', + type: 'email' + }, + { + id: 'glip', + logo: 'glip.png', + name: 'Glip', + description: 'Glip is fully searchable, real-time group chat & video chat, task management, file sharing, calendars and more.', + url: 'https://glip.com/', + type: 'messaging', + note: 'To enable desktop notifications, you have to go to Options inside Glip.' + }, + { + id: 'yandex', + logo: 'yandex.png', + name: 'Yandex Mail', + description: 'Yandex is a free webmail service with unlimited mail storage, protection from viruses and spam, access from web interface, etc.', + url: 'https://mail.yandex.com/', + type: 'email', + js_unread: 'function checkUnread(){var t=parseInt($(".mail-MessagesFilters-Item_unread .mail-LabelList-Item_count").html());updateBadge(isNaN(t)?0:t)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'irccloud', + logo: 'irccloud.png', + name: 'IRCCloud', + description: 'IRCCloud is a modern IRC client that keeps you connected, with none of the baggage.', + url: 'https://www.irccloud.com/', + type: 'messaging', + js_unread: 'function checkUnread(){var t=0;[].map.call(document.querySelectorAll(".bufferBadges > .badge"),n=>n.textContent?parseInt(n.textContent,10):0).reduce((x,y)=>x+y,0);updateBadge(t)}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);', + custom_domain: true + }, + { + id: 'ryver', + logo: 'ryver.png', + name: 'Ryver', + description: 'Ryver is a team communication tool that organizes team collaboration, chats, files, and even emails into a single location, for any size team, for FREE.', + url: 'https://___.ryver.com/', + type: 'messaging', + js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementsByClassName("scene-space-tab-button--flash").length))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' + }, + { + id: 'aim', + logo: 'aim.png', + name: 'Aim', + description: 'Aim offers free Text Messaging, Group Conversations, Media Sharing, Social Notifications, and more.', + url: 'http://aim.com/', + type: 'messaging' + }, + { + id: 'kiwi', + logo: 'kiwi.png', + name: 'Kiwi IRC', + description: 'KiwiIRC makes Web IRC easy. A hand-crafted IRC client that you can enjoy. Designed to be used easily and freely.', + url: 'https://kiwiirc.com/client', + type: 'messaging', + js_unread: 'function getUnreadCount(){var a=0;$(".activity").each(function(){a+=parseInt($(this).html())});var b=!1;return $(".panel[style*=\'display:block\'] .msg").each(function(){b?a++:$(this).hasClass("last_seen")&&(b=!0)}),a}function updateTitle(a){count=getUnreadCount(),cleanTitle=a.match(re),null!==cleanTitle&&cleanTitle.length>1?cleanTitle=cleanTitle[1]:cleanTitle=a,a=count>0?"("+getUnreadCount()+") "+cleanTitle:cleanTitle,$("title").text(a)}var re=/\(\d+\)[ ](.*)/;Object.defineProperty(document,"title",{configurable:!0,set:function(a){updateTitle(a)},get:function(){return $("title").text()}}),setInterval(function(){updateTitle(document.title)},3e3);', + custom_domain: true + }, + { + id: 'icloud', + logo: 'icloud.png', + name: 'iCloud Mail', + description: 'iCloud makes sure you always have the latest versions of your most important things — documents, photos, notes, contacts, and more — on all your devices. It can even help you locate a missing iPhone, iPad, iPod touch or Mac.', + url: 'https://www.icloud.com/#mail', + type: 'email', + js_unread: 'function checkUnread(){updateBadge(document.querySelector(".current-app").querySelector(".sb-badge").style.display==="none"?0:parseInt(document.querySelector(".current-app").querySelector(".text").innerHTML.trim()))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);', + dont_update_unread_from_title: true + }, + { + id: 'rainloop', + logo: 'rainloop.png', + name: 'RainLoop', + description: 'RainLoop Webmail - Simple, modern & fast web-based email client.', + url: '___', + type: 'email', + js_unread: 'function checkUnread(){var a=document.querySelectorAll(".e-item .e-link:not(.hidden) .badge.pull-right.count"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);' + }, + { + id: 'amium', + logo: 'amium.png', + name: 'Amium', + description: 'Amium turns any file into a real-time activity feed and conversation. So you can work better, together.', + url: 'https://___.amium.com/', + type: 'messaging' + }, + { + id: 'hootsuite', + logo: 'hootsuite.png', + name: 'Hootsuite', + description: 'Enhance your social media management with Hootsuite, the leading social media dashboard. Manage multiple networks and profiles and measure your campaign results.', + url: 'https://hootsuite.com/dashboard', + type: 'messaging' + }, + { + id: 'zimbra', + logo: 'zimbra.png', + name: 'Zimbra', + description: 'Over 500 million people rely on Zimbra and enjoy enterprise-class open source email collaboration at the lowest TCO in the industry. Discover the benefits!', + url: '___', + type: 'email', + js_unread: 'function check_unread(){update_badge(appCtxt.getById(ZmFolder.ID_INBOX).numUnread)}function update_badge(a){document.title=a>0?"("+a+") "+original_title:original_title}const original_title=document.title;setInterval(check_unread,3e3);' + }, + { + id: 'kaiwa', + logo: 'kaiwa.png', + name: 'Kaiwa', + description: 'A modern and Open Source Web client for XMPP.', + url: '___', + type: 'messaging', + js_unread: 'function check_unread() { let count=0; for (let node of document.getElementsByClassName("unread")){ if (node.innerHTML){ count += parseInt(node.innerHTML); } } update_badge(count);}function update_badge(a) { document.title = a > 0 ? "(" + a + ") " + original_title : original_title}const original_title = document.title;setInterval(check_unread, 3e3);' + }, + { + id: 'movim', + logo: 'movim.png', + name: 'Movim', + description: 'Movim is a decentralized social network, written in PHP and HTML5 and based on the XMPP standard protocol.', + url: 'https://___.movim.eu/', + type: 'messaging', + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("color dark"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3e3);', + custom_domain: true + }, + { + id: 'pushbullet', + logo: 'pushbullet.png', + name: 'Pushbullet', + description: 'Pushbullet connects your devices, making them feel like one.', + url: 'https://www.pushbullet.com/', + type: 'messaging' + }, + { + id: 'riot', + logo: 'riot.png', + name: 'Riot', + description: 'Riot is a simple and elegant collaboration environment that gathers all of your different conversations and app integrations into one single app.', + url: 'https://riot.im/app/', + type: 'messaging', + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("mx_RoomTile_nameContainer"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);', + custom_domain: true + }, + { + id: 'socialcast', + logo: 'socialcast.png', + name: 'Socialcast', + description: 'Socialcast is the premier enterprise social networking platform that connects people to the knowledge, ideas and resources they need to work more effectively.', + url: 'https://___.socialcast.com/', + type: 'messaging' + }, + { + id: 'fleep', + logo: 'fleep.png', + name: 'Fleep', + description: 'Fleep enables communication within and across organizations - be it your team chats, project communication or 1:1 conversations.', + url: 'https://fleep.io/chat', + type: 'messaging', + js_unread: 'document.getElementsByClassName("google-login-area")[0].remove();document.getElementsByClassName("microsoft-login-area")[0].remove();' + }, + { + id: 'spark', + logo: 'spark.png', + name: 'Cisco Spark', + description: 'Cisco Spark is for group chat, video calling, and sharing documents with your team. It’s all backed by Cisco security and reliability.', + url: 'https://web.ciscospark.com/', + type: 'messaging' + }, + { + id: 'drift', + logo: 'drift.png', + name: 'Drift', + description: 'Drift is a messaging app that makes it easy for businesses to talk to their website visitors and customers in real-time, from anywhere.', + url: 'https://app.drift.com/', + type: 'messaging' + }, + { + id: 'typetalk', + logo: 'typetalk.png', + name: 'Typetalk', + description: 'Typetalk brings fun and ease to team discussions through instant messaging on desktop and mobile devices.', + url: 'https://typetalk.in/signin', + type: 'messaging' + }, + { + id: 'openmailbox', + logo: 'openmailbox.png', + name: 'Openmailbox', + description: 'Free mail hosting. Respect your rights and your privacy.', + url: 'https://app.openmailbox.org/webmail/', + type: 'email' + }, + { + id: 'flock', + logo: 'flock.png', + name: 'Flock', + description: 'Flock is a free enterprise tool for business communication. Packed with tons of productivity features, Flock drives efficiency and boosts speed of execution.', + url: 'https://web.flock.co/', + type: 'messaging', + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("unreadMessages no-unread-mentions has-unread"),b=0;for(i=0;i=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);', + dont_update_unread_from_title: true - }, - { - id: 'crisp' - ,logo: 'crisp.png' - ,name: 'Crisp' - ,description: 'Connect your customers to your team.' - ,url: 'https://app.crisp.im/inbox' - ,type: 'messaging' - }, - { - id: 'smooch' - ,logo: 'smooch.png' - ,name: 'Smooch' - ,description: 'Unified multi-channel messaging for businesses, bots and software makers.' - ,url: 'https://app.smooch.io/' - ,type: 'messaging' - }, - { - id: 'xing', - logo: 'xing.png', - name: 'XING', - description: 'Career-oriented social networking', - url: 'https://www.xing.com/messages/conversations', - type: 'messaging', - js_unread: '(function() { let originalTitle = document.title; function checkUnread() { let count = null; let notificationElement = document.querySelector(\'[data-update="unread_conversations"]\'); if (notificationElement && notificationElement.style.display !== \'none\') { count = parseInt(notificationElement.textContent.trim(), 10); } updateBadge(count); } function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } } setInterval(checkUnread, 3000); checkUnread(); })();', - dont_update_unread_from_title: true - }, - { - id: 'threema', - logo: 'threema.png', - name: 'Threema', - description: 'Seriously secure messaging', - url: 'https://web.threema.ch/', - type: 'messaging', - js_unread: '(function () { let unreadCount = 0; function checkUnread() { let newUnread = 0; try { let webClientService = angular.element(document.documentElement).injector().get(\'WebClientService\'); let conversations = webClientService.conversations.conversations; conversations.forEach(function(conversation) { newUnread += conversation.unreadCount; }); } catch (e) { } if (newUnread !== unreadCount) { unreadCount = newUnread; updateBadge(unreadCount); } } function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } } setInterval(checkUnread, 3000); checkUnread(); })();', - dont_update_unread_from_title: true - }, - { - id: 'workplace' - ,logo: 'workplace.png' - ,name: 'Workplace' - ,description: 'Connect everyone in your company and turn ideas into action. Through group discussion, a personalised News Feed, and voice and video calling, work together and get more done. Workplace is an ad-free space, separate from your personal Facebook account.' - ,url: 'https://___.facebook.com/' - ,type: 'messaging' - }, - { - id: 'teams' - ,logo: 'teams.png' - ,name: 'Teams' - ,description: 'Microsoft Teams is the chat-based workspace in Office 365 that integrates all the people, content, and tools your team needs to be more engaged and effective.' - ,url: 'https://teams.microsoft.com' - ,type: 'messaging' - ,userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' - }, - { - id: 'kezmo' - ,logo: 'kezmo.png' - ,name: 'Kezmo' - ,description: 'Kezmo is an enterprise chat and collaboration tool to help teams get things done. It’s an email alternative for secure team communication.' - ,url: 'https://app.kezmo.com/web/' - ,type: 'messaging' - }, - { - id: 'lounge' - ,logo: 'lounge.png' - ,name: 'The Lounge' - ,description: 'Self-hosted web IRC client.' - ,url: '___' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("badge highlight"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);' - }, - { - id: 'linkedin' - ,logo: 'linkedin.png' - ,name: 'LinkedIn Messaging' - ,description: 'Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.' - ,url: 'https://www.linkedin.com/messaging' - ,type: 'messaging' - }, - { - id: 'zyptonite' - ,logo: 'zyptonite.png' - ,name: 'Zyptonite' - ,description: 'Zyptonite is the ultimate cyber secure communication tool for enterprise customers designed to address the need to securely communicate via voice, video, and chat, and transfer files and information across a global mobile workforce.' - ,url: 'https://app.zyptonite.com/' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var a=document.getElementsByClassName("z-messages"),b=0;for(i=0;i=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - ,dont_update_unread_from_title: true - }, - { - id: 'fastmail' - ,logo: 'fastmail.png' - ,name: 'FastMail' - ,description: 'Secure, reliable email hosting for businesses, families and professionals. Premium email with no ads, excellent spam protection and rapid personal support.' - ,url: 'https://www.fastmail.com/mail/' - ,type: 'mail' - ,js_unread: 'setTimeout(function(){O.WindowController.openExternal=function(a){var b=document.createElement("a");b.href=a,b.setAttribute("target","_blank"),b.click()};},3000);' - }, - { - id: 'hibox' - ,logo: 'hibox.png' - ,name: 'Hibox' - ,description: 'Hibox is a secure and private messaging platform for your business.' - ,url: 'https://app.hibox.co/' - ,type: 'messaging' - }, - { - id: 'jandi' - ,logo: 'jandi.png' - ,name: 'Jandi' - ,description: 'Jandi is a group-oriented enterprise messaging platform with an integrated suite of collaboration tools for workplace.' - ,url: 'https://___.jandi.com/' - ,type: 'messaging' - }, - { - id: 'messengerpages' - ,logo: 'messengerpages.png' - ,name: 'Messenger for Pages' - ,description: 'Chat with the people of your Facebook Page.' - ,url: 'https://facebook.com/___/inbox/' - ,type: 'messaging' - ,js_unread: 'function remove(e){var r=document.getElementById(e);return r.parentNode.removeChild(r)}remove("pagelet_bluebar"),remove("pages_manager_top_bar_container");' - }, - { - id: 'vk' - ,logo: 'vk.png' - ,name: 'VK Messenger' - ,description: 'Simple and Easy App for Messaging on VK.' - ,url: 'https://vk.com/im' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementById("l_msg").innerText.replace(/\D+/g,"")))}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' - }, - { - id: 'mastodon' - ,logo: 'mastodon.png' - ,name: 'Mastodon' - ,description: 'Mastodon is a free, open-source social network server. A decentralized solution to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.' - ,url: 'https://mastodon.social/auth/sign_in' - ,type: 'messaging' - ,custom_domain: true - ,note: 'List of instances' - }, - { - id: 'teamworkchat' - ,logo: 'teamworkchat.png' - ,name: 'Teamwork Chat' - ,description: 'Say goodbye to email. Take your online collaboration to the next level with Teamwork Chat and keep all team discussions in one place. Chat to your team in a fun and informal way with Teamwork Chat.' - ,url: 'https://___.teamwork.com/chat' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementsByClassName("sidebar-notification-indicator").length > 0 ? document.getElementsByClassName("sidebar-notification-indicator")[0].innerHTML : 0))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - ,dont_update_unread_from_title: true - }, - { - id: 'clocktweets' - ,logo: 'clocktweets.png' - ,name: 'ClockTweets' - ,description: 'Schedule your Tweets with love. Save time and manage your social media strategy easily.' - ,url: 'https://clocktweets.com/dashboard/' - ,type: 'messaging' - }, - { - id: 'intercom' - ,logo: 'intercom.png' - ,name: 'Intercom' - ,description: 'Intercom makes it easy to communicate with your customers personally, at scale. Designed to feel like the messaging apps you use every day, Intercom lets you talk to consumers almost anywhere: inside your app, on your website, across social media and via email.' - ,url: 'https://app.intercom.io' - ,type: 'messaging' - }, - { - id: 'allo' - ,logo: 'allo.png' - ,name: 'Allo' - ,description: 'Google Allo is a smart messaging app that helps you say more and do more. Express yourself better with stickers, doodles, and HUGE emojis & text. Allo also brings you the Google Assistant.' - ,url: 'https://allo.google.com/web' - ,type: 'messaging' - ,js_unread: 'function checkUnread(){var e=document.getElementsByClassName("unreadCount"),n=0;for(i=0;i=1?rambox.setUnreadCount(e):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);' - ,dont_update_unread_from_title: true - } - ] -}); + }, + { + id: 'crisp', + logo: 'crisp.png', + name: 'Crisp', + description: 'Connect your customers to your team.', + url: 'https://app.crisp.im/inbox', + type: 'messaging' + }, + { + id: 'smooch', + logo: 'smooch.png', + name: 'Smooch', + description: 'Unified multi-channel messaging for businesses, bots and software makers.', + url: 'https://app.smooch.io/', + type: 'messaging' + }, + { + id: 'xing', + logo: 'xing.png', + name: 'XING', + description: 'Career-oriented social networking', + url: 'https://www.xing.com/messages/conversations', + type: 'messaging', + js_unread: '(function() { let originalTitle = document.title; function checkUnread() { let count = null; let notificationElement = document.querySelector(\'[data-update="unread_conversations"]\'); if (notificationElement && notificationElement.style.display !== \'none\') { count = parseInt(notificationElement.textContent.trim(), 10); } updateBadge(count); } function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } } setInterval(checkUnread, 3000); checkUnread(); })();', + dont_update_unread_from_title: true + }, + { + id: 'threema', + logo: 'threema.png', + name: 'Threema', + description: 'Seriously secure messaging', + url: 'https://web.threema.ch/', + type: 'messaging', + js_unread: '(function () { let unreadCount = 0; function checkUnread() { let newUnread = 0; try { let webClientService = angular.element(document.documentElement).injector().get(\'WebClientService\'); let conversations = webClientService.conversations.conversations; conversations.forEach(function(conversation) { newUnread += conversation.unreadCount; }); } catch (e) { } if (newUnread !== unreadCount) { unreadCount = newUnread; updateBadge(unreadCount); } } function updateBadge(count) { if (count && count >= 1) { rambox.setUnreadCount(count); } else { rambox.clearUnreadCount(); } } setInterval(checkUnread, 3000); checkUnread(); })();', + dont_update_unread_from_title: true + }, + { + id: 'workplace', + logo: 'workplace.png', + name: 'Workplace', + description: 'Connect everyone in your company and turn ideas into action. Through group discussion, a personalised News Feed, and voice and video calling, work together and get more done. Workplace is an ad-free space, separate from your personal Facebook account.', + url: 'https://___.facebook.com/', + type: 'messaging' + }, + { + id: 'teams', + logo: 'teams.png', + name: 'Teams', + description: 'Microsoft Teams is the chat-based workspace in Office 365 that integrates all the people, content, and tools your team needs to be more engaged and effective.', + url: 'https://teams.microsoft.com', + type: 'messaging', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' + }, + { + id: 'kezmo', + logo: 'kezmo.png', + name: 'Kezmo', + description: 'Kezmo is an enterprise chat and collaboration tool to help teams get things done. It’s an email alternative for secure team communication.', + url: 'https://app.kezmo.com/web/', + type: 'messaging' + }, + { + id: 'lounge', + logo: 'lounge.png', + name: 'The Lounge', + description: 'Self-hosted web IRC client.', + url: '___', + type: 'messaging', + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("badge highlight"),b=0;for(i=0;i=1?document.title="("+a+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,1e3);' + }, + { + id: 'linkedin', + logo: 'linkedin.png', + name: 'LinkedIn Messaging', + description: 'Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.', + url: 'https://www.linkedin.com/messaging', + type: 'messaging' + }, + { + id: 'zyptonite', + logo: 'zyptonite.png', + name: 'Zyptonite', + description: 'Zyptonite is the ultimate cyber secure communication tool for enterprise customers designed to address the need to securely communicate via voice, video, and chat, and transfer files and information across a global mobile workforce.', + url: 'https://app.zyptonite.com/', + type: 'messaging', + js_unread: 'function checkUnread(){var a=document.getElementsByClassName("z-messages"),b=0;for(i=0;i=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);', + dont_update_unread_from_title: true + }, + { + id: 'fastmail', + logo: 'fastmail.png', + name: 'FastMail', + description: 'Secure, reliable email hosting for businesses, families and professionals. Premium email with no ads, excellent spam protection and rapid personal support.', + url: 'https://www.fastmail.com/mail/', + type: 'mail', + js_unread: 'setTimeout(function(){O.WindowController.openExternal=function(a){var b=document.createElement("a");b.href=a,b.setAttribute("target","_blank"),b.click()};},3000);' + }, + { + id: 'hibox', + logo: 'hibox.png', + name: 'Hibox', + description: 'Hibox is a secure and private messaging platform for your business.', + url: 'https://app.hibox.co/', + type: 'messaging' + }, + { + id: 'jandi', + logo: 'jandi.png', + name: 'Jandi', + description: 'Jandi is a group-oriented enterprise messaging platform with an integrated suite of collaboration tools for workplace.', + url: 'https://___.jandi.com/', + type: 'messaging' + }, + { + id: 'messengerpages', + logo: 'messengerpages.png', + name: 'Messenger for Pages', + description: 'Chat with the people of your Facebook Page.', + url: 'https://facebook.com/___/inbox/', + type: 'messaging', + js_unread: 'function remove(e){var r=document.getElementById(e);return r.parentNode.removeChild(r)}remove("pagelet_bluebar"),remove("pages_manager_top_bar_container");' + }, + { + id: 'vk', + logo: 'vk.png', + name: 'VK Messenger', + description: 'Simple and Easy App for Messaging on VK.', + url: 'https://vk.com/im', + type: 'messaging', + js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementById("l_msg").innerText.replace(/\D+/g,"")))}function updateBadge(e){e>=1?document.title="("+e+") "+originalTitle:document.title=originalTitle}var originalTitle=document.title;setInterval(checkUnread,3000);' + }, + { + id: 'mastodon', + logo: 'mastodon.png', + name: 'Mastodon', + description: 'Mastodon is a free, open-source social network server. A decentralized solution to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.', + url: 'https://mastodon.social/auth/sign_in', + type: 'messaging', + custom_domain: true, + note: 'List of instances' + }, + { + id: 'teamworkchat', + logo: 'teamworkchat.png', + name: 'Teamwork Chat', + description: 'Say goodbye to email. Take your online collaboration to the next level with Teamwork Chat and keep all team discussions in one place. Chat to your team in a fun and informal way with Teamwork Chat.', + url: 'https://___.teamwork.com/chat', + type: 'messaging', + js_unread: 'function checkUnread(){updateBadge(parseInt(document.getElementsByClassName("sidebar-notification-indicator").length > 0 ? document.getElementsByClassName("sidebar-notification-indicator")[0].innerHTML : 0))}function updateBadge(a){a>=1?rambox.setUnreadCount(a):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);', + dont_update_unread_from_title: true + }, + { + id: 'clocktweets', + logo: 'clocktweets.png', + name: 'ClockTweets', + description: 'Schedule your Tweets with love. Save time and manage your social media strategy easily.', + url: 'https://clocktweets.com/dashboard/', + type: 'messaging' + }, + { + id: 'intercom', + logo: 'intercom.png', + name: 'Intercom', + description: 'Intercom makes it easy to communicate with your customers personally, at scale. Designed to feel like the messaging apps you use every day, Intercom lets you talk to consumers almost anywhere: inside your app, on your website, across social media and via email.', + url: 'https://app.intercom.io', + type: 'messaging' + }, + { + id: 'allo', + logo: 'allo.png', + name: 'Allo', + description: 'Google Allo is a smart messaging app that helps you say more and do more. Express yourself better with stickers, doodles, and HUGE emojis & text. Allo also brings you the Google Assistant.', + url: 'https://allo.google.com/web', + type: 'messaging', + js_unread: 'function checkUnread(){var e=document.getElementsByClassName("unreadCount"),n=0;for(i=0;i=1?rambox.setUnreadCount(e):rambox.clearUnreadCount()}setInterval(checkUnread,3e3);', + dont_update_unread_from_title: true + }, + { + id: 'planetromeo', + logo: 'planetromeo.png', + name: 'PlanetRomeo', + description: 'PlanetRomeo is a international social network for gay, bisexual and transgender people.', + url: 'https://www.planetromeo.com/#/module/messages', + type: 'messaging' + } + ] +}); \ No newline at end of file diff --git a/resources/icons/planetromeo.png b/resources/icons/planetromeo.png new file mode 100644 index 0000000000000000000000000000000000000000..bfce55e086fad5afa76761bab37bb3a9e5c8ce70 GIT binary patch literal 22575 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