-
-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REQUEST] Bring btop to windows? (Completed) #290
Comments
@m1karii Porting btop to a non POSIX operating system would require rewriting a lot of things from scratch, not only the system info collection code but things like threading, input and output. If I at some point got a week free and are bored, I might give it a go ;) |
@aristocratos you might be able to use b*top on WSL, that would eliminate the requirement of complete rewrite. |
@zampierilucas @m1karii But I've got it running :) |
So it's coming along... All collection is done + a separate view for Windows services and GPU stats for nvidia cards :) |
@aristocratos Well damn, that looks really good. I tried it in WSL yesterday, but wouldn't give me a lot of useful details. Do you have a working prototype we can try? What you posted in that screenshot looks really, really good. |
You do realize I brought this up before due to C++ being a platform agnostic language. Why should you need a separate project? Better coding practice would be to make the project portable for even Windows. There are plenty of projects that offer support for all major platforms. Take the terminal Contour for example, it's able to build and run on all 3 major OS and as a terminal utility, this project should be able to support terminals like Contour without need for a separate project. It's understandable if you're not familiar enough with C++ to write it in a portable way that even Windows can use and use IF statements for Windows specific API calls, you surely are doing something similar for Mac. I certainly don't have such familiarity but knowing it has been done and is pretty common should provide the motivation. It would of been easier if you had done this from the start but you will just need to do some refactoring so that you aren't relying as much on OS specific functionalities, which is always sub-optimal. |
@WSLUser
Btop++ was written with the aim of supporting linux, macos and freebsd, all posix compatible operating systems. Windows is not a posix compatible operating system which means alot of code needed to be changed. I do question your judgement as arbiter of "Better coding practice", since you don't seem to have a that much C++ experience or understanding of the btop++ code.
Because plenty of projects support "all major platforms", every other project should too?
I question the sanity of this logic.
There are some subtle clues in this thread, like my post above that proclaims that btop4win is almost done + the screenshots, that should in fact make it clear that btop4win (that would be the btop++ version for Windows) is almost done...
Writing alternate windows code for all posix centered code at the start would have been the same amount of work as doing it now, but instead of bloating the codebase with windows stuff, I'm writing it in it's own project to make it possible to just open the solution in Visual Studio and easily have all Windows dependencies available and directly compile it with msvc.
Sir, this is a system monitoring program. It should not be a shock that there is no generic functions for getting cpu percentages, disk usage, memory usage, temperatures, etc... And because Windows isn't posix compatible, the posix functions for terminal i/o (and others) that works on linux, macos and freebsd don't work on Windows. Honestly, I'm not quite sure what the aim with your post is? Regardless, btop4win will be released when I've got time and energy to pick it up again, probably within a month or so. |
The absolute entitlement of the poster above. It gets better each sentence 😄 my favorite part is
I am sure if @aristocratos ever feels unmotivated to work on
will provide enough motivation to carry on doing so. btw @aristocratos its easier to remember the dumb comments rather than positive/constructive ones personally I installed |
I second @kolpav - btop is an awesome tool @aristocratos, clearly made with love and attention to detail! |
@m1karii @andrey-zotov @kolpav @mortenmoulder |
Oh nice, you're the man @aristocratos ! |
Oh, good to know. Will likely rewrite based on LibreHardwareMonitor and try to add an intermediary dll that btop4win can directly import from, to get away from how I currently have implemented it. |
LHM has a built-in webserver which serves JSON with sensors data - it might be easier to pull values from it rather than integrating via dll (which I think not just a user mode dll, it injects a kernel driver to read sensors - that's why it needs elevation). |
@andrey-zotov Reading from the webserver would mean the need for adding netcode and json parsing, which i suspect would use a lot of cpu cycles. But running btop4win elevated would be the recommendation regardless, otherwise a lot of information for processes not owned by the user will be missing. |
Took you long enough @aristocratos. I assume you finally got motivated, picked up some good coding practices, read about if statements and got yourself familiar with C++. Jokes aside, cg on bringing |
Closing this since it's completed. Further ideas or discussions regarding btop4win should be redirected to https://github.com/aristocratos/btop4win Thanks everyone for the support ❤️ |
I know you closed this, but dude this is awesome work! Sometimes that just needs to be said. |
Do you still support at btop4win ? |
@aristocratos Thanks a lot for bringing this to Windows. But how to set the config file on Windows ?
|
TL;DR btop has nice UI and there isnt really any CLI resource monitor for windows
The text was updated successfully, but these errors were encountered: