Jump to content
  • 0
Kev

wierd UI behaviour with eepDater

Question

I apologize in advance if this has already been covered... but eepDater does not initially display the "Clear  Select All .... " options unless you resize the UI.  A little annoying, but workable.

 

JGrGuFd.png

Share this post


Link to post
Share on other sites

22 answers to this question

Recommended Posts

  • 0

Hi Kev

 

I did not give up solving your issue and after some research I can confirm it is related to theme bug or how eepDater toolbox widget was coded. Although you changed a different theme, you apparently did not change elementary theme which eepDater is based on.

 

Try changing elm theme in elementary configuration:

 

IakTMbS.png

 

Let's see what happens.

  • Like 3

Share this post


Link to post
Share on other sites
  • 0

Hello Kev

 

Is it the same behavior with different theme? Try and let us know.

Secondly, what came on my mind was the window-remember-all option from the window border menu after your resizing. 

 

Stefan

Share this post


Link to post
Share on other sites
  • 0

Hello Kev

 

Is it the same behavior with different theme? Try and let us know.

Secondly, what came on my mind was the window-remember-all option from the window border menu after your resizing. 

 

Stefan

Hey Stefan,

 

Yep the same behaviour exists with a different theme.  I also went to the window border menu after resizing, but I there did not appear to be a window-remember-all option to be had.

 

thanks!

Share this post


Link to post
Share on other sites
  • 0

Hi Kev

 

I did not give up solving your issue and after some research I can confirm it is related to theme bug or how eepDater toolbox widget was coded. Although you changed a different theme, you apparently did not change elementary theme which eepDater is based on.

 

Try changing elm theme in elementary configuration:

 

IakTMbS.png

 

Let's see what happens.

Hi Stefan,

 

That seemed to do the trick!   So it was a theme based issue... interesting.

 

thanks!

  • Like 1

Share this post


Link to post
Share on other sites
  • 0

I am thinking of having a look at that theme script. But I have too long to-do list and less time and taste :)

Share this post


Link to post
Share on other sites
  • 0

I am thinking of having a look at that theme script. But I have too long to-do list and less time and taste :)

 

I can appreciate that!

Share this post


Link to post
Share on other sites
  • 0

It is now March 9, 2018, and I just installed Bodhi 4.5 last night.

 

And I can confirm to you, that out of the box, this is an issue.

 

The actions icons do NOT appear at the top.  You must resize it in order for them to appear.

Share this post


Link to post
Share on other sites
  • 0

Hello Kev

 

I spent some time with this issue yesterday. Searching the bug inside the theme is like searching needle in a heystack. I changed the point of view and looked at the eepDater code. Although I know nothing about coding in pyEFL, I somehow made it work. Jeff or Ylee will tell us if my method is a bullshit or not

 

open the /usr/bin/eepDater python file as root

and add this line to line 197

 

  self.mainTb.homogeneous = True

 

Save the file and let me know if that works for you.

 

Stefan

Share this post


Link to post
Share on other sites
  • 0

i have a question re: eepdater.  when i installed the new bodhi the last year eepdater would freeze all the time and never finish updating.  was told by charle's to do the apt-get update and also dist-upgrade via terminal.  so is it fixed now?  or why are people using eepdater if it is still broken?

Share this post


Link to post
Share on other sites
  • 0

Will this fix a broken eepDater. When I run it, it goes through the motions but never updates anything. Should I start a new thread? 

Share this post


Link to post
Share on other sites
  • 0

No, I just wanted to fix the toolbar issue.

 

Anyway, we (in dev channel) were discussed about the eepDater future. The problem is, it has some troubles in case of ncurse dialogs. If you need to select among the items (some apps demand the user interaction). Be honest, I never used this tool. I always use CLI solution.

But you are right your situation with infinite updating loop is real. I have seen it before. Then I closed the app and did it again.

 

Stefan

Share this post


Link to post
Share on other sites
  • 0

I use the terminal, but I install for others. I have been using an app called ucaresystem-core for them.

Share this post


Link to post
Share on other sites
  • 0

Hello Kev

 

I spent some time with this issue yesterday. Searching the bug inside the theme is like searching needle in a heystack. I changed the point of view and looked at the eepDater code. Although I know nothing about coding in pyEFL, I somehow made it work. Jeff or Ylee will tell us if my method is a bullshit or not

 

open the /usr/bin/eepDater python file as root

and add this line to line 197

 

  self.mainTb.homogeneous = True

 

Save the file and let me know if that works for you.

 

Stefan

 

That works in my testing Štefan :)

 

I really haven't paid much attention to eepDater as it is an app I don't use, nor do I use any other sort of update manager. So  I don't have access to Jeffs github page on it or I would add that line to the code base. 

 

And as to eepDater not always working or seemingly stuck, that is an outstanding issue with this app. Any deb file which requires user input will hang because there is no way in the current code base to deal with those kinds of situations. The libraries eepDater uses are python bindings to EFL (Enlightenment Foundation Libraries) and EFL sadly lacks any kind of embedded terminal. An embedded terminal is what other applications such as synaptic use in these problematic cases. 

 

It is a non trivial rather difficult programming problem to add such a thing to either eepDater or EFL. I remember some time ago Jeff asked on the e-dev mailing list for such a feature to be added to EFL and raster and friends seemed to dismiss the idea and it never happened. And none of the Bodhi developers, me included, have bit the bullets so to speak and taken up the challenge. 

 

However as always patches accepted.

  • Like 1

Share this post


Link to post
Share on other sites
  • 0

And as to eepDater not always working or seemingly stuck, that is an outstanding issue with this app. Any deb file which requires user input will hang because there is no way in the current code base to deal with those kinds of situations. The libraries eepDater uses are python bindings to EFL (Enlightenment Foundation Libraries) and EFL sadly lacks any kind of embedded terminal. An embedded terminal is what other applications such as synaptic use in these problematic cases. 

 

It is a non trivial rather difficult programming problem to add such a thing to either eepDater or EFL. I remember some time ago Jeff asked on the e-dev mailing list for such a feature to be added to EFL and raster and friends seemed to dismiss the idea and it never happened. And none of the Bodhi developers, me included, have bit the bullets so to speak and taken up the challenge. 

 

However as always patches accepted.

 

If anyone wants to start working on this, here's instructions to get started:

 

Subclass InstallProgress

 

Implement its conffile-method,

with two parameters: current and new, for current and new configuration files.

 

(Optional) Provide the user with a diff between the configuration files.

 

In your InstallProgress object you have

statusfd and

writefd,

for read and write handles to the raw standard output/input streams for apt process, respectively.

 

In your conffile implementation ask the user which file they want to keep, and send the option to writefd. Here's an example dialog, with the options:

Configuration file '/etc/X11/Xsession.d/98vboxadd-xclient'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** 98vboxadd-xclient (Y/I/N/O/D/Z) [default=N] ?

(Advanced) For the cases where the install process might want the user to provide input in a non-standard dialog, such as an ncurses dialog,

you may want to use an embedded xterm, using code similar to this:

 

win = Window('eepdater_terminal', ELM_WIN_DIALOG_BASIC, parent=parent_win, size=(500, 400))
xid = win.xwindow.xid
term_exe = Ecore.Exe("xterm -into %d -geometry 80x24 -sb &" % xid)

 

, or create a very simple terminal emulator for this purpose by using a efl.evas.Textgrid object.

Look for a python library that makes sense of the control codes, or perhaps write one yourself! Output whatever is coming from statusfd.

Provide user input through writefd, you probably can have a simple entry widget for the input user interface.

 

 

Have fun!

  • Like 3

Share this post


Link to post
Share on other sites
  • 0

Hello Kuuko

 

Thanx for your info.

Anyway, maybe an impolite question. Don't you have some spare time and taste for doing it for our community? ;)

 

Stefan

Share this post


Link to post
Share on other sites
  • 0

 

If anyone wants to start working on this, here's instructions to get started:

 ...

, or create a very simple terminal emulator for this purpose by using a efl.evas.Textgrid object.

Look for a python library that makes sense of the control codes, or perhaps write one yourself! Output whatever is coming from statusfd.

Provide user input through writefd, you probably can have a simple entry widget for the input user interface.

 

 

Have fun!

 

Lots of great ideas here kuuko :D

 

At one point I did spend a few hours researching this issue. I found a python library that "makes sense" of the ncurses stuff. But I felt I lacked the time to tackle such a project. Bodhi had and still has some outstanding issues of more importance. At least of more importance to me. Right now I am implementing the Moksha changes Jeff wants for 5.0 as well as a few changes I want. And I really want to find the cause of issue #62: About Bodhi blank. This absolutely needs fixed before the release of Bodhi 5.0. Of lesser importance we have the DESKTOP env variable weirdness. I just noted that and haven't looked for the code doing it. Not to mention cleaning up all the compiler warnings one has compiling Moksha or the errors Moksha spits out when running in Xephyr. And then we have several outstanding issues with our Clipboard module and  on and on it goes :(

 

My time is limitted as is probably every team memeber so I try to prioritize things and not jump around too much. Whenever  something seems to be taking too long with little progress I just keep notes on what I know and what i have and go on to something else where I hope I can be more productive. The idea is eventually I will come back to it or someone else will make some progress on it. 

 

But enough rambling, your research into this issue should be helpful if anyone wants to tackle this problem, and if no one does I may consider it when I have all the moksha changes more under control. 

 

Thanks  B)

Share this post


Link to post
Share on other sites
  • 0

That's why I would like to persuade Kuuko to do it. It will take him just couple of hours while we will be struggling days or more :(

Share this post


Link to post
Share on other sites
  • 0

Hello Kuuko

 

Thanx for your info.

Anyway, maybe an impolite question. Don't you have some spare time and taste for doing it for our community? ;)

 

Stefan

 

Sadly all my time is taken by my job for the time being. I had a few hours of free time today and I saw a message from ylee with a link to this forum thread, so I came to take a peek. Hopefully someone will pick this up, at least to get the easier parts of the task done in eepdater.

 

Now it's back to regular scheduling for me. If someone does start working on it and you have questions about Python-EFL or anything related, I can be reached on Bodhi Discord. But don't expect a speedy answer. :lol:

 

Lots of great ideas here kuuko :D

 

At one point I did spend a few hours researching this issue. I found a python library that "makes sense" of the ncurses stuff. But I felt I lacked the time to tackle such a project. Bodhi had and still has some outstanding issues of more importance. At least of more importance to me. Right now I am implementing the Moksha changes Jeff wants for 5.0 as well as a few changes I want. And I really want to find the cause of issue #62: About Bodhi blank. This absolutely needs fixed before the release of Bodhi 5.0. Of lesser importance we have the DESKTOP env variable weirdness. I just noted that and haven't looked for the code doing it. Not to mention cleaning up all the compiler warnings one has compiling Moksha or the errors Moksha spits out when running in Xephyr. And then we have several outstanding issues with our Clipboard module and  on and on it goes :(

 

My time is limitted as is probably every team memeber so I try to prioritize things and not jump around too much. Whenever  something seems to be taking too long with little progress I just keep notes on what I know and what i have and go on to something else where I hope I can be more productive. The idea is eventually I will come back to it or someone else will make some progress on it. 

 

But enough rambling, your research into this issue should be helpful if anyone wants to tackle this problem, and if no one does I may consider it when I have all the moksha changes more under control. 

 

Thanks  B)

 

Yeah... some insight into this could be gleamed from Terminology. Emulate what its code is doing, in Python.

 

But really the easiest way to go is to shove an xterm into a window. There's some interesting ways to control it, anyone interested should check

man xterm

$DESKTOP is set right after we put our PANTS on, at https://github.com/JeffHoogland/moksha/blob/master/src/bin/e_main.c#L328

 

About dialog contents not showing up until resized sounds like a bug in EFL.

 

 

We all do our part the best we can. B)

  • Like 1

Share this post


Link to post
Share on other sites
  • 0

...

 

Yeah... some insight into this could be gleamed from Terminology. Emulate what its code is doing, in Python.

 

But really the easiest way to go is to shove an xterm into a window. There's some interesting ways to control it, anyone interested should check

man xterm

$DESKTOP is set right after we put our PANTS on, at https://github.com/JeffHoogland/moksha/blob/master/src/bin/e_main.c#L328

 

About dialog contents not showing up until resized sounds like a bug in EFL.

 

 

We all do our part the best we can. B)

 

Yep shoving an xterm into the window certainly sounds like the easiest solution, perhaps not the 'prettiest' tho  It would add a dependency on xterm to the application but that is not a big deal. 

 

Well thanks on the $DESKTOP variable, should be easy enough to modify,

 

The About Bodhi dialog is weird and prob some subtle bug in EFL. The oddest thing is About Moksha works and the code implement each is sorta the same, with the exception About Moksha is split into two functions and the use of defines by About Bodhi.

 

Anyways I am very thankful of all you have did for Bodhi and for EFL. We all struggle with time and RW pressures.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×