aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/sample
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tk/sample')
-rw-r--r--ext/tk/sample/24hr_clock.rb1
-rw-r--r--ext/tk/sample/binding_sample.rb1
-rw-r--r--ext/tk/sample/bindtag_sample.rb1
-rw-r--r--ext/tk/sample/binstr_usage.rb1
-rw-r--r--ext/tk/sample/btn_with_frame.rb1
-rw-r--r--ext/tk/sample/cd_timer.rb1
-rw-r--r--ext/tk/sample/cmd_res_test.rb1
-rw-r--r--ext/tk/sample/demos-en/anilabel.rb1
-rw-r--r--ext/tk/sample/demos-en/aniwave.rb1
-rw-r--r--ext/tk/sample/demos-en/arrow.rb1
-rw-r--r--ext/tk/sample/demos-en/bind.rb1
-rw-r--r--ext/tk/sample/demos-en/bitmap.rb1
-rw-r--r--ext/tk/sample/demos-en/button.rb1
-rw-r--r--ext/tk/sample/demos-en/check.rb1
-rw-r--r--ext/tk/sample/demos-en/check2.rb1
-rw-r--r--ext/tk/sample/demos-en/clrpick.rb1
-rw-r--r--ext/tk/sample/demos-en/colors.rb1
-rw-r--r--ext/tk/sample/demos-en/combo.rb1
-rw-r--r--ext/tk/sample/demos-en/cscroll.rb1
-rw-r--r--ext/tk/sample/demos-en/ctext.rb1
-rw-r--r--ext/tk/sample/demos-en/dialog1.rb1
-rw-r--r--ext/tk/sample/demos-en/dialog2.rb1
-rw-r--r--ext/tk/sample/demos-en/entry1.rb1
-rw-r--r--ext/tk/sample/demos-en/entry2.rb1
-rw-r--r--ext/tk/sample/demos-en/entry3.rb1
-rw-r--r--ext/tk/sample/demos-en/filebox.rb1
-rw-r--r--ext/tk/sample/demos-en/floor.rb1
-rw-r--r--ext/tk/sample/demos-en/floor2.rb1
-rw-r--r--ext/tk/sample/demos-en/form.rb1
-rw-r--r--ext/tk/sample/demos-en/goldberg.rb1
-rw-r--r--ext/tk/sample/demos-en/hscale.rb1
-rw-r--r--ext/tk/sample/demos-en/icon.rb1
-rw-r--r--ext/tk/sample/demos-en/image1.rb1
-rw-r--r--ext/tk/sample/demos-en/image2.rb1
-rw-r--r--ext/tk/sample/demos-en/image3.rb1
-rw-r--r--ext/tk/sample/demos-en/items.rb1
-rw-r--r--ext/tk/sample/demos-en/knightstour.rb1
-rw-r--r--ext/tk/sample/demos-en/label.rb1
-rw-r--r--ext/tk/sample/demos-en/labelframe.rb1
-rw-r--r--ext/tk/sample/demos-en/mclist.rb1
-rw-r--r--ext/tk/sample/demos-en/menu.rb1
-rw-r--r--ext/tk/sample/demos-en/menu84.rb1
-rw-r--r--ext/tk/sample/demos-en/menubu.rb1
-rw-r--r--ext/tk/sample/demos-en/msgbox.rb1
-rw-r--r--ext/tk/sample/demos-en/msgbox2.rb1
-rw-r--r--ext/tk/sample/demos-en/paned1.rb1
-rw-r--r--ext/tk/sample/demos-en/paned2.rb1
-rw-r--r--ext/tk/sample/demos-en/pendulum.rb1
-rw-r--r--ext/tk/sample/demos-en/plot.rb1
-rw-r--r--ext/tk/sample/demos-en/puzzle.rb1
-rw-r--r--ext/tk/sample/demos-en/radio.rb1
-rw-r--r--ext/tk/sample/demos-en/radio2.rb1
-rw-r--r--ext/tk/sample/demos-en/radio3.rb1
-rw-r--r--ext/tk/sample/demos-en/ruler.rb1
-rw-r--r--ext/tk/sample/demos-en/sayings.rb1
-rw-r--r--ext/tk/sample/demos-en/search.rb1
-rw-r--r--ext/tk/sample/demos-en/spin.rb1
-rw-r--r--ext/tk/sample/demos-en/states.rb1
-rw-r--r--ext/tk/sample/demos-en/style.rb1
-rw-r--r--ext/tk/sample/demos-en/text.rb1
-rw-r--r--ext/tk/sample/demos-en/textpeer.rb1
-rw-r--r--ext/tk/sample/demos-en/tkencoding.rb1
-rw-r--r--ext/tk/sample/demos-en/toolbar.rb1
-rw-r--r--ext/tk/sample/demos-en/tree.rb1
-rw-r--r--ext/tk/sample/demos-en/ttkbut.rb1
-rw-r--r--ext/tk/sample/demos-en/ttkmenu.rb1
-rw-r--r--ext/tk/sample/demos-en/ttknote.rb1
-rw-r--r--ext/tk/sample/demos-en/ttkpane.rb1
-rw-r--r--ext/tk/sample/demos-en/ttkprogress.rb1
-rw-r--r--ext/tk/sample/demos-en/twind.rb1
-rw-r--r--ext/tk/sample/demos-en/twind2.rb1
-rw-r--r--ext/tk/sample/demos-en/unicodeout.rb1
-rw-r--r--ext/tk/sample/demos-en/vscale.rb1
-rw-r--r--ext/tk/sample/demos-jp/anilabel.rb1
-rw-r--r--ext/tk/sample/demos-jp/aniwave.rb1
-rw-r--r--ext/tk/sample/demos-jp/arrow.rb1
-rw-r--r--ext/tk/sample/demos-jp/bind.rb1
-rw-r--r--ext/tk/sample/demos-jp/bitmap.rb1
-rw-r--r--ext/tk/sample/demos-jp/button.rb1
-rw-r--r--ext/tk/sample/demos-jp/check.rb1
-rw-r--r--ext/tk/sample/demos-jp/check2.rb1
-rw-r--r--ext/tk/sample/demos-jp/clrpick.rb1
-rw-r--r--ext/tk/sample/demos-jp/colors.rb1
-rw-r--r--ext/tk/sample/demos-jp/combo.rb1
-rw-r--r--ext/tk/sample/demos-jp/cscroll.rb1
-rw-r--r--ext/tk/sample/demos-jp/ctext.rb1
-rw-r--r--ext/tk/sample/demos-jp/dialog1.rb1
-rw-r--r--ext/tk/sample/demos-jp/dialog2.rb1
-rw-r--r--ext/tk/sample/demos-jp/entry1.rb1
-rw-r--r--ext/tk/sample/demos-jp/entry2.rb1
-rw-r--r--ext/tk/sample/demos-jp/entry3.rb1
-rw-r--r--ext/tk/sample/demos-jp/filebox.rb1
-rw-r--r--ext/tk/sample/demos-jp/floor.rb1
-rw-r--r--ext/tk/sample/demos-jp/floor2.rb1
-rw-r--r--ext/tk/sample/demos-jp/form.rb1
-rw-r--r--ext/tk/sample/demos-jp/goldberg.rb1
-rw-r--r--ext/tk/sample/demos-jp/hscale.rb1
-rw-r--r--ext/tk/sample/demos-jp/icon.rb1
-rw-r--r--ext/tk/sample/demos-jp/image1.rb1
-rw-r--r--ext/tk/sample/demos-jp/image2.rb1
-rw-r--r--ext/tk/sample/demos-jp/image3.rb1
-rw-r--r--ext/tk/sample/demos-jp/items.rb1
-rw-r--r--ext/tk/sample/demos-jp/knightstour.rb1
-rw-r--r--ext/tk/sample/demos-jp/label.rb1
-rw-r--r--ext/tk/sample/demos-jp/labelframe.rb1
-rw-r--r--ext/tk/sample/demos-jp/mclist.rb1
-rw-r--r--ext/tk/sample/demos-jp/menu.rb1
-rw-r--r--ext/tk/sample/demos-jp/menu84.rb1
-rw-r--r--ext/tk/sample/demos-jp/menu8x.rb1
-rw-r--r--ext/tk/sample/demos-jp/menubu.rb1
-rw-r--r--ext/tk/sample/demos-jp/msgbox.rb1
-rw-r--r--ext/tk/sample/demos-jp/msgbox2.rb1
-rw-r--r--ext/tk/sample/demos-jp/paned1.rb1
-rw-r--r--ext/tk/sample/demos-jp/paned2.rb1
-rw-r--r--ext/tk/sample/demos-jp/pendulum.rb1
-rw-r--r--ext/tk/sample/demos-jp/plot.rb1
-rw-r--r--ext/tk/sample/demos-jp/puzzle.rb1
-rw-r--r--ext/tk/sample/demos-jp/radio.rb1
-rw-r--r--ext/tk/sample/demos-jp/radio2.rb1
-rw-r--r--ext/tk/sample/demos-jp/radio3.rb1
-rw-r--r--ext/tk/sample/demos-jp/ruler.rb1
-rw-r--r--ext/tk/sample/demos-jp/sayings.rb1
-rw-r--r--ext/tk/sample/demos-jp/search.rb1
-rw-r--r--ext/tk/sample/demos-jp/spin.rb1
-rw-r--r--ext/tk/sample/demos-jp/states.rb1
-rw-r--r--ext/tk/sample/demos-jp/style.rb1
-rw-r--r--ext/tk/sample/demos-jp/text.rb1
-rw-r--r--ext/tk/sample/demos-jp/textpeer.rb1
-rw-r--r--ext/tk/sample/demos-jp/toolbar.rb1
-rw-r--r--ext/tk/sample/demos-jp/tree.rb1
-rw-r--r--ext/tk/sample/demos-jp/ttkbut.rb1
-rw-r--r--ext/tk/sample/demos-jp/ttkmenu.rb1
-rw-r--r--ext/tk/sample/demos-jp/ttknote.rb1
-rw-r--r--ext/tk/sample/demos-jp/ttkpane.rb1
-rw-r--r--ext/tk/sample/demos-jp/ttkprogress.rb1
-rw-r--r--ext/tk/sample/demos-jp/twind.rb1
-rw-r--r--ext/tk/sample/demos-jp/twind2.rb1
-rw-r--r--ext/tk/sample/demos-jp/unicodeout.rb1
-rw-r--r--ext/tk/sample/demos-jp/vscale.rb1
-rw-r--r--ext/tk/sample/editable_listbox.rb1
-rw-r--r--ext/tk/sample/encstr_usage.rb1
-rw-r--r--ext/tk/sample/figmemo_sample.rb1
-rw-r--r--ext/tk/sample/irbtk.rb1
-rw-r--r--ext/tk/sample/menubar1.rb1
-rw-r--r--ext/tk/sample/menubar2.rb1
-rw-r--r--ext/tk/sample/menubar3.rb1
-rw-r--r--ext/tk/sample/multi-ip_sample.rb1
-rw-r--r--ext/tk/sample/multi-ip_sample2.rb1
-rw-r--r--ext/tk/sample/optobj_sample.rb1
-rw-r--r--ext/tk/sample/propagate.rb1
-rw-r--r--ext/tk/sample/remote-ip_sample.rb1
-rw-r--r--ext/tk/sample/remote-ip_sample2.rb1
-rwxr-xr-xext/tk/sample/safe-tk.rb1
-rw-r--r--ext/tk/sample/scrollframe.rb1
-rw-r--r--ext/tk/sample/tcltklib/lines1.rb1
-rw-r--r--ext/tk/sample/tcltklib/lines2.rb1
-rw-r--r--ext/tk/sample/tcltklib/lines3.rb1
-rw-r--r--ext/tk/sample/tcltklib/lines4.rb1
-rw-r--r--ext/tk/sample/tcltklib/safeTk.rb1
-rw-r--r--ext/tk/sample/tcltklib/sample0.rb1
-rw-r--r--ext/tk/sample/tcltklib/sample1.rb1
-rw-r--r--ext/tk/sample/tcltklib/sample2.rb1
-rw-r--r--ext/tk/sample/tkalignbox.rb1
-rw-r--r--ext/tk/sample/tkballoonhelp.rb1
-rw-r--r--ext/tk/sample/tkbiff.rb1
-rw-r--r--ext/tk/sample/tkbrowse.rb1
-rw-r--r--ext/tk/sample/tkcombobox.rb1
-rw-r--r--ext/tk/sample/tkdialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/ICONS/viewIcons.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/barchart5.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/calendar.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/graph6.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7a.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7b.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7c.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/pareto.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/plot1.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/plot1b.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/scripts/stipples.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/winop1.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/winop2.rb1
-rw-r--r--ext/tk/sample/tkextlib/bwidget/basic.rb1
-rw-r--r--ext/tk/sample/tkextlib/bwidget/demo.rb1
-rw-r--r--ext/tk/sample/tkextlib/bwidget/dnd.rb1
-rw-r--r--ext/tk/sample/tkextlib/bwidget/manager.rb1
-rw-r--r--ext/tk/sample/tkextlib/bwidget/select.rb1
-rw-r--r--ext/tk/sample/tkextlib/bwidget/tmpldlg.rb1
-rw-r--r--ext/tk/sample/tkextlib/bwidget/tree.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/shell.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/watch.rb1
-rw-r--r--ext/tk/sample/tkextlib/tcllib/datefield.rb1
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos1.rb1
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos2.rb1
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos3.rb1
-rw-r--r--ext/tk/sample/tkextlib/tcllib/xyplot.rb1
-rw-r--r--ext/tk/sample/tkextlib/tile/demo.rb1
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc.rb1
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/hv.rb1
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/ss.rb1
-rw-r--r--ext/tk/sample/tkextlib/tkimg/demo.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/basic.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/buttons.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/command.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/debug.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/dynarows.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/maxsize.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/spreadsheet.rb1
-rw-r--r--ext/tk/sample/tkextlib/tktable/valid.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/bitmaps.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/demo.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/explorer.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/help.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/imovie.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/layout.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/mailwasher.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/outlook-folders.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/random.rb1
-rw-r--r--ext/tk/sample/tkextlib/treectrl/www-options.rb1
-rw-r--r--ext/tk/sample/tkextlib/vu/canvItems.rb1
-rw-r--r--ext/tk/sample/tkextlib/vu/canvSticker.rb1
-rw-r--r--ext/tk/sample/tkextlib/vu/canvSticker2.rb1
-rw-r--r--ext/tk/sample/tkextlib/vu/dial_demo.rb1
-rw-r--r--ext/tk/sample/tkextlib/vu/oscilloscope.rb1
-rw-r--r--ext/tk/sample/tkextlib/vu/pie.rb1
-rw-r--r--ext/tk/sample/tkextlib/vu/vu_demo.rb1
-rw-r--r--ext/tk/sample/tkfrom.rb1
-rw-r--r--ext/tk/sample/tkhello.rb1
-rw-r--r--ext/tk/sample/tkline.rb1
-rw-r--r--ext/tk/sample/tkmenubutton.rb1
-rw-r--r--ext/tk/sample/tkmsgcat-load_rb.rb1
-rw-r--r--ext/tk/sample/tkmsgcat-load_rb2.rb1
-rw-r--r--ext/tk/sample/tkmsgcat-load_tk.rb1
-rw-r--r--ext/tk/sample/tkmulticolumnlist.rb1
-rw-r--r--ext/tk/sample/tkmultilistbox.rb1
-rw-r--r--ext/tk/sample/tkmultilistframe.rb1
-rwxr-xr-xext/tk/sample/tkoptdb-safeTk.rb1
-rw-r--r--ext/tk/sample/tkoptdb.rb1
-rw-r--r--ext/tk/sample/tkrttimer.rb1
-rw-r--r--ext/tk/sample/tksleep_sample.rb1
-rw-r--r--ext/tk/sample/tktextframe.rb1
-rw-r--r--ext/tk/sample/tktextio.rb1
-rw-r--r--ext/tk/sample/tktimer.rb1
-rw-r--r--ext/tk/sample/tktimer2.rb1
-rw-r--r--ext/tk/sample/tktimer3.rb1
-rw-r--r--ext/tk/sample/tktree.rb1
-rw-r--r--ext/tk/sample/ttk_wrapper.rb1
304 files changed, 304 insertions, 0 deletions
diff --git a/ext/tk/sample/24hr_clock.rb b/ext/tk/sample/24hr_clock.rb
index 29f84e0b40..3a030ddaf2 100644
--- a/ext/tk/sample/24hr_clock.rb
+++ b/ext/tk/sample/24hr_clock.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
diff --git a/ext/tk/sample/binding_sample.rb b/ext/tk/sample/binding_sample.rb
index 3c2eb5e1cb..a324a745f3 100644
--- a/ext/tk/sample/binding_sample.rb
+++ b/ext/tk/sample/binding_sample.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
diff --git a/ext/tk/sample/bindtag_sample.rb b/ext/tk/sample/bindtag_sample.rb
index b13364bb68..7b4ac16f64 100644
--- a/ext/tk/sample/bindtag_sample.rb
+++ b/ext/tk/sample/bindtag_sample.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
TkLabel.new(:text=><<EOT, :justify=>:left).pack
diff --git a/ext/tk/sample/binstr_usage.rb b/ext/tk/sample/binstr_usage.rb
index fa81f98b5e..92882b8e1b 100644
--- a/ext/tk/sample/binstr_usage.rb
+++ b/ext/tk/sample/binstr_usage.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require "tk"
diff --git a/ext/tk/sample/btn_with_frame.rb b/ext/tk/sample/btn_with_frame.rb
index d04c95a289..43e120b123 100644
--- a/ext/tk/sample/btn_with_frame.rb
+++ b/ext/tk/sample/btn_with_frame.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require 'tk'
class Button_with_Frame < TkButton
diff --git a/ext/tk/sample/cd_timer.rb b/ext/tk/sample/cd_timer.rb
index e2611fbf23..1efe8cdb7c 100644
--- a/ext/tk/sample/cd_timer.rb
+++ b/ext/tk/sample/cd_timer.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# countdown timer
# usage: cd_timer min [, min ... ]
diff --git a/ext/tk/sample/cmd_res_test.rb b/ext/tk/sample/cmd_res_test.rb
index 8df2e61af7..52c5bc7515 100644
--- a/ext/tk/sample/cmd_res_test.rb
+++ b/ext/tk/sample/cmd_res_test.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require 'tk'
TkOptionDB.readfile(File.expand_path('cmd_resource',
File.dirname(__FILE__)))
diff --git a/ext/tk/sample/demos-en/anilabel.rb b/ext/tk/sample/demos-en/anilabel.rb
index ebd84accd2..a48f4a10e8 100644
--- a/ext/tk/sample/demos-en/anilabel.rb
+++ b/ext/tk/sample/demos-en/anilabel.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# animated label widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/aniwave.rb b/ext/tk/sample/demos-en/aniwave.rb
index 57d58193f6..955f202767 100644
--- a/ext/tk/sample/demos-en/aniwave.rb
+++ b/ext/tk/sample/demos-en/aniwave.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# animated wave demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/arrow.rb b/ext/tk/sample/demos-en/arrow.rb
index 452153d010..46229668c2 100644
--- a/ext/tk/sample/demos-en/arrow.rb
+++ b/ext/tk/sample/demos-en/arrow.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# arrow.rb
#
# This demonstration script creates a canvas widget that displays a
diff --git a/ext/tk/sample/demos-en/bind.rb b/ext/tk/sample/demos-en/bind.rb
index c291e4730a..38f2b46eaf 100644
--- a/ext/tk/sample/demos-en/bind.rb
+++ b/ext/tk/sample/demos-en/bind.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# bind.rb
#
# This demonstration script creates a text widget with bindings set
diff --git a/ext/tk/sample/demos-en/bitmap.rb b/ext/tk/sample/demos-en/bitmap.rb
index 858d067d0d..bb7a13d7b6 100644
--- a/ext/tk/sample/demos-en/bitmap.rb
+++ b/ext/tk/sample/demos-en/bitmap.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# bitmap.rb
#
# This demonstration script creates a toplevel window that displays
diff --git a/ext/tk/sample/demos-en/button.rb b/ext/tk/sample/demos-en/button.rb
index f63a2f3b06..00331002d2 100644
--- a/ext/tk/sample/demos-en/button.rb
+++ b/ext/tk/sample/demos-en/button.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# button.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/check.rb b/ext/tk/sample/demos-en/check.rb
index bf0b73476a..3f3b07bd0a 100644
--- a/ext/tk/sample/demos-en/check.rb
+++ b/ext/tk/sample/demos-en/check.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# check.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/check2.rb b/ext/tk/sample/demos-en/check2.rb
index 4f7b1f07bc..d68b86438a 100644
--- a/ext/tk/sample/demos-en/check2.rb
+++ b/ext/tk/sample/demos-en/check2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# checkbutton widget demo2 (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/clrpick.rb b/ext/tk/sample/demos-en/clrpick.rb
index 6da28cb112..081d11be4f 100644
--- a/ext/tk/sample/demos-en/clrpick.rb
+++ b/ext/tk/sample/demos-en/clrpick.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# clrpick.rb
#
# This demonstration script prompts the user to select a color.
diff --git a/ext/tk/sample/demos-en/colors.rb b/ext/tk/sample/demos-en/colors.rb
index b0ef9590b9..dca147b51e 100644
--- a/ext/tk/sample/demos-en/colors.rb
+++ b/ext/tk/sample/demos-en/colors.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# colors.rb
#
# This demonstration script creates a listbox widget that displays
diff --git a/ext/tk/sample/demos-en/combo.rb b/ext/tk/sample/demos-en/combo.rb
index d77660095c..2f2dd5d6e5 100644
--- a/ext/tk/sample/demos-en/combo.rb
+++ b/ext/tk/sample/demos-en/combo.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# combo.rb --
#
# This demonstration script creates several combobox widgets.
diff --git a/ext/tk/sample/demos-en/cscroll.rb b/ext/tk/sample/demos-en/cscroll.rb
index 40a3afc0ad..eac615d035 100644
--- a/ext/tk/sample/demos-en/cscroll.rb
+++ b/ext/tk/sample/demos-en/cscroll.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# cscroll.rb
#
# This demonstration script creates a simple canvas that can be
diff --git a/ext/tk/sample/demos-en/ctext.rb b/ext/tk/sample/demos-en/ctext.rb
index e04cb283f0..dbd26d21df 100644
--- a/ext/tk/sample/demos-en/ctext.rb
+++ b/ext/tk/sample/demos-en/ctext.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# ctext.rb
#
# This demonstration script creates a canvas widget with a text
diff --git a/ext/tk/sample/demos-en/dialog1.rb b/ext/tk/sample/demos-en/dialog1.rb
index af476ecd05..3fd56a69c3 100644
--- a/ext/tk/sample/demos-en/dialog1.rb
+++ b/ext/tk/sample/demos-en/dialog1.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# a dialog box with a local grab (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/dialog2.rb b/ext/tk/sample/demos-en/dialog2.rb
index efc4b714da..fed14081c8 100644
--- a/ext/tk/sample/demos-en/dialog2.rb
+++ b/ext/tk/sample/demos-en/dialog2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# a dialog box with a global grab (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/entry1.rb b/ext/tk/sample/demos-en/entry1.rb
index fac0afc243..d6b0af2b5d 100644
--- a/ext/tk/sample/demos-en/entry1.rb
+++ b/ext/tk/sample/demos-en/entry1.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# entry (no scrollbars) widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/entry2.rb b/ext/tk/sample/demos-en/entry2.rb
index 05a6c83cfd..460a0a02ea 100644
--- a/ext/tk/sample/demos-en/entry2.rb
+++ b/ext/tk/sample/demos-en/entry2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# entry2.rb
#
# This demonstration script is the same as the entry1.tcl script
diff --git a/ext/tk/sample/demos-en/entry3.rb b/ext/tk/sample/demos-en/entry3.rb
index d3bc629fdf..6170fe1365 100644
--- a/ext/tk/sample/demos-en/entry3.rb
+++ b/ext/tk/sample/demos-en/entry3.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# entry3.rb --
#
# This demonstration script creates several entry widgets whose
diff --git a/ext/tk/sample/demos-en/filebox.rb b/ext/tk/sample/demos-en/filebox.rb
index 0c284c11d4..2bdf0aac10 100644
--- a/ext/tk/sample/demos-en/filebox.rb
+++ b/ext/tk/sample/demos-en/filebox.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# filebox.rb
#
# This demonstration script prompts the user to select a file.#
diff --git a/ext/tk/sample/demos-en/floor.rb b/ext/tk/sample/demos-en/floor.rb
index eb8b23eb7d..b22ccecfd2 100644
--- a/ext/tk/sample/demos-en/floor.rb
+++ b/ext/tk/sample/demos-en/floor.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# floor.rb
#
# This demonstration script creates a canvas widet that displays the
diff --git a/ext/tk/sample/demos-en/floor2.rb b/ext/tk/sample/demos-en/floor2.rb
index 3bfa89a920..a95bfedbfd 100644
--- a/ext/tk/sample/demos-en/floor2.rb
+++ b/ext/tk/sample/demos-en/floor2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
%# floor2.rb
#
# This demonstration script creates a canvas widet that displays the
diff --git a/ext/tk/sample/demos-en/form.rb b/ext/tk/sample/demos-en/form.rb
index abb3e0e10e..b6c6655083 100644
--- a/ext/tk/sample/demos-en/form.rb
+++ b/ext/tk/sample/demos-en/form.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# form widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/goldberg.rb b/ext/tk/sample/demos-en/goldberg.rb
index d3956ef78c..555ad4af35 100644
--- a/ext/tk/sample/demos-en/goldberg.rb
+++ b/ext/tk/sample/demos-en/goldberg.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Ruby/Tk Goldverg demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/hscale.rb b/ext/tk/sample/demos-en/hscale.rb
index e660216967..05a8f39362 100644
--- a/ext/tk/sample/demos-en/hscale.rb
+++ b/ext/tk/sample/demos-en/hscale.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require "tkcanvas"
if defined?($hscale_demo) && $hscale_demo
diff --git a/ext/tk/sample/demos-en/icon.rb b/ext/tk/sample/demos-en/icon.rb
index bab40da214..ab29a0c186 100644
--- a/ext/tk/sample/demos-en/icon.rb
+++ b/ext/tk/sample/demos-en/icon.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# icon.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/image1.rb b/ext/tk/sample/demos-en/image1.rb
index 233cb963d1..c7c0989df8 100644
--- a/ext/tk/sample/demos-en/image1.rb
+++ b/ext/tk/sample/demos-en/image1.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
## image1.rb
#
# This demonstration script displays two image widgets.
diff --git a/ext/tk/sample/demos-en/image2.rb b/ext/tk/sample/demos-en/image2.rb
index 13098af1b6..dfb993e434 100644
--- a/ext/tk/sample/demos-en/image2.rb
+++ b/ext/tk/sample/demos-en/image2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# image2.rb
#
# This demonstration script creates a simple collection of widgets
diff --git a/ext/tk/sample/demos-en/image3.rb b/ext/tk/sample/demos-en/image3.rb
index edb6d231bf..2879cd4bff 100644
--- a/ext/tk/sample/demos-en/image3.rb
+++ b/ext/tk/sample/demos-en/image3.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# image3.rb
#
# This demonstration script creates a simple collection of widgets
diff --git a/ext/tk/sample/demos-en/items.rb b/ext/tk/sample/demos-en/items.rb
index 01a4072cb7..d6de1e557e 100644
--- a/ext/tk/sample/demos-en/items.rb
+++ b/ext/tk/sample/demos-en/items.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# items.rb
#
# This demonstration script creates a canvas that displays the
diff --git a/ext/tk/sample/demos-en/knightstour.rb b/ext/tk/sample/demos-en/knightstour.rb
index 6f96a5be10..1ad82fcc9d 100644
--- a/ext/tk/sample/demos-en/knightstour.rb
+++ b/ext/tk/sample/demos-en/knightstour.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# Based on the widget demo of Tcl/Tk8.5.2
# The following is the original copyright text.
#----------------------------------------------------------------------------
diff --git a/ext/tk/sample/demos-en/label.rb b/ext/tk/sample/demos-en/label.rb
index 5be06eafee..d9cfd92364 100644
--- a/ext/tk/sample/demos-en/label.rb
+++ b/ext/tk/sample/demos-en/label.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# label.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/labelframe.rb b/ext/tk/sample/demos-en/labelframe.rb
index ad968bc061..bd2d8f335e 100644
--- a/ext/tk/sample/demos-en/labelframe.rb
+++ b/ext/tk/sample/demos-en/labelframe.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# labelframe.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/mclist.rb b/ext/tk/sample/demos-en/mclist.rb
index 17019bb15b..61ebff1805 100644
--- a/ext/tk/sample/demos-en/mclist.rb
+++ b/ext/tk/sample/demos-en/mclist.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# mclist.rb --
#
# This demonstration script creates a toplevel window containing a Ttk
diff --git a/ext/tk/sample/demos-en/menu.rb b/ext/tk/sample/demos-en/menu.rb
index a458dbbc14..8b7a524bc6 100644
--- a/ext/tk/sample/demos-en/menu.rb
+++ b/ext/tk/sample/demos-en/menu.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# menus widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/menu84.rb b/ext/tk/sample/demos-en/menu84.rb
index 4fc53962e7..e6e42cb844 100644
--- a/ext/tk/sample/demos-en/menu84.rb
+++ b/ext/tk/sample/demos-en/menu84.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# menus widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/menubu.rb b/ext/tk/sample/demos-en/menubu.rb
index 6e28e813b3..9ff683d09c 100644
--- a/ext/tk/sample/demos-en/menubu.rb
+++ b/ext/tk/sample/demos-en/menubu.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# menubutton.rb
#
# This demonstration script creates a window with a bunch of menus
diff --git a/ext/tk/sample/demos-en/msgbox.rb b/ext/tk/sample/demos-en/msgbox.rb
index d3d66bfeb0..9a5ff51b4b 100644
--- a/ext/tk/sample/demos-en/msgbox.rb
+++ b/ext/tk/sample/demos-en/msgbox.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# msgbox.rb
#
# This demonstration script creates message boxes of various type
diff --git a/ext/tk/sample/demos-en/msgbox2.rb b/ext/tk/sample/demos-en/msgbox2.rb
index c227b59bb1..0eb35c486d 100644
--- a/ext/tk/sample/demos-en/msgbox2.rb
+++ b/ext/tk/sample/demos-en/msgbox2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# msgbox2.rb
#
# This demonstration script creates message boxes of various type
diff --git a/ext/tk/sample/demos-en/paned1.rb b/ext/tk/sample/demos-en/paned1.rb
index d3d66d1b16..c14562a962 100644
--- a/ext/tk/sample/demos-en/paned1.rb
+++ b/ext/tk/sample/demos-en/paned1.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# paned1.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/paned2.rb b/ext/tk/sample/demos-en/paned2.rb
index 02293b0309..0c62235112 100644
--- a/ext/tk/sample/demos-en/paned2.rb
+++ b/ext/tk/sample/demos-en/paned2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# paned2.rb --
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/pendulum.rb b/ext/tk/sample/demos-en/pendulum.rb
index 306ac94a21..833a31084f 100644
--- a/ext/tk/sample/demos-en/pendulum.rb
+++ b/ext/tk/sample/demos-en/pendulum.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# This demonstration illustrates how Tcl/Tk can be used to construct
# simulations of physical systems.
diff --git a/ext/tk/sample/demos-en/plot.rb b/ext/tk/sample/demos-en/plot.rb
index f70daa3fb2..786695a85c 100644
--- a/ext/tk/sample/demos-en/plot.rb
+++ b/ext/tk/sample/demos-en/plot.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# plot.rb
#
# This demonstration script creates a canvas widget showing a 2-D
diff --git a/ext/tk/sample/demos-en/puzzle.rb b/ext/tk/sample/demos-en/puzzle.rb
index f16414aa4c..6cf502fcf5 100644
--- a/ext/tk/sample/demos-en/puzzle.rb
+++ b/ext/tk/sample/demos-en/puzzle.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# puzzle.rb
#
# This demonstration script creates a 15-puzzle game using a collection
diff --git a/ext/tk/sample/demos-en/radio.rb b/ext/tk/sample/demos-en/radio.rb
index bde31508e1..d6b3ffbcbe 100644
--- a/ext/tk/sample/demos-en/radio.rb
+++ b/ext/tk/sample/demos-en/radio.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# radio.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/radio2.rb b/ext/tk/sample/demos-en/radio2.rb
index 72fc2c610c..ece7cfdf08 100644
--- a/ext/tk/sample/demos-en/radio2.rb
+++ b/ext/tk/sample/demos-en/radio2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# radio2.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/radio3.rb b/ext/tk/sample/demos-en/radio3.rb
index 8a147edda7..d1629c884e 100644
--- a/ext/tk/sample/demos-en/radio3.rb
+++ b/ext/tk/sample/demos-en/radio3.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# radio3.rb
#
# This demonstration script creates a toplevel window containing
diff --git a/ext/tk/sample/demos-en/ruler.rb b/ext/tk/sample/demos-en/ruler.rb
index a9773699f7..d9a2c037b8 100644
--- a/ext/tk/sample/demos-en/ruler.rb
+++ b/ext/tk/sample/demos-en/ruler.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# ruler.rb
#
# This demonstration script creates a canvas widget that displays a ruler
diff --git a/ext/tk/sample/demos-en/sayings.rb b/ext/tk/sample/demos-en/sayings.rb
index a4dcf37cdc..e7ddfe5b5d 100644
--- a/ext/tk/sample/demos-en/sayings.rb
+++ b/ext/tk/sample/demos-en/sayings.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# sayings.rb
#
# This demonstration script creates a listbox that can be scrolled
diff --git a/ext/tk/sample/demos-en/search.rb b/ext/tk/sample/demos-en/search.rb
index 7fb40d88b2..82c0d169a9 100644
--- a/ext/tk/sample/demos-en/search.rb
+++ b/ext/tk/sample/demos-en/search.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# search.rb
#
# This demonstration script creates a collection of widgets that
diff --git a/ext/tk/sample/demos-en/spin.rb b/ext/tk/sample/demos-en/spin.rb
index d51b7e6619..d3558d56d6 100644
--- a/ext/tk/sample/demos-en/spin.rb
+++ b/ext/tk/sample/demos-en/spin.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# spin.rb --
#
# This demonstration script creates several spinbox widgets.
diff --git a/ext/tk/sample/demos-en/states.rb b/ext/tk/sample/demos-en/states.rb
index a5c01a867c..4eac7424e7 100644
--- a/ext/tk/sample/demos-en/states.rb
+++ b/ext/tk/sample/demos-en/states.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# states.rb
#
# This demonstration script creates a listbox widget that displays
diff --git a/ext/tk/sample/demos-en/style.rb b/ext/tk/sample/demos-en/style.rb
index 5c8777379e..a6fd6b328c 100644
--- a/ext/tk/sample/demos-en/style.rb
+++ b/ext/tk/sample/demos-en/style.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# style.rb
#
# This demonstration script creates a text widget that illustrates the
diff --git a/ext/tk/sample/demos-en/text.rb b/ext/tk/sample/demos-en/text.rb
index 2f72de7583..c44be395b6 100644
--- a/ext/tk/sample/demos-en/text.rb
+++ b/ext/tk/sample/demos-en/text.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# text.rb
#
# This demonstration script creates a text widget that describes
diff --git a/ext/tk/sample/demos-en/textpeer.rb b/ext/tk/sample/demos-en/textpeer.rb
index 20192fcd05..c3298e2caa 100644
--- a/ext/tk/sample/demos-en/textpeer.rb
+++ b/ext/tk/sample/demos-en/textpeer.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# text widget peering demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/tkencoding.rb b/ext/tk/sample/demos-en/tkencoding.rb
index 727491a6ad..01a11ad7ed 100644
--- a/ext/tk/sample/demos-en/tkencoding.rb
+++ b/ext/tk/sample/demos-en/tkencoding.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# -*- ruby -*-
#
# tkencoding.rb
diff --git a/ext/tk/sample/demos-en/toolbar.rb b/ext/tk/sample/demos-en/toolbar.rb
index e7cbeb4235..1914e6eaad 100644
--- a/ext/tk/sample/demos-en/toolbar.rb
+++ b/ext/tk/sample/demos-en/toolbar.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# toolbar.rb --
#
# This demonstration script creates a toolbar that can be torn off.
diff --git a/ext/tk/sample/demos-en/tree.rb b/ext/tk/sample/demos-en/tree.rb
index 69154ee076..e3e5527f79 100644
--- a/ext/tk/sample/demos-en/tree.rb
+++ b/ext/tk/sample/demos-en/tree.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# tree.rb --
#
# This demonstration script creates a toplevel window containing a Ttk
diff --git a/ext/tk/sample/demos-en/ttkbut.rb b/ext/tk/sample/demos-en/ttkbut.rb
index a784efcc08..f2fcbcc7ba 100644
--- a/ext/tk/sample/demos-en/ttkbut.rb
+++ b/ext/tk/sample/demos-en/ttkbut.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# ttkbut.rb
#
# This demonstration script creates a toplevel window containing several
diff --git a/ext/tk/sample/demos-en/ttkmenu.rb b/ext/tk/sample/demos-en/ttkmenu.rb
index 9399568313..f84c9138d5 100644
--- a/ext/tk/sample/demos-en/ttkmenu.rb
+++ b/ext/tk/sample/demos-en/ttkmenu.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# ttkmenu.rb --
#
# This demonstration script creates a toplevel window containing several Ttk
diff --git a/ext/tk/sample/demos-en/ttknote.rb b/ext/tk/sample/demos-en/ttknote.rb
index bc0c7b369a..7c56252d2d 100644
--- a/ext/tk/sample/demos-en/ttknote.rb
+++ b/ext/tk/sample/demos-en/ttknote.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# ttknote.rb --
#
# This demonstration script creates a toplevel window containing a Ttk
diff --git a/ext/tk/sample/demos-en/ttkpane.rb b/ext/tk/sample/demos-en/ttkpane.rb
index 87c4dedeb2..7eb4c29731 100644
--- a/ext/tk/sample/demos-en/ttkpane.rb
+++ b/ext/tk/sample/demos-en/ttkpane.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# ttkpane.rb --
#
# This demonstration script creates a Ttk pane with some content.
diff --git a/ext/tk/sample/demos-en/ttkprogress.rb b/ext/tk/sample/demos-en/ttkprogress.rb
index c341a9385f..09bf398e17 100644
--- a/ext/tk/sample/demos-en/ttkprogress.rb
+++ b/ext/tk/sample/demos-en/ttkprogress.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# ttkprogress.rb --
#
# This demonstration script creates several progress bar widgets.
diff --git a/ext/tk/sample/demos-en/twind.rb b/ext/tk/sample/demos-en/twind.rb
index 60a345d0b4..a709f0d188 100644
--- a/ext/tk/sample/demos-en/twind.rb
+++ b/ext/tk/sample/demos-en/twind.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# twind.rb
#
# This demonstration script creates a text widget with a bunch of
diff --git a/ext/tk/sample/demos-en/twind2.rb b/ext/tk/sample/demos-en/twind2.rb
index af7313dd82..4a59a2e613 100644
--- a/ext/tk/sample/demos-en/twind2.rb
+++ b/ext/tk/sample/demos-en/twind2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# text (embedded windows) widget demo 2 (called by 'widget')
#
diff --git a/ext/tk/sample/demos-en/unicodeout.rb b/ext/tk/sample/demos-en/unicodeout.rb
index ee7b5afa15..910dff38b7 100644
--- a/ext/tk/sample/demos-en/unicodeout.rb
+++ b/ext/tk/sample/demos-en/unicodeout.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# unicodeout.rb --
#
# This demonstration script shows how you can produce output (in label
diff --git a/ext/tk/sample/demos-en/vscale.rb b/ext/tk/sample/demos-en/vscale.rb
index b05ed12072..2ce522f7be 100644
--- a/ext/tk/sample/demos-en/vscale.rb
+++ b/ext/tk/sample/demos-en/vscale.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
# vscale.rb
#
# This demonstration script shows an example with a vertical scale.
diff --git a/ext/tk/sample/demos-jp/anilabel.rb b/ext/tk/sample/demos-jp/anilabel.rb
index c882f43f7e..ccad73ffc6 100644
--- a/ext/tk/sample/demos-jp/anilabel.rb
+++ b/ext/tk/sample/demos-jp/anilabel.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# animated label widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/aniwave.rb b/ext/tk/sample/demos-jp/aniwave.rb
index 866316c331..6973de7f09 100644
--- a/ext/tk/sample/demos-jp/aniwave.rb
+++ b/ext/tk/sample/demos-jp/aniwave.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# animated wave demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/arrow.rb b/ext/tk/sample/demos-jp/arrow.rb
index 2995f96d54..12ab4af2b1 100644
--- a/ext/tk/sample/demos-jp/arrow.rb
+++ b/ext/tk/sample/demos-jp/arrow.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# arrowhead widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/bind.rb b/ext/tk/sample/demos-jp/bind.rb
index efba6e6c01..74ddf0217a 100644
--- a/ext/tk/sample/demos-jp/bind.rb
+++ b/ext/tk/sample/demos-jp/bind.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# text (tag bindings) widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/bitmap.rb b/ext/tk/sample/demos-jp/bitmap.rb
index d84e9a5f09..2cc9c28fbd 100644
--- a/ext/tk/sample/demos-jp/bitmap.rb
+++ b/ext/tk/sample/demos-jp/bitmap.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# bitmap widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/button.rb b/ext/tk/sample/demos-jp/button.rb
index 301100b057..204f5eab86 100644
--- a/ext/tk/sample/demos-jp/button.rb
+++ b/ext/tk/sample/demos-jp/button.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# button widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/check.rb b/ext/tk/sample/demos-jp/check.rb
index 422e898ec9..04a47c8101 100644
--- a/ext/tk/sample/demos-jp/check.rb
+++ b/ext/tk/sample/demos-jp/check.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# checkbutton widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/check2.rb b/ext/tk/sample/demos-jp/check2.rb
index 558e588535..609f6830d8 100644
--- a/ext/tk/sample/demos-jp/check2.rb
+++ b/ext/tk/sample/demos-jp/check2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# checkbutton widget demo2 (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/clrpick.rb b/ext/tk/sample/demos-jp/clrpick.rb
index df8c76a69d..31a3f25b7c 100644
--- a/ext/tk/sample/demos-jp/clrpick.rb
+++ b/ext/tk/sample/demos-jp/clrpick.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# widget demo prompts the user to select a color (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/colors.rb b/ext/tk/sample/demos-jp/colors.rb
index 5e5f47cb04..c0145daaf6 100644
--- a/ext/tk/sample/demos-jp/colors.rb
+++ b/ext/tk/sample/demos-jp/colors.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# listbox widget demo 'colors' (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/combo.rb b/ext/tk/sample/demos-jp/combo.rb
index 8bbe36997d..0f3e808606 100644
--- a/ext/tk/sample/demos-jp/combo.rb
+++ b/ext/tk/sample/demos-jp/combo.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# combo.rb --
#
diff --git a/ext/tk/sample/demos-jp/cscroll.rb b/ext/tk/sample/demos-jp/cscroll.rb
index e993326aa9..6cce3d4369 100644
--- a/ext/tk/sample/demos-jp/cscroll.rb
+++ b/ext/tk/sample/demos-jp/cscroll.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# simple scrollable canvas widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/ctext.rb b/ext/tk/sample/demos-jp/ctext.rb
index bb354c490e..ce7de841e8 100644
--- a/ext/tk/sample/demos-jp/ctext.rb
+++ b/ext/tk/sample/demos-jp/ctext.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# Canvas Text widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/dialog1.rb b/ext/tk/sample/demos-jp/dialog1.rb
index e50c9071e5..9d54f93b35 100644
--- a/ext/tk/sample/demos-jp/dialog1.rb
+++ b/ext/tk/sample/demos-jp/dialog1.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# a dialog box with a local grab (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/dialog2.rb b/ext/tk/sample/demos-jp/dialog2.rb
index 3e7d9619a4..c8506b6cf8 100644
--- a/ext/tk/sample/demos-jp/dialog2.rb
+++ b/ext/tk/sample/demos-jp/dialog2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# a dialog box with a global grab (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/entry1.rb b/ext/tk/sample/demos-jp/entry1.rb
index 9be677d12d..0fbbeb8259 100644
--- a/ext/tk/sample/demos-jp/entry1.rb
+++ b/ext/tk/sample/demos-jp/entry1.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# entry (no scrollbars) widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/entry2.rb b/ext/tk/sample/demos-jp/entry2.rb
index 5476d24ade..294c82490f 100644
--- a/ext/tk/sample/demos-jp/entry2.rb
+++ b/ext/tk/sample/demos-jp/entry2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# entry (with scrollbars) widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/entry3.rb b/ext/tk/sample/demos-jp/entry3.rb
index 59c698de62..6f8ba943e9 100644
--- a/ext/tk/sample/demos-jp/entry3.rb
+++ b/ext/tk/sample/demos-jp/entry3.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
# entry3.rb --
#
# This demonstration script creates several entry widgets whose
diff --git a/ext/tk/sample/demos-jp/filebox.rb b/ext/tk/sample/demos-jp/filebox.rb
index fc014bc282..800dd5ddbf 100644
--- a/ext/tk/sample/demos-jp/filebox.rb
+++ b/ext/tk/sample/demos-jp/filebox.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# widget demo prompts the user to select a file (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/floor.rb b/ext/tk/sample/demos-jp/floor.rb
index 5101a026bb..8a079035c9 100644
--- a/ext/tk/sample/demos-jp/floor.rb
+++ b/ext/tk/sample/demos-jp/floor.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# floorDisplay widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/floor2.rb b/ext/tk/sample/demos-jp/floor2.rb
index 7ca705c7bd..7f294ce82e 100644
--- a/ext/tk/sample/demos-jp/floor2.rb
+++ b/ext/tk/sample/demos-jp/floor2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# floorDisplay widget demo 2 (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/form.rb b/ext/tk/sample/demos-jp/form.rb
index 000fcb5091..751852cbf7 100644
--- a/ext/tk/sample/demos-jp/form.rb
+++ b/ext/tk/sample/demos-jp/form.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# form widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/goldberg.rb b/ext/tk/sample/demos-jp/goldberg.rb
index fc38d877db..cc039b2d62 100644
--- a/ext/tk/sample/demos-jp/goldberg.rb
+++ b/ext/tk/sample/demos-jp/goldberg.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# Ruby/Tk Goldverg demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/hscale.rb b/ext/tk/sample/demos-jp/hscale.rb
index 2dfbf38272..0607792a74 100644
--- a/ext/tk/sample/demos-jp/hscale.rb
+++ b/ext/tk/sample/demos-jp/hscale.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
require "tkcanvas"
if defined?($hscale_demo) && $hscale_deom
diff --git a/ext/tk/sample/demos-jp/icon.rb b/ext/tk/sample/demos-jp/icon.rb
index 6b9e1a570a..7bf6d9731b 100644
--- a/ext/tk/sample/demos-jp/icon.rb
+++ b/ext/tk/sample/demos-jp/icon.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# iconic button widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/image1.rb b/ext/tk/sample/demos-jp/image1.rb
index 0c69b2a45f..e07f1d3afc 100644
--- a/ext/tk/sample/demos-jp/image1.rb
+++ b/ext/tk/sample/demos-jp/image1.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# two image widgets demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/image2.rb b/ext/tk/sample/demos-jp/image2.rb
index aa507c5b9b..312ec41f2a 100644
--- a/ext/tk/sample/demos-jp/image2.rb
+++ b/ext/tk/sample/demos-jp/image2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# widget demo 'load image' (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/image3.rb b/ext/tk/sample/demos-jp/image3.rb
index 5c1ceb2816..3f2b1ad3b9 100644
--- a/ext/tk/sample/demos-jp/image3.rb
+++ b/ext/tk/sample/demos-jp/image3.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
# image3.rb
#
# This demonstration script creates a simple collection of widgets
diff --git a/ext/tk/sample/demos-jp/items.rb b/ext/tk/sample/demos-jp/items.rb
index b1d66f367b..9fef0bedda 100644
--- a/ext/tk/sample/demos-jp/items.rb
+++ b/ext/tk/sample/demos-jp/items.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# canvas item types widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/knightstour.rb b/ext/tk/sample/demos-jp/knightstour.rb
index 835a24c392..f4de10b3b3 100644
--- a/ext/tk/sample/demos-jp/knightstour.rb
+++ b/ext/tk/sample/demos-jp/knightstour.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# Based on the widget demo of Tcl/Tk8.5.2
# The following is the original copyright text.
diff --git a/ext/tk/sample/demos-jp/label.rb b/ext/tk/sample/demos-jp/label.rb
index 700e6a61ce..6164ac1ebc 100644
--- a/ext/tk/sample/demos-jp/label.rb
+++ b/ext/tk/sample/demos-jp/label.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# label widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/labelframe.rb b/ext/tk/sample/demos-jp/labelframe.rb
index 80e106c6e7..3dcd1dc3f1 100644
--- a/ext/tk/sample/demos-jp/labelframe.rb
+++ b/ext/tk/sample/demos-jp/labelframe.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# labelframe.rb
#
diff --git a/ext/tk/sample/demos-jp/mclist.rb b/ext/tk/sample/demos-jp/mclist.rb
index 67cec638eb..e7b71edfdb 100644
--- a/ext/tk/sample/demos-jp/mclist.rb
+++ b/ext/tk/sample/demos-jp/mclist.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# mclist.rb --
#
diff --git a/ext/tk/sample/demos-jp/menu.rb b/ext/tk/sample/demos-jp/menu.rb
index 05ea7a9ec2..30e491d953 100644
--- a/ext/tk/sample/demos-jp/menu.rb
+++ b/ext/tk/sample/demos-jp/menu.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# menus widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/menu84.rb b/ext/tk/sample/demos-jp/menu84.rb
index 6a57279481..3fd879e4f7 100644
--- a/ext/tk/sample/demos-jp/menu84.rb
+++ b/ext/tk/sample/demos-jp/menu84.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# menus widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/menu8x.rb b/ext/tk/sample/demos-jp/menu8x.rb
index 77ecb5bcf3..a1acda4c1b 100644
--- a/ext/tk/sample/demos-jp/menu8x.rb
+++ b/ext/tk/sample/demos-jp/menu8x.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# menus widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/menubu.rb b/ext/tk/sample/demos-jp/menubu.rb
index 06f9eb875e..57b1d41420 100644
--- a/ext/tk/sample/demos-jp/menubu.rb
+++ b/ext/tk/sample/demos-jp/menubu.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
require "tkcanvas"
def optionMenu(menubutton, varName, firstValue, *rest)
diff --git a/ext/tk/sample/demos-jp/msgbox.rb b/ext/tk/sample/demos-jp/msgbox.rb
index ec7b4f2bbc..45d8b8e9f9 100644
--- a/ext/tk/sample/demos-jp/msgbox.rb
+++ b/ext/tk/sample/demos-jp/msgbox.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# message boxes widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/msgbox2.rb b/ext/tk/sample/demos-jp/msgbox2.rb
index ad6d936036..51a0ca9dcc 100644
--- a/ext/tk/sample/demos-jp/msgbox2.rb
+++ b/ext/tk/sample/demos-jp/msgbox2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# message boxes widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/paned1.rb b/ext/tk/sample/demos-jp/paned1.rb
index 53d2e7162b..96e419bec0 100644
--- a/ext/tk/sample/demos-jp/paned1.rb
+++ b/ext/tk/sample/demos-jp/paned1.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# paned1.rb
#
diff --git a/ext/tk/sample/demos-jp/paned2.rb b/ext/tk/sample/demos-jp/paned2.rb
index 65bd41c757..11a02abe73 100644
--- a/ext/tk/sample/demos-jp/paned2.rb
+++ b/ext/tk/sample/demos-jp/paned2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# paned2.rb --
#
diff --git a/ext/tk/sample/demos-jp/pendulum.rb b/ext/tk/sample/demos-jp/pendulum.rb
index 60556fd70a..06e6933548 100644
--- a/ext/tk/sample/demos-jp/pendulum.rb
+++ b/ext/tk/sample/demos-jp/pendulum.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# This demonstration illustrates how Tcl/Tk can be used to construct
# simulations of physical systems.
diff --git a/ext/tk/sample/demos-jp/plot.rb b/ext/tk/sample/demos-jp/plot.rb
index 4147b35399..85970bb5b3 100644
--- a/ext/tk/sample/demos-jp/plot.rb
+++ b/ext/tk/sample/demos-jp/plot.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# 2-D plot widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/puzzle.rb b/ext/tk/sample/demos-jp/puzzle.rb
index dbcb423463..61fb4cbf60 100644
--- a/ext/tk/sample/demos-jp/puzzle.rb
+++ b/ext/tk/sample/demos-jp/puzzle.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# widet demo 'puzzle' (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/radio.rb b/ext/tk/sample/demos-jp/radio.rb
index efb613593d..4d84441687 100644
--- a/ext/tk/sample/demos-jp/radio.rb
+++ b/ext/tk/sample/demos-jp/radio.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# radiobutton widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/radio2.rb b/ext/tk/sample/demos-jp/radio2.rb
index 0633a8def1..4416122876 100644
--- a/ext/tk/sample/demos-jp/radio2.rb
+++ b/ext/tk/sample/demos-jp/radio2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# radio2.rb
#
diff --git a/ext/tk/sample/demos-jp/radio3.rb b/ext/tk/sample/demos-jp/radio3.rb
index 3356b6945b..3f26ffb847 100644
--- a/ext/tk/sample/demos-jp/radio3.rb
+++ b/ext/tk/sample/demos-jp/radio3.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# radio3.rb
#
diff --git a/ext/tk/sample/demos-jp/ruler.rb b/ext/tk/sample/demos-jp/ruler.rb
index 5c34a5a5da..734f47f142 100644
--- a/ext/tk/sample/demos-jp/ruler.rb
+++ b/ext/tk/sample/demos-jp/ruler.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# ruler widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/sayings.rb b/ext/tk/sample/demos-jp/sayings.rb
index cf4fe7b1b1..a60b0bf2e5 100644
--- a/ext/tk/sample/demos-jp/sayings.rb
+++ b/ext/tk/sample/demos-jp/sayings.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# listbox widget demo 'sayings' (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/search.rb b/ext/tk/sample/demos-jp/search.rb
index 238450ae30..dffccf1a48 100644
--- a/ext/tk/sample/demos-jp/search.rb
+++ b/ext/tk/sample/demos-jp/search.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# Text Search widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/spin.rb b/ext/tk/sample/demos-jp/spin.rb
index fd51a3f457..616a14e9d6 100644
--- a/ext/tk/sample/demos-jp/spin.rb
+++ b/ext/tk/sample/demos-jp/spin.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# spin.rb --
#
diff --git a/ext/tk/sample/demos-jp/states.rb b/ext/tk/sample/demos-jp/states.rb
index 2966e6d834..9f8fb0ef03 100644
--- a/ext/tk/sample/demos-jp/states.rb
+++ b/ext/tk/sample/demos-jp/states.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# listbox widget demo 'states' (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/style.rb b/ext/tk/sample/demos-jp/style.rb
index 813fde7a78..737c9f8994 100644
--- a/ext/tk/sample/demos-jp/style.rb
+++ b/ext/tk/sample/demos-jp/style.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# text (display styles) widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/text.rb b/ext/tk/sample/demos-jp/text.rb
index e698a79246..117f9f105a 100644
--- a/ext/tk/sample/demos-jp/text.rb
+++ b/ext/tk/sample/demos-jp/text.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# text (basic facilities) widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/textpeer.rb b/ext/tk/sample/demos-jp/textpeer.rb
index 4d896d2a12..31e467afef 100644
--- a/ext/tk/sample/demos-jp/textpeer.rb
+++ b/ext/tk/sample/demos-jp/textpeer.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# text widget peering demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/toolbar.rb b/ext/tk/sample/demos-jp/toolbar.rb
index 3ee7a5f9d8..f355e8fef8 100644
--- a/ext/tk/sample/demos-jp/toolbar.rb
+++ b/ext/tk/sample/demos-jp/toolbar.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# toolbar.rb --
#
diff --git a/ext/tk/sample/demos-jp/tree.rb b/ext/tk/sample/demos-jp/tree.rb
index 3f3b18b677..48d5e5407e 100644
--- a/ext/tk/sample/demos-jp/tree.rb
+++ b/ext/tk/sample/demos-jp/tree.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# tree.rb --
#
diff --git a/ext/tk/sample/demos-jp/ttkbut.rb b/ext/tk/sample/demos-jp/ttkbut.rb
index ccde541019..af9321dcd9 100644
--- a/ext/tk/sample/demos-jp/ttkbut.rb
+++ b/ext/tk/sample/demos-jp/ttkbut.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# ttkbut.rb
#
diff --git a/ext/tk/sample/demos-jp/ttkmenu.rb b/ext/tk/sample/demos-jp/ttkmenu.rb
index aa9db5019f..b521a3f101 100644
--- a/ext/tk/sample/demos-jp/ttkmenu.rb
+++ b/ext/tk/sample/demos-jp/ttkmenu.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# ttkmenu.rb --
#
diff --git a/ext/tk/sample/demos-jp/ttknote.rb b/ext/tk/sample/demos-jp/ttknote.rb
index f3b2fa5881..2f82408ba0 100644
--- a/ext/tk/sample/demos-jp/ttknote.rb
+++ b/ext/tk/sample/demos-jp/ttknote.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# ttknote.rb --
#
diff --git a/ext/tk/sample/demos-jp/ttkpane.rb b/ext/tk/sample/demos-jp/ttkpane.rb
index a5c1a08ec9..af7622272c 100644
--- a/ext/tk/sample/demos-jp/ttkpane.rb
+++ b/ext/tk/sample/demos-jp/ttkpane.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# ttkpane.rb --
#
diff --git a/ext/tk/sample/demos-jp/ttkprogress.rb b/ext/tk/sample/demos-jp/ttkprogress.rb
index ec28253a9f..6f0ea4c2df 100644
--- a/ext/tk/sample/demos-jp/ttkprogress.rb
+++ b/ext/tk/sample/demos-jp/ttkprogress.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# ttkprogress.rb --
#
diff --git a/ext/tk/sample/demos-jp/twind.rb b/ext/tk/sample/demos-jp/twind.rb
index f13a137cc3..7db7576c6e 100644
--- a/ext/tk/sample/demos-jp/twind.rb
+++ b/ext/tk/sample/demos-jp/twind.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# text (embedded windows) widget demo (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/twind2.rb b/ext/tk/sample/demos-jp/twind2.rb
index a783ba4738..c5bef5bce0 100644
--- a/ext/tk/sample/demos-jp/twind2.rb
+++ b/ext/tk/sample/demos-jp/twind2.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# text (embedded windows) widget demo 2 (called by 'widget')
#
diff --git a/ext/tk/sample/demos-jp/unicodeout.rb b/ext/tk/sample/demos-jp/unicodeout.rb
index 31596cf8fd..966f85f331 100644
--- a/ext/tk/sample/demos-jp/unicodeout.rb
+++ b/ext/tk/sample/demos-jp/unicodeout.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
#
# unicodeout.rb --
#
diff --git a/ext/tk/sample/demos-jp/vscale.rb b/ext/tk/sample/demos-jp/vscale.rb
index 6ae513bc33..a502634138 100644
--- a/ext/tk/sample/demos-jp/vscale.rb
+++ b/ext/tk/sample/demos-jp/vscale.rb
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# frozen_string_literal: false
require "tkcanvas"
if defined?($vscale_demo) && $vscale_demo
diff --git a/ext/tk/sample/editable_listbox.rb b/ext/tk/sample/editable_listbox.rb
index 890aec032e..02a3f4aad3 100644
--- a/ext/tk/sample/editable_listbox.rb
+++ b/ext/tk/sample/editable_listbox.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Tk::RbWidget::Editable_Listbox class
#
diff --git a/ext/tk/sample/encstr_usage.rb b/ext/tk/sample/encstr_usage.rb
index 39dc9c4018..49a29ec19a 100644
--- a/ext/tk/sample/encstr_usage.rb
+++ b/ext/tk/sample/encstr_usage.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require 'tk'
TkMessage.new(:width=>400, :text=><<EOM).pack
diff --git a/ext/tk/sample/figmemo_sample.rb b/ext/tk/sample/figmemo_sample.rb
index 740427f873..4e5684fa94 100644
--- a/ext/tk/sample/figmemo_sample.rb
+++ b/ext/tk/sample/figmemo_sample.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
begin
diff --git a/ext/tk/sample/irbtk.rb b/ext/tk/sample/irbtk.rb
index 70dd33e4da..8665b20539 100644
--- a/ext/tk/sample/irbtk.rb
+++ b/ext/tk/sample/irbtk.rb
@@ -1,4 +1,5 @@
#!/usr/local/bin/ruby
+# frozen_string_literal: false
#
# irbtk.rb - irb with Ruby/Tk
#
diff --git a/ext/tk/sample/menubar1.rb b/ext/tk/sample/menubar1.rb
index a233c6e088..1a935d5961 100644
--- a/ext/tk/sample/menubar1.rb
+++ b/ext/tk/sample/menubar1.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# menubar sample 1 : use frame and menubuttons
#
diff --git a/ext/tk/sample/menubar2.rb b/ext/tk/sample/menubar2.rb
index e3cd68eaef..5930d2745f 100644
--- a/ext/tk/sample/menubar2.rb
+++ b/ext/tk/sample/menubar2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# menubar sample 2 : use 'menu' option of root/toplevel widget
#
diff --git a/ext/tk/sample/menubar3.rb b/ext/tk/sample/menubar3.rb
index 4f42f81c88..ce70835133 100644
--- a/ext/tk/sample/menubar3.rb
+++ b/ext/tk/sample/menubar3.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# menubar sample 3 : vertical layout menubar; use frame and menubuttons
#
diff --git a/ext/tk/sample/multi-ip_sample.rb b/ext/tk/sample/multi-ip_sample.rb
index eccf0201f8..fb7a8afb5b 100644
--- a/ext/tk/sample/multi-ip_sample.rb
+++ b/ext/tk/sample/multi-ip_sample.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
# This script is a sample of MultiTkIp class
require "multi-tk"
diff --git a/ext/tk/sample/multi-ip_sample2.rb b/ext/tk/sample/multi-ip_sample2.rb
index 79c78dec4a..ae2cb35e96 100644
--- a/ext/tk/sample/multi-ip_sample2.rb
+++ b/ext/tk/sample/multi-ip_sample2.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require 'multi-tk.rb'
th = Thread.new{Tk.mainloop}
diff --git a/ext/tk/sample/optobj_sample.rb b/ext/tk/sample/optobj_sample.rb
index a781254a28..5e4806f8fb 100644
--- a/ext/tk/sample/optobj_sample.rb
+++ b/ext/tk/sample/optobj_sample.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# sample script of Tk::OptionObj
#
diff --git a/ext/tk/sample/propagate.rb b/ext/tk/sample/propagate.rb
index 66f14aeb72..10e0ed8236 100644
--- a/ext/tk/sample/propagate.rb
+++ b/ext/tk/sample/propagate.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
TkLabel.new(:text=>"Please click the bottom frame").pack
diff --git a/ext/tk/sample/remote-ip_sample.rb b/ext/tk/sample/remote-ip_sample.rb
index f6eed9e985..d80399f368 100644
--- a/ext/tk/sample/remote-ip_sample.rb
+++ b/ext/tk/sample/remote-ip_sample.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'remote-tk'
puts <<EOM
diff --git a/ext/tk/sample/remote-ip_sample2.rb b/ext/tk/sample/remote-ip_sample2.rb
index d8cf3c7650..919bfd0b67 100644
--- a/ext/tk/sample/remote-ip_sample2.rb
+++ b/ext/tk/sample/remote-ip_sample2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'remote-tk'
diff --git a/ext/tk/sample/safe-tk.rb b/ext/tk/sample/safe-tk.rb
index 652dbe75a0..a8a85d3288 100755
--- a/ext/tk/sample/safe-tk.rb
+++ b/ext/tk/sample/safe-tk.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
# This script is a sample of MultiTkIp class
require "multi-tk"
diff --git a/ext/tk/sample/scrollframe.rb b/ext/tk/sample/scrollframe.rb
index e9d8af7ebf..fda4478055 100644
--- a/ext/tk/sample/scrollframe.rb
+++ b/ext/tk/sample/scrollframe.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Tk::RbWidget::ScrollFrame class
#
diff --git a/ext/tk/sample/tcltklib/lines1.rb b/ext/tk/sample/tcltklib/lines1.rb
index 9f21ae6377..57e3d33f6f 100644
--- a/ext/tk/sample/tcltklib/lines1.rb
+++ b/ext/tk/sample/tcltklib/lines1.rb
@@ -1,4 +1,5 @@
#! /usr/local/bin/ruby
+# frozen_string_literal: false
require "tcltk"
diff --git a/ext/tk/sample/tcltklib/lines2.rb b/ext/tk/sample/tcltklib/lines2.rb
index e459589f50..7ae54d9ea9 100644
--- a/ext/tk/sample/tcltklib/lines2.rb
+++ b/ext/tk/sample/tcltklib/lines2.rb
@@ -1,4 +1,5 @@
#! /usr/local/bin/ruby
+# frozen_string_literal: false
require "tk"
diff --git a/ext/tk/sample/tcltklib/lines3.rb b/ext/tk/sample/tcltklib/lines3.rb
index caa50f92e7..d79bb12ef3 100644
--- a/ext/tk/sample/tcltklib/lines3.rb
+++ b/ext/tk/sample/tcltklib/lines3.rb
@@ -1,4 +1,5 @@
#! /usr/local/bin/ruby
+# frozen_string_literal: false
require "tk"
diff --git a/ext/tk/sample/tcltklib/lines4.rb b/ext/tk/sample/tcltklib/lines4.rb
index 7a1175bce0..37ffc0ee74 100644
--- a/ext/tk/sample/tcltklib/lines4.rb
+++ b/ext/tk/sample/tcltklib/lines4.rb
@@ -1,4 +1,5 @@
#! /usr/local/bin/ruby
+# frozen_string_literal: false
require "tk"
diff --git a/ext/tk/sample/tcltklib/safeTk.rb b/ext/tk/sample/tcltklib/safeTk.rb
index 5d2c60e700..5fac9e2e23 100644
--- a/ext/tk/sample/tcltklib/safeTk.rb
+++ b/ext/tk/sample/tcltklib/safeTk.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tcltklib'
master = TclTkIp.new
diff --git a/ext/tk/sample/tcltklib/sample0.rb b/ext/tk/sample/tcltklib/sample0.rb
index 0ac303ae9e..0cc2de4878 100644
--- a/ext/tk/sample/tcltklib/sample0.rb
+++ b/ext/tk/sample/tcltklib/sample0.rb
@@ -1,4 +1,5 @@
#! /usr/local/bin/ruby -vd
+# frozen_string_literal: false
# tcltklib ライブラリのテスト
diff --git a/ext/tk/sample/tcltklib/sample1.rb b/ext/tk/sample/tcltklib/sample1.rb
index 3235edfe0d..b4ad6436bd 100644
--- a/ext/tk/sample/tcltklib/sample1.rb
+++ b/ext/tk/sample/tcltklib/sample1.rb
@@ -1,5 +1,6 @@
#! /usr/local/bin/ruby -d
# -*- encoding: utf-8 -*-
+# frozen_string_literal: false
# -d オプションを付けると, デバッグ情報を表示する.
# tcltk ライブラリのサンプル
diff --git a/ext/tk/sample/tcltklib/sample2.rb b/ext/tk/sample/tcltklib/sample2.rb
index 1acc180680..378c2d3eb7 100644
--- a/ext/tk/sample/tcltklib/sample2.rb
+++ b/ext/tk/sample/tcltklib/sample2.rb
@@ -1,4 +1,5 @@
#!/usr/local/bin/ruby
+# frozen_string_literal: false
#----------------------> pretty simple othello game <-----------------------
# othello.rb
#
diff --git a/ext/tk/sample/tkalignbox.rb b/ext/tk/sample/tkalignbox.rb
index f3d083c33d..89aae111b7 100644
--- a/ext/tk/sample/tkalignbox.rb
+++ b/ext/tk/sample/tkalignbox.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# tkalignbox.rb : align widgets with same width/height
#
diff --git a/ext/tk/sample/tkballoonhelp.rb b/ext/tk/sample/tkballoonhelp.rb
index 2daa522601..fb811164ab 100644
--- a/ext/tk/sample/tkballoonhelp.rb
+++ b/ext/tk/sample/tkballoonhelp.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# tkballoonhelp.rb : simple balloon help widget
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
diff --git a/ext/tk/sample/tkbiff.rb b/ext/tk/sample/tkbiff.rb
index c0953a1b1b..a65e4beaa9 100644
--- a/ext/tk/sample/tkbiff.rb
+++ b/ext/tk/sample/tkbiff.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
if ARGV[0] != '-d'
unless $DEBUG
diff --git a/ext/tk/sample/tkbrowse.rb b/ext/tk/sample/tkbrowse.rb
index 56d5a80fcf..f083a8ac77 100644
--- a/ext/tk/sample/tkbrowse.rb
+++ b/ext/tk/sample/tkbrowse.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# This script generates a directory browser, which lists the working
# directory and allows you to open files or subdirectories by
diff --git a/ext/tk/sample/tkcombobox.rb b/ext/tk/sample/tkcombobox.rb
index c38bde10d4..17adbc9f9e 100644
--- a/ext/tk/sample/tkcombobox.rb
+++ b/ext/tk/sample/tkcombobox.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# tkcombobox.rb : auto scrollbox & combobox
#
diff --git a/ext/tk/sample/tkdialog.rb b/ext/tk/sample/tkdialog.rb
index eb8cd04796..f0f7d2ccb5 100644
--- a/ext/tk/sample/tkdialog.rb
+++ b/ext/tk/sample/tkdialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require "tk"
root = TkFrame.new
diff --git a/ext/tk/sample/tkextlib/ICONS/viewIcons.rb b/ext/tk/sample/tkextlib/ICONS/viewIcons.rb
index 02ba19a629..7ed3c267e4 100644
--- a/ext/tk/sample/tkextlib/ICONS/viewIcons.rb
+++ b/ext/tk/sample/tkextlib/ICONS/viewIcons.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# viewIcons.rb
#
diff --git a/ext/tk/sample/tkextlib/blt/barchart5.rb b/ext/tk/sample/tkextlib/blt/barchart5.rb
index 86101b200d..f818ffc375 100644
--- a/ext/tk/sample/tkextlib/blt/barchart5.rb
+++ b/ext/tk/sample/tkextlib/blt/barchart5.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/calendar.rb b/ext/tk/sample/tkextlib/blt/calendar.rb
index 86d34043dc..daae5fdcba 100644
--- a/ext/tk/sample/tkextlib/blt/calendar.rb
+++ b/ext/tk/sample/tkextlib/blt/calendar.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/graph6.rb b/ext/tk/sample/tkextlib/blt/graph6.rb
index b3eeb81231..26baa527ef 100644
--- a/ext/tk/sample/tkextlib/blt/graph6.rb
+++ b/ext/tk/sample/tkextlib/blt/graph6.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/graph7.rb b/ext/tk/sample/tkextlib/blt/graph7.rb
index 8b31b28c91..0e68388596 100644
--- a/ext/tk/sample/tkextlib/blt/graph7.rb
+++ b/ext/tk/sample/tkextlib/blt/graph7.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/graph7a.rb b/ext/tk/sample/tkextlib/blt/graph7a.rb
index 8def766060..aa744f1f74 100644
--- a/ext/tk/sample/tkextlib/blt/graph7a.rb
+++ b/ext/tk/sample/tkextlib/blt/graph7a.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/graph7b.rb b/ext/tk/sample/tkextlib/blt/graph7b.rb
index 8b00f154b2..5b30c4bac0 100644
--- a/ext/tk/sample/tkextlib/blt/graph7b.rb
+++ b/ext/tk/sample/tkextlib/blt/graph7b.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/graph7c.rb b/ext/tk/sample/tkextlib/blt/graph7c.rb
index d4ed1a66ad..8cbf3223f1 100644
--- a/ext/tk/sample/tkextlib/blt/graph7c.rb
+++ b/ext/tk/sample/tkextlib/blt/graph7c.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/pareto.rb b/ext/tk/sample/tkextlib/blt/pareto.rb
index bf9a1ec749..987be45f06 100644
--- a/ext/tk/sample/tkextlib/blt/pareto.rb
+++ b/ext/tk/sample/tkextlib/blt/pareto.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/plot1.rb b/ext/tk/sample/tkextlib/blt/plot1.rb
index 07dff48292..95797c96b7 100644
--- a/ext/tk/sample/tkextlib/blt/plot1.rb
+++ b/ext/tk/sample/tkextlib/blt/plot1.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/plot1b.rb b/ext/tk/sample/tkextlib/blt/plot1b.rb
index 8a3ce8216d..96adbd792b 100644
--- a/ext/tk/sample/tkextlib/blt/plot1b.rb
+++ b/ext/tk/sample/tkextlib/blt/plot1b.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/scripts/stipples.rb b/ext/tk/sample/tkextlib/blt/scripts/stipples.rb
index 47f3c4d063..2a4943e032 100644
--- a/ext/tk/sample/tkextlib/blt/scripts/stipples.rb
+++ b/ext/tk/sample/tkextlib/blt/scripts/stipples.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
$stipples = {} unless $stipples
$stipples['bdiagonal1'] = Tk::BLT::Bitmap.new(<<EOD)
diff --git a/ext/tk/sample/tkextlib/blt/winop1.rb b/ext/tk/sample/tkextlib/blt/winop1.rb
index 97c31aa295..32c01cad6b 100644
--- a/ext/tk/sample/tkextlib/blt/winop1.rb
+++ b/ext/tk/sample/tkextlib/blt/winop1.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/blt/winop2.rb b/ext/tk/sample/tkextlib/blt/winop2.rb
index d59c43ba22..cc708573ab 100644
--- a/ext/tk/sample/tkextlib/blt/winop2.rb
+++ b/ext/tk/sample/tkextlib/blt/winop2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/blt'
diff --git a/ext/tk/sample/tkextlib/bwidget/basic.rb b/ext/tk/sample/tkextlib/bwidget/basic.rb
index 060baf8a6c..6a7bdbc1f6 100644
--- a/ext/tk/sample/tkextlib/bwidget/basic.rb
+++ b/ext/tk/sample/tkextlib/bwidget/basic.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# basic demo --- called from demo.rb
#
diff --git a/ext/tk/sample/tkextlib/bwidget/demo.rb b/ext/tk/sample/tkextlib/bwidget/demo.rb
index 3eb98818f3..0b5578ca68 100644
--- a/ext/tk/sample/tkextlib/bwidget/demo.rb
+++ b/ext/tk/sample/tkextlib/bwidget/demo.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/bwidget'
diff --git a/ext/tk/sample/tkextlib/bwidget/dnd.rb b/ext/tk/sample/tkextlib/bwidget/dnd.rb
index b1b1cf60ff..326288bade 100644
--- a/ext/tk/sample/tkextlib/bwidget/dnd.rb
+++ b/ext/tk/sample/tkextlib/bwidget/dnd.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# dnd demo --- called from demo.rb
#
diff --git a/ext/tk/sample/tkextlib/bwidget/manager.rb b/ext/tk/sample/tkextlib/bwidget/manager.rb
index a59afb8b86..b0371699ad 100644
--- a/ext/tk/sample/tkextlib/bwidget/manager.rb
+++ b/ext/tk/sample/tkextlib/bwidget/manager.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# manager demo --- called from demo.rb
#
diff --git a/ext/tk/sample/tkextlib/bwidget/select.rb b/ext/tk/sample/tkextlib/bwidget/select.rb
index 3a1a810e14..b32a69d837 100644
--- a/ext/tk/sample/tkextlib/bwidget/select.rb
+++ b/ext/tk/sample/tkextlib/bwidget/select.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# select demo --- called from demo.rb
#
diff --git a/ext/tk/sample/tkextlib/bwidget/tmpldlg.rb b/ext/tk/sample/tkextlib/bwidget/tmpldlg.rb
index da2c9678c0..1496cbce2f 100644
--- a/ext/tk/sample/tkextlib/bwidget/tmpldlg.rb
+++ b/ext/tk/sample/tkextlib/bwidget/tmpldlg.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# templdlg demo --- called from demo.rb
#
diff --git a/ext/tk/sample/tkextlib/bwidget/tree.rb b/ext/tk/sample/tkextlib/bwidget/tree.rb
index 9ef6569d16..fbccd0d250 100644
--- a/ext/tk/sample/tkextlib/bwidget/tree.rb
+++ b/ext/tk/sample/tkextlib/bwidget/tree.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# templdlg demo --- called from demo.rb
#
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb
index 2b7cd45205..c64c3f0247 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb b/ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb
index bb09b4dfd3..4093997029 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb
index c7c043000a..1680aae695 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb
index ea8d63e6eb..1bedf2c543 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb
index bae0eba73a..bd0a21fd7f 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb
index 36847538d6..1ce2c9085e 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb b/ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb
index 5727879217..873f702cb5 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb b/ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb
index 12d498245d..30c72a1351 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb
index 3449cd4b3d..f9ceffb201 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb b/ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb
index 00ee99786c..240768a259 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb
index 682c853e47..151a06f8da 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb b/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb
index 8563a0894d..a063ddc2ce 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#########################################################
#
# use Tk::UTF8_String() for a utf8 charecter
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb b/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb
index d8ccdf8555..fb7538b278 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#########################################################
#
# set $KCODE to 'utf' for a utf8 charecter
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb b/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb
index 327f90893c..dc8462096e 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#########################################################
#
# set Tk.encoding = 'utf-8' for a utf8 charecter
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb b/ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb
index 4944c72ea5..fbacebc563 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb
index 63e4be2fee..2eb0c7aca0 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb
index c1a9b3defd..24a32da49a 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb b/ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb
index 7b87a029ed..27fe625a5d 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb
index 3a5b513bde..c87ee27a6c 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb
index ff22b2f643..1585bd4639 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb
index 110efb9b96..a32a08ffbf 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb b/ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb
index 085070e652..bb65a66b4d 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb b/ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb
index f9c92bf6dc..dcda4030f3 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb b/ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb
index 4e2e21e727..52bf957208 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb b/ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb
index 577550af55..8b45d2bcb0 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb b/ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb
index c9677f2270..3e5e511a1e 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb b/ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb
index e01275217d..389a622966 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb b/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb
index 477c916e07..c3fd8bc35d 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb b/ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb
index 87b2d38907..8f51ab754f 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb b/ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb
index 5278883568..9bb15ebec2 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb
index 52799f206c..ca73ed54d2 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb b/ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb
index 4d460e8802..4305db4f5c 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb b/ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb
index 576a9c18d0..a3b00b2a87 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb b/ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb
index 2b921ffab9..2dc7eaf411 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb b/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb
index 88fc401483..ba36319f85 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb b/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb
index 96987d529c..4abd5f4a45 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb
index d92a26ead9..7f011f4833 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb b/ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb
index e76dda88c6..5d3bdc7efd 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb
index 9cd6a002b0..470ed8cee5 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb
index 92c94b96bb..85e6a47b1a 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb
index e5bd90a1cb..91d22131c0 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb
index 2b675f802c..f825483b2c 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb
index bf2c60191f..3872fb7d40 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb
index 41498e67f7..4965039371 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb b/ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb
index 74684974b1..8c0b68a22e 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb b/ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb
index d53391f2f3..9fbf8b7d2a 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/shell.rb b/ext/tk/sample/tkextlib/iwidgets/sample/shell.rb
index 6d01280141..4cbf4416c0 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/shell.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/shell.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb b/ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb
index 17197a66b7..38d9b49c86 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb b/ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb
index e2dde01b18..1887f46e05 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb b/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb
index 6a20b0eb87..2e64bdfb08 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb b/ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb
index 2c13884b94..597e7d014c 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb b/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb
index 382b34d3ce..0c94cd1738 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb b/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb
index 2689759bde..57f9e46214 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb b/ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb
index 90be46b40b..99d5ac6071 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb b/ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb
index 465939947b..5841f0aadf 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb b/ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb
index bb5945048d..e2824b17aa 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb b/ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb
index 608efd0af1..3cbaec210b 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/iwidgets/sample/watch.rb b/ext/tk/sample/tkextlib/iwidgets/sample/watch.rb
index 2af53ba63b..b06f173eee 100644
--- a/ext/tk/sample/tkextlib/iwidgets/sample/watch.rb
+++ b/ext/tk/sample/tkextlib/iwidgets/sample/watch.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/iwidgets'
diff --git a/ext/tk/sample/tkextlib/tcllib/datefield.rb b/ext/tk/sample/tkextlib/tcllib/datefield.rb
index 3550af7d23..cf77ed5e64 100644
--- a/ext/tk/sample/tkextlib/tcllib/datefield.rb
+++ b/ext/tk/sample/tkextlib/tcllib/datefield.rb
@@ -1,4 +1,5 @@
#!/usr/bin/ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/tcllib/datefield'
diff --git a/ext/tk/sample/tkextlib/tcllib/plotdemos1.rb b/ext/tk/sample/tkextlib/tcllib/plotdemos1.rb
index 7f35a3833c..89166c1c30 100644
--- a/ext/tk/sample/tkextlib/tcllib/plotdemos1.rb
+++ b/ext/tk/sample/tkextlib/tcllib/plotdemos1.rb
@@ -1,4 +1,5 @@
#!/usr/bin/ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/tcllib/plotchart'
diff --git a/ext/tk/sample/tkextlib/tcllib/plotdemos2.rb b/ext/tk/sample/tkextlib/tcllib/plotdemos2.rb
index cb657a40d8..58c5b1928b 100644
--- a/ext/tk/sample/tkextlib/tcllib/plotdemos2.rb
+++ b/ext/tk/sample/tkextlib/tcllib/plotdemos2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/tcllib/plotchart'
diff --git a/ext/tk/sample/tkextlib/tcllib/plotdemos3.rb b/ext/tk/sample/tkextlib/tcllib/plotdemos3.rb
index 66b8fe706a..816e38b6a6 100644
--- a/ext/tk/sample/tkextlib/tcllib/plotdemos3.rb
+++ b/ext/tk/sample/tkextlib/tcllib/plotdemos3.rb
@@ -1,4 +1,5 @@
#!/usr/bin/ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/tcllib/plotchart'
diff --git a/ext/tk/sample/tkextlib/tcllib/xyplot.rb b/ext/tk/sample/tkextlib/tcllib/xyplot.rb
index 2aa101efcb..3d71c3bf9f 100644
--- a/ext/tk/sample/tkextlib/tcllib/xyplot.rb
+++ b/ext/tk/sample/tkextlib/tcllib/xyplot.rb
@@ -1,4 +1,5 @@
#!/usr/bin/ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/tcllib/plotchart'
diff --git a/ext/tk/sample/tkextlib/tile/demo.rb b/ext/tk/sample/tkextlib/tile/demo.rb
index 260ca00022..8348ecdb58 100644
--- a/ext/tk/sample/tkextlib/tile/demo.rb
+++ b/ext/tk/sample/tkextlib/tile/demo.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# Demo for 'tile' package.
#
diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc.rb b/ext/tk/sample/tkextlib/tile/themes/kroc.rb
index 72a7c6901d..3b8569275b 100644
--- a/ext/tk/sample/tkextlib/tile/themes/kroc.rb
+++ b/ext/tk/sample/tkextlib/tile/themes/kroc.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# kroc.rb
#
diff --git a/ext/tk/sample/tkextlib/tkHTML/hv.rb b/ext/tk/sample/tkextlib/tkHTML/hv.rb
index 920eb15f5a..eb3a786c21 100644
--- a/ext/tk/sample/tkextlib/tkHTML/hv.rb
+++ b/ext/tk/sample/tkextlib/tkHTML/hv.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# This script implements the "hv" application. Type "hv FILE" to
# view FILE as HTML.
diff --git a/ext/tk/sample/tkextlib/tkHTML/ss.rb b/ext/tk/sample/tkextlib/tkHTML/ss.rb
index 45d4d87d69..e6ef63bc31 100644
--- a/ext/tk/sample/tkextlib/tkHTML/ss.rb
+++ b/ext/tk/sample/tkextlib/tkHTML/ss.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# This script implements the "ss" application. "ss" implements
# a presentation slide-show based on HTML slides.
diff --git a/ext/tk/sample/tkextlib/tkimg/demo.rb b/ext/tk/sample/tkextlib/tkimg/demo.rb
index 8016c263a6..0f0d585fc7 100644
--- a/ext/tk/sample/tkextlib/tkimg/demo.rb
+++ b/ext/tk/sample/tkextlib/tkimg/demo.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# Tk::Img demo
#
diff --git a/ext/tk/sample/tkextlib/tktable/basic.rb b/ext/tk/sample/tkextlib/tktable/basic.rb
index dddbb776dc..eed5351a8a 100644
--- a/ext/tk/sample/tkextlib/tktable/basic.rb
+++ b/ext/tk/sample/tkextlib/tktable/basic.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## basic.rb
##
diff --git a/ext/tk/sample/tkextlib/tktable/buttons.rb b/ext/tk/sample/tkextlib/tktable/buttons.rb
index e35c137a28..2c3fee7982 100644
--- a/ext/tk/sample/tkextlib/tktable/buttons.rb
+++ b/ext/tk/sample/tkextlib/tktable/buttons.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## buttons.rb
##
diff --git a/ext/tk/sample/tkextlib/tktable/command.rb b/ext/tk/sample/tkextlib/tktable/command.rb
index e697ccf3bf..05ee47aa17 100644
--- a/ext/tk/sample/tkextlib/tktable/command.rb
+++ b/ext/tk/sample/tkextlib/tktable/command.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## command.rb
##
diff --git a/ext/tk/sample/tkextlib/tktable/debug.rb b/ext/tk/sample/tkextlib/tktable/debug.rb
index 016d5b353e..831b3a1846 100644
--- a/ext/tk/sample/tkextlib/tktable/debug.rb
+++ b/ext/tk/sample/tkextlib/tktable/debug.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## debug.rb
##
diff --git a/ext/tk/sample/tkextlib/tktable/dynarows.rb b/ext/tk/sample/tkextlib/tktable/dynarows.rb
index cc72a021cf..ae3349daba 100644
--- a/ext/tk/sample/tkextlib/tktable/dynarows.rb
+++ b/ext/tk/sample/tkextlib/tktable/dynarows.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## dynarows.rb
##
diff --git a/ext/tk/sample/tkextlib/tktable/maxsize.rb b/ext/tk/sample/tkextlib/tktable/maxsize.rb
index 74e136c49c..51aa619126 100644
--- a/ext/tk/sample/tkextlib/tktable/maxsize.rb
+++ b/ext/tk/sample/tkextlib/tktable/maxsize.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## maxsize.rb
##
diff --git a/ext/tk/sample/tkextlib/tktable/spreadsheet.rb b/ext/tk/sample/tkextlib/tktable/spreadsheet.rb
index 2953b2e597..a801045d41 100644
--- a/ext/tk/sample/tkextlib/tktable/spreadsheet.rb
+++ b/ext/tk/sample/tkextlib/tktable/spreadsheet.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## spreadsheet.rb
##
diff --git a/ext/tk/sample/tkextlib/tktable/valid.rb b/ext/tk/sample/tkextlib/tktable/valid.rb
index 98e9c3855a..f11e511884 100644
--- a/ext/tk/sample/tkextlib/tktable/valid.rb
+++ b/ext/tk/sample/tkextlib/tktable/valid.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
##
## valid.rb
##
diff --git a/ext/tk/sample/tkextlib/treectrl/bitmaps.rb b/ext/tk/sample/tkextlib/treectrl/bitmaps.rb
index 0d8b37b81e..a42e7ac541 100644
--- a/ext/tk/sample/tkextlib/treectrl/bitmaps.rb
+++ b/ext/tk/sample/tkextlib/treectrl/bitmaps.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Demo: Bitmaps
#
diff --git a/ext/tk/sample/tkextlib/treectrl/demo.rb b/ext/tk/sample/tkextlib/treectrl/demo.rb
index 564a005bdc..cd277cf2a9 100644
--- a/ext/tk/sample/tkextlib/treectrl/demo.rb
+++ b/ext/tk/sample/tkextlib/treectrl/demo.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/treectrl'
diff --git a/ext/tk/sample/tkextlib/treectrl/explorer.rb b/ext/tk/sample/tkextlib/treectrl/explorer.rb
index 1b8c2a8287..3b54bf269c 100644
--- a/ext/tk/sample/tkextlib/treectrl/explorer.rb
+++ b/ext/tk/sample/tkextlib/treectrl/explorer.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
def demoExplorerAux(t, dir_proc, file_proc)
base_dir = File.dirname(File.dirname(@ScriptDir))
diff --git a/ext/tk/sample/tkextlib/treectrl/help.rb b/ext/tk/sample/tkextlib/treectrl/help.rb
index 31ec9eb3f8..e3758d00a6 100644
--- a/ext/tk/sample/tkextlib/treectrl/help.rb
+++ b/ext/tk/sample/tkextlib/treectrl/help.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Demo: Help contents
#
diff --git a/ext/tk/sample/tkextlib/treectrl/imovie.rb b/ext/tk/sample/tkextlib/treectrl/imovie.rb
index 72134ebda6..4419496ac4 100644
--- a/ext/tk/sample/tkextlib/treectrl/imovie.rb
+++ b/ext/tk/sample/tkextlib/treectrl/imovie.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Demo: iMovie
#
diff --git a/ext/tk/sample/tkextlib/treectrl/layout.rb b/ext/tk/sample/tkextlib/treectrl/layout.rb
index 488abe2aa9..50c332641b 100644
--- a/ext/tk/sample/tkextlib/treectrl/layout.rb
+++ b/ext/tk/sample/tkextlib/treectrl/layout.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Demo: Layout
#
diff --git a/ext/tk/sample/tkextlib/treectrl/mailwasher.rb b/ext/tk/sample/tkextlib/treectrl/mailwasher.rb
index 1b51bb9b21..81ffe743b6 100644
--- a/ext/tk/sample/tkextlib/treectrl/mailwasher.rb
+++ b/ext/tk/sample/tkextlib/treectrl/mailwasher.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Demo: MailWasher
#
diff --git a/ext/tk/sample/tkextlib/treectrl/outlook-folders.rb b/ext/tk/sample/tkextlib/treectrl/outlook-folders.rb
index d966807866..8707251ee9 100644
--- a/ext/tk/sample/tkextlib/treectrl/outlook-folders.rb
+++ b/ext/tk/sample/tkextlib/treectrl/outlook-folders.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Demo: Outlook Express folder list
#
diff --git a/ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb b/ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb
index 3495522e5c..841f330919 100644
--- a/ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb
+++ b/ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# Demo: Outlook Express newsgroup messages
#
diff --git a/ext/tk/sample/tkextlib/treectrl/random.rb b/ext/tk/sample/tkextlib/treectrl/random.rb
index 43aca63283..33bbcc2631 100644
--- a/ext/tk/sample/tkextlib/treectrl/random.rb
+++ b/ext/tk/sample/tkextlib/treectrl/random.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
def random_N
@RandomN[0] || 500
diff --git a/ext/tk/sample/tkextlib/treectrl/www-options.rb b/ext/tk/sample/tkextlib/treectrl/www-options.rb
index 6a3e9c2201..81f5349abc 100644
--- a/ext/tk/sample/tkextlib/treectrl/www-options.rb
+++ b/ext/tk/sample/tkextlib/treectrl/www-options.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
def demoInternetOptions (t)
@Option = TkVarAccess.new_hash('::Option')
diff --git a/ext/tk/sample/tkextlib/vu/canvItems.rb b/ext/tk/sample/tkextlib/vu/canvItems.rb
index 364f87613b..aa9bd5e9f6 100644
--- a/ext/tk/sample/tkextlib/vu/canvItems.rb
+++ b/ext/tk/sample/tkextlib/vu/canvItems.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/vu/charts'
diff --git a/ext/tk/sample/tkextlib/vu/canvSticker.rb b/ext/tk/sample/tkextlib/vu/canvSticker.rb
index 85713ebcf3..a240eb5be2 100644
--- a/ext/tk/sample/tkextlib/vu/canvSticker.rb
+++ b/ext/tk/sample/tkextlib/vu/canvSticker.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/vu/charts'
diff --git a/ext/tk/sample/tkextlib/vu/canvSticker2.rb b/ext/tk/sample/tkextlib/vu/canvSticker2.rb
index 3d9495ffb0..5dec81aed9 100644
--- a/ext/tk/sample/tkextlib/vu/canvSticker2.rb
+++ b/ext/tk/sample/tkextlib/vu/canvSticker2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/vu/charts'
diff --git a/ext/tk/sample/tkextlib/vu/dial_demo.rb b/ext/tk/sample/tkextlib/vu/dial_demo.rb
index f1f2f110b1..409b8d73cf 100644
--- a/ext/tk/sample/tkextlib/vu/dial_demo.rb
+++ b/ext/tk/sample/tkextlib/vu/dial_demo.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/vu/dial'
diff --git a/ext/tk/sample/tkextlib/vu/oscilloscope.rb b/ext/tk/sample/tkextlib/vu/oscilloscope.rb
index 1efe13ce01..0fa779985d 100644
--- a/ext/tk/sample/tkextlib/vu/oscilloscope.rb
+++ b/ext/tk/sample/tkextlib/vu/oscilloscope.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/vu/charts'
diff --git a/ext/tk/sample/tkextlib/vu/pie.rb b/ext/tk/sample/tkextlib/vu/pie.rb
index c8f9276e4e..a61a19188e 100644
--- a/ext/tk/sample/tkextlib/vu/pie.rb
+++ b/ext/tk/sample/tkextlib/vu/pie.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/vu/pie'
diff --git a/ext/tk/sample/tkextlib/vu/vu_demo.rb b/ext/tk/sample/tkextlib/vu/vu_demo.rb
index 358d32495f..7b9741f933 100644
--- a/ext/tk/sample/tkextlib/vu/vu_demo.rb
+++ b/ext/tk/sample/tkextlib/vu/vu_demo.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
require 'tkextlib/vu'
diff --git a/ext/tk/sample/tkfrom.rb b/ext/tk/sample/tkfrom.rb
index f51f7f5d85..4c249884af 100644
--- a/ext/tk/sample/tkfrom.rb
+++ b/ext/tk/sample/tkfrom.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require "parsedate"
require "base64"
diff --git a/ext/tk/sample/tkhello.rb b/ext/tk/sample/tkhello.rb
index 597c1f6242..02de5ff381 100644
--- a/ext/tk/sample/tkhello.rb
+++ b/ext/tk/sample/tkhello.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require "tk"
TkButton.new(nil,
diff --git a/ext/tk/sample/tkline.rb b/ext/tk/sample/tkline.rb
index 3124c2fe0c..c23cb95cbd 100644
--- a/ext/tk/sample/tkline.rb
+++ b/ext/tk/sample/tkline.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require "tkclass"
diff --git a/ext/tk/sample/tkmenubutton.rb b/ext/tk/sample/tkmenubutton.rb
index 8ae1359425..2107e42a75 100644
--- a/ext/tk/sample/tkmenubutton.rb
+++ b/ext/tk/sample/tkmenubutton.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# menubutton sample : based on sample menubuttons on the Tcl/Tk demo script
#
diff --git a/ext/tk/sample/tkmsgcat-load_rb.rb b/ext/tk/sample/tkmsgcat-load_rb.rb
index 98a91fadf4..bacf85de50 100644
--- a/ext/tk/sample/tkmsgcat-load_rb.rb
+++ b/ext/tk/sample/tkmsgcat-load_rb.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
diff --git a/ext/tk/sample/tkmsgcat-load_rb2.rb b/ext/tk/sample/tkmsgcat-load_rb2.rb
index 05512a3131..53e41bc481 100644
--- a/ext/tk/sample/tkmsgcat-load_rb2.rb
+++ b/ext/tk/sample/tkmsgcat-load_rb2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
diff --git a/ext/tk/sample/tkmsgcat-load_tk.rb b/ext/tk/sample/tkmsgcat-load_tk.rb
index 703f471e19..783d03ccf2 100644
--- a/ext/tk/sample/tkmsgcat-load_tk.rb
+++ b/ext/tk/sample/tkmsgcat-load_tk.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'tk'
diff --git a/ext/tk/sample/tkmulticolumnlist.rb b/ext/tk/sample/tkmulticolumnlist.rb
index a1b3a1a2fa..fb0c29d7ff 100644
--- a/ext/tk/sample/tkmulticolumnlist.rb
+++ b/ext/tk/sample/tkmulticolumnlist.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# tkmulticolumnlist.rb : multiple column list widget on scrollable frame
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
diff --git a/ext/tk/sample/tkmultilistbox.rb b/ext/tk/sample/tkmultilistbox.rb
index 7791649c4b..c8c8118ffe 100644
--- a/ext/tk/sample/tkmultilistbox.rb
+++ b/ext/tk/sample/tkmultilistbox.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# tkmultilistbox.rb : multiple listbox widget
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
diff --git a/ext/tk/sample/tkmultilistframe.rb b/ext/tk/sample/tkmultilistframe.rb
index 7c0aac9a9e..229a40023a 100644
--- a/ext/tk/sample/tkmultilistframe.rb
+++ b/ext/tk/sample/tkmultilistframe.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# tkmultilistframe.rb : multiple listbox widget on scrollable frame
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
diff --git a/ext/tk/sample/tkoptdb-safeTk.rb b/ext/tk/sample/tkoptdb-safeTk.rb
index 8fd35a9e7a..f14015d15f 100755
--- a/ext/tk/sample/tkoptdb-safeTk.rb
+++ b/ext/tk/sample/tkoptdb-safeTk.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
require 'multi-tk'
diff --git a/ext/tk/sample/tkoptdb.rb b/ext/tk/sample/tkoptdb.rb
index 0171e465b3..3fb2464260 100644
--- a/ext/tk/sample/tkoptdb.rb
+++ b/ext/tk/sample/tkoptdb.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# sample script of TkOptionDB
#
diff --git a/ext/tk/sample/tkrttimer.rb b/ext/tk/sample/tkrttimer.rb
index 1f9cbd9eb5..cde15620b6 100644
--- a/ext/tk/sample/tkrttimer.rb
+++ b/ext/tk/sample/tkrttimer.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
# This script is a re-implementation of tktimer.rb with TkTimer(TkAfter) class.
require "tk"
diff --git a/ext/tk/sample/tksleep_sample.rb b/ext/tk/sample/tksleep_sample.rb
index 23f6eca54e..14ce3a475f 100644
--- a/ext/tk/sample/tksleep_sample.rb
+++ b/ext/tk/sample/tksleep_sample.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
require 'tk'
v = TkVariable.new(0)
diff --git a/ext/tk/sample/tktextframe.rb b/ext/tk/sample/tktextframe.rb
index d6584beeb8..f6d9bbd239 100644
--- a/ext/tk/sample/tktextframe.rb
+++ b/ext/tk/sample/tktextframe.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
#
# tktextframe.rb : a sample of TkComposite
#
diff --git a/ext/tk/sample/tktextio.rb b/ext/tk/sample/tktextio.rb
index 74a0804d38..4a1346b38b 100644
--- a/ext/tk/sample/tktextio.rb
+++ b/ext/tk/sample/tktextio.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# TkTextIO class :: handling I/O stream on a TkText widget
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
diff --git a/ext/tk/sample/tktimer.rb b/ext/tk/sample/tktimer.rb
index b1adb5b506..4b6abae7e6 100644
--- a/ext/tk/sample/tktimer.rb
+++ b/ext/tk/sample/tktimer.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
# This script generates a counter with start and stop buttons.
require "tk"
diff --git a/ext/tk/sample/tktimer2.rb b/ext/tk/sample/tktimer2.rb
index 125115e863..3f8d722153 100644
--- a/ext/tk/sample/tktimer2.rb
+++ b/ext/tk/sample/tktimer2.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
# This script is a re-implementation of tktimer.rb with TkTimer(TkAfter) class.
require "tk"
diff --git a/ext/tk/sample/tktimer3.rb b/ext/tk/sample/tktimer3.rb
index 08e8a3cad4..bce3cd6b6c 100644
--- a/ext/tk/sample/tktimer3.rb
+++ b/ext/tk/sample/tktimer3.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
# This script is a re-implementation of tktimer.rb with TkTimer(TkAfter) class.
require "tk"
diff --git a/ext/tk/sample/tktree.rb b/ext/tk/sample/tktree.rb
index 4eb7f60627..47622973e7 100644
--- a/ext/tk/sample/tktree.rb
+++ b/ext/tk/sample/tktree.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: false
##########################################################################
# TkTree widget class
#
diff --git a/ext/tk/sample/ttk_wrapper.rb b/ext/tk/sample/ttk_wrapper.rb
index e4eb9c7964..eee9878704 100644
--- a/ext/tk/sample/ttk_wrapper.rb
+++ b/ext/tk/sample/ttk_wrapper.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# frozen_string_literal: false
#
# ttk_wrapper.rb -- use Ttk widgets as default on old Ruby/Tk scripts
#