diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/0_4_admin.png b/0_4_admin.png deleted file mode 100644 index faa392b..0000000 Binary files a/0_4_admin.png and /dev/null differ diff --git a/0_4_big.jpg b/0_4_big.jpg deleted file mode 100644 index cccee86..0000000 Binary files a/0_4_big.jpg and /dev/null differ diff --git a/0_4_big1.png b/0_4_big1.png deleted file mode 100644 index 3580f48..0000000 Binary files a/0_4_big1.png and /dev/null differ diff --git a/0_4_big1_thumb.png b/0_4_big1_thumb.png deleted file mode 100644 index fa1d693..0000000 Binary files a/0_4_big1_thumb.png and /dev/null differ diff --git a/0_4_big_dark.png b/0_4_big_dark.png deleted file mode 100644 index 4a739df..0000000 Binary files a/0_4_big_dark.png and /dev/null differ diff --git a/0_4_big_thumb.png b/0_4_big_thumb.png deleted file mode 100644 index 519bff7..0000000 Binary files a/0_4_big_thumb.png and /dev/null differ diff --git a/0_4_overview_top.png b/0_4_overview_top.png deleted file mode 100644 index 9b2625b..0000000 Binary files a/0_4_overview_top.png and /dev/null differ diff --git a/0_4_wide1.png b/0_4_wide1.png deleted file mode 100644 index 3d2ba51..0000000 Binary files a/0_4_wide1.png and /dev/null differ diff --git a/0_6_2_admin_dialog.jpg b/0_6_2_admin_dialog.jpg deleted file mode 100644 index bea1fa3..0000000 Binary files a/0_6_2_admin_dialog.jpg and /dev/null differ diff --git a/0_6_2_dark_colors.jpg b/0_6_2_dark_colors.jpg deleted file mode 100644 index 5ef0997..0000000 Binary files a/0_6_2_dark_colors.jpg and /dev/null differ diff --git a/Chatty.ico b/Chatty.ico deleted file mode 100644 index fc30746..0000000 Binary files a/Chatty.ico and /dev/null differ diff --git a/Chatty_banner_320px.png b/Chatty_banner_320px.png deleted file mode 100644 index 909928b..0000000 Binary files a/Chatty_banner_320px.png and /dev/null differ diff --git a/Chatty_icon_256x256.png b/Chatty_icon_256x256.png deleted file mode 100644 index 60a60c2..0000000 Binary files a/Chatty_icon_256x256.png and /dev/null differ diff --git a/changes.txt b/changes.txt index e45d1e2..5899ed0 100644 --- a/changes.txt +++ b/changes.txt @@ -1,4 +1,14 @@ - +############################################################### + +This is no longer being updated. + +Website: https://chatty.github.io +Changelog: https://chatty.github.io/help/help-releases.html +Releases: https://github.com/chatty/chatty/releases + +############################################################### + + 0.9.1 (2018-04-02) Latest Version ### Main Features diff --git a/chatty_screenshot.png b/chatty_screenshot.png deleted file mode 100644 index 48b5fc1..0000000 Binary files a/chatty_screenshot.png and /dev/null differ diff --git a/icons2.ico b/icons2.ico deleted file mode 100644 index 2ac8f67..0000000 Binary files a/icons2.ico and /dev/null differ diff --git a/img/GitHub.png b/img/GitHub.png new file mode 100644 index 0000000..8b25551 Binary files /dev/null and b/img/GitHub.png differ diff --git a/img/Patreon.png b/img/Patreon.png new file mode 100644 index 0000000..d19e87a Binary files /dev/null and b/img/Patreon.png differ diff --git a/img/Patreon_Button.png b/img/Patreon_Button.png new file mode 100644 index 0000000..190fc6b Binary files /dev/null and b/img/Patreon_Button.png differ diff --git a/img/Twitter.png b/img/Twitter.png new file mode 100644 index 0000000..78ab90f Binary files /dev/null and b/img/Twitter.png differ diff --git a/img/YouTube.png b/img/YouTube.png new file mode 100644 index 0000000..26afb98 Binary files /dev/null and b/img/YouTube.png differ diff --git a/img/app_main_32.png b/img/app_main_32.png new file mode 100644 index 0000000..e9b2cef Binary files /dev/null and b/img/app_main_32.png differ diff --git a/img/dark.png b/img/dark.png new file mode 100644 index 0000000..9fdf513 Binary files /dev/null and b/img/dark.png differ diff --git a/img/dark2.png b/img/dark2.png new file mode 100644 index 0000000..47a6c4c Binary files /dev/null and b/img/dark2.png differ diff --git a/img/emotes.png b/img/emotes.png new file mode 100644 index 0000000..de71b90 Binary files /dev/null and b/img/emotes.png differ diff --git a/img/stuff.png b/img/stuff.png new file mode 100644 index 0000000..073d26b Binary files /dev/null and b/img/stuff.png differ diff --git a/img/userdialog.png b/img/userdialog.png new file mode 100644 index 0000000..2f8b856 Binary files /dev/null and b/img/userdialog.png differ diff --git a/index.html b/index.html index 43dfc1c..95a0cab 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,7 @@ Chatty - Twitch Chat Client + - + + -
-
GitHub
-
YouTube Channel
-
+ +
+ + + +
+ + +
-

Chatty

- + + -

-

Chatty is a Twitch chat client for everyone who appreciates a dedicated desktop application (similiar to a classic IRC client), but doesn't want to miss out on Twitch-specific features.

+

Chatty is a chat software specifically made for Twitch, in the spirit of a classic IRC Client. It runs on Windows and any other OS that supports Java 8 or later.

-

Note that Java 8u161/162 contains a bug that can lead to unusual high CPU usage (at least on Windows). This seems to be fixed in 8u172 (not 8u171). You can download 8u172 here. The current Standalone Version download still comes bundled with Java 8u151.

+
+
+
+ + + +
+
+
+ + + + +
+

Features

-
-
  • Viewer-centered Features +
    +

    Watching

      -
    • Get notified when channels you follow go live and view a list of live streams
    • -
    • Follow and unfollow channels
    • -
    • View and insert your subemotes, channel-specific emotes, all global emotes and Twitch emotes you favorited
    • +
    • Get notified when channels you follow go live
    • +
    • Follow and unfollow channels through Chatty
    • Easily open streams in your browser, or run Livestreamer (or the more up-to-date Streamlink) out of Chatty
    • -
    • Join several channels, popout individual channels to view them side-by-side
    -
  • +
    -
  • Streamer/Moderation-centered Features +
    +

    Streaming

    +
    + +
    + +
    +

    Moderating

    +
      +
    • Click on nick to open customizable User Dialog, showing recent messages and basic account info
    • +
    • Optional pause-chat-on-hover to avoid misclicks
    • AutoMod support to approve/deny filtered messages
    • +
    • Create Custom Commands and customize Context Menus
    -
  • - -
  • Customization + +
    +

    Emotes & Badges

    -
  • - - + +
    +

    Other Features

    + +
    + + - +

    Download

    +

    Choose one of the following downloads of Chatty Version 0.9.2. For older versions or betas go to GitHub.

    +

    If this is your first time using Chatty check out the Getting Started Guide.

    -

    Requirements

    -

    You need to have the Java 8 JRE or later installed (unless you're using the Windows Standalone version). Download Java if you need it.

    - -

    Download & Getting started

    - - -

    Extract the .zip into a folder of your choice and start Chatty.jar (or the Chatty.exe in case of the standalone).

    -

    When you start Chatty the Connect Dialog should come up. Click Create login.. and Request login data and follow the instructions to authorize Chatty to connect to chat for you. There is also a short - Getting Started Guide.

    -

    There is some help available (you can find the same in the program itself). There is also a changelog.

    -

    You can use this banner if you like Chatty and want to promote it. Just link to https://chatty.github.io please. :)

    +

    Windows

    + + + + + + + + + +
    Windows Standalone (No Java installation)JAR-Version (requires Java 8 JRE or later installed)
    +
    +
    Download Windows Standalone (Installer) Recommended
    +
    Install into a folder of your choice and start Chatty.exe (or optionally created shortcuts).
    +
    +
    +
    Download Windows Standalone (.zip)
    +
    Extract the .zip into a folder of your choice and start Chatty.exe.
    +
    -

    Feedback (Feature requests, Bug reports)

    -

    This is my first slightly bigger program, so go easy on me. ;) But if you find any bugs or have any other feedback, feel free to tell me. You can send an E-Mail, Tweet or join the Chatty Discord.

    -

    Please tell me about bugs or else I can't fix them. Please describe exactly what happened and how it happened, since this is absolutely necessary to find out what went wrong (just saying "it doesn't work" or "it won't load" can mean a lot of things). You should also copy the debug.log file in your settings directory (type /openDir to open it, or /dir if that doesn't work) before it is overwritten, in case it could be helpful to find the bug.

    -

    Known issues

    -
      -
    • Sometimes users aren't correctly sorted in the userlist
    • -
    • Windows: Dragging the upper edge to maximize the window vertically doesn't resize the contents of the window. - This may be a Java Bug that I cannot fix. Workaround: Try double-clicking the upper edge instead of dragging it.
    • -
    +

    Note: The Windows Standalone contains it's own version of Java, which remains in the Chatty folder and is only used for Chatty itself. Larger download size.

    +
    +
    +
    Download JAR-Version (Installer)
    +
    Can select global hotkey support during installation.
    +
    Install into a folder of your choice and start Chatty.jar (or optionally created shortcuts).
    +
    +
    +
    Download JAR-Version (.zip)
    +
    Also available with global hotkey support for 32bit-Java / 64bit-Java
    +
    Extract the .zip into a folder of your choice and start Chatty.jar.
    +
    +
    + +

    Non-Windows

    +

    For OS other than Windows (e.g. Linux or MacOS) you will need to download the JAR-Version (.zip) and must have Java 8 or later installed on your system. Extract the .zip into a folder of your choice and start Chatty.jar.

    + +

    Contact

    +

    If you have any feedback or questions feel free to contact me. You can join the Chatty Discord preferred, write me an E-Mail or use Twitter.

    + +

    If you're having an issue with Chatty, make sure to check out the Troubleshooting help page and Twitter for news on current problems. If this doesn't solve your issue please read How to report issues on how to let me know about it.

    + +

    Help

    +

    The Chatty Help can be opened in-app via Help - About / Help or by pressing F1. Here just some common questions and answers:

    -

    FAQ (Frequently Asked Questions)

    I have an issue with Chatty, what do I do?
    -
    Read the Troubleshooting. If you can't solve the issue with that information write a message.
    +
    Read the Troubleshooting. If you can't solve the issue with that information read How to report issues.
    + +
    I'm not encountering a bug, but I need help using Chatty, what do I do?
    +
    Read the help. If you need help with a certain setting you can open the correct help page directly out of the Settings Dialog. If you can't find the answer there, contact me, see Contact / Feedback.
    Does Chatty support other streaming services like YouTube or hitbox.tv?
    Unfortunately not, and it's not currently planned either. Chatty is designed around Twitch and adding support for other services wouldn't be a trivial task.
    -
    Why does Chatty report "Stream offline", even though the stream clearly didn't go offline?
    -
    Sometimes the Twitch API will return a stream as offline, even though it isn't. Chatty checks the API twice before reporting a stream as offline, but if both checks return false data, then a false offline report will happen.
    +
    What about Chatty for mobile?
    +
    Developing a mobile version is very different from a Desktop App and is currently not planned.
    Why does the userlist not show all users correctly?
    -
    First of all check that Settings - Advanced - Correct Userlist is enabled. Even then, the userlist in Twitch Chat shouldn't be taken too seriously. Read more about the userlist..
    - -
    Is there any help/documentation?
    -
    Yes.
    +
    First of all check that Settings - Advanced - Correct Userlist is enabled (it should be by default). Even then, the userlist in Twitch Chat shouldn't be taken too seriously. Read more about the userlist..
    - -
    -
    + + +

    Chatty is entirely free and Open Source software. No paywalled features or advertisements.

    If you like Chatty, there are several ways you can show your appreciation, like simply sending me a nice message, recommending Chatty to others or showing your involvement by submitting bug reports and feature requests.

    +

    You can also say thanks by supporting me on Patreon, which is highly appreciated.

    + +

    + diff --git a/slideshow.css b/slideshow.css new file mode 100644 index 0000000..a4e28b6 --- /dev/null +++ b/slideshow.css @@ -0,0 +1,103 @@ +.slideshow_main { + background: #EEE; + border-radius: 6px; + height: 600px; + position:relative; + white-space: nowrap; + text-align: center; + padding: 8px 0; +} + +.slideshow_main img { + display: inline-block; + max-height: 600px; + max-width: 1000px; + margin: auto; + vertical-align: middle; + transition: opacity .25s ease-in-out; + -moz-transition: opacity .25s ease-in-out; + -webkit-transition: opacity .25s ease-in-out; +} + +#slideshow .slideshow_images img { + height: 100px; + margin: 0 4px; +} + +.slideshow_images { + text-align:center; + margin-top: 10px; +} + +.slideshow_active_image { + padding-bottom: 4px; + border-bottom: 3px solid #333; +} + +.slideshow_caption { + color: white; + width: 100%; + text-align: center; + background: black; + padding: 8px 0; + opacity: 0.7; +} + +.slideshow_next, .slideshow_prev { + position: absolute; + cursor: pointer; + top: 0; + vertical-align: middle; + color: white; + font-weight: bold; + height: 100%; + width: 10%; +} + +.slideshow_next span, .slideshow_prev span { + margin-top: -20px; + position: absolute; + top: 50%; + transition: 0.6s ease; + padding: 12px; + background-color: rgba(0,0,0,0); + -webkit-touch-callout: none; /* iOS Safari */ + -webkit-user-select: none; /* Safari */ + -khtml-user-select: none; /* Konqueror HTML */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* Internet Explorer/Edge */ + user-select: none; /* Non-prefixed version, currently + supported by Chrome and Opera */ +} + +.slideshow_next:hover span, .slideshow_prev:hover span { + background-color: rgba(0,0,0,0.8); +} + +.slideshow_next { + right: 5px; +} + +.slideshow_next span { + right: 0; + border-radius: 10px; +} + +.slideshow_prev { + left: 0; +} + +.slideshow_prev span { + left: 5px; + border-radius: 10px; +} + +.slideshow_hidden { + display: none; +} + +.vertical_helper { + display: inline-block; + height: 100%; + vertical-align: middle; +} diff --git a/slideshow.js b/slideshow.js new file mode 100644 index 0000000..1eea242 --- /dev/null +++ b/slideshow.js @@ -0,0 +1,87 @@ + +function slideshow_init(slideshowId) { + let element = document.getElementById(slideshowId); + if (element === null) { + return; + } + let images = element.getElementsByTagName("img"); + let mainImageElement = images[0]; + + let newElement = ''; + images[1].parentElement.insertAdjacentHTML('beforebegin', newElement); + + console.log(mainImageElement.src); + + for (let i=1;i slideshow_move(slideshowId, -1); + nextButton.onclick = evt => slideshow_move(slideshowId, +1); + + let hiddenElements = element.getElementsByClassName("slideshow_hidden"); + console.log(hiddenElements); + for (let i = hiddenElements.length - 1; i >= 0; i--) { + console.log(i+" "+hiddenElements[i]); + hiddenElements[i].classList.remove("slideshow_hidden"); + } + + slideshow_show(slideshowId, images[1]); +} + +function slideshow_move(slideshowId, step) { + let element = document.getElementById(slideshowId); + let images = element.getElementsByTagName("img"); + for (let i=1;i= images.length) { + next -= images.length - 1; + } + + console.log(i + step+" "+next); + slideshow_show(slideshowId, images[next]); + return; + } + } +} + +function slideshow_show(slideshowId, imageElement) { + let element = document.getElementById(slideshowId); + let active = element.getElementsByClassName("slideshow_active_image"); + if (active[0] === imageElement) { + console.log("already selected"); + return; + } + let images = element.getElementsByTagName("img"); + images[0].style.opacity = 0; + + for (let i=1;i { images[0].style.opacity = 1 }, 0); +} + +function hasClass(element, className) { + return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1; +} diff --git a/style.css b/style.css new file mode 100644 index 0000000..7b4c780 --- /dev/null +++ b/style.css @@ -0,0 +1,210 @@ +body { + font-size: 1em; + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + background: #FEFEFE; + } + #content { + padding: 30px; + padding-top: 10px; + max-width: 1000px; + margin: 0 auto; + background: #FEFEFE; + } + li { + margin: 5px; + + } + h1 { + display: inline; + } + h2 { + font-size: 1.4em; + text-align: center; + border-bottom: 1px solid #AAA; + padding-bottom: 4px; + padding-top: 18px; + } + h3 { + font-size: 1em; + } + + #menu-section { + display: block; + top: 0; + background: #EFEFEF; + margin: 0; + border-bottom: 1px solid #AAA; + width: 100%; + z-index: 1000; + } + #menu-container { + margin: 0 auto; + padding: 7px; + max-width: 1000px; + display: flex; + justify-content: space-between; + align-items: baseline; + } + #menu { + display: inline-block; + margin: 0; + padding: 0; + text-align: left; + } + #menu li { + display: inline; + } + #ago { + font-weight: bold; + color: Firebrick; + padding-left: 18px; + margin: 0; + } + #top { + width: 1000px; + margin: auto; + text-align: right; + margin-top: 10px; + } + #bottom { + width: 1000px; + margin: auto; + text-align: center; + margin-top: 10px; + } + #project { + float: right; + padding-bottom: 10px; + } + #twitter { + float:right; + padding-right: 25px; + } + #youtube { + float:right; + padding-right: 25px; + } + #flattr { + float:left; + } + + #social { + text-align: right; + position: absolute; + top: 120px; + margin: 0; + padding: 0; + padding-bottom: -10px; + right: 8px; + z-index: 2000; + } + + #social a .social_text { + position: absolute; + right: 120%; + width: 200px; + background: #333; + padding: 10px; + border-radius: 6px; + visibility: hidden; + text-decoration: none; + text-align: center; + color: #EEE; + } + + #social a { + display: block; + } + + #social a:hover .social_text { + z-index: 2000; + visibility: visible; + } + + dt { + margin-top: 8px; + margin-bottom: 2px; + } + .new { + font-size: 0.75em; + font-style: italic; + background-color: #FFFF77; + } + .announce { + border: 1px solid #000; + padding: 10px; + margin: 10px; + } + .group { + background-color: lightyellow; + } + + .small-image { + padding: 3px; + } + + #featurelist { + display: flex; + flex-wrap: wrap; + width: 100%; + margin-top: -10px; + background: #F4F4F4; + border: 1px solid #888; + } + + #featurelist > .column { + width: 50%; + box-sizing: border-box; + padding: 0 10px; + } + + .download { + background: #8413EB; + padding: 8px; + border: 1px solid #000; + text-decoration: none; + color: white; + margin: 8px; + } + + + + hr { + margin: 40px 0; + } + + .download-table { + width: 100%; + border-collapse: collapse; + + } + + .download-table th { + padding: 4px; + font-weight: normal; + } + + .download-table td { + border: 1px solid #888; + vertical-align: top; + width: 50%; + background: #F4F4F4; + } + + .download-table p { + padding: 0 14px; + } + + .download-table .recommended { + font-weight: bold; + } + + .download-table dl { + margin: 18px; + } + + .download-table dd { + padding-top: 4px; + } diff --git a/twitter.png b/twitter.png deleted file mode 100644 index 52846b1..0000000 Binary files a/twitter.png and /dev/null differ diff --git a/version.txt b/version.txt index 85ea207..de4a95f 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.9.1 Added basic Room support, Bugfixes, and more.. \ No newline at end of file +0.9.2 Update \ No newline at end of file