CVS tadam: Resize: Don't throw away Direction command arguments

2014-09-09 Thread cvs
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: tadam   14/09/09 15:57:26

Modified files:
.  : Tag: branch-2_6 ChangeLog 
fvwm   : Tag: branch-2_6 move_resize.c 

Log message:
Resize:  Don't throw away Direction command arguments

Fix the resize options parsing by not advancing the token when processing
the Direction command; additional tokens thereafter are legitimate options.




CVS tadam: Resize: Cleanup temp variable handling

2014-09-09 Thread cvs
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: tadam   14/09/09 16:04:17

Modified files:
.  : Tag: branch-2_6 ChangeLog 
fvwm   : Tag: branch-2_6 move_resize.c 

Log message:
Resize:  Cleanup temp variable handling




[OT]: Using Emacs

2014-09-09 Thread Thomas Adam
Hi all,

I know this is slightly off-topic, but for various reasons I'm having to use
Emacs, and was wondering what others on this list do to make their lives easier
with things like:

* C development;
* GDB;
* Make/compilation

Anything fvwm-specific as well would be welcomed.

Kindly,

-- Thomas Adam

-- 
Deep in my heart I wish I was wrong.  But deep in my heart I know I am
not. -- Morrissey (Girl Least Likely To -- off of Viva Hate.)



Re: mvwm - things I'd like to see

2014-09-09 Thread Michael Treibton
On 3 September 2014 23:18, Dominik Vogt dominik.v...@gmx.de wrote:
 Well, if you run into problems you can always ask for help un the
 users' mailing list.

 is it still developed?

 Not by me, and I do not know if anybody maintains it.

The last change was by thomas:
https://github.com/ThomasAdam/fvwm-themes/commit/49f4091e743d0a639223abf44016785996fc4548

that was 4 years ago.

 Granted.  I don't like the pixmap implementation either; it was
 part of a compromise because many people kept nagging about rounded
 window edges and things like that.

the TODO file in mvwm suggests this might get reworked?

 Neither do I.  But we can hardly add every odd scripting language
 to the window manager just because someone likes it.  I can
 remember the fvwm-spinoff called scwm (scheme configurable window
 manager) which was (afaik) given up because scheme configuration
 turned out to be too slow.

yes, Thomas mentioned this in another thread - it looked interesting
but ultimately slow.

 The decision about the scripting implementation in the new core is
 still open, but we need facts and thinking about the correct
 choice of the language.

i see these things in the TODO file:

- The module interface (FVWM - Module) is a mess; consider DBUS?  Or
  imsg?
- Use libevent to replace the hand-rolled (and often broken) select/poll
   mechanism.
- What about third-party scripting languages?  How do we handle that
  without requiring linking against the specific language in question?

i don't know if all three are related to scripting core, but what does
the last item mean? is that relating to a choice of language?

thank you for your time.

Michael



Re: [OT]: Using Emacs

2014-09-09 Thread Thomas Adam
On Tue, Sep 09, 2014 at 11:46:21PM +0100, Dominik Vogt wrote:
 On Tue, Sep 09, 2014 at 10:47:19PM +0100, Thomas Adam wrote:
  I ...  was wondering what others on this list do to make their lives easier
 
 Automatic removal of trailing whitespace in xemacs (see attachment):

Ah.  This is wonderful indeed.  Thank you, Dominik!  I'll mess about with these
but they're looking pretty good.  If I have to do any special hand-holding for
them I'll let you know.

I've not forgotten about the whitespace git hook either, I'll get to this on
Friday.

Thanks again. 

-- Thomas Adam

-- 
Deep in my heart I wish I was wrong.  But deep in my heart I know I am
not. -- Morrissey (Girl Least Likely To -- off of Viva Hate.)



Re: New mvwm changes mailing list?

2014-09-09 Thread Thomas Adam
On Tue, Sep 09, 2014 at 11:46:02PM +0100, Michael Treibton wrote:
 Hi,
 
 is there a good way to ignore the mvwm emails sent here for the code
 changes? Do they need to get emailed out? they're quite large in size,
 and i could try and filter them but i worry i will miss other mvwm
 items on this list.

Just filter by mvwm.*branch updated in whatever means suits how
you'd usually filter email.

 instead can there be a separate list for mail of source-coding changes?

I don't think Tibbs would like to manage this, and I certainly
wouldn't want to subscribe to yet another list, to be honest.

 do other people here find these emails useful?

So far you're the first person to mention this.  I really would rather
we kept these emails, especially since this list already has a
tradition of sending out similar emails from CVS.

One of the nicer features in my eyes of the output as I'm formatting
it, compared to that of CVS is you can see the actual diffstat.
Granted this might be rather unweildy at times (especially in terms of
a merge commit), and hence I can always try and adapt that, but it
gives a better---more instant---peer-review process, outside of the
review process we already have (c.f. people sending patches before
submitting to git, etc., etc.) 

-- Thomas Adam

-- 
Deep in my heart I wish I was wrong.  But deep in my heart I know I am
not. -- Morrissey (Girl Least Likely To -- off of Viva Hate.)



Re: mvwm - things I'd like to see

2014-09-09 Thread Thomas Adam
On Tue, Sep 09, 2014 at 11:42:17PM +0100, Michael Treibton wrote:
 - What about third-party scripting languages?  How do we handle that
   without requiring linking against the specific language in question?
 
 i don't know if all three are related to scripting core, but what does
 the last item mean? is that relating to a choice of language?

It's explicitly stating that I would be unhappy linking mvwm against a
specific language that has a C API (perl, lua, ruby, etc.) if we ever
chose a preferred language.  Rather, I'd like to see a
language-agnostic interface which any third-party language could use
to make use of whatever API/bindings we might come up with.

We don't do this at the moment, and perllib is the only thing which
tries to bridge the interface of itself with fvwm, but it does so in a
very clumsy way; were such a common interface defined, it'd be a lot
better, IMO.

-- Thomas Adam

-- 
Deep in my heart I wish I was wrong.  But deep in my heart I know I am
not. -- Morrissey (Girl Least Likely To -- off of Viva Hate.)



Re: New mvwm changes mailing list?

2014-09-09 Thread Dominik Vogt
On Wed, Sep 10, 2014 at 12:02:09AM +0100, Thomas Adam wrote:
 On Tue, Sep 09, 2014 at 11:46:02PM +0100, Michael Treibton wrote:
  Hi,
  
  is there a good way to ignore the mvwm emails sent here for the code
  changes? Do they need to get emailed out? they're quite large in size,
  and i could try and filter them but i worry i will miss other mvwm
  items on this list.
 
 Just filter by mvwm.*branch updated in whatever means suits how
 you'd usually filter email.
 
  instead can there be a separate list for mail of source-coding changes?
 
 I don't think Tibbs would like to manage this, and I certainly
 wouldn't want to subscribe to yet another list, to be honest.
 
  do other people here find these emails useful?
 
 So far you're the first person to mention this.  I really would rather
 we kept these emails, especially since this list already has a
 tradition of sending out similar emails from CVS.

Well, maybe we could limit the context diff to ~50 lines to limit
the size of the commit messages.

 One of the nicer features in my eyes of the output as I'm formatting
 it, compared to that of CVS is you can see the actual diffstat.
 Granted this might be rather unweildy at times (especially in terms of
 a merge commit), and hence I can always try and adapt that, but it
 gives a better---more instant---peer-review process, outside of the
 review process we already have (c.f. people sending patches before
 submitting to git, etc., etc.) 

Good point.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: mvwm - things I'd like to see

2014-09-09 Thread Dominik Vogt
On Tue, Sep 09, 2014 at 11:42:17PM +0100, Michael Treibton wrote:
 On 3 September 2014 23:18, Dominik Vogt dominik.v...@gmx.de wrote:
  Well, if you run into problems you can always ask for help un the
  users' mailing list.
 
  is it still developed?
 
  Not by me, and I do not know if anybody maintains it.
 
 The last change was by thomas:
 
 that was 4 years ago.

Oh, just four years?  I thought it was more.  :-D

  Granted.  I don't like the pixmap implementation either; it was
  part of a compromise because many people kept nagging about rounded
  window edges and things like that.
 
 the TODO file in mvwm suggests this might get reworked?

Yep, cleaning up fvwm would be rather pointless if we don't clean
up the really dirty corners.

  The decision about the scripting implementation in the new core is
  still open, but we need facts and thinking about the correct
  choice of the language.
 
 i see these things in the TODO file:
 
 - The module interface (FVWM - Module) is a mess; consider DBUS?  Or
   imsg?
 - Use libevent to replace the hand-rolled (and often broken) select/poll
mechanism.
 - What about third-party scripting languages?  How do we handle that
   without requiring linking against the specific language in question?
 
 i don't know if all three are related to scripting core,

The first two are really about communication between fvwm and the
modules, and signal handling in fvwm and the modules.  The module
interface is somewhat related to scripting because it adds some
limitations (maximum line length, parsing of data sent back and
forth), but these limitations should be removed eventually.

 but what does the last item mean? is that relating to a choice of
 language?

In a sense, yes.  There's nothing really wrong with interfacing to
Lua or other languages.  At the moment, fvwm has a built in
configuration language and three external interfaces for arbitrary
commands:  The binary module interface that can transport some
information about events and fvwm's internal state.  Then there's
the PipeRead mechanism that can really run any command written in
any language.  It's severely limited in what information fvwm can
pass to the command (environment variables and command line
arguments with parameter expansion).  And the third is the
perllib.  I have no clue how this is implemented and was never
interested in using it.  My guess is that it allows scripting and
accessing the binary information of the module interface from a
perl script.

All these interfaces are very limited in what internal state of
the windows and fvwm they can access.  As a long term goal, I'd
like to extend this so that all styles, window states, global
states and events can be accessed from outside (and from the
configuration language too, of course).  The resulting scripting
possibilities would be incredible, limited almost only by the
speed of communication.

So, I suggest there should be _one_ fast, internal language and
_one_ relatively fast, flexible way without today's limitations
(module input max. 255 characters, other commands max 1023
characters) to interface with any binary program or script.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: mvwm - things I'd like to see

2014-09-09 Thread Dominik Vogt
On Wed, Sep 10, 2014 at 12:07:30AM +0100, Thomas Adam wrote:
 On Tue, Sep 09, 2014 at 11:42:17PM +0100, Michael Treibton wrote:
  - What about third-party scripting languages?  How do we handle that
without requiring linking against the specific language in question?
  
  i don't know if all three are related to scripting core, but what does
  the last item mean? is that relating to a choice of language?
 
 It's explicitly stating that I would be unhappy linking mvwm against a
 specific language that has a C API (perl, lua, ruby, etc.) if we ever
 chose a preferred language.  Rather, I'd like to see a
 language-agnostic interface which any third-party language could use
 to make use of whatever API/bindings we might come up with.

My opinion is exactly the same.

 We don't do this at the moment, and perllib is the only thing which
 tries to bridge the interface of itself with fvwm, but it does so in a
 very clumsy way; were such a common interface defined, it'd be a lot
 better, IMO.

I think the perllib was a direct reaction from Mikhael to my
special ModuleListenOnly implemented as a zsh script.  :-D

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: mvwm: new-parser branch updated

2014-09-09 Thread Thomas Adam
On Wed, Sep 10, 2014 at 12:26:09AM +0100, Dominik Vogt wrote:
 On Sun, Sep 07, 2014 at 07:23:14AM -0700, Thomas Adam wrote:
  The mvwm repository's new-parser branch has been updated.
 
 I've just pushed some experimental code to the new branch
 dv/new-parser.

Amazing!  I've just taken a very quick look and noted that cmdparser.h
is missing.

https://travis-ci.org/ThomasAdam/mvwm/jobs/34862057

I knew this would come in useful!  I suspect you just forgot to git
add it.
 
 Thomas, you should probably take a look at what I'm doing right
 now.  As a first step, I have started to replace the parsing code
 in __execute_command_line with hook functions defined elsewhere
 and stored in a structure.  The first milestone is having a parser
 that provides the current syntax.  Next, I want to carefully clean
 up __execute_command_line so that it needs fewer hooks with saner
 logic.  For now I want to keep compatible, but eventually the hook
 structure should be replaced with another one provided by the new
 parser.

I understand.  I've likely got something similar sat here as well, but
I'll wait for yours first and mail out suggestions to you, although I
don't think you're going to run into many difficulties initially.

 One side effect of this first commit is that the static variable
 func_depth is eliminated.  Instead, I've defined a
 cmdparser_context_t that is generated in __execute_command_line
 and contains all the state that the cmdparser needs to record.
 Eventually, nobody else should look at the contents of the
 structure, but at the moment it just contains an (still unused)
 copy of the command line and the current nesting depth.

Noted, thanks.


 This is all work in progress and subject to a lot of refactoring.
 Any suggestions are welcome.
 
 Note:  The code is completely untested as I haven't set um mvwm
 yet.  :-)

No worries; see above.  I'll take a look at this tomorrow.  :)


-- Thomas Adam

-- 
Deep in my heart I wish I was wrong.  But deep in my heart I know I am
not. -- Morrissey (Girl Least Likely To -- off of Viva Hate.)



CVS tadam: Regenerate FVWM/Commands.pm

2014-09-09 Thread cvs
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: tadam   14/09/09 18:59:41

Modified files:
perllib: Tag: branch-2_6 ChangeLog 
perllib/FVWM   : Tag: branch-2_6 Commands.pm 

Log message:
Regenerate FVWM/Commands.pm

So it turns out that I didn't do this for the 2.6.0 release; thankfully
there weren't any new commands added then.

Apparently, the way the commands are generated for FVWM/Commands.pm relies
on some *very* carefully formatting of comments in the functable.c file;
which I didn't follow for InfoStore{Add,Remove}.  Hence, garbage produced
until I fixed that.

Ideally this needs revisiting in the future...




Re: [OT]: Using Emacs

2014-09-09 Thread Dan Espen
Thomas Adam tho...@fvwm.org writes:

 Hi all,

 I know this is slightly off-topic, but for various reasons I'm having to use
 Emacs, and was wondering what others on this list do to make their lives 
 easier
 with things like:

 * C development;
 * GDB;
 * Make/compilation

It's important to do make while inside Emacs, there are
benefits to working that way.

Bind some keys to invoke the compiler and find errors, I do:

(define-key global-map [(f1)] 'compile)
(define-key global-map [(f2)] 'next-error)
(define-key global-map [(S-f2)] 'previous-error)

 Anything fvwm-specific as well would be welcomed.

In the fvwm source directory I keep a file for Emacs that automatically
enforces fvwm project rules.

The name of the file is .dir-locals.el and it's contents:

((nil . ((indent-tabs-mode . t)
  (fill-column . 80)))
 (c-mode . ((c-basic-offset . 8)
(c-indent-level . 8)
(indent-tabs-mode . t

Emacs reads .dir-locals.el and applies it's rules in all
sub-directories.

-- 
Dan Espen