Giter Site home page Giter Site logo

mstdn's Introduction

Web-based Desktop Client for Mastodon

npm version

Mstdn is a desktop application based on the mobile version of the Mastodon page and the Electron framework. It basically uses Mastodon's mobile page and provides various desktop application features (such as desktop notifications, keybindings, and multi-account support).

screen shot

Features:

  • Small window on your menubar (or isolated normal window)
  • Desktop notification
  • Customizable (and pluggable) shortcut keybinds
  • Multi-account (switching among accounts)
  • User CSS
  • Plugin architecture based on Node.js and Electron APIs

Mastodon is an open source project. So if you want to make a new UI, you can just fork the project, implement your favorite UI and host it on your place. Then you can participate Mastodon networks from it.

However, Mastodon is a web application. So we can't use it outside of a browser. This small tool provides the ability to use the Mastodon page in a desktop application window outside of a browser.

Installation

Via npm

$ npm install -g mstdn

Via yarn

$ yarn global add mstdn --prefix /usr/local

As an isolated app

Download a package archive from the Release page, put the unarchived app into the proper place, and open it.

Arch Linux (AUR)

Install the mstdn package from the AUR.

Usage

If you installed this app via npm or yarn, the following command is available to start app:

$ open-mstdn-app

At first, a dialog which recommends that you create a config is shown and JSON config file will be opened in your editor. You need to fill in the "name" and "host" keys in first element of "accounts". Please see the accounts section below for more information about how to configure the option.

Then please try to start app again. Usage is the same as web client on mobile devices. Some shortcuts are available by default (please see the 'Customization' section below).

Supported platforms are macOS (confirmed with 10.12), Linux (confirmed on Arch Linux kernel version 4.11) and Windows (confirmed with Windows 8.1).

There are two window modes in this app: 'menubar mode' and 'normal window mode'. You can switch them with "normal_window" option (please see below 'Customization' section for how to configure it).

  • menubar mode: Window is attached to the menubar. You can toggle the window by clicking the menubar icon or typing the hot key. The advantage of this mode is that the app does not fill any workspaces. You can see your timeline on demand anytime. Like as menus in menubar on macOS, menubar window is automatically hidden when it loses its focus. This mode is the default on macOS and Linux.
  • normal window mode: App starts with a normal window like a separated browser window. You can put/resize window wherever you would like in your workspace.

In both modes, the app remembers the size and location of its window. So you need to specify window size (or location in normal window mode) only once.

After starting the app, you would see the login page of your instance. Some instances allow to login with other web services. However, Mstdn.app cannot fully support it. If you encounter problems with a customized login feature, please try to login with normal flow instead.

Customization

Mstdn can be customized using the JSON config file at {app dir}/config.json

The {app dir} is:

  • ~/Library/Application\ Support/Mstdn for macOS
  • ~/.config/Mstdn for Linux
  • %APPDATA%\Mstdn for Windows.

The JSON file can contain the following key-values:

hot_key

hot_key is a key sequence to toggle application window. The shortcut key is defined globally. The format is an Electron's accelerator. Please see the document to know how to configure this value. Default value is "CmdOrCtrl+Shift+Enter". If you want to disable, please set this value to an empty string or null.

icon_color

The color of icon in menubar. "black" or "white" can be specified.

always_on_top

When this value is set to true, the window won't be hidden if it loses a focus. Default value is false.

normal_window

When this value is set to true, application will be launched as a normal window application. If the menu bar behavior does not work for you, please set this value to true to avoid it. Default value is false on macOS or Linux, true on Windows because window position is broken in some versions of Windows.

hide_menu

When this value is set to true, the application will be launched with the menubar hidden, assuming normal_window is also true. When set to false, the menubar will be visible on launch. Default value is false.

On Windows, typing Alt key shows the hidden menubar.

zoom_factor

Font zoom factor in application. It should be positive number. For example, 0.7 means 70% font zooming. Default font size is a bit bigger because the UI is originally for mobile devices. So default value is 0.9.

accounts

Array of your accounts. Each element should have "name", "host" and "default_page" keys.

  • "name" represents your screen name. If your name is @foo then please specify "foo" for it.

  • "host" represents a host part of URL of your mastodon instance. If you belong to https://mastodon.social, please specify mastodon.social. https:// is not necessary.

  • "default_page" is a path of the first shown page on app start. If /web/notifications is specified, https://{your host}/web/notifications will be opened when the app starts.

You need to write up this config at first.

chromium_sandbox

If true is specified, Chromium's native sandbox is enabled (and default value is true). Sandbox provides some OS level security protection such as resource access control like tabs in Chromium. However, sandbox also blocks plugins for Electron application.

If false is specified, you can use some advanced features (user CSS and key shortcut plugin). Before setting false to this value, please read and understand sandbox documentation in Electron repo to know what you're doing.

Please note that this sandbox feature is different from Node.js integration in Electron. Node.js integration is always disabled.

keymaps

Object whose key is a key sequence and whose value is an action name.

Action Name Description Default Key
scroll-down Scroll down window j
scroll-up Scroll up window k
scroll-top Scroll up to top of window i
scroll-bottom Scroll down to bottom of window m
next-account Switch to next account N/A
prev-account Switch to previous account N/A
open-in-browser Open current page in browser N/A

If an action name starts with /, it will navigate to the path. For example, if you set "/web/timelines/home" to some key shortcut and you input the key, browser will navigate page to https://{your host}/web/timelines/home.

Below is a default path actions. They are corresponding the position of tab items.

Path Description Default Key
/web/statuses/new Move to 'make a new toot' page 1
/web/timelines/home Move to 'home timeline' page 2
/web/notifications Move to 'notifications' page 3
/web/timelines/public/local Move to 'local timeline' page 4
/web/timelines/public Move to 'federated timeline' page 5
/web/getting-started Move to 'getting started' page 6

If an action name ends with .js, it will run key shortcut plugin (please see below 'Key Shortcut Plugin' section). This plugin feature requires "chromium_sandbox": true.

By default, some key shortcuts for tab items are set in addition to above table.

Example of configuration

{
  "hot_key": "F8",
  "icon_color": "black",
  "always_on_top": false,
  "normal_window": false,
  "zoom_factor": 0.9,
  "chromium_sandbox": true,
  "accounts": [
    {
      "name": "Linda_pp",
      "host": "mstdn.jp",
      "default_page": "/web/timelines/home"
    },
    {
      "name": "inudog",
      "host": "mastodon.social",
      "default_page": "/web/timelines/home"
    }
  ],
  "keymaps": {
    "1": "/web/statuses/new",
    "2": "/web/timelines/home",
    "3": "/web/notifications",
    "4": "/web/timelines/public/local",
    "5": "/web/timelines/public",
    "6": "/web/getting-started",
    "ctrl+1": "/web/statuses/new",
    "ctrl+2": "/web/timelines/home",
    "ctrl+3": "/web/notifications",
    "ctrl+4": "/web/timelines/public/local",
    "ctrl+5": "/web/timelines/public",
    "ctrl+6": "/web/getting-started",
    "j": "scroll-down",
    "k": "scroll-up",
    "i": "scroll-top",
    "m": "scroll-bottom",
    "n": "next-account",
    "p": "prev-account"
  }
}

Multi account

If you add multiple accounts to the accounts array in config.json, an Accounts menu item will appear in the application menu.

multi account menu item

It will show the list of your accounts. The check mark indicates the current user. When you click menu item of non-current user, application window will be recreated and switch page to the account.

Key Shortcut Plugin

By specifying JavaScript file to action name in keymaps of config.json, you can write your favorite behavior with JavaScript directly. Please note that "chromium_sandbox" : true is also required (if you don't know what happens with "chromium_sandbox" : true, please read the above config section).

{
    ...

    "chromium_sandbox": false,

    ...

    "keymaps": {
        "r": "hello.js"
    }
}

The script file path is a relative path from your Mstdn application directory. For example, Specifying hello.js will run /Users/You/Application Support/Mstdn/hello.js on Mac.

The plugin script MUST export one function. The function receives a configuration object and the current account object as its parameters. So the above hello.js would look like:

module.exports = function (config, account) {
    alert('Hello, ' + account.name);
}

With above example config, typing r will show 'Hello, {your name}' alert dialog. You can use any DOM APIs, Node.js's standard libraries and Electron APIs in a plugin script.

User CSS

When user.css is put in your Mstdn application directory, it will be loaded automatically. To enable this feature, "chromium_sandbox" : true is also required (if you don't know what happens with "chromium_sandbox" : true, please read the above config section).

For example, the below /Users/You/Application Support/Mstdn/user.css will change font color to red on Mac.

body {
  color: red !important;
}

Plugin (experimental)

You can make a Node.js package which is run inner mastodon page.

Plugin is enabled if chromium_sandbox option is set to false. Please read above configuration section before using any plugin.

How to make a plugin

Create a node_modules directory in your application directory at first. And then, please make mstdn-plugin-hello directory. It consists a node package.

The package name must start with mastdn-plugin-.

Make package.json manually or by $ npm init in the directory.

{
  "name": "mstdn-plugin-hello",
  "version": "0.0.0",
  "description": "Sample plugin of Mstdn.app",
  "main": "index.js",
  "author": "Your name",
  "license": "Some license"
}

And make index.js as below:

module.exports = {
    preload(config, account) {
        console.log('Hello from plugin!', config, account);
    }
};

Each package must export one object. If the object has a function as a value of preload key, it will be called when the page is being loaded. The function receives two parameters config and account.

By defining keymaps key you can define plugin-defined key shortcut action.

module.exports = {
    preload(config, account) {
        console.log('Hello from plugin!', config, account);
    },
    keymaps: {
        'alert-hello'(event, config, account) {
            event.preventDefault();
            alert('Hello, ' + account.name);
        }
    }
};

The keymaps object has keymap action name (key) and its handler (value). Here 'alert-hello' key shortcut action is defined. Key shortcut handler takes 3 arguments. config and account is the same as preload's. event is a KeyboardEvent browser event on the key shortcut being called. You can cancel default event behavior using the .preventDefault() method.

User can specify the key shortcut as plugin:{plugin name}:{action name}. In above example, plugin:hello:alert-hello is available in keymaps section in config.json.

Note that you can use below APIs in the script.

!!! Security Notice !!!

Do not leak Node.js stuff to global namespace like below.

// Never do things like this!
window.my_require = require;

How to use

If you didn't try above 'How to make' section, please install plugin package at first. Below will install 'hello' plugin to {app directory}/node_modules/mstdn-plugin-hello.

$ cd {Your application directory}
$ npm install mstdn-plugin-hello

And then write what plugin should be loaded to "plugins" section of your account in config.json. "hello" should be added to the list. If listed plugin defines some keymaps, you can specify it in keymaps section with plugin:{name}:{action} format.

{
    ...

    "accounts": [
        {
            ...

            "plugins": [
                "hello"
            ]
        }
    ],
    "keymaps": {
        ...

        "ctrl+h": "plugin:hello:alert-hello"
    },

    ...
}

Note that you can enable different plugin for each your accounts.

Finally open Mstdn.app and open the DevTools via [Menu] -> [View] -> [Developper Tools] -> console. If window is too small to see DevTools, please make window size bigger.

In the developer console, the message 'Hello from plugin!', config information and account information should be output.

List of Plugins

To be made

How to Debug

By setting NODE_ENV environment variable to development, Mstdn will start in debug mode.

In debug mode, app outputs all logs to stdout and opens DevTools for a page rendered in a window automatically. You can also see logs in 'console' tab of DevTools for debugging renderer process.

# If you installed this app via npm or yarn
$ NODE_ENV=development open-mstdn-app

# Package on macOS
$ NODE_ENV=development /path/to/Mstdn.app/Contents/MacOS/Mstdn

# Package on Linux
$ NODE_ENV=development /path/to/Mstdn-linux-xxx-x.y.z/Mstdn

# Package on cmd.exe on Windows
$ set NODE_ENV=development
$ \path\to\Mstdn-win32-xxx-x.y.z\Mstdn.exe

Contact to the Author

Please feel free to create an issue on GitHub or mention me on Mastodon/Twitter.

mstdn's People

Contributors

algernon avatar nicexe avatar rhysd avatar sumnerevans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mstdn's Issues

Mouse keys don't work

  • Your OS: Windows 8.1
  • App version: latest

I am not sure if it is a missing feature or a bug. My mouse keys for "back and forward" do not work in the app. However it works perfectly fine for mastodon when using chrome or firefox.

Display problems in Kubuntu 16.04 64bit

On initial launch, all I got was a white windows (no title, border or menu).

After going into "config.json" and setting "normal_window": true, it gained the border, title and menu; but that was all. Where I expected to see the my account was just white. I don't get to see a login prompt or anything.

I don't think I missed a set-up step, but I guess it is possible.

I installed from the 0.2.2 from the Linux 64bit .zip here https://github.com/rhysd/Mstdn/releases

blank

Add Snap package

Could you provide a snap for easy cross-platform installation and release it here on GitHub?

A context menu would be incredibly useful

By default, Electron provides no context menu on right-clicking. Yet, it would be incredibly useful in Mstdn, if I could right click on a link, and copy the URL, instead of having to click on it, wait for it to open in a browser, and copy the URL.

The electron-context-menu package can be of great help in this. I tried to prepare a patch, but my TypeScript knowledge is far too weak for it, it seems.

Local or federated timeline is not loaded after startup

  • Your OS: Win10 Pro
  • App version: 0.2.5

Immediately after startup, the home TL is displayed, but the part where local or federation is displayed is not read.
React progress bar at the top of the screen stops without stretching to the end.

In this state, move once to the setting screen, return again, and click on local or federation will make it display well.
this state, when switching to local or federation view by custom CSS without switching to the setting screen, it will be displayed, but it may become unresponsive after the subsequent image preview etc.
It seems to occur on instances of version 1.4 and higher.

Cannot close application

  • Your OS: Ubuntu 16.04
  • App version: v0.2.6

I don't see any option to close the application, I shut it down using gnome-sytem-monitor / pkill option. Is there any more "polite" way to do it?

Menu bar not working correctly with Dash to Panel in GNOME

  • Your OS: Fedora 27 (4.14.18-300.fc27.x86_64 from running uname -r)
  • App version: 0.2.6

Note:

  • Steps to reproduce the issue:

    1. Install the "Dash to Panel" extension for GNOME Shell (and TopIcons-Plus, to restore system tray icons).
    2. Install Mstdn and configure normally.
  • What exactly happens:
    Imgur

    • The app will work normally and will display Mastodon content just fine. However, the app seems to get confused as to where exactly the system tray icon is. I installed the Dash to Panel and TopIcons-Plus extensions to GNOME Shell, which places itself on the bottom of the screen. However, I assume that Mstdn is not taking note of that and it is still thinking that the GNOME panel is up at the top, forcing itself to inhabit the upper right-hand corner of the screen.
    • Switching to windowed mode remedies it, but it's not a permanent solution that works as the icon in the system tray will disappear.

Add spellcheck

Feature request: add spellcheck while typing. Also, add options to change default language (so it won't be only locale-based).

Config management

Currently we need to write up configuration directly in JSON file. However, in some cases, it's hard.

  • Some environment doesn't have good UTF-8 text editor by default (e.g. Notepad on Windows, 'start quote' feature with TextEdit.app on Mac)
  • Some people don't know JSON format
  • At first login, app needs to restart

So it's better to add config window rather than writing JSON file directly. I'll try json-editor to add UI with maintaining current JSON format.

https://github.com/jdorn/json-editor

Related issue: #3

Multiple windows/instances?

  • Your OS: macOS 10.12.6
  • App version: 0.2.6 (0.2.6)

A Servers pane like Discord/Slack or multi-window functionality (one window per server) would be great in order to more easily keep up with several instances.

How it looks in Discord:

image

Cannot invoke open-mstdn-app after Yarn installation

  • Your OS: Ubuntu 17.04
  • App version: Latest (via Yarn)

Steps to reproduce:

  • Install Yarn on Ubuntu
  • Install mstdn with yarn global add mstdn --prefix /usr/local (failed)
  • Install mstdn with sudo yarn global add mstdn --prefix /usr/local (worked)
  • Invoke open-mstdn-app

What should happen:

  • mstdn starts

What happens instead:

  • open-mstdn-app: command not found

Notes:

  • I found open-mstdn-app in ~/.config/yarn/global/node_modules/.bin but if I invoke ./open-mstdn-app from there I get: /usr/bin/env: ‘node’: No such file or directory
  • Are you considering other packaging options (deb, flatpak, snappy)?

Flatpak package

Would you please provide a Flatpak version, so that Mstdn could be installed and stay up-to-date on all Linuxes with ease? :)

Default hotkey is same as default "save as" action...

I am running Mstdn on OS X El Capitan 10.11.6 and it really works well. This issue is about what the config.json defaults to for the hotkey. It is ctrlorcmd-shift-s which I think mostly interferes with "save as" in most applications on most operating systems.

Would it be better to use a "blank" value, or try to find one which isn't really used for much else (at least not across pretty much any application using default keybindings).

Hotkey to switch between full window and docked

  • Your OS: macOS 10.13
  • App version: 0.2.6

Note:
Set a hotkey to toggle the position of the app window, either in the menubar or full screen.

Allowing the user to toggle the window view would improve the desktop experience. Here's a really rough implementation via plugin:

module.exports = {
  preload(config, account) {
    fs.readFile('config.json', (err, data) => {
      if(err) { console.log(err) };
    })
  },
  keymaps:{
    'resize-window'(event, account, config) {
      event.preventDefault();
      // read the file to get the normal_window state
      fs.readFile('config.json', "utf8", (err, data) => {
        var configData = JSON.parse(data);

        // set the boolean and rewrite config.
        configData.normal_window = !configData.normal_window;
        fs.writeFile('config.json', JSON.stringify(configData, null, 2), function(err) {
          console.log(configData)
          if(err) { return console.log(err) }
        })
      })
    }
  }
}

I'm not really experienced with Node or Electron, so I'm not sure how to relaunch the application window to reload the config file. This would save time going in and out of config.json to reset the window state.

Fullscreen support in macOS

  • Your OS: macOS High Sierra 10.13.4
  • App version: 0.2.6

The macOS menubar button disrupts a macOS fullscreen app; when pressed, it switches to the first available "normal" desktop without fullscreen apps before opening. This is not the case with other macOS menubar apps.

AC: Clicking the menu button while an app is in the default macOS fullscreen mode should cause the electron window to show up in front of the fullscreen app.

Window disappears on losing focus on Linux

When the application loses focus, the window disappears entirely. In order to show it again, it needs to be selected from the system tray icon. And when it does appear, it does so flush against the top right corner of the screen, regardless of where it had been before.

This is on Kubuntu 16.10.

floating window under i3

  • OS: arch linux with i3
  • App version: mstdn 0.2.5-1 (aur)

if you use i3 as a wm the window opens as a new tile, which is rather annoying. I guess this is not in the scope of this application, but for anyone dealing with the same issue you could add something like this to your i3 config:

for_window [class="Mstdn"] floating enable move right 0px, move down 612px, resize shrink width 10000px, resize grow width 400px, resize shrink height 10000px, resize grow height 400px

Which allows you to start the application as a small floating window in the bottom corner, at least on a 1920x1080px screen. You could probably write a script that calculates the exact position

screenshot

Mstdn shows error instead of Mastodon UI

  • Your OS: Windows 10 x64
  • App version: v0.2.6

Seems Mstdn client (last updated 8/31/2017) finally stopped being compatible with new Mastodon versions. Opening Mstdn now just displays an error message. Tested on two instances.

Error text from mastodon.social:

Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.

Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.

Mastodon v3.1.0 · Report issue · Copy stacktrace to clipboard

Here's what mastodon.social looks like:

Clip 000258 Mastodon

Unable right-click icon in Cinnamon tray

  • Your OS: Manjaro Linux with Cinnamon 3.4.4
  • App version: 0.2.5 (from npm)

After launching mstdn via open-mstdn-app I cannot right-click the icon for a menu. Because of this, I must
killall electron to end the process.

Window disappears when it loses focus

  • Your OS: Fedora 25
  • App version: Mstdn-linux-x64-0.2.5.zip

When i run ./Mstdn in i3 4.13-113-gd3901fe, the window disappears as soon as focus is lost. The process still runs, just the window is lost so I have to kill the process manually.

This does not happen if I set normal_window to true or if I set NODE_ENV the way README suggests.

I haven't found any useful info printed to stdout/stderr or under ~/.local or similar place.

Stuck at Extended Information

  • Your OS: Linux
  • App version: 0.2.5-1

Open MSTDN then click on Settings > Extended Information .
The page loads but has no 'back' button or other tab. there is no way to return from the information page other than force close the app and re-login.

feature request: add 'about' help menu entry with current version number/check

  • Your OS: Win7 64bit
  • App version: 0.2.6

Note:

  • If you're reporting a bug, please describe how to reproduce it.
  • If you're suggesting a new feature, please detailed spec of it.

Please add an 'About' dialog within the help menu item as usual with desktop applications that links to the projects page and, more importantly, gives the current version number.
If you want to be extra-awsome, you can use this to display links to the licenses of your dependencies.

You could also do a check against a new release there.

Uncloseable media spontaneously opens, only option is to quit app

  • Your OS: Win10 x64
  • App version: 0.2.6

For some reason certain media (always images?) that appear in a user's timeline will automatically open/maximize as the timeline loads the toots containing them. It is reproducible in that when a certain image post does this, it will always do it.

No further input will remove the maximized image. My impression is that the browser guts of MSTDN is loading the image URL directly, effectively navigating away from the Mastodon UI. I suspect if MSTDN had a "navigate back" command I could recover out of this.

The alt-menus still respond but the only two actions that will escape this situation are changing accounts or exiting the app.

This has been occurring for some weeks now and I was reminded when it happened just now. Screenshot of today's rogue image:

screenclip 62

I have no idea what makes some media posts trigger this.

I have also observed this behavior when clicking a profile's hamburger menu and choosing "media." In today's case clicking the same user's "media" link, instead of maximizing the rogue image, leads to a white screen. Again, the alt-menu is still responsive.

screenclip 63

Please PM me if you would like the username of the account hosting the media toot that is triggering this today.

I messed up, rip

  • Your OS:
  • App version:

Note:

  • If you're reporting a bug, please describe how to reproduce it.
  • If you're suggesting a new feature, please detailed spec of it.

I was putting in my account info and didn't click the README first. so I didn't know I was supposed to put anything in default_page. and I exited out and of course the app didn't work after that, so I tried deleting and redownloading to reset it, but the file I edited is deep down in my computer and I cannot find it. Please help, I currently do not have Mstdn zip file or application folder on my computer right now.

Notifications settings

  • Your OS: macOs
  • App version: 0.2.6

On macOs, we get notification for each shared toot. Is it possible to disable it?

Icon not displaying properly on system tray on Linux

In Kubuntu 16.10, the icon on the system tray looks like a black mess. Not sure what's going on there.

icon

Note that the icon next to it in the screencap is a raster image, so I don't think this is related to these icons needing to be vectorised.

Login window

In windows, it is difficult that I edit config.json because of Character encoding.
So please make login window.

Drag window

I feel kind of silly for asking this question, but has anyone else had problems with dragging the Mstdn app window around on the desktop? It launches in the middle of the screen and I can resize it but I can't seem to move it.

I'm on OS X / 10.12 and using the latest Mstdn that's on master 5060550

screen shot 2017-04-24 at 8 13 49 am

Keymaps do not work in Windows 10

I'm on Windows 10 and version 0.2.3

Scroll down, scroll up, and scroll top work for me. However, scroll bottom just scrolls down a little bit, though I'm not exactly sure on the intended behavior here. None of the tab navigation shortcuts work for me.

Incompatible w/ Win10 Volume Mixer

  • Your OS: Windows 10 Pro x64 (Anniv. Update)
  • App version: 0.2.6

Since adopting it around May I have never been able to adjust the volume of MSTDN because it corrupts its entry in the Windows Volume Mixer. I originally suspected this was because the name of my primary Mastodon instance had a strange character in it, but this occurs with mastodon.social as well.

Here is a screenshot of Volume Mixer failing to display MSTDN logged into mastodon.social (I censored what little of my username was visible):

screenclip 17

To work around this I tried to find and directly edit the registry key MSTDN's volume was stored in but did not succeed in figuring out the correct key/binary values (they live under HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore).

This recently became more annoying because my instance added a custom sound which is more startling than the default.

Cannot login with Pixiv account at https://pawoo.net

-Environment

  • macOS 10.12
  • v0.2.3

Pixiv user can join pawoo.net with Pixiv account. However, Mstdn.app does not work with 'login with Pixiv account' link. By clicking the link, it opens accounts.pixiv.net with new tab. User logins in the tab and the tab will be closed. Mstdn.app looks not to be able to handle this window lifecycle for now.

No menu on Linux, even with hide_menu set to false

Having no menus, it is impossible to access multiple accounts, etc. And when navigating to the "about" page of an instance, there is actually no way to go back at all.

This is running on Kubuntu 16.10.

The hide_menu key in config is set to the default value of false.

no_border

Images not opening when clicking to expand

  • Your OS: 10.12.5
  • App version: not sure

When I click on an image, it doesn't expand. Eventually after repeatedly clicking an image, the image did appear, but then could not be closed.

I'm not sure what version of the app I'm running. I typed "mstdn", "which mstdn" and "mstdn -v" with no results.

P.S. I love the app! Nice work!

Window size for docked app in config.json

Hello!

I noticed that I can increase the size of the window that opens when I click on the icon by editing window-state.json. I changed that file to make the window twice the size and thought it would might be useful for other users if these dimensions were made available in config.json along with the zoom_factor. For me and my large monitor, the ideal is a windows size of 640x840 with a zoom_factor of 1.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.