Comments (23)
@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.
from solvespace.
@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.
from solvespace.
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.
from solvespace.
@andrew-ayers You can run it from the build directory directly, without installing anything.
from solvespace.
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:
- https://notesalexp.org
- https://launchpad.net/~alex-p (
notesalexp.org
mirror)
Or just directly download latest DEB (solvespace_3.0.0~git*-2_amd64.deb
) for Ubuntu 18.04 LTS
from solvespace.
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.
from solvespace.
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.
from solvespace.
No! Haven't you heard of dual/multiple monitors?!
from solvespace.
These are the kind of pointless options that just cause boat.
from solvespace.
+1
from solvespace.
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).
from solvespace.
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.
from solvespace.
@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).
from solvespace.
@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!
from solvespace.
@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...
from solvespace.
No, it uses your system settings, like any other GTK application.
from solvespace.
@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!
from solvespace.
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:
- Draw "Property Browser" directly in main window as on-screen tabs (similar to how "Toolbar" actually works)
- 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!
from solvespace.
@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.
from solvespace.
https://github.com/solvespace/solvespace/tree/single-window
from solvespace.
+1 Here.
It's a pain to use with tiling window manager (in my case, qtile).
from solvespace.
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.
from solvespace.
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. -_-
from solvespace.
Related Issues (20)
- Spiro splines as better bezier splines and better bezier splines with optimized parameters HOT 10
- Use 3rd degree NURBS surfaces for helix extrusions HOT 1
- Constraining entities from previous groups fails in a confusing way. [Was: Solver fails on constrain that just fixes current orientation if added after importing another object] HOT 8
- Add a clamped distance constraint HOT 3
- Naked edges with only rectangles and extrusion HOT 3
- glCreateShader fails on MacOS M1 HOT 11
- Solvespace crash on new group rotating and new group revolve... HOT 2
- "Via automated edge builds "can not be download for use HOT 2
- Document Constraint Performance/Efficiency HOT 4
- Potential solver improvements from Dune 3D HOT 1
- Font Kerning Not Working HOT 6
- "it can only be saved on the same volume." HOT 2
- "constraints are incompatible" error HOT 6
- "Regenerate All" not working on nested assemblies HOT 8
- Dragging points in standalone solver library HOT 2
- How to make threads correctly? HOT 4
- what is the meaning of drag conception in the code? HOT 3
- Can't open files containing linked objects HOT 4
- SVG and PDF export of 2d sketches is incorrect for contours with custom styles with "contours are filled" set
- Discussion: Improving boolean operations with ManifoldCAD HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solvespace.