1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-07-01 18:47:46 +02:00
Commit Graph

1266 Commits

Author SHA1 Message Date
jfreegman
1803da85c1
Refactor unread message flagging
This fixes an issue where the interface wasn't able to update
when the unread message flag changed. It also cleans up some
ugly code
2021-11-19 22:54:35 -05:00
jfreegman
f3f81111c8
Greatly reduce redundant window refreshing
This should substantially reduce CPU usage and possibly fix some
issues with interface jittering/flashing
2021-11-19 17:54:35 -05:00
jfreegman
13337041ce
Show friend connection type (UDP/TCP) in friend status bar 2021-11-10 13:27:11 -05:00
Sergei Trofimovich
41e93adbdb game_chess.c: always use "%s"-style format for printf()-style functions
`ncuses-6.3` added printf-style function attributes and now makes
it easier to catch cases when user input is used in palce of format
string when built with CFLAGS=-Werror=format-security:

    toxic/src/game_chess.c:1633:63: error:
      format not a string literal and no format arguments [-Werror=format-security]
     1633 |         mvwprintw(win, board->y_bottom_bound + 2, x_mid, state->status_message);
          |                                                          ~~~~~^~~~~~~~~~~~~~~~

Let's wrap all the missing places with "%s" format.
2021-11-04 09:44:33 +00:00
jfreegman
34b7c0a0d8
Options parsing code cleanup 2021-11-03 16:23:38 -04:00
jfreegman
9e353443c2
Fix outdated help message 2021-08-16 11:14:09 -04:00
jfreegman
d02f3b4acb
Fix a graphical bug with the game border on some terminal emulators 2021-07-27 14:15:36 -04:00
jfreegman
768617a129
Fix small build bug and bump to v0.11.1 2021-06-28 16:04:25 -04:00
jfreegman
8dfd009e0e
Some minor fixes for game module 2021-06-28 13:54:25 -04:00
jfreegman
321f694bb8
Add ability to toggle colours in game of life 2021-06-03 14:45:03 -04:00
jfreegman
4514ecd839
Refactor game window sizing
- Add large square and rectangle window types
- Remove forced small windows
- Fit game of life to largest possible window type
- Hide cursor in game of life when game is running
2021-06-03 01:19:49 -04:00
jfreegman
5e67571908
Implement Conway's Game of Life 2021-06-01 23:00:00 -04:00
jfreegman
c293fbe0c7
Add support for game window notifications 2021-05-24 14:30:29 -04:00
jfreegman
93fb84206d
Bump to version 0.11.0 2021-05-24 14:30:28 -04:00
jfreegman
35aa6922d6
Show previous window instead of Home after closing a window 2021-05-24 14:30:28 -04:00
jfreegman
7abf6388f8
Add ability to compile without game support 2021-05-24 14:30:28 -04:00
jfreegman
7aeb1a0aac
Add networking to game engine / add multiplayer chess 2021-05-24 14:30:27 -04:00
jfreegman
60bdcf0ba5
Begin implementing chess 2021-05-24 14:30:27 -04:00
jfreegman
a623976a0e
Add game module (WIP) 2021-05-24 14:30:26 -04:00
jfreegman
a2f0f298aa
Fix bug showing friends with busy status as online 2021-04-20 13:29:41 -04:00
jfreegman
0fc1d9e994
Add two missing mutex unlocks 2021-03-27 11:50:57 -04:00
jfreegman
80fd3d3b97
Fix buggy behaviour when printing non-ascii characters in Home input field
This line doesn't appear to be doing anything useful - most likely a leftover
from the recent UI overhaul
2021-01-25 22:36:05 -05:00
jfreegman
07a41f9e0b
Show previous window instead of Home after closing a window 2021-01-25 17:09:23 -05:00
jfreegman
f643975941
Fix bug preventing the /clear command from working in Home window 2021-01-23 21:17:46 -05:00
jfreegman
81eb58532e
Fix bug sometimes causing join message spam on conference join 2021-01-17 17:10:10 -05:00
jfreegman
8464ea9a7a
Fix minor display bug with the audio call info box 2021-01-12 19:18:22 -05:00
jfreegman
eb964b64c2
Fix off by one error and comment magic numbers 2020-12-05 20:53:09 -05:00
Lily
2ff9d29491
Custom colors proof of concept
Fix formatting

Fix repeated variable in example config
2020-12-05 17:46:13 -06:00
jfreegman
2640919318
Don't announce when ghost peers leave the group
This appears to be a toxcore bug, but nonetheless it looks ugly. Also changed
group -> conference for join/part messages
2020-12-03 11:49:48 -05:00
jfreegman
2fcbc4fa1c
Remove lots of duplicate code related to printing timestamps 2020-11-30 17:55:57 -05:00
jfreegman
4330bf5867
Show peer join/part messages in conferences
Also a couple trivial fixes
2020-11-30 12:06:13 -05:00
jfreegman
3f1b7cdd26
Update config example and some default settings to reflect recent changes 2020-11-30 00:58:43 -05:00
jfreegman
1e985c1456
Interface improvements and bump to v0.10.0
- Give window tab and statusbar a make over
- Place window tab above input field
- Reduce input field to one square in height
- Refactor window tab so that it's now a subwin of its parent ToxWindow
- Fix bug causing notification counter to sometimes increment by 2
- No longer scroll on output when output is not at bottom of screen
- Show a small indicator on far left of window tab when output is
  not at bottom of screen
- Reduce ncurses/UI thread sleep time by half
- Handle nanosleep errors better
2020-11-29 23:26:51 -05:00
jfreegman
61740bda85
Fix a couple minor issues
Print a warning if remove() fails, and check if the win pointer is null
before using it (this is unnecessary but it's correct and shuts coverity up)
2020-11-26 18:25:37 -05:00
jfreegman
39e4ff8bd6
Fix tab complete bug
If a directory contains a single entry tab complete will no longer fail
2020-11-26 16:20:51 -05:00
jfreegman
0434ac186a
Fix bug causing file transfer status bars to be truncated 2020-11-26 16:17:00 -05:00
jfreegman
8d9d51640c
Fix display bug caused by noread flag appended to unread messages
A line's line count now increments without messing up the formatting in cases where
the noread flag wraps to the next line.

Additionally, the way noread flags are handled has been refactored and made
more efficient.
2020-11-26 16:16:59 -05:00
jfreegman
c4c0c0d1f4
Another logging fix
When renaming a log file, if the new name already exists we just
start appending to it and delete the old file. There's no need
to create a backup.

This fixes an issue where leaving and rejoining the same group
multiple times will eventually lead to the logger not working
due to trying to use the same file name over and over again.
2020-11-26 16:10:59 -05:00
jfreegman
7b7ea0e386
Fix small regression
This wasn't supposed to make it into the commit
2020-11-24 23:42:25 -05:00
jfreegman
d35a38735b
Fix line wrapping/padding issues
It should now parse messages with newlines properly as well as messages that
contain long sequences of characters with no spaces
2020-11-24 19:47:04 -05:00
jfreegman
f0c4906fdc
Fix some off by one bugs with line scrolling and some cleanup
Instead of trying (and failing) to correctly calculate the number of lines on the
screen a given message will need space for, we dynamically set the value both
on initiation of a new line, and whenever that line is printed to the screen
using the print_wrap() function.

This should fix the screen occasionally not scrolling down the correct number of
lines when a new message is printed.
2020-11-24 19:36:03 -05:00
jfreegman
56ba61e061
Cleanup and refactor x11 code
- Deleted X11 code for an unfinished/broken feature
- Rename xtra -> x11focus
- Cleanup the remaining code a bit
2020-11-24 19:31:59 -05:00
jfreegman
898d89e95a
Properly handle failures to convert widechar strings to multibyte 2020-11-24 16:41:42 -05:00
jfreegman
1fd1e27bdf
Remove seconds from default timestamp
Also reduce the --- prefix to one dash before a message. These characters are taking
up valuable real-estate
2020-11-22 18:53:32 -05:00
jfreegman
8e84ac58d4
Implement word wrapping
It's about time
2020-11-22 18:41:12 -05:00
jfreegman
9d65997871
Add notification counters to bottom tab
A counter now increments in the bottom bar for unfocused windows showing how
many unread messages are pending. Tabs with no pending messages show [*]
instead of their index (showing the index is useless and somewhat confusing)
2020-11-21 11:25:41 -05:00
jfreegman
da2889f3ab
Fix UI regression
The conference number needs to be displayed in the tab name
so that you can invite friends to conferences
2020-11-20 02:10:52 -05:00
jfreegman
312b38d253
A few small fixes
- Fix race condition in draw_peer()
- Handle realloc_peer_list() error
- Remove dead code in cmd_conference()
- Reduce scope of a few variable variables
- Fix possible buffer truncation in api.c
2020-11-19 14:23:32 -05:00
jfreegman
0554bf0240
Create backup of duplicate log file instead of deleting it
This case should never occur, but just in case it does it's good to handle it
without any data loss
2020-11-19 14:23:31 -05:00
jfreegman
53a7530e8a
Some UI improvements
- Bottom tab now only shows indices of active chat windows unless focused
- Always focus Home screen on startup instead of the last loaded conference
- Conference tab names are no longer prefixed with the conference number
- Home and Contact tab names are now capitalized
2020-11-19 01:30:30 -05:00