htop - an interactive process viewer

Overview

htop logo

CI Coverity Scan Build Status Mailing List IRC #htop GitHub Release Packaging status License: GPL v2+

Screenshot of htop

Introduction

htop is a cross-platform interactive process viewer.

htop allows scrolling the list of processes vertically and horizontally to see their full command lines and related information like memory and CPU consumption. Also system wide information, like load average or swap usage, is shown.

The information displayed is configurable through a graphical setup and can be sorted and filtered interactively.

Tasks related to processes (e.g. killing and renicing) can be done without entering their PIDs.

Running htop requires ncurses libraries, typically named libncurses(w).

htop is written in C.

For more information and details visit htop.dev.

Build instructions

Prerequisite

List of build-time dependencies:

  • standard GNU autotools-based C toolchain
    • C99 compliant compiler
    • autoconf
    • autotools
  • ncurses

Note about ncurses:

htop requires ncurses 6.0. Be aware the appropriate package is sometimes still called libncurses5 (on Debian/Ubuntu). Also ncurses usually comes in two flavours:

  • With Unicode support.
  • Without Unicode support.

This is also something that is reflected in the package name on Debian/Ubuntu (via the additional 'w' - 'w'ide character support).

List of additional build-time dependencies (based on feature flags):

  • sensors
  • hwloc
  • libcap (v2.21 or later)
  • libnl-3

Install these and other required packages for C development from your package manager.

Debian/Ubuntu

sudo apt install libncursesw5-dev autotools-dev autoconf build-essential

Fedora/RHEL

sudo dnf install ncurses-devel automake autoconf gcc

Compile from source:

To compile from source, download from the Git repository (git clone or downloads from GitHub releases), then run:

./autogen.sh && ./configure && make

Install

To install on the local system run make install. By default make install installs into /usr/local. To change this path use ./configure --prefix=/some/path.

Build Options

htop has several build-time options to enable/disable additional features.

Generic

  • --enable-unicode: enable Unicode support
    • dependency: libncursesw
    • default: yes
  • --enable-affinity: enable sched_setaffinity(2) and sched_getaffinity(2) for affinity support; conflicts with hwloc
    • default: check
  • --enable-hwloc: enable hwloc support for CPU affinity; disables affinity support
    • dependency: libhwloc
    • default: no
  • --enable-static: build a static htop binary; hwloc and delay accounting are not supported
    • default: no
  • --enable-debug: Enable asserts and internal sanity checks; implies a performance penalty
    • default: no

Performance Co-Pilot

  • --enable-pcp: enable Performance Co-Pilot support via a new pcp-htop utility
    • dependency: libpcp
    • default: no

Linux

  • --enable-sensors: enable libsensors(3) support for reading temperature data
    • dependencies: libsensors-dev(build-time), at runtime libsensors is loaded via dlopen(3) if available
    • default: check
  • --enable-capabilities: enable Linux capabilities support
    • dependency: libcap
    • default: check
  • --with-proc: location of a Linux-compatible proc filesystem
    • default: /proc
  • --enable-openvz: enable OpenVZ support
    • default: no
  • --enable-vserver: enable VServer support
    • default: no
  • --enable-ancient-vserver: enable ancient VServer support (implies --enable-vserver)
    • default: no
  • --enable-delayacct: enable Linux delay accounting support
    • dependencies: pkg-config(build-time), libnl-3 and libnl-genl-3
    • default: check

Runtime dependencies:

htop has a set of fixed minimum runtime dependencies, which is kept as minimal as possible:

  • ncurses libraries for terminal handling (wide character support).

Runtime optional dependencies:

htop has a set of fixed optional dependencies, depending on build/configure option used:

Linux

  • libdl, if not building a static binary, is always required when support for optional dependencies (i.e. libsensors, libsystemd) is present.
  • libcap, user-space interfaces to POSIX 1003.1e capabilities, is always required when --enable-capabilities was used to configure htop.
  • libsensors, readout of temperatures and CPU speeds, is optional even when --enable-sensors was used to configure htop.
  • libsystemd is optional when --enable-static was not used to configure htop. If building statically and libsystemd is not found by configure, support for the systemd meter is disabled entirely.

htop checks for the availability of the actual runtime libraries as htop runs.

BSD

On most BSD systems kvm is a requirement to read kernel information.

More information on required and optional dependencies can be found in configure.ac.

Usage

See the manual page (man htop) or the help menu (F1 or h inside htop) for a list of supported key commands.

Support

If you have trouble running htop please consult your operating system / Linux distribution documentation for getting support and filing bugs.

Bugs, development feedback

We have a development mailing list. Feel free to subscribe for release announcements or asking questions on the development of htop.

You can also join our IRC channel #htop on Libera.Chat and talk to the developers there.

If you have found an issue within the source of htop, please check whether this has already been reported in our GitHub issue tracker. If not, please file a new issue describing the problem you have found, the potential location in the source code you are referring to and a possible fix if available.

History

htop was invented, developed and maintained by Hisham Muhammad from 2004 to 2019. His legacy repository has been archived to preserve the history.

In 2020 a team took over the development amicably and continues to maintain htop collaboratively.

License

GNU General Public License, version 2 (GPL-2.0) or, at your option, any later version.

Comments
  • Improving Command display/sort

    Improving Command display/sort

    Addresses https://github.com/htop-dev/htop/issues/40; Rebased from https://github.com/hishamhm/htop/pull/809; Originally discussed in https://github.com/hishamhm/htop/issues/801

    With inputs from @Explorer09, @BenBE, @marxin

    1. On Linux a process is able to modify its own command name (/proc/pid/comm) say using prctl, and its own command line (/proc/pid/cmdline) say by writing into its arguments vector. But /proc/[pid]/exe is set by the kernel and provides the definitive location of the executable image. While the Command column currently displays cmdline, for the above reason it is desirable to display the executable image path and command name, along with cmdline, merging them where possible.
    • In this pull request, two new optional columns are added: i) "Comm" - displays /proc/[pid]/comm if readable. It may not be readable for zombies. ii) "Exe" - displays 15 characters of the basename of /proc/[pid]/exe if readable. htop is able to read the /proc/[pid]/exe of ALL processes only when htop is either run with root privilleges (done with care) or given the capability CAP_SYS_PTRACE (sudo setcap 'cap_sys_ptrace=ep' /usr/bin/htop).

    • A new option is added: "Merge exe, comm and cmdline in Command", toggled by the key 'm' If this option is unset (default for backwards compatibility), Command column displays cmdline as usual. If this option is set, exe, comm and cmdline are merged in the Command column, which is to be interpreted as follows: i) If no token is colorized, it implies htop didn't have permission to read /proc/[pid]/exe of the process, and htop has fallen back to displaying only cmdline.

      ii) If a token (which may have embedded spaces) is colorized, upto 15 bytes of it is understood to be comm. This implies htop was able to read the process' /proc/[pid]/exe and /proc/[pid]/comm. During display, htop first tries to find/merge comm in exe's basename; If that fails and also if the new option 'Try to find comm in cmdline' is set (default), htop tries to find/merge comm in cmdline (this may mis-identify a string in cmdline in very rare cases, say if comm or cmdline had been unsuitably modified). a) If comm was not merged into either exe or cmdline, three fields are displayed (with "│" as the field separator), the first being exe, the second comm, and the last cmdline. b) If comm was merged into exe or cmdline: If exe could not be merged with cmdline, two fields are displayed, the first being exe and the last cmdline; c) Otherwise, exe and cmdline are merged into a single field.

    1. While htop currently sorts/filters the Command based always on cmdline, irrespective of whether it is full path or basename that is displayed, it is desirable to sort/filter based on what is displayed. After this change, Command is sorted/filtered based on what is displayed, whether it is exe or cmdline, full path or basename.

    2. Implementation notes:

    • Command Name (/proc/[pid]/comm) is displayed in a separate color (PROCESS_COMM)
    • LinuxProcess_getCommandStr to return the displayed string (rather than cmdline always)
    • When reading /proc/[pid]/cmdline, cmdline is concatenated with '\n' (instead of space) as delimiter; This helps when looking for comm in basenames of cmdline tokens with embedded spaces. Later during display in RichString_writeFrom, '\n' is translated into space. - LinuxProcess_writeCommand displays exe, comm, and cmdline as described above, retaining the existing options like basename display/highlighting
    needs-rebase 
    opened by gnarendran 56
  • Add support for sorting in Tree mode

    Add support for sorting in Tree mode

    Hey bump into here by hacktoberfest :) I am exited doing something in such a well-known project.

    (I want to believe) It closes #237

    I hope it does what it expected to do but I would spend some time to verify it and test. And if there are any tests they may need to be updated.

    Thank you for the htop

    Hacktoberfest 
    opened by zhiburt 35
  • Refactor makeCommandStr

    Refactor makeCommandStr

    This is some refactoring work for makeCommandStr to make this suitable for platform independent use.

    Changes include:

    • Move cmdline, comm and exe to platform-independent Process structure.
    • Move ProcessMergeCommand to platform-independent Process structure.
    • Move procExeDeleted to platform-independent Process structure.
    • Allow for individual activation/deactivation of highlighted components (basename, comm, deleted, separator, …)

    The current state is mostly some PoC and still WIP.

    enhancement help wanted code quality :recycle: needs-discussion :thinking: 
    opened by BenBE 32
  • Graph meter coloring & dynamic scaling!

    Graph meter coloring & dynamic scaling!

    This work is by @Explorer09, see original pull request (https://github.com/hishamhm/htop/pull/487). I rebased to current master to prepare this pull request.

    enhancement 
    opened by eworm-de 25
  • apply htop temperature patch

    apply htop temperature patch

    Closes #49.

    Example of TemperatureMeter using from comment below: изображение изображение изображение изображение

    Also should be working on Raspberry Pi and maybe other ARM devices, which report cpu_thermal zone to sensors command (tested on Arch Linux ARM).

    opened by DX37 24
  • htop 3.1.2 crashes on FreeBSD 14 (current, c 20220316, 2022402) while things are being compiled

    htop 3.1.2 crashes on FreeBSD 14 (current, c 20220316, 2022402) while things are being compiled

    htop 3.1.2 crashes after some time (every time) at least whenever something is being compiled on Framework laptop with Intel i5-1135G7 CPU & 32 GB RAM.

    Crash happened while ...

    • building world;
    • compiling ports/net/wifibox;
    • compiling ports/devel/binutils.

    uname -a FreeBSD luna 14.0-CURRENT FreeBSD 14.0-CURRENT #4 main-n254246-6833ac673d9: Sat Apr 2 15:37:22 HST 2022 root@luna:/build/world/freebsd/src/amd64.amd64/sys/GENERIC-NODEBUG amd64

    Edited captured output via script(1) ...

    ... FATAL PROGRAM ERROR DETECTED

    Please check at https://htop.dev/issues whether this issue has already been reported. If no similar issue has been reported before, please create a new issue with the following information:

    • Your htop version: '3.1.2'
    • Your OS and kernel version (uname -a)
    • Your distribution and release (lsb_release -a)
    • Likely steps to reproduce (How did it happen?)
    • Backtrace of the issue (see below)

    Error information:

    A signal 6 (Abort trap) was received.

    Setting information:

    htop_version=3.1.2;config_reader_min_version=2;fields=48 3 0 46 47 39 49 20 53 6 18 2 99 1;sort_key=20;sort_direction=1;tree_sort_key=0;tree_sort_direction=1;hide_kernel_threads=1;hide_userland_threads=0;shadow_other_users=0;show_thread_names=0;show_program_path=1;highlight_base_name=1;highlight_deleted_exe=1;highlight_megabytes=1;highlight_threads=1;highlight_changes=0;highlight_changes_delay_secs=5;find_comm_in_cmdline=1;strip_exe_from_cmdline=1;show_merged_command=0;tree_view=0;tree_view_always_by_pid=0;all_branches_collapsed=0;header_margin=0;detailed_cpu_time=0;cpu_count_from_one=0;show_cpu_usage=1;show_cpu_frequency=1;show_cpu_temperature=0;degree_fahrenheit=0;update_process_names=0;account_guest_in_cpu_meter=0;color_scheme=6;enable_mouse=1;delay=15;hide_function_bar=0;header_layout=two_50_50;column_meters_0=LoadAverage AllCPUs2 MemorySwap ZFSCARC ZFSARC;column_meter_modes_0=2 1 1 2 2;column_meters_1=System Hostname Uptime DateTime Battery DiskIO NetworkIO;column_meter_modes_1=2 2 2 2 2 2 2;

    Backtrace information:

    0: 0x21c842 /usr/local/bin/htop (CRT_handleSIGSEGV+0x102) [0x21c842]
    1: 0x8270aa5a0 /lib/libthr.so.3 (_fini+0) [0x8270aa4d0]
    2: 0x8270a9b5f /lib/libthr.so.3 (_fini+0) [0x8270a9a20]
    3: 0x7ffffffff2d3 ? (+0) [0x7ffffffff2d0] {signal frame} 4: 0x82448edfa /lib/libc.so.7 (_fini+0) [0x82448edf0] {signal frame} 5: 0x8270a9a20 /lib/libthr.so.3 (_fini+0) [0x8270a9890]

    To make the above information more practical to work with, please also provide a disassembly of your htop binary. This can usually be done by running the following command:

    objdump -d -S -w which htop > ~/htop.objdump ...

    I will attach "objdump" output & backtrace. For future, is backtrace needed when "objdump" output is also provided?

    htop.objdump.txt htop.gdb.bt-full.txt

    bug :bug: Linux :penguin: FreeBSD :japanese_ogre: 
    opened by parv 22
  • does not show temperature for last (4th) core

    does not show temperature for last (4th) core

    htop 3.0.3-1

    model name : Intel(R) Celeron(R) CPU N3160 @ 1.60GHz

    sensors:

    Core 0:       +40.0°C  (high = +90.0°C, crit = +90.0°C)
    Core 1:       +41.0°C  (high = +90.0°C, crit = +90.0°C)
    Core 2:       +36.0°C  (high = +90.0°C, crit = +90.0°C)
    Core 3:       +43.0°C  (high = +90.0°C, crit = +90.0°C)
    

    htop:

      1[||||||                 4.8%  800MHz 41°C]   3[                           0.0%  655MHz 36°C]
      2[||||||||               8.3%  802MHz 36°C]   4[||||||||||                 10.7%  656MHz N/A]
    
    bug :bug: Linux :penguin: 
    opened by p5n 21
  • bring back the regular checkmarks

    bring back the regular checkmarks

    pls its great and all this is still maintained, but I dont enjoy things becoming less readable. you could argue here "use a better font" but htop is used in a lot of minimal installs that might be lacking all and any fancy glyphs, which is why the old method of checkmarks is used in nearly every cli program

    opened by Ckath 21
  • PCP: Dynamic columns

    PCP: Dynamic columns

    Implements support for arbitrary Performance Co-Pilot metrics with per-process instance domains to form new htop columns. The column-to-metric mappings are setup using configuration files which will be documented via man pages as part of a follow-up commit.

    We provide an initial set of column configurations so as to provide new capabilities to pcp-htop: including configs for containers, open fd counts, scheduler run queue time, tcp/udp bytes/calls sent/recv, delay acct, virtual machine guests, detailed virtual memory, swap.

    Note there is a change to the configuration file path resolution algorithm introduced for 'dynamic meters'. First, look in any custom PCP_HTOP_DIR location. Then iterate, in priority order, users home directory, then local sysadmins files in /etc/pcp/htop, then readonly configuration files below /usr/share/pcp/htop. This final location becomes the preferred place for our own shipped meter and column files.

    The Settings file (htoprc) writing code is updated to not using the numeric identifier for dynamic columns. The same strategy used for dynamic meters is used here where we write Dynamic(name) so the name can be setup once more at start. Regular (static) columns writing to htoprc - i.e. numerically indexed - is unchanged.

    new feature PCP 
    opened by smalinux 19
  • Add NetBSD support in htop(1)

    Add NetBSD support in htop(1)

    This implementation makes NetBSD use htop(1) without the need of mount_procfs(8).

    The implementation has been copied over and modified from the OpenBSD implementation in htop(1).

    Make NetBSD no longer masquerade as Linux.

    new feature BSD :blowfish: NetBSD :flags: 
    opened by fraggerfox 18
  • Exclude processes running in a container (i.e. Docker)

    Exclude processes running in a container (i.e. Docker)

    I'm using htop on one of my servers also running various docker containers. In that case, htop can be very confusing due to the high amount of different processes.

    It would be really helpful if there would be a switch to only show processes not running in a container (i.e. running directly on the host).

    Hacktoberfest new feature 
    opened by Programie 16
  • Suggestion: Highlight potential kernel thread impersonating malware processes

    Suggestion: Highlight potential kernel thread impersonating malware processes

    It is fairly common for a infecting malware to impersonate as a Linux kernel thread by using similar naming style(e.g. ksoftirqd/0) to go off the hook upon a security audit:

    Example screenshot

    While for htop it is already quite easy to identify them via the toggling of the "Hide kernel threads" display options in the setup view, it would be great if htop can highlight them in the first place(like, in red, blinking text) to further alert there's a potential malware in the system.

    needs-discussion :thinking: new feature 
    opened by brlin-tw 2
  • Feature request: Add columns for total resources for process tree

    Feature request: Add columns for total resources for process tree

    Currently, tree-view is almost useless for finding resource hogs. The reason is that sorting on e.g. CPU use in tree-view mode, will sort the process tree based on the CPU use of the parent, rather than the total.

    Adding columns for total CPU/memory use for a process tree would allow the user to sort on the total to surface the process trees that hog the most resources, yet retain the ability to inspect the constituent processes and threads individually.

    It is possible that users might want to sort on total CPU for the tree but without showing the column. Therefore, a further improvement would be to add an option that, in tree-mode, sorting on resource columns will sort on the total for the tree.

    There are a few existing suggestions related to total resources. Here's how this one differs:

    • This is different from #920 since sorting process trees will need the total no matter if they're collapsed or expanded.
    • This is different from #301 since 1) it is defined exactly rather than reliant on a heuristic and 2) it retains the ability to inspect the process tree of an application.
    • This is different from #81 since 1) it is about showing totals for all rather than just the selected process and 2) thereby allow sorting process trees.
    new feature 
    opened by svenssonaxel 0
  • Implement zswap support on Linux

    Implement zswap support on Linux

    When zswap is enabled and in use on a Linux system, htop output does not reflect this in any way. This leads to two issues:

    1. Compressed pool state is not communicated to the user (this is less important),
    2. Zswapped pages are accounted to swap usage, which is misleading (this is more important).

    As of Linux 5.19, zswap metrics can be read from /proc/meminfo and no longer require debugfs. Use this to provide zswap support in two ways:

    • highlight the compressed pages on the RAM gauge as a separate type of RAM usage (but still account them as "used" RAM),
    • highlight the frontswapped pages on the Swp gauge as a separate type of swap usage, and discount them from the "used" swap because these pages are not physically residing on the swap device.

    (Note: we still want to highlight the frontswapped pages on the Swp gauge, because frontswap will only work when there is enough physical swap to evict the frontswapped pages all the way to the backing device. Thus it is important to give the user an insight into this metric.)

    Fixes #104. Potentially closes #721.

    opened by intelfx 2
  • Vertical line is missing on the left in tree view

    Vertical line is missing on the left in tree view

    I'm using htop 3.2.1 in Gentoo Linux. Whenever the Tree view and Display threads are enabled, the vertical line to the left of the last process in the list is missing.

    htoplinemissing

    bug :bug: 
    opened by UrsusArctos 0
  • Use float for non-precision values

    Use float for non-precision values

    Use single precision floating point numbers for calculations where the reduced precision is sufficient enough.

    May save some cycles on architectures not supporting double precision arithmetic in hardware.

    needs-discussion :thinking: 
    opened by cgzones 2
  • Segmentation fault: Error: A signal 11 (Segmentation fault) was received.

    Segmentation fault: Error: A signal 11 (Segmentation fault) was received.

    I just start htop, and it crashed.

    ❯ htop
    
    
    FATAL PROGRAM ERROR DETECTED
    ============================
    Please check at https://htop.dev/issues whether this issue has already been reported.
    If no similar issue has been reported before, please create a new issue with the following information:
      - Your htop version: '3.2.1'
      - Your OS and kernel version (uname -a)
      - Your distribution and release (lsb_release -a)
      - Likely steps to reproduce (How did it happen?)
      - Backtrace of the issue (see below)
    
    Error information:
    ------------------
    A signal 11 (Segmentation fault) was received.
    
    Setting information:
    --------------------
    htop_version=3.2.1;config_reader_min_version=3;fields=53 48 3 4 0 51 18 113 20 53 17 114 18 38 39 40 2 46 47 49 1;hide_kernel_threads=1;hide_userland_threads=0;shadow_other_users=0;show_thread_names=1;show_program_path=1;highlight_base_name=1;highlight_deleted_exe=1;highlight_megabytes=1;highlight_threads=1;highlight_changes=1;highlight_changes_delay_secs=1;find_comm_in_cmdline=1;strip_exe_from_cmdline=1;show_merged_command=1;header_margin=1;screen_tabs=0;detailed_cpu_time=1;cpu_count_from_one=0;show_cpu_usage=1;show_cpu_frequency=1;show_cpu_temperature=1;degree_fahrenheit=0;update_process_names=1;account_guest_in_cpu_meter=1;color_scheme=0;enable_mouse=0;delay=10;hide_function_bar=0;header_layout=two_50_50;column_meters_0=AllCPUs;column_meter_modes_0=1;column_meters_1=Memory Tasks LoadAverage Hostname Uptime DiskIO NetworkIO Systemd CPU;column_meter_modes_1=1 2 2 2 2 2 2 2 1;tree_view=0;sort_key=46;tree_sort_key=46;sort_direction=-1;tree_sort_direction=-1;tree_view_always_by_pid=1;all_branches_collapsed=0;screen:Main=ELAPSED USER PPID PGRP PID TGID NICE OOM STARTTIME ELAPSED PRIORITY IO_PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command;.sort_key=PERCENT_CPU;.tree_sort_key=PERCENT_CPU;.tree_view=0;.tree_view_always_by_pid=1;.sort_direction=-1;.tree_sort_direction=-1;.all_branches_collapsed=0;screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command;.sort_key=IO_RATE;.tree_sort_key=PID;.tree_view=0;.tree_view_always_by_pid=0;.sort_direction=-1;.tree_sort_direction=1;.all_branches_collapsed=0;
    
    Backtrace information:
    ----------------------
    htop(+0x12dcc)[0x564d0598edcc]
    htop(CRT_handleSIGSEGV+0xe9)[0x564d05997269]
    /usr/lib/libc.so.6(+0x38a00)[0x7f70bed8aa00]
    htop(Process_updateCPUFieldWidths+0x0)[0x564d0599c560]
    htop(+0x3cfe5)[0x564d059b8fe5]
    htop(+0x3cb2e)[0x564d059b8b2e]
    htop(+0x2a646)[0x564d059a6646]
    htop(ScreenManager_run+0x5aa)[0x564d059a706a]
    htop(CommandLine_run+0x43e)[0x564d0599775e]
    /usr/lib/libc.so.6(+0x23290)[0x7f70bed75290]
    /usr/lib/libc.so.6(__libc_start_main+0x8a)[0x7f70bed7534a]
    htop(_start+0x25)[0x564d0598d075]
    
    To make the above information more practical to work with, please also provide a disassembly of your htop binary. This can usually be done by running the following command:
    
       objdump -d -S -w `which htop` > ~/htop.objdump
    
    Please include the generated file in your report.
    Running this program with debug symbols or inside a debugger may provide further insights.
    
    Thank you for helping to improve htop!
    
    [1]    1369654 segmentation fault (core dumped)  htop
    
    
    bug :bug: 
    opened by eval-exec 4
Owner
htop
htop development
htop
Process Ghosting - a PE injection technique, similar to Process Doppelgänging, but using a delete-pending file instead of a transacted file

Process Ghosting This is my implementation of the technique presented by Gabriel Landau: https://www.elastic.co/blog/process-ghosting-a-new-executable

hasherezade 514 Jan 3, 2023
EarlyBird process hollowing technique (BOF) - Spawns a process in a suspended state, inject shellcode, hijack main thread with APC, and execute shellcode

HOLLOW - Cobalt Strike BOF Authors: Bobby Cooke (@0xBoku) Justin Hamilton (@JTHam0) Octavio Paguaga (@OakTree__) Matt Kingstone (@n00bRage) Beacon Obj

Bobby Cooke 203 Dec 20, 2022
Gauss Stylization - Interactive tool for normal driven stylization

Interactive tool for normal driven stylization. A set of preferred normals can be chosen arbitrarily from the Gauss sphere, including semi-discrete sets to model preference for cylinder- or cone-like shapes.

Ugo Finnendahl 16 Dec 6, 2022
My_Shell is a user-defined interactive shell written in C that works similar to the original shell in linux

MY_SHELL Overview My_Shell is a user-defined interactive shell written in C that works similar to the original shell and it can execeute many of the l

Greeshma 1 Nov 22, 2021
Sourcetrail - free and open-source interactive source explorer

Sourcetrail Important Note: This project was archived by the original autors and maintainers of Sourcetrail by the end of 2021. If you want to know mo

Coati Software 13.1k Jan 1, 2023
Tuibox - A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line.

tuibox tuibox ("toybox") is a single-header terminal UI library, capable of creating mouse-driven, interactive applications on the command line. It is

Andrew 37 Dec 24, 2022
Read-Compile-Run-Loop: tiny and powerful interactive C++ compiler (REPL)

Read-Compile-Run-Loop: tiny and powerful interactive C++ compiler (REPL) RCRL is a tiny engine for interactive C++ compilation and execution (implemen

Viktor Kirilov 383 Jan 8, 2023
High-quality Interactive Audio/Video Windows SDK

腾讯云实时音视频 TRTC SDK English | 简体中文 产品介绍 腾讯实时音视频(Tencent Real-Time Communication,TRTC),将腾讯多年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开

LiteAVSDK 14 Sep 14, 2022
per - Simple unix permission viewer and converter

Per is a simple utility that can verbosely print unix permissions and convert between symbolic and numeric notations and vice-versa.

jarmuszz 5 Oct 23, 2022
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Pavel Stehule 1.9k Jan 4, 2023
DICOM images and volumes viewer with advanced processing infrastructure (WPF, ITK, VTK)

DicomViewer DICOM images and volumes viewer with advanced processing infrastructure Stack: WPF (C#) ITK (C++) VTK (C++) Structure: DicomViewer - WPF a

Paweł Piorun 1 Sep 8, 2022
SFML-based Mandelbrot viewer program

mandelbrot SFML-based Mandelbrot viewer program. Dependencies CMake 3.16 C++17 SFML 2.5 Building cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --bui

Chris Thrasher 13 Sep 28, 2022
An image viewer for 9front

An image viewer for 9front

phil9 4 Nov 30, 2021
QOI image viewer on top of the Sokol headers

qoiview A simple .qoi image file viewer on top of the sokol headers. QOI: https://github.com/phoboslab/qoi Sokol: https://github.com/floooh/sokol WASM

Andre Weissflog 107 Dec 6, 2022
Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.

JPEGView-Image-Viewer-and-Editor Updated Dec 07 2021. Version 1.1.1.0 has been released. Download link1, link2 added. Second life for famous JPEGView

Ann Hatt 40 Dec 27, 2022
This repository provides the implementation of a ADC real-time viewer for an analog sound sensor.

Real-time sound analysing using microcontroller FRDM-KL25Z Acest cod este realizat pentru o platforma autonoma realizata cu kitul de la NXP care are r

null 5 Jan 20, 2022
This is a dithered photo viewer.

M5Stack M5Paper: Photo viewer This is a dithered photo viewer for the M5Stack M5Paper device. It's capable of drawing 960x540 resolution pictures in 1

Sarah Cartwright 14 Dec 21, 2022
Level viewer for Super Mario Maker 2, based on JiXiaomai's work

Toost Level viewer for Super Mario Maker 2, based on JiXiaomai's work How to build If building for desktop, obtain development files for sdl2, glew, g

TheGreatRambler 56 Dec 5, 2022
Registry viewer, editor and profile saver

Registry Profiler This app allows certain registry values like the ones for brightness & volume to change and saved into profiles. The first menu give

Codiak 4 Feb 6, 2022