ライバルの KHTML が Safari のコアに採用されてしまった事それ自体や、その際に Mozilla / Gecko は肥満している
といういちばん突かれたくない所をドンピシャに突かれてしもたという、例の「 Safari ショック」がかなーり堪えたらしく、そのあたりを見据えての Mozilla の現状反省と反論とこれからのアティチュードの表明文書、といったあたり。 Safari ショックのでかさを裏付けるよーに、コンスーマ向け Mozilla 系ブラウザとしての Phoenix や特に Chimera 改め Camino の事を重点的に語ってる。
この中でも述べられてるけど、 Camino の最新 Nightly は内蔵 Gecko がすでに 1.4a になってる。その関係で Nightly ビルドは常用するにはちとキツイくらいの不安定な状態がしばらく続く感じだけど、いいかげん新しいめの Gecko に載せ替えて欲しいってのは以前から望んでたことだしー。
Safari も非公開テスト版の v62 や v64 でタブブラウザ化したり他でいろいろ前進してるよーだし。楽しみですなぁ。ずっとヒサンだったマクブラウザ界の未来に、いろんな夢を持てるようになった事がスバラシイ。
ときにさとみかんパンチ
って何デスカ。わらい。
うちの娘は自分の臍をいじいじしながら、「オパーイ。オパーイ。」と言います。どうしたら良いのでしょうか?
[ nipple より ]
それで萌え尽きさせようったって、そうはいかないぞっ。
ウチのサイトは Safari で表示すると悲しいほど表示が崩れていたわけで、事あるごとに「放置」とか言ってたけど、気が変わって対処してみた。わらい。なんかぼくに対する挑戦のような気がしてきたので。わらい。おおわらい。
このサイトのデフォスタイル「ぴんくすとらいぷ」の、角の丸っこい囲いの下辺や、 h3
要素内の先頭につく黄色い玉の画像、ある条件の dt
要素内先頭末尾につくマゼンダ色の星マーク 。これがブッ壊れてたのが一番目立つ崩れ。
これらは :before
/ :after
疑似要素および content
プロパティ対応のブラウザの場合、そのあたりの CSS2 記述を使って出してる。ところが Safari は、ブロック系要素の :before
/ :after
の content
で出した文字や画像は、前後が改行されるバグがあって、そのせいで表示が壊れる。よって、角丸下辺をこのやり方で出すのは止めて、 WinIE/MacIE と同様にスクリプトで中身カラッポ div
を生成する方式に変更。黄色い玉や星マークは、全ブラウザにおいて背景画像として出すように変更…。なんか敗北感…。
border-color: transparent
を認識できなくて、アンカー内にある画像にいちいち青い枠線が出やがるのは、 WinIE と同じように背景色に馴染む枠色を逐一指定するドロナワ方式を採らざるを得なかった。だっせぇ。a
要素しか内包しない display: inline
な要素はボックスモデルの破綻が顕著で、 margin
, padding
が効かなくなりがち。具体的にはページの最初と終わりにあるナビリンク部分あたりに問題が出てた。効かなくなるパターンにはっきりしたものがあるかまだ掴みきれてない。とりあえず margin
や padding
がかろうじて効く場所を探して、なんとか強引に意図する表示を再現。
open-quote
, close-quote
を解釈できない。よって q
要素先頭末尾に出るはずの引用符(カギカッコなど)が出てなかった。q:before
/ q:after
の content
に直接カギカッコを指定して対処。ただし content
で日本語文字を直接使うと文字化けしやがるので、数値文字参照で指定。
…してみたのだけど、どういうわけか効かないことの方が多いという。表示完了後に再度リロードしないとダメくさ。ハァ…。
overflow
は visible
以外の値が hidden
扱いになる。コンテナブロックを突き破ってはみ出す (visible
) ぶんには構わないけど、勝手に切り取られ (hidden
) ては困るわけで、本来 overflow: auto
を指定してる要素に対して visible
を再設定。clear
プロパティのバグは、対処不能なので、 float
を使ったレイアウトが出来ない場所はその望みのレイアウトを破棄。float
すると二重に表示されるという、発生条件不明の大バグは対処不能なので放置。CSS オンリーで Safari を避けてなんぞを記述するには、Safari Spacer Hack ちう技が使える。 MacIE5 の「バックスラッシュハック」などと同様に CSS 解釈バグを使う方法なんで、あんまりやりたくは無いんけど、どうしてもしょうがない時にはやむを得ないかなと…。
ちなみに、 CSS を読み込むための link
要素をスクリプトで生成する場合、 document.write
で head
要素内に「書く」やり方では出来ないみたい。文書の読み込み時に DOM ツリーを操作して、 head
要素内に link
要素を「生成」しないとダメ。まぁこの方がマシなやり方だし。ウチでは可能な限り、 HTML の要素を document.write
することは避けてるし。
ちうわけで、Safari の表示崩れ対処は、 WinIE5 や Opera6 に対してと同じく、 JavaScript が有効でないと発動しませんです。
clear
プロパティのバグ (2003/03/07 - 14:10)
「三つ以上連続する高さもバラバラなブロックの float」でチラリと触れた「 Safari で float がうまくいかないの件」、原因判明ー。別の場所で一旦 none
以外の値に設定した clear
プロパティを改めて clear: none
に再設定したとしても、なぜか変更が効かない模様。たとえばこんなの。
div { float: left; clear: left; width: 25% }
div { clear: none }
セレクタ二つとも単純に div
要素への指定をしてるだけ。この場合、一つ目で宣言した clear: left
は二つ目の clear: none
でカスケード上書きされて、結果的に div
要素は clear: none
となるのは自明ですやね。ところが Safari では
clear: left
のままの扱いになってる。つまり、この CSS を適用した HTML にて div
要素を 複数並べてみたとしても、 div
要素が出現するたびに clear: left
で回り込みが解除されて、どうあってもフロートしない(= div
が横に並ばない)。
非置換のブロック要素である div
だからダメなのかというとそうでもなく、いちばん float
が指定される事の多い img
要素であっても事情は同じ。つまり、一旦 clear
に
:
none
以外を指定してしまったら、二度と clear
の値は変更できないというひどいバグ。
改称問題も終了したっちうわけで 0.7 になったらすぃ。アプリ名もしっかり Camino になってた。
べつに 0.7 になったからって、内蔵の Gecko は依然 1.0.1 のようだし、フォームでのバックスペース戻り(文字入力中にいきなり前ページへ戻っちゃう不愉快なバグ)も健在とゆー。プロファイルデータの置き場所も ~/Library/Application Support/Chimera だったりするけど、これは仕方のない事やねー。旧 Chimera と併用したいケースがまだあるやもしれんし。
でもって Chimera に対する Cocoa Gestures の設定も、名前が変わったからか引き継がれてない。というか Cocoa Gestures があらかじめ Chimera に対して用意してた(とおぼしき)プリセットももちろん反映してなかった。うぐぅ。あれやこれやと設定しなおした。うぐぅ。アプリの名前とかでモノを判別するんでなくて、クリエータコードで判別してホスィってのは、Finder Info やリソースフォークへの依存を減らす方向の OSX 時代には無意味な叫びなのでしょーかー。名前やフルパスに依存するのってスマートじゃない気がするんだけどなぁ。
あ、 Camino アプリ本体のクリエータコードは依然 'CHIM' 。これもおいそれとは変更できないですやねー。イニシエの Teach Text 、後の SimpleText の 'ttxt' が現代の OSX の TextEdit.app にそのまま受け継がれてるよーに。わらい。
UA 自称名は
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.0.1) Gecko/20030306 Camino/0.7
となってる。
Safari における CSS の overflow
プロパティ、これもちょっと実装がヘン。 visible
以外の値はすべて hidden
であるかのように扱われる。困るなぁ。ただ、 hidden
化で見えなくなったテキストはみ出し部分も、その周辺をドラッグ選択してコピーするとちゃんとクリップボードに入る。一応。
まぁ、
visible
以外の値の overflow
が指定されると、要素によっては表示が完全消失するバグのある MacIE5 よりはマシではあるけど、西暦 2003 年の現代としては、 CSS 対応を謳うブラウザなら overflow
プロパティごときキッチリ実装して登場してきてほしい…。
いやーこれについては、ぼくも前々から不満に思っていてですね。いや、いくつかの常駐系ユーティリティのおまけ機能に時報機能が付いてくる事はあっても(例:PTHClock)、時報欲しさのために余計なモノは常駐させておきたくないという気分もあって。時計は純正のメニューバークロックで間に合ってるわけで。
上記リンク先では、任意のサウンドファイルを QuickTime Player で開く AppleScript を書いて、それを cron で定期的に起動する方式。でも、インタフェイスを持つ GUI アプリを利用する方法は、たとえばこの場合だと、常に QuickTime Player が起動してくるからちょっと煩わしい。
なのでぼくはずいぶん前から、 Play Sound Scripting Addition を使うやり方をしとります。これはいわゆるアプリケーション形式の OSAX でして、起動したとしてもバックグランドに存在するだけの、目には見えないモノ。
tell application "Play Sound"
構文で呼べるのだろうけど、何となく ~/Library/ScriptingAdditions 下に置いてみたり。以下のコマンドを登録。osascript
は AppleScript を走らせるコマンド。この例では /System/Library/Sounds/Glass.aiff を鳴らしますよ。
osascript -e 'tell application "Play Sound" to play file ((path to system folder as text) & "Library:Sounds:Glass.aiff")'
path to system folder
は何なのかというと「システムフォルダのパス」を表す。 AppleScript で使われる HFS パス表記の場合、起動ディスクの名前は人それぞれだし、時と場合と気分によっても変えがちなワケで。
で、こんな感じ、この例では 30 分ごとに時報を鳴らすとゆーワケ。
ふたつめにあるのは、にっきの見出し一覧とか RSS とかを自動生成させてるシェルスクリプトを 6 時間間隔で起動してるヤツ。ほかにもいろいろアヤシイ自動作業がこの下にいっぱい羅列されとります。わらい。 OSX まんせー。
このように osascript
コマンド以下を直接 crontab に登録するのもいいけど、シェルスクリプトとして書いて、そのシェルスクリプトをここへ登録するほうが、処理内容の変更(つまり、鳴らすサウンドファイルを変えるとか)がラクだし、実際はそうしとります。
#!/bin/sh
osascript -e 'tell application "Play Sound" to play file ((path to system folder as text) & "Library:Sounds:Glass.aiff")'
osascript -e 'tell application "Play Sound" to quit'
osascript
コマンドは起動時の負荷が多少重いです。システム全体の負荷が高いときなんかは、ジャストの時間に時報が鳴らない事の方が多い。任意の音ファイルを再生できるウニコマンドを入れてあるなら、そっちを使った方がいいです。ただ Play Sound は、 QuickTime が対応してる音ファイルなら何でも再生できるってゆー利点が捨てがたいっす。「なんで OSX には時報機能が無いんだっ (2)」に続く。
float
(2003/03/05 - 21:00)
ジャンルリスト部分 の CSS デスガ。これは h3
と ul
を内包する div
6 つ(それぞれの height
算出値は当然バラバラ)すべてを float:left
として、4 番目のみ clear:left
としてるです。すると Mozilla 系や Opera6 では、意図通りに div
ブロックが横 3 つ、縦 2 つにキレイに並んだ。でも WinIE はそうならない。5 番目と 6 番目が、clear:left
してある 4 番目のブロックよりも上にある float
ブロックの右側に流し込まれちゃう。ちなみに MacIE5 では 4 番目のブロックを clear:left
しなくても意図どおりの配置になったりして。
このへんの挙動は特に CSS 仕様書で定められてるワケじゃないから、どっちが正しいとも言えないんだけど。
浮動ボックスの外上辺は、ソース文書内でそれ以前に出現する要素が生成する、ブロックボックスあるいは浮動ボックスの外上辺より上にきてはならない。
[ 9.5.1 浮動体を配置する(Positioning the float: the 'float' property) - REC-CSS2 邦訳 より ]
…という事なので、 5 番目のブロックも 6 番目のブロックも、 4 番目のブロックより上に行ってはダメ。
久しぶりに思い出したのだけど、 MacIE5 には「ブロック要素に float
と clear
を同時に与えると float
が効かなくなる時がある」怪現象があったんだった。ホントうっとおしいコレ…。まぁ MacIE5 のシェアが大幅減少中なので、そろそろ見切りつけてもいいんだけど、その後釜最有力の Safari は件の部分の float
も、例によってまるでダメという…。くっそー。 float
させたい div
の兄弟ブロックや親要素ブロックに clear
が指定されてるとまるでフロートしないっぽい。その部分の clear
は関係ないだろーがっっ。どーなっとるんだっっ。……例によって放置。
にっき記事のジャンル分類を細かくしてみた。なんか多彩な話題を扱っているかのように見えるですなぁ。わらい。
今、過去にっきのジャンル分け作業が着々と進行中なんだけども、これまでの大ざっぱな分け方だと、ジャンル別の一覧リストそれぞれが巨大になる事が発覚。巨大な上に分類が大ざっぱじゃ、どうしようもなく使えないリストにしかならないしー。
- 03 March 2003
- Due to circumstances beyond our control, the project has been renamed Camino.
- 03/03/2003 21:16
- s/Navigator/Camino
- 03/03/2003 17:43
- Change Chimera and Navigator to Camino, round 1.
というわけで改称問題は Camino へ、という事に決まったらすぃ。Camino はスペイン語で「道」らすぃ。これまで "Navigator" (Navigator.app) だった OSX システム上におけるアプリ名も Camino になるらすぃ。
のかな?
…このサイトのあちこちの Chimera の文字も Camino に変えて回らなきゃいかんなぁ。「Chimera べんりセット」も「Camino べんりセット」に改称せにゃいかんのかぁー。…「髪の便利セット」? まるきり毛髪促進剤みたいだな。いやだなぁ…。
Phoenix の改称問題はいつ決着するのかな。
Security Update 2003-03-03 ウプデータン掛けて再起動したらテンキーの数字が打てなくなって焦ったーよ。
原因はユニバーサルアクセスのマウスキー(テンキー操作でマウス移動できるようにするヤツ)が勝手に ON になってたからだったーよ。てか option キーの 5 連打で ON になるよーになっとるんかコレ…。今後またうっかり ON になっちゃうとアレだし、「ユニバーサルアクセスのショートカットを使用する」を OFF にしといた。
しかし、ユニバーサルアクセスのズーム機能ってオモロいっすよね。別に視覚障害者でなくても、その場で画面をグリングリン滑らかに拡大縮小できるってのは、いろいろと役に立つ場面が。画像いぢりの時とか。(笑)
[ antipop 経由 ]
自らの製作物の取り扱いを、どこまで・あるいはどのような形態で他人に許すかを、製作者自らが明示シテオクためのしくみ。人間向けの文書と
や法的裏付けへのリンクを
と共に、許可する利用形態の明確化を RDF のメタデータ記述により実現して、機械で自動処理させる事までを視野に入れてるあたりが、近未来の要請であるセマンティック Web 的。
で、まぁ自分のサイトにコレをどう適用するかなんだけど。このにっきを含む文書ネタ系のページなら:
このあたりでいいと考えているのだけども。問題はイラスト展示ページとか同人誌ページとか、そっち。公開物品そのものが二次著作なモノたち。それこそ、一時著作の側でこの Creative Commons でライセンス形態が明示されてないと始まらないとゆー。
しかし、パロディ系まんが同人方面の二次著作ってのは、誤解を恐れず言えば、その二次著作パロディという法的グレーゾーンについて、元権利者の側においては、個々の案件に対応するだけのコスト的問題やパロディシーンの盛り上がりが商業的にペイバックをもたらす事などから「黙認」 or 「あえて触れない」の形を取りつつも、法的なクリア性を表だって問われたら「不許可」を言い渡さざるを得ない…てな姿勢の事が多い。で、同人屋側もあんましグレーゾーンをハッキリ明確にされたくないというか、明確にされていない事への甘えが大きいって事もありの。つまり双方がグレーゾーンに相互依存しちゃってて「そっとしておいてくれ」みたいな雰囲気も(笑)。しかしそういうグレーを明確に白と黒へ線引きするものの一つがこの Creative Commons だったりするわけで。…ちょっち手におえないッス。