return terminal->active_vt;
}
+static bool
+set_active_vt (ply_terminal_t *terminal,
+ int vt_number)
+{
+ if (ioctl (terminal->fd, VT_ACTIVATE, vt_number) < 0)
+ return false;
+
+ terminal->next_active_vt = vt_number;
+
+ return true;
+}
+
bool
-ply_terminal_set_active_vt (ply_terminal_t *terminal,
- int vt_number)
+ply_terminal_activate_vt (ply_terminal_t *terminal)
{
assert (terminal != NULL);
- if (vt_number <= 0)
+ if (terminal->vt_number <= 0)
return false;
- if (vt_number == terminal->active_vt)
+ if (terminal->vt_number == terminal->active_vt)
return true;
- if (ioctl (terminal->fd, VT_ACTIVATE, vt_number) < 0)
+ if (!set_active_vt (terminal, terminal->vt_number))
return false;
- terminal->next_active_vt = vt_number;
-
return true;
}
int ply_terminal_get_vt_number (ply_terminal_t *terminal);
int ply_terminal_get_active_vt (ply_terminal_t *terminal);
-bool ply_terminal_set_active_vt (ply_terminal_t *terminal,
- int vt_number);
+bool ply_terminal_activate_vt (ply_terminal_t *terminal);
void ply_terminal_watch_for_active_vt_change (ply_terminal_t *terminal,
ply_terminal_active_vt_changed_handler_t active_vt_changed_handler,
state->terminal = terminal;
- ply_terminal_set_active_vt (state->terminal,
- ply_terminal_get_vt_number (state->terminal));
+ ply_terminal_activate_vt (state->terminal);
keyboard = ply_keyboard_new_for_terminal (state->terminal);
display = ply_text_display_new (state->terminal);
node = next_node;
}
- ply_terminal_set_active_vt (backend->terminal,
- ply_terminal_get_vt_number (backend->terminal));
+ ply_terminal_activate_vt (backend->terminal);
return head_mapped;
}
if (head->map_address == MAP_FAILED)
return false;
- ply_terminal_set_active_vt (backend->terminal,
- ply_terminal_get_vt_number (backend->terminal));
+ ply_terminal_activate_vt (backend->terminal);
return true;
}