a possible solution is to check the data in the \IPS\Request::i()->url() method.
if it is the default app on the "homepage", then ->path should be empty:
IPS\Http\Url\Friendly Object
(
[url:protected] => https://dev.codingjungle.com/
[data] => Array
(
[scheme] => https
[host] => dev.codingjungle.com
[port] =>
[user] =>
[pass] =>
[path] => /
[query] =>
[fragment] =>
)
[queryString] => Array
(
)
[hiddenQueryString] => Array
(
[app] => stratagem
[module] => view
[controller] => projects
)
[seoPagination] =>
[base] => front
[seoTemplate] => stratagem
[seoTitles] => Array
(
)
[friendlyUrlComponent] =>
)
otherwise it will be populated with the path from the furl:
IPS\Http\Url\Friendly Object
(
[url:protected] => https://dev.codingjungle.com/stratagem
[data] => Array
(
[scheme] => https
[host] => dev.codingjungle.com
[port] =>
[user] =>
[pass] =>
[path] => /stratagem
[query] =>
[fragment] =>
)
[queryString] => Array
(
)
[hiddenQueryString] => Array
(
[app] => stratagem
[module] => view
[controller] => projects
)
[seoPagination] =>
[base] => front
[seoTemplate] => stratagem
[seoTitles] => Array
(
)
[friendlyUrlComponent] => stratagem
)
there might be a caveat to this, as i haven't fully tested this. it was something off the top of my head.
btw this could be a good method too, as applications and modules get cached, so it shouldn't cost anything noticeable in loads, well nothing more than most servers can afford to use.