1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-11-15 09:23:02 +01:00
Commit Graph

2003 Commits

Author SHA1 Message Date
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
cryptogospod
bcdec5d624
Improve installation instructions 2021-09-12 16:58:28 +02: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
f2b1c81279
Fix static build script and update libcurl version 2021-06-28 23:07:03 -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
556a522637
Update man pages with new IRC server 2021-05-24 13:50:00 -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
a5246bcbc6
Bump to version 0.10.1 2021-01-20 16:18:43 -05:00
Maxim Biro
b37e28c2d0
Add a script for building minimal static toxic
The intention is that JFreegman would run it locally on his machine for
every Toxic release and publish the build artifacts on GitHub for
download, similarly to how the qTox team makes release builds. This
should mitigate the loss of the Jenkins build server to some extent,
which used to provide Toxic builds before.
2021-01-19 21:48:51 -05:00
Maxim Biro
973e60ef11
Fix Makefile assignment bug
When a user provides variable=value as an argument to make, all
assignments to that variable are ignored within the Makefile because the
user has explicitly overrode variable to be "value". This made the
ENABLE_ASAN assignment to be ignored, resulting in Toxic always enabling
ASAN unless you run `make ENABLE_ASAN=disabled`, which is not
documented and not how it's intended to work. This can be fixed by
prefixing the assignment with "override", but to be in line with other
argument assignments we just change the variable name.

See more at:
https://www.gnu.org/software/make/manual/html_node/Overriding.html
2021-01-19 20:18:24 -05:00
jfreegman
ae94bc593b
Rename some build options for naming consistency 2021-01-19 15:21:31 -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
b77bff35a1
Add config man entries for colour scheme options 2020-12-06 11:52:46 -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
0d8e6d713e
Update readme screenshot and bump to v0.9.1 2020-11-26 16:58:09 -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
3f2826bd66
Add release and LLVM asan build options
The release build uses -O2 and flto, and has no debug symbols.
-Wmissing-field-initializer was removed due to false positives
on newer versions of clang
2020-11-26 16:04:54 -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