Package Details: typora 0.9.65-1

Git Clone URL: (read-only)
Package Base: typora
Description: Typora will give you a seamless experience as both a reader and a writer.
Upstream URL:
Keywords: markdown
Licenses: custom:"Copyright (c) 2015 Abner Lee All Rights Reserved."
Submitter: duckbrain
Maintainer: duckbrain
Last Packager: duckbrain
Votes: 55
Popularity: 3.737753
First Submitted: 2016-09-28 06:28
Last Updated: 2019-02-19 04:27

Latest Comments

1 2 3 4 5 Next › Last »

JohnRobson commented on 2019-03-11 22:55

@duckbrain thank you very much! you are right, this is the latest version.

duckbrain commented on 2019-03-09 17:24

@JohnRobson Where are you seeing that? It's already at 0.9.65? doesn't make any sense. Also, you don't need to post a comment when you flag it as out of date. I get an email for each.

irgendwr commented on 2018-11-03 20:05

@duckbrain wow, that was really quick and solved it. Thanks!

duckbrain commented on 2018-11-03 19:55

@irgendwr Yeah, it's causing more problems than it solves. I reverted back to the binary release.

irgendwr commented on 2018-11-03 19:25

@duckbrain >I prefer having the electron dependency, unless it causes a problem.

Using the electron dependency is currently causing a problem since typora is bundled with and depends on electron 3.x while the electron dependency here is on 2.x. See and

Can you at least temporarily use the bundled electron until 3.x is available to fix the issues?

rocka commented on 2018-10-03 13:51

Good to know that changes, but I found 2 new questions:

  1. app configuration path has been changed to ~/.config/Electron, not ~/.config/Typora, because electron did not start with a package.json file. We can use electron's app.setPath() to override it;

  2. the app version in 'Help -> About' displays version of electron, not Typora. We can also override it with the version name from package.json file.

Here was the changed typora.js:


const { join } = require('path');
const { app } = require('electron');
const APP_DIR = '/usr/share/typora/';
const conf = require(APP_DIR + 'package.json');

app.setPath('userData', join(app.getPath('appData'),;
app.getVersion = () => conf.version;

require(APP_DIR + conf.main);

duckbrain commented on 2018-10-03 03:45

@rocka, I used your idea, but without patching the Typora code. My entrypoint is a JavaScript file with electron in the hash-bang, that just immediately removes the extra arg and runs the normal code. It seems to work.

Let me know if there are any other issues with the new system electron package.

rocka commented on 2018-09-26 13:03

Finally I figured out how to keep the featrue "On Launch - Restore last closed files and folders" functionality with system electron. Just patch the .js files.

When typora is launched with bundled electron, it's process.argv equals to ["/usr/share/typora/Typora", "/path/to/file"]. But if it was launched with system electron, it changes to ["/usr/lib/electron/electron", "/path/to/typora", "/path/to/file"], so it would just restore typora folder every times.

Let me show the PKGBUILD and patch:

pkgdesc="Typora will give you a seamless experience as both a reader and a writer."
license=('custom:"Copyright (c) 2015 Abner Lee All Rights Reserved."')
depends=('gconf' 'libxss' 'electron')
optdepends=('noto-fonts-emoji: Or some other emoji font to see emojis')

package() {
    mkdir -p "$_src"
    bsdtar -xf data.tar.xz -C "$_src/"

    sed -i '/Change Log/d' "$_src/usr/share/applications/typora.desktop"

    asar e "$_src/usr/share/typora/resources/app/atom.asar" "$_src/usr/share/typora/resources/app/atom"
    patch "$_src/usr/share/typora/resources/app/atom/atom.js" "$srcdir/atom.js.diff"
    asar p "$_src/usr/share/typora/resources/app/atom" "$_src/usr/share/typora/resources/app/atom.asar"
    rm -r "$_src/usr/share/typora/resources/app/atom"

    install -Dm644 "$_src/usr/share/applications/typora.desktop" "$pkgdir/usr/share/applications/typora.desktop"
    install -Dm644 "$_src/usr/share/doc/typora/copyright" "$pkgdir/usr/share/doc/typora/copyright"
    install -Dm755 "$srcdir/" "$pkgdir/usr/bin/typora"

    cp -r "$_src/usr/share/icons" "$pkgdir/usr/share/icons"
    cp -r "$_src/usr/share/typora/resources/app" "$pkgdir/usr/share/typora"

exec /usr/bin/electron /usr/share/typora $@


--- atom.js 2018-09-26 20:48:45.760765096 +0800
+++ atom.1.js   2018-09-26 20:46:57.989992178 +0800
@@ -60,6 +60,9 @@

 function getFilePath(argv, workingDirectory) {
     var path;
+    if (argv[0].endsWith('electron')) {
+        argv.shift();
+    }
     if (argv.length > 1) {
         path = argv[argv.length - 1];

arch440 commented on 2018-08-24 08:07

That makes sense, I was suggesting it because I noticed a regression/change when keeping the electron dependency: the preference "On Launch - Restore last closed files and folders" is not working anymore, and it always opens in the system Typora folder /usr/share/typora/. This was working before.

duckbrain commented on 2018-08-21 23:20

I prefer having the electron dependency, unless it causes a problem. It makes the package much smaller (44038772 to 8509788 bytes) and prevents having these types of issues in the future.