Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Single window UI #39

Open
ghost opened this issue Sep 15, 2016 · 23 comments
Open

Single window UI #39

ghost opened this issue Sep 15, 2016 · 23 comments
Labels
enhancement patch-available UI Web The emscripten based web version of SolveSpace

Comments

@ghost
Copy link

ghost commented Sep 15, 2016

Make UI look like 'single window' by merge "Property Browser" inside main window UI.

@mmiscool
Copy link

mmiscool commented Oct 3, 2016

I vote for this one also. Would make it easier to manage and use. I frequently maximise windows and this would make life easier.

Also it might provide and opertunity to make the interface a bit easier to modify.

@whitequark
Copy link
Contributor

Also it might provide and opertunity to make the interface a bit easier to modify.

It won't. For that matter the UI code will become more complex if/when this lands.

@ruevs
Copy link
Member

ruevs commented Oct 4, 2016

No! Haven't you heard of dual/multiple monitors?!

@whitequark
Copy link
Contributor

@ruevs No one is going to remove the two-window UI completely, if it's implemented it will just be an option. Like in GIMP.

@ruevs
Copy link
Member

ruevs commented Oct 4, 2016

These are the kind of pointless options that just cause boat.

@whitequark
Copy link
Contributor

If you don't see a need for it, that doesn't mean it's pointless. For example, SolveSpace is currently rather inconvenient to use with my window manager, i3, because, although it is tiling, there's no good way to tell it to lay out the graphics and text windows as they should be.

@virtualritz
Copy link

+1

@andrew-ayers
Copy link

Throwing my 2 cents in - worthless, I guess - I just installed and tried out SolveSpace last night, and I really like it. I went thru the first tutorial, and it was fairly intuitive and easy to use. I didn't find having two windows an issue, as I am a fan of that style (gimp, etc); in fact, I would love if the tool window inside the view was also separate.

But my main gripe - unless there's a way I haven't found (I was more interested in how to use the software than other things - so I only spent a very brief time looking for a solution) - was the fact that the tool icons and other text was so darn small on my 4k monitor. The menus and such were all fine, of course, because they are controlled by the system. But the icons, tooltips, etc - it's really tiny. Not impossible to use, but it would be nice if it could be changed.

I know that isn't a part of this particular issue - but I think it is something that should be considered for the future, if it hasn't already (I haven't explored the issue space for future changes or whatnot - maybe it already exists).

@whitequark
Copy link
Contributor

I just installed and tried out SolveSpace last night, and I really like it.

Which version? 2.x does not have HiDPI support, the master branch does, and should scale the icons appropriately for the rest.

@andrew-ayers
Copy link

@whitequark It was 2.x - installed from the Ubuntu 18.04 LTS repo; I'll have to look into compiling from source (and building an install package or something), then, I guess. Unless someone already has a .deb I can install from. Thanks for letting me know (and I'm looking forward to this new batch of updates).

Long story short - I don't like installs from source (ie, make, etc) because there isn't any record in the system to keep things from being messed up royally. My last system I did that and nursed things along for years and then I tried to update to a later rev and it all fell apart (fortunately, I was able to recover easily thanks to keeping my system and home on separate partitions and drives - and upgrade in the process).

So if I do compile from source (and don't create a package to install from), it's either got to run out of the directory its compiled in, or I have to come up with some other system to keep it well isolated (vm, container, or some other method).

@whitequark
Copy link
Contributor

@andrew-ayers You can run it from the build directory directly, without installing anything.

@ghost
Copy link
Author

ghost commented Nov 5, 2019

Unless someone already has a .deb I can install from.

@andrew-ayers You could install latest nightly build of SolveSpace 3.x from third-party PPA for Debian/Ubuntu Linux:

Or just directly download latest DEB (solvespace_3.0.0~git*-2_amd64.deb) for Ubuntu 18.04 LTS

@andrew-ayers
Copy link

@whitequark @Symbian9 Well - thank you both for this info - right now I'm compiling on my Ubuntu 18.04 LTS from the git repo - so we'll see how that goes; though I might still try one of those mentioned debs...thanks again!

@andrew-ayers
Copy link

@whitequark Ok - got 3.0 compiled and running, looks nice - but no larger icons? Is there a special flag I need to pass to switch to HiDPI mode, or some other setting somewhere? Thank you...

@whitequark
Copy link
Contributor

No, it uses your system settings, like any other GTK application.

@andrew-ayers
Copy link

@whitequark I found the setting (Gdk/WindowScalingFactor) but setting it from "1" to "2" to affect the whole screen wasn't ideal.

According to this page, though:

https://wiki.gnome.org/HowDoI/HiDpi

...you can pass the setting to a single app - which worked great:

$ export GDK_SCALE=2;./bin/solvespace &

Perfect. Thank you!

@whitequark whitequark removed this from the 3.0 milestone Jun 23, 2020
@anicolao
Copy link

@whitequark @Symbian9 I am possibly interested in trying to implement this as a precursor to a more grandiose idea of building an iPad GUI for solvespace. I looked at the emscripten branch for ideas as its UI is more or less what we want here, but it looked to me like maybe that was wired up in an undesirable way by just happening to map new windows into the right DOM elements by name rather than by creating some higher-level notion of layout that knows if the property browser is embedded or not.

On a possibly related note it may be desirable to remove the notion of scrollbars as a thing from solvespace.

To my mind the logical abstraction is to treat what are currently OS level windows as a new thing (call it a 'viewport') which is embedded in an OS level container (a 'window') that knows how to pan the viewport if allowed (scrolling) or resize it if not. Then the top level window can be given two viewports one for the main display and one for the property browser and lay them out and control them appropriately.

If that sounds reasonable, the next logical step would be to put the toolbar in its own viewport, and then call it 'done' for this issue.

If that sounds vaguely desirable I'd appreciate any further pointers on where to start. I haven't found any tests for solvespace and I don't plan to compile on more than one or two platforms at best.

@ghost
Copy link
Author

ghost commented Dec 19, 2020

I am possibly interested in trying to implement this as a precursor to a more grandiose idea of building an iPad GUI for solvespace.

Great!

To my mind the logical abstraction is to treat what are currently OS level windows as a new thing (call it a 'viewport') which is embedded in an OS level container (a 'window') that knows how to pan the viewport if allowed (scrolling) or resize it if not. Then the top level window can be given two viewports one for the main display and one for the property browser and lay them out and control them appropriately.

@anicolao, You just read my minds! In last few day I already think about possible ways to implement "single window mode" and there are few ways:

  1. Draw "Property Browser" directly in main window as on-screen tabs (similar to how "Toolbar" actually works)
  2. Add "Property Browser" it as sub-window (call it frame/dock widget or viewport)
    2.1 As sub task, add something like command line at the bottom behind main window & "Property Browser" (lets separate text input from OpenGL to native text input field)

So, I fully agree on "2" (sub-window) idea!

@phkahler
Copy link
Member

@anicolao Another interesting possibility is VR. Imagine the text window as some kind of window in a virtual world, but the model view is not in any window at all - you're sketching and manipulating in the same space the user is walking around in ;-) Just throwing this out there as a possible use-case as you consider changing the structure of the different things being shown.

@ruevs ruevs added the Web The emscripten based web version of SolveSpace label Aug 22, 2022
@ruevs
Copy link
Member

ruevs commented Oct 4, 2022

@xarvh
Copy link

xarvh commented Dec 26, 2023

+1 Here.
It's a pain to use with tiling window manager (in my case, qtile).

@mkyral
Copy link

mkyral commented Jan 1, 2024

I'm also looking for ability to dock Property browser inside main window. For one instance of Solvespace it is OK, but as soon as I need open another instance for reference, eg. when I'm working on multiple connected parts, it is quickly become mess. Switching of main window does not switch the corresponding Property browser as well.

@xarvh
Copy link

xarvh commented Jan 1, 2024

I was trying to rebase https://github.com/solvespace/solvespace/tree/single-window over master.
Assuming that it worked in the first place, I did most of the rebasing but then there are a few parts where I'd actually need to understand the code. -_-

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement patch-available UI Web The emscripten based web version of SolveSpace
Projects
None yet
Development

No branches or pull requests

9 participants