Commit Graph

503 Commits

Author SHA1 Message Date
Lorenz Hübschle-Schneider 3c1bdfeb71 Improve plugin regular expressions, load imgur over https if enabled 2014-03-05 15:53:13 +00:00
Lorenz Hübschle-Schneider 4e315b53a8 Display all parts of message prefix in notification
Previously, we only got the first part -- which would be "@" for an op, and not their nick.
2014-03-05 13:31:54 +00:00
Lorenz Hübschle-Schneider 71cafde5a3 Reset unread count on disconnect 2014-03-05 13:21:12 +00:00
Lorenz Hübschle-Schneider 58a26ceea9 Treat messages arriving in active buffer as unread if window is not focused 2014-03-05 13:21:08 +00:00
David Cormier 055dc9eba9 Merge pull request #215 from lorenzhs/patch-1
Tweak channel highlighting regex
2014-03-05 08:13:53 -05:00
David Cormier 2e7c6b3fbe Merge pull request #214 from torhve/fix-bufferlist
Fix bufferlist not working after reconnect

Fix #183
Open #73
2014-03-05 08:11:12 -05:00
Lorenz Hübschle-Schneider 01f213147e Tweak channel highlighting regex
Don't require white space at the start, punctuation marks are good, too.
2014-03-05 10:56:36 +00:00
Tor Hveem 5552d40ec2 Fix bufferlist not working after reconnect 2014-03-05 11:22:03 +01:00
David Cormier f9defeed9f Use "sonar" sound for notifications 2014-03-04 08:26:32 -05:00
Lorenz Hübschle-Schneider aecae9f0e6 Optionally play a sound on notification
Fixes #42
TODO: find and add a sound file
2014-03-03 21:23:15 -05:00
David Cormier 8a6337e873 Merge pull request #204 from lorenzhs/numlines
Recalculate number of lines needed on resizing
2014-02-28 09:11:39 -05:00
Lorenz Hübschle-Schneider a3b52ddddd Recalculate number of lines needed on resizing
The issue with #bufferlines on mobile has been fixed in 0d580cc, so calculate
the number of (non-wrapping) lines that fit in the window and add a buffer of 10
for hidden lines and to allow scrolling up to fetch more lines (#202)
2014-02-28 10:23:10 +00:00
David Cormier c4dc74ca8d Make allLinesFetched an attribute of buffer
Remove noMoreLines from the rootScope.
2014-02-27 21:55:42 -05:00
Tor Hveem 892dac5fbc Variable fix, and compare fix 2014-02-27 21:55:42 -05:00
Tor Hveem c80e3ce005 Fix spaces 2014-02-27 21:55:42 -05:00
Tor Hveem ad68e32c08 Don't show fetch more lines when there aren't any 2014-02-27 21:55:42 -05:00
David Cormier a5006ce966 Fix jshint error 2014-02-27 21:25:59 -05:00
Tor Hveem 5dd11d72c0 Fix alt-n again 2014-02-28 00:31:32 +01:00
Tor Hveem 00906f34cb Add chrome keycode for < 2014-02-28 00:13:21 +01:00
David Cormier d5cbdf2d4a Respect mobile users settings
Do not set the values for "nonicklist" "noembed" and "notimestamp"
regardless of what the mobile user had set. Only change the default
values for the bindings if none has been set.

Fix #147
2014-02-27 08:28:01 -05:00
Tor Hveem bebc1c7bce Remove duplicate bufferlist storage. Only use object 2014-02-26 19:39:48 +01:00
David Cormier 71a3f00479 Merge pull request #187 from torhve/master
call the right scope
2014-02-26 08:13:43 -05:00
Lorenz Hübschle-Schneider 0cc693fe7d Move mobile device detection to a function
avoids code duplication
2014-02-25 21:17:29 +00:00
Lorenz Hübschle-Schneider 1664b34cc9 Reorder statements for easier reading 2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider 997fe91d3e Remove redundant line
localStorage triggers this on page load anyway
2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider 3f68a156a4 Move initialisation code to functions 2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider e301849a73 Remove unused functions and parameters 2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider 330942b111 Remove unused variable 2014-02-25 21:12:36 +00:00
Tor Hveem d6a64b32b9 call the right scope 2014-02-25 17:33:05 +01:00
David Cormier 4451bff60d Move activeBufferChanged listener to WeechatCtrl
I don't believe that the inputBar directive should know about the
mobile cutoff we have set for GB. We should aim to make it as
reusable as possible
2014-02-25 09:14:08 -05:00
David Cormier c04b6e64f6 Let user specify the id of the input bar
Input bar id is not globally set, but passed to the directive
through the input-id attribute.
2014-02-25 09:12:52 -05:00
David Cormier f3f5330aed Merge pull request #178 from cormier/fix-74
Fix nick completion issues
2014-02-24 12:20:05 -05:00
David Cormier c163e9933f Merge pull request #171 from lorenzhs/fixduplicatenotifications
[WIP?] Fix an issue with notifications being shown when fetching old lines
2014-02-24 10:23:04 -05:00
Felix Eckhofer c1c2297833 Add nick to highlight notification from channels 2014-02-24 15:41:15 +01:00
Felix Eckhofer 18dd4eae1f Replace tabs with spaces 2014-02-24 11:41:25 +01:00
Felix Eckhofer b3b4651e33 Remove trailing spaces 2014-02-24 11:41:25 +01:00
Felix Eckhofer 7a003f8227 Focus input bar when not on mobile
This improves the UX on desktop while avoiding the virtual keyboard
popping up on touch devices
2014-02-24 11:41:20 +01:00
David Cormier 41bdb90a5e Merge pull request #177 from lorenzhs/mobile
Further improve mobile layout
2014-02-23 11:58:04 -05:00
David Cormier 5f25a96b51 Work with inputNode element directly
Instead of using $scope.command, we work with the inputNode element
directly to have control over the caret position. This let us have
nick completition in the same way as WeeChat.

Fix #74
2014-02-23 10:55:59 -05:00
David Cormier f141095312 Add method to retrieve inputNode element from directive 2014-02-23 10:48:21 -05:00
David Cormier fb5a477b73 Implement asciinema plugin
Close #66
2014-02-23 10:04:14 -05:00
Lorenz Hübschle-Schneider 17cc3c9088 Disable swiping on desktop 2014-02-23 14:17:59 +00:00
Felix Eckhofer fa01c0a53f Install Firefox Webapp from local checkout
Ask Firefox to install the currently running copy of glowing bear
instead of the copy from torhve.github.io

This also fixes a bug when glowing bear is not running from a
subdirectory (or one other than /glowing-bear) which would lead to a 404
because of torhve.github.io/original_subdir being loaded instead of
/glowing-bear.

Note that installing to a different subdirectory than /glowing-bear will
lead to the icons not being found due to the fact that all icon paths
inside manifest.webapp have to be absolute.
2014-02-22 13:46:45 +01:00
David Cormier efda3d4963 Merge pull request #170 from lorenzhs/fixactivityswitch
Fix "Switch to buffer with activity" skipping buffers with notifications
2014-02-21 13:49:23 -05:00
Lorenz Hübschle-Schneider 4736da2d92 Fix an issue with notifications being shown when fetching old lines
@xt, does this fix the issue for you?

While we're at it, fix the annoying jump-to-bottom when loading more lines.
2014-02-21 16:33:10 +00:00
Lorenz Hübschle-Schneider d4a5218922 Fix "Switch to buffer with activity" skipping buffers with notifications
This caused two buffer switches in a row, in effect forgetting the notifications
2014-02-21 16:03:35 +00:00
David Cormier a28ee6033b Merge pull request #163 from lorenzhs/flashtitle
Flash title when receiving lines in the background & make use of favico configurable
2014-02-21 09:58:28 -05:00
David Cormier e468fe57f0 Merge pull request #169 from cormier/fix-73
Reinitialize context when relay closes connection
2014-02-21 09:47:04 -05:00
David Cormier 7b79d7dc5a Merge pull request #166 from torhve/swipe-animate
Use ngAnimate to animate sidebar hiding/showing
2014-02-21 09:46:36 -05:00
Tor Hveem 056aa3deed Use CSS classes instead of javascript for margin 2014-02-21 15:35:06 +01:00
David Cormier 83fe15d326 Merge pull request #168 from lorenzhs/notifications
Notifications: Improve channel detection
2014-02-21 08:59:08 -05:00
David Cormier b09e328463 Reinitialize context when relay closes connection
Fixes #73
2014-02-21 08:54:17 -05:00
Lorenz Hübschle-Schneider fb9d5af5fc localstorage: Correctly check whether value is set before setting default
The old condition always overwrote boolean values that were set to false
with the default m( Check for undefined instead.
2014-02-21 10:50:29 +00:00
Lorenz Hübschle-Schneider df1bb08749 Only update title for notifications, not other kinds of activity
Also make the unread count the first thing in the title
2014-02-21 10:22:27 +00:00
Lorenz Hübschle-Schneider effa64084b Notifications: Improve channel detection 2014-02-21 09:49:03 +00:00
Felix Eckhofer e0aef4c6e1 make enter switch to the first match in the list 2014-02-21 09:55:56 +01:00
Felix Eckhofer fead046eed use alt-g for filter bufferlist
this is more consistent with the other existing shortcuts and is also
the same shortcut go.py recommends in weechat-curses
2014-02-21 09:45:56 +01:00
Tor Hveem 46b503e1b4 Use ngAnimate to animate sidebar hiding/showing 2014-02-21 09:34:30 +01:00
David Cormier f10e44efe4 Merge pull request #164 from lorenzhs/notifications
Rework notifications
2014-02-20 19:31:32 -05:00
Lorenz Hübschle-Schneider e5f33275bd Fix the confirmation dialog when closing the tab
* Only nag if we're connected
* Set event return value so Chrome shows the dialog
2014-02-20 23:52:45 +00:00
Lorenz Hübschle-Schneider 157917d40c Rework notifications
* Improve content of notifications
  * More descriptive title
  * The bug that caused the need for manually assembling the message has been fixed (#161 or c5e548c8ab)
* Permission for displaying notifications can only be requested upon user interaction in Chrome, not on page load. Bind to connect button
* Take user to g-b tab and buffer causing the notification on click
2014-02-20 23:29:17 +00:00
Lorenz Hübschle-Schneider d4207ed7e0 Update title with unread count
Further discussion required on a few points:
* show notifications only or unread lines as well?
* only use this when favico is disabled, or indepently?
I welcome all feedback.

Fixes #22
2014-02-20 22:47:53 +00:00
Lorenz Hübschle-Schneider 9ac7b341ec Make use of favico an option
@tribut: does this resolve your issue?
2014-02-20 22:47:24 +00:00
Lorenz Hübschle-Schneider c5e548c8ab Correctly set message text
There might be multiple parts to each message, e.g. if a plugin colourises
some parts of a message.
2014-02-19 22:08:07 +00:00
David Cormier 5b5082dfd4 Merge pull request #160 from cormier/previous-buffer
PR#155 with shortcut added in front page instructions
close #155
2014-02-19 11:53:06 -05:00
David Cormier 80841154b6 Merge pull request #159 from lorenzhs/fixircregex
Reduce number of false positives in IRC channel linkification
2014-02-19 10:46:13 -05:00
Lorenz Hübschle-Schneider 389d6bdedb Reduce number of false positives in IRC channel linkification 2014-02-19 15:38:07 +00:00
David Cormier 51cde96bf6 Standardize code presentation
Fix indentation (4 spaces, no tabs)
Fix indentation in CSS
Fix comment position in CSS file
2014-02-19 10:27:46 -05:00
David Cormier 8e44757e61 Replace magic number 968 with variable 2014-02-19 10:18:20 -05:00
David Cormier 11e5b6fbda Merge development branch of creesch 2014-02-19 09:58:31 -05:00
David Cormier 2e5e3a45eb Revert "Collapse sidebar with css selector"
This reverts commit 3a5dfd5e94.
2014-02-19 09:53:03 -05:00
Tor Hveem 2452858853 Fix globals. Fix init 2014-02-19 11:28:48 +01:00
Tor Hveem 2aa1e02bea New keybinding: Alt-< to switch to previous buffer. Same key as WeeChat 2014-02-19 10:58:26 +01:00
Lorenz Hübschle-Schneider e5476dfd02 Whitespace fixes, some {} blocks 2014-02-18 18:13:23 +00:00
David Cormier 6814379bdb Merge pull request #154 from torhve/better-string-decoding
Decode and encode array directly without for loop
2014-02-18 09:56:06 -05:00
creesch abefa7430a Implement swiping for mobile devices 2014-02-18 14:40:02 +01:00
Tor Hveem b379d50351 Decode and encode array directly without for loop 2014-02-18 13:25:03 +01:00
David Cormier 27690ada58 Work around a WeeChat protocol inconvenience
Until WeeChat sends a confirmation for init we have to assume
that the commands will be received synchronously even though
they are sent asynchronously
2014-02-17 21:46:00 -05:00
David Cormier ba20a79c72 Send init commands when connection is successful
Initialization commands are sent when we are sure that
the password has been accepted and that the init has been
processed by the weechat relay
2014-02-17 21:19:34 -05:00
David Cormier 8c386f7553 Create helper functions for initialization methods 2014-02-17 21:15:10 -05:00
David Cormier 3a5dfd5e94 Collapse sidebar with css selector
Fixes #152
2014-02-17 20:49:49 -05:00
Lorenz Hübschle-Schneider c490e33898 IRC linky: don't match HTML encoded chars (&#41;, &gt;, etc.) 2014-02-17 20:08:55 +00:00
David Cormier 4e5f239980 Merge pull request #144 from lorenzhs/linkify
Linkify IRC channels
2014-02-17 10:24:00 -05:00
Lorenz Hübschle-Schneider c1760e5433 Fix JS coding style
TODO: rebase this as a fixup. I don't think the github web interface supports that.
2014-02-17 12:37:14 +00:00
Lorenz Hübschle-Schneider 1a5b36b6f7 switchToActivityBuffer: Prioritise notifications
If there is a buffer with a notification, go there. Otherwise, go to one with unread lines.
2014-02-17 12:31:23 +00:00
Lorenz Hübschle-Schneider 93f40c64e9 Fix embed DOM classes
Classes, IDs and Names in the DOM have to begin with a letter. The $$hashKey
however might not, so prefix it with embed_. This also makes the classes more
unique, which is a good thing. Additionally, don't scroll on undefined should that
ever happen.

Fixes #45
2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider 2e963da581 Don't use jQuery, simplify 2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider e48fe29cf8 Automatically scroll plugins into view 2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider eaf5adf467 Linkify IRC channels
Make '#foo' in a message or buffer title clickable, taking the user to the IRC
channel specified, joining it if necessary.
2014-02-16 14:10:56 +00:00
Lorenz Hübschle-Schneider f70f399741 remove unnecessary use of jQuery 2014-02-15 11:39:11 -05:00
Lorenz Hübschle-Schneider f018876987 Fix botched merge 2014-02-14 16:40:44 +00:00
David Cormier 36049447cd Fix jshint errors 2014-02-14 09:32:30 -05:00
Tor Hveem 0f44465faa Better connection / password error handling 2014-02-14 09:16:40 -05:00
David Cormier e68e7dd01d websockets: add support for user specified onmessage 2014-02-14 09:09:09 -05:00
Lorenz Hübschle-Schneider f8f25107de Fix read marker and scrolling behaviour
* don't always jump to the bottom on incoming messages
* don't fiddle with the read marker when loading more lines
2014-02-11 21:45:57 +00:00
Lorenz Hübschle-Schneider 7c2403e7a1 Scrolling: Do not use webkit-specific function to scroll readmarker into view
Sorry for that.
2014-02-11 20:40:25 +00:00
Lorenz Hübschle-Schneider 8068be8de2 Remove setting and calculate number of lines from display properties 2014-02-10 20:18:44 +00:00
Lorenz Hübschle-Schneider 56055d61c8 Make the code a little prettier 2014-02-10 20:18:40 +00:00
Lorenz Hübschle-Schneider 40716ca649 Fix issue with incorrect read marker on startup 2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 7764fc6910 Dynamically load lines for each buffer on startup
Add setting for number of lines to fetch initally.

TODO: styling
2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 5a90e2e830 Fix scrolling issue and reduce the number of scrolling events on startup
Don't trigger scrolling on each line when batch loading lines
2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 32bcb1c943 Fetch more lines on request 2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 6b31a3e59a Reset favico on unloading. Should resolve bookmark favicon issue.
See https://github.com/ejci/favico.js/issues/23 for detail
2014-02-10 19:26:30 +00:00
David Cormier 0107dabb2d Fix jshint errors 2014-02-09 19:40:25 -05:00
David Cormier 81054f06bd Move specific weechat websocket manipulation in glowingbear.js 2014-02-09 19:40:25 -05:00
David Cormier a49ce938ea Add comments to websocket handlers 2014-02-09 19:40:25 -05:00
David Cormier 1da061fec2 Rename conn module to ngWebsockets 2014-02-09 19:40:25 -05:00
David Cormier 1b1b97c448 Remove unnecessary onmessage function 2014-02-09 19:40:25 -05:00
David Cormier eddffd6e63 Remove spurious dependencies from connection 2014-02-09 19:40:25 -05:00
David Cormier d4a4f1bd7f Create websockets module 2014-02-09 19:40:10 -05:00
Lorenz H-S 7d386f04c2 Use strict comparison operators 2014-02-08 13:20:33 +00:00
Lorenz H-S 0cd4f04740 improve spacing and other syntactical stuff 2014-02-08 13:14:23 +00:00
David Cormier f4ee683100 Only retrieve plugin content when 'Show Content' is pressed 2014-02-06 21:21:49 -05:00
David Cormier 6b12926887 Move plugin to it's own directive 2014-02-06 21:00:07 -05:00
David Cormier 6605a49f7c Rename websockets.js to glowingbear.js 2014-02-06 20:39:58 -05:00
David Cormier 991e870304 Merge pull request #126 from torhve/fix-scrolling
Fix a scrolling bug with chrome
2014-02-05 09:26:51 -05:00
Tor Hveem e4bbb64b4a Sort buffers by number before switching to buffer with activity. This
better resembles how weechat works
2014-02-05 09:11:55 -05:00
David Cormier 4753ef92a7 Merge pull request #111 from lorenzhs/fixComment
Fix comment so my completion doesn't suggest rootscope instead of rootScope
2014-02-05 09:08:00 -05:00
Tor Hveem e96ae165b2 Fix a scrolling bug with chrome 2014-02-05 11:20:16 +01:00
David Cormier 38ac95c863 Merge pull request #122 from lorenzhs/fixfavico
Fix Favico
2014-02-02 06:40:24 -08:00
Lorenz H-S cbd5d145dc Fix Favico
Use one favico instance which is dynamically modified
This uses a feature that is not yet part of the latest favico.js release, and needs
a fix that isn't even merged yet. Both are included in commit
8e624ba7f0
2014-02-02 13:00:17 +00:00
Lorenz H-S f0fe8be18a Do channel indendation in CSS.
Fixes the issue with new query buffers' titles not being shown.

Doesn't introduce any new watchers
2014-02-02 11:26:43 +00:00
David Cormier 1bf6f98bde Add missing () to constructor 2014-01-27 11:14:48 -05:00
Tor Hveem 3879e07e46 Fix Favico 2014-01-22 11:32:08 +01:00
Tor Hveem f9ba30f102 Collapsable sidebar for mobile sized screens 2014-01-22 11:08:07 +01:00
David Cormier 51e01ec6d4 Add missing semicolons 2014-01-22 11:08:07 +01:00
Tor Hveem 0bd443715a Remove autofocus since it is very mobile unfriendly 2014-01-22 11:08:06 +01:00
Lorenz H-S 5ad01dac81 embed youtube over SSL 2014-01-09 21:45:00 +00:00
David Cormier ce37e66a15 Merge pull request #109 from lorenzhs/scrolling
Improve scrolling
2014-01-07 10:42:33 -08:00
David Cormier 222419cdcc Merge pull request #113 from lorenzhs/reduceWatchers
Reduce number of watchers
2014-01-06 10:32:41 -08:00
Lorenz H-S b88b046222 Bind bufferlist only once where possible 2013-12-28 16:58:32 +01:00
Lorenz H-S f38c4b020e Fix scrolling behaviour for good (?) 2013-12-28 16:50:31 +01:00
Lorenz H-S 9b89341b74 Fix comment so my completion doesn't suggest rootscope instead of rootScope 2013-12-26 18:35:03 +01:00
Lorenz H-S fe0c070a6c Only scroll when at the bottom of the buffer
I think this behaviour is a lot more natural. Because it no longer "scrolls to bottom", I also renamed it.
2013-12-23 22:34:21 +01:00
Tor Hveem 797be76c95 try to improve scrolling experience 2013-12-23 22:33:20 +01:00
Lorenz H-S 836edf917d Making compression optional was a stupid idea. Revert.
Instead, add a parameter to the connect function that allows disabling compression.
2013-12-20 16:10:58 +00:00
Lorenz H-S d1e6bd6698 Add UI support for compression 2013-12-20 13:31:37 +00:00
Lorenz H-S bf6e92fc24 Implement support for compression (not enabled yet) 2013-12-20 13:31:31 +00:00
Lorenz H-S f67ac87057 Move dependencies to a different folder
fixes build :)
2013-12-19 16:45:29 +00:00
David Cormier e51932aaa5 Revert "Remove files no longer needed due to use of Bower"
This reverts commit 6ef681f722.
2013-12-19 10:36:48 -05:00
David Cormier 68f24554d1 Remove global for variables 2013-12-17 15:55:41 -05:00
David Cormier c251c3b74c Fix is already defined errors 2013-12-17 15:48:43 -05:00
David Cormier 0912a2b55b Remove extra comma and unnecessary semicolons 2013-12-17 15:39:22 -05:00
David Cormier b23fb71d1d Use strict comparators 2013-12-17 15:36:54 -05:00
David Cormier e2a84470ce Add missing semicolons 2013-12-17 15:35:36 -05:00
David Cormier 6d5573a148 Delete trailing whitespaces 2013-12-17 15:30:22 -05:00
David Cormier cbf6bd9920 Use dot notation in models 2013-12-17 15:29:05 -05:00
David Cormier 09616a34c4 Merge pull request #96 from lorenzhs/bower
Remove files no longer needed due to use of Bower
2013-12-17 11:48:53 -08:00
Lorenz H-S 6ef681f722 Remove files no longer needed due to use of Bower 2013-12-17 19:46:46 +00:00
Lorenz H-S da748f911b Keep message/command history for each channel
* Can be navigated with up/down arrow keys
* Currently entered text is preserved when going into history
* When choosing a history entry, previously entered but not submitted text will be restored to input buffer

Closes #75
2013-12-17 19:37:45 +00:00