So-net無料ブログ作成
前の30件 | -

Mac内のアプリケーションを探してリスト化 [AppleScript辞書はつくれるか?]

もっと簡単な方法があるのかもしれないけど、作ってみました。


image1204a.jpg


set limiter to 100 --探すフォルダ数が多いほど深くまで探します (100:5秒・500:約40秒・1000:約90)

--            limiterは、100もあれば主要なのが調べられる。1200もあれば全部調べられると思います

set addressPath to true -- 絶対パス(true) / アプリケーション名のみ(false)

 

 

 

-- main 

set applicationsFolder to (path to (applications folder)) as text --|アプリケーションフォルダ|

set userApplications to ((path to home folder) as text) & "Applications" --|ユーザー内のアプリケーションフォルダ|

set downloadApplications to ((path to home folder) as text) & "Downloads" --|ユーザー内のダウンロードフォルダ|

 

 set aTime to current date

set searchFolder to {applicationsFolder, downloadApplications}

try

   tell application "Finder" to get name of folder userApplications

   set searchFolder to searchFolder & userApplications

end try

set applicationList to ""

set n to 0

set l to 0

tell application "Finder"

   repeat limiter times

      

      set n to n + 1

      if (n mod 20) = 0 then log {n, ("探すフォルダ数" & l & "  増減します")} --進行状況のカウント

      

      (* ファイル取得 *)

      set obj to item 1 of searchFolder

      set filelistObj to every file of folder obj

      repeat with oneItem in filelistObj

         if addressPath then

            set oneText to oneItem as text

         else

            set oneText to (name of file (oneItem as text)) as text

         end if

         if oneText ends with ".app" then set applicationList to applicationList & oneText & (ASCII character 10) --return

      end repeat

      (* 下層フォルダが見つかった場合に上乗せで追加 *)

      set folderObj to every folder of folder obj

      if (count of folderObj) > 0 then

         repeat with oneFolder in folderObj

            set searchFolder to searchFolder & {oneFolder as text}

         end repeat

      end if

      set l to count of searchFolder

      if l > 1 then

         set searchFolder to items 2 thru -1 of searchFolder

      else

         exit repeat

      end if

   end repeat

end tell

 

(* 終了処理 *)

set applicationList to text from paragraph 2 to paragraph -1 of applicationList

if l = 1 then

   log "完了"

else

   log "検索作業は未完了"

   log (count of searchFolder)

end if

log ("所要時間: " & ((current date) - aTime) & "")

log (count of (every paragraph of applicationList))

set applicationList to do shell script ("echo '" & applicationList & "' | sort")

 

applicationList

 





nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

SafariウインドウのView部分のみのスクリーンショットを撮る [AppleScript辞書はつくれるか?]

Safariの最前面のウインドウの上部にある、URL や お気に入り や タブ などを取り除いた「ビュー」の部分だけスクリーンショットを撮ってみる。

ss1.jpg


なんのために?なんて思うでしょうが...

今回はSafariウインドウの上部を取り除いたビュー部分のみが撮影できないか?とやってみました。


 

use scripting additions

use framework "Foundation"

 

 

on run

 

set imageFile to do shell script "echo $HOME/Desktop/imgName.png" --output

my mainScript()

 

end run

 

on mainScript()

tell application "Safari"

activate

set {x1, y1, x2, y2} to bounds of window 1

set viewOriginY to my SafariViewOrigin()

set y3 to y1 + viewOriginY

set {w1, h1} to {(x2 - x1), (y2 - y3)}

end tell

 

set commandText to "screencapture -R" & x1 & "," & y3 & "," & w1 & "," & h1 & " '" & imageFile & "'"

do shell script commandText

return

end mainScript

 

on SafariViewOrigin()

set LogList to ""

tell application "System Events"

tell menu 1 of menu bar item "表示" of menu bar 1 of process "Safari"

set objList to (name of (every UI element))

repeat with i from 1 to (count of objList)

set oneObj to (item i of objList)

if oneObj is not missing value then set LogList to LogList & oneObj & return

end repeat

end tell

end tell

 

set viewOriginY to 38 -- {origin: 0, urlbar:+38, bookmark:+23, tabbar:+23}

if LogList contains "お気に入りバーを非表示" then set viewOriginY to viewOriginY + 23

if LogList contains "タブバーを非表示" then set viewOriginY to viewOriginY + 23

return viewOriginY

end SafariViewOrigin



なぜかrunハンドラや、細かくハンドラを分けていますが、applescript_obj-Cの保存時にエラーを起こさないための逃げ道です。

Object-Cの命令文から変数に代入するなどの式が書かれていると、問題が起きるそうです。

代入する変数をローカル変数にするため、

local |変数| でローカル変数を宣言にするか、ハンドラの中に入れることによって回避できるようです。

 

 

さて本題、

SafariViewOrigin() ハンドラの部分では、Safariの最前面にあるウインドウの大きさを取得し、System Eventsを経由してSafariのメニューから「編集」メニューの中身を得ます。

その中に『お気に入りバーを非表示』(つまり、お気に入りバーが表示されている)と『タブバーを非表示』(つまり、タブバーが表示されてる)を検出します。

ビューの位置はウインドウ上部から URLバー(常時表示)部分を避け、表示されていたら『お気に入り』と『タブバー』を避けてやればたどり着くと言う考えで、その避ける分をReturnで返り値としています。

 

上記の返り値を受け取り、スクリーンショットを撮影させています。

 

そんだけ。

 

問題は、画面から出た部分は切り落とされてしまうんですけどね。

(続き)ちなみに...


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

画像フォーマットをまとめて変換 [AppleScript辞書はつくれるか?]

画像のフォーマット形式を自動で一括変換するスクリプトを書いてみました。

例えば、PNG --> Jpeg というかんじです。


(*

  1) 画像ファイルをドラック&ドロップすると、指定の画像形式で書き出します。(1つでも複数のファイルでも可)

  2) ダブルクリックで書き出し形式を変更できます。

  3) 変換したファイルはデスクトップに "imageFolder" が自動で作成されて、そこに収められます。

 

  ※このスクリプトを保存するときには必ず「アプリケーション形式」で保存してください。

   アプリケーションにしないと、ドラック&ドロップが働きません。

*)

 

property imageFormat : "PNG"

 

on run --|ダブルクリックで起動した時にこの部分が実行されます|

--|選択するためのリストを表示して、選ばれた情報を記憶します|

set ans to choose from list {"PNG", "JPG", "PDF", "BMP", "TIFF", "PSD"} with prompt "変換したい形式を選択:"

set imageFormat to ans as string

end run

 

on open dropItem --|ドラック&ドロップした時にこの部分が実行されます|

-- display dialog ("画像を[ " & imageFormat & " ]形式で書き出してよろしいですか?" & return & return & "変更したい場合は、この後、アプリケーションをダブルクリックで起動してください")

tell application "Finder"

try

make new folder at desktop with properties {name:"imageFolder"}

end try

set theOutputFolder to (path to desktop folder as string) & "imageFolder:"

end tell

repeat with obj in dropItem

my imageChange(theOutputFolder, obj)

end repeat

end open

 

on imageChange(theOutputFolder, obj)

tell application "Finder" to set fileName to name of obj

if fileName contains "." then

--|ファイル名から拡張子部分を削除して名前だけにする|

set aText to (reverse of characters of fileName) as string

set aText to text ((offset in aText of ".") + 1) thru -1 of aText

set fileName to (reverse of characters of aText) as string

--|指定の形式で書き出し|

tell application "Image Events"

launch

set theImage to open obj

tell theImage

if imageFormat is "PNG" then save as PNG in ((theOutputFolder & fileName & ".png") as string)

if imageFormat is "JPG" then save as JPEG in ((theOutputFolder & fileName & ".jpg") as string)

if imageFormat is "PDF" then save as PDF in ((theOutputFolder & fileName & ".pdf") as string)

if imageFormat is "BMP" then save as BMP in ((theOutputFolder & fileName & ".bmp") as string)

if imageFormat is "TIFF" then save as TIFF in ((theOutputFolder & fileName & ".tif") as string)

if imageFormat is "PSD" then save as PSD in ((theOutputFolder & fileName & ".psd") as string)

end tell

close theImage

end tell

end if

end imageChange

 

 


imageChange.jpg


まあ、よくあるやつですね。

ぶっちゃけ、Automator.appで作った方が早いと言う話も...


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

新しい CGEventCreateMouseEvent を使うしかないのだが... [AppleScript辞書はつくれるか?]



かわりに「CGEventCreateMouseEvent」と言うのがあるみたいでした。


-----


CGEventCreateMouseEvent

https://developer.apple.com/documentation/coregraphics/1454356-cgeventcreatemouseevent?language=objc

 

 

関数

CGEventCreateMouseEvent

Returns a new Quartz mouse event.

 

SDK

macOS 10.4+

 

Framework

Core Graphics

 

Declaration

CGEventRef CGEventCreateMouseEvent(CGEventSourceRef source, CGEventType mouseType, CGPoint mouseCursorPosition, CGMouseButton mouseButton);

 

Parameters

 

source

別のイベントから取得したイベントソース、またはNULL

 

mouseType

マウスイベントタイプ。 CGEventTypeにリストされている定数の1つを渡します。

 

mouseCursorPosition

グローバル座標におけるマウスカーソルの位置。

 

mouseButton

状態を変更しているボタン。 CGMouseButtonにリストされている定数の1つを渡します。 mouseTypeパラメーターがkCGEventOtherMouseDownkCGEventOtherMouseDragged、またはkCGEventOtherMouseUpでないかぎり、このパラメーターは無視されます。

 

 

戻り値

新しいマウスイベント、またはイベントを作成できなかった場合はNULL イベントが不要になったら、関数CFReleaseを使用してイベントを解放する必要があります。

 

関連項目

-イベントの操作

CGEventGetTypeID

不透明な型CGEventRefの型識別子を返します。

 

CGEventCreate

新しいQuartzイベントを返します。

 

CGEventCreateData

Quartzイベントのフラット化されたデータ表現を返します。

 

CGEventCreateFromData

イベントのフラット化されたデータ表現から作成されたQuartzイベントを返します。

 

CGEventCreateKeyboardEvent

新しいQuartzキーボードイベントを返します。

 

CGEventCreateScrollWheelEvent

新しいQuartzスクロールイベントを返します。

 

CGEventCreateCopy

既存のQuartzイベントのコピーを返します。

 

CGEventCreateSourceFromEvent

既存のQuartzイベントから作成されたQuartzイベントソースを返します。

 

CGEventSetSource

Quartzイベントのイベントソースを設定します。

 

CGEventGetType

Quartzイベントのイベントタイプを返します(たとえば、マウスを左下に移動)。

 

CGEventSetType

Quartzイベントのイベントタイプを設定します(たとえば、マウスを左下に移動)。

 

CGEventGetTimestamp

Quartzイベントのタイムスタンプを返します。

 

CGEventSetTimestamp

Quartzイベントのタイムスタンプを設定します。

 

CGEventGetLocation

Quartzマウスイベントの位置を返します。

 

CGEventGetUnflippedLocation

Quartzマウスイベントの位置を返します。(Get Un flipped)

 

CGEventSetLocation

Quartzマウスイベントの位置を設定します。

 

CGEventGetFlags

Quartzイベントのイベントフラグを返します。

 

CGEventSetFlags

Quartzイベントのイベントフラグを設定します。

 

CGEventKeyboardGetUnicodeString

Quartzキーボードイベントに関連付けられたUnicode文字列を返します。

 

CGEventKeyboardSetUnicodeString

Quartzキーボードイベントに関連付けられたUnicode文字列を設定します。

 

CGEventGetIntegerValueField

Quartzイベントのフィールドの整数値を返します。

CGEventSetIntegerValueField

Quartzイベントのフィールドの整数値を設定します。

 

CGEventGetDoubleValueField

Quartzイベントのフィールドの浮動小数点値を返します。

 

CGEventSetDoubleValueField

Quartzイベントのフィールドの浮動小数点値を設定します。

 


-----


まだこれから研究です。


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

あれ?仕様が変わった? [AppleScript辞書はつくれるか?]

CGPostMouseEvent が使えない?


ss.jpg

セキュリティー向上のために切り捨てられたのか?

それとも、ただのHigh Sierraのバグなのか?

これが使えないのは、ちと辛いです。


PDFで画像が黒くなるバグも何とかして欲しいが、

もっと危険なのが、

『アプリケーションごとにクリップボードが独立してしまう仕様』(バグなの?)

自分しか起きていないのか、SafariでGoogle翻訳を特殊な仕様方法をすると、テキストエディタ.appにコピペできなくなるバグ。


スクリプトエディターを使って、テキストエディタで選択されたテキストをクリップボードにコピー。

Safariで表示したGoogle翻訳へペースト>自動翻訳>翻訳された文章をクリップボードにコピー。

テキストエディタの選択された部分に上書きするようにペースト・・・・・・できない!


この時に、クリップボードの中身はちゃんと翻訳された文章になっているし、他のエディターやSafariにペースト作業をするとちゃんと文字が出るが、なぜかテキストエディタにはSafariでコピーしたはずのテキストではなく、テキストエディタでコピーしたままの文章が出て来てしまう。

なぜ?


頻繁に再現される上、一度そうなると、アプリケーションの再起動をしなければいけなくなる。

どうなってるの?


ss2.jpg




追記があります>続きはここから。


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

MacOS High Sierra 脆弱性のニュースより(転載) [Mac日記]

MacRumorsyより
(Google翻訳)
アップル、iOS、macOS、watchOS、tvOSのベータ版に「KRACK」Wi-Fiの脆弱性が既にパッチされている
2017年10月16日月曜日AM11:46 記者:Juli Clover
Appleは今朝、iMoreのRene Ritchieに、現代の多くのWi-Fiネットワークを保護するWPA2 Wi-Fi標準の重大な脆弱性にすでにパッチを当てていると述べている。
このエクスプロイトは、現在開発者が利用できるiOS、tvOS、watchOS、およびmacOSのベータ版で対処されており、まもなく消費者に展開されます。
セキュリティ研究者であるMathy VanhoefのKRACK攻撃概念証明
WPA2の脆弱性は、研究者のMathy Vanhoefによって今朝発表されたもので、AppleのMac、iPhone、iPadsを含む何百万ものルータ、スマートフォン、PC、その他のデバイスに影響を及ぼしています。
攻撃者は、鍵の再インストール攻撃(「KRACK」)を使用して、WPA2プロトコルの弱点を悪用して、ネットワークトラフィックを復号化して、クレジットカード番号、ユーザー名、パスワード、写真、およびその他の機密情報を盗聴することができます。特定のネットワーク構成では、攻撃者はネットワークにデータを注入し、マルウェアやその他の悪意のあるソフトウェアをリモートからインストールすることもできます。
これらの脆弱性はWPA2を使用するすべてのデバイスに影響するため、デバイス製造元が直ちに対応する必要がある重大な問題です。 Appleは大抵の場合、主要なセキュリティの悪用を迅速に修正することが多いため、この特定の問題に既に対処していることは驚きではありません。
HTTPSを使用するWebサイトではセキュリティが強化されていますが、不適切な設定のサイトを悪用してHTTPS暗号化を無効にすることができるため、これは信頼できる保護ではないとVanhoef氏は警告します。
AppleのiOSデバイス(およびWindowsマシン)は、LinuxやAndroidを搭載したMacやデバイスほど脆弱ではない。なぜなら、この脆弱性は、使い捨ての暗号化キーを何度も再送信して再利用することができるという欠陥に依存しているからである。 iOSオペレーティングシステムでは許可されていませんが、まだ部分的な脆弱性が存在します。
パッチを適用すると、iOS、macOS、tvOS、およびwatchOSを実行するデバイスは、まだ脆弱なルータやアクセスポイントに接続している場合でも、KRACK方式を使用して悪用することはできません。それでも、消費者はルータを含むすべてのデバイスのファームウェアアップデートを監視する必要があります。
脆弱性に対処する更新プログラムのリリースに先立って、攻撃を心配しているお客様は、公開Wi-Fiネットワークを避け、できる限りイーサネットを使用し、VPNを使用する必要があります。
タグ:セキュリティ、wi-fi、Appleのセキュリティ

nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

早速macOS X 10.13 High Sierra 入れてみました。 [Mac日記]

ss_0.jpg

ss2.jpg


つづいて、アプリケーションの起動確認をしてみました


Adobe CC 2017シリーズ

・Photoshop CC 2017 は起動しました。

・Illustrator CC 2017 は起動しました。

・Dreamweaver CC 2017 は起動しました。

・Bridge CC 2017 は起動しました。

・InDesign CC 2017 は起動しました。

・Adobe Lightroom は起動しました。

・Acrobat DC は起動しました。

・Adobe Creative Cloud は動作しました。

ss1.jpg



・Total Video Converter Pro.app は起動しました。

・OBS Studio 0.14.2 は起動しました。

・LineIn 2.3.0 は起動しました。

・Unity.app は起動しました。

・nanoem.app は起動しました。

・Steamクライアント は起動しました。

・7 Days to Die は起動しました。

ss3.jpg



いまのところ、ここまでは確認できました。

しかし、他の方の環境で必ず起動するという保証できませんので、

古いOSはTimemachine.appでバックアップを取ってからのmacOSバージョンアップをお勧めします。


そして、現在のmacOS 10.13 High Sierra ではセキュリティーの脆弱性が指摘されています。

AppStoreを通さないアプリケーションの使用は控えてくださいとのこと。

今回の脆弱性は、いつの間にかインストールされてしまうものではなく、インストール時にセキュリティー上のパスワードを要求してきます。

どうしても使用する場合には十分注意をするとともに、理解できないパスワード要求への入力はやめた方が良いと思われます。


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

新しいMacOSが来たので、つい... [Mac日記]

はーいしえら.jpg

いきなりごめんなさい。

ついやってしまった。


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

最新のiPhoneを買う理由が見つからない。 [Mac日記]

発表されたばかりの iPhone X & iPhone8 に切り替える理由が見つかりません。
最大の理由が、お値段。
パソコン以下の性能のスマートフォンに、パソコン以上のお金をかける必要がありますか?
その理由の一つに、有機ELを使用したからとか馬鹿馬鹿しい理由があるらしい。他にも、コストの安い部品メーカーから仕入れているはずなのに、今まで以上の値段を設定しているとか、どう考えてもぼったくりである。
すべてのApple製品を手にいれるコレクターならまだしも、ふだん使いの一般ユーザーには全く価値が理解できないスペック。この機種でしか使われていない技術があるわけでもない、アンドロイド携帯ですでに使われている後追い技術ばかりで、買う意味が見つからない。
 某法則発動しかねない状況ですから、今回のiPhoneは失敗でしょうね。
売上高が急降下真っ逆さまで、信頼も真っ逆さま。アップルさん、これから生き残れるのですか?




私個人の意見ですが、今回の新iPhoneは購入せず、一世代前のiPhoneまでで止めておくのが、まだ得策とおもいます。


 

魅力的なスマートフォンって?考えてみよう


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

三角関数をなんとか使いたい [AppleScript辞書はつくれるか?]

...とおもったので、なんとかかんがえてみた。

以前にも紹介したのですが、それとは別のやり方です。


といっても、JavaScriptのお力を借りるという方法ですがね


(* JavaScriptでの書き方

r = 10.0;  // 半径

a = 30;  // 角度(度)

x = r * Math.cos(a / 180 * Math.PI);  // X座標

y = r * Math.sin(a / 180 * Math.PI);  // Y座標

[x,y]; //結果

*)

 

set r to 10.0

set a to 30 -- 30° -- 角度(度)

 

set jsText to "r = " & r & "; a = " & a & ";

x = r * Math.cos(a / 180 * Math.PI); y = r * Math.sin(a / 180 * Math.PI);

[x,y]; //結果をApplescriptに返す"

 

set {x, y} to run script jsText in "Javascript"

{x:x, y:y}

 結果:

{x:8.660254037844, y:5.0}

 

 いろんなやり方があるもんだと改めて感心してます。

 

参考:

http://piyocast.com/as/archives/3225

http://www.tohoho-web.com/js/math.htm

 

 


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

マウスの座標を取得しよう [AppleScript辞書はつくれるか?]

マウスポインターの位置座標を取得しようと思いスクリプトを作成。

ついでにその座標を原点にした128×128ピクセルのキャプチャ画像を取り込んでみることにした。

さらにそのキャプチャー画像を利用してマウスポインターの座標の色を取得した。

 

キャプチャ画像を作るのは

do shell script "screencapture -Rx,y,w,h Filespath"

で問題無かった。

 

そこから色を取得するのは

tell class "NSImage" to set aImage to alloc()'s initWithContentsOfFile:(inputImagePath)

set aRawimg to current application's NSBitmapImageRep's imageRepWithData:(aImage's TIFFRepresentation())

set origColor to (aRawimg's colorAtX:x y:y)

set srgbColSpace to current application's NSColorSpace's deviceRGBColorSpace

set aColor to (origColor's colorUsingColorSpace:srgbColSpace)

set aRed to (aColor's redComponent()) * 255

set aGreen to (aColor's greenComponent()) * 255

set aBlue to (aColor's blueComponent()) * 255

set getColor to {aRed as integer, aGreen as integer, aBlue as integer}

で問題なくできたが、

 

マウスポインターの位置を求めるのが難しかった。

マウスの座標データは

set {x:mouseX, y:mouseY} to current application's class "NSEvent"'s mouseLocation()  

で求められるのですが、

画面を原点にしてではなく、が原点の座標が取得されてしまうのです。上下逆なのです。

キャプチャーやクリックなど他の命令はが基本なのに、これだけはなぜ?

しかたがないので、デスクトップの大きさを調べて割り出せばいけそうなので

tell application "Finder" to set {|左上x座標|, |左上y座標|, |右下x座標|, |右下y座標|} to bounds of window of desktop

set mouseY to |右下y座標| - mouseY

として、左上の座標は[x=0, y=0]の原点になるから、右下のy座標を求めてマウスのy座標を引いてやれば、下からの座標が上からに変換できるのでは?

......と思ってた頃もありました。

これは、使用しているモニタが1つしかないという場合だけに限定できるのであれば使えます。

しかし複数のモニタを使用している場合は、原点の位置とデスクトップの大きさがおぼろげになります。

上記の "bounds of window of desktop" では、第1(プライマリ)のデスクトップと第2(セカンダリ)のデスクトップを並べた全体の大きさが求められるため、|右下y座標|を使ってもズレが生じてしまいます。しかも画面の並べ方によっては原点が左上ではなく、どこに行くかわからないのす。

ss1.jpg

結論として、ずれる量を求めて差し引いてあげる方法でやってみるのがいいかなと、作ってみました。

  

 

  


Applescript ここから


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

macではないが危険?!

なんか、肌がチクチクすると思ったら・・・


スクリーンショット 2017-05-31 11.24.41.png




nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

日本語入力 [Mac日記]

MacOS10.12になってから、ずっと日本語入力に悩んでいました。

アップデートがいくつ来ても、全く改善されない日本語入力。


もう諦めて、Google日本語入力に逃げました。


ss.jpg


いろんなものが解決しました。


入力するたびにカラーホイールが廻り、入力がキャンセルされるとか、日本語が入力ができなくなるとかありましたが、

スッキリしました。


あんまり、Googleさんは入れたくなかたのですがね。


でも入れたおかげで仕事効率が上がりました。よ。


ダウンロードはこちら> https://www.google.co.jp/ime/index.html 



nice!(3)  コメント(0) 
共通テーマ:パソコン・インターネット

Macにも対応、アニメーションツール。 [Mac日記]

ニコニコ動画にで紹介されていましたツールです。

ss1.png



Mac Windows両方に対応してるとのことでした。

nice!(3)  コメント(0) 
共通テーマ:パソコン・インターネット

WebKitを使う [AppleScript辞書はつくれるか?]


(* WebKit *) 

  (* フレームワーク「Webkit.framework」の追加が必要 *)

ss1.jpg



(* 定義 *)

property webview1 : missing value


(* ページ(または画像)を表示 *)

set locationURL to "http://start-mac.blog.so-net.ne.jp"

webview1's setMainFrameURL_(locationURL)

-- web page : "http://start-mac.blog.so-net.ne.jp"

-- URL: "file:///Users/username/Desktop/test.html"

-- path:"/Users/username/Desktop/test.html"

 など


(* 表示中のページタイトルを取得 *)

set theWebTitle to webview1's mainFrameTitle()


(* 表示中のURLを取得 *)

set theWebURL to webview1's mainFrameURL()


(* ページに表示されているテキストを取得 *)

set theWebText to webview1's mainFrame's DOMDocument's documentElement's outerText()


(* ページのソースを取得 *)

set theWebSource to webview1's mainFrame's DOMDocument's documentElement's outerHTML()



(* ローディングの終了を確認 *)

  set noter1 to current application's NSNotificationCenter's defaultCenter()

  noter1's addObserver_selector_name_object_(me, "webLoaded:", current application's WebViewProgressFinishedNotification, user_webview)


on webLoaded_(aNotification) --ハンドル名の末尾の":"と"_"の扱いに注意!

    log "Loading Finish"

end webLoaded_ 



(* 選択しているテキストを取得 *)

set ans to webview1's mainFrame's frameView's documentView's selectedString()

set ans to ans as unicode text


webview1's mainFrame's frameView's documentView's selectAll()   --|全て選択|

webview1's mainFrame's frameView's documentView's deselectAll()   --|選択を全て解除|


webview1's mainFrame's reload()   --|リロード|

 

 

ページを表示しないエラーがあるので...


nice!(2)  コメント(0) 
共通テーマ:パソコン・インターネット

Macのウイルスのチェック [Macのウイルス対策]

macでもアンチウイルスソフトをインストールしておけば済むのだが、していないマシンのチェックをするなら


--applescript

(* 削除設定 *)

set deleteCommand to false (* Mac.BackDoor.iWormの削除するなら false を true *)

(* Flashbackの削除はわからない *)


set commandText to ""

(* トロイの木馬Flashbackの確認 *)

set f to false

try

do shell script "defaults read /Applications/Safari.app/Contents/Info LSEnvironment"

on error message

if (message contains "does not exist") then

try

do shell script "defaults read ~/.MacOSX/environment DYLD_INSERT_LIBRARIES"

on error message

if not (message contains "does not exist") then set f to true

end try

else

set f to true

end if

end try

if f then

set commandText to "トロイの木馬「Flashback」に感染の疑い" & return

else

set commandText to "Ok :  No [Flashback]" & return

end if


(* ワームMac.BackDoor.iWormの確認 *)

try

tell application "Finder" to name of folder "Library:Application Support:JavaW" of startup disk

set commandText to commandText & "ワーム[Mac.BackDoor.iWorm]に感染の疑い" & return

if deleteCommand then

try

do shell script "rm /Library/Application Support/JavaW/JavaW /Library/LaunchDaemons/com.JavaW.plist"

set commandText to commandText & " Mac.BackDoor.iWormの削除成功" & return

on error

set commandText to commandText & " Mac.BackDoor.iWormの削除失敗" & return

end try

end if

on error

set commandText to commandText & "Ok : No [Mac.BackDoor.iWorm]" & return

end try


(* 結果ログ *)

commandText


--参考サイト http://minto.tech/mac-wiruscheck/


これでよいじゃろか?
もっとも、メジャーな2種類のウイルスしか確認していませんが・・・。


nice!(3)  コメント(0) 
共通テーマ:パソコン・インターネット

うん、もういい。わかった。 [Mac日記]

再発した。

     nihongoErr.jpg

日本語うまく使えなくなってしまったようですね。Macは。


「よう」と入れて『けよう』って返ってくるのはなに?

nice!(3)  コメント(0) 
共通テーマ:パソコン・インターネット

Table View(テーブルビュー)を使う(6) [AppleScript辞書はつくれるか?]

Table Viewで編集したデータを取得する場合は?


 ss.jpg




Table Viewへデータを送る場合は、

 

set theData to {{name:"太郎", kana:"taro"},{name:"花子", kana:"hanako"}}

set my tableView to theData


で送れるけれど、

編集をしたデータを取得したい場合はどうしたらいいか?


set theData to my tableView

 

としたら取得できない。(編集前のデータのままになってしまう)


なので、Table Viewのオブジェクトからという考えではなく、array controller から取得するのが良いみたい。


set theData to arrayController's arrangedObjects()

 

 

 

こんなかんじ。

 

 


nice!(3)  コメント(0) 
共通テーマ:パソコン・インターネット

特定の場所の検索をする [AppleScript辞書はつくれるか?]

ただ特定の場所(フォルダ内)の検索をしたい。それだけ

set |検索先のフォルダ| to POSIX path of (choose folder with prompt "フォルダを選択:")


set |検索名| to text returned of (display dialog "検索する文字を入力してください" default answer "")


do shell script "du -a \"" & |検索先のフォルダ| & "\" | grep \"" & |検索名| & "\" | cut -f2"





続きはここから


nice!(2)  コメント(0) 
共通テーマ:パソコン・インターネット

きっと役に立たない記事(3) [AppleScript辞書はつくれるか?]

日本語に使える化けないエンコードはどれだろう?
ちょっと違う方向から調べてみる。

数字,ひらがな,濁点・半濁点,漢字,第二水準漢字、を一部選び、エンコードしたのちに元のエンコードに戻す作業をしてみて、その2つのデータをダンプして比較してみた。

ss1.jpg

エラーが出たもの、逆エンコードで元に戻らなかったものは削除されています。
いちぶ、どうしてそのエンコードで日本語が表示できているのか疑問な部分もありますが、おおよそそこんなかんじに。

続きはここから。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

Photoshop CC シリーズで再インストールを促されるエラー [macの不具合には?]

(追記)最後に加筆しています。(2017.1.25)



Adobe PhotoshopCCシリーズで、認証できないから再インストールくださいというようなエラーが頻繁に出ました。

ss170116.jpg

どうしたらいいのかと思ったらサポートページがありました。


 


https://helpx.adobe.com/creative-cloud/kb/configuration-error-cs5.html


Errss0.jpg

 


Configuration error | CC, CS 設定エラー


CCまたはCSアプリケーションを起動する際の設定エラー


Creative CloudCC)またはCreative SuiteCS)アプリケーションを起動すると、製品のアンインストールまたは再インストールを求める設定エラー15または16が表示されます。 このエラーは、アプリケーションフォルダへのアクセス許可が正しく設定されていないことを意味します。


解消:ライセンスフォルダへのアクセス許可を復元する

使用しているOS(オペレーティングシステム)の指示に従って、Adobe PCDおよびSLStoreフォルダへのアクセス許可を設定します。



Mac OS

SLStoreとAdobe PCDの両方のフォルダのアクセス権を設定します。

1. SLStoreフォルダの権限を設定します。

2. Adobe PCDフォルダの権限を設定します。


Windows 10

Windows 10のエラーを解決するには、以下のすべての手順を実行します。

1. フォルダと検索オプションを設定します。

2. 権限を設定します。


Windows 8

Windows 8のエラーを解決するには、以下の3つの手順をすべて実行します。

1. フォルダと検索オプションを設定します。

2. SLStoreフォルダを変更します。

3. 権限を設定します。


Windows Vista/7

Windows Vista / 7のエラーを解決するには、以下の3つの手順をすべて実行します。

1. フォルダと検索オプションを設定します。

2. SLStoreフォルダを変更します。

3. 権限を設定します。


Windows XP Professional

Windows XP Proのエラーを解決するには、以下の3つの手順をすべて実行します。

1. フォルダと検索オプションを設定します。

2. SLStoreフォルダを変更します。

3.権限を設定します。


Windows XP Home

Windows XP Homeでエラーを解決するには、以下の4つの手順をすべて実行します。

1. セーフモードでWindowsを起動します。

2. フォルダと検索オプションを設定します。

3. SLStoreフォルダを変更します。

4. 権限を設定します。


これでエラーが回避できるようです。


・・・って、『SLStoreフォルダ』ってどこだよ?

そこから探す羽目に。


続きはここから。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

きっと役に立たない記事(2) [AppleScript辞書はつくれるか?]

先日の続き

エンコードを調べるということだけで言えば、
file --mime-encoding $HOME/desktop/test.txt
が使えるとされているけれど、
結果:"/Users/myUser/desktop/test.txt: utf-8"
と末尾にそのエンコードが表示されてはんだんできる。
しかしこれは、UTF-8だけで他のエンコードではちゃんと表示されない。

じゃぁ、すべてのエンコードでどのように取得できるかのスクリプトを組んで実行してみた。
scriptwindow.jpg

続きはここから。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

きっと役に立たない記事(1) [AppleScript辞書はつくれるか?]

最近シェルスクリプトにハマり、何かとシェルスクリプトを使っているのですが、なんせデフォルトで入っているバージョンが低すぎて、やりたいことにたどり着かない場面も出て来たりします。
その一つが、テキストファイルのエンコードを正確に認識すること。・・・これができない。
バージョンアップをすれば使えるコマンドもあるのですが、そうしてもデフォルトのままでなんとかならないかと四苦八苦。

そうしてるうちに何を作っているかわからないプログラムができてきたが・・・使えない。



ss.jpg
 iconv -l ?

   file --mime-encoding?


結局はうまくいかなかった役に立たない話です。




続きはここから。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

なにこれ? [Mac日記]

今回のMacOS10.12の不具合の多さに、仕事が滞る場合も出て困っています。

再現性は低いのですが、日本語変換が変になって・・・
ss.jpg
なんですか?
最近では、小さい「ょ」も『し』と読むんですかね?

いや、再起動したら出なくなりましたけど。
何か日本語関係で不具合が起きてますね。変換に時間がかかるようになったり、変換を強制的にやめてしまったり。
変換だけじゃなくて、何かやるたびにFinderが考え込んでポインターが虹色の円にまったりして。
OSを次々と出すのはいいのですが、この辺の普通にできて良いところの不具合を解消してもらえないものなんですかね?
Macを使ってもう20年を超えたと思うのですが、マッキントッシュのOSの System7以降で言うところの最悪多使い勝手になってます。
こんなことでは、ただでさえシェアが低いMacがもっと売れなくなってしまいますよ?

以前、どこかのHPかブログで、『Appleだって会社だから利益を考えて新しいMacを出す時期を考えているんだ』みたいな擁護するコメントがありました。それは結構なことだと思いますよ。企業としてはね。ですが、利益を考えてばかりでユーザーを置いてけぼりにしてしまうのでは、ユーザーが離れていくばかりです。
『利益を出す』ことを考えるのであれば、Appleという企業が発展をしてきた『ユーザーが欲しがる革新的な物を売る』ことができないのでしょうか? いまのAppleはただのコンピューターメーカーの一つで埋もれてしまっています。iPhoneだって、もう、売れ行きが頭打ちです。Appleでしかできないことがもう今はなくなっている気がします。既存の技術に頼るのではなく、Appleでしかできない事を『意欲的に』開発していかない限り、おそらく今のままでは来年でAppleは倒産してしまうでしょう。私のような長いこと付き合ってきたユーザーは今あるマックを買い込みしばらく他付き合っていくでしょうが、新しいユーザーはいなくなるでしょうね。

ジョブズのような神様をもう一度なんていりません。
Appleは独自のOSをいくらでも改造ができるのですから、コンピューターができるもう一段階上のことができるんですよ。たとえば・・・・・・やめとこ。
端末でもせっかくクラウドまで行けたんだから、『演算はMac』と『インターフェースは端末(iPhoneではない)』をつかってバンバンいけるはずなんです。

さすがApple!みたいな、革新的な何かを待つ夢を来年は見たいと思います。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

エディタのログを表示状態にする [AppleScript辞書はつくれるか?]

スクリプトエディタで実行したときに、ログウインドウの表示し忘れてしまうことがあるり、いちいち切り替えてやり直すのがめんどくさい。


毎日同じことを繰り返してしまうので、自動化できないかとやってみた。


 

(* スクリプトエディタのメッセージログを表示状態にします *)

activate application "Script Editor"

tell application "System Events"

set menuList to (name of (every UI element of menu 1 of menu bar item "表示" of menu bar 1 of process "Script Editor")) as text

if menuList contains "ログを表示" then click menu item "ログを表示" of menu 1 of menu bar item "表示" of menu bar 1 of process "Script Editor"

click checkbox "メッセージ" of group 1 of splitter group 1 of splitter group 1 of window 1 of application process "Script Editor"

 

end tell



ss.jpg

 


これでいいのかな?



nice!(0)  コメント(2) 
共通テーマ:パソコン・インターネット

コミケお疲れ様でした。 [Mac以外]

コミケに参加された皆様、お疲れ様でした。
当日に当サークルスペースまで足をお運びいただきました皆様、ありがとうございました。
かったですね_。途中何度も気をいかけましたよ。はい。朝は涼しかったものの、会場の蒸し暑さには本当にやられました。
できれば、もっともっとお話がしたかったですね。OS 9 時代のハイパーカードの話が出たときは、「きたーーーー!」と思いましたが、あまり足止めしてもと思いツッコミが甘くなってしまいましたが、一日中楽しく過ごすことができました。
イベント終了間際に、看板を欲しいと言ってくれた方がいらっしゃいましたので、差し上げましたが、あんなやりっぱなしの看板でも喜んでいただけたなら幸いです。その方の「もっとイラストが見たかったなぁ。」という言葉に、あぁ...用意を断念したもう一冊のイラスト本を頑張って作ればよかったなぁと、反省をしています。
また次回も頑張りたいと思います。

p.s. 最近のコミケに限らず同人誌即売会というイベントが18禁作品ばかりになっている中、評論・情報系の心地よさときたら・・・。









nice!(9)  コメント(0) 
共通テーマ:パソコン・インターネット

簡単ホームフォルダのアドレス取得 [AppleScript辞書はつくれるか?]

今までどんだけ苦労してきたのか、


   tell application "Finder"

home as text

   end tell

-->alias "startupdisk:Users:Username:"


と、まわり道して取得していたのが

 

   path to home folder

-->alias "startupdisk:Users:Username:" 

で、良かったとか泣けてきます。

 

 

ちなみに、デスクトップは

 

   tell application "Finder"

desktop as text

   end tell

--> alias "startupdisk:Users:Username:Desktop:"

 

が、

 

   path to desktop

--> alias "startupdisk:Users:Username:Desktop:"

 

となります。


nice!(9)  コメント(0) 
共通テーマ:パソコン・インターネット

(めも)メインになってる画面の大きさを取得する。 [AppleScript辞書はつくれるか?]

使っているモニターが1つの場合なら

 tell application "Finder"

  set DesktopSize to bounds of window of desktop

 end tell

で、十分に情報が得られるんですが、複数のモニターでミラーリングではない場合はすべてのモニターの描画範囲が取得されてしまう。

 

メイン画面の大きさが知りたい場合は、

tell (do shell script "/usr/sbin/system_profiler SPDisplaysDataType | grep Resolution | tail -n 1") to set {screenWidth, screenHeight} to {word 2, word 4}

という1行でもいいらしいんだけど、何か不安。

 

システムプロファイラからディスプレイ情報を取得しているんだけど、

Graphics/Displays:


    Intel HD Graphics 4000:


      Chipset Model: Intel HD Graphics 4000

      Type: GPU

      Bus: Built-In

      VRAM (Dynamic, Max): 1536 MB

      Vendor: Intel (0x8086)

      Device ID: 0x0166

      Revision ID: 0x0009

      Displays:

        LE1711:

          Resolution: 1280 x 1024 @ 60 Hz

          Pixel Depth: 32-Bit Color (ARGB8888)

          Display Serial Number: 3CQ0102R8G  

          Mirror: Off

          Online: Yes

          Rotation: Supported

          Adapter Type: Apple Mini DisplayPort To VGA Adapter

          Adapter Firmware Version: 1.03

        E2240:

          Resolution: 1920 x 1080 @ 60 Hz

          Pixel Depth: 32-Bit Color (ARGB8888)

          Display Serial Number: 010NDSK94614

          Main Display: Yes

          Mirror: Off

          Online: Yes

          Rotation: Supported

 

ってな感じに

 

どうも、先のスクリプトではメイン画面が・・・ではなく複数のモニタの最後のリストのモニタ情報を取得してるんだよね?

メインモニタが必ず最後にくるという約束事なのかどうかわからない。

よく見ると情報の中にメインモニターにしているという情報があるからそれを生かしたい。

 

で、書き直しました。

 

set {screenWidth, screenHeight} to {0, 0}

set GraphicsDisplays to do shell script "/usr/sbin/system_profiler SPDisplaysDataType"

set displaysParagraph to every paragraph of GraphicsDisplays

repeat with obj in displaysParagraph

if obj contains "Resolution" then tell obj to set {screenWidth, screenHeight} to {(word 2 as number), (word 4 as number)}

if obj contains "Main Display: Yes" then exit repeat

end repeat


{screenWidth, screenHeight}

(*

結果一例

{1920, 1080}

*)

 

こんなのでどうでしょう?

ケチをつけたいのではないけど、不安だったので。



nice!(9)  コメント(0) 
共通テーマ:パソコン・インターネット

(メモ)キャラクターボイスがインストールされているか調べるには [AppleScript辞書はつくれるか?]

say命令で使う音声(キャラクターボイス)がインストールされているかどうか調べる。

Otoya --音也?音屋?音家?

Kyouko --響子?

標準ではどちらかしか入っていないからねぇ。

システム環境設定を見れば一発でわかるんだけど、Applescriptで取得したい場合がある。


 

set voiceCharacter to (do shell script "say -v ?")

set flg to voiceCharacter contains "Otoya" --"Kyoko"


flg --> true or false

 

 

ようは、シェルスクリプトの

  say -v ?

を使ってボイスリストを取得して、この中にあるか調べているだけ。



nice!(10)  コメント(0) 
共通テーマ:パソコン・インターネット

(メモ)スクリーンセーバーを今起動する。 [AppleScript辞書はつくれるか?]

スクリーンセーバーを起動する。・・・だけのメモ記事

tell application "System Events"

set ScreenSaverName to name of current screen saver

start screen saver ScreenSaverName

end tell


もしくは

tell application "System Events" to start current screen saver







nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット
前の30件 | -