/ #rumps #python 

rumpsを使ってMac向けアプリをPythonで作る

もくじ

とつぜん、Mac向けのメニューバー常駐アプリが作りたくなったので動作確認でハロワまで作って見ました。

というお話。

ただ怖いことが1点あって、rumpsを使うとバカみたいに簡単にできる(公式より)らしいのですが、 これpython2.6+って書いてあるんですよね、、、さてPython3でどこまでいけるかなー?

これで作ったものは、いつまで使えるのかな?

今後の発展性やらメンテナンスやらを考えると、メニューバーを諦めてTkinterとかKivyとかをいじったほうがいいのかも?🤔

と、ネガティブな発言が続きましたが、踏み出してみましょう👍

何がしたいの?

  • rumpsを使ってHello worldっぽいものをつくる

もとい、上のイメージが切れちゃってるので再度貼っつけますが、こんなものが作られました(笑)

前提

  • python3

では 作っていきましょう👻

環境を作る

このあたりは定型文

$ mkdir rumps-my-hello
$ cd rumps-my-hello
$ python3 -m venv .venv
$ source .venv/bin/activate

.gitignoreは面倒なのでgithubのものを使います(笑)

$ curl https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore > .gitignore

requirements.txtを追加

$ pip install rumps
$ pip freeze | grep rumps >> requirements.txt

ハロワと書いてみる

はじめ、README.md通りに実装したのですが、早速alertが動かずフリーズするのでnotificationだけ実装しました😅

iconは下記のフリー素材を使わせていただきました👍

http://flat-icon-design.com/?p=354

from datetime import datetime

import rumps


class HelloApp(rumps.App):
    @rumps.clicked("挨拶")
    def hello(self, _):
        show_text = f"現在時刻は[{datetime.today()}]です"
        rumps.notification(
            "Helloタイトル",
            "Hello world",
            show_text,
            icon="app.png",
        )


if __name__ == "__main__":
    HelloApp("HelloApp", icon="app.png", quit_button="終了").run()

コーディングはこれで終了です😳😳😳😳

驚きですね!

後は実行するとメニューに登場します。

$ python app.py

うーん、便利ですねー。

まとめ

Macのメニューバーの常駐アプリをバカみたいに簡単につくれるrumpsを使って見ました。

一部機能が動かなかったですが(原因は追求してません)驚くべき手軽さで作ることができました😁

今回のリポジトリはこちら

https://github.com/sisi100/rumps_my_hello/

Author

Sisii

インフラが好きなエンジニアぶってるなにか