Git Product home page Git Product logo

overkami's Introduction

GitHub all releases GitHub release (latest by date) Discord

FreedomWall

This application allows you to add wallpaper to any application.
As for Discord of chat app, you can add wallpaper without violating the Terms of Service. (The reason for this is explained in the How below.)
Currentrly, Windows and MacOS are supported. (Linux will be supported at some point, as indicated in this issue.)

Warning: This is early stage.

FreedomWall

Supported Files

  • Picture (All image formats supported by WebView on your OS)
  • YouTube
  • HTML (It will be available soon, but can be created by placing html files in a folder.)

How

FreedomWall does the simple thing of displaying a translucent window with a background on top of the app you want to set the background for.
Therefore, you can set wallpaper safely without modifying any application.
So you can wallpaper your Discord without violating the Terms of Service.
It also uses WebView to depict the wallpaper so that websites can be displayed.

Download

This can be downloaded here.
This guide is an easy way to learn how to use it.

Build

It needs Rust, so let's prepare that first.

Windows

Simply run cargo build --release.

Mac

Install cargo-bundle with cargo install cargo-bundle and then cargo bundle --release.
The completed app file should be placed in the Applications folder and executed.
At this time error messages will not display properly if you do not do so.

Contributing

See contributing.md in the repository.

Screenshots

FreedomWall2
FreedomWall Example LINE

overkami's People

Contributors

tasuren avatar dependabot[bot] avatar

Stargazers

Hinata Kaga (samon) avatar yuko1101 avatar yupix avatar  avatar MetaSky avatar Rocochi avatar pstr avatar Rinrin.rs avatar Nayu-Chan avatar rikuru_to avatar 0kq avatar れのらり avatar  avatar コマリン親衛隊 avatar Deryck2000 avatar Koki Matsumoto avatar Yothuba avatar  avatar m4gnett avatar Aoichaan0513 avatar  avatar  avatar Kur0den0010 avatar  avatar

Watchers

 avatar  avatar

overkami's Issues

英語対応

ウェブサイト共に英語対応する。

壁紙がかぶった際の動作

とあるアプリに設定してない壁紙がつく

LINEに壁紙を設定した際に、ブラウザでLINE関連のサイトを見るとなる。
原因は恐らくブラウザのタイトルにページのタイトルを入れるためなのでしょう。
ブラウザのタイトルにLINEがあるからLINEで登録した壁紙が表示される。
それが原因です。

別の壁紙と切り替わりチカチカする

恐らく別の壁紙に設定しているウィンドウタイトルが、そのウィンドウにあるため干渉するからです。

別言語にて書き直し

C#で書き直して機能数を増やそう。
機能充実してない, さらに便利に, もっと低容量に
Rustでtauriのwryで背景の表示を行う。
クリック貫通等のウィンドウ設定はRustから行う。

Tasks

  • セーブデータのフォーマットの考案
  • 設定画面の考案 (cssはTailwind/Bulma/Bootstrap)
  • Rustで開発をする
    • DataManagerの作成
      • 一般設定
      • 壁紙プロファイル
      • 壁紙テンプレート
      • 拡張機能
    • 壁紙表示の作成
    • システムトレイの作成 (作らないことにしたためX)
    • APIの作成
    • APIラッパーの作成
    • 壁紙プロファイルテンプレートの三つを作る。
      • YouTube
      • 画像
      • 映像 Safariの場合色々とめんどくさいのでパス
    • 設定画面の作成 #13
    • Windows対応
  • デバッグ

セーブデータ

壁紙プロファイル

wallpapersというフォルダの中に壁紙のファイル等が入ったフォルダを入れるという方式にする。
壁紙の設定名はフォルダ名として表示する壁紙はindex.htmlの中に書き込む。
壁紙の設定の詳細は以下に書き込む。

// data.json
{
  "author": "壁紙プロファイルの作者名",
  "description": "壁紙の説明, 壁紙の作者の名前が入っていると良いね",
  "setting": {}, // その壁紙の設定, YouTubeテンプレートの壁紙の場合はURL等
  "forceSize": true // `background`クラスのHTMLタグのCSSのwitdh等を無理やりウィンドウサイズに合わせるかどうか。
}

全般設定

data.jsonというファイルに保存する。
壁紙をなんのアプリに設定するのかもこれに書き込む。

{
  "language": "ja", // 言語設定
  "wallpapers": [], // 下の対象設定のリスト
  "updateInterval": 0.1, // 壁紙ウィンドウの位置とサイズの更新を行う間隔
  "dev": false // WebViewの開発者モードをONにするかどうか
}

対象設定

{
    "targets": [], // 背景の設定対象のアプリの名前
    "exceptions": [], // 例外アプリの名前のリスト
    "alpha": 0.2, // 透明度
    "wallpaper": "壁紙名, wallpapersにあるフォルダ"
}

Support newer versions of dependencies.

DependaBot's versioning of dependencies is probably set to the latest.
However, the code has not been updated for new version of dependencies.
So, we have to respond to the dependency updates by adapting the code.

拡張機能

HTML,JavaScript等で作ることができる拡張機能を作る。

拡張機能のファイル構成

フォルダに拡張機能の名前を入れる。

  • data.json
    拡張機能の情報と拡張機能の設定保存 (フォーマットは下にある)
  • init.js
    拡張機能読み込み時に実行される。

data.jsonのフォーマット

{
    "description": "マークダウンの拡張機能の説明",
    "author": "作者",
    "version": "バージョン",
    "setting": {} // 設定保存用
}

Tasks

  • 拡張機能を読み込むシステムを作る。
    拡張機能を入れる用のフォルダはextensions
  • 拡張機能の設定を読み込むためのAPIを作る。
    • クリック貫通のON/OFF (特定のキーが押されたらクリック貫通を無効にするようにするためX)
    • セーブデータ保存 (localStorageを使ってもらうためX)
  • 設定画面に拡張機能の項目を作る。

壁紙プロファイルテンプレート

壁紙プロファイルのテンプレートでYouTubeの壁紙プロファイルのテンプレートのような感じにする。
ファイル構成等は壁紙プロファイルと同じ。
壁紙追加はそのテンプレートから作成する。
(自前で用意したものをwallpapersフォルダに入れるでももちろんできる)

Mac対応

一応クリック貫通をする方法はCocoaにはあるっぽい。
Cocoaはあまり知らないが。

アイコンの作り直し

v1.x.xのはてきとうに月にした。
もっとFreedomかつフリーウェアな感じがでるアイコンにしたい。

設定画面を作る

設定等を行う画面で、別ウィンドウにこれを開く。
wordpressのダッシュボード風にするつもりで項目は以下の通り。

  • Wallpapers
    登録されている壁紙一覧
  • 拡張機能 (#12 )
    拡張機能の設定画面
  • その他
    壁紙ウィンドウの移動を行う間隔等の設定をする。
    • 設定更新用のAPIを作る。

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.