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