Author Topic: Is dmenu still alive?  (Read 9401 times)

Stephanie

  • Guest
Is dmenu still alive?
« on: May 01, 2010, 07:54:06 pm »
I've been using dmenu since I started using Dingux (a whole two weeks or so, hehe) and I rather like its simplicity and straightforwardness. I've downloaded the latest sources and found there are improvements in there that were added since 0.6 was released. I've also made a few improvements of my own, or at least, changes that I feel are improvements.

I just noticed though that the last changes in the svn were back in December; it looks like it was somewhat active then just suddenly stopped. Has dmenu been dropped or abandoned? I've read that it was thought to be responsible for some of the SD corruption issues, and that some folks didn't like it, but I'm very happy with it. I hope it isn't dead.

Thanks!

ddragoonss

  • Guest
Re: Is dmenu still alive?
« Reply #1 on: May 01, 2010, 08:52:28 pm »
The SD card corruption plus it's very hard to configure than gmenu, but I think the "in each 3 weeks need to reformat and copy all files to SD" is the main dmenu problem.
If gmenu was in there previously maybe dingux would have a native storage option, but just speculating.

Stephanie

  • Guest
Re: Is dmenu still alive?
« Reply #2 on: May 01, 2010, 09:26:44 pm »
So you're saying that dmenu is more or less dead then? That's too bad. I'll continue to use it though, and continue to try to improve it, at least for myself.

I'm working to eliminate the file corruption problem. It seemed from what I've read & experienced, that it mainly occurs when there is a crash or forced reboot, and the corruption tended to hit the /dmenu directory and contents, or at least start from there. Consequently I'm moving all the little writes and reads into /tmp which also seems to eliminate the occasional little slowdown or hiccup when playing games. /tmp is mounted as tmpfs so writes to it don't impact the SD card at all.

I'm also trying to add a MHz display so you can see what the current clock speed is. :)

Cheers!

santino

  • Guest
Re: Is dmenu still alive?
« Reply #3 on: May 01, 2010, 11:24:03 pm »
The corruption was more about the kernel. Since the RTC kernel I had no more problems with filesystemcorruption. You always have to shut it down properly then you wont have any problems.

Stephanie

  • Guest
Re: Is dmenu still alive?
« Reply #4 on: May 02, 2010, 12:17:04 am »
Oh interesting.... I have had the dmenu directory / contents corrupt twice on me when I had a crash or segfault last week, but it hasn't happened since I started working on it.

I just finished getting the clockspeed display working, so I'm a bit pumped about that. :D

There's just one more minor inconvenience I want to chase down wrt the dmenu.ini file, then I'll be quite happy with it!

Cheers!

kswildside

  • Guest
Re: Is dmenu still alive?
« Reply #5 on: May 02, 2010, 04:17:32 am »
If you could making adding apps easier with out ini chanes that would rock

Stephanie

  • Guest
Re: Is dmenu still alive?
« Reply #6 on: May 02, 2010, 04:39:44 am »
Well... I can envision how that should be implemented, but I think it blows away my meagre c skills.  :-\

I can imagine an internal command to add an item... like a screen where you select which menu the item goes into, then a browser-type window to select the executable, then another browser-type window to select the icon... then with that info you could build the cfg entry... then you could load in the appropriate cfg file and append that entry to the end of it, write the file back out, then probably have to restart dmenu to have it load in the new cfg file.

Imagining it and doing it though are two very different things. And to make it perfect, you'd really want to be able to put the new menu item wherever you want, not just at the bottom. And if you could do that, then you might want the ability to re-order them, delete entries, and so on.

The extra wrench in the works is that the cfg files are theme-specific, so if you did all that to add a new menu item, then you changed themes, the new item wouldn't appear -- it would be only in the theme you had been using when it was added.

Is it really that big a deal for folks to edit the .cfg files?  ;)


joyrider

Re: Is dmenu still alive?
« Reply #7 on: May 02, 2010, 02:07:57 pm »
you could check if dmenu is writing to the sd card somewhere in the code, if it is be sure to call "sync" which will force the cache to be written to the card. gmenu2x does this as does the rtc kernel when calling shutdown. (shutdown calls sync). It might be a reason why there is less corruption.

Stephanie

  • Guest
Re: Is dmenu still alive?
« Reply #8 on: May 02, 2010, 03:58:06 pm »
The way dmenu works is when you select a program to run, it creates a script called .next and the dmenu binary exits, and the .next script is called. The current release 0.6 also makes a snapshot of the screen and saves that to .screen which it then reads back and displays when dmenu is loading up. Version 0.6 also appears to write the dmenu.ini file every time dmenu quits (i.e. every time you launch something).

The latest build available on the svn had changed so that there is no longer a .screen created, instead a loading.png is used as a loading screen. I've moved the .next file to /tmp so that it's not affecting the sd card, and finally, I've eliminated the unecessary writes to dmenu.ini - it should only write that file if there was a change, i.e. the theme or background was changed.

I'm pretty certain now that the version I'm working on doesn't do any writing to the sd card at all, unless of course you change a setting that requires writing the dmenu.ini file.

I'd like to contact the maintainers but I couldn't see any email addresses at the google code site. I've left some comments on the issues page, but I guess if they aren't checking that then there's no way to get in touch with them.

rookie1

  • Guest
Re: Is dmenu still alive?
« Reply #9 on: May 06, 2010, 04:36:06 pm »
Hi Stephanie, sorry for responding late. Do you mind sending me a diff with your changes? If you don't mind, I'd like to take a look at your changes before committing them to svn. If you are working on a svn copy, simply run 'svn diff > your_change.diff' at the dmenu directory will create a diff file called 'your_change.diff'. You can post it in this thread.

Stephanie

  • Guest
Re: Is dmenu still alive?
« Reply #10 on: May 06, 2010, 06:52:45 pm »
Hi rookie1 thanks for the response! I've got a few things to tidy up -- some experimentation I was doing that didn't work out, but I'll get that diff created & posted shortly.

Cheers!

darfgarf

  • Guest
Re: Is dmenu still alive?
« Reply #11 on: May 06, 2010, 07:55:34 pm »
(if you're thinking of improving dmenu, a function to create shortcuts without editing any config files, in the way that gmenu and dinguxmb can would be the only thing holding dmenu back still, assuming the corruption/etc can be fixed that is  :P)

Stephanie

  • Guest
Re: Is dmenu still alive?
« Reply #12 on: May 06, 2010, 08:08:14 pm »
But I like mucking around with cfg and ini files! :P

Seriously though, DDU asked the same thing... I can envision a way to do it but it's currently beyond my skills to implement. I'm just happy to have gotten the CPU clock speed on the onscreen display. I haven't had any corruption issues since making the other minor changes, so with any luck that's been fixed. I think part of that problem was kernel related, and the RTC/power-off kernel helps a great deal, then removing almost all the dmenu-related writes to the SD card have hopefully removed any other chances of a crash introducing corruptions.

Three other ideas I have been toying with were adding an 'about' screen to display the version number and some other brief info, adding a config screen to modify the ini file from within dmenu (like toggling the OSD info for instance), and finally doing something to make the currently-selected icon more noticable. Not animated per se, but maybe having it scale up a little or scale up and down sort of pulsate, so it's blatantly obvious that this is the active icon. If anyone is familiar with flashcarts on the Nintendo DS, the Acekard does that with the icon that is currently highlighted and it is a good but not overwhelming way to call attention to it. It'd probably be less overhead than the way the native firmware shows the pulsing rings.

Cheers!

darfgarf

  • Guest
Re: Is dmenu still alive?
« Reply #13 on: May 06, 2010, 08:41:57 pm »
I can envision a way to do it but it's currently beyond my skills to implement.

then just ask in irc or something, i could do it given time and the drive to do it, but too busy to commit to anything except the odd bit of help here and there at the moment  ;D

Stephanie

  • Guest
Re: Is dmenu still alive?
« Reply #14 on: May 06, 2010, 09:55:59 pm »
rookie1 - getting the diff was a lot easier than I thought it would be! :) 

Quick run-down of the changes I've made, based on the R240 code:

* Removed the loading status bar from the loading screen. This increased loading speed noticably.
* When the backlight is turned off after the dim timeout, the next keypress will turn the backlight on but will not be processed - i.e. if you press A when the screen is dark, it won't immediately launch whatever icon was active when the dimmer came on. (was driving me crazy hehe)
* Added the option to display the clock speed in MHz as part of the on screen display.
* Added the setting "SpeedDisp = true/false" in the dmenu.ini file for controlling display of the clock speed.
* Moved all transient writes from the dmenu active directory to /tmp (.tmp, .next, .screen)
* Disabled dmenu writing dmenu.ini every time it closes; dmenu.ini is written to when the theme, background or font colour is changed.

That's everything, I think...

You can see an image of the menu with the clockspeed displayed here:


Cheers!