PCBNew / UX issue: delete off-screen selected block

Since it happen from time to time for me, I’d like to discuss my issue with other Kicad users.
When I’m in the process of designing PCB, I frequently move layed out blocks around my PCB.
I do this by selecting some group of compoents then move it around.
My problem is, when I move such block off-screen and then go back to work on my PCB; I want to delete some e.g. tracks by hovering mouse over the track and hit DEL. What actually happens is, KICAD deletes my off-screen block because it was selected.
The only clue to me that something wrong happened is that the track segment I wanted to delete was not deleted. Then I can rescue my block with Undo.
This way, I need to remember to de-select block after I place it.
Now what could be the solution?
I don’t want to deselect block automatically after move, as I prefer to keep it selected for further adjustments. Maybe KiCad shall ask “disambugation” question if user hits DEL with cursor hovering over an existing object (do you want to delete your selection, or object below your cursor)? (this way selected objects would be deleted immediately if the mouse cursor was not over an exising object).
Other idea would be to ask if one tries to delete off-screen selected objects?
What’s your opinion on this matter?

I want KiCad to do what I tel it to do.
I don’t want KiCad nagging me with questions whether I’m sane enough to make my own decisions.

Simple block operations are, and should remain just that.
If I park a block next to my schematic I always unselect it immediately to prevent the trouble you’re having from happening. If you place it outside of the “paper area” it’s always easy to re-select it later.

Something that may work is to have multiple copy and paste buffers, so you can paste a block into a certain buffer, then do something else and later retrieve that block from that buffer.

3 Likes

I agree that software should not invasively get into our workflow.
But ask yourself a question: how often do you delete an off-screen, previously selected block on purpose?
I bet in most cases it will be an user error.
Now if you follow your rules of work, that is to always consciously de-select your block, there will be no difference in workflow. No additional nagging, just like it is now.
What I ask Kicad is to ask me if I do perform some “suspicious” operation.
I design hardware for many years, and still find myself getting into trouble with this. I know it’s my fault, probably I am not totally alone in this, and would like Kicad to help me prevent from doing stupid things.

Don’t drag components off-screen when you close the file. If you plan to do something with them later, put a text block next to them saying “replace with blah-blah-blah” or whatever you’re thinking of. Draw a circle around the components so you can’t possibly overlook doing what you’re thinking of.

I usually work with at high zoom levels, so it’s relatively easy for me to make something go “off screen”.
It’s not the situation with file save/reopen; rather it’s put that block away from my work area, rework something and get it back where it belongs.
Now if (1) I don’t de-select my “put away block” and (2) use DEL while doing some rework, I will unconsciously remove my temporarily repositioned block .

I find the concept of conciously placing a selected block outside the screen, and the abruptly forgetting you’ve got a parked block off screen weird.

As long as a block is selected (no matter if it’s off screen or not) you can’t do much else with KiCad as long as that block is selected.

When there is a selected block, operations act on that selected block. Plain and simple. and block operations should remain so.

Changing this would require a change in KiCad, and any change in KiCad should not be based on a single user case, but applicable for a broad part of KiCad users. The current way block operations work now is also bog standard and very much alike almoast all software programs work.

I really think that a better option for you (and also used in other programs) would be some multi buffer arrangement in which blocks can be placed.

Mabe this works for you:

  1. Select a block.
  2. Press [Ctrl + M] for: “move exactly” function.
  3. type 500mm and press enter.
  4. Press [Esc] to unselect the block.
  5. Do whatever you want to do on your drawing area.
  6. When finished, Go find your block (half a meter outside the PCB).
  7. Move it 500mm in the other direction, which puts it back where it was.

With this system you can also progressively move stuff 500 mm to make more room, and later move it back in one swoop.

1 Like

That’s not the point. It has happened to me quite often that I for example move a footprint, check out what to do next and forget the footprint was selected. Then I instinctively try to delete for example old tracks. Sometimes the footprint is out of view.

Except zoom, pan the view, delete… :slight_smile: