diff --git a/Airdroid/icon.png b/Airdroid/icon.png new file mode 100644 index 0000000..e963d29 Binary files /dev/null and b/Airdroid/icon.png differ diff --git a/Airdroid/icon.svg b/Airdroid/icon.svg new file mode 100644 index 0000000..0c95a1c --- /dev/null +++ b/Airdroid/icon.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Airdroid/index.js b/Airdroid/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/Airdroid/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/Airdroid/package.json b/Airdroid/package.json new file mode 100644 index 0000000..963ddeb --- /dev/null +++ b/Airdroid/package.json @@ -0,0 +1,23 @@ +{ + "name": "Airdroid", + "version": "1.0.0", + "description": "AirDroid allows you to access and manage your Android phone or tablet from Windows, Mac or the Web, wirelessly, for free. Transfer files between your devices, and share files to your friends.", + "main": "index.js", + "author": "David Sipos ", + "license": "MIT", + "config": { + "serviceURL": "http://web.airdroid.com/", + "serviceName": "Airdroid", + "message": "AirDroid allows you to access and manage your Android phone or tablet from Windows, Mac or the Web, wirelessly, for free. Transfer files between your devices, and share files to your friends.", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/Airdroid/webview.js b/Airdroid/webview.js new file mode 100644 index 0000000..bc38bd1 --- /dev/null +++ b/Airdroid/webview.js @@ -0,0 +1,15 @@ +// orat.io integration +module.exports = (Franz, options) => { + function getMessages() { + const count = {}; + const FranzData = document.querySelector('#FranzMessages').dataset; + if (FranzData) { + count.count = FranzData.direct; + count.count_indirect = FranzData.indirect; + } + + Franz.setBadge(count); + } + + Franz.loop(getMessages); +} diff --git a/gadu-gadu/css/franz.css b/gadu-gadu/css/franz.css new file mode 100644 index 0000000..998e3be --- /dev/null +++ b/gadu-gadu/css/franz.css @@ -0,0 +1,3 @@ +#sr-advert-container, #sr-footer { + display: none !important; +} diff --git a/gadu-gadu/icon.png b/gadu-gadu/icon.png new file mode 100644 index 0000000..e0a4481 Binary files /dev/null and b/gadu-gadu/icon.png differ diff --git a/gadu-gadu/icon.svg b/gadu-gadu/icon.svg new file mode 100644 index 0000000..7d7eb4b --- /dev/null +++ b/gadu-gadu/icon.svg @@ -0,0 +1,19 @@ + + + + Untitled + Created with Sketch. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gadu-gadu/index.js b/gadu-gadu/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/gadu-gadu/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/gadu-gadu/package.json b/gadu-gadu/package.json new file mode 100644 index 0000000..fb0a10b --- /dev/null +++ b/gadu-gadu/package.json @@ -0,0 +1,23 @@ +{ + "name": "gadu-gadu", + "version": "1.0.0", + "description": "Gadu-Gadu the most popular polish communicator of the 00's", + "main": "index.js", + "author": "MichaƂ Kubrycz ", + "license": "MIT", + "config": { + "serviceURL": "http://www.gg.pl/#", + "serviceName": "GG", + "message": "GG - Polski. Najlepszy. Komunikator.", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/gadu-gadu/webview.js b/gadu-gadu/webview.js new file mode 100644 index 0000000..db5af37 --- /dev/null +++ b/gadu-gadu/webview.js @@ -0,0 +1,22 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + const updates = parseInt(document.querySelector('i#sr-last-counter').textContent); + let messages = 0; + + const conversations = document.querySelectorAll('.chat-counter:not(.d-none)').length; + if (conversations == 0) { + messages = 0; + } else { + for (var i = 0; i < conversations; i++) { + messages += parseInt(document.querySelectorAll('.chat-counter:not(.d-none)')[i].textContent); + } + } + + Franz.setBadge(messages, updates); + }; + + Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); + Franz.loop(getMessages); +}; diff --git a/glowing-bear/icon.png b/glowing-bear/icon.png new file mode 100644 index 0000000..3bf2ca2 Binary files /dev/null and b/glowing-bear/icon.png differ diff --git a/glowing-bear/icon.svg b/glowing-bear/icon.svg new file mode 100644 index 0000000..48e21c4 --- /dev/null +++ b/glowing-bear/icon.svg @@ -0,0 +1 @@ +glowing-bearCreated with Sketch (http://www.bohemiancoding.com/sketch) \ No newline at end of file diff --git a/glowing-bear/index.js b/glowing-bear/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/glowing-bear/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/glowing-bear/package.json b/glowing-bear/package.json new file mode 100644 index 0000000..234c05f --- /dev/null +++ b/glowing-bear/package.json @@ -0,0 +1,23 @@ +{ + "name": "glowing-bear", + "version": "1.0.0", + "description": "A client for WeeChat", + "main": "index.js", + "author": "Matej Cotman ", + "license": "MIT", + "config": { + "serviceURL": "https://www.glowing-bear.org/", + "serviceName": "Glowing-Bear", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/glowing-bear/webview.js b/glowing-bear/webview.js new file mode 100644 index 0000000..317d918 --- /dev/null +++ b/glowing-bear/webview.js @@ -0,0 +1,14 @@ +const path = require('path'); + +global.window.Notification = null; + +module.exports = (Franz, options) => { + const getMessages = () => { + let badge = document.querySelectorAll('span[ng-show="notifications > 0"]')[0]; + let direct = badge ? parseInt(badge.innerHTML) : 0; + Franz.setBadge(direct); + }; + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; diff --git a/googledrive/icon.png b/googledrive/icon.png new file mode 100644 index 0000000..4b67727 Binary files /dev/null and b/googledrive/icon.png differ diff --git a/googledrive/icon.svg b/googledrive/icon.svg new file mode 100644 index 0000000..3407027 --- /dev/null +++ b/googledrive/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/googledrive/index.js b/googledrive/index.js new file mode 100755 index 0000000..258da41 --- /dev/null +++ b/googledrive/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/googledrive/package.json b/googledrive/package.json new file mode 100755 index 0000000..55efbc4 --- /dev/null +++ b/googledrive/package.json @@ -0,0 +1,23 @@ +{ + "name": "GoogleDrive", + "version": "1.0.0", + "description": "GoogleDrive", + "main": "index.js", + "author": "Koray K. ", + "license": "MIT", + "config": { + "serviceURL": "https://drive.google.com/drive/u/0/", + "serviceName": "GoogleDrive", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/googledrive/webview.js b/googledrive/webview.js new file mode 100755 index 0000000..8d854de --- /dev/null +++ b/googledrive/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/googlekeep/icon.png b/googlekeep/icon.png new file mode 100644 index 0000000..6ecdae8 Binary files /dev/null and b/googlekeep/icon.png differ diff --git a/googlekeep/icon.svg b/googlekeep/icon.svg new file mode 100644 index 0000000..abb5088 --- /dev/null +++ b/googlekeep/icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/googlekeep/index.js b/googlekeep/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/googlekeep/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/googlekeep/package.json b/googlekeep/package.json new file mode 100644 index 0000000..34e0d12 --- /dev/null +++ b/googlekeep/package.json @@ -0,0 +1,23 @@ +{ + "name": "GoogleKeep", + "version": "1.0.0", + "description": "Google Keep", + "main": "index.js", + "author": "Jorge Martinez ", + "license": "MIT", + "config": { + "serviceURL": "https://keep.google.com/", + "serviceName": "GoogleKeep", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/googlekeep/webview.js b/googlekeep/webview.js new file mode 100644 index 0000000..8d854de --- /dev/null +++ b/googlekeep/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/googlevoice/icon.png b/googlevoice/icon.png new file mode 100644 index 0000000..57930ee Binary files /dev/null and b/googlevoice/icon.png differ diff --git a/googlevoice/icon.svg b/googlevoice/icon.svg new file mode 100644 index 0000000..01c2d59 --- /dev/null +++ b/googlevoice/icon.svg @@ -0,0 +1,21 @@ + + + + +Created by potrace 1.10, written by Peter Selinger 2001-2011 + + + + + diff --git a/googlevoice/index.js b/googlevoice/index.js new file mode 100644 index 0000000..9157a2e --- /dev/null +++ b/googlevoice/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; \ No newline at end of file diff --git a/googlevoice/package.json b/googlevoice/package.json new file mode 100644 index 0000000..8f6944d --- /dev/null +++ b/googlevoice/package.json @@ -0,0 +1,23 @@ +{ + "name": "googlevoice", + "version": "0.1.0", + "description": "Google Voice", + "main": "index.js", + "author": "Behind The Math ", + "license": "MIT", + "config": { + "serviceURL": "https://www.google.com/voice", + "serviceName": "Google Voice", + "message": "Google Voice gives you one number for all your phones, voicemail as easy as email, free US long distance, low rates on international calls, and many calling features like transcripts, call blocking, call screening, conference calling, SMS, and more.", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} \ No newline at end of file diff --git a/googlevoice/webview.js b/googlevoice/webview.js new file mode 100644 index 0000000..3b219b3 --- /dev/null +++ b/googlevoice/webview.js @@ -0,0 +1,10 @@ +module.exports = (Franz, options) => { + function getMessages() { + const count = document.querySelector('.msgCount').innerHTML.replace(/[\(\) ]/gi,""); + if (count) { + Franz.setBadge(count); + } + } + + Franz.loop(getMessages); +} \ No newline at end of file diff --git a/iCloud/icon.png b/iCloud/icon.png new file mode 100644 index 0000000..fb3e224 Binary files /dev/null and b/iCloud/icon.png differ diff --git a/iCloud/icon.svg b/iCloud/icon.svg new file mode 100644 index 0000000..5f14081 --- /dev/null +++ b/iCloud/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iCloud/index.js b/iCloud/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/iCloud/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/iCloud/package.json b/iCloud/package.json new file mode 100644 index 0000000..e71b20e --- /dev/null +++ b/iCloud/package.json @@ -0,0 +1,23 @@ +{ + "name": "iCloud", + "version": "1.0.0", + "description": "iCloud web portal", + "main": "index.js", + "author": "Ryan Voltaire ", + "license": "MIT", + "config": { + "serviceURL": "https://www.icloud.com/", + "serviceName": "iCloud", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/iCloud/webview.js b/iCloud/webview.js new file mode 100644 index 0000000..8d854de --- /dev/null +++ b/iCloud/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/instagram/css/franz.css b/instagram/css/franz.css new file mode 100644 index 0000000..09e72fb --- /dev/null +++ b/instagram/css/franz.css @@ -0,0 +1,3 @@ +footer { + display: none !important; +} diff --git a/instagram/icon.png b/instagram/icon.png new file mode 100644 index 0000000..7f6f4ee Binary files /dev/null and b/instagram/icon.png differ diff --git a/instagram/icon.svg b/instagram/icon.svg new file mode 100644 index 0000000..1336cb7 --- /dev/null +++ b/instagram/icon.svg @@ -0,0 +1,612 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/instagram/index.js b/instagram/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/instagram/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/instagram/package.json b/instagram/package.json new file mode 100644 index 0000000..51bb4ae --- /dev/null +++ b/instagram/package.json @@ -0,0 +1,23 @@ +{ + "name": "Instagram", + "version": "1.0.0", + "description": "Instagram", + "main": "index.js", + "author": "Marc Jose ", + "license": "MIT", + "config": { + "serviceURL": "https://www.instagram.com/", + "serviceName": "Instagram", + "message": "Instagram is a simple way to capture and share the world’s moments.", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/instagram/webview.js b/instagram/webview.js new file mode 100644 index 0000000..d0ff08b --- /dev/null +++ b/instagram/webview.js @@ -0,0 +1,22 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + // get unread messages + const updates = document.getElementById('franz').getAttribute('data-unread'); + + // get conversations in 'My Inbox' + const inbox = document.getElementById('franz').getAttribute('data-inbox'); + + // set Franz badge + // updates => active unread count + // inbox => passive unread count + Franz.setBadge(updates, inbox); + }; + + // inject franz.css stylesheet + Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; diff --git a/meistertask/icon.png b/meistertask/icon.png new file mode 100644 index 0000000..9ab7211 Binary files /dev/null and b/meistertask/icon.png differ diff --git a/meistertask/icon.svg b/meistertask/icon.svg new file mode 100644 index 0000000..2c4115a --- /dev/null +++ b/meistertask/icon.svg @@ -0,0 +1,74 @@ + \ No newline at end of file diff --git a/meistertask/index.js b/meistertask/index.js new file mode 100755 index 0000000..258da41 --- /dev/null +++ b/meistertask/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/meistertask/package.json b/meistertask/package.json new file mode 100755 index 0000000..fea6ea1 --- /dev/null +++ b/meistertask/package.json @@ -0,0 +1,23 @@ +{ + "name": "MeisterTask", + "version": "1.0.0", + "description": "MeisterTask WEB", + "main": "index.js", + "author": "Koray K. ", + "license": "MIT", + "config": { + "serviceURL": "https://www.meistertask.com/app", + "serviceName": "MeisterTask", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/meistertask/webview.js b/meistertask/webview.js new file mode 100755 index 0000000..8d854de --- /dev/null +++ b/meistertask/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/mingdao/icon.png b/mingdao/icon.png new file mode 100644 index 0000000..b1b2a7b Binary files /dev/null and b/mingdao/icon.png differ diff --git a/mingdao/icon.svg b/mingdao/icon.svg new file mode 100644 index 0000000..5d801c9 --- /dev/null +++ b/mingdao/icon.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mingdao/index.js b/mingdao/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/mingdao/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/mingdao/package.json b/mingdao/package.json new file mode 100644 index 0000000..5ba79fb --- /dev/null +++ b/mingdao/package.json @@ -0,0 +1,23 @@ +{ + "name": "mingdao", + "version": "0.1.0", + "description": "mingdao", + "main": "index.js", + "author": "Sin ", + "license": "MIT", + "config": { + "serviceURL": "https://www.mingdao.com/login.htm", + "serviceName": "Mingdao", + "message": "è‡Șç”±èżžæŽ„äž€ćˆ‡ćäœœè€…", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/mingdao/webview.js b/mingdao/webview.js new file mode 100644 index 0000000..db38b13 --- /dev/null +++ b/mingdao/webview.js @@ -0,0 +1,7 @@ +module.exports = (Franz, options) => { + function getMessageCount() { + const count = parseInt($('#topBarContainer .messageLittleRedDot').data('count'), 10); + Franz.setBadge(count); + } + Franz.loop(getMessageCount); +} diff --git a/office365/package.json b/office365/package.json index fa2088a..d5b7dcb 100644 --- a/office365/package.json +++ b/office365/package.json @@ -1,7 +1,7 @@ { - "name": "Zoho Mail", + "name": "Office365", "version": "1.0.0", - "description": "Outlook from Office365", + "description": "Outlook Office365", "main": "index.js", "author": "Chris Gray ", "license": "MIT", diff --git a/office365/webview.js b/office365/webview.js index 489f369..0b28302 100644 --- a/office365/webview.js +++ b/office365/webview.js @@ -2,7 +2,7 @@ const path = require('path'); module.exports = (Franz, options) => { const getMessages = () => { - const unreadMail = jQuery("span[title*='Inbox'] + div > span").text(); + const unreadMail = jQuery("span[title*='Inbox'] + div > span").first().text(); Franz.setBadge(unreadMail); } diff --git a/pivotaltracker/icon.png b/pivotaltracker/icon.png new file mode 100644 index 0000000..f85f3e9 Binary files /dev/null and b/pivotaltracker/icon.png differ diff --git a/pivotaltracker/icon.svg b/pivotaltracker/icon.svg new file mode 100644 index 0000000..3dbf5c6 --- /dev/null +++ b/pivotaltracker/icon.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/pivotaltracker/index.js b/pivotaltracker/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/pivotaltracker/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/pivotaltracker/package.json b/pivotaltracker/package.json new file mode 100644 index 0000000..a8aebfd --- /dev/null +++ b/pivotaltracker/package.json @@ -0,0 +1,23 @@ +{ + "name": "pivotal", + "version": "1.0.0", + "description": "Pivotal Tracker", + "main": "index.js", + "author": "Laszlo Racz ", + "license": "MIT", + "config": { + "serviceURL": "https://www.pivotaltracker.com/signin", + "serviceName": "Pivotal Tracker", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/pivotaltracker/webview.js b/pivotaltracker/webview.js new file mode 100644 index 0000000..a550492 --- /dev/null +++ b/pivotaltracker/webview.js @@ -0,0 +1,13 @@ +module.exports = (Franz, options) => { + + function getMessages() { + var bell = document.querySelectorAll("#view65 > span")[0]; + + counter = parseInt(bell.innerText); + + Franz.setBadge(counter); + }; + + Franz.loop(getMessages); + +} diff --git a/podio-chat/css/franz.css b/podio-chat/css/franz.css new file mode 100644 index 0000000..b5668ee --- /dev/null +++ b/podio-chat/css/franz.css @@ -0,0 +1,22 @@ +#header-global { + display: none !important; +} + +.content-container +{ + margin-top: -15px !important; + padding-top: 0px !important; +} + +.settings-trigger { + display: none !important; +} + +.grid { + box-sizing: border-box; + padding: 0 !important; +} + +.grid .grid-column-1-2:last-of-type, .grid .grid-column-1-3:last-of-type, .grid .grid-column-1-4:last-of-type, .grid .grid-column-1:last-of-type, .grid .grid-column-2-3:last-of-type, .grid .grid-column-3-4:last-of-type { + padding-right: -10px !important; +} \ No newline at end of file diff --git a/podio-chat/icon.png b/podio-chat/icon.png new file mode 100644 index 0000000..5c20fac Binary files /dev/null and b/podio-chat/icon.png differ diff --git a/podio-chat/icon.svg b/podio-chat/icon.svg new file mode 100644 index 0000000..6646fad --- /dev/null +++ b/podio-chat/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/podio-chat/index.js b/podio-chat/index.js new file mode 100644 index 0000000..46f936f --- /dev/null +++ b/podio-chat/index.js @@ -0,0 +1,2 @@ +// just pass through Franz +module.exports = Franz => Franz; diff --git a/podio-chat/package.json b/podio-chat/package.json new file mode 100644 index 0000000..062c6ae --- /dev/null +++ b/podio-chat/package.json @@ -0,0 +1,23 @@ +{ + "name": "podio-chat", + "version": "1.0.0", + "description": "Podio Chat", + "main": "index.js", + "author": "Jan Willem Kaper ", + "license": "MIT", + "config": { + "serviceURL": "https://podio.com/conversations", + "serviceName": "Podio Chat", + "message": "", + "popup": [ + ], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + }, + "openDevTools": false + } +} diff --git a/podio-chat/webview.js b/podio-chat/webview.js new file mode 100644 index 0000000..b1ddc4f --- /dev/null +++ b/podio-chat/webview.js @@ -0,0 +1,22 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + // get unread messages + const updates = document.getElementsByClassName('counter')[0].innerHTML; + + // get conversations in 'My Inbox' + //const inbox = document.getElementById('franz').getAttribute('data-inbox'); + + // set Franz badge + // updates => active unread count + // inbox => passive unread count + Franz.setBadge(updates, 0); + }; + + // inject franz.css stylesheet + Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; diff --git a/protonet/icon.png b/protonet/icon.png new file mode 100644 index 0000000..264b5ed Binary files /dev/null and b/protonet/icon.png differ diff --git a/protonet/icon.svg b/protonet/icon.svg new file mode 100644 index 0000000..0989981 --- /dev/null +++ b/protonet/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/protonet/index.js b/protonet/index.js new file mode 100755 index 0000000..258da41 --- /dev/null +++ b/protonet/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/protonet/package.json b/protonet/package.json new file mode 100755 index 0000000..fe20cde --- /dev/null +++ b/protonet/package.json @@ -0,0 +1,27 @@ +{ + "name": "Protonet", + "version": "1.0.1", + "description": "Protonet", + "main": "index.js", + "author": "Joschka Schulz", + "license": "MIT", + "config": { + "serviceURL": "https://{teamID}.protonet.info", + "serviceName": "Protonet", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": true, + "wording": { + "url": "protonet.info", + "team": "Protonet" + }, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/protonet/webview.js b/protonet/webview.js new file mode 100755 index 0000000..8b597cf --- /dev/null +++ b/protonet/webview.js @@ -0,0 +1,10 @@ +module.exports = (Franz, options) => { + const getMessages = () => { + const unreadPrivateMessages = parseInt($(".messages .unread-meeps").text()); + const unreadGroupMessages = parseInt($(".today .unread-meeps").text()); + + Franz.setBadge(unreadPrivateMessages + unreadGroupMessages); + } + + Franz.loop(getMessages); +} diff --git a/shout/icon.png b/shout/icon.png new file mode 100644 index 0000000..6d7bf41 Binary files /dev/null and b/shout/icon.png differ diff --git a/shout/icon.svg b/shout/icon.svg new file mode 100644 index 0000000..dd0d301 --- /dev/null +++ b/shout/icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/shout/index.js b/shout/index.js new file mode 100644 index 0000000..8761417 --- /dev/null +++ b/shout/index.js @@ -0,0 +1,18 @@ +module.exports = (Franz) => { + class Shout extends Franz { + validateServer(URL) { + const api = `${URL}`; + return new Promise((resolve, reject) => { + $.get(api, (resp) => { + if (typeof(resp) === 'object' && 'build' in resp) { + resolve(); + } else { + reject(); + } + }).fail(reject); + }); + } + } + + return Shout; +}; diff --git a/shout/package.json b/shout/package.json new file mode 100644 index 0000000..ec8ba32 --- /dev/null +++ b/shout/package.json @@ -0,0 +1,23 @@ +{ + "name": "Shout", + "version": "1.0.0", + "description": "Shout - The self-hosted web IRC client", + "main": "index.js", + "author": "Stuart Clark ", + "license": "MIT", + "config": { + "serviceURL": "", + "serviceName": "Shout", + "message": "The self-hosted web IRC client", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": true, + "hasTeamID": false, + "customURL": true, + "hostedOnly": true, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/shout/webview.js b/shout/webview.js new file mode 100644 index 0000000..738d566 --- /dev/null +++ b/shout/webview.js @@ -0,0 +1,29 @@ +const path = require('path'); + +module.exports = (Franz, options) => { + const getMessages = () => { + // get unread messages + var updates = 0; + jQuery('.badge.highlight').each(function(i,v) { + var data = jQuery(this).data('count'); + if (jQuery.isNumeric(data)) { + updates += data; + } + }); + + // get general messages + var index = 0; + jQuery('.badge:not(".highlight")').each(function(i,v) { + var data = jQuery(this).data('count'); + if (jQuery.isNumeric(data)) { + index += data; + } + }); + + // set Franz badge + Franz.setBadge(updates, index); + }; + + // check for new messages every second and update Franz badge + Franz.loop(getMessages); +}; diff --git a/soundcloud/icon.png b/soundcloud/icon.png new file mode 100755 index 0000000..b2fc05e Binary files /dev/null and b/soundcloud/icon.png differ diff --git a/soundcloud/icon.svg b/soundcloud/icon.svg new file mode 100755 index 0000000..c4924d8 --- /dev/null +++ b/soundcloud/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/soundcloud/index.js b/soundcloud/index.js new file mode 100755 index 0000000..258da41 --- /dev/null +++ b/soundcloud/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/soundcloud/package.json b/soundcloud/package.json new file mode 100755 index 0000000..de49893 --- /dev/null +++ b/soundcloud/package.json @@ -0,0 +1,23 @@ +{ + "name": "Soundcloud", + "version": "1.0.0", + "description": "Soundcloud", + "main": "index.js", + "author": "Koray K. ", + "license": "MIT", + "config": { + "serviceURL": "https://soundcloud.com/signin", + "serviceName": "Soundcloud", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/soundcloud/webview.js b/soundcloud/webview.js new file mode 100755 index 0000000..8d854de --- /dev/null +++ b/soundcloud/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/todoist/icon.png b/todoist/icon.png new file mode 100644 index 0000000..f1c5183 Binary files /dev/null and b/todoist/icon.png differ diff --git a/todoist/icon.svg b/todoist/icon.svg new file mode 100644 index 0000000..c9b6828 --- /dev/null +++ b/todoist/icon.svg @@ -0,0 +1,28 @@ + + + + +Created by potrace 1.13, written by Peter Selinger 2001-2015 + + + + + diff --git a/todoist/index.js b/todoist/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/todoist/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/todoist/package.json b/todoist/package.json new file mode 100644 index 0000000..7811bed --- /dev/null +++ b/todoist/package.json @@ -0,0 +1,23 @@ +{ + "name": "todoist", + "version": "1.0.0", + "description": "todoist plugin for Franz", + "main": "index.js", + "author": "Alex Ward ", + "license": "MIT", + "config": { + "serviceURL": "https://todoist.com/Users/showLogin", + "serviceName": "Todoist", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/todoist/webview.js b/todoist/webview.js new file mode 100644 index 0000000..8d854de --- /dev/null +++ b/todoist/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/vector.im/package.json b/vector.im/package.json index 4d7ffea..afdcc15 100644 --- a/vector.im/package.json +++ b/vector.im/package.json @@ -3,7 +3,7 @@ "version": "1.0.1", "description": "Riot (matrix/vector.im)", "main": "index.js", - "author": "Matthew Frost + + + + + \ No newline at end of file diff --git a/waffleio/index.js b/waffleio/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/waffleio/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/waffleio/package.json b/waffleio/package.json new file mode 100644 index 0000000..302518c --- /dev/null +++ b/waffleio/package.json @@ -0,0 +1,23 @@ +{ + "name": "waffleio", + "version": "1.0.0", + "description": "waffle.io", + "main": "index.js", + "author": "Brian Retterer ", + "license": "MIT", + "config": { + "serviceURL": "https://waffle.io/{teamID}", + "serviceName": "Waffle.io", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": true, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/waffleio/webview.js b/waffleio/webview.js new file mode 100644 index 0000000..8d854de --- /dev/null +++ b/waffleio/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +} diff --git a/wunderlist/icon.png b/wunderlist/icon.png new file mode 100644 index 0000000..05df4b6 Binary files /dev/null and b/wunderlist/icon.png differ diff --git a/wunderlist/icon.svg b/wunderlist/icon.svg new file mode 100644 index 0000000..d7bc44e --- /dev/null +++ b/wunderlist/icon.svg @@ -0,0 +1,1720 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wunderlist/index.js b/wunderlist/index.js new file mode 100644 index 0000000..258da41 --- /dev/null +++ b/wunderlist/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/wunderlist/package.json b/wunderlist/package.json new file mode 100644 index 0000000..3c7d1d8 --- /dev/null +++ b/wunderlist/package.json @@ -0,0 +1,23 @@ +{ + "name": "wunderlist", + "version": "1.0.0", + "description": "Wunderlist", + "main": "index.js", + "author": "Laszlo Racz ", + "license": "MIT", + "config": { + "serviceURL": "https://www.wunderlist.com/login", + "serviceName": "Wunderlist", + "message": "", + "popup": [], + "hasNotificationSound": true, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/wunderlist/webview.js b/wunderlist/webview.js new file mode 100644 index 0000000..78f83cd --- /dev/null +++ b/wunderlist/webview.js @@ -0,0 +1,13 @@ +module.exports = (Franz, options) => { + + function getMessages() { + var bell = document.querySelectorAll("#user-toolbar > div > a.activities-count > span")[0]; + + counter = parseInt(bell.innerText); + + Franz.setBadge(counter); + }; + + Franz.loop(getMessages); + +} diff --git a/youtube/icon.png b/youtube/icon.png new file mode 100755 index 0000000..e6e5930 Binary files /dev/null and b/youtube/icon.png differ diff --git a/youtube/icon.svg b/youtube/icon.svg new file mode 100755 index 0000000..e0e76f0 --- /dev/null +++ b/youtube/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/youtube/index.js b/youtube/index.js new file mode 100755 index 0000000..258da41 --- /dev/null +++ b/youtube/index.js @@ -0,0 +1 @@ +module.exports = Franz => Franz; diff --git a/youtube/package.json b/youtube/package.json new file mode 100755 index 0000000..47488f9 --- /dev/null +++ b/youtube/package.json @@ -0,0 +1,23 @@ +{ + "name": "YouTube", + "version": "1.0.0", + "description": "YouTube SmartTV Edition", + "main": "index.js", + "author": "Koray K. ", + "license": "MIT", + "config": { + "serviceURL": "https://youtube.com/tv", + "serviceName": "YouTube", + "message": "", + "popup": [], + "hasNotificationSound": false, + "hasIndirectMessages": false, + "hasTeamID": false, + "customURL": false, + "hostedOnly": false, + "webviewOptions": { + "disablewebsecurity": "" + }, + "openDevTools": false + } +} diff --git a/youtube/webview.js b/youtube/webview.js new file mode 100755 index 0000000..8d854de --- /dev/null +++ b/youtube/webview.js @@ -0,0 +1,3 @@ +module.exports = (Franz, options) => { + +}