<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slstatus/components/ram.c, branch master</title>
<subtitle>A custom configuration of the suckless status utility</subtitle>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/'/>
<entry>
<title>more concise memory calculation on Linux</title>
<updated>2025-07-24T20:41:25+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2025-07-24T20:41:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=8723e8b8c69c08bae8abe02ea1f4a49758b8bdfc'/>
<id>8723e8b8c69c08bae8abe02ea1f4a49758b8bdfc</id>
<content type='text'>
more flexible parsing for /proc/meminfo to take shared and reclaimable
memory into account. this matches the output with free(1).

additionally this could fix some corner cases, as the order of fields in
/proc/meminfo is not strictly defined.

slstatus:
percent 81% free 2.5 Gi total 23.4 Gi used 19.0 Gi

free(1):
               total        used        free      shared  buff/cache   available
Mem:            23Gi        19Gi       2.5Gi       1.3Gi       3.2Gi       3.6Gi
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
more flexible parsing for /proc/meminfo to take shared and reclaimable
memory into account. this matches the output with free(1).

additionally this could fix some corner cases, as the order of fields in
/proc/meminfo is not strictly defined.

slstatus:
percent 81% free 2.5 Gi total 23.4 Gi used 19.0 Gi

free(1):
               total        used        free      shared  buff/cache   available
Mem:            23Gi        19Gi       2.5Gi       1.3Gi       3.2Gi       3.6Gi
</pre>
</div>
</content>
</entry>
<entry>
<title>radical re-formatting 3/3: Error checks</title>
<updated>2022-10-27T23:03:46+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T22:21:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=cce2e5ecb05cdf68831fbf44c5ab90f4e16364b3'/>
<id>cce2e5ecb05cdf68831fbf44c5ab90f4e16364b3</id>
<content type='text'>
Check for `&lt; 0` instead of `== -1`.

Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check for `&lt; 0` instead of `== -1`.

Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</pre>
</div>
</content>
</entry>
<entry>
<title>radical re-formatting 2/3: Fix blocks</title>
<updated>2022-10-27T23:03:38+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T22:51:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=3251e911878b78b0aad8fc09c782f8d81c878f75'/>
<id>3251e911878b78b0aad8fc09c782f8d81c878f75</id>
<content type='text'>
Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</pre>
</div>
</content>
</entry>
<entry>
<title>radical re-formatting 0/3: Alphabetic headers</title>
<updated>2022-10-27T23:03:20+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T21:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=0696635bcbad06770cce7d5a4c9e8e4d76868307'/>
<id>0696635bcbad06770cce7d5a4c9e8e4d76868307</id>
<content type='text'>
Except stated otherwise in comment.

Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Except stated otherwise in comment.

Fixes coding style. Formatting commits suck, incoherent coding style
sucks more.
https://suckless.org/coding_style/
</pre>
</div>
</content>
</entry>
<entry>
<title>ram: Refactor on OpenBSD</title>
<updated>2022-10-27T23:03:20+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T22:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=826a5dc86202624b00ad2a51d781758a7f7ca1fa'/>
<id>826a5dc86202624b00ad2a51d781758a7f7ca1fa</id>
<content type='text'>
Fixes up overly complicated lines, by splitting up logic
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes up overly complicated lines, by splitting up logic
</pre>
</div>
</content>
</entry>
<entry>
<title>ram: Refactor Linux perc/used</title>
<updated>2022-10-27T23:03:20+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2022-10-27T22:11:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=d7ea986299db33e3bce7a8be742c1ecf32e9a76e'/>
<id>d7ea986299db33e3bce7a8be742c1ecf32e9a76e</id>
<content type='text'>
Fixes up overly complicated line, by splitting up logic
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes up overly complicated line, by splitting up logic
</pre>
</div>
</content>
</entry>
<entry>
<title>do not rely on obsolete feature</title>
<updated>2022-10-26T21:32:43+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2022-10-26T20:16:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=0c2b3e5b5c499b1de566fd4bef49c5e6b5254d1a'/>
<id>0c2b3e5b5c499b1de566fd4bef49c5e6b5254d1a</id>
<content type='text'>
function prototype with unspecified argument is obsolete since c99.

additionally some of these function which don't take any argument were
being called with a `const char *` arg, which is UB.

fix both these issues by declararing ALL the components to accept a
`const char *`, and name the arg "unused" if it's meant to be ignored.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
function prototype with unspecified argument is obsolete since c99.

additionally some of these function which don't take any argument were
being called with a `const char *` arg, which is UB.

fix both these issues by declararing ALL the components to accept a
`const char *`, and name the arg "unused" if it's meant to be ignored.
</pre>
</div>
</content>
</entry>
<entry>
<title>components/*.c: include slstatus.h</title>
<updated>2022-10-26T21:32:07+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2022-10-26T20:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=28ef0b242c32e8ae8b4df2b4b380e30bf581130f'/>
<id>28ef0b242c32e8ae8b4df2b4b380e30bf581130f</id>
<content type='text'>
this gives the compiler a chance to check weather the prototype and
definiton matches or not, which would catch issues like 3c47701.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this gives the compiler a chance to check weather the prototype and
definiton matches or not, which would catch issues like 3c47701.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix RAM component on FreeBSD</title>
<updated>2022-10-26T19:24:11+00:00</updated>
<author>
<name>michaelbuch12@gmail.com</name>
<email>michaelbuch12@gmail.com</email>
</author>
<published>2021-01-01T16:04:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=77bfb76a971ed8d114fc12db70d8bfeef923510e'/>
<id>77bfb76a971ed8d114fc12db70d8bfeef923510e</id>
<content type='text'>
The current implementation uses the wrong type for
given sysctl calls leading to overflow and incorrectly
reported RAM usage. The fix is to use 'unsigned int'
which is what FreeBSD expects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current implementation uses the wrong type for
given sysctl calls leading to overflow and incorrectly
reported RAM usage. The fix is to use 'unsigned int'
which is what FreeBSD expects.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ram and swap components on FreeBSD</title>
<updated>2019-02-16T15:58:34+00:00</updated>
<author>
<name>Michael Buch</name>
<email>michaelbuch12@gmail.com</email>
</author>
<published>2019-02-16T01:26:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sobczak.family/slstatus/commit/?id=a1ac203d16c379d7fc05765545af2977a7a3584d'/>
<id>a1ac203d16c379d7fc05765545af2977a7a3584d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
