| Type: | Package | 
| Title: | Update Browser Window Title in 'shiny' Session | 
| Version: | 0.1.0 | 
| Description: | Enables the ability to change or flash the title of the browser window during a 'shiny' session. | 
| URL: | https://github.com/ashbaldry/shinytitle, https://ashbaldry.github.io/shinytitle/ | 
| BugReports: | https://github.com/ashbaldry/shinytitle/issues | 
| Imports: | shiny | 
| Suggests: | testthat (≥ 3.0.0) | 
| License: | GPL-2 | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.1.1 | 
| NeedsCompilation: | no | 
| Packaged: | 2021-06-15 17:58:52 UTC; arbal | 
| Author: | Ashley Baldry [aut, cre] | 
| Maintainer: | Ashley Baldry <arbaldry91@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2021-06-16 10:40:02 UTC | 
Create Busy Browser Title
Description
Change the text in the browser tab whenever the shiny application is processing any server-side code.
Usage
busy_window_title(title = "Running...")
Arguments
| title | String to give the window title. | 
Value
The browser tab title will change whenever the shiny application is in a 'busy' state.
Note
Add use_shiny_title within the UI for busy_window_title to work.
Examples
if (interactive()) {
  library(shiny)
  ui <- fluidPage(
    title = "Initial Title",
    use_shiny_title(),
    busy_window_title("Sleeping..."),
    actionButton("button", "Click me for a 5 second busy title")
  )
  server <- function(input, output, session) {
    observeEvent(input$button, Sys.sleep(5))
  }
  shinyApp(ui, server)
}
Change Browser Title
Description
Change the text that is present in the browser tab.
Usage
change_window_title(
  session = shiny::getDefaultReactiveDomain(),
  title = "Ready!",
  inactive_only = FALSE,
  revert_on_focus = inactive_only
)
Arguments
| session | The  | 
| title | String to give the window title | 
| inactive_only | Logical, whether or not the title should only change if the tab is not
active. Default is set to  | 
| revert_on_focus | Logical, should the title revert back to the original title when the tab is in
focus/active again? Only works when  | 
Value
The browser tab title will change to the new specified title.
Note
Add use_shiny_title within the UI for change_window_title to work.
Examples
if (interactive()) {
  library(shiny)
  ui <- fluidPage(
    title = "Initial Title",
    use_shiny_title(),
    actionButton("button", "Click me for a new title"),
    actionButton("button2", "Click me for a button when finished")
  )
  server <- function(input, output, session) {
    observeEvent(input$button, {
      change_window_title(session, "New Title")
    })
    observeEvent(input$button2, {
      Sys.sleep(3)
      change_window_title(session, "Sleep Finished", inactive_only = TRUE)
    })
  }
  shinyApp(ui, server)
}
Create Flashing Browser Title
Description
Alternate the text in the browser tab between the current text and the new specified text.
Usage
flashing_window_title(
  session = shiny::getDefaultReactiveDomain(),
  title = "Ready!",
  inactive_only = FALSE,
  revert_on_focus = inactive_only,
  revert_on_mousemove = TRUE,
  interval = 500,
  duration = 0
)
Arguments
| session | The  | 
| title | String to give the window title. | 
| inactive_only | Logical, whether or not the title should only change if the tab is not
active. Default is set to  | 
| revert_on_focus | Logical, should the title revert back to the original title when the tab is in
focus/active again? Only works when  | 
| revert_on_mousemove | Logical, should the title revert back to the original title when the mouse
is moved in the tab? Default is set to  | 
| interval | Time (in milliseconds) to flip between the original title and the new title. | 
| duration | Time (in milliseconds) to stop flashing the title. 0 (the default) means it will flash indefinitely. | 
Value
The browser tab title will change between the original and newly specified title.
Note
Add use_shiny_title within the UI for flashing_window_title to work.
Examples
if (interactive()) {
  library(shiny)
  ui <- fluidPage(
    title = "Initial Title",
    use_shiny_title(),
    actionButton("button", "Click me for a 10 second flashing title"),
    actionButton("button2", "Click me for a delayed flashing button")
  )
  server <- function(input, output, session) {
    observeEvent(input$button, {
      flashing_window_title(
        session, "--- Flash ---", revert_on_mousemove = FALSE, duration = 10000
      )
    })
    observeEvent(input$button2, {
      Sys.sleep(3)
      flashing_window_title(
        session, "Please Come Back", inactive_only = TRUE, interval = 1000
      )
    })
  }
  shinyApp(ui, server)
}
Run shinytitle Example
Description
Launch one of the examples contained in the shinytitle package:
- toggleAn example showing the effects of simple change to the title and flashing title 
- busyAn example of when the title changes when the shiny app is busy running calculations 
Usage
run_shinytitle_example(example = c("toggle", "busy"), ...)
Arguments
| example | Choose between  | 
| ... | other arguments sent to  | 
Examples
if (interactive()) {
  library(shiny)
  run_shinytitle_example()
}
Enable shinytitle
Description
Add this function to the UI of a shiny application in order for you to be able to update the browser title.
Usage
use_shiny_title()
Value
A script tag that enables shinytitle to work within a shiny app.
See Also
change_window_title flashing_window_title
Examples
if (interactive()) {
  library(shiny)
  ui <- fluidPage(
    title = "Initial Title",
    use_shiny_title(),
    actionButton("button", "Click me for a new title"),
  )
  server <- function(input, output, session) {
    observeEvent(input$button, {
      change_window_title(session, "New Title")
    })
  }
  shinyApp(ui, server)
}