-
Notifications
You must be signed in to change notification settings - Fork 617
Conversation
Awesome, you have done a lot of work! I think we need some time to test compatibility with Windows and OS X becouse a lot of things changed. |
'watch', | ||
$.shell.task('PATH=node_modules/.bin:$PATH electron .') | ||
'clean', | ||
['typescript', 'sass', 'react'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is new usage for default task that makes watch task unused, should we delete it then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, you can use the watch task by running: gulp watch
, It's better to set by default the build task.
At the moment I removed $.shell.task('PATH=node_modules/.bin:$PATH electron .')
because this doesn't work on windows
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand but shell task don't added to gulp.watch so this may don't work on OS X
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right. I think for now I will do a simple check of platform, if the platform is darwin then the shell.task will be added. This until I found a better way or why doesn't work on windows 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use gulp-if for this, if you too busy with Windows compatibility I can do deeper research and implement functional that you said.
The last commit changes a lot of things, check it! Also I'm getting a strange TypeError: canBeDecorated(): boolean
Uncaught TypeError: (intermediate value).isApplicable is not a function File: Invocation.ts Line: 129 (Commented with FIX ME) The error says that can't check properly If the invocation can be decorated and also this produces a strange behavior and duplicates the command output but if I return false (canBeDecorated:false) it works fine... can you check this @ShockOne? Thanks! |
@iiegor, DecoratorList is an array of classes form dynamically loaded list of files. Likely, the loading doesn't happen properly on Windows. I suspect this line. https://github.com/shockone/black-screen/blob/master/src/decorators/List.ts#L18-L18 |
@iiegor, ping me when it's become ready for testing |
@G07cha 👌 I also added a simple argument to the packaging script, |
@@ -124,4 +172,4 @@ gulp.task('default', function () { | |||
'watch', | |||
$.shell.task('PATH=node_modules/.bin:$PATH electron .') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed!
That's all for OS X from me, I'll check on Windows in a few hours. |
Hey, @iiegor. Great job you've done here! However, I'm afraid that I'll review the rest of changes, but please update it against the latest master. |
@jerch |
@iiegor Thats in |
@jerch Yes, data.toString() outputs that code. |
@iiegor : Almost there :D Could you do it once with something like this: |
@jerch |
@iiegor Weird, it seems to be correct. Ill dig into this later. Thanks. |
@jerch please note that this branch uses version 1.0.2 of the parser. |
@ShockOne Yeah but this should not make any difference for the shown ANSI codes. Hmm I need to test this myself in windows -.- |
"preinstall": "npm prune", | ||
"install": "bower prune; bower install", | ||
"start": "gulp", | ||
"package-windows": "electron-packager ./dist \"Black Screen\" --prune --overwrite --platform=\"win32\" --arch=\"ia32\" --version=\"0.30.0\" --out=\"./.build\" --icon=\"./static/icon.icns\"", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I know Windows apps requires icons in .ico
format. Source.
Ok trying to get my hands dirty on the windows port. After switching to node v12 it compiles and |
Nope, all correct. Run |
It says: "Uncaught Error: Module did not self-register.", source: ATOM_SHELL_ASAR.js (137) Oh btw using Windows10 here. |
@jerch Follow this steps: This compiles the module as a native module. Edit: Tested on Windows 7 and Windows 10 |
Sweet its running. Thanks :) |
I was following the pty.js repo these days and today I created a PR that fix the errors when compiling on windows so if the PR is accepted the windows support is one step closer. I think must close this PR because contains changes that probably you don't want like the project restructuration, branch conflicts and other things I made... If you want I can create a new PR more clean with only the necessary changes. Dev binary: https://www.dropbox.com/s/mx9qblhsdc3jqkf/Black%20Screen-win32-ia32.zip?dl=0 |
@iiegor proposing the fix to the upstream repository is the right thing for sure. There are a lot of useful changes in this branch, it would be a pity if the effort you put into making them was for nothing. If you created a separate PR for each such change, it would be awesome. I know it's a lot to ask, so, if you don't feel like that, I'll do it myself, but then the commits won't be marked as made by you. :) |
@iiegor Seems I cant get anything out of the pty in black-screen/windows. Tried it with pty.js, pty2.js and partty, all keep silent within black-screen but work with direct node/javascript access. Even changed to x64 in between, same results. Also tried "printf"-debugging in Invocation.ts, the app dies as soon as the pty layer is involved. Changing the electron version didnt help either. Btw with the direct access of any of the ptys with a small node script the parser works as expected and handles the ANSI codes correct. Not much of a help yet but indicating that the problem derives from somewhere else. |
@iiegor With serveral changes I got it working at least up to the parser instructions:
Also I had to comment out serveral things, it seems my setup stops at random occasions (example: Parser::inst_p got a string like 'Volume in drive C: ...' but printed only 'Volum' in the output window - seems quite broken to me, maybe at react or electron level idk. Last tested with node v0.12, electron v0.30, ia32 and VS2010 and the original pty.js on Win10 |
@iiegor Ok I gave finally up with compiling it myself and played with your binary version. @stripAnsi: |
@jerch Sorry for the late response. It's awesome what you have done! @ShockOne I will do that when the PR (chjj/pty.js#133) is accepted 👌 |
@iiegor lmao, I didnt even notice that but got it too. It is related to the quickfix, with |
@iiegor What happened? |
@onbjerg download the actual source code, run |
Oh, sweet! Thanks @iiegor 💃 |
I still have build errors on Windows 10, is there something I should do to fix it?
|
woah, great work! Hope this eventually gets finished |
TODO:
Images:
Windows 7
Mac OS X El Capitán
This solves #24
Note: Don't merge, this is not ready yet!