libxfce4menu to be renamed to gdesktopmenu
Now that all Xfce dependencies have been removed from libxfce4menu, I'm planning to rename it to something more generic. Travis Watkins from Alacarte has expressed interest in helping with writing the XfceMenuEditor
(err GDesktopMenuEditor
) part. He is also working on Vala bindings for the library.
With a more complete API and polished code perhaps we can even move gdesktopmenu over to freedesktop.org ... who knows.
Xfce4 Screenshooter news
During the last few days, I found some time to improve Xfce4 Screenshooter and implement some new features.
Interface
The interface has been slightly improved, it should be more user friendly and take less space. I also added an option allowing you to chose whether the mouse pointer should be displayed on the screenshot.
Improved 'Region' mode
When selecting a region to be screenshooted using the mouse, you can now use the Escape key to cancel the operation.
Saving screenshots to remote locations
It is now possible to save screenshots to remote locations such as FTP, computers accessible via SSH, a Samba shared folder... The window below is displayed to show the progress of the upload and to cancel it.
This is totally transparent for the user. Remote locations connected with Gigolo or gvfs-connect are automatically available in the save dialog, as any other local folder.
I still have to update the documentation for those new features and to improve various other points, a new release might be out in May.
Thesis: Migrating Thunar to GIO
I've semi-officially (whatever that means) started working on my thesis on migrating Thunar from ThunarVFS to GIO. I'll work on it in public. That means research material, testing results, status reports and of course the code will be publically available in a read-only wiki and our Subversion repository in a special branch respectively.
I'm always open to suggestions and opinions. Just drop me a mail if you have something to say.
If everything goes as planned (err, did I really sayplanned?) GIO will land in Thunar 1.2 which is supposed to be released along with Xfce 4.8. There's no warranty for this though.
Clipboard Managers Done Right
I just had a look at the screenshots of Parcellite, a GTK+ clipboard manager, mainly because I didn't know what it is.
And just like with Getting Things Done tools before, I immediately had a few ideas how clipboard managers like this could be improved.
If you add a file or a URI to the clipboard, what do you expect to see in a visualization of the clipboard? Do you expect to see the path or filename or do you expect to see an icon and the filename together with a button to open or launch that file? Maybe even a possiblity to drag the item into a file manager or some other program? It's very easy to do things like that with GIO or even ThunarVFS.
What if you copy an email address into the clipboard? Do you expect only to see the email address or would you rather like to see the email address with one or two buttons (add to addressbook, send email)?
What are your experiences with clipboard tools? Are you using them at all? If not, why? What features would you like to see in a clipboard manager to make it attractive to use?
Git Weirdness, Part 2
Ok, now this is just ridiculous:
[brian@machine1 airconfig $] pwd /home/brian/src/airconfig [brian@machine1 airconfig $] git branch -a advanced-ip-settings * master nm-frontend notification-rework reconnect origin/master origin/pre-hal [brian@machine1 airconfig $] cd .. && mkdir t && cd t [brian@machine1 t $] git clone ../airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/nm-frontend origin/notification-rework origin/reconnect
Ok, that makes sense! Now:
[brian@machine1 airconfig $] cd .. [brian@machine1 t $] rm -rf airconfig [brian@machine1 t $] git clone file:///home/brian/src/airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ remote: Counting objects: 1272, done. remote: Compressing objects: 100% (486/486), done. remote: Total 1272 (delta 778), reused 1270 (delta 776) Receiving objects: 100% (1272/1272), 360.40 KiB, done. Resolving deltas: 100% (778/778), done. [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/pre-hal
What. The. Fuck.
Yes, the git-clone man page tells me that, when using a local pathname (and not using a file: URI), it assumes the other repo is local and uses hardlinks between the repos. But hey, if I specify –no-hardlinks when cloning, I still get all branches if I use the “../airconfig” method.
And if I go to machine2 and do “git clone machine1:src/airconfig” I get the same broken result with the file:// method.
Git, I think you rock. But why does your user interface suck so much? And why do you just appear to be broken right now? I can’t seem to find anything else in the man page to help here. (I’m using git 1.6.1.3 if that matters.)
Git Weirdness, Part 2
Ok, now this is just ridiculous:
[brian@machine1 airconfig $] pwd /home/brian/src/airconfig [brian@machine1 airconfig $] git branch -a advanced-ip-settings * master nm-frontend notification-rework reconnect origin/master origin/pre-hal [brian@machine1 airconfig $] cd .. && mkdir t && cd t [brian@machine1 t $] git clone ../airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/nm-frontend origin/notification-rework origin/reconnect
Ok, that makes sense! Now:
[brian@machine1 airconfig $] cd .. [brian@machine1 t $] rm -rf airconfig [brian@machine1 t $] git clone file:///home/brian/src/airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ remote: Counting objects: 1272, done. remote: Compressing objects: 100% (486/486), done. remote: Total 1272 (delta 778), reused 1270 (delta 776) Receiving objects: 100% (1272/1272), 360.40 KiB, done. Resolving deltas: 100% (778/778), done. [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/pre-hal
What. The. Fuck.
Yes, the git-clone man page tells me that, when using a local pathname (and not using a file: URI), it assumes the other repo is local and uses hardlinks between the repos. But hey, if I specify --no-hardlinks when cloning, I still get all branches if I use the "../airconfig" method.
And if I go to machine2 and do "git clone machine1:src/airconfig" I get the same broken result with the file:// method.
Git, I think you rock. But why does your user interface suck so much? And why do you just appear to be broken right now? I can't seem to find anything else in the man page to help here. (I'm using git 1.6.1.3 if that matters.)
Git Weirdness, Part 2
Ok, now this is just ridiculous:
[brian@machine1 airconfig $] pwd /home/brian/src/airconfig [brian@machine1 airconfig $] git branch -a advanced-ip-settings * master nm-frontend notification-rework reconnect origin/master origin/pre-hal [brian@machine1 airconfig $] cd .. && mkdir t && cd t [brian@machine1 t $] git clone ../airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/nm-frontend origin/notification-rework origin/reconnect
Ok, that makes sense! Now:
[brian@machine1 airconfig $] cd .. [brian@machine1 t $] rm -rf airconfig [brian@machine1 t $] git clone file:///home/brian/src/airconfig Initialized empty Git repository in /home/brian/src/t/airconfig/.git/ remote: Counting objects: 1272, done. remote: Compressing objects: 100% (486/486), done. remote: Total 1272 (delta 778), reused 1270 (delta 776) Receiving objects: 100% (1272/1272), 360.40 KiB, done. Resolving deltas: 100% (778/778), done. [brian@machine1 t $] cd airconfig [brian@machine1 airconfig $] git branch -a * master origin/HEAD origin/advanced-ip-settings origin/master origin/pre-hal
What. The. Fuck.
Yes, the git-clone man page tells me that, when using a local pathname (and not using a file: URI), it assumes the other repo is local and uses hardlinks between the repos. But hey, if I specify –no-hardlinks when cloning, I still get all branches if I use the “../airconfig” method.
And if I go to machine2 and do “git clone machine1:src/airconfig” I get the same broken result with the file:// method.
Git, I think you rock. But why does your user interface suck so much? And why do you just appear to be broken right now? I can’t seem to find anything else in the man page to help here. (I’m using git 1.6.1.3 if that matters.)
Git Weirdness
So I have a git repo on my machine at home, that’s cloned from a repo on git.xfce.org. I was doing some work in it the other day – in a private branch, not published to git.xfce.org – and I wanted to continue working on the private branch from another machine. But… it won’t work. Let’s say ‘machine1’ has the repo with the private branch, and ‘machine2’ is where I want to work today.
So, on machine2, I cloned from the master repo on git.xfce.org:
[brian@machine2 src $] git clone git@git.xfce.org:kelnos/airconfig [... stuff happens...] [brian@machine2 src $] cd airconfig [brian@machine2 airconfig $] git branch -a * master origin/master origin/pre-hal
Ok, cool, that’s what I expect. So I ssh over to machine1 (the one I eventually want to pull from), and I check out my list of branches there:
[brian@machine1 airconfig $] git branch -a advanced-ip-settings master * nm-frontend notification-rework reconnect origin/master origin/pre-hal
Ok, cool. the ‘nm-frontend’ branch is the one I want to pull to machine2. So on machine2, I do this:
[brian@machine2 airconfig $] git remote add machine1 machine1:src/airconfig [brian@machine2 airconfig $] git pull machine1 nm-frontend fatal: Couldn't find remote ref nm-frontend fatal: The remote end hung up unexpectedly
Uh… what? Do I have the wrong syntax? Ok, let me just try to pull everything from the remote:
[brian@machine2 airconfig $] git pull machine1 remote: Counting objects: 1085, done. remote: Compressing objects: 100% (301/301), done. remote: Total 1085 (delta 774), reused 1085 (delta 774) Receiving objects: 100% (1085/1085), 323.43 KiB | 14 KiB/s, done. Resolving deltas: 100% (774/774), done. From machine1:src/airconfig * [new branch] advanced-ip-settings -> machine1/advanced-ip-settings * [new branch] master -> machine1/master * [new branch] pre-hal -> machine1/pre-hal
And then at the bottom it prints out a message about not knowing which local branches to merge stuff into. That’s fine, no big deal. But… how come it pulled 3 of my local branches on machine1, but left off 2 of them (‘notification-rework’ and ‘nm-frontend’). No combination of src:dest refspecs seem to do the trick. Pulling one of the 3 branches it seems to like using the syntax I used above seems to work fine, but it can’t see the one I want. What am I doing wrong…?
Git Weirdness
So I have a git repo on my machine at home, that's cloned from a repo on git.xfce.org. I was doing some work in it the other day -- in a private branch, not published to git.xfce.org -- and I wanted to continue working on the private branch from another machine. But... it won't work. Let's say 'machine1' has the repo with the private branch, and 'machine2' is where I want to work today.
So, on machine2, I cloned from the master repo on git.xfce.org:
[brian@machine2 src $] git clone git@git.xfce.org:kelnos/airconfig [... stuff happens...] [brian@machine2 src $] cd airconfig [brian@machine2 airconfig $] git branch -a * master origin/master origin/pre-hal
Ok, cool, that's what I expect. So I ssh over to machine1 (the one I eventually want to pull from), and I check out my list of branches there:
[brian@machine1 airconfig $] git branch -a advanced-ip-settings master * nm-frontend notification-rework reconnect origin/master origin/pre-hal
Ok, cool. the 'nm-frontend' branch is the one I want to pull to machine2. So on machine2, I do this:
[brian@machine2 airconfig $] git remote add machine1 machine1:src/airconfig [brian@machine2 airconfig $] git pull machine1 nm-frontend fatal: Couldn't find remote ref nm-frontend fatal: The remote end hung up unexpectedly
Uh... what? Do I have the wrong syntax? Ok, let me just try to pull everything from the remote:
[brian@machine2 airconfig $] git pull machine1 remote: Counting objects: 1085, done. remote: Compressing objects: 100% (301/301), done. remote: Total 1085 (delta 774), reused 1085 (delta 774) Receiving objects: 100% (1085/1085), 323.43 KiB | 14 KiB/s, done. Resolving deltas: 100% (774/774), done. From machine1:src/airconfig * [new branch] advanced-ip-settings -> machine1/advanced-ip-settings * [new branch] master -> machine1/master * [new branch] pre-hal -> machine1/pre-hal
And then at the bottom it prints out a message about not knowing which local branches to merge stuff into. That's fine, no big deal. But... how come it pulled 3 of my local branches on machine1, but left off 2 of them ('notification-rework' and 'nm-frontend'). No combination of src:dest refspecs seem to do the trick. Pulling one of the 3 branches it seems to like using the syntax I used above seems to work fine, but it can't see the one I want. What am I doing wrong...?
Git Weirdness
So I have a git repo on my machine at home, that’s cloned from a repo on git.xfce.org. I was doing some work in it the other day — in a private branch, not published to git.xfce.org — and I wanted to continue working on the private branch from another machine. But… it won’t work. Let’s say ‘machine1′ has the repo with the private branch, and ‘machine2′ is where I want to work today.
So, on machine2, I cloned from the master repo on git.xfce.org:
[brian@machine2 src $] git clone git@git.xfce.org:kelnos/airconfig [... stuff happens...] [brian@machine2 src $] cd airconfig [brian@machine2 airconfig $] git branch -a * master origin/master origin/pre-hal
Ok, cool, that’s what I expect. So I ssh over to machine1 (the one I eventually want to pull from), and I check out my list of branches there:
[brian@machine1 airconfig $] git branch -a advanced-ip-settings master * nm-frontend notification-rework reconnect origin/master origin/pre-hal
Ok, cool. the ‘nm-frontend’ branch is the one I want to pull to machine2. So on machine2, I do this:
[brian@machine2 airconfig $] git remote add machine1 machine1:src/airconfig [brian@machine2 airconfig $] git pull machine1 nm-frontend fatal: Couldn't find remote ref nm-frontend fatal: The remote end hung up unexpectedly
Uh… what? Do I have the wrong syntax? Ok, let me just try to pull everything from the remote:
[brian@machine2 airconfig $] git pull machine1 remote: Counting objects: 1085, done. remote: Compressing objects: 100% (301/301), done. remote: Total 1085 (delta 774), reused 1085 (delta 774) Receiving objects: 100% (1085/1085), 323.43 KiB | 14 KiB/s, done. Resolving deltas: 100% (774/774), done. From machine1:src/airconfig * [new branch] advanced-ip-settings -> machine1/advanced-ip-settings * [new branch] master -> machine1/master * [new branch] pre-hal -> machine1/pre-hal
And then at the bottom it prints out a message about not knowing which local branches to merge stuff into. That’s fine, no big deal. But… how come it pulled 3 of my local branches on machine1, but left off 2 of them (‘notification-rework’ and ‘nm-frontend’). No combination of src:dest refspecs seem to do the trick. Pulling one of the 3 branches it seems to like using the syntax I used above seems to work fine, but it can’t see the one I want. What am I doing wrong…?