paleofetch

mrgrouse's paleofetch fork, a system fetch tool written in C, inspired by suckless' programming style.
Log | Files | Refs | README | LICENSE

README.md (4315B)


      1 paleofetch
      2 ==========
      3 
      4 A rewrite of [neofetch](https://github.com/dylanaraps/neofetch) in C.
      5 Currently only supports Linux and Xorg.
      6 
      7 
      8 Why use paleofetch over neofetch?
      9 -----------------------------------------
     10 One major reason is the performance improvement. For example: neofetch finishes running after about 222 milliseconds where as paleofetch can finish running in a blazing fast 3 milliseconds.
     11 
     12 Note: this testing occured on only 1 computer, it's not a good representation on the performance benefit you may gain.
     13 
     14 
     15 Example output:
     16 
     17 ![example output](example.png)
     18 
     19 Dependencies
     20 ------------
     21 
     22 Paleofetch requires `libX11` and `libpci`. If you're running Xorg you should already have
     23 the former. On Arch Linux, you should have `libpci` already installed if you have `pciutils`
     24 installed. On other linux distrobutions, you may need to install libpci seperatley
     25 if its not already present.
     26 
     27 Compiling
     28 ---------
     29 
     30     make install
     31 
     32 Usage
     33 -----
     34 
     35 After compiling, simply run the executable:
     36 
     37     paleofetch
     38 
     39 By default, `paleofetch` will cache certain  information (in `$XDG_CACHE_HOME/paleofetch`)
     40 to speed up subsequent calls. To ignore the contents of the cache (and repopulate it), run
     41 
     42     paleofetch --recache
     43 
     44 The cache file can safely be removed at any time, paleofetch will repopulate it
     45 if it is absent.
     46 
     47 Configuration
     48 -------------
     49 
     50 Paleofetch is configured by editing `config.h` and recompiling.
     51 You can change your logo by including the appropriate header file in the logos directory.
     52 The color with which paleo fetch draws the logo can be chosen by defining the `COLOR` macro,
     53 look up ANSI escape codes for information on customizing this.
     54 
     55 The last configuration is the `CONFIG` macro, which controls what information paleofetch
     56 prints. Each entry in this macro should look like
     57 
     58     { "NAME: ",   getter_function, false }, \
     59     
     60 Take note of the trailing comma and backslash. The first piece, `"NAME: "`, sets
     61 what paleofetch prints before printing the information; this usually tells you what
     62 bit of information is being shown. Note that the name entry should be unique for entries
     63 which are to be cached. The second piece, `getter_function`, sets
     64 which function paleofetch will call display. Current available getter functions are
     65 
     66 * `get_title`: prints `host@user` like in a bash prompt. Host and user will be printed in color.
     67 * `get_bar`: Meant to be added after `get_title`, underlines the title
     68 * `get_os`: Prints your operating system (including distrobution)
     69 * `get_host`: Prints the model of computer
     70 * `get_kernel`: Prints the version of the linux kernel
     71 * `get_uptime`: Shows how long linux has been running
     72 * `get_packages`: Shows how many packages you have installed. Currently only works for pacman.
     73 * `get_shell`: Shows which shell you are using
     74 * `get_resolution`: Prints your screen resolution
     75 * `get_terminal`: Prints the name of your current terminal
     76 * `get_cpu`: Prints the name of your CPU, number of cores, and maximum frequency
     77 * `get_gpu1`, `get_gpu2`: Print the GPU on your system. If you don't have both integrated graphics and an external GPU, `get_gpu2` will likely be blank
     78 * `get_gpu`: (Tries to) print your current GPU
     79 * `get_colors1`, `get_colors2`: Prints the colors of your terminal
     80 
     81 To include a blank line between entries, put `SPACER \` between the two lines
     82 you want to separate.
     83 
     84 The booleans in `CONFIG` tell paleofetch whether you want to cache an entry.
     85 When cached, paleofetch will save the value and not recompute it whenever you run paleofetch
     86 (unless you specify the `--recache` option).
     87 
     88 The CPU and GPU name can be configured as well. This is done under the CPU_CONFIG and GPU_CONFIG section
     89 in the config.h file. Two macros are provided to customize and tidy up the model names:
     90 
     91 * `REMOVE(string)`: removes the first occurence of `string`
     92 * `REPLACE(string1, string2)`: replaces the first occurence of `string1` with `string2`
     93 
     94 Don't forget to run paleofetch with the --recache flag after compiling it with your new
     95 configuration, otherwise it will still show the old name for already cached entries.
     96 
     97 FAQ
     98 ---
     99 
    100 Q: Do you really run neofetch every time you open a terminal?  
    101 A: Yes, I like the way it looks and like that it causes my prompt to start midway
    102 down the screen. I do acknowledge that the information it presents is not actually useful.