GithubHelp home page GithubHelp logo

Comments (18)

JerryCasiano avatar JerryCasiano commented on September 18, 2024 1

Accidentally stumbled onto a solution to this issue...

Wrapping a widget in a pane in another pane forces it to stay in place instead of sliding.

I'll include this in the next release.

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024 1

Done.

I'm trying to get my current working branch into a decent state at the moment. Soon as I do, it'll be available in a separate testing branch so I can get some feedback on all the changes.

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024 1

Closing this out because these changes have been merged into master.

The PPA and COPR have been updated.

Unfortunately, I don't believe it builds on anything earlier than Bionic.

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024

Well, "covering" it I think would have the nicest visual effect. But I don't think that would work without some ugly hack involving stacked panes and an overlay.

Setting a minimum width is very easy, however, it also means that you can no longer collapse it completely if you want to which kind of sucks. The other issue with minimum sizes is that the required minimum changes based on things such as system font sizes, language, etc.

So maybe we should set some minimum width but provide a way to open/close the sidebar.

Hmm. I'll have to give this some thought because I still really like the "covering" idea better.

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

It looks like the inner contents of the sidebar already have a minimum width (perhaps due to the buttons at the bottom?), but the sidebar itself does not; that would explain why the contents start being dragged out of the visible area when the sidebar is resized below a certain width, but before that they get occluded as one would expect. Here are some screenshots that should explain what I mean better than my words:

Initial state; everything visible:

Correct behavior; as we start shrinking the sidebar, note how the longer items start being occluded from the right side:



Incorrect behavior; This is where shrinking the sidebar further stops covering the contents, and instead starts pushing them out of the window:

Would it be possible to remove this minimum size, so that the sidebar could simply continue shrinking and occluding its contents? Maybe changing the minimum size properties of the buttons at the bottom of the sidebar?

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024

Would it be possible to remove this minimum size, so that the sidebar could simply continue shrinking and occluding its contents? Maybe changing the minimum size properties of the buttons at the bottom of the sidebar?

I'll have to double check, but I don't believe we set a minimum size on anything there.
As a said, I avoid setting minimum sizes as much as possible due to the side effects.
I believe the only place we might set minimum size is dialog windows.

To be honest, I think this is more of a toolkit issue (GtkPaned) though I'm not sure it can actually be considered an issue.
If an area is resizable and a user decides to resize it to a point where it's no longer usable there isn't much that can really be done aside from the presentation.

That said, if anybody knows anyway to improve this just using widget properties, I'm all ears. ;-)

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024

Another option would be to hide the buttons once it's resized down past a certain point.

Probably wouldn't matter since it's not really usable at that point anyway.

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

Another option would be to hide the buttons once it's resized down past a certain point.

Sure, but they can still be made to support some squishing if the sidebar is resized. They have plenty of margin and padding at the moment which should be compressible if the available space becomes smaller.

If an area is resizable and a user decides to resize it to a point where it's no longer usable there isn't much that can really be done aside from the presentation.

Yes, 100% agreed. We can not force the user to behave in certain ways, but the presentation both appearance and behavior) is important indeed: occluding parts of the information by definition makes it invisible and potentially unusable, but the way it's occluded provides hints about what's happening and how it can be handled.

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024

Sure, but they can still be made to support some squishing if the sidebar is resized.

Yes. But again, this is something that would need to be done at the toolkit level not by the application.
In other words, that is something that requires changes to GTK+ itself.

Some applications work around this by setting minimum sizes, but as I said I really don't want to do that because it means you can never completely collapse anything.

This is just the way GtkPaned is designed. It doesn't matter what the content is, it slides out of view it doesn't squish and that's not an option.

w/o switcher

screenshot from 2018-01-06 19-28-25

You may want to file a request with GTK+ but be prepared for the response that this is working as intended.

Can't be done if minimum sizes are set

screenshot from 2018-01-06 19-46-08

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

Thanks for the extensive responses. At the moment I don't have the headspace to pursue this upstream, but I hope the situation improves in the future for cases like this. Cheers!

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

Oh wow, that's great to hear! I suppose it would make sense to reopen this issue until then, right?

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024

This feature is implemented in testing

Please test and provide feedback, if possible.

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

Do you have any instructions for building from source?

Here's what I tried:

$ git checkout testing
Branch 'testing' set up to track remote branch 'testing' from 'origin'.
Switched to a new branch 'testing'

$ ./autogen.sh 
checking for automake >= 1.11.2...
  testing automake... not found.
***Error***: You must have automake >= 1.11.2 installed
  to build font-manager.  Download the appropriate package for
  from your distribution or get the source tarball at
    http://ftp.gnu.org/pub/gnu/automake/automake-1.11.2.tar.xz

$ sudo apt install automake
...

$ ./autogen.sh 
checking for automake >= 1.11.2...
  testing automake... found 1.15
checking for autoreconf >= 2.53...
  testing autoreconf... found 2.69
checking for glib-gettext >= 2.2.0...
  testing glib-gettextize... not found.
***Error***: You must have glib-gettext >= 2.2.0 installed
  to build font-manager.  Download the appropriate package for
  from your distribution or get the source tarball at
    ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.0.tar.gz

$ sudo apt install glib-gettext
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package glib-gettext

$ apt search glib-gettext
Sorting... Done
Full Text Search... Done

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024

Well, I don't know if it'll work right or not but try

cd build-aux
make deb

If it still works, it will install the needed dependencies and build a package.

BUT I wouldn't install the package, instead go back up one directory then try to compile again and run it from the build directory.

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

Looks like it took me a bit further, but not enough:

$ cd build-aux
$ make deb

**** Need to ensure build dependencies are installed

sudo apt-get install devscripts equivs
[sudo] password for waldyrious:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  at dctrl-tools debhelper dh-strip-nondeterminism dput libdistro-info-perl libfile-stripnondeterminism-perl libmail-sendmail-perl libsys-hostname-long-perl po-debconf python3-magic wdiff
  ...
Do you want to continue? [Y/n] Y
...
cd /home/waldyrious/.local/src/FontManager && \
mk-build-deps /home/waldyrious/.local/src/FontManager/debian/control && \
sudo dpkg -i /home/waldyrious/.local/src/FontManager/*.deb && rm /home/waldyrious/.local/src/FontManager/*.deb && \
test -e Makefile || ./autogen.sh && \
make dist-bzip2 && \
rm -rf BUILD && \
mkdir BUILD && \
mv font-manager-0.7.4.tar.bz2 BUILD/font-manager_0.7.4.orig.tar.bz2 && \
cd BUILD && \
tar -xvf font-manager_0.7.4.orig.tar.bz2 && \
cp -Rpf ../debian font-manager-0.7.4 && \
cp -pf ../autogen.sh font-manager-0.7.4 && \
cd /home/waldyrious/.local/src/FontManager/BUILD/font-manager-0.7.4 && \
debuild -us -uc && \
cd /home/waldyrious/.local/src/FontManager/build-aux
mk-build-deps: Unable to find package name in control file `/home/waldyrious/.local/src/FontManager/debian/control'
make[1]: Entering directory '/home/waldyrious/.local/src/FontManager/equivs.LXrDdI'
dh_testdir
dh_testroot
dh_prep
dh_testdir
dh_testroot
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package 'font-manager-build-deps' in '../font-manager-build-deps_0.7.3-1ubuntu1_all.deb'.
make[1]: Leaving directory '/home/waldyrious/.local/src/FontManager/equivs.LXrDdI'

The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
Selecting previously unselected package font-manager-build-deps.
(Reading database ... 249647 files and directories currently installed.)
Preparing to unpack .../font-manager-build-deps_0.7.3-1ubuntu1_all.deb ...
Unpacking font-manager-build-deps (0.7.3-1ubuntu1) ...
dpkg: dependency problems prevent configuration of font-manager-build-deps:
 font-manager-build-deps depends on dh-autoreconf; however:
  Package dh-autoreconf is not installed.
 font-manager-build-deps depends on valac (>= 0.24); however:
  Package valac is not installed.
 font-manager-build-deps depends on intltool; however:
  Package intltool is not installed.
 font-manager-build-deps depends on libxml2-dev; however:
  Package libxml2-dev is not installed.
 font-manager-build-deps depends on libfreetype6-dev; however:
  Package libfreetype6-dev is not installed.
 font-manager-build-deps depends on libfontconfig1-dev; however:
  Package libfontconfig1-dev is not installed.
 font-manager-build-deps depends on libglib2.0-dev; however:
  Package libglib2.0-dev is not installed.
 font-manager-build-deps depends on libjson-glib-dev; however:
  Package libjson-glib-dev is not installed.
 font-manager-build-deps depends on libcairo2-dev; however:
  Package libcairo2-dev is not installed.
 font-manager-build-deps depend
dpkg: error processing package font-manager-build-deps (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 font-manager-build-deps
checking for automake >= 1.11.2...
  testing automake... found 1.15
checking for autoreconf >= 2.53...
  testing autoreconf... found 2.69
checking for glib-gettext >= 2.2.0...
  testing glib-gettextize... not found.
***Error***: You must have glib-gettext >= 2.2.0 installed
  to build font-manager.  Download the appropriate package for
  from your distribution or get the source tarball at
    ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.0.tar.gz

Makefile:164: recipe for target 'deb' failed
make: *** [deb] Error 1

I suppose I need to manually install all those dependencies listed under the line

dpkg: dependency problems prevent configuration of font-manager-build-deps

right?

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

Ok, looks like running sudo apt install -f prompted me to install the remaining dependencies; I then went back to the root of the repo and ran ./autogen.sh, and it did seem to progress some more, but stopped at:

checking for GTK... no
configure: error: Package requirements (gtk+-3.0 >= 3.22) were not met:

Requested 'gtk+-3.0 >= 3.22' but version of GTK+ is 3.18.9

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GTK_CFLAGS
and GTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

I don't want to mess up my current system (Ubuntu 16.04.4 LTS), especially since I don't normally use it for development. What would you suggest here?

from font-manager.

JerryCasiano avatar JerryCasiano commented on September 18, 2024

Oh jeez.

LTS won't work.

I guess you best bet is to wait for now.

from font-manager.

waldyrious avatar waldyrious commented on September 18, 2024

Ok, no problem :)

from font-manager.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.