├── fetch-all-the-things.png ├── LICENSE └── README.md /fetch-all-the-things.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/domsson/fetch-all-the-things/HEAD/fetch-all-the-things.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | CC0 1.0 Universal 2 | 3 | Statement of Purpose 4 | 5 | The laws of most jurisdictions throughout the world automatically confer 6 | exclusive Copyright and Related Rights (defined below) upon the creator and 7 | subsequent owner(s) (each and all, an "owner") of an original work of 8 | authorship and/or a database (each, a "Work"). 9 | 10 | Certain owners wish to permanently relinquish those rights to a Work for the 11 | purpose of contributing to a commons of creative, cultural and scientific 12 | works ("Commons") that the public can reliably and without fear of later 13 | claims of infringement build upon, modify, incorporate in other works, reuse 14 | and redistribute as freely as possible in any form whatsoever and for any 15 | purposes, including without limitation commercial purposes. These owners may 16 | contribute to the Commons to promote the ideal of a free culture and the 17 | further production of creative, cultural and scientific works, or to gain 18 | reputation or greater distribution for their Work in part through the use and 19 | efforts of others. 20 | 21 | For these and/or other purposes and motivations, and without any expectation 22 | of additional consideration or compensation, the person associating CC0 with a 23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright 24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work 25 | and publicly distribute the Work under its terms, with knowledge of his or her 26 | Copyright and Related Rights in the Work and the meaning and intended legal 27 | effect of CC0 on those rights. 28 | 29 | 1. Copyright and Related Rights. A Work made available under CC0 may be 30 | protected by copyright and related or neighboring rights ("Copyright and 31 | Related Rights"). Copyright and Related Rights include, but are not limited 32 | to, the following: 33 | 34 | i. the right to reproduce, adapt, distribute, perform, display, communicate, 35 | and translate a Work; 36 | 37 | ii. moral rights retained by the original author(s) and/or performer(s); 38 | 39 | iii. publicity and privacy rights pertaining to a person's image or likeness 40 | depicted in a Work; 41 | 42 | iv. rights protecting against unfair competition in regards to a Work, 43 | subject to the limitations in paragraph 4(a), below; 44 | 45 | v. rights protecting the extraction, dissemination, use and reuse of data in 46 | a Work; 47 | 48 | vi. database rights (such as those arising under Directive 96/9/EC of the 49 | European Parliament and of the Council of 11 March 1996 on the legal 50 | protection of databases, and under any national implementation thereof, 51 | including any amended or successor version of such directive); and 52 | 53 | vii. other similar, equivalent or corresponding rights throughout the world 54 | based on applicable law or treaty, and any national implementations thereof. 55 | 56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of, 57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and 58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright 59 | and Related Rights and associated claims and causes of action, whether now 60 | known or unknown (including existing as well as future claims and causes of 61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum 62 | duration provided by applicable law or treaty (including future time 63 | extensions), (iii) in any current or future medium and for any number of 64 | copies, and (iv) for any purpose whatsoever, including without limitation 65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes 66 | the Waiver for the benefit of each member of the public at large and to the 67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver 68 | shall not be subject to revocation, rescission, cancellation, termination, or 69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work 70 | by the public as contemplated by Affirmer's express Statement of Purpose. 71 | 72 | 3. Public License Fallback. Should any part of the Waiver for any reason be 73 | judged legally invalid or ineffective under applicable law, then the Waiver 74 | shall be preserved to the maximum extent permitted taking into account 75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver 76 | is so judged Affirmer hereby grants to each affected person a royalty-free, 77 | non transferable, non sublicensable, non exclusive, irrevocable and 78 | unconditional license to exercise Affirmer's Copyright and Related Rights in 79 | the Work (i) in all territories worldwide, (ii) for the maximum duration 80 | provided by applicable law or treaty (including future time extensions), (iii) 81 | in any current or future medium and for any number of copies, and (iv) for any 82 | purpose whatsoever, including without limitation commercial, advertising or 83 | promotional purposes (the "License"). The License shall be deemed effective as 84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the 85 | License for any reason be judged legally invalid or ineffective under 86 | applicable law, such partial invalidity or ineffectiveness shall not 87 | invalidate the remainder of the License, and in such case Affirmer hereby 88 | affirms that he or she will not (i) exercise any of his or her remaining 89 | Copyright and Related Rights in the Work or (ii) assert any associated claims 90 | and causes of action with respect to the Work, in either case contrary to 91 | Affirmer's express Statement of Purpose. 92 | 93 | 4. Limitations and Disclaimers. 94 | 95 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 96 | surrendered, licensed or otherwise affected by this document. 97 | 98 | b. Affirmer offers the Work as-is and makes no representations or warranties 99 | of any kind concerning the Work, express, implied, statutory or otherwise, 100 | including without limitation warranties of title, merchantability, fitness 101 | for a particular purpose, non infringement, or the absence of latent or 102 | other defects, accuracy, or the present or absence of errors, whether or not 103 | discoverable, all to the greatest extent permissible under applicable law. 104 | 105 | c. Affirmer disclaims responsibility for clearing rights of other persons 106 | that may apply to the Work or any use thereof, including without limitation 107 | any person's Copyright and Related Rights in the Work. Further, Affirmer 108 | disclaims responsibility for obtaining any necessary consents, permissions 109 | or other rights required for any use of the Work. 110 | 111 | d. Affirmer understands and acknowledges that Creative Commons is not a 112 | party to this document and has no duty or obligation with respect to this 113 | CC0 or use of the Work. 114 | 115 | For more information, please see 116 | 117 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # fetch-all-the-things 2 | 3 | ![fetch all the things](fetch-all-the-things.png) 4 | 5 | A list of scripts and programs that can fetch information and print it to `stdout`. Possible use cases for such utilities: 6 | 7 | - Check information on the CLI 8 | - For use in custom fetch scripts 9 | - For use in notifications 10 | - For use in status bars 11 | 12 | Please open an issue or send a pull request to add to the list or report entries that are outdated or shouldn't be on the list in the first place. 13 | 14 | # Collections 15 | 16 | These are projects that contain a multitude of fetch scripts / programs. Note that, depending on their intended purpose, some of these might have additional files and/or functionality that goes beyond printing information to stdout. It should still be possible to use them for that, however. 17 | 18 | - [candies](https://github.com/domsson/candies) C programs made with status bars in mind; most of these have the option to be kept running 19 | - [cpu-proc](https://github.com/domsson/candies/tree/master/cpu-proc) CPU usage in % 20 | - [datetime](https://github.com/domsson/candies/tree/master/datetime) date and time 21 | - [disk-statvfs](https://github.com/domsson/candies/tree/master/disk-statvfs) disk usage in % 22 | - [mc-server](https://github.com/domsson/candies/tree/master/mc-server) Minecraft Server Info 23 | - [mem-proc](https://github.com/domsson/candies/tree/master/mem-proc) RAM usage in % via /proc/meminfo 24 | - [mem-sysinfo](https://github.com/domsson/candies/tree/master/mem-sysinfo) RAM usage in % via sysinfo() 25 | - [temp-sensors](https://github.com/domsson/candies/tree/master/temp-sensors) system temperature via libsensors 26 | - [twitch-chat](https://github.com/domsson/candies/tree/master/twitch-chat) Twitch chat messages (filtered) 27 | - [volume-pulse](https://github.com/domsson/candies/tree/master/volume-pulse) volume via libpulse 28 | - [wmname-xcb](https://github.com/domsson/candies/tree/master/wmname-xcb) title of the focused window and window manager name via libxcb 29 | - [fetchutils](https://github.com/lptstr/fetchutils) small Shell scripts to retrieve system information; made with fetch scripts in mind 30 | - [disk.sh](https://github.com/lptstr/fetchutils/blob/master/src/disk.sh) disk usage 31 | - [editor.sh](https://github.com/lptstr/fetchutils/blob/master/src/editor.sh) get editor name 32 | - [mem.sh](https://github.com/lptstr/fetchutils/blob/master/src/mem.sh) RAM usage 33 | - [os.sh](https://github.com/lptstr/fetchutils/blob/master/src/os.sh) operating system 34 | - [pkgs.sh](https://github.com/lptstr/fetchutils/blob/master/src/pkgs.sh) number of packages 35 | - [res.sh](https://github.com/lptstr/fetchutils/blob/master/src/res.sh) screen dimensions 36 | - [cpu.sh](https://github.com/lptstr/fetchutils/blob/master/src/temp.sh) CPU temperature 37 | - [upt.sh](https://github.com/lptstr/fetchutils/blob/master/src/upt.sh) uptime 38 | - [wm.sh](https://github.com/lptstr/fetchutils/blob/master/src/wm.sh) window manager 39 | - [i3blocks-contrib](https://github.com/vivien/i3blocks-contrib) mostly Shell and Python scripts; made with i3blocks in mind 40 | - [afs](https://github.com/vivien/i3blocks-contrib/tree/master/afs) AFS directory usage 41 | - [apt-upgrades](https://github.com/vivien/i3blocks-contrib/tree/master/apt-upgrades) pending aptitude upgrades 42 | - [aur-update](https://github.com/vivien/i3blocks-contrib/tree/master/arch-update) AUR updates 43 | - [backlight](https://github.com/vivien/i3blocks-contrib/tree/master/backlight) screen brightness 44 | - [bandwidth](https://github.com/vivien/i3blocks-contrib/tree/master/bandwidth) bandwidth information 45 | - [bandwidth2](https://github.com/vivien/i3blocks-contrib/tree/master/bandwidth2) bandwidth usage (written in C) 46 | - [bandwidth3](https://github.com/vivien/i3blocks-contrib/tree/master/bandwidth3) bandwidth usage 47 | - [battery-poly](https://github.com/vivien/i3blocks-contrib/tree/master/battery-poly) battery info 48 | - [battery](https://github.com/vivien/i3blocks-contrib/tree/master/battery) battery info 49 | - [battery2](https://github.com/vivien/i3blocks-contrib/tree/master/battery2) battery info 50 | - [batterybar](https://github.com/vivien/i3blocks-contrib/tree/master/batterybar) battery level in squares 51 | - [calendar](https://github.com/vivien/i3blocks-contrib/tree/master/calendar) current date and time 52 | - [cpu\_usage](https://github.com/vivien/i3blocks-contrib/tree/master/cpu_usage) CPU usage 53 | - [cpu\_usage2](https://github.com/vivien/i3blocks-contrib/tree/master/cpu_usage2) CPU usage (written in C) 54 | - [cpu\_util\_detailed](https://github.com/vivien/i3blocks-contrib/tree/master/cpu_util_detailed) CPU utilization 55 | - [disk\_io](https://github.com/vivien/i3blocks-contrib/tree/master/disk-io) disk reads/writes 56 | - [disk](https://github.com/vivien/i3blocks-contrib/tree/master/disk) disk usage 57 | - [docker](https://github.com/vivien/i3blocks-contrib/tree/master/docker) number of running Docker containers 58 | - [email](https://github.com/vivien/i3blocks-contrib/tree/master/email) number of new emails via IMAP 59 | - [essid](https://github.com/vivien/i3blocks-contrib/tree/master/essid) wifi ESSID 60 | - [go](https://github.com/vivien/i3blocks-contrib/tree/master/go) installed Go version 61 | - [gpu-load](https://github.com/vivien/i3blocks-contrib/tree/master/gpu-load) nVidia GPU load 62 | - [iface](https://github.com/vivien/i3blocks-contrib/tree/master/iface) network interface status 63 | - [kbdd\_layout](https://github.com/vivien/i3blocks-contrib/tree/master/kbdd_layout) keyboard layout via dbus and kbdd 64 | - [key\_layout](https://github.com/vivien/i3blocks-contrib/tree/master/key_layout) keyboard layout via setxkbmap 65 | - [keyindicator](https://github.com/vivien/i3blocks-contrib/tree/master/keyindicator) capslock / numlock status indicator 66 | - [kubernetes](https://github.com/vivien/i3blocks-contrib/tree/master/kubernetes) current Kubernetes context and namespace 67 | - [load\_average](https://github.com/vivien/i3blocks-contrib/tree/master/load_average) system load average 68 | - [mediaplayer](https://github.com/vivien/i3blocks-contrib/tree/master/mediaplayer) generic media player status 69 | - [memory](https://github.com/vivien/i3blocks-contrib/tree/master/memory) RAM usage 70 | - [nm-vpn](https://github.com/vivien/i3blocks-contrib/tree/master/nm-vpn) VPN status/name via nmcli 71 | - [openvpn](https://github.com/vivien/i3blocks-contrib/tree/master/openvpn) OpenVPN 72 | - [ssid](https://github.com/vivien/i3blocks-contrib/tree/master/ssid) wifi SSID 73 | - [sway-focusedwindow](https://github.com/vivien/i3blocks-contrib/tree/master/sway-focusedwindow) Sway WM focused window title 74 | - [systemd\_unit](https://github.com/vivien/i3blocks-contrib/tree/master/systemd_unit) systemd unit status 75 | - [tahoe-lafs](https://github.com/vivien/i3blocks-contrib/tree/master/tahoe-lafs) tahoe-lafs grid status 76 | - [temperature](https://github.com/vivien/i3blocks-contrib/tree/master/temperature) system temperatures 77 | - [time](https://github.com/vivien/i3blocks-contrib/tree/master/time) current time 78 | - [usb](https://github.com/vivien/i3blocks-contrib/tree/master/usb) USB device info 79 | - [volume-pulseaudio](https://github.com/vivien/i3blocks-contrib/tree/master/volume-pulseaudio) system volume and default playback device 80 | - [volume](https://github.com/vivien/i3blocks-contrib/tree/master/volume) system volume 81 | - [wifi](https://github.com/vivien/i3blocks-contrib/tree/master/wifi) wifi connection strength 82 | - [wlan-dbm](https://github.com/vivien/i3blocks-contrib/tree/master/wlan-dbm) wifi interface link quality in dBm or percent 83 | - [xkb\_layout](https://github.com/vivien/i3blocks-contrib/tree/master/xkb_layout) keyboard layout 84 | - [polybar-scripts](https://github.com/polybar/polybar-scripts) Shell and Python scripts; written with polybar in mind 85 | - [battery-combined-shell](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/battery-combined-shell) battery status 86 | - [battery-combined-tlp](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/battery-combined-tlp) battery status via TLP 87 | - [battery-combined-udev](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/battery-combined-udev) battery status via udev 88 | - [battery-cyberpower](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/battery-cyberpower) battery status for CyberPower UPS devices 89 | - [inbox-imap-pythonpgp](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/inbox-imap-pythongpg) shows if there are unread mails in your IMAPs inbox 90 | - [inbox-imap-shellnetrc](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/inbox-imap-shellnetrc) shows if there are unread mails in your IMAP inbox 91 | - [inbox-imap-shellpass](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/inbox-imap-shellpass) shows if there are unread mails in your IMAP inbox 92 | - [inbox-pop3-shellnetrc](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/inbox-pop3-shellnetrc) shows if there are unread mails in your POP3 inbox 93 | - [info-airqualityindex](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-airqualityindex) local World Air Quality Index 94 | - [info-docker](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-docker) number of docker containers in a certain state 95 | - [info-dualshock4](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-dualshock4) battery level of a DualShock 4 Controller 96 | - [info-ethermine](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-ethermine) current hashrate (in MH/s) for your ethermine account 97 | - [info-eyestrain](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-eyestrain) eyestrain break indicator according to 20-20-20 rule 98 | - [info-gitlab-pipelines](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-gitlab-pipelines) number of succeeded, running and failed gitlab-pipelines triggered by a user 99 | - [info-hackspeed](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-hackspeed) typing speed 100 | - [info-hexdate](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-hexdate) current date in hex format 101 | - [info-hlwm-workspaces](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-hlwm-workspaces) herbstluftwm workspaces 102 | - [info-kernel](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-kernel) kernel version 103 | - [info-pingrtt](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-pingrtt) ping result 104 | - [info-projecthamster](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-projecthamster) Hamster Time Tracker information 105 | - [info-redshift-temp](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-redshift-temp) current color temperature 106 | - [info-softwarecounter](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-softwarecounter) number of specified running software including GUIs and processes 107 | - [info-ssh-sessions](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-ssh-sessions) count of current ssh sessions as well as the public IP address of the fist session 108 | - [info-taskspooler](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-taskspooler) number of queues/runtimes for one or more task spooler servers 109 | - [info-tmux-sessions](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-tmux-sessions) tmux sessions 110 | - [info-todotxt](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-todotxt) shows todo.txt items due 111 | - [info-trash](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-trash) number of files in you trash directory 112 | - [info-usbtoserial](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-usbtoserial) shows the USB-to-Serial converters that are connected 113 | - [info-wifionice](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-wifionice) information about the current ICE train of Deutsche Bahn 114 | - [info-wmname](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-wmname) value of the window manager name property of the root window 115 | - [info-xampp](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/info-xampp) status of XAMPP services, if running 116 | - [isrunning-claudius](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/isrunning-claudius) report the state of claudius, the alternative filepicker for Discord 117 | - [isrunning-compton](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/isrunning-compton) shows if compton is running 118 | - [isrunning-dropbox](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/isrunning-dropbox) shows if the dropbox client is running 119 | - [isrunning-offlineimap](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/isrunning-offlineimap) shows if offlineimap is running 120 | - [isrunning-service](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/isrunning-service) shows if a systemd service is running 121 | - [network-ipinfo.io](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/network-ipinfo.io) public IP address and country of origin via ipinfo.io 122 | - [network-localip](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/network-localip) local IP of the current connection 123 | - [network-networkmanager](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/network-networkmanager) status of NetworkManager 124 | - [network-publicip](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/network-publicip) public IP of the current connection 125 | - [network-traffic](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/network-traffic) current network traffic 126 | - [news-archlinux](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/news-archlinux) Arch Linux RSS news 127 | - [notification-chess](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/notification-chess) indicates whether you need to move 128 | - [notification-github](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/notification-github) GitHub notifications 129 | - [notification-mattermost](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/notification-mattermost) unread Mattermost messages and mentions 130 | - [notification-reddit](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/notification-reddit) shows if there are unread mails in your reddit inbox 131 | - [notification-spacex](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/notification-spacex) shows when the next launch is planned 132 | - [openweathermap-detailed](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/openweathermap-detailed) weather information 133 | - [openweathermap-forecast](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/openweathermap-forecast) weather forecast 134 | - [openweathermap-fullfeatured](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/openweathermap-fullfeatured) a lot of weather information 135 | - [openweathermap-simple](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/openweathermap-simple) some weather information 136 | - [player-cmus](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/player-cmus) information about the current track (artist, title, position, duration) 137 | - [player-moc](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/player-moc) current song 138 | - [player-mpris-simple](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/player-mpris-simple) current track 139 | - [player-mpris-tail](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/player-mpris-tail) current track and the play-pause status 140 | - [player-mpv-tail](https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/player-mpv-tail) current music track or movie title from mpv 141 | - ... and many more (todo) 142 | 143 | ## Invidiual projects 144 | 145 | These are projects that contain only one fetch script or program, focusing on a particular piece of information. 146 | 147 | - [ansiweather](https://github.com/fcambus/ansiweather) Shell script for weather conditions 148 | - [backlight](https://github.com/baskerville/backlight) get and set backlight brightness (C) 149 | - [brightnessctl](https://github.com/Hummer12007/brightnessctl) get and set device brightness (C) 150 | - [ewmhstatus](https://github.com/baskerville/ewmhstatus) print current desktop name and window title (C) 151 | - [light](https://github.com/haikarainen/light) get and set backlights (C) 152 | - [pavolmon](https://github.com/everard/pavolmon) PulseAudio volume monitoring (C) 153 | - [playerctl](https://github.com/altdesktop/playerctl) control media players and query current track info (C) 154 | - [xkblayout-state](https://github.com/nonpop/xkblayout-state) XKB keyboard layout (C++) 155 | - [sres](https://github.com/baskerville/sres) print the current screen resolution (C) 156 | - [xtitle](https://github.com/baskerville/xtitle) print (active) X window ID or title (C) 157 | - [xtmon](https://github.com/vimist/xtmon) X window title monitoring (C) 158 | - [xwinfo](https://github.com/baskerville/xwinfo) print X window information (name, class, ID, size, etc) (C) 159 | 160 | # Buried in code 161 | 162 | These are projects that _contain_ scripts or pieces of code that can collect information, but aren't necessarily available as individual programs. It should still be possible to extract the relevant pieces of code, or at least use them as reference / inspiration. 163 | 164 | - [slstatus](https://github.com/drkhsh/slstatus) status monitor written in C; individual components in separate C files 165 | - [battery.c](https://github.com/drkhsh/slstatus/blob/master/components/battery.c) battery percentage/state/time left 166 | - [cpu.c](https://github.com/drkhsh/slstatus/blob/master/components/cpu.c) CPU usage / frequency 167 | - [datetime.c](https://github.com/drkhsh/slstatus/blob/master/components/datetime.c) date and time 168 | - [disk.c](https://github.com/drkhsh/slstatus/blob/master/components/disk.c) disk status (free storage, percentage, total storage and used storage) 169 | - [entropy.c](https://github.com/drkhsh/slstatus/blob/master/components/entropy.c) available entropy 170 | - [user.c](https://github.com/drkhsh/slstatus/blob/master/components/user.c) username/GID/UID 171 | - [hostname.c](https://github.com/drkhsh/slstatus/blob/master/components/hostname.c) hostname 172 | - [ip.c](https://github.com/drkhsh/slstatus/blob/master/components/ip.c) IP address (IPv4 and IPv6) 173 | - [kernel\_release.c](https://github.com/drkhsh/slstatus/blob/master/components/kernel_release.c) Kernel version 174 | - [keyboard\_indicators.c](https://github.com/drkhsh/slstatus/blob/master/components/keyboard_indicators.c) keyboard indicators 175 | - [keymap.c](https://github.com/drkhsh/slstatus/blob/master/components/keymap.c) keymap 176 | - [load\_avg.c](https://github.com/drkhsh/slstatus/blob/master/components/load_avg.c) load average 177 | - [netspeeds.c](https://github.com/drkhsh/slstatus/blob/master/components/netspeeds.c) network speeds (RX and TX) 178 | - [num\_files.c](https://github.com/drkhsh/slstatus/blob/master/components/num_files.c) number of files in a directory 179 | - [ram.c](https://github.com/drkhsh/slstatus/blob/master/components/ram.c) Memory status (free memory, percentage, total memory and used memory) 180 | - [run\_command.c](https://github.com/drkhsh/slstatus/blob/master/components/run_command.c) custom shell commands 181 | - [swap.c](https://github.com/drkhsh/slstatus/blob/master/components/swap.c) swap status (free swap, percentage, total swap and used swap) 182 | - [temperature.c](https://github.com/drkhsh/slstatus/blob/master/components/temperature.c) temperature 183 | - [uptime.c](https://github.com/drkhsh/slstatus/blob/master/components/uptime.c) uptime 184 | - [volume.c](https://github.com/drkhsh/slstatus/blob/master/components/volume.c) volume percentage (OSS/ALSA) 185 | - [wifi.c](https://github.com/drkhsh/slstatus/blob/master/components/wifi.c) WiFi signal percentage and ESSID 186 | 187 | ## Services 188 | 189 | These aren't actual programs, but online services that can be queried from scripts, programs or the command line, for example via `curl`, to obtain information. 190 | 191 | See [awesome-console-services](https://github.com/chubin/awesome-console-services) 192 | --------------------------------------------------------------------------------