GithubHelp home page GithubHelp logo

iinsertnamehere / catnap Goto Github PK

View Code? Open in Web Editor NEW
107.0 4.0 8.0 1.3 MB

A highly customizable systemfetch written in nim

Home Page: https://catnap-fetch.xyz

License: MIT License

Nim 97.44% Shell 2.56%
concatenation distro neofetch posix screenfetch system-information

catnap's Introduction


Catnap🌿 Systemfetch

View Demo · Documentation · Contributing


🌿 What is Catnap

I created Catnap🌿 (originally known as Catnip) as a playful, simple system-information concatenation tool using nim👑. It is quite customizable and has possibilities to alter the names and colors of the statistics. In the future, I also intend to add more distribution logos. Feel free to contribute to the project at any time.

⏱️ Execution Time

*Around 0.006 seconds on my laptop

📊 Displayed Statistics

View Statistics
  • username
  • hostname
  • uptime
  • os
  • kernel
  • desktop
  • shell
  • terminal
  • memory
  • battery
  • disk space
  • cpu info
  • packages
  • weather
  • colors

❤️ Shoutout to:

Feel free to submit issues if you have any improvement ideas! ❤


📷 Demo Images

Demo Images ✨

Default:

FigletLogos (Nitch mode):

Image Mode:

Distro Showcase:



📒 Documentation

You can read the full documentation here
It covers installation, usage and configuration!

If you think something is missing, feel free to open a Issue in the catnap-docs repository.


🧪 Testing

To test catnap, run the following command in the catnap repo:

$ cd tests/
$ ./commandline_args.sh

🐛 Bugs

If you've found a bug, please follow the steps below:

  1. Make sure you're on the latest commit, as bugs that are in your current version might've been fixed in later commits.
  2. Run catnap -v and copy the output into your clipboard.
  3. Create an issue and remember to click on the bug report template!
  4. Fill in the details and submit the report.

🔨 Contributing

For more info on how to contribute and how to add a new distro, see CONTRIBUTING.md.


❤️ Thanks to all contributors!



catnap's People

Contributors

bearfm avatar github-actions[bot] avatar iinsertnamehere avatar justbuddy avatar riviox avatar stfnwp avatar xzi avatar yuki-was-taken 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

catnap's Issues

[Feature]: Caching Functionality

Is your feature request related to a problem? Please describe:

Some stats are very Resource Intensive and take a lot longer to load then others

Describe the solution you'd like:

Implement a Caching functionality so that the CPU stat for example, isn't fetched every time but only when explicitly reloading the Cache.

Additional context:

Would also be useful to add cmd args for re-fetching the cache or for deleting it..

[Change]: Add more and better comments

Is your change request related to a problem? Please describe:

When revisiting the Projekt after some time, IT often Takes some time to dig throu the Code and figure Out what it Dose.

Describe what you want to change:

Adding more and better comments might Help.

[Bug]: imageMode not displaying images

Describe the bug:

imageMode not working/displaying images

Screenshots:

catnip


image


config.toml


image

Device:

  • OS: Arch Linux
  • WM: BSPWM

Additional context:

I saw this systemfetch from Spelljinxer's dot where he/she was able to display images using catnip, so I tried using imageMode with the exact same image but the only display I get is the distro.


I already have all dependencies installed including viu.


image


image


Tried to enabled figlet and disabled imageMode to see if it's the same case for figlet, but there were no problems with it.


image


So far everything works fine except the imageMode.

[Bug]: Can't use custom location for distros.toml?

Describe the bug:

When using catnip -c, you can only include a custom path to the config.toml, so distros.toml cannot be moved to another location other than ~/.config/catnip/

Screenshots:

20240505_11h15m17s_grim

Device:

  • OS: Arch Linux
  • DE/WM: dwl
  • TERMINAL: foot

[Feature]: Configurable line separators

Great little fetch tool, love the simplicity and ease of configuration.

Would love a feature where simply by adding a line to the configuration to indicate as such, users can add a line break similar to the separator between the stats and colors.

Example:

[stats]
username = {icon = " ", name = "user", color = "(RD)"}
hostname = {icon = "󰐝 ", name = "hname", color = "(YW)"}
desktop  = {icon = " ", name = "desktp", color = "(CN)"}
linebreak
distro   = {icon = " ", name = "distro", color = "(GN)"}
kernel   = {icon = " ", name = "kernel", color = "(MA)"}
#desktop  = {icon = " ", name = "desktp", color = "(CN)"}
#terminal = {icon = " ", name = "term", color = "(RD)"}
shell    = {icon = " ", name = "shell", color = "(MA)"}
cpu      = {icon = " ", name = "cpu", color = "(RD)"}
disk     = {icon = " ", name = "disk", color = "(GN)"}
memory   = {icon = " ", name = "memory", color = "(YW)"}
uptime   = {icon = " ", name = "uptime", color = "(BE)"}
colors   = {icon = " ", name = "colors", color = "!DT!", symbol = ""}

image

[Question]:Unable to display images in cool-retro-term terminals

Ask your Question:

In kitty terminal, the pictures in the configuration file can be displayed normally, but in cool-retro-term, the pictures will not be displayed, and the pictures can be displayed normally by using viu to output them in the terminal, but they can not be displayed in cool-retro-term when using catnip command.

Additional context:

Add any other context or screenshots about the feature request here.

New Feature: Image mode

Describe the solution you'd like
The ability to define a image file to be displayed as logo. This feature is present in many fetch programs like neofetch.

Additional context
Neofetch

Change: Better way of setting the stat field in a Stats object

Is your feature request related to a problem? Please describe.
At the moment there is a set function for each stat field inside the Stats object.

Describe the solution you'd like
I want to find a better way of setting the fields then defining a function for each stat.

[Bug]: 858581f doesn't build.

Describe the bug:

858581f won't build, the previous commits 5c55e58 and 087b362 work just fine.

Screenshots:

image

➜  catnip git:(main) nim setup
Building in release mode
Installing config files
Overwrite the current config? [y/n]
sh: 1: read: Illegal option -n
stack trace: (most recent call last)
/usr/lib/nim/lib/system/nimscript.nim(429, 18)
/home/pi/catnip/config.nims(93, 20) setupTask
/home/pi/catnip/config.nims(58, 14) install_cfgTask
/home/pi/catnip/config.nims(32, 18) configure
/usr/lib/nim/lib/system/nimscript.nim(273, 7) exec
/usr/lib/nim/lib/system/nimscript.nim(273, 7) Error: unhandled exception: FAILED: read -n1 ans && echo $ans > /tmp/read_ans.txt [OSError]

nim debug builds fine.

➜  catnip git:(main) nim debug
Building in debug mode
Hint: used config file '/etc/nim/nim.cfg' [Conf]
Hint: used config file '/etc/nim/config.nims' [Conf]
Hint: used config file '/home/pi/catnip/config.nims' [Conf]
.............................................................................................................................
CC: ../../../../usr/lib/nim/lib/system/io.nim
CC: ../../../../usr/lib/nim/lib/system.nim
CC: ../../../../usr/lib/nim/lib/pure/strutils.nim
CC: ../../../../usr/lib/nim/lib/pure/strformat.nim
CC: ../../../../usr/lib/nim/lib/pure/collections/tables.nim
CC: extern/libraries/parsetoml.nim
CC: catniplib/global/definitions.nim
CC: ../../../../usr/lib/nim/lib/wrappers/pcre.nim
CC: ../../../../usr/lib/nim/lib/impure/re.nim
CC: catniplib/terminal/colors.nim
CC: catniplib/terminal/logging.nim
CC: ../../../../usr/lib/nim/lib/pure/parsecfg.nim
CC: catniplib/platform/probe.nim
CC: catniplib/platform/fetch.nim
CC: ../../../../usr/lib/nim/lib/pure/terminal.nim
CC: catniplib/generation/stats.nim
CC: catniplib/generation/utils.nim
CC: catniplib/drawing/render.nim
CC: catniplib/global/config.nim
CC: catnip.nim
Hint:  [Link]
Hint: gc: refc; opt: none (DEBUG BUILD, `-d:release` generates faster code)
171499 lines; 11.107s; 146.598MiB peakmem; proj: /home/pi/catnip/src/catnip.nim; out: /home/pi/catnip/bin/catnip [SuccessX]
Hint: used config file '/etc/nim/nim.cfg' [Conf]
Hint: used config file '/etc/nim/config.nims' [Conf]
Hint: used config file '/home/pi/catnip/config.nims' [Conf]

Device:

  • OS: Linux Debian 12
  • WM: Headless
  • TERMINAL: tty

New Feature: Add Tests

Describe the solution you'd like

Some sort of Tests would be nice in order to test the whole functionality of catnip before pushing.

Additional context

I don't know shit about testing... ;)

[Bug]: catnip -g is broken

Describe the bug:

With the default catnip configuration file installed in ~/.config/catnip, the program errors out when doing catnip -g with any stat.

Screenshots:

20240505_22h40m01s_grim

Device:

  • OS: Arch Linux
  • DE/WM: dwl
  • TERMINAL: foot

[Feature]: Weather stat

Describe the solution you'd like:

A stat that Displays the Werther based on your IP geolocation, would be a fun Feature to have..

Change/Question: Remove windows support

Question

I'm not sure if it is necessary to continue the support for windows. Who the fuck uses a system-fetch tool on windows or uses windows in general. ;)

So maybe it is a good idea to remove the windows support and go linux only?

Change: Cleanup Stat system

Is your feature request related to a problem? Please describe.

The Stat system is not very well designed, you have to define way to much stuff in order to create a new stat.

Describe the solution you'd like

I would like a stat system where it is very simple to create a new stat.
For example: Only define a function and add a stat name to some list.

formatting config.toml kills the app

Describe the bug

Using a formatter for the .toml file kills the app

Screenshots

This works fine
image
image

However this doesn't
image
image

Device:

  • OS: Linux
  • WM: KDE Plasma 6

could not load: libpcre.so

after successful build i got an error when run catnip from bin: could not load: libpcre.so(.3|.1|)
(compile with -d:nimDebugDlOpen for more information)

[Bug]: Execution time increased by package count stat

What version of Catnip are you running?

Commit a7eecc7

Describe the bug:

Usually, Catnip on my system executes in 0.014 seconds. However, once 6eabc96 was merged, the execution time increases to a hefty 0.509 seconds. This is because it takes some time to get the package count. However, once I disable the package count stat by commenting it out in the config.toml, the execution time is still the same, at 0.508 seconds.

Screenshots:

Nil.

Device:

  • OS: Alpine Linux
  • DE/WM: dwm
  • TERMINAL: st

Additional context:

I believe that even though the stat is commented out, Catnip still gets the value of the stat and just doesn't display it. Could Catnip be changed so that it doesn't grab the values of the stats that are commented out? This will decrease the execution time.

New Feature: Config options for layout

Config options for layout, for example:

  • Option to display the Logo on top of the stats
  • Nitch style option, to use ascii art text as logo
  • Option to display the stats on top of the Logo.
    Stuff like that..

[Change]: About the title

Hello, this may sound strange, but it's about the title. Catnip is a cool name, but unfortunately it's not original. Here's https://github.com/noriah/catnip project with a similar name and it wouldn't be a problem if it wasn't a terminal sound visualiser application. So because of the same names it is impossible to run the application normally in terminal (if both are present in the system). Moreover, for example yay in Arch, thinks that your catnip-git application package conflicts with the catnip visualiser package, so it suggests replacing one with the other and nothing works. I'm not urging you to change the name, but maybe it's worth contacting the developer of the other application and negotiating this? And then we will get two really cool terminal applications.

Bug: DistroId list overflows help msg

Is your feature request related to a problem? Please describe.
The distroid list inside the help message overflows.
image psd(1)

Describe the solution you'd like
Make the distroid list some how wrap around when it overflows.

New Feature: Choose which stats to display

Make it possible for the user to choose which stats to display:

Everything that is commented should not be displayed.

[stats]
username = {icon = "> ", name = "user", color = "(RD)"}
hostname = {icon = "> ", name = "hname", color = "(YW)"}
uptime   = {icon = "> ", name = "uptime", color = "(BE)"}
distro   = {icon = "> ", name = "distro", color = "(GN)"}
# kernel   = {icon = "> ", name = "kernel", color = "(MA)"}
desktop  = {icon = "> ", name = "desktp", color = "(CN)"}
shell    = {icon = "> ", name = "shell", color = "(RD)"}
# colors   = {icon = "> ", name = "colors", color = "!DT!", symbol = "#"}

Unable to build catnip

Describe the bug

Trying to "nim setup" the latest build.
I did a fresh clone of this repository.

➜  catnip git:(main) nim setup
Building in release mode
/home/pi/catnip/src/catniplib/platform/probe.nim(3, 14) Error: cannot open file: system/ctypes
stack trace: (most recent call last)
/usr/lib/nim/lib/system/nimscript.nim(429, 18)
/home/pi/catnip/config.nims(62, 16) setupTask
/home/pi/catnip/config.nims(40, 12) releaseTask
/home/pi/catnip/config.nims(13, 9) compile
/usr/lib/nim/lib/system/nimscript.nim(273, 7) exec
/usr/lib/nim/lib/system/nimscript.nim(273, 7) Error: unhandled exception: FAILED: nim c --cincludes:/home/pi/catnip/src/extern --verbosity:0 -d:release --outdir:/home/pi/catnip/bin /home/pi/catnip/src/catnip.nim [OSError]

Device:

  • OS: Linux Debian 12
  • WM: ssh

[Bug]: apt warning on runtime.

Describe the bug:

When run on a system that runs apt (debian/ubuntu), running catnip will cause apt's warning to appear at every call.
Avoiding using apt commands should resolve this. Dpkg should provide a "stable CLI". (#7 (comment))

Screenshots:

image

Device:

  • OS: Linux Debian
  • WM: Headless
  • TERMINAL: tty

Additional context:

#7

Bug: RPI OS is not autodetected

Describe the bug
RPI OS is not autodetected because the /etc/os-release ID is "debian".

Solution
Check for "/boot/issue.txt" and if it exists, set distroid to "raspbian".

[Feature]: Probe GPU Info

Is your feature request related to a problem? Please describe:

No, not a problem - just an enhancement.

Describe the solution you'd like:

Add an additional stat, gpu to round out the basic system specs already available (cpu, memory, disk space).

Additional context:

I would think the 'best' solution would be to pull from a shell output of lspci | grep VGA, strip off the basic start & end of the result, and display. e.g.

09:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070] (rev a1)
becomes
NVIDIA Corporation GA104 [GeForce RTX 3070]

Could also apply some further cleanup to this but that might become complicated (I haven't looked at the output variances of other GPUs, can't comment).

Furthermore, on the edge case that someone has multiple dedicated GPUs (so the above shell command returns multiple lines), you could just utilize the same system you're using for disks, ala gpu_0, gpu_1, etc.

I'm not familiar with nim, so unsure how difficult this actually is - apologies if unrealistic!

[Feature]: Multiple disks

Is your feature request related to a problem? Please describe:

I would love to see the disk stat of multiple defined disks, instead of only the internal disk.

Example:
I got the internal disk which is 32 GB, and two external drives which I would like to see the disk stat of.

Describe the solution you'd like:

In config.toml, add a few commented-out placeholder entries like disk0-disk5, disk0 being the current disk entry.
Further, in that same config file, allow specifications of the disks to show. Either mountpoint or device name, whatever works.

[disk.mountpoints]
disk0 =
disk1 =
disk2 =
disk3 =
disk4 =
disk5 =

Change: config.toml - Handle aliases inside main distroart.

Currently, aliases are made by adding an extra-entry to the config.toml file.
Would it be possible to handle those inline of the main distroart?

Example

Before:

    [distroart.raspbian]
    margin = [2, 2, 3]
    art    = [
        "{GN}  __  __   ",
        "{GN} (_\\)(/_)  ",
        "{RD} (_(__)_)  ",
        "{RD}(_(_)(_)_) ",
        "{RD} (_(__)_)  ",
        "{RD}   (__)    "
    ]

    [distroart.raspberrypios]
    alias = "raspbian"

After:

    [distroart.raspbian]
    margin = [2, 2, 3]
    alias  = "raspberrypios, alias2, alias3"
    art    = [
        "{GN}  __  __   ",
        "{GN} (_\\)(/_)  ",
        "{RD} (_(__)_)  ",
        "{RD}(_(_)(_)_) ",
        "{RD} (_(__)_)  ",
        "{RD}   (__)    "
    ]

New Feature: Handle “desktop” stat when no desktop is installed.

Is your feature request related to a problem? Please describe.
Not an issue, but I would love to see proper handling when a Linux setup doesn't have a desktop environment.
Currently, in my situation, a minimal Raspberry Pi OS is only accessible via it's shell, so the desktop stat should state one of those:
— “Shell”
— “Headless”
— Don't show desktop at all.

This should apply to any other shell-only Linux setup as well.

[Feature]: Add build number

Is your feature request related to a problem? Please describe:

When working with two different versions of catnip while developing it is sometimes hard to tell, which version is which.

Describe the solution you'd like:

The idea is to use a Gituhb action to automatically set a BUILD_NUMBER variable inside the definitions.nim file.
When running catnip with -h it will show the build number.

Additional context:

I don't now how Github actions work...

Follow up: New Feature: Handle “desktop” stat when no desktop is installed.

Unsure if that worked, Raspberry Pi OS installation still reports "Unknown"

My printenv:

➜  catniplib git:(main) printenv
USER=pi
LOGNAME=pi
HOME=/home/pi
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
SHELL=/usr/bin/zsh
TERM=xterm-256color
XDG_SESSION_ID=14503
XDG_RUNTIME_DIR=/run/user/1000
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_SESSION_TYPE=tty
XDG_SESSION_CLASS=user
MOTD_SHOWN=pam
LANG=en_GB.UTF-8
SSH_CLIENT=10.1.1.47 53012 22
SSH_CONNECTION=10.1.1.47 53012 10.1.1.151 22
SSH_TTY=/dev/pts/0
SHLVL=1
PWD=/home/pi/catnip/src/catniplib
OLDPWD=/home/pi/catnip/src
ZSH=/home/pi/.oh-my-zsh
PAGER=less
LESS=-R
LSCOLORS=Gxfxcxdxbxegedabagacad
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:
_=/usr/bin/printenv

Originally posted by @JustBuddy in #10 (comment)

[FollowUp] Unable to build catnip

Describe the bug
Follow up to #41
Trying to "nim setup" the latest build.
I did a fresh clone of this repository.

➜  catnip git:(main) nim setup
Building in release mode
/home/pi/catnip/src/catniplib/drawing/render.nim(43, 10) template/generic instantiation of `setStat` from here
/home/pi/catnip/src/catniplib/generation/stats.nim(22, 42) Error: undeclared field: 'runeLen' for type system.string [type declared in /usr/lib/nim/lib/system.nim(34, 3)]
stack trace: (most recent call last)
/usr/lib/nim/lib/system/nimscript.nim(429, 18)
/home/pi/catnip/config.nims(62, 16) setupTask
/home/pi/catnip/config.nims(40, 12) releaseTask
/home/pi/catnip/config.nims(13, 9) compile
/usr/lib/nim/lib/system/nimscript.nim(273, 7) exec
/usr/lib/nim/lib/system/nimscript.nim(273, 7) Error: unhandled exception: FAILED: nim c --cincludes:/home/pi/catnip/src/extern --verbosity:0 -d:release --outdir:/home/pi/catnip/bin /home/pi/catnip/src/catnip.nim [OSError]

Device:
OS: Linux Debian 12
WM: ssh

[Feature]: Add support for showing what window manager you are using in fetch

Is your feature request related to a problem? Please describe:

I run i3. Presently, my fetch using catnip just shows "unknown" under the desktop manager field. This doesn't look very pretty.

Picture of what I am talking about:
image

Describe the solution you'd like:

I think one of two solutions could work.

  1. Add support for window manager detection to the desktop field and just have it that way.
  2. Add a dedicated window manager section to the desktop field.

Additional context:

First time opening a feature request issue so apologies if it isn't the correct format. Love the tool.

Change: Better Argument parsing

Is your feature request related to a problem? Please describe.
The argument parsing code is getting messy!

Describe the solution you'd like
Some how find a better and cleaner way of parsing command line args.

[Bug]: unhandled exception: index 1 not in 0 .. 0 [IndexDefect]

Describe the bug:

When running Catnip from the latest commit, I get this error message when running the binary without any arguments:

fatal.nim(53)            sysFatal
Error: unhandled exception: index 1 not in 0 .. 0 [IndexDefect]

Screenshots:

20240508_19h29m01s_grim

Device:

  • OS: Arch Linux
  • DE/WM: dwl
  • TERMINAL: foot

Additional context:

I think this might be the cause of the tests failing.

Change: Better project structure

Is your feature request related to a problem? Please describe.
The project structure is not very well thought through!

Describe the solution you'd like

  1. Collect ideas on how to structure the project.
  2. Implement those ideas.
  3. Write docs on how to implement the project structure for future contributors.

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.