I've experienced the same thing from time to time; and I've set in place similar "rules of etiquette", with varying degrees of success.
- no books on the table during active game-play: reading through books is something that you do elsewhere (only exception is the occasional rules clarification)
-- as an extension of this rule, I also insist that nothing on the table that isn't related to the game (I've got plenty of end tables and the like for storing stuff) -- I've spent a lot of time, effort, and money on my gaming table, so I don't want to have all that wasted just because somebody wants to be a slob.
- no electronic media: you have a character sheet for a reason; additionally, if you'd rather play on facetube or talk on the phone, stay home (only exception is work/family related; even still, if it becomes too obtrusive, you should probably leave and take care of it)
- Timeliness: the stated start time is when I will be ready to accept guest (or, if not at my house, the time I'll show up) -- dice start rolling 1 hour later (I like to sit and chit-chat a little before game -- tends to cut down on the # of derails).
- be prepared: you've got at least a week to update your character sheet -- if you can't be bothered to do something as simple as update your character sheet, then you'll have to play without the updates.
I've occasionally been known to go as far as end/cancel sessions over this -- which usually seems to get everybody back in line (at least for a few months).
It's a simple issue of respect -- if you have none, I don't want you around.
Furthermore, even as DM, I've been the odd-man-out on this -- if I'm in the minority over this, I just leave the group and find/build another gaming group.