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
Port cool-old-term to OSX #12
Comments
Sadly I don't have a Mac and nor any knowledge related to Homebrew... Anyhow did anyone tried if this is is working on OSX? |
I tried and got an error relating to KDE, I didn't delve into installing KDE on OSX. file:///Users/moss/code/cool-old-term/app/main.qml:26 module "org.kde.konsole" is not installed |
I believe this is inappropriate for homebrew. For OSX, the correct thing would be to package as an app, not as a command-line executable in /usr/local/ |
This software has absolutely no dependencies with KDE and the Konsole plugin is self contained. I will leave this thread open if we have any news on cool-old-term on OSX. The problem of packaging it will be relevant only afterward. |
I guess it's better to make a dmg instead, since installing qt and xcode on the machine will eat up to 10gb. A weekend project?! ;) |
the project isn't compiled currently on macos 10.9 qt 5.3.1 |
Hello, I am having the same errors as razum2um. Can anyone help please? :( |
when I compile it I get the exact same errors as razum2um |
Mac users can look at http://www.secretgeometry.com/apps/cathode/ while they wait. =) |
nice find ways. |
The same issues on OS X |
One of the problems is that setutent() is not supported on BSD platforms, such as OS X. So one must manually open _PATH_UTMP etc. instead of using setutent(), if I don't recall wrong. |
Look at the getutent()/setutent() routines in this file for example: http://ftp.ics.uci.edu/pub/centos0/ics-custom-build/BUILD/rsyslog-3.19.8/tools/omusrmsg.c |
Can the missing functions be added for compatibility? It seems to have worked for this project: https://trac.osgeo.org/qgis/ticket/2021 |
OK, I followed guitorri suggestion and I was able to compile everything. However, I could not pass through linking phase. I get the following error: Indeed, I can see there's the declaration of the method called "banana" (What the hell is that btw??) Actually, I know this is wrong but I did the following workaround: I simply put a dummy method banana in TerminalDisplay.cpp. Compiled again and it created the executable. The result is the file I attached. The terminal is all blurry, I can't read anything from it... Hope this helped you guys understand a little bit better what is missing. |
Nice @aacalfa ! |
Ahahah... When I experiment I sometimes use names of fruits that's definitely my bad!... It is really strange that this doesn't appear among the warnings in linux. Will fix that! |
Anyway what you see is a huge progress. The blurriness is due to the fact that the main terminal is not drawn, but only the bloom effect. This means that the terminal itself works so maybe the c++ side is fine but there is a problem with one of the shaders. Can you post the output of the application? |
Here are my changes: aacalfa@c612a1d The output is this: Using an unsupported variable-width font in the terminal. This may produce display errors. |
Ok good... Sadly I have no time right now. But open the file PreprocessedTerminal.qml and comment all the lines: format: ShaderEffectSource.Alpha (there should be three of them). |
It might be necessary to wrap the compatibility functions to avoid redefinition errors.
I'm getting Qt5 to see if I can help further... |
IT WORKED! Thanks Swordfish90. I just commented those 3 lines and here's the result!! I also pushed it to my version: d063e88 |
Soooo coool! Can't wait to build it. Nice job @aacalfa ! 👍 |
Thank you very much for your contribution @aacalfa ... In just a day we have a working version for OSX. Awesome! When you are done please make a pull request (without the workaround, this issue seems more hardware/opengl related, so it needs a proper fix) and I will happily integrate that. |
No problem @Swordifish90 , I am really happy that I could help you with that! I don't really get what you mean though. Without which workaround? I'll list everything I did: Which workarounds do you mean? |
|
Done :) |
Oh btw I see only one bug so far.As you can see from the last picture I uploaded, the terminal is not printing my current directory, it always print bash3.2$ |
No, all it does is creating a |
Yes |
hmm I built mine on 10.10 DP4 |
@vs37nx Where did you get |
yeah I did |
It seems that Turning on |
I used the latest commit from @aacalfa's repository. @vs37nx which patches did you use to work around the |
Scratch that, got it working! 🎆
.
|
@aacalfa I think that simply commenting flags won't be a good solution. Transparency should not work anymore (surely not under linux). Edit: I was wrong. Transparency works under linux even without flags. I think we are lucky enough and the solution is really to remove that line :D . |
@Swordifish90 haha yeah well it still works in OS X too! |
@LinusU With current master branch (#4a7e23), no need for steps 3, 4 and 5! Now it just works. Cannot resize or move the window though. This is a very nice, super cool old terminal 😎 |
@lwdallas You are welcome!... The missing topbar feature has been fixed but I've never pushed the patch. I will do that as soon as I can. Moreover you will be happy to know that I purchased a macbook pro to replace my old laptop. So, even though I'm mainly using ubuntu on it, I can now be an active part in the OSX port process. |
MacOSX appear to expect a different type of shell than Linux in general. To patch for MacOSX: This tells the designated shell to start with -i (interactive), and -l (login). ToDo: Add check to see if host is MacOSX and add the arguments dynamically on start if so (that or define during compile time). |
Update:
"/usr/bin/sw_vers" is a MacOSX specific tool for reporting the OS version on the command line, it should only exist on such systems, so testing for it's presence is a good indicator of the system type we're running on. (if you rename the file and restart the app then it will assume non-apple and start without appending "-i -l" to the shell.) |
Couldn't it be possible to use the |
Yes, and no, uname will return the kernel information such as what kernel are we running, nothing about the Distro. MacOSX: uname -a The Darwin kernel however is not MacOSX, as Darwin can and is used for other distros besides MacOSX. I do not know if other Darwin based operating systems experience this same issue with login shells or not. http://en.wikipedia.org/wiki/Darwin_(operating_system) I do not think "-l -i" would interfere with other Darwin derivatives either, but I would rather not blanket all Darwin kernel systems the same way without testing and knowing for the same reason I would rather not append "-l -i" to all linux shells even though it would work. Btw, the better way to define this is with compile time options to detect the OS and only enable the appends if the app was compiled (on/for?) MacOSX but I haven't tried that option yet. This is more of a hack to make it work when it should and not when it shouldn't for the time being. |
Yeah, you are right, uname does not include the OS, it is just a GNU extension that the uname command prints GNU/Linu.x. However, I'm always for selecting the OS at compile-time. |
@sirgatez Thank you for the suggestion. When I tested it I was forcing login with "login -f $USER" but this is way nicer. I agree that this should be decided at compile time and should not interfere with other OSs. |
thanks, it works! perhaps it should be noticed, that you must do "make install" but it would just copy console plugin in the right place, not touching the system |
Could somebody make a DMG please? I tried installing qt5 and gave up after 1.5 hours of ./make... Thank you in advance! |
Please, update to latest master branch |
Yesterday, a patch has landed in master which makes crt build under osx with minimal changes (We are talking about 10 lines of code). So I suggest everyone from now on to take it directly from master. I'll leave the branch open until we take the good part from it. |
We are talking about 10 lines of code. Which changes need? |
@miuirussia a78231e . Let's say that the previous solution was a little bit over-engineered :) |
Hello everyone I think this ticked can be close right now. With the RC1 OS X support is finally complete. https://github.com/Swordfish90/cool-retro-term/releases/tag/v1.0.0-RC1 (There is also a DMG file). Thank you very much for all the people who helped with the porting! |
On behalf of all MacOSX users - could you please add it to Homebrew?
Thanks!
The text was updated successfully, but these errors were encountered: