summaryrefslogtreecommitdiff
path: root/ui/ui.go (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make the last opened channel visible in the horizontal listdelthas2022-09-141-1/+5
| | | | | | | | When starting senpai, we jump to the last opened buffer. Offset the horizontal target list to make the buffer visible, as if scrolled to with CTRL+N. Fixes: https://todo.sr.ht/~taiite/senpai/100
* Revert to using base colors by default, making extended configurabledelthas2022-08-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In a previous commit, the color scheme for displaying nicks was changed to use more colors (30 rather than 14), using extended colors from the 256 colors set. The issue with this is that most terminal emulators customize the colors of the first 16 colors to make them more readable (eg, a terminal emulator with a light theme will make colors darker, and one with a dark theme will make colors lighter). So the 14 colors used before were usually not the default color codes from the original xterm/X11 spec, but specific colors chosen by the terminal emulator to be particularly readable. In a way, changing the behavior to use colors from the 256 colors set, which is usually not overriden, made them much less readable. Which is why we need a configuration option for this. I conversatively chose to make the default color scheme the previous one, with only the base 16 colors. The 256 colors scheme can be enable by adding to the configuration file: colors { nicks extended }
* Color nicks in the member list the same as in the timelinedelthas2022-08-101-1/+2
| | | | | | | | Also, change the color scheme to use more colors. Now 30 instead of 15, and with the consistent color codes offered by the extended XTerm 256 color scheme. Fixes: https://todo.sr.ht/~taiite/senpai/90
* Add support for soju.im/bouncer-networks-notifydelthas2022-08-101-0/+5
| | | | | | This enables dynamic discovery of new and deleted networks. Fixes: https://todo.sr.ht/~taiite/senpai/71
* Add a config option to beep on highlightKirill Chibisov2022-08-011-0/+4
| | | | | This will allow to bring user attention when you are getting highlighted.
* Add pane-widths { text } to limit the max line widthdelthas2022-07-251-2/+7
| | | | Fixes: https://todo.sr.ht/~taiite/senpai/87
* Fix crashing when shrinking the text to a zero widthdelthas2022-07-221-0/+3
| | | | | | Thanks steamyalt for the bug report. Fixes: https://todo.sr.ht/~taiite/senpai/86
* Scroll to the channel when changing the horizontal channelNomeji2022-07-221-0/+16
| | | | | | | | | | | | | Previously, when running CTRL+N or CTRL+P to go to the next or previous channel, with the horizontal channel mode, the selected channel could appear offscreen. This patch ensures that we scroll just enough to make the newly selected chan visible. Thanks to Nomeji for his hard work on this. Adapted slightly to refactor existing code to use the newly created width computation routine.
* Add a config option for unread buffer text colorTim Culverhouse2022-04-201-1/+6
| | | | | | | This patch adds the ability to set a config option for changing the foreground text color of unread buffers (This was refactored slightly by delthas.)
* Enable clicking on a horizontal buffer to switch to itdelthas2022-04-201-0/+4
| | | | | | | This is inspired by a patch from mooff. This keeps the same click & drag behavior as for the vertical channel list.
* Scroll horizontal channel list with the mouse wheeldelthas2022-04-201-1/+1
| | | | | | This is inspired by a patch by mooff. The horizontal channel list can now be scrolled with the mouse wheel.
* Show/hide the channel & member list with F7/F8delthas2022-04-201-22/+59
| | | | | | | This patch is inspired and modified from a patch by mooff. Also this switches the default configuration to *display* the channel & member list by default.
* Implement SEARCHdelthas2022-04-121-0/+12
| | | | | | Also refactor ui/ to support overlays, temporary anonmyous buffers. See: https://github.com/emersion/soju/pull/39
* Enable clicking on channel members to open a query with themdelthas2022-02-131-6/+23
|
* Make CTRL+C alternatively clear the input and set '/quit' in itdelthas2022-02-131-0/+4
|
* Add support for the soju.im/read capability and READ commanddelthas2022-02-111-0/+9
| | | | See: https://github.com/emersion/soju/blob/c7f0634ec8ee94425547b159bc36705582151012/doc/read.md
* MONITOR user with whom we have an open bufferdelthas2022-02-101-2/+14
|
* Merge redundant eventsHubert Hirtz2021-12-061-1/+2
|
* Show the current channel topic at the top of the timelinedelthas2021-11-241-0/+4
|
* Fix part-ing a channel with duplicate name in other networksdelthas2021-11-161-2/+2
| | | | | If there are multiple channels with the same name in several networks, we should part from the one from the correct network.
* Allow App.Close() and App.Run() to be run concurrentlyHubert Hirtz2021-11-161-1/+7
|
* Revert "Show the current channel topic at the top of the timeline"Hubert Hirtz2021-11-051-4/+0
| | | | | This reverts commit 96340f8c4d91f59f6e39767891f9bb52d7fad329 because of a bug in timeline rendering.
* Show the current channel topic at the top of the timelinedelthas2021-11-041-0/+4
|
* Make vertical channel list scrollabledelthas2021-10-311-2/+18
| | | | Seems like I really have too many channels... :)
* Sync screen during resizeHubert Hirtz2021-10-271-0/+1
| | | | For CtrlL to actually refresh the screen.
* Scroll up/down highlight by highlightHubert Hirtz2021-10-261-0/+8
|
* status bar drawing: fix off-by-one errorHubert Hirtz2021-10-261-7/+1
|
* Support for soju.im/bouncer-networksHubert Hirtz2021-10-241-7/+20
| | | | | | | | | | | | | | | This patch also disable the highlight on reconnect. This might be an issue (the user would want to know when senpai is online again?), but with multiple connections, it's bothersome to have to unread all of them on start (it wasn't a problem with only one connection since it was read instantly). Now, lastbuffer.txt also contains the network ID, otherwise the user might end up on another buffer with the same name. This patch does not extend /r to support multiple networks (it will send the message to the latest query, whatever the current displayed network is).
* Make use of away-notifyHubert Hirtz2021-10-231-2/+10
|
* Rework vertical listsHubert Hirtz2021-10-221-13/+11
|
* Fix ui.StyledStringBuilderHubert Hirtz2021-10-221-0/+1
|
* Cleanup drawVerticalMemberListHubert Hirtz2021-10-191-1/+31
|
* Only show buffer numbers when necessaryHubert Hirtz2021-10-191-6/+7
| | | | | | Saves space also removed non-edition related method IsCommand out of editor.go
* Fix horizontal channel bar drawingHubert Hirtz2021-09-131-1/+1
|
* Use messageBounds for infinite scroll CHATHISTORY requestsHubert Hirtz2021-09-031-5/+0
|
* Don't show the member list by defaultHubert Hirtz2021-09-011-1/+3
|
* Channel list is horizontal by defaultHubert Hirtz2021-09-011-7/+30
|
* Fetch missed messages on reconnectHubert Hirtz2021-09-011-3/+3
| | | | just one step closer to proper CHATHISTORY support!! :=D ^v^
* Introduce backsearch message support with ctrl+Rdelthas2021-08-071-0/+4
| | | | Fixes: #47
* Enable scrolling through the vertical member list with the mouse wheeldelthas2021-08-061-4/+30
|
* ui: Introduce a vertical member list on channelsdelthas2021-07-141-11/+18
| | | | | | | | Also, fix the UI timeline clearing too much, as well as the status line. Also, remove the width in the editor and buffer list constructors. We were initializing them with wrong values, only to overwrite these values with correct ones later in Resize().
* Add notify types for fine-grained control of unread/highlight statedelthas2021-07-141-2/+2
| | | | | | | | Namely, we want the unread light to show up only on actual messages, not commands etc. This opens the way for not showing an unread light when printing topic on join.
* Don't send typing=done when input is already emptyHubert Hirtz2021-07-131-2/+2
|
* Switch to the buffer of a new user-requested channel joindelthas2021-07-131-2/+10
|
* Clear the input on CTRL+C instead of quittingdelthas2021-07-131-0/+4
| | | | | | | | We have /QUIT for quitting. Most well-known IRC clients don't quit on CTRL+C but they do on QUIT. Clearing the editor input on CTRL+C is useful for shell-like behaviour "abort current line, let me start my line again".
* Ignore case when searching for a /BUFFERdelthas2021-07-121-1/+2
| | | | Best-effort regular casemapping, not the IRC session's one. :P
* Pick nick colors in terminal color schemeHubert Hirtz2021-05-261-7/+14
| | | | So that the colors go well with the terminal background.
* Make mouse support optionalAlexey Yerin2021-04-281-1/+4
| | | | | | To not break existing users, mouse is enabled by default but you have an option to disable it with "mouse: false" in your /.confg/senpai/senpai.yaml.
* editor: Ctrl+{Right,Left} moves cursor by wordsAlexey Yerin2021-04-271-0/+8
| | | | | A very useful readline feature when combined with ^W can be a really quick way to reformat a sentence, which is what I do on IRC quite often.
* Add BUFFER command to jump to the matching bufferAlexey Yerin2021-04-271-0/+12
| | | | | Is is very useful when you have joined a bunch of channels and scrolling with Ctrl+n/Ctrl+p is quite inefficient.