But the approach hasn’t seen wide adoption, in part due to these shortcomings: 1. On the surface this approach looks great - with the benefits of a state-of-the-art browser engine, standard APIs, no extra dependencies and tools to create platform-specific installers, many of the previous problems are solved. This made a bit of a splash, as previous attempts to embed a browser in Java apps were either using a sub-par Java-based browser, or had crazy dependencies and complex setup.Ĭreating a JavaScript application using a JavaFX WebView has been done before. Java ships with a WebKit-based WebView for JavaFX. Taking an Electron-like approach to building such applications but with an emphasis on Java for the functional portion of the application could be a good choice in these cases. Many organizations have substantial functionality available in the form of Java libraries that they would like to reuse and the corresponding skills, infrastructure and methods to build and maintain application logic in Java. But building a JavaScript-only application isn’t for everyone, especially in cases where reuse of existing functionality is important. With numerous great choices for frameworks, skills commonly available, and unparalleled flexibility in styling, it’s hard to imagine choosing anything else as long as you don’t mind your app looking like a web application.Ĭreating applications with the likes of Electron or MacGap is nothing new - there are several successful such applications in widespread use, such as Slack, VisualStudio Code and WordPress Desktop. Web technologies (HTML, CSS and JavaScript) are arguably the best choice for a cross-platform UI in most situations. (Those instructions (from that readme.md) are for version 2.5.1, but I found with Slack version 3.1.0 that ssb-interop.js is actually the file that needs to be edited.) And in the " " URL I changed " /widget-/" to " /ViktorQvarfordt/", because personally I like that slightly different css better.Building cross-platform desktop applications usually means compromising on user experience, ease of development or both.īelow I detail the reasoning and trade-offs behind an approach that involves state of the art technologies and development methodology with fewer compromises. I copied the code from into that ssb-interop.js file. rw-r-r- 1 root wheel 2952 Apr 4 12:35 Contents/Resources//src/static/ssb-interop.jsīut I opened Finder, clicked Applications, right-click Slack, Show Package Contents, browse to Contents/Resources//src/static/ and then I edited the ssb-interop.js file. after all, because I found a way to edit a Slack *.js file:īefore I gave up when it looked like only root can edit the file: $ ls -l Contents/Resources//src/static/ssb-interop.js though it turns out that isn't needed, because I don't need to do step 3. I created the following on my Mac (so this env var is always exported).: $ cat /etc/nf UPDATE: fyi a co-worker helped me solve this: As you can see by the following screenshot, for the most part Slack looks good, except the name of the room is missing (where I have the red arrow pointing to the circled area).Īnd more importantly than the room name being invisible in that one spot, I'd be all ears if anyone has any ideas how I can automate this (so the dark theme remains in place even after re-starting the Slack app on my Mac).Īny suggestions would be greatly appreciated. I used the workaround described by this comment. I went through the 5 steps in this Theming-Slack-OSX.md file (for step 2. I don't have root nor sudo access on my Mac, so the solutions that involve editing a *.js file in /Applications/Slack.app/Contents/Resources/ aren't options for me.Ĭan someone please tell me is there any other option (that is known to be currently working)? I have the Slack app (Version 3.1.0) on my Mac. Using ajax rather than a dynamically injected, to account for sites (like ) that don't serve // a content-type for CSS files var cssURI = '' $.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |