Error processing request

Parameters

CONTENT_LENGTH0
REQUEST_METHODGET
REQUEST_URI/revision/A+fullscreen+toplevel?V=23
QUERY_STRINGV=23
CONTENT_TYPE
DOCUMENT_URI/revision/A+fullscreen+toplevel
DOCUMENT_ROOT/var/www/nikit/nikit/nginx/../docroot
SCGI1
SERVER_PROTOCOLHTTP/1.1
HTTPSon
REMOTE_ADDR172.70.126.175
REMOTE_PORT36506
SERVER_PORT4443
SERVER_NAMEwiki.tcl-lang.org
HTTP_HOSTwiki.tcl-lang.org
HTTP_CONNECTIONKeep-Alive
HTTP_ACCEPT_ENCODINGgzip, br
HTTP_X_FORWARDED_FOR18.224.33.107
HTTP_CF_RAY87d42cc85a0e29ad-ORD
HTTP_X_FORWARDED_PROTOhttps
HTTP_CF_VISITOR{"scheme":"https"}
HTTP_ACCEPT*/*
HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
HTTP_CF_CONNECTING_IP18.224.33.107
HTTP_CDN_LOOPcloudflare
HTTP_CF_IPCOUNTRYUS

Body


Error

Unknow state transition: LINE -> END

-code

1

-level

0

-errorstack

INNER {returnImm {Unknow state transition: LINE -> END} {}} CALL {my render_wikit {A fullscreen toplevel} ----\n\[MG\]\ In\ Tk\ 8.5,\ there's\ a\ new\ -fullscreen\ option\ for\ \[wm\ attributes\]\ which\ does\ this.\n======\n\ \ toplevel\ .foo\n\ \ wm\ attributes\ .foo\ -fullscreen\ 1\n======\n\[SPB\]\ -\ 26\ Apr\ 2012\ -\ Moved\ \[MG\]'s\ comment\ to\ the\ top,\ as\ it\ is\ now\ the\ most\ relevant.\n======\n\n\[alove\]\ 18\ Oct\ 2004\ -\ \ This\ page\ illustrates\ a\ couple\ ways\ to\ create\ full-screen\ toplevel\ windows.\ \ I\ wrote\ these\ for\ Windows\ XP,\ but\ the\ bottom\ one\ is\ confirmed\ to\ work\ for\ Linux\ too.\ \ \nIf\ someone\ can\ tell\ me\ how\ to\ zoom\ a\ window\ in\ other\ OS\ versions,\ please\ let\ me\ know.\n======\n\ package\ require\ Tcl\ 8.4\n\ \n\ wm\ title\ .\ \"Full-screen\ with\ decorations\"\n\ set\ a\ \[expr\ \{int(\[winfo\ screenwidth\ .\]\ *\ 0.5)\}\]\n\ set\ b\ \[expr\ \{int(\[winfo\ screenheight\ .\]\ *\ 0.5)\}\]\n\ wm\ geometry\ .\ 400x300+\[expr\ \$a\ -\ 200\]+\[expr\ \$b\ -\ 150\]\ \ \;#\ window\ is\ centered\n\ update\ idletasks\ \n\ wm\ attributes\ .\ -topmost\ no\n\ wm\ state\ .\ zoomed\ \ \;#\ This\ command\ for\ Windows\ only\n\ \n\ frame\ .x\ -highlightthickness\ 0\ -bg\ #c8efff\n\ place\ .x\ -x\ 0\ -y\ 0\ -relwidth\ 1\ -relheight\ 1\n\n\ bind\ .\ <KeyPress-Escape>\ \"wm\ iconify\ .\"\n======\n\[alove\]\ 11\ Oct\ 2004\ -\ This\ one\ has\ no\ decorations.\ \ \n======\n\ package\ require\ Tcl\ 8.4\n\n\ wm\ title\ .\ \"Full-screen\ with\ NO\ decorations\"\n\ wm\ overrideredirect\ .\ yes\ \ \ \ \ \ \;#\ removes\ window\ decorations\n\ wm\ geometry\ .\ \[winfo\ screenwidth\ .\]x\[winfo\ screenheight\ .\]+0+0\n\ update\ idletasks\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \;#\ updates\ the\ full-screen\n\ wm\ attributes\ .\ -topmost\ yes\ \ \ \;#\ stays\ on\ top\ -\ needed\ for\ Linux\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \;#\ on\ Win9x,\ if\ =no,\ alt-tab\ will\ malfunction\n\ frame\ .x\ -highlightthickness\ 0\ -bg\ #c8efff\n\ place\ .x\ -x\ 0\ -y\ 0\ -relwidth\ 1\ -relheight\ 1\n\n\ button\ .x.min\ -text\ \"Minimize\"\ -bg\ #ffdbff\ -font\ \"arial\ 10\ bold\"\ \\\n\ \ \ \ -command\ x_iconify\n\ place\ \ .x.min\ -x\ \[expr\ \[winfo\ screenwidth\ \ .\]\ -\ 140\]\ -y\ 10\n\n\ button\ .x.end\ -text\ \"Close\"\ -bg\ #ffdbff\ -font\ \"arial\ 10\ bold\"\ \\\n\ \ \ \ -command\ \"destroy\ .\"\n\ place\ \ .x.end\ -x\ \[expr\ \[winfo\ screenwidth\ \ .\]\ -\ 60\]\ -y\ 10\n\n\ bind\ .\ <Expose>\ \"wm\ overrideredirect\ .\ yes\;\ focus\ -force\ .\"\n\ bind\ .\ <KeyPress-Escape>\ x_iconify\n\n\ proc\ x_iconify\ \{\}\ \{\n\ wm\ overrideredirect\ .\ no\n\ wm\ iconify\ .\n\ \}\n======\nThis\ one\ works\ on\ WindowsXP,\ probably\ Win9x,\ and\ according\ to\ \[rdt\],\ now\ also\ on\ Linux.\ \nJust\ click\ on\ the\ \"minimize\"\ button\ or\ the\ <Escape>\ key.\ \nThe\ trick\ is\ to\ use\ <Expose>\ to\ detect\ that\ the\ window\ is\ being\ deiconified.\ \nThe\ \"focus\ force\ .\"\ is\ necessary\ for\ Windows,\ otherwise\ the\ <escape>\ doesn't\ work\ \nuntil\ you\ click\ on\ the\ window\ first.\n\nAdam\ Love\n--\n\n\[rdt\]\ says\ on\ Linux,\ this\ works\ if\ the\ 'wm\ overrideredirect\ ...'\ comes\ before\ the\ \n'wm\ geometry\ ...'\ if\ the\ 'wm\ attributes\ ...'\ is\ commented\ out\ it\ gives\ an\ error.\n\n\[alove\]\ Thanks,\ I've\ corrected\ the\ code\ above.\ \ NOTE:\ If\ you\ set\ topmost=no,\ you\ will\ have\ problems\ with\ alt-tab\ on\ Windows\ -\ the\ icon\ will\ disappear\ and\ you\ can\ only\ close\ the\ program\ via\ the\ task\ manager\ (end\ task).\n\n(by\ Andy\ M)\ '''window::or'''\ http://wiki.tcl.tk/4186\ -\ This\ is\ a\ package\ that\ takes\ care\ of\ some\ nuances\ of\ going\ fullscreen\n\n----\n\n\[SC\]\ Tried\ this\ on\ my\ two-screen\ xinerama\ linux\ setup\ and\ of\ course\ the\ window\ spans\ 'both'\ screens.\ A\ little\ bit\ of\ digging\ reveals\ the\ culprit\ as\ the\ X11\ WidthOfScreen\ macro\ and\ \na\ little\ more\ reveals\ that\ finding\ the\ true\ width\ of\ the\ screen\ isn't\ that\ hard.\ \nHere's\ a\ little\ bit\ of\ C\ code\ as\ memo\ of\ how\ it\ might\ be\ done:\n======c\n\ /*\ screen-info.c\n\ \ *\n\ \ *\ Compile\ with:\n\ \ *\ \ \ cc\ -o\ screen-info\ screen-info.c\ -I/usr/X11R6/include\ -L/usr/X11R6/lib\ -lXinerama\ -lX11\ -lXext\n\ \ *\n\ \ */\n\n\ #include\ <stdio.h>\n\ #include\ <unistd.h>\n\ #include\ <X11/Xlib.h>\n\ #include\ <X11/Xutil.h>\n\ #include\ <X11/extensions/Xinerama.h>\n\n\ int\ main(int\ argc,\ char\ *argv\[\])\ \{\n\ \ \ \ \ Display\ *display\;\n\ \ \ \ \ Screen\ *screen\;\n\ \ \ \ \ int\ i\;\n\n\ \ \ \ \ display\ =\ XOpenDisplay(NULL)\;\n\ \ \ \ \ if(!display)\ \{\n\ \ \ \ \ \ \ \ \ printf(\"Couldn't\ open\ display\ %s\\n\",display)\;\n\ \ \ \ \ \}\n\n\ \ \ \ \ if\ (\ XineramaIsActive(\ display\ )\ )\ \{\n\ \ \ \ \ \ \ int\ nscreens\;\n\ \ \ \ \ \ \ XineramaScreenInfo\ *\ info\ =\ XineramaQueryScreens(\ display,\ &nscreens\ )\;\n\n\ \ \ \ \ \ \ printf(\"Xinerama\ is\ active\\n\")\;\n\n\ \ \ \ \ \ \ for(\ i\ =\ 0\;\ i<\ nscreens\;\ i++\ )\ \{\n\ \ \ \ \ \ \ \ \ printf(\ \"Screen\ %d:\ (%d)\ %d+%d+%dx%d\\n\",\ i,\ info\[i\].screen_number,\ \n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ info\[i\].x_org,\ info\[i\].y_org,\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ info\[i\].width,\ info\[i\].height\ )\;\n\ \ \ \ \ \ \ \}\n\ \ \ \ \ \}\ else\ \{\n\ \ \ \ \ \ \ printf(\"Xinerama\ is\ not\ active\\n\")\;\n\ \ \ \ \ \}\n\n\ \ \ \ \ screen\ =\ DefaultScreenOfDisplay(display)\;\n\ \ \ \ \ printf(\ \"DefaultScreenOfDisplay,\ %d\ x\ %d\\n\",\ \n\ \ \ \ \ \ \ \ \ \ \ \ \ WidthOfScreen(screen),\ HeightOfScreen(screen)\ )\;\n\n\ \ \ \ \ return(0)\;\n\ \}\n======\n\n<<categories>>\ Example\ |\ GUI regexp2} CALL {my render {A fullscreen toplevel} ----\n\[MG\]\ In\ Tk\ 8.5,\ there's\ a\ new\ -fullscreen\ option\ for\ \[wm\ attributes\]\ which\ does\ this.\n======\n\ \ toplevel\ .foo\n\ \ wm\ attributes\ .foo\ -fullscreen\ 1\n======\n\[SPB\]\ -\ 26\ Apr\ 2012\ -\ Moved\ \[MG\]'s\ comment\ to\ the\ top,\ as\ it\ is\ now\ the\ most\ relevant.\n======\n\n\[alove\]\ 18\ Oct\ 2004\ -\ \ This\ page\ illustrates\ a\ couple\ ways\ to\ create\ full-screen\ toplevel\ windows.\ \ I\ wrote\ these\ for\ Windows\ XP,\ but\ the\ bottom\ one\ is\ confirmed\ to\ work\ for\ Linux\ too.\ \ \nIf\ someone\ can\ tell\ me\ how\ to\ zoom\ a\ window\ in\ other\ OS\ versions,\ please\ let\ me\ know.\n======\n\ package\ require\ Tcl\ 8.4\n\ \n\ wm\ title\ .\ \"Full-screen\ with\ decorations\"\n\ set\ a\ \[expr\ \{int(\[winfo\ screenwidth\ .\]\ *\ 0.5)\}\]\n\ set\ b\ \[expr\ \{int(\[winfo\ screenheight\ .\]\ *\ 0.5)\}\]\n\ wm\ geometry\ .\ 400x300+\[expr\ \$a\ -\ 200\]+\[expr\ \$b\ -\ 150\]\ \ \;#\ window\ is\ centered\n\ update\ idletasks\ \n\ wm\ attributes\ .\ -topmost\ no\n\ wm\ state\ .\ zoomed\ \ \;#\ This\ command\ for\ Windows\ only\n\ \n\ frame\ .x\ -highlightthickness\ 0\ -bg\ #c8efff\n\ place\ .x\ -x\ 0\ -y\ 0\ -relwidth\ 1\ -relheight\ 1\n\n\ bind\ .\ <KeyPress-Escape>\ \"wm\ iconify\ .\"\n======\n\[alove\]\ 11\ Oct\ 2004\ -\ This\ one\ has\ no\ decorations.\ \ \n======\n\ package\ require\ Tcl\ 8.4\n\n\ wm\ title\ .\ \"Full-screen\ with\ NO\ decorations\"\n\ wm\ overrideredirect\ .\ yes\ \ \ \ \ \ \;#\ removes\ window\ decorations\n\ wm\ geometry\ .\ \[winfo\ screenwidth\ .\]x\[winfo\ screenheight\ .\]+0+0\n\ update\ idletasks\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \;#\ updates\ the\ full-screen\n\ wm\ attributes\ .\ -topmost\ yes\ \ \ \;#\ stays\ on\ top\ -\ needed\ for\ Linux\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \;#\ on\ Win9x,\ if\ =no,\ alt-tab\ will\ malfunction\n\ frame\ .x\ -highlightthickness\ 0\ -bg\ #c8efff\n\ place\ .x\ -x\ 0\ -y\ 0\ -relwidth\ 1\ -relheight\ 1\n\n\ button\ .x.min\ -text\ \"Minimize\"\ -bg\ #ffdbff\ -font\ \"arial\ 10\ bold\"\ \\\n\ \ \ \ -command\ x_iconify\n\ place\ \ .x.min\ -x\ \[expr\ \[winfo\ screenwidth\ \ .\]\ -\ 140\]\ -y\ 10\n\n\ button\ .x.end\ -text\ \"Close\"\ -bg\ #ffdbff\ -font\ \"arial\ 10\ bold\"\ \\\n\ \ \ \ -command\ \"destroy\ .\"\n\ place\ \ .x.end\ -x\ \[expr\ \[winfo\ screenwidth\ \ .\]\ -\ 60\]\ -y\ 10\n\n\ bind\ .\ <Expose>\ \"wm\ overrideredirect\ .\ yes\;\ focus\ -force\ .\"\n\ bind\ .\ <KeyPress-Escape>\ x_iconify\n\n\ proc\ x_iconify\ \{\}\ \{\n\ wm\ overrideredirect\ .\ no\n\ wm\ iconify\ .\n\ \}\n======\nThis\ one\ works\ on\ WindowsXP,\ probably\ Win9x,\ and\ according\ to\ \[rdt\],\ now\ also\ on\ Linux.\ \nJust\ click\ on\ the\ \"minimize\"\ button\ or\ the\ <Escape>\ key.\ \nThe\ trick\ is\ to\ use\ <Expose>\ to\ detect\ that\ the\ window\ is\ being\ deiconified.\ \nThe\ \"focus\ force\ .\"\ is\ necessary\ for\ Windows,\ otherwise\ the\ <escape>\ doesn't\ work\ \nuntil\ you\ click\ on\ the\ window\ first.\n\nAdam\ Love\n--\n\n\[rdt\]\ says\ on\ Linux,\ this\ works\ if\ the\ 'wm\ overrideredirect\ ...'\ comes\ before\ the\ \n'wm\ geometry\ ...'\ if\ the\ 'wm\ attributes\ ...'\ is\ commented\ out\ it\ gives\ an\ error.\n\n\[alove\]\ Thanks,\ I've\ corrected\ the\ code\ above.\ \ NOTE:\ If\ you\ set\ topmost=no,\ you\ will\ have\ problems\ with\ alt-tab\ on\ Windows\ -\ the\ icon\ will\ disappear\ and\ you\ can\ only\ close\ the\ program\ via\ the\ task\ manager\ (end\ task).\n\n(by\ Andy\ M)\ '''window::or'''\ http://wiki.tcl.tk/4186\ -\ This\ is\ a\ package\ that\ takes\ care\ of\ some\ nuances\ of\ going\ fullscreen\n\n----\n\n\[SC\]\ Tried\ this\ on\ my\ two-screen\ xinerama\ linux\ setup\ and\ of\ course\ the\ window\ spans\ 'both'\ screens.\ A\ little\ bit\ of\ digging\ reveals\ the\ culprit\ as\ the\ X11\ WidthOfScreen\ macro\ and\ \na\ little\ more\ reveals\ that\ finding\ the\ true\ width\ of\ the\ screen\ isn't\ that\ hard.\ \nHere's\ a\ little\ bit\ of\ C\ code\ as\ memo\ of\ how\ it\ might\ be\ done:\n======c\n\ /*\ screen-info.c\n\ \ *\n\ \ *\ Compile\ with:\n\ \ *\ \ \ cc\ -o\ screen-info\ screen-info.c\ -I/usr/X11R6/include\ -L/usr/X11R6/lib\ -lXinerama\ -lX11\ -lXext\n\ \ *\n\ \ */\n\n\ #include\ <stdio.h>\n\ #include\ <unistd.h>\n\ #include\ <X11/Xlib.h>\n\ #include\ <X11/Xutil.h>\n\ #include\ <X11/extensions/Xinerama.h>\n\n\ int\ main(int\ argc,\ char\ *argv\[\])\ \{\n\ \ \ \ \ Display\ *display\;\n\ \ \ \ \ Screen\ *screen\;\n\ \ \ \ \ int\ i\;\n\n\ \ \ \ \ display\ =\ XOpenDisplay(NULL)\;\n\ \ \ \ \ if(!display)\ \{\n\ \ \ \ \ \ \ \ \ printf(\"Couldn't\ open\ display\ %s\\n\",display)\;\n\ \ \ \ \ \}\n\n\ \ \ \ \ if\ (\ XineramaIsActive(\ display\ )\ )\ \{\n\ \ \ \ \ \ \ int\ nscreens\;\n\ \ \ \ \ \ \ XineramaScreenInfo\ *\ info\ =\ XineramaQueryScreens(\ display,\ &nscreens\ )\;\n\n\ \ \ \ \ \ \ printf(\"Xinerama\ is\ active\\n\")\;\n\n\ \ \ \ \ \ \ for(\ i\ =\ 0\;\ i<\ nscreens\;\ i++\ )\ \{\n\ \ \ \ \ \ \ \ \ printf(\ \"Screen\ %d:\ (%d)\ %d+%d+%dx%d\\n\",\ i,\ info\[i\].screen_number,\ \n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ info\[i\].x_org,\ info\[i\].y_org,\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ info\[i\].width,\ info\[i\].height\ )\;\n\ \ \ \ \ \ \ \}\n\ \ \ \ \ \}\ else\ \{\n\ \ \ \ \ \ \ printf(\"Xinerama\ is\ not\ active\\n\")\;\n\ \ \ \ \ \}\n\n\ \ \ \ \ screen\ =\ DefaultScreenOfDisplay(display)\;\n\ \ \ \ \ printf(\ \"DefaultScreenOfDisplay,\ %d\ x\ %d\\n\",\ \n\ \ \ \ \ \ \ \ \ \ \ \ \ WidthOfScreen(screen),\ HeightOfScreen(screen)\ )\;\n\n\ \ \ \ \ return(0)\;\n\ \}\n======\n\n<<categories>>\ Example\ |\ GUI} CALL {my revision {A fullscreen toplevel}} CALL {::oo::Obj4134271 process revision/A+fullscreen+toplevel} CALL {::oo::Obj4134269 process}

-errorcode

NONE

-errorinfo

Unknow state transition: LINE -> END
    while executing
"error $msg"
    (class "::Wiki" method "render_wikit" line 6)
    invoked from within
"my render_$default_markup $N $C $mkup_rendering_engine"
    (class "::Wiki" method "render" line 8)
    invoked from within
"my render $name $C"
    (class "::Wiki" method "revision" line 31)
    invoked from within
"my revision $page"
    (class "::Wiki" method "process" line 56)
    invoked from within
"$server process [string trim $uri /]"

-errorline

4