Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Allow `-clean` command line option with `-app` and `-resource` options

Open
#3,828 6 comments 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
java
Domain
desktop

Research direction

Start by reading Phoebus's command-line handling for -clean, -app, and -resource, then trace how startup and requests are handled when Phoebus is already open. The issue does not name specific files or tests, so locate the relevant entry points and existing coverage first. Done means a clean launch opens the requested app or resource without restoring prior state, while an already-running instance ignores -clean and opens the request normally.

Written by the indexing model from the issue text.

Description

We have a use case where we would want to launch a BOB screen in its own window from the terminal, e.g.

phoebus.sh -resource "file:/path/to/file/example.bob@target=window"

The only problem with this is that by default this will bring up the persisted Phoebus state, which might contain other open windows or screen editor tabs etc. At that point, the only way to ensure only the 'example.bob' screen appears is to make sure you close all the other windows/tabs before shutting phoebus down (not ideal!) or you first run with -clean:

phoebus.sh -clean
phoebus.sh -resource "file:/path/to/file/example.bob@target=window"

I feel like it would be much cleaner to be able to run something like:

phoebus.sh -clean -resource "file:/path/to/file/example.bob@target=window"

which is basically saying I want a clean start (no persisted state) and to open the following resource.

However the current design of Phoebus is such that -clean overrides any other option (e.g -resource xx, -app xx). Does anyone know the original reasoning behind this and whether we could change this behavior to something like that described above?

The desired behavior would be as such:

  • If Phoebus isn't open then clean (i.e. do not load previous state) and open the resource/app.
  • If Phoebus is already open, then the -clean is automatically ignored and the resource/app will just be opened as normal (and everything already open remains).

I am happy to put in a PR to make this change but wanted to get some feedback first to make sure I haven't missed anything about the behavior?

Dominant language
Java
Stars
130
Forks
132
Avg merge
2d 11h
Merged PRs (30d)
19

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ControlSystemStudio/phoebus

All issues in ControlSystemStudio/phoebus

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.