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

Positioning new windows based on the BOB display's x and y properties

Open
#3,871 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
java
Domain
desktop

Research direction

Start with the cited DockItemRepresentation.java code and trace how command-line launches with target=window are handled. Compare that path with the ActionButton behavior for position and dimensions. The issue asks whether to change the default or add an opt-in preference, so the intended behavior needs agreement before implementation can be considered done.

Written by the indexing model from the issue text.

Description

When a display is launched from the command line and opened as a 'New Window', i.e. phoebus -resource file:/xx/xxx/file.bob?target=window, it will always be positioned at the default x=50, y=50 location on the monitor.

However, when you open a display from an ActionButton in the 'New Window' mode, it reads the x and y defined in the BOB file and positions that display in that location:
https://github.com/ControlSystemStudio/phoebus/blob/31059edc069e5d1df75202c1d6f31972e0a5b868/app/display/runtime/src/main/java/org/csstudio/display/builder/runtime/app/DockItemRepresentation.java#L65

The same is also true of width & height. Opening from an ActionButton will open the window with dimensions based on the BOB display's width and height properties:
https://github.com/ControlSystemStudio/phoebus/blob/31059edc069e5d1df75202c1d6f31972e0a5b868/app/display/runtime/src/main/java/org/csstudio/display/builder/runtime/app/DockItemRepresentation.java#L86
, while launching from a terminal using the default 1600 x 900 dimensions.

These two behaviors seem inconsistent. While I know that you can manually specify the width, height, x and y from the command line, I was wondering whether the default behavior when launching a new window from the terminal should be to position the new window at the x and y defined in the model and resize the window accordingly?

This was also what used to be done by CS-Studio when you opened with Position=NEW_SHELL in the command line argument.

Any thoughts on whether this would be a reasonable thing to do? It would impact the existing behavior so we may need to use an 'opt in' preference.

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

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.