Commit Graph

56 Commits

Author SHA1 Message Date
0f39c31884 Add partial support for Mac, Guix, improve Windows OS detection
This commit adds detection of the current OSX or macOS version.

It also adds support for non-standard Guix SD Linux distribution.

Windows OS detection is improved, with a separation of the name of the
version of Windows and its build number, the latter is treated as the
kernel version of Windows.
2021-05-22 03:59:08 +02:00
f5b5ebccc7 Preliminary rewrite of OS detection 2021-05-22 01:29:12 +02:00
e78aaa41f9 Handle case where battery is incorrectly detected
On my Windows VM, `battery' reported a battery as present but with a
charge of `N/A' percents. This commit handle this case as no battery
present.
2021-05-22 01:25:42 +02:00
be0c8859d6 Simpler way of getting the kernel name 2021-05-22 00:31:11 +02:00
964d4bfe4c Make uptime detection more portable 2021-05-22 00:20:46 +02:00
84294cb12c Code formatting, version revision bump
Making shorter lines
2021-05-22 00:20:35 +02:00
Juergen Hoetzel
285fd95b8b Fix void-variable error: partitions 2021-05-21 21:13:35 +02:00
e9136b77cd Better regex for battery level detection
Detect the battery level, whether or not it is followed by decimals
2021-05-21 21:12:27 +02:00
763d459a9e Make eshell-info-banner more portable
Memory detection and partition detection now relies of the operating
system detection of Emacs to know whether it can run or not. Also,
this is cleaning up a lot the function `eshell-info-banner', and I
think I will continue cleaning it up even more in the future.
2021-05-17 17:58:37 +02:00
a3e6aebac3 Reorganize comments, add page breaks, swap from variable to function
Old one-line comments that used to separate parts of the file are now
on three lines, while one-line comments are a sort of subsection of
these new big sections.

Page breaks will make it easier to navigate the code source.

Variable `system-name' is obsolete and is replaced by a function with
the same name.
2021-05-17 17:42:44 +02:00
1b06956235 Mark custom variables with :safe option 2021-05-17 17:14:43 +02:00
6463265938 Merge branch 'main' of github.com:Phundrak/eshell-info-banner.el 2021-05-15 21:04:37 +02:00
6ea9c74a4e Remove paragraph on upcoming changes already made 2021-05-15 21:03:23 +02:00
7ddb41ed3e Merge pull request #8 from juergenhoetzel/leverage-reduce
Leverage -reduce-from function
2021-05-15 21:00:25 +02:00
e3b230f881 Bump version 2021-05-15 20:56:47 +02:00
94ebf5b5cc README formatting fix 2021-05-15 20:40:55 +02:00
e7092c5846 Customize which partitions to show, close #9
New variable `eshell-info-banner-partition-prefixes' now allows for
finer filtering of user partitions.
2021-05-15 20:35:22 +02:00
624256442f Fix documentation formatting 2021-05-15 20:34:17 +02:00
Juergen Hoetzel
468167e356 Leverage -reduce-from function
Use the high order function -reduce-from instead of reimplementing a
specialiced reduce function to go get the longest path length.
2021-05-15 14:29:43 +02:00
999f170337 README update
Update information on OS support

Add information on new custom variable
2021-05-14 10:33:07 +02:00
c2c7093c58 Merge pull request #7 from juergenhoetzel/tramp
Use tramp aware functions and paths
2021-05-14 10:24:57 +02:00
Juergen Hoetzel
8ea35d0d20 Use tramp aware functions and paths
Add new custom variable eshell-info-banner-tramp-aware to configure
tramp awareness.

Fixes invalid (localhost) infos for hostname and os-relase when using
Eshell on remote hosts.
2021-05-08 13:41:41 +02:00
6217784057 Merge pull request #6 from bkaestner/main
Add Windows version detection
2021-05-07 15:19:06 +02:00
Benjamin Kästner
e6a0dabe9a os: Add Windows detection
The Windows registry key "CurrentVersion" contains both "ProductName"
as well as "BuildLab" to identify the currently running Windows
variant.

As all returned `reg` lines are either values

   name REG_<TYPE> value

or the list of subkeys, we can just use a regular expression to filter
the values from the input.

For a more generic variant, see Ashraz code on the Discord.

See also #4 for more progress on all OS detections.
2021-05-02 21:32:23 +02:00
5841c7f711 Remove leftover from debugging 2021-05-02 18:15:09 +02:00
bb7cf0eab4 Merge pull request #5 from juergenhoetzel/locale
Use C locale for external processes to prevent parsing issues
2021-05-02 18:14:17 +02:00
b5f6d66578 Add gitignore 2021-05-02 17:59:32 +02:00
2ed6b68d1a Bump version, add Github link 2021-05-02 17:57:35 +02:00
Juergen Hoetzel
08f16efde7 Use C locale for external processes to prevent parsing issues 2021-05-02 16:28:22 +02:00
3ebb3a65fe Merge pull request #2 from bkaestner/main
Use alternatives for /etc/os-release
2021-05-02 14:02:01 +02:00
Benjamin Kästner
3ac03293a9 os: Remove fall-back on function argument
As `release-file` is used only once in the function, we don't need to
set its default value via `setq' if it is `nil`.
2021-05-01 23:46:56 +02:00
Benjamin Kästner
c432776b95 os: Check for programs/files instead of ignoring errors 2021-05-01 17:48:15 +02:00
1c3c31ace7 Merge pull request #3 from juergenhoetzel/undefine-funtions
Replace undefined functions length= and length> with Emacs builtins
2021-05-01 15:34:46 +02:00
Juergen Hoetzel
1fdf0b0c0a Replace undefined functions length= and length> with Emacs builtins 2021-05-01 14:04:53 +02:00
Benjamin Kästner
9ccd234a3d os: search in temporary buffer instead of string
Instead of filtering all lines for `PRETTY_LINE` and then replace the
line with only the quoted contents, `re-serach-forward` (or -backward)
provide a `match-*` interface. That way we can work solely inside the
buffer and return only the matching string part.
2021-05-01 12:47:29 +02:00
Benjamin Kästner
f4734014ac Provide more operating system identification methods
While `/etc/os-release` is usually available on Linux systems, it
might be missing on distribution that don't follow that convention.

For those distributions, the commands `hostnamectl` (from systemd) and
`lsb_release` might provide an alternative. Unfortunately, those
commands might also be missing as well as `/etc/os-release`, so the
newly introduced `eshell-info-banner--get-os-information` function
falls back to the string "Unknown" (and should never fail).

Fixes #1.
2021-05-01 12:46:25 +02:00
6ad83f2a0d Bump package version, add upcoming changes in README
I forgot to bump the package version in the previous commits orz
2021-04-30 16:59:42 +02:00
1b7ed9e9c8 Add battery level to header 2021-04-29 23:59:56 +02:00
7054b08123 Some more instructions on customization 2021-04-29 23:05:31 +02:00
77f90dd35e Update screenshot to fixed version of package 2021-04-29 22:03:17 +02:00
eaddd07e87 Fix shortening paths 2021-04-29 22:00:54 +02:00
ba99c6cfa7 Fix README’s headings 2021-04-29 21:58:20 +02:00
d780c3ffde Add README 2021-04-29 21:57:30 +02:00
872bee6a9f Add GPL-3.0 License 2021-04-29 21:57:19 +02:00
4f34968363 Remove unused variable, fix default values, add autoload 2021-04-29 21:56:53 +02:00
0974464af2 Fix package requirements 2021-04-29 21:56:30 +02:00
ccb4bf0c36 Add autoload, banner updater and correct require 2021-04-29 20:07:16 +02:00
3d3e2b3bbe Display of memory and partitions added!
FIXME: Wrong face used, warning instead of critical
2021-04-29 20:03:02 +02:00
4b592a1f9e Preliminary banner written, rest should be written easily
Ensures there will always be space for OS, kernel, uptime and hostname
information. Padding works well.

Now, I need to work on the progress bars with the memory and the
partitions.

I might add later a bar for the battery.
2021-04-29 19:42:18 +02:00
f6caf18f19 Actually respect user’s choice of percentages 2021-04-29 14:19:24 +02:00