# Path: kano_settings/screens.py
# SCREENS = ScreenCollection([
#     Screen('keyboard', N_("Keyboard"), choose_keyboard_screen, screen_no=0,
#            setting_param='Keyboard-country-human'),
#     Screen('mouse', N_("Mouse"), SetMouse, screen_no=1, setting_param='Mouse'),
#     Screen('audio', N_("Audio"), SetAudio, screen_no=2, setting_param='Audio'),
#     Screen('display', N_("Display"), SetDisplay, screen_no=3),
#     Screen('wifi', N_("WiFi"), SetWifi, screen_no=4),
#     Screen('bluetooth', N_("Bluetooth"), BluetoothConfig,
#            on_home_screen=is_bluetooth_available()),
#     Screen('overclocking', N_("Overclocking"), SetOverclock, screen_no=5,
#            setting_param='Overclocking'),
#     Screen('account', N_("Account"), SetAccount, screen_no=6),
#     Screen('appearance', N_("Style"), SetStyle, screen_no=7,
#            setting_param='Wallpaper'),
#     Screen('font', N_("Font"), SetFont, screen_no=8, setting_param='Font'),
#     Screen('advanced', N_("Advanced"), SetAdvanced, screen_no=9),
#     Screen('about', N_("About"), SetAbout, screen_no=10),
#     Screen('notifications', N_("Notifications"), SetNotifications, screen_no=11),
#     Screen('no-internet', N_("No-internet"), NoInternet, screen_no=12,
#            on_home_screen=False),
#     Screen('proxy', 'proxy', SetProxy, screen_no=13, on_home_screen=False),
#     Screen('first-boot-set-wallpaper', 'first-boot-set-wallpaper',
#            FirstBootSetWallpaper, screen_no=14, on_home_screen=False),
#     Screen('set-parental-password', 'set-parental-password', SetPassword,
#            screen_no=15, on_home_screen=False),
#     # TODO: Add 'Locale' screen to home screen when translations are available.
#     # TODO: Add icon for the 'Locale' screen.
#     Screen('locale', _("Locale"), LocaleConfig, setting_param='Locale',
#            on_home_screen=False),
# ])


from gi import require_version
from gi.repository import Gtk
from kano.gtk3.scrolled_window import ScrolledWindow
from kano_settings.screens import SCREENS
import math
        if screen_number is not None:
            self.go_to_screen_number(screen_number)
            return

        Gtk.Box.__init__(self)

        self.win.set_main_widget(self)
        self.win.top_bar.disable_prev()
        self.win.remove_prev_callback()

        self.width = 640
        self.height = 304
        self._col_count = 2

        scrolled_window = self._generate_grid()
        self.pack_start(scrolled_window, True, True, 0)

        self.win.show_all()

    def _generate_grid(self):
        row_count = int(math.ceil(
            float(len(self._DISPLAYED_SCREENS)) / self._col_count)
        )

        table = Gtk.Table(row_count, self._col_count, homogeneous=True,
                          hexpand=True, vexpand=True)
        table.props.margin = 0

        for idx, screen in enumerate(self._DISPLAYED_SCREENS):
            row = idx / 2

# Path: kano_settings/screens.py
# SCREENS = ScreenCollection([
#     Screen('keyboard', N_("Keyboard"), choose_keyboard_screen, screen_no=0,
#            setting_param='Keyboard-country-human'),
#     Screen('mouse', N_("Mouse"), SetMouse, screen_no=1, setting_param='Mouse'),
#     Screen('audio', N_("Audio"), SetAudio, screen_no=2, setting_param='Audio'),
#     Screen('display', N_("Display"), SetDisplay, screen_no=3),
#     Screen('wifi', N_("WiFi"), SetWifi, screen_no=4),
#     Screen('bluetooth', N_("Bluetooth"), BluetoothConfig,
#            on_home_screen=is_bluetooth_available()),
#     Screen('overclocking', N_("Overclocking"), SetOverclock, screen_no=5,
#            setting_param='Overclocking'),
#     Screen('account', N_("Account"), SetAccount, screen_no=6),
#     Screen('appearance', N_("Style"), SetStyle, screen_no=7,
#            setting_param='Wallpaper'),
#     Screen('font', N_("Font"), SetFont, screen_no=8, setting_param='Font'),
#     Screen('advanced', N_("Advanced"), SetAdvanced, screen_no=9),
#     Screen('about', N_("About"), SetAbout, screen_no=10),
#     Screen('notifications', N_("Notifications"), SetNotifications, screen_no=11),
#     Screen('no-internet', N_("No-internet"), NoInternet, screen_no=12,
#            on_home_screen=False),
#     Screen('proxy', 'proxy', SetProxy, screen_no=13, on_home_screen=False),
#     Screen('first-boot-set-wallpaper', 'first-boot-set-wallpaper',
#            FirstBootSetWallpaper, screen_no=14, on_home_screen=False),
#     Screen('set-parental-password', 'set-parental-password', SetPassword,
#            screen_no=15, on_home_screen=False),
#     # TODO: Add 'Locale' screen to home screen when translations are available.
#     # TODO: Add icon for the 'Locale' screen.
#     Screen('locale', _("Locale"), LocaleConfig, setting_param='Locale',
#            on_home_screen=False),
# ])


# Path: kano_settings/home_screen.py
from gi import require_version
from gi.repository import Gtk
from kano.gtk3.scrolled_window import ScrolledWindow
from kano_settings.screens import SCREENS
import math

        if screen_number is not None:
            self.go_to_screen_number(screen_number)
            return

        Gtk.Box.__init__(self)

        self.win.set_main_widget(self)
        self.win.top_bar.disable_prev()
        self.win.remove_prev_callback()

        self.width = 640
        self.height = 304
        self._col_count = 2

        scrolled_window = self._generate_grid()
        self.pack_start(scrolled_window, True, True, 0)

        self.win.show_all()

    def _generate_grid(self):
        row_count = int(math.ceil(
            float(len(self._DISPLAYED_SCREENS)) / self._col_count)
        )

        table = Gtk.Table(row_count, self._col_count, homogeneous=True,
                          hexpand=True, vexpand=True)
        table.props.margin = 0

        for idx, screen in enumerate(self._DISPLAYED_SCREENS):
            row = idx / 2

            col = idx % 2