How I used baz to start my little project

This is a little step by step tutorial for those struggling to use Arch like I am right now. This assumes you haven’t used it before, but know enough about cvs. I don’t do a lot of the –bclark_redhat–dev–craziness that you see in tutorials because it’s just a little too strange for me, even if it’s the “right way” to do it. The Following Tux goes into a little too much depth to be a really good first time tutorial.

Tell baz who I am.

baz my-id "Bryan Clark <bclark_-_redhat>"

Create my archive locally first.

baz make-archive bclark_-_redhat--gnomearchive /home/clarkbw/.arch

Make this archive my default one, I guess in case I have others… which I don’t.

baz my-default-archive bclark_-_redhat--gnomearchive

Go into my source directory.

cd background-channels

Update: Skip down, see note below.

Now I init the tree, because I guess it needs that.

baz init-tree background-channels--dev--0.1

I now need to add my files in there.

baz add *.in *.am *.glade \
	gnome-background-properties gnome-background-channel-subscribe

baz add background_channels/

baz add background_channels/*.py

Check that I didn’t miss anything.

baz lint

Add the files that I forgot to.

baz add .arch-inventory
baz add background_channels/.arch-inventory

Then do the import, don’t know why I need this step either…

baz import

Update: Continue from here, see note below.

baz import -a

And this too? Seems like I should commit at least once.

baz commit

Mirroring my stuff

Now to put this on the GNOME server for easier distribution. Instructions provided from (Mirroring Archives with Bazaar)

baz make-archive -l -m bclark_-_redhat--gnomearchive \
	sftp://clarkbw@www.gnome.org/home/users/clarkbw/public_html/arch

Test to see that I can push stuff to the GNOME mirror.

baz archive-mirror


Helpful commands for you to get my stuff

Tell baz who you are.

baz my-id "Name <email@domain.org>"

Register the archive and… set it as your default

baz register-archive http://gnome.org/~clarkbw/arch/
	Setting arch cache to default path: /root/.arch-cache
	Registering Archive: bclark_-_redhat--gnomearchive

baz my-default-archive bclark_-_redhat--gnomearchive

List the different projects I have in my archive.

baz categories

List branches of the category from the category list.

baz branches $category

Checkout that shizzle from my archive.

baz get $branch

Phew! So that’s it. I think I did most of that right, at least everything works. Now caillon and I can hack around on the background channels!

Update: According to the snorp I can remove the sections from (and including) init-tree to the import section and get the same results.

Rictus

Today’s word is rictus, meaning a gaping grin or grimace. Probably relating to me miss-spelling yesterdays word in the title or possibly other stupid things I did.

Notifications

Rodrigo makes a bunch of good points in his entry.

The dialogs that Gaim and Evo use are ridiculous and disturbing but just using notification bubbles doesn’t solve that. In my opinion Gaim or Evolution should never tell you, in a dialog or bubble, that it has gone offline or online. The only exception to that is when you actively try to do something with those programs. In Evolution if you try to check your mail or send a message, then it should make you aware that you’re offline and that won’t happen; a simliar for Gaim as well. So I agree that notifications of new mail are low priority and shouldn’t steal focus, but sometimes the dialogs are helpful like in my next example.

For notification history. It seems like there are two problems, one is that we want a way to look at notification history, and two is that an alarm like that shouldn’t go away completely until you’ve dealt with it. For the first part I suggested that something, like the notification area applet catch all notifications and save them. I guess the libnotify daemon process does this, so it should probably be integrated to display those from the capplet. The second one is just a matter of the application being smarter about the type of notification it’s showing. Perhaps evolution alarms should start off as a bubble up item when they first appear and when you only have 15min before they appointment they appear as dialogs. It just seems as though we don’t need to make a one or the other preference, but use the bubbles as low priority and when you’re about to miss your meeting use the dialogs as slightly higher priority.

As far as the implementation goes it doesn’t really matter to me at all what is used. I said the same thing to the Desktop team. I think we should be trying to use the libnotify work as much as possible and work with those guys because they’ve gotten a lot of good work done. However, I get the luxury of demanding the right type of notifications for people using the desktop before the implementations available.

If libnotify is the best thing so far that’s fine with me, they might just have to deal with me whining all the time until we figure out a solution. ;-)

Evince

Jonathan already talked about this, but it’s too sweet to not show it off. Evince has great text selection support, according to krh it’s the best text selection out there, it even supports themed selection colors!! And I guess Evince has jumped on the bus like everyone else. This opens Evince up to remote control for presentations and allows you to query evince for what documents the person currently has open.

Threats

Ok, so David Z didn’t actually threaten to punch me in the face, but he had that CRAZY look in his eye.

NetworkManager

I sat down with Dan and David not too long ago and worked out some design goals for NetworkManager. We basically wrote down some experiences we want the person using NetworkManager to have. Also we started on the Network Administrators experience admining and setting up NM. I’ll be posting that stuff soon and we’ll probably get getting a new website to reflect all the new information.

Nostrum

Norstrum is my Personalized Google Word of the Day. It means: a questionable remedy.

Saw some discussion of notifications on Rodrigo’s blog and the desktop-devel-list this week. I had done some design work on desktop notification a little while back with Red Hat Desktop team so I figured I’d share what was done.

Some important things that came out of this design about notifications:

  • Notifications are just like regular dialogs but they cannot steal focus.
  • There is no priority in notifications, they are all low priority messages. High priority messages could be regular dialogs or take the whole screen if they have to.
  • Bubbles should come out of the objects that are responsible for them, or the notification area if there is no responsible object. See I got your notification right here pal
  • The major separation in notifications are “Can interact with” and “Cannot interact with”. Either it’s just a message, or it’s a choice that doesn’t really need to be made by you.

I made the point that notifications are just like dialogs because there is a tendancy to over-engineer them so they won’t be annoying. We should resist this tendancy. When designing Gtk+ it would have been ridiculously futile to try creating an API for dialogs to make sure that people wouldn’t abuse them. People will abuse them no matter what, we just need to design the applications to be smart, not try to be triple smart in the API.

So that’s all, below I have some scenarios where these types of notifications could come in handy. We used these to test out the initial design ideas.

Battery Running Low

You’re running on batteries and your computer needs to let you know it’s about to go down. A bubble up describes how much time you have until power failure. Interaction isn’t possible with this and disappears after a medium timeout. Bubble comes from the battery applet.

Krb5 Re-Auth

Because your network admin is cruel you need to re-key often. This bubble appears under a security icon that appears in the notification area, asking you if you’d like to re-auth or ignore. Interaction is possible and brings up the re-auth dialog or goes away. Disappears after a medium timeout.

VPN Login Message

After selecting a VPN connection to login to, there is a bubble up message showing that you’ve successfully connected and any useless message that your VPN provider has included. No interaction is possible, except maybe to close this. Disappears after short timeout. Bubble comes out of the networkmanager icon.

Switching network after lost connection

When NM decides to change connections after losing a wired or wireless connection. It tells you what connection it is changing to, or if there is no connection tells you that all hope is lost and you might as well destroy your laptop if you don’t have the interweb. No interaction possible, except through applet. Disappears after short timeout. Bubble comes out of the networkmanager icon.

Disk almost full

A notification that you’re about to run out of disk space with options to delete trash or clean tmp space or something like that. Interaction is possible to make space, but clears out after a medium timeout. Bubble comes out of the Trash? Perhaps a disk icons appears in the notification area? This use case sucks.

New device found

Immediately after you insert a new device your computer tells you it’s found it before it even recognizes it. No interaction is possible since we don’t know what the device is yet. Disappears after a short timeout and before device is handled by some application. Bubble comes out of a “New Device” icon that appears in the notification area.

aboot

This is the blog personality of Bryan Clark. I'm a designer in a world of open source. This blog reflects mostly writing about Design, Open Source, Economics, Beer, Wine, and Dogs. There's more information about me on this site or you can contact me directly at clarkbw@gmail.com.

scategories