Code Monkey home page Code Monkey logo

neo's People

Contributors

st3w avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

neo's Issues

glitch percentage option value is not a percentage

In the options description using neo -h

-G, --glitchpct=NUM    set the percentage of screen chars that glitch

If I'm reading this correctly then if I use -G 1 this should be "1% of the screen glitches" but it's actually 100% of the screen. I have to use -G 0.01 to get 1% screen glitch.

Awesome project btw :)

issue with the lines appearing in a instant no matter the speed

hey it is me again!
this time after compiling succesfully with the help of st3w the program work as intended...but the lines are not drawed one characters at the time, it's just : one line, one line, etc
the speed argument won't change anything, well yes actually it change the speed at which the lines pop but not the drawing speed in itself (the fps option also dosen't do anything)

[Bug] minor errors

I am in the process of packaging for debian. I came across tho following errors:

I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:194]
N: 
N:   This manual page uses the \' groff sequence. Usually, the intent is to
N:   generate an apostrophe, but that sequence actually renders as an acute
N:   accent.
N:   
N:   For an apostrophe or a single closing quote, use plain '. For single
N:   opening quote, i.e. a straight downward line ' like the one used in shell
N:   commands, use '\(aq'.
N:   
N:   In case this tag was emitted for the second half of a '\\' sequence, this
N:   is indeed no acute accent, but still wrong: A literal backslash should be
N:   written \e in the groff format, i.e. a '\\' sequence needs to be changed
N:   to '\e' which also won't trigger this tag.
N: 
N:   Please refer to Bug#554897, Bug#507673, and Bug#966803 for details.
N: 
N:   Visibility: info
N:   Show-Always: no
N:   Check: documentation/manual
N:   Renamed from: acute-accent-in-manpage
N: 
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:196]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:198]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:200]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:202]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:204]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:206]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:208]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:210]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:212]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:214]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:216]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:218]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:220]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:222]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:224]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:226]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:228]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:230]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:232]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:234]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:236]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:238]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:240]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:242]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:244]
N:
I: neo-cli: acute-accent-in-manual-page [usr/share/man/man6/neo.6.gz:246]
N:
I: neo-cli: typo-in-manual-page compatability compatibility [usr/share/man/man6/neo.6.gz:266]
N: 
N:   Lintian found a spelling error in a manual page. Lintian has a list of
N:   common misspellings that it looks for. It does not have a dictionary like
N:   a spelling checker does.
N:   
N:   If the string containing the spelling error is translated with the help of
N:   gettext (with the help of po4a, for example) or a similar tool, please fix
N:   the error in the translations as well as the English text to avoid making
N:   the translations fuzzy. With gettext, for example, this means you should
N:   also fix the spelling mistake in the corresponding msgids in the *.po
N:   files.
N: 
N:   Visibility: info
N:   Show-Always: no
N:   Check: documentation/manual
N:   Renamed from: spelling-error-in-manpage

This is nothing major, just thought I'd let you know.

Cheers

MSYS2 compilation

Hey there, just wanted to let you know that you can indeed run Neo on native Windows with MSYS2 by adding #define _GNU_SOURCE to src/neo.cpp. I got this error first:

neo.cpp: In function ‘void ParseArgs(int, char**, Cloud*, double*, bool*)’:
neo.cpp:515:17: error: ‘strcasecmp’ was not declared in this scope; did you mean ‘strncmp’?
  515 |             if (strcasecmp(optarg, "ascii") == 0) {
      |                 ^~~~~~~~~~
      |                 strncmp
neo.cpp:575:17: error: ‘strcasecmp’ was not declared in this scope; did you mean ‘strncmp’?
  575 |             if (strcasecmp(optarg, "green") == 0) {
      |                 ^~~~~~~~~~
      |                 strncmp
neo.cpp: In function ‘int main(int, char**)’:
neo.cpp:827:16: error: ‘strcasestr’ was not declared in this scope; did you mean ‘strstr’?
  827 |     if (loc && strcasestr(loc, "UTF") != nullptr)
      |                ^~~~~~~~~~
      |                strstr
make[1]: *** [Makefile:371: neo.o] Error 1

But after googling a bit, I came across this: jarun/nnn#784, and I just tried putting #define _GNU_SOURCE into the source file. Maybe including something like jarun/nnn@d38f4b1 could fix this properly, but I don't know exactly if/what that would break. You can add to the readme that it is possible that way :)

image

neo does not recognize its own name from the help menu

In most all GNU programs, programs will print their usage message as how they are called. For example, calling whoami --help prints the following:

Usage: whoami [OPTION]...
Print the user name associated with the current effective user ID.
Same as id -un.

      --help        display this help and exit
      --version     output version information and exit

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/whoami>
or available locally via: info '(coreutils) whoami invocation'

If I run ln -s /usr/bin/whoami ./quiensoy and subsequently run ./quiensoy --help, I get:

Usage: ./quiensoy [OPTION]...
Print the user name associated with the current effective user ID.
...

neo, when symlinked to a different location, does not do this, and instead returns

Usage: neo [OPTIONS]

Simulate the digital rain from "The Matrix"
...

regardless of how it is called. This can be problematic because the AUR package here uses neo-matrix instead of neo as the binary name to avoid a conflict with another program called neo. Have you considered using some permutation of basename(argv[0]) or something like that? I don't know much C or C++ so my ability to help is limited (I've already been working on it for an hour and can't get anything to compile properly.)

[Feature request] Matrix sounds

I don't know if this would be possible/feasible (or conflicted by copyright) but it would be really awesome to have an option to toggle the digital rain sound effect from The Matrix.

Can't install

Making all in doc
make[1]: вход в каталог «/home/jack/neo/neo-0.6.1/doc»
make[1]: Цель «all» не требует выполнения команд.
make[1]: выход из каталога «/home/jack/neo/neo-0.6.1/doc»
Making all in src
make[1]: вход в каталог «/home/jack/neo/neo-0.6.1/src»
g++ -DPACKAGE_NAME=\"neo\" -DPACKAGE_TARNAME=\"neo\" -DPACKAGE_VERSION=\"0.6.1\" -DPACKAGE_STRING=\"neo\ 0.6.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"neo\" -DVERSION=\"0.6.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GETOPT_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NCURSES_H=1 -I.    -DNCURSES_WIDECHAR -std=c++11 -g -O2 -MT cloud.o -MD -MP -MF .deps/cloud.Tpo -c -o cloud.o cloud.cpp
cloud.cpp: In member function ‘void Cloud::CalcMessage()’:
cloud.cpp:853:9: error: ‘mvinnwstr’ was not declared in this scope
         mvinnwstr(msgChar.line, msgChar.col, wc, 1);
         ^~~~~~~~~
cloud.cpp:853:9: note: suggested alternative: ‘mvinnstr’
         mvinnwstr(msgChar.line, msgChar.col, wc, 1);
         ^~~~~~~~~
         mvinnstr
cloud.cpp: In member function ‘void Cloud::DrawMessage() const’:
cloud.cpp:871:9: error: ‘mvadd_wch’ was not declared in this scope
         mvadd_wch(msgChar.line, msgChar.col, &wc);
         ^~~~~~~~~
cloud.cpp:871:9: note: suggested alternative: ‘mvaddch’
         mvadd_wch(msgChar.line, msgChar.col, &wc);
         ^~~~~~~~~
         mvaddch
Makefile:373: recipe for target 'cloud.o' failed
make[1]: *** [cloud.o] Error 1
make[1]: выход из каталога «/home/jack/neo/neo-0.6.1/src»
Makefile:336: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Any idea how to fix it?

Compilation fail in macos monterey

hey all! when i try to compile the tarball on macos monterey (arm) i get this undeclared identifier error, i suppose that it's just some type of variable to change for the macos compatibility

cloud.cpp:852:9: error: use of undeclared identifier 'mvinnwstr'; did you mean 'mvinnstr'?
        mvinnwstr(msgChar.line, msgChar.col, wc, 1);
        ^~~~~~~~~
        mvinnstr
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:621:28: note: 'mvinnstr' declared here
extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);            /* generated */
                           ^
cloud.cpp:852:46: error: cannot initialize a parameter of type 'char *' with an lvalue of type 'wchar_t [2]'
        mvinnwstr(msgChar.line, msgChar.col, wc, 1);
                                             ^~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:621:54: note: passing argument to parameter here
extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);            /* generated */
                                                     ^
cloud.cpp:864:9: error: use of undeclared identifier 'cchar_t'; did you mean 'wchar_t'?
        cchar_t wc = {};
        ^~~~~~~
        wchar_t
cloud.cpp:865:11: error: member reference base type 'wchar_t' is not a structure or union
        wc.attr = attr;
        ~~^~~~~
cloud.cpp:866:11: error: member reference base type 'wchar_t' is not a structure or union
        wc.chars[0] = msgChar.val;
        ~~^~~~~~
cloud.cpp:870:9: error: use of undeclared identifier 'mvadd_wch'; did you mean 'mvaddch'?
        mvadd_wch(msgChar.line, msgChar.col, &wc);
        ^~~~~~~~~
        mvaddch
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:605:28: note: 'mvaddch' declared here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                           ^
cloud.cpp:870:46: error: cannot initialize a parameter of type 'chtype' (aka 'unsigned int') with an rvalue of type 'wchar_t *'
        mvadd_wch(msgChar.line, msgChar.col, &wc);
                                             ^~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:605:59: note: passing argument to parameter here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                                                          ^

and when i try to compile from the github version i get with it this one :

droplet.cpp:144:9: error: use of undeclared identifier 'cchar_t'; did you mean 'wchar_t'?
        cchar_t wc = {};
        ^~~~~~~
        wchar_t
droplet.cpp:145:11: error: member reference base type 'wchar_t' is not a structure or union
        wc.attr = attr2;
        ~~^~~~~
droplet.cpp:146:11: error: member reference base type 'wchar_t' is not a structure or union
        wc.chars[0] = val;
        ~~^~~~~~
droplet.cpp:150:13: error: use of undeclared identifier 'mvadd_wch'; did you mean 'mvaddch'?
            mvadd_wch(line, _boundCol, &wc);
            ^~~~~~~~~
            mvaddch
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:605:28: note: 'mvaddch' declared here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                           ^
droplet.cpp:150:40: error: cannot initialize a parameter of type 'chtype' (aka 'unsigned int') with an rvalue of type 'wchar_t *'
            mvadd_wch(line, _boundCol, &wc);
                                       ^~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:605:59: note: passing argument to parameter here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                                                          ^
droplet.cpp:153:13: error: use of undeclared identifier 'mvadd_wch'; did you mean 'mvaddch'?
            mvadd_wch(line, _boundCol, &wc);
            ^~~~~~~~~
            mvaddch
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:605:28: note: 'mvaddch' declared here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                           ^
droplet.cpp:153:40: error: cannot initialize a parameter of type 'chtype' (aka 'unsigned int') with an rvalue of type 'wchar_t *'
            mvadd_wch(line, _boundCol, &wc);
                                       ^~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/curses.h:605:59: note: passing argument to parameter here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                                                          ^

thanks for your work ;)

ARM64 build not supported

Building on ARM64 (AppleSilicon M1) fails with linker error when running make -j3:

g++ -DNCURSES_WIDECHAR -std=c++11 -g -O2   -o neo cloud.o droplet.o neo.o  
Undefined symbols for architecture arm64:
  "_COLORS", referenced from:
      ParseColorLine(char*, unsigned long) in neo.o
      PickColorMode(ColorMode) in neo.o
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_COLOR_PAIRS", referenced from:
      ParseColorFile(char const*) in neo.o
  "_COLS", referenced from:
      Cloud::Cloud(ColorMode, bool) in cloud.o
      Cloud::Reset() in cloud.o
  "_LINES", referenced from:
      Cloud::Cloud(ColorMode, bool) in cloud.o
      Cloud::Reset() in cloud.o
  "_can_change_color", referenced from:
      PickColorMode(ColorMode) in neo.o
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_cbreak", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_clear", referenced from:
      Cloud::Rain() in cloud.o
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_curs_set", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_endwin", referenced from:
      Cleanup() in neo.o
      ParseArgs(int, char**, Cloud*, double*, bool*) in neo.o
      _main in neo.o
  "_has_colors", referenced from:
      PickColorMode(ColorMode) in neo.o
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_init_color", referenced from:
      Cloud::SetColor(Color) in cloud.o
  "_init_pair", referenced from:
      Cloud::SetColor(Color) in cloud.o
  "_initscr", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_keypad", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_nodelay", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_noecho", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_refresh", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
      Profiler(Cloud&) in neo.o
      MainLoop(Cloud&, double) in neo.o
  "_start_color", referenced from:
      InitCurses(ColorMode, ColorMode*) in neo.o
  "_stdscr", referenced from:
      Cloud::Cloud(ColorMode, bool) in cloud.o
      Cloud::SetColor(Color) in cloud.o
      Cloud::Rain() in cloud.o
      Cloud::CalcMessage() in cloud.o
      Cloud::DrawMessage() const in cloud.o
      Droplet::Draw(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, bool) in droplet.o
      InitCurses(ColorMode, ColorMode*) in neo.o
      ...
  "_use_default_colors", referenced from:
      Cloud::SetColor(Color) in cloud.o
  "_wadd_wch", referenced from:
      Cloud::DrawMessage() const in cloud.o
      Droplet::Draw(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, bool) in droplet.o
  "_waddch", referenced from:
      Droplet::Draw(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, bool) in droplet.o
  "_wattr_off", referenced from:
      Cloud::DrawMessage() const in cloud.o
      Droplet::Draw(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, bool) in droplet.o
  "_wattr_on", referenced from:
      Cloud::DrawMessage() const in cloud.o
      Droplet::Draw(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, bool) in droplet.o
  "_wbkgd", referenced from:
      Cloud::SetColor(Color) in cloud.o
  "_wgetch", referenced from:
      HandleInput(Cloud*) in neo.o
  "_winnwstr", referenced from:
      Cloud::Rain() in cloud.o
      Cloud::CalcMessage() in cloud.o
  "_wmove", referenced from:
      Cloud::Rain() in cloud.o
      Cloud::CalcMessage() in cloud.o
      Cloud::DrawMessage() const in cloud.o
      Droplet::Draw(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, bool) in droplet.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [neo] Error 1
make: *** [all-recursive] Error 1

Is support for ARM64 planned?

Neo 6.1 using 100% of a CPU core on Alacritty

This pegs one of my CPU cores when I run it in Alacritty 0.10.1.

Void LInux

Linux m2 5.19.13_1 #1 SMP PREEMPT_DYNAMIC Wed Oct 5 02:41:13 UTC 2022 x86_64 GNU/Linux

I've got a Quadro T2000 onboard too

MAC OSX install Instructions

The OSX Install instructions are incorrect, if you're using brew to install ncurses - you should use the following flags:

export LDFLAGS="-L/usr/local/opt/ncurses/lib"
export CPPFLAGS="-I/usr/local/opt/ncurses/include"

Your README is incorrectly stating:

export LDFLAGS="-L/opt/homebrew/opt/ncurses/lib"
export CPPFLAGS="-I/opt/homebrew/opt/ncurses/include"

configure error

On M1 Mac, run ./configure will get this error:

./configure: line 3850: syntax error near unexpected token noext,' ./configure: line 3850: AX_CXX_COMPILE_STDCXX_11(noext, mandatory)'

uname -a
Darwin 21.2.0 Darwin Kernel Version 21.2.0: Wed Oct 20 00:23:21 PDT 2021; root:xnu-8019.60.40.0.1~26/RELEASE_ARM64_T8101 arm64

Compilation fails both with gcc++ and clang on Gentoo Linux

I tried to compile neo from source according to instructions both in Readme and from docs/install. Building fails with similar errors, both when using git clone and from release page source (both from source code and official release tarball). I'm using latest (in gentoo it is "testing") version of both ncurses (6.3) and autoconf (2.71). I've tried it on two machines with the same result, both running gentoo, the other is using stable version of ncurses (6.2). Also tried using build directory and compiling there, again no luck for me.

This is terminal output when compiling with gcc++:

kenny2@Dell-gentoo ~/neo/neo-0.6 $ ./autogen.sh 
configure.ac:4: installing 'build-aux/install-sh'
configure.ac:4: installing 'build-aux/missing'
src/Makefile.am: installing 'build-aux/depcomp'
kenny2@Dell-gentoo ~/neo/neo-0.6 $ ./configure 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking for initscr in -lncursesw... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for getopt.h... yes
checking for locale.h... yes
checking for ncurses.h... yes
checking whether g++ supports C++11 features with -std=c++11... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
kenny2@Dell-gentoo ~/neo/neo-0.6 $ make
Making all in doc
make[1]: Entering directory '/home/kenny2/neo/neo-0.6/doc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/kenny2/neo/neo-0.6/doc'
Making all in src
make[1]: Entering directory '/home/kenny2/neo/neo-0.6/src'
g++ -std=c++11 -DPACKAGE_NAME=\"neo\" -DPACKAGE_TARNAME=\"neo\" -DPACKAGE_VERSION=\"0.6\" -DPACKAGE_STRING=\"neo\ 0.6\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"neo\" -DVERSION=\"0.6\" -DHAVE_LIBNCURSESW=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_GETOPT_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NCURSES_H=1 -DHAVE_CXX11=1 -I.    -DNCURSES_WIDECHAR -std=c++11 -g -O2 -MT cloud.o -MD -MP -MF .deps/cloud.Tpo -c -o cloud.o cloud.cpp
cloud.cpp: In member function ‘void Cloud::CalcMessage()’:
cloud.cpp:852:9: error: ‘mvinnwstr’ was not declared in this scope; did you mean ‘mvinnstr’?
  852 |         mvinnwstr(msgChar.line, msgChar.col, wc, 1);
      |         ^~~~~~~~~
      |         mvinnstr
cloud.cpp: In member function ‘void Cloud::DrawMessage() const’:
cloud.cpp:870:9: error: ‘mvadd_wch’ was not declared in this scope; did you mean ‘mvaddch’?
  870 |         mvadd_wch(msgChar.line, msgChar.col, &wc);
      |         ^~~~~~~~~
      |         mvaddch
make[1]: *** [Makefile:374: cloud.o] Error 1
make[1]: Leaving directory '/home/kenny2/neo/neo-0.6/src'
make: *** [Makefile:336: all-recursive] Error 1

and this is result when compiling with clang:

kenny2@Dell-gentoo ~/neo/neo-0.6 $ ./autogen.sh 
configure.ac:4: installing 'build-aux/install-sh'
configure.ac:4: installing 'build-aux/missing'
src/Makefile.am: installing 'build-aux/depcomp'
kenny2@Dell-gentoo ~/neo/neo-0.6 $ ./configure CXXFLAGS="-Os -march=native -mtune=native -DNDEBUG -fno-exceptions -ffunction-sections -fdata-sections -flto" LDFLAGS="-Wl,--gc-sections -flto" CXX="clang++"
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether clang++ accepts -g... yes
checking for clang++ option to enable C++11 features... none needed
checking whether make supports the include directive... yes (GNU style)
checking dependency style of clang++... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking for initscr in -lncursesw... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for getopt.h... yes
checking for locale.h... yes
checking for ncurses.h... yes
checking whether clang++ supports C++11 features with -std=c++11... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
kenny2@Dell-gentoo ~/neo/neo-0.6 $ make
Making all in doc
make[1]: Entering directory '/home/kenny2/neo/neo-0.6/doc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/kenny2/neo/neo-0.6/doc'
Making all in src
make[1]: Entering directory '/home/kenny2/neo/neo-0.6/src'
clang++ -std=c++11 -DPACKAGE_NAME=\"neo\" -DPACKAGE_TARNAME=\"neo\" -DPACKAGE_VERSION=\"0.6\" -DPACKAGE_STRING=\"neo\ 0.6\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"neo\" -DVERSION=\"0.6\" -DHAVE_LIBNCURSESW=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_GETOPT_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NCURSES_H=1 -DHAVE_CXX11=1 -I.    -DNCURSES_WIDECHAR -std=c++11 -Os -march=native -mtune=native -DNDEBUG -fno-exceptions -ffunction-sections -fdata-sections -flto -MT cloud.o -MD -MP -MF .deps/cloud.Tpo -c -o cloud.o cloud.cpp
cloud.cpp:852:9: error: use of undeclared identifier 'mvinnwstr'; did you mean 'mvinnstr'?
        mvinnwstr(msgChar.line, msgChar.col, wc, 1);
        ^~~~~~~~~
        mvinnstr
/usr/include/curses.h:707:28: note: 'mvinnstr' declared here
extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);            /* generated */
                           ^
cloud.cpp:852:46: error: cannot initialize a parameter of type 'char *' with an lvalue of type 'wchar_t [2]'
        mvinnwstr(msgChar.line, msgChar.col, wc, 1);
                                             ^~
/usr/include/curses.h:707:54: note: passing argument to parameter here
extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);            /* generated */
                                                     ^
cloud.cpp:870:9: error: use of undeclared identifier 'mvadd_wch'; did you mean 'mvaddch'?
        mvadd_wch(msgChar.line, msgChar.col, &wc);
        ^~~~~~~~~
        mvaddch
/usr/include/curses.h:691:28: note: 'mvaddch' declared here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                           ^
cloud.cpp:870:46: error: cannot initialize a parameter of type 'chtype' (aka 'unsigned int') with an rvalue of type 'cchar_t *'
        mvadd_wch(msgChar.line, msgChar.col, &wc);
                                             ^~~
/usr/include/curses.h:691:59: note: passing argument to parameter here
extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);            /* generated */
                                                          ^
4 errors generated.
make[1]: *** [Makefile:374: cloud.o] Error 1
make[1]: Leaving directory '/home/kenny2/neo/neo-0.6/src'
make: *** [Makefile:336: all-recursive] Error 1

EDIT: fixed formatting and added info on my second gentoo machine

Make fails on MacOS Big Sur

I have the latest version of command line tools available to my OS verison.

 ~/Scr/neo-0.6  make                                                                                                                     10.3s  Tue Dec 21 02:03:51 2021
Making all in doc
make[1]: Nothing to be done for `all'.
Making all in src
g++ -std=c++11 -DPACKAGE_NAME=\"neo\" -DPACKAGE_TARNAME=\"neo\" -DPACKAGE_VERSION=\"0.6\" -DPACKAGE_STRING=\"neo\ 0.6\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"neo\" -DVERSION=\"0.6\" -DHAVE_LIBNCURSESW=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GETOPT_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NCURSES_H=1 -DHAVE_CXX11=1 -I.   -I/usr/local/opt/ncurses/include -DNCURSES_WIDECHAR -std=c++11 -g -O2 -MT cloud.o -MD -MP -MF .deps/cloud.Tpo -c -o cloud.o cloud.cpp
In file included from cloud.cpp:20:
./cloud.h:167:18: error: chosen constructor is explicit in copy-initialization
    mt19937 mt = {};
                 ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:2110:14: note: explicit constructor declared here
    explicit mersenne_twister_engine(result_type __sd = default_seed)
             ^
In file included from cloud.cpp:20:
./cloud.h:168:52: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<int> _randColorPair = {};
                                                   ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:169:52: error: chosen constructor is explicit in copy-initialization
    uniform_real_distribution<float> _randChance = {};
                                                   ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:3730:14: note: explicit constructor declared here
    explicit uniform_real_distribution(result_type __a = 0, result_type __b = 1)
             ^
In file included from cloud.cpp:20:
./cloud.h:170:52: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<uint16_t> _randLine = {};
                                                   ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:171:53: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<uint16_t> _randCpIdx = {};
                                                    ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:172:51: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<uint16_t> _randLen = {};
                                                  ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:173:51: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<uint16_t> _randCol = {};
                                                  ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:174:56: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<uint16_t> _randGlitchMs = {};
                                                       ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:175:56: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<uint16_t> _randLingerMs = {};
                                                       ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:176:53: error: chosen constructor is explicit in copy-initialization
    uniform_int_distribution<size_t> _randCharIdx = {};
                                                    ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:3008:14: note: explicit constructor declared here
    explicit uniform_int_distribution(result_type __a = 0,
             ^
In file included from cloud.cpp:20:
./cloud.h:177:51: error: chosen constructor is explicit in copy-initialization
    uniform_real_distribution<float> _randSpeed = {};
                                                  ^~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:3730:14: note: explicit constructor declared here
    explicit uniform_real_distribution(result_type __a = 0, result_type __b = 1)
             ^
11 errors generated.
make[1]: *** [cloud.o] Error 1
make: *** [all-recursive] Error 1
 2  ~/Scr/neo-0.6 

Slowdown in fullscreen macos

aaaand when a issue is closed, another is open

so i bring you once again a new bug

when i lauch neo and i put the cli in fullscreen (or in a big window), there is a slowdown that happen ~15s after the launch of the program, like it has really some difficulties to draw characters and it goes worse and worse

i notice that the program take 100% of the global cpu capacity, so it's clearly a performance issue, do you think it's a ncurses bottleneck or there is a small recursive function that goes wild somewhere and that's why the performances and worse and worse? (i don't let the program run for too long in case it may freeze my pc but clearly it make some part of my os laggy)

Debian package

I have built a debian package of neo which is working so far. Maybe if the package gets approved it could be merged into debian unstable and from there to ubuntu. My relevant files:
files.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.