tmytのらくがき

個人の日記レベルです

Android 10以降で表示されるバッテリ残り時間を取得する

たぶんAndroid 10から追加されたバッテリーの残り時間をアプリで取得できたのでメモ。 Settings.Globalに格納されていて、ContentResolverでアクセスできる。キーはandroid.provider.Settingsに定義があったけれど、@hideされていたのでコピペして使った。 p…

Surface Duo向けアプリ2個をPlayストアに公開しておきました

Surface Duo向けのアプリ2個をPlayストアに公開しておきました。 Duo BrowserHelper ひとつめ。G8X BrowserHelperのSurface Duo版。 Chrome Custom Tabs互換のブラウザアプリのふりをしてインテントを受け取って、常に別画面でブラウザを開くためのもの。Sur…

startActivityの挙動

Surface DuoでのstartActivityの挙動をメモしたものです。基本的にはドキュメントに書いてある内容です。 定義 それぞれの画面はペインと呼びます。 ホーム画面が表示されているペインは空き状態と呼びます。 なにかアプリが起動しているペインは占有状態と…

Surface Duoを買いました

(10/21 17:50) FedExを普通に間違えてた、ブコメ感謝 使い始めてもう2週間くらいになるのだけれども、Surface Duoを買いました。 工事設計認証も通っているのですぐに日本ででるだろう。と思って待っていたのだけれども、一向にアメリカ以外の展開が発表され…

BottomSheetDialogFragmentの角を丸くする

backgroundつけても反映されないのでshapeApperanceOverlayを設定するのがいいらしい。 <style name="MyBottomSheetDialogTheme" parent="@style/ThemeOverlay.MaterialComponents.DayNight.BottomSheetDialog"> <item name="bottomSheetStyle">@style/MyModalStyle</item> </style>

VSCTをローカライズする

Visual Studio拡張でボタンとか追加する時はVSCTというXMLで配置先とか、ラベルとかを定義して、それがコンパイラでバイナリになって、リソースに押し込まれます。 で、それをローカライズするにはどうすればいいか、というとdocs.com のここに書いています…

Visual Studioのソリューションエクスプローラのフィルタ機能を拡張する

tl;dr ソリューションエクスプローラの表示を、Gitの中身を比較して変更があったファイルでフィルタする拡張を作った フィルタする拡張機能は、HierarchyTreeFilterProvider を実装してVisual Studio側に公開するといい感じで動くらしい フィルタ機能をソリ…

wslのpathにある実行ファイルをwindowsから実行できるやつを作った

WSLって歴史的経緯で今も bash.exe で起動ができるけど、 bash.exe で起動したときは chsh で設定されたシェルではなく常にbashが起動してしまう。たぶん内部的に /usr/bin/bash を実行してるんだとおもう*1。 wsl を呼べば chsh で設定されたシェルが起動は…

UWPでタスクバーのアイコンをLight/Darkで切り替える

tl;dr 通常は theme-light シェル用のリソース(altform-unplatedなやつ)はaltform-lightunplated Lightテーマのシェル向けのリソース定義 Windows 10 1903でタスクバーとかがLightテーマにできるようになったのにあわせて、UWPのリソースもライトテーマ向け…

WSL2のVHDを移動する

TL;DR export/importすれば移動できます CMD> wsl --export Debian debian.tar CMD> wsl --unregister Debian CMD> wsl --import Debian D:\wsl\Debian\ debian.tar import後のデフォルトアカウントがrootになる ファイル名を指定して実行でコマンドを実行し…

Chromeの <input type="time"> の時計アイコンを消す

Stackoverflowで見つけました。 stackoverflow.com 最近のChromeで<input type"time"> を使うと右端に時計アイコンが出ます。これを消したい。 input[type="time"]::-webkit-calendar-picker-indicator { background: none; } こうすると消えるみたい。大感謝…

ASP.NET CoreのTagHelperでいろいろするメモ

TagHelper TagHelperを継承したクラスで、ProcessAsyncをoverrideしていろいろすると、出力をいろいろできる。 いろいろする // ターゲットにするタグ名をここに付ける [HtmlTargetElement("my:Example")] public class ExampleTagHelper : TagHelper { // V…

Windows 10 2004のエクスペリエンスっていう項目が気になったので探した

Windows 10 2004 May 2020 Updateにするとシステムのバージョン情報に"Windows Feature Experience Pack"というのが表示されるようになりました。らしい。この環境はInsider Fast Ringなので若干バージョンが違うけれども、2004でも同じことができます。 Fea…

シーリングライトを力押しでGoogle Assistantに対応させる (その2)

4か月前に作ったこれを、毎日使っていたのですが、今日ふと電話置き場を眺めてみるとこんなことに。あらやだ。 電池って4か月ちょいでこんなことになってしまうんですね、こわいこわい。 さて、我が家のシーリングライト危機が訪れました。解決方法として考…

G8X WideMode 1.1.2は動きません

おしらせです。 G8X WideMode ver1.1.2というのを今朝6時ごろリリースしたのですが、ワイドモードスイッチが動作しないバグを埋め込みました。 10時頃に修正版をPlayストアにアップロードして現在*1配信処理中です。 そろそろいけるかな?と思っていたのです…

X1D IIからAndroidでRAWをダウンロードしてみる

専用アプリがなぜかiPadにしかなくて、せめてiPhoneには出してよ…とおもいつつ、いろいろあれこれした結果がこちらです。 github.com FontAwesome ProのフォントファイルはさすがにGitに乗せられないので、FreeのOTFを入れて参照するフォントを変えるか、Pro…

NEO-M8UでUDRしてみたい!

UDR(Untethered Dead Reckoning)というのがあります。GNSSが受信できない状態で自車位置を推定する技術のうち、車両信号を利用しないものをこう呼ぶそうです。 u-bloxというスイスのメーカーからリリースされているNEO-M8シリーズのうち、NEO-M8Uというモジ…

Uno PlatformでmacOSアプリを作れるかな?

Uno

GitHubのissue*1を眺めていると、どうやらNuGetにXamarin Mac対応のバイナリが放流されているらしい? NuGetのバイナリを手に入れて、展開してみると確かにxamarinmac20向けのバイナリが含まれているみたい。 $ unzip -l 2.0.512-dev.4178.nupkg | grep xama…

G8X ThinQ向け、別画面でブラウザを開くアプリをリリースしました

ダウンロード 今回は最初からPlayストアに公開しました。 play.google.com 機能 デフォルトブラウザにしておくと、カバー画面有効時に別画面でURLを開きます カバー画面が使えない場合*1時はURLのハンドルを自動で無効にできます*2 機能1について このアプリ…

2019年買ってよかったもの

2019年も今日で終わりなので買ってよかったものをまとめておきます。 PC編 Lenovo C630 LenovoのARM64版Windows PC。リモートデスクトップだけで使っていると12~16時間ぐらいバッテリーで使えるのがとてもよい。 ARM64バイナリを実行する分には十分はやいし…

シーリングライトを力押しでGoogle Assistantに対応させる

シーリングライトはPanasonicのHH-XCB1283Aというモデルを使っているのですが、このモデルはリモコンが赤外線ではなくBluetoothになっているのでスマートフォンから操作できるのでとても便利です。なんですが、Bluetoothゆえいわゆる学習リモコンは全滅だし…

G8X ThinQのワイドモードを操作するアプリをTaskerに対応しました

G8X ThinQのワイドモードを無理やり有効にする例のボタンですが、Taskerに対応してくれないか?と要望をもらったので、Taskerに対応しました。 Taskerは特定のアプリが起動したときをはじめいろいろなタイミングで定型アクションを実行するツールなんですが…

G8X ThinQ向け、ワイドモードボタンを増やすアプリを作ってみました

TL;DR 右側アクティビティを強制的にワイドモードにするボタンをクイック設定パネルに出せるアプリです 運が悪いと描画が崩壊する可能性があります ダウンロードはここから。 Playストアからどうぞ G8X ThinQのワイドモード不便ですよね ごく一部というか実…

LG G8X ThinQを契約なしで買ってきました

今日Softbankから発売になったLGのG8X ThinQを契約なしで買ってみました。屏風だしね。 Softbankの直営店に行って、端末だけ購入したいと伝えたらすぐに受付してくれました。とてもスムーズに購入できたので次回からも利用したいですね。 詳しいスペックその…

Uno PlatformでDarkテーマを使うにはPre-releaseにする

Uno

Uno CalculatorがDark modeをサポートしたよ!っていうアップデートが配信されていたのでソースを読みながら同じようにしてもDarkにならんのやが…って1日考えてみた結果、Pre-releaseにしたら解決しました。という話です。 ThemeDictionariesが動かない 例え…

せっかくなのでUno Platformの話がしたい

Uno Platformというものがある UWPのコードをベースにして、自力でXAMLを解釈して、Xamarinの上でViewをいい感じに動かすっていうアプローチ。Xamarin.Formsのラッパーではない。 俺たちが期待してるUniversalはこれなんだよ、いいからMSは早く買収するんだ…

WPFの子ウィンドウとしてUnityを実行してみる

UnityってWPFの中に表示したりできひんよね?って聞かれたからドキュメント読んだらできるって書いてたからやってみたらできました。という話。 TL;DR -parentHWND 0x**** で子ウィンドウにできる HwndHostでUnityのプロセスを子ウィンドウとして起動するだ…

あるプロセスが読み込んでいる.NET Coreランタイムを特定したい

なんか表題のことがしたいらしく、よく聞いたら任意の.NET Coreプロセスが読み込んでいるcoreclr.dllのパスが知りたいという話でした。 coreclr.dllで.NET Core仮想マシンをホストしてるんだから、プロセスが読み込んでるモジュールを列挙したらわかるでしょ…

最近のWindows 10で絵文字を書記素クラスタ単位で数える

UWPからP/Invokeすることが許可されているAPIが列挙されているページがあります。今日も特に理由もなく眺めていたらicuuc.dllが16299から使えるようになっていたことに今更気づきました。 docs.microsoft.com icuuc.dllはICUの一部で、ICUはInternational Co…

プロセスのことが気になって夜も眠れないのでツールを書いた

TL;DR Windows 10 on ARMで動いているプロセスがi386なのか、ARM32なのか、ARM64なのか気になって夜も眠れないのでツールを書きました。 GitHubにあります。 夜も眠れない Windows 10 on ARMは、i386、ARM32、ARM64のPEが実行できる、とても愉快なOSだそうで…