8000 README に Homebrew でのインストールを書き、全体の文を読みやすく直す by dominion525 · Pull Request #6 · dominion525/atme · GitHub
[go: up one dir, main page]

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 33 additions & 23 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,57 +2,67 @@

[English](README.md)

自分宛の Slack を見落とさないための、macOS のメニューバーアプリです。自分へのメンションと DM を、メニューバーの一覧と通知で知らせます。@here、@channel、ユーザーグループへのメンションは拾わず、自分個人に向けられたものだけを拾います。
atme は、Slack で自分宛てに届いたメッセージを見落とさないための、macOS のメニューバーアプリです。自分へのメンションと DM を、メニューバーの一覧と通知で知らせます。@here や @channel、ユーザーグループへのメンションは対象にせず、自分個人に宛てたものだけを表示します。

## 特徴

- 拾ったメッセージは、Slack で既読にするまで一覧に残ります。
- 複数のワークスペースを、ワークスペースごとに分けて一つのメニューで見られます。
- token は Keychain にだけ保存します。通信する先は、Slack の API と更新の確認だけです。
- 表示したメッセージは、Slack で既読にするまで一覧に残ります。
- 複数のワークスペースのメッセージを、ワークスペースごとに分けて一つのメニューで見られます。
- token は Keychain にだけ保存します。通信先は、Slack の API と、アップデートの確認とダウンロードだけです。

## 動作環境

- macOS 13 以降
- Apple シリコンの Mac
- 自分で Slack App を作れる Slack のワークスペース
- 自分で Slack App を作成できる Slack のワークスペース

## インストール

[リリース](https://github.com/dominion525/atme/releases)から `atme-<version>.zip` をダウンロードして展開し、`atme.app` を「アプリケーション」フォルダに移して開きます。アプリは Developer ID で署名し、公証しています。
Homebrew を使っている場合は、次のコマンドでインストールできます。

初めて開いたときに通知の許可を求められるので、許可します。
```
brew install --cask dominion525/tap/atme
```

tap の名前を含めて指定しているので、tap の追加も同時に行われます。Homebrew が信頼するのは、その tap のうち atme の cask だけです。

Homebrew を使わない場合は、[リリース](https://github.com/dominion525/atme/releases)から `atme-<version>.zip` をダウンロードして展開し、`atme.app` を「アプリケーション」フォルダに移して開きます。

どちらの方法でも、インストールされるアプリは Developer ID で署名され、Apple の公証を受けています。インストールしたあとは、atme が自分でアップデートします。すぐに新しい版を確認したいときは、メニューの「アップデートを確認…」を選びます。

初めて起動したときに通知の許可を求められるので、許可します。

## ワークスペースを追加する

atme は、ワークスペースごとに作った Slack App の user token で Slack を読みます。Slack App は、作ったワークスペースにしかインストールできないためです。
atme は、Slack App の user token を使って Slack のメッセージを読み取ります。Slack App は作成したワークスペースにしかインストールできないので、ワークスペースごとに Slack App を作る必要があります。

ワークスペースが一つも無いときは、起動すると「ワークスペース」のウインドウが開きます。二つ目以降は、メニューの「ワークスペース…」から開きます。ウインドウの手順に沿って進めます。
初めて起動したときは、ワークスペースがまだ無いので、「ワークスペース」のウインドウが自動で開きます。2 つ目以降を追加するときは、メニューの「ワークスペース…」からウインドウを開きます。追加は、ウインドウに表示される次の手順で進めます。

<img src="docs/images/workspaces-ja.png" width="592" alt="ワークスペースのウインドウ。Slack App を作る、Install to Workspace を押して token をコピーする、貼り付けて追加する、の 3 つの手順が並ぶ">

1. 「Slack App を作る…」を押し、ブラウザで開いた Slack の画面でワークスペースを選んで、Slack App を作ります。
1. 「Slack App を作る…」を押し、ブラウザで開いた Slack の画面でワークスペースを選んで、Slack App を作成します。
2. Slack の画面で Install to Workspace を押し、表示された User OAuth Token をコピーします。
3. コピーした token をウインドウに貼り付け、「追加」を押します。

Slack App の名前と権限は、[slack-app-manifest.json](slack-app-manifest.json) の内容で設定されます。ワークスペースの管理者がアプリの作成やインストールを制限している場合は、管理者の承認が必要です。

ワークスペースを外すときは、ウインドウの一覧で「削除」を押します。token も Keychain から消えます。
ワークスペースを削除するときは、ウインドウの一覧で「削除」を押します。そのワークスペースの token も、Keychain から削除されます。

## 使い方

<img src="docs/images/menu-ja.png" width="453" alt="atme のメニュー。ワークスペースごとの見出しの下に未読のメンションと DM が並び、その下に「すべて既読にする」「今すぐ取得」「ワークスペース…」などが続く">

atme はメニューバーに「@」のアイコンを置き、Dock には現れません。アイコンの横の数字は、未読のメンションと DM の件数です。
atme はメニューバーに「@」のアイコンとして常駐し、Dock には表示されません。アイコンの横の数字は、未読のメンションと DM の件数です。

メニューには、未読のメッセージがワークスペースごとに新しい順に並びます。項目を選ぶと、そのメッセージを Slack で開き、atme の一覧から外します。「すべて既読にする」は、今の一覧をまとめて外します。どちらも、Slack 側の既読の状態は変えません。
メニューには、未読のメッセージがワークスペースごとに新しい順で並びます。項目を選ぶと、そのメッセージを Slack で開き、atme の一覧から消します。「すべて既読にする」を選ぶと、今の一覧をまとめて消します。どちらの操作も、Slack 側の既読の状態は変えません。

取得は 5 分ごとと、スリープから戻ったときに行います。すぐに取得したいときは「今すぐ取得」を選びます。新しく見つかったメッセージは通知で届き、通知を押すとそのメッセージを Slack で開きます。
atme は、5 分ごとと、Mac がスリープから復帰したときに、新しいメッセージを取得します。すぐに取得したいときは、「今すぐ取得」を選びます。新しいメッセージが見つかると通知が届き、通知をクリックするとそのメッセージを Slack で開きます。

ログインしたときに起動させるには、メニューの「ログイン時に起動」をオンにします。
ログイン時に atme を起動するには、メニューの「ログイン時に起動」をオンにします。

## 拾うメッセージ
## 表示するメッセージ

| 拾うもの | 拾わないもの |
| 表示するもの | 表示しないもの |
| ------------------------------ | ----------------------------------------------- |
| 自分へのメンション | @here、@channel、ユーザーグループへのメンション |
| DM とグループ DM | 自分が送ったメッセージ |
Expand All @@ -63,20 +73,20 @@ atme はメニューバーに「@」のアイコンを置き、Dock には現れ

## プライバシーと権限

token は Keychain にだけ保存し、設定ファイルには書きません。atme が通信するのは、Slack の API(`slack.com`)と、新しい版の確認([Sparkle](https://sparkle-project.org))だけです。新しい版の確認では更新の一覧を取得するだけで、Mac の情報は送りません。自動で確認してよいかは、2 回目に起動したときに尋ねられます。
token は Keychain にだけ保存し、設定ファイルには書き込みません。atme の通信先は、Slack の API(`slack.com`)と、[Sparkle](https://sparkle-project.org) によるアップデートの確認とダウンロードだけです。アップデートの確認では新しい版の一覧を取得するだけで、Mac の情報は送りません。アップデートを自動で確認するかどうかは、2 回目に起動したときに聞かれます。

Slack App が求める user token のスコープは、次の 10 個です。

| スコープ | 使う API | 用途 |
| ------------------------------------------------------------------ | ----------------------- | -------------------------- |
| `search:read` | `search.messages` | メンションと DM を探す |
| `users:read` | `users.info` | 送り主の表示名を引く |
| `users:read` | `users.info` | 送り主の表示名を取得する |
| `channels:read`、`groups:read`、`im:read`、`mpim:read` | `conversations.info` | 会話の既読の位置を読む |
| `channels:history`、`groups:history`、`im:history`、`mpim:history` | `conversations.replies` | スレッドの既読の位置を読む |

## 設定ファイル

設定は `~/.config/atme/config.toml` にあります。ワークスペースの追加と削除はウインドウから行えるので、手で書く必要はありません。
設定は `~/.config/atme/config.toml` に保存されます。ワークスペースの追加と削除はウインドウから行えるので、手で編集する必要はありません。

```toml
# さかのぼって探す日数(既定は 7)
Expand All @@ -86,7 +96,7 @@ days = 7
name = "acme"
```

`name` は、ウインドウから追加したときはワークスペースの URL のサブドメインになります。手で書いたコメントは、ウインドウから追加や削除をしても残ります。
ウインドウから追加したワークスペースの `name` には、ワークスペースの URL のサブドメインが入ります。手で書いたコメントは、ウインドウから追加や削除をしても残ります。

## ソースからビルドする

Expand All @@ -97,9 +107,9 @@ script/bundle
open target/release/atme.app
```

`script/bundle` は `target/release/atme.app` を作り、ad-hoc で署名します。証明書で署名するときは、`ATME_SIGN_IDENTITY` に証明書の名前を入れます。
`script/bundle` は `target/release/atme.app` を作り、ad-hoc で署名します。証明書で署名するときは、`ATME_SIGN_IDENTITY` に証明書の名前を指定します。

テストは `cargo test` で動かします。macOS の Foundation を使うテストがあるので、macOS で動かします。
テストは `cargo test` で実行します。macOS の Foundation を使うテストがあるので、macOS 上で実行します。

リリースの手順は [docs/releasing.md](docs/releasing.md) にあります。

Expand Down
51 changes: 31 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

[日本語](README.ja.md)

A macOS menu bar app that keeps you from missing Slack messages meant for you.
It shows mentions of you and DMs in a menu bar list and as notifications.
Mentions of @here, @channel, and user groups are left out; atme picks up only what is addressed to you personally.
atme is a macOS menu bar app that keeps you from missing Slack messages addressed to you.
It shows your mentions and DMs in a list in the menu bar and as notifications.
It leaves out mentions of @here, @channel, and user groups, and shows only messages meant for you personally.

## Features

- Messages stay in the list until you read them in Slack.
- Several workspaces appear in one menu, grouped by workspace.
- Tokens are stored only in the Keychain. atme talks only to the Slack API and to the update check.
- Messages from several workspaces appear in one menu, grouped by workspace.
- Tokens are stored only in the Keychain. atme connects only to the Slack API and to the update check and download.

## Requirements

Expand All @@ -20,19 +20,30 @@ Mentions of @here, @channel, and user groups are left out; atme picks up only wh

## Installation

Download `atme-<version>.zip` from the [releases](https://github.com/dominion525/atme/releases), unzip it, move `atme.app` to the Applications folder, and open it.
The app is signed with a Developer ID and notarized.
If you use Homebrew, install atme with:

On first launch atme asks for permission to send notifications. Allow it.
```
brew install --cask dominion525/tap/atme
```

Because the name includes the tap, Homebrew adds the tap at the same time and trusts only the atme cask in it.

If you don't use Homebrew, download `atme-<version>.zip` from the [releases](https://github.com/dominion525/atme/releases), unzip it, move `atme.app` to the Applications folder, and open it.

Either way, the app is signed with a Developer ID and notarized by Apple.
Once installed, atme updates itself.
To check for a new version right away, choose Check for Updates… in the menu.

On first launch, atme asks for permission to send notifications. Allow it.

## Adding a workspace

atme reads Slack with the user token of a Slack App that you create for each workspace.
One app per workspace is needed because a Slack App can only be installed in the workspace it was created in.
atme reads Slack messages with the user token of a Slack App.
A Slack App can only be installed in the workspace it was created in, so you create one for each workspace.

When there is no workspace yet, the Workspaces window opens at launch.
To add more, choose Workspaces… from the menu.
Follow the steps in the window:
On first launch there is no workspace yet, so the Workspaces window opens by itself.
To add another workspace later, open the window with Workspaces… in the menu.
Then follow the steps shown in the window:

<img src="docs/images/workspaces-en.png" width="592" alt="The Workspaces window with three steps: create a Slack App, click Install to Workspace and copy the token, and paste the token to add it">

Expand All @@ -50,17 +61,17 @@ Its token is deleted from the Keychain as well.

<img src="docs/images/menu-en.png" width="460" alt="The atme menu: unread mentions and DMs under a header for each workspace, followed by Mark All as Read, Fetch Now, Workspaces…, and more">

atme puts an @ icon in the menu bar and does not appear in the Dock.
atme stays in the menu bar as an @ icon and does not appear in the Dock.
The number next to the icon is the count of unread mentions and DMs.

The menu lists unread messages by workspace, newest first.
Choosing an item opens the message in Slack and removes it from atme's list.
Mark All as Read removes the whole current list.
Neither changes the read state in Slack.

atme fetches every 5 minutes and when the Mac wakes from sleep.
atme fetches new messages every 5 minutes and when the Mac wakes from sleep.
To fetch right away, choose Fetch Now.
Newly found messages arrive as notifications; clicking one opens the message in Slack.
When new messages are found, a notification arrives; clicking it opens the message in Slack.

To start atme when you log in, turn on Open at Login in the menu.

Expand All @@ -79,9 +90,9 @@ Once you read a message in Slack, it disappears from atme on the next fetch.
## Privacy and permissions

Tokens are stored only in the Keychain and are never written to the settings file.
atme talks only to the Slack API (`slack.com`) and to the update check ([Sparkle](https://sparkle-project.org)).
The update check only fetches the list of updates and sends no information about your Mac.
atme asks on its second launch whether it may check for updates automatically.
atme connects only to the Slack API (`slack.com`) and to the update check and download by [Sparkle](https://sparkle-project.org).
The update check only fetches the list of new versions and sends no information about your Mac.
On its second launch, atme asks whether to check for updates automatically.

The Slack App asks for these 10 user token scopes:

Expand All @@ -105,7 +116,7 @@ days = 7
name = "acme"
```

When a workspace is added from the window, `name` is the subdomain of its URL.
For a workspace added from the window, `name` is the subdomain of its URL.
Comments you write by hand are kept when workspaces are added or removed from the window.

## Building from source
Expand Down
Loading
0