Giter Club home page Giter Club logo

wavemon's Introduction

wavemon screenshot

Synopsis

wavemon is a wireless device monitoring application that allows you to watch signal and noise levels, packet statistics, device configuration and network parameters of your wireless network hardware. It should work (though with varying features) with all devices supported by the Linux kernel.

See the man page for an in-depth description of operation and configuration.

Where to obtain

Apart from debian/ubuntu packages (apt-cache search wavemon) and slackbuild scripts for wavemon, this repository contains the full source code.

Dependencies

Minimally the following are required:

  • the pkg-config package,
  • netlink libnl-cli-3-dev at least version 3.2 (pulls in libnl-3-dev, libnl-genl-3-dev),
  • ncurses development files (libncursesw6, libtinfo6, libncurses-dev).

On Debian/Ubuntu, this can be done using

apt-get -y install pkg-config libncursesw6 libtinfo6 libncurses-dev libnl-cli-3-dev

Please note the "w" in libncursesw6, which stands for the wide-character variant of ncurses. This is required for proper rendering on UTF-8 terminals.

How to build

wavemon uses autoconf, so that in most cases you can simply run

./configure && make && sudo make install

to build and install the package. Type make uninstall if not happy.

Using custom CFLAGS

Pass additional CFLAGS to configure, like this:

CFLAGS="-O2 -pipe" ./configure

Passing CFLAGS to make is not encouraged, since that will replace the settings found by configure.

Installation with privileges

To grant users access to restricted networking operations (scanning), use

sudo make install-suid-root

Resetting autoconf state

If you have changed some of the autoconf files or use a git version, run

./config/bootstrap

(This requires a recent installation of autotools.)

wavemon's People

Contributors

alicektx avatar bmwiedemann avatar chunmeng avatar eli-schwartz avatar ffontaine avatar goetzc avatar grrtrr avatar hannob avatar irl avatar jelly avatar jmccrohan avatar joerg-krause avatar kingjon3377 avatar markhuge avatar pabloab avatar rofl0r avatar stavromulabeta avatar wsakernel 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wavemon's Issues

Only RX is counting up

Hi there,

I am working on a project with a Raspberry Pi. The wifi signal is normally pretty bad on a Raspberry Pi so I have bought a wifi range extender antenna like this one:
https://www.ebay.com/itm/600Mbps-Wireless-Internet-Signal-Booster-Wifi-Range-Extender-USB-Adapter-Antenna-/131857138867

However when I plug it into the USB the TX counter stops counting as much as without the USB extender - when monitoring the wifi with wavemon. It looks like this:

image

Any ideas why the USB extender stops the TX counter so much?

neither configure --disable-silent-rules nor make V=1 supported

so basically there's no standard way to get verbose make output and see what commands are executed, for example to see if my CFLAGS ended up in the compile command or not.

$ LIBNL3_GENL_LIBS=-lnl_tiny LIBNL3_GENL_CFLAGS=-I/include/libnl-tiny  ./configure --prefix= --disable-silent-rules
...
configure: WARNING: unrecognized options: --disable-silent-rules
$ make V=1
 CC   lhist_scr.c
In file included from lhist_scr.c:21:0:
iw_nl80211.h:4:29: fatal error: netlink/netlink.h: No such file or directory
compilation terminated.
make: *** [lhist_scr.o] Error 1
$ la /include/libnl-tiny/netlink/netlink.h
-rw-r--r--    1 root     root          2094 Oct 11 03:09 /include/libnl-tiny/netlink/netlink.h

SNR value

Dear

I'm trying to get SNR value for using in my projects. I've used Netlink library and I'm receiving cyclic values differently received by wavemon;

root@node01:~# ./nl80211_info
Interface: ap1 | signal: -42 dB | noise: -56 | txrate: 104.0 MBit/s
Interface: ap1 | signal: -43 dB | noise: -82 | txrate: 104.0 MBit/s
Interface: ap1 | signal: -44 dB | noise: 125 | txrate: 104.0 MBit/s
Interface: ap1 | signal: -44 dB | noise: 99 | txrate: 104.0 MBit/s
Interface: ap1 | signal: -43 dB | noise: 73 | txrate: 104.0 MBit/s

My question is, how can I get the noise value and signal value to calculate the SNR as Wavemon uses?

Regards,

release tarballs should be distributed on a proper download server

there are some issues with github's "automatic tarball download"

  • http is automatically redirected to https.
    this makes it impossible to download with non-https capable wget implementations like the one of busybox (note that statically linking against openssl usually involves ca 1.5 MB of binary bloat), used on embedded systems
  • naming scheme: the tarball is named $TAG.tar.gz. in our case v0.7.6.tar.gz.
    the extracted directory otoh is named "wavemon-0.7.6".
    this requires special casing in buildtools that expect tarballs to extract into a directory of the same name as the tarball. it also makes it hard to identify which package dropped "v0.7.6.tar.gz" in the download folder, so one needs to unpack it to find out what it is. additionally there may be conflicts with other github projects that use the same tag name. for example if mpv happened to have a v0.7.6 release, that tarball would get the same name as the wavemon one and overwrite it.
  • no choice of compression algorithm:
    instead of using a modern algorithm with good compression like xz, one is restricted to the decades old .gz algorithm which packs only about half as well
  • generated configure scripts must live in the source repo so they end up in the tarball without forcing the user to have the entire autoconf stack installed.
    usually git repos do not include configure scripts and all the files dropped from autoreconf runs (config.sub, m4 stuff, etc) which often exceed the size of the source code itself by far, and must be regenerated often, thus bloating the git repo. so packages usually have a make dist target which generates a release tarball including the autoconf stuff.

thus i recommend to use another download site for release tarballs, for example sourceforge.net (git repo can still stay here of course)

Possible memory leak

I have cross-compiled wavemon for my ARMv5 board. After running it for ten to fifteen minutes all the free RAM is used and the system is not able to operate anymore. Watching the memory with the top tool I can see that every refresh the free RAM decreases more than 200kB. Stopping wavemon stops the reduction of the free RAM.

Feature request: Show public IP

Hello.
Maybe would be useful to show the public IP besides the local IP.
Greetings.
PS: Thanks for your time and code! πŸ‘

Information

Hi,

I don't know if I am in the right section, because I just need an information and I am not reporting an issue. If not, I am sorry.

I just wanted to know from where are coming the statistics information. I ran ifconfig but the values are not exactly the same as in the wavemon windows. In the wavemon windows, I also have 1 dropped packet and 2 failed packets, and when I ran ifconfig, I have 0 dropped, or erronned packets.

For information, I am using waveform as a real-time wireless monitoring (which is very usefull) and I want to log data too. But it seems like what I log is incorrect.

If you have any answers.

Thanks for the reading.

Sincerely

Display issue on Arch 4.12.13-1-ARCH

New issue with wavemon display in terminal emulator (termite) as well as TTY. Have never had an issue displaying wavemon previously. Wavemon loads and displays text data, but the percentage bars showing network strength do not display properly; they show maybe one or two '=' signs along the bar, towards the right (i.e. 100%) side, but not along the rest of the bar.

ncurses = reinstalled,
wavemon = reinstalled,
multiple term. emulators have been tried.

Any advice? Thanks!

Image attached.
wavemon

Noise level unknown

Dear friends @ wavemon,

I work on project that requires signal levels with noise levels for datasets I am creating.
I tried to use > iw dev [interface_name] survey dump but command output returns nothing.

I also tried wavemon as possible solution but it seems to have problems when it comes to noise levels and s-n ratio:
image

The only noise related data I can find is written in /proc/net/wireless which I doubt is a valid value (always shows -256dBm).

So my question is - is there any way (with or without wavemon) to get signal noise values?

Thank you in advance!
Best,
Ante

Exporting signal strength data

I am wondering how collected signal strength data can be exported into, say, a csv file for later analysis.

I am using a RasPi 2 running Raspbian Jessie with Pixel. My purpose in collecting and storing strength data is to create a 3D heat map of Wi-Fi signal strength for 2.4GHz.

After quitting (F10), wavemon leaves the interface UP regardless of its original state

Current behavior:
When I start wavemon and then go to the Scan window (F3) and my interface is DOWN, wavemon will set the interface state to UP with the message: "Interface x is down - setting it up..."
When I leave wavemon, the interface stays UP. In other words, wavemon does not set the interface state to DOWN when I leave it.

Expected behavior:
I would expect wavemon to set the interface back to its original state when I leave it.

I'm using wavemon in Arch Linux, installed from the "community" official repository.
The current behavior cause me trouble because other software (e.g. netctl) expects the interface to be DOWN when I start them.
Today, as a workaround, a made a script to start wavemon that get the interface state before starting it and then when I quit wavemon, the script sets my interface back to its original state.

Reduce CPU load?

wavemon is great, but sometimes virtuoso-t uses quite a bit of CPU. I haven't yet been able to replicate this issue, but an option to change the polling rate may help.

wavemon itself uses 1.4% which doesn't sound like much unless you're on battery power.

wavemon not monitoring USB 5GHz wifi

Greetings.

I don't know exactly where my problem is.

Wavemon works great on my laptop's builtin 2GHz wifi card.

I just bought a 5GHz USB wifi adapter (Belkin N750), and wavemon can see

ra0 (UP RUNNING BROADCAST MULTICAST)               

but no interface data, no RX/TX data, no data reported, either in 5GHz mode or in 2GHz mode.

Is there something I'm doing wrong or not doing right, to get wavemon to see my USB wifi adapter?

Thanks.

Segfault While Scanning

Running sudo gdb wavemon then navigating to scan with F3 yields the following fault. This issue seems to only occur while I'm already connected to a network on the same interface.

Thread 3 "wavemon" received signal SIGSEGV, Segmentation fault

[Switching to Thread 0x7ffff6a27700 (LWP 18375)]
0x00007ffff701e430 in __lll_unlock_elision () from /usr/lib/libpthread.so.0

(gdb) bt
#0  0x00007ffff701e430 in __lll_unlock_elision () from /usr/lib/libpthread.so.0
#1  0x0000000000409560 in ?? ()
#2  0x00007ffff701208c in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007ffff6d49e1f in clone () from /usr/lib/libc.so.6

Output of wavemon -v & pacman -Q wavemon

wavemon 0.8.0
Distributed under the terms of the GPLv3.
wavemon 0.8.1-1

Output of uname -a

Linux mavsa 4.14.13-1-ARCH #1 SMP PREEMPT Wed Jan 10 11:14:50 UTC 2018 x86_64 GNU/Linux

I'm using the iwlwifi drivers on a ThinkPad X1 Carbon 5th Edition.

wavemon gives inconsistant signal level values

I'm using an Intel 9260NGW in a Dell XPS 13 (9360) using Debian stretch.

Wavemon reports inconsistent values for signal level and link quality:

signal level is typically reported as 70/72dBm (yes, +70dBm) with a link quality stuck at 100%.
Note that on the same system, iwconfig report reasonable values:

wlp58s0 IEEE 802.11 ESSID:"xxx"
Mode:Managed Frequency:5.2 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=48 Mb/s Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=46/70 Signal level=-64 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:389 Missed beacon:0

Note sure wether it is a bug in wavemon itself or a third party lib like libnl...

Thank you,
David

Negotiated bitrate stuck after initial connection

Both wavemon (as well as iwconfig) show only the first negotiated bitrate, not the current bitrate.
iw on the other hand does show the correct bitrate. I assume this is due to Wext?

β”œβ”€Info───────────────────────────────────────
β”‚mode: Managed,  access point: 12:34:56:78:9A:BC
β”‚freq: 2.412 GHz, channel: 1,  bitrate: 150 Mbit/s
β”‚power mgt: on,  tx-power: 20 dBm (100.00 mW) 
β”‚retry: short limit 7,  rts/cts: 2347 B,  frag: off 
β”‚encryption: off (no key set)
$ iw dev wlan0 link
Connected to 12:34:56:78:9A:BC (on wlan0)
        SSID: Test
        freq: 2412
        RX: 693487 bytes (5845 packets)
        TX: 1501 bytes (14 packets)
        signal: -72 dBm 
        tx bitrate: 72.2 MBit/s MCS 7 short GI

        bss flags:      short-preamble short-slot-time
        dtim period:    1   
        beacon int:     100 

support libnl-tiny

hello, i've just managed to build wavemon with libnl-tiny instead of libnl3/libnl3_genl.
what we would need to do to support it officially is basically:
(configure.ac)

/IF/ PKG_CHECK_MODULES([LIBNLTINY], [libnl-tiny >= 2.0] /THEN/
     [CFLAGS="$CFLAGS $LIBNLTINY_CFLAGS"],
     [LIBS="$LIBS $LIBNLTINY_LIBS"],
/ELSE/
# standard libnl3 stuff here
# libnl3 with GeNetlink support - wavemon is tracking changes to iw
PKG_CHECK_MODULES([LIBNL3], [libnl-3.0 >= 3.2], [],
                  [CFLAGS="$CFLAGS $LIBNL3_CFLAGS"],
                  [AC_MSG_ERROR(need libnl >= 3.2)])
PKG_CHECK_MODULES([LIBNL3_GENL], [libnl-genl-3.0 >= 3.2],
                  [LIBS="$LIBS $LIBNL3_GENL_LIBS"],
                  [AC_MSG_ERROR(need libnl-genl >= 3.2)])
/ENDIF/

i've put some invented conditionals in here, for example /IF/, /ELSE/ etc, since i dont grok autoconf syntax.

Calculate retry / drop rate as %

It would be useful to have, instead of just:

RX: 11,484 (5.41 MiB), drop: 98
TX: 10,200 (1.82 MiB), retries: 748

But to also display:

RX: 11,484 (5.41 MiB), drop: 98 (0.8%)
TX: 10,200 (1.82 MiB), retries: 748 (7%)

Because I don't really care what the raw drop/retries number is, but what the percentage is in realtime is really helpful.

no supported wireless interfaces found!

I am running Kali 2 from a chromebook flip (ARMHF).

I have installed wavemon from both the kali repo and the git repository.

Both methods install/compile correctly, then when I run wavemon/wavemon -i wlan0 all I receive is:

no supported wireless interfaces found!

I have three separate ALFA cards that function fine with all the other tools I have tried (airodump-ng/kismet etc.) but for some reason wavemon doesn't detect them.

What is the best way to start debugging this issue?

Cheers,

Dave

Limiting the scan view to top X entries ?

Hello,

I wonder if it is possible for the scan view to be limited to the top 10 or top 20 most powerful access points ?

My environment has 55-75 APs in range, which are all seen by wavemon, but I wonder if I can limit that to the top 10 ?

Thank you.

Wavemon 0.7.6-2 and github master (latest commit 62949b3) stops responding.

The Hardware & Software are the same as in #20.

Problem

If I use wavemon under heavy UDP traffic it stops responding. UI does not update, Tx/Rx are not updated and it doesn't react to keys, only ctrl+C helps (kills it).

I have seen it a lot of times with github master (latest commit 62949b3, this is nl80211 version) and sometimes with wavemon 0.7.6-2 (wext based version).

The ssh sessions running wavemons are alive (I can kill "not responding" wavemons with ctrl+C).

I have seen it when running 2 wavemons simultanously. I can check if this happens with just single running.

user's CFLAGS are abandoned/ignored

after editing out the @ before the CC invocation in Makefile.in to see what is going on ( #26 ) :

$ CFLAGS=-fomit-frome-pointer LIBNL3_GENL_LIBS=-lnl_tiny LIBNL3_GENL_CFLAGS=-I/include/libnl-tiny ./configure
...
make
 CC   utils.c
cc -O2 -Wall -pthread     -DPACKAGE_NAME=\"wavemon\" -DPACKAGE_TARNAME=\"wavemon-current\" -DPACKAGE_VERSION=\"0.8.0\" -DPACKAGE_STRING=\"wavemon\ 0.8.0\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"https://github.com/uoaerg/wavemon\" -DBUILD_DATE=\"Wed\ Nov\ 23\ 11:04:09\ WET\ 2016\" -DSTDC_HEADERS=1 -DTIME_WITH_SYS_TIME=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_NCURSES_H=1 -DHAVE_FCNTL_H=1 -DHAVE_NETDB_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NET_IF_ARP_H=1 -DHAVE_NETINET_ETHER_H=1 -DHAVE_NET_ETHERNET_H=1 -DHAVE_PTHREAD_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_LINUX_IF_H=1 -DHAVE_LINUX_WIRELESS_H=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -DHAVE_LIBM=1 -DHAVE_LIBNCURSES=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_ETHER_NTOHOST=1 -c -o utils.o utils.c

as you can see, there is no -fomit-frame-pointer anywhere in the executed statement.
this is completely contrary to what is expected from autoconf-using sw.
the environment variables CFLAGS, CPPFLAGS and LDFLAGS should all be respected and override the default ones (for example -O2 -Wall for CFLAGS).

CFLAGS passed to ./configure are ignored

CFLAGS="-O0 -g3" ./configure
...
make
gcc -O2 -Wall -pthread ...

well behaving autoconf users (more than 90%) generally drop the hardcoded -O2 CFLAGS when the user passes his own CFLAGS.
this seems to be the default behaviour.

Uninitialized variable in info_scr.c (display_levels()).

The variable sig_qual_max should be initialized as the following conditions may not be true.

	if (linkstat.data.bss_signal_qual) {
		/* BSS_SIGNAL_UNSPEC is scaled 0..100 */
		sig_qual     = linkstat.data.bss_signal_qual;
		sig_qual_max = 100;
	} else if (sig_level) {
		if (sig_level < -110)
			sig_qual = 0;
		else if (sig_level > -40)
			sig_qual = 70;
		else
			sig_qual = sig_level + 110;
		sig_qual_max = 70;
	}

Supress list of ESSIDs?

Hi there,

I just configured my raspi to display wavemon on the display after booting up - i am using the watterott-display http://www.watterott.com/de/RPi-Display - I know the display is too small, but it perfecly fits into a case built of an old nintendo gameboy ;-)

Is there a way to ignore specific essids? would be great if our 93*4=372 devices of our infrastructure would be supressed ;-)

Regards from Aachen,

Thomas

libcap not configurable

Currently in OpenWrt, ac_cv_lib_cap_cap_get_flag=no is set to avoid the libcap dependency. I don't know enough about autotools but I would like to request a "--without-libcap" configure parameter to avoid it as that seems to be a proper solution.

wavemon validating

Hi
why Wavemon shows different valus of RSSI? i need ro know RSSI in varied distances of my access point.
i measure in indoor place. how i can trust to RSSI given by Wavemon?
is there any standard conditions for measuring by wavemon?

Missing fonts in wavemon?

Hello I am missing some fonts when I start wavemon. I am using fresh install of Ubuntu 18.04 and both gnome terminal and tilix terminal shows the same font error (I suppose).

image

[SOLVED] Wavemon "No Interface Data" on Intel AC-8260

Hi

I have to laptops with a similar configuration (both Arch Linux on Kernel 4.11.9-1-ARCH). Wavemon works flawlessly on one but not the other. Difference is mostly the hardware not the software setup. The not working model uses an Intel Dual-Band Wireless AC8260 card (the working one an Intel 7265 card).

I use wavemon 0.8.1-1 and the dependencies are installed. The kernel module for the WiFi card used is iwlwifi. An iwlist <dev> scan works flawlessly and also the WiFi works works fine. A sudo wavemon shows "NO INTERFACE DATA" on the info screen and nothing for vor Lhist but a Scan of the networks works fine.

Any ideas why this is?

Report function

It would be good to be able to run this tool in a reporting mode.

I.e. set it to run for 5 minutes, then produce a report with the average signal strength etc. for printing instead of the interactive ncurses visualization.

F1 info flashes intermittently to "no interface data" every few seconds.

Not sure if that's a bug but seems to happen here in Debian Stretch (4.9) and also Kali 2017.3 (4.14) using the latest version available from the respective repo's (0.8.0 Jan 2 2017) ... sometimes it will stay showing "no interface data" for long periods.

This seemed to start after taking screen shots with the default screenshot app (same in both) to compare driver performance.

Have already tried uninstalling and reinstalling in both but it's still the same.

Also can you please tell me what: ESS, % chan, Radio Measure and Spectrum Mgmt mean when they show up on the F3 scan page?

Great and very helpful app when it's working ... thanks for your time.

Link quality and signal streght stuck with linux kernel 4.0.4

Link quality and signal strength values aren't updated on a time basis with the following linux kernel versions:
kernel-4.0.4-201
kernel-4.0.4-202

While everything works just fine on the older one:
kernel-3.19.7-200

I'm using fedora 21, 64bit

Some dependencies not listed in readme.md

I am reffering to github master (Latest commit 62949b3).

I think that I also needed for building: libncurses5-dev
I am certain that I also needed: pkg-config.

Without pkg-config at correct version wavemon configure complains with error message about libnl3 which is somewhat confusing (even though libnl3 is installed with the correct version)..

Maybe all of that is obvious from the configure output but it took me a while to figure out.

Kind regards!

btw - wavemon is great

Inconsistent Levels between wavemon 0.7.6-2 and github master (latest commit 62949b3)

Hi @grrtrr,

Hardware & Software

Hardware: Edimax EW-7811Un (this is Realtek RTL8188CUS)
OS: Linux ev3dev 4.4.19-15-ev3dev-ev3

I belive that both RaspberryPi and ev3dev use 3rd party driver for this device (instead of upstream), so maybe it is not playing well with cfg80211. Some more info:

ev3dev/ev3dev#669

(I am aware that the github version uses nl80211 and the old one wext to read data from the kernel)

Problem

I am getting incosistent levels, both of link quality and signal level between wavemon versions.

E.g - signal level -45 dBm (0.03 uW) vs 20 dBm (100.00 mW) [new vs old version).
E.g. - link quality 93 (65/70) vs 100 (100/100)

I am running 2 versions simultuanusly in 2 ssh windows on a mobile robot.

Also iw reports the same value (-45 dBm).

In both versions values change in reasonable way (that is - as I am getting far away from the AP the link quality and signal level drops)

on_exit is not portable

Since commit 4a160b1 wavemon uses on_exit(), which is not portable and not available on the C libraries musl and uClibc. According to the Linux kernel man page : Portable application should avoid this function, and use the standard atexit(3) instead.

Fix Transparency

in wavemon.c do this for working Transparency

160   start_color();
161   use_default_colors();
162   init_pair(CP_STANDARD,  COLOR_WHITE,  -1);
163   init_pair(CP_SCALEHI, COLOR_RED,  -1);
164   init_pair(CP_SCALEMID,  COLOR_YELLOW, -1);
165   init_pair(CP_SCALELOW,  COLOR_GREEN,  -1);
166   init_pair(CP_WTITLE,  COLOR_CYAN, -1);
167   init_pair(CP_INACTIVE,  COLOR_CYAN, -1);
168   init_pair(CP_ACTIVE,  COLOR_CYAN, COLOR_BLUE);
169 
170   init_pair(CP_STATSIG,   COLOR_GREEN,  -1);
171   init_pair(CP_STATNOISE,   COLOR_RED,  -1);
172   init_pair(CP_STATSNR,   COLOR_BLUE, COLOR_BLUE);
173   init_pair(CP_STATBKG,   COLOR_BLUE, -1);
174   init_pair(CP_STATSIG_S,   COLOR_GREEN,  COLOR_BLUE);
175   init_pair(CP_STATNOISE_S, COLOR_RED,  COLOR_BLUE);
176 
177   init_pair(CP_PREF_NORMAL, COLOR_WHITE,  -1);
178   init_pair(CP_PREF_SELECT, COLOR_WHITE,  COLOR_BLUE);
179   init_pair(CP_PREF_ARROW,  COLOR_RED,  -1);
180 
181   init_pair(CP_SCAN_CRYPT,  COLOR_RED,  -1);
182   init_pair(CP_SCAN_UNENC,  COLOR_GREEN,  -1);
183   init_pair(CP_SCAN_NON_AP, COLOR_YELLOW, -1);

1545600528_1919x1079

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.