某所での反応への返事
> □ 同じペイジが際限なくタブとして追加できるのは、そう使う方が悪いのだろう
> か…
main.c の tabA() のコメントを外せばそうはならないけど。
一応、patch をつけます。
> □ たとえば、片方のタブででかいファイルを download 中に、別のタグに切り換
> えられるようになれば、ほぼ、タブブラウザとなれるのではないだろうか
これは、とてもきついので、外部ブラウザで wget でも使ってください。
> □ 試せてないのですが、リンクをクリックした際、『新しいウィンドウで開く』
> ようなアンカーの場合って、勝手にタブにしてくれるんでしょうか?
frame の時は(まだ?)全然考慮してません。
案外、勝手に新しいタブを作られる方がうっとうしいかも。
--- main.c.orig Wed Oct 30 10:38:17 2002
+++ main.c Wed Oct 30 12:16:54 2002
@@ -5288,8 +5288,8 @@
return n;
}
-void
-newT(void)
+static void
+_newT(void)
{
TabBuffer *tag;
Buffer *buf;
@@ -5301,6 +5301,7 @@
buf = newBuffer(Currentbuf->width);;
copyBuffer(buf, Currentbuf);
+ buf->nextBuffer = NULL;
for (i = 0; i < MAX_LB; i++)
buf->linkBuffer[i] = NULL;
(*buf->clone)++;
@@ -5315,6 +5316,12 @@
nTab++;
CurrentTab->nextTab = tag;
CurrentTab = tag;
+}
+
+void
+newT(void)
+{
+ _newT();
displayBuffer(Currentbuf, B_FORCE_REDRAW);
}
@@ -5387,17 +5394,19 @@
tabA(void)
{
Buffer *buf;
+ Anchor *an;
- newT();
+ an = retrieveCurrentAnchor(Currentbuf);
+ if (an == NULL)
+ an = retrieveCurrentForm(Currentbuf);
+ if (an == NULL)
+ return;
+
+ _newT();
buf = Currentbuf;
followA();
if (buf != Currentbuf)
delBuffer(buf);
-/*
- else {
+ else
closeT();
- return;
- }
-*/
- displayBuffer(Currentbuf, B_NORMAL);
}
ちょっと修正。(って、使ってみた人いるのかな?)
--- main.c.orig Wed Oct 30 10:38:17 2002
+++ main.c Wed Oct 30 10:51:15 2002
@@ -5301,6 +5301,7 @@
buf = newBuffer(Currentbuf->width);;
copyBuffer(buf, Currentbuf);
+ buf->nextBuffer = NULL;
for (i = 0; i < MAX_LB; i++)
buf->linkBuffer[i] = NULL;
(*buf->clone)++;