Proting Notepad++ to Linux
-
I have been ghosting the forums for finding appropriate native support for Linux. As far as I can understand, the UI libraries are bottleneck in the relevant translation.
My question is: how much modularity coders introduced in the beginning with the UI system and how easy shall it be to switch to something like GEdit UI?
-
It was written as a win32 API, from the core, through and through. It was never intended to be anything else, and would cease to be Notepad++ if it was ever rewritten sufficiently to be able to be compiled natively on Linux.
If you want Notepad++, use the Wine interface.
-
And if you had read literally the first reply in that other topic, you would have already known the answer to your question.
-
Not necessarily!
If you wanna hide behind poor programming ethics BE my guest!! -
I am not the developer. I am a fellow user. I am not hiding anywhere. I am just telling you that the product was designed for Windows, using standard Win32 API, and that the decision was made about two decades ago that it would be a Windows-only project; none of the requests for a Linux version, over those twenty years, have ever convinced the developer to spend the effort to refactor the code.
If you don’t like that, it’s really not my problem.
-
Well I don’t understand, if you are not a dev and you are not familiar with programming(?), how in the world can you claim that product was exclusively(?) designed for Windows.
There are programs which use standard Win32 API, but are modular enough, so there BE a scope for other platform support (and precisely NOT in the way you might think, IMHO).
It is not about liking, anymore. It is about the right ethics for a developer using C++.
-
You have just as much legal right to the software as anyone else. So then the ethics would apply to you as well. We look forward to your future contributions.
-
@ravimohan1991 said in Proting Notepad++ to Linux:
Well I don’t understand, if you are not a dev and you are not familiar with programming(?), how in the world can you claim that product was exclusively(?) designed for Windows.
I just said, “I am not the developer”. I said nothing about my familiarity with programming. But since you made that false statement, I will clarify: I self-taught BASIC in the 80s, self-taught C in the early 90s during high school, had official C classes and self-taught Perl during college in the 90s, and I have been programming in C/C++, Perl, VBA, and a variety of proprietary programming languages for the last 25 years.
Now that I’ve given my programming C.V., I will claim that I know enough about programming in general to be able to make a reasonably-educated assessment. And I know enough about Win32 API programming to know that it’s a convoluted mess, and that I’m glad I don’t write in Win32 API for my day job. When I’ve looked at pieces of the Notepad++ source code, I can see that the Win32 API calls are embedded throughout, and not encapsulated/modularized, so I really don’t think it’s separatible at this point without refactoring the entire code base. And based on my reading of what the developer has written and expressed in this forum and elsewhere over the years, I am confident in my assessment that the intention for Notepad++ from the very beginning has been a Windows-targeted application, with no plans to ever support “native” versions on other, non-Windows, platforms.
If you think it is easy to refactor Notepad++ to work cross-platform, as @dail said, feel free to submit PR. Just understand that the Developer gets the final say as to what gets included in his application.
There are programs which use standard Win32 API, but are modular enough, so there BE a scope for other platform support (and precisely NOT in the way you might think, IMHO).
I didn’t say it was impossible to write Win32 API in a modular way to allow other platform support. I said that Notepad++ was designed for Windows, and implied that there was never any desire in the Developer’s mind, over the last 20 years, to make it cross-platform or support other platforms. I should have clarified this in my earlier post.
It is not about liking, anymore. It is about the right ethics for a developer using C++.
What platform you target is not a matter of ethics. It is a personal preference, and somewhat determined by skillset and history of the project. If you want to write things that are cross-platform: great, more power to you! If you want to contribute to Notepad++ in a way that moves it toward cross-platform: great, more power to you! If you want to moan and complain, I would ask that you move to the Boycott Notepad++ Category for further complaints.
-
@dail said in Proting Notepad++ to Linux:
You have just as much legal right to the software as anyone else. So then the ethics would apply to you as well. We look forward to your future contributions.
An excellent suggestion. Now that I have the ticket, let us watch what I might do with it!
-
The text editing engine of Notepad++ is Scintilla. It is cross platform and have you can use SciTE editor on Linux.
From the remaining code within Notepad++ 90% is GUI. Tightly coupled to Win32 API. There is no porting, a complete rewrite will be needed.
I guess you are some kind of Web developer who is used for a browser to do the rendering for him. Have fun starting a port project you will last 2-10 days.
-
@gstavi Sure I be the web developer!
Xd