How to get Name of the active screen?

Description

Is there a way to get the name (or any other ID) for the current screen?

I know there is lv_scr_act(), but it doesn’t tell us the name of the screen?

For example, something like:

lv_obj_t * activeScreen = lv_scr_act();

if( lv_get_screen_name(activeScreen) == "ui_S2") 
{
//do
}

Thanks in advance

Maybe try this.
lv_disp_get_scr_act(disp)

Hi

I found this post because I have the exact same question. Did you ever come up with a solution to this?

Thanks

Yes, I found a solution.

I declare a global variable:

char * currentScreen;

then on screen_load_start event i update the screen name.

if ( event_code == LV_EVENT_SCREEN_LOAD_START ) {
currentScreen = “ui_s4”;
}

//ui.c

// SCREEN: ui_Main
void ui_Main_screen_init(void);
void ui_event_Main( lv_event_t * e);
lv_obj_t *ui_Main;
/////////////////////////////////////////

if (lv_scr_act()==ui_Main)
{
do
}

For me works ok with Squareline