User:MBoman

From openSUSE

Contents

Welcome to my own page on the internet :-)


Things I'm currently involved in

Make LTSP work with minimal effort on openSUSE

GNOME


Things I've been involved in

Project Pimp My Installer - Tried to push for a new look&feel in the openSUSE installer.

I want to help users to use kiwi as a tool to create XEN images automatically

I wrote scripts to help measure boot speeds in openSUSE.

Put together information for Xwinwrap

I created the GNOME 1 CD Installer.


My todo list

This list contains stuff that I want to document.

Contact me

IRC:: I can usually be found lurking in the #opensuse-gnome and #opensuse-kiwi channels on FreeNode as captain_magnus


Prototypes

Update Policy

This is a draft to discuss what update policies there should be in place for released products, such as openSUSE 10.3. At the moment, only "critical" bug fixes and security patches are approved to be released. We aim to try to loosen up this policy for the sake of usability and other functions / features that are considered necessary to make the distribution more usable. This new policy would only apply to the latest released version (currently openSUSE 10.3). The plan is to try to come up with a good policy that balances risk and usability in a sane matter. The the word usability can be very broad, so for the sake of this proposal, we will use it to mean;

  • An application that was shipped were not compiled with parameters that enables certain new functions (ie. A legacy SPEC file was used and the packages did not know about the new feature)
  • An application that was shipped is not stable enough, and it's not considered feasible to keep patching it to behave as intended. Instead, it should be either upgraded to a later stable version, or downgraded to the last known stable version.
  • Certain configuration parameters were released, but is not considered by the general majority to be the right configuration

In order for these sort of changes to be implemented, there's a need to have a majority of users agree that it's needed. openSUSE have several forums where users can voice this, but the most important once are;

1. Desktop IRC meetings (Should be used for Desktop specific issues and since both openSUSE GNOME and KDE developers participating, it'd be the best forum)

2. openSUSE Status Meeting (Should be used for general distribution specific changes)

The way we see this happening is;

1. Karl installed openSUSE 10.3 with the GNOME Desktop. He used gedit as his text editor and he heard from his friend that he can use plugins to extend the gedit usability. To his horror, when he tried to do this, he notices that gedit has been packaged and released without the plugin support. The reason this happen was most likely that the packager did not know that the latest version of gedit had been enabled with this functionality and it needs to be specified during compile time to enable it. Karl brings this up in the openSUSE GNOME meeting and everyone agrees that a new package should be released containing this functionality. A (FATE) request to release this new package should be made with a reference to the meeting minutes and should not be blocked by the product manager unless there are major concerns.

2. Lars buys a new laptop and installs openSUSE 10.3 on it. To his surprise, he can't get the fingerprint reader to work, even though he's friend have this working with the current Factory on his laptop, which is basically the same. Lars brings this up in the openSUSE Status meeting, but since the maintainer for this package is not participating in that specific meeting, it is not possible to find out what risks there are to put the latest version of this package in the released distribution. An AI is created and the maintainer is assigned to give his input. If the input is positive and there are no major risks, a (FATE) request to put the latest version in is made and should not be blocked by the product manager unless there are major concerns.

3. openSUSE 10.3 has been released, and people that chose to install xyz soon realize that one setting for that package is not/should not have been there. A lot of people discuss this on the mailing lists and the general community agrees that the setting is wrong and should not have been. This is raised the openSUSE Status meeting and the Product Manager agrees that since so many people change the setting to the same value, an update should be released that makes it default.

Publishing the GNOME/Tasks via iCal

I found the site "Remember The Milk" extremely useful to publish Tasks (http://www.rememberthemilk.com/home/opensuse.gnome/#section.tasks). It is also possible to share the tasks list with other member of RTM, as well as creating new tasks via email etc. It is possible to use Evolution to subscribe to the tasks.

The big question is how this could be used together with MediaWiki. I found the pages below, but will have to setup a MediaWiki site to test them;

http://www.k5n.us/wiki/index.php?title=Main_Page

If anyone is interested in helping out with this, please let me know.

Mockup for GNOME Meeting Agenda [1]

Moved to my archive

Mockup for GNOME Meeting Agenda [2]

Moved to my archive

Slab

Moved to it's own page

Mockup for a new Novell_Supported_Projects Page

Moved to my archive

Fun with Compiz Fusion

Just a placeholder for having fun with Compiz Fusion. Will expand to it's own page once ready...

  • Rotate cube via DBus
#!/bin/bash
#
# Created by Magnus Boman @ Novell, 2007.
#
if [ xyz"$1" = xyz"" ]; then
  echo "Usage; 1, 2...99, left, right"
  exit
fi
WINID=`xwininfo -root | grep id: | awk '{ print $4 }'`
if [ "$1" = "left" -o "$1" = "right" ]; then
  dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/rotate/allscreens/rotate_$1 org.freedesktop.compiz.activate string:'root' int32:$WINID
else
  dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/rotate/allscreens/rotate_to org.freedesktop.compiz.activate string:'root' int32:$WINID string:'face' int32:$1
fi
#!/bin/bash
#
# Created by Magnus Boman @ Novell, 2007.
#
pushKey () {
  # Usage;
  #  pushKey {key|keyup|keydn} key [sleep] [repeat]
  if [ xyz"$4" = xyz"" ]; then
    cnt=1
  else
    cnt=$4
  fi
  for (( i = 1 ; i <= $cnt ; i+=1 )) ; do
    ./xdotool $1 $2
    if [ xyz"$3" != xyz"" ]; then
      sleep $3
    fi
  done
}
key () {
# Usage;
#  key "F1" 2 5
#  Where 2 = Sleep and 5 = Number of repeats
  pushKey key $1 $2 $3
}
keydn () {
# Usage;
#  keydn "ctrl+alt"
  pushKey keydn $1
}
keyup () {
# Usage;
#  keyup "ctrl+alt"
  pushKey keyup $1
}
app () {
  if [ xyz"$2" = xyz"" ]; then
    cnt=1
  else
    cnt=$2
  fi
  for (( i = 1 ; i <= $cnt ; i+=1 )) ; do
    $1 &
    sleep 2
  done
}
unapp () {
  killall $1
  sleep 2
}
while [ 1 ]; do
  ./rotate_cube.sh 1
  sleep 1
  app gcalctool 1
  app gedit 1
  app gnome-nettool 1
  sleep 2
  ## Spin cube with window
  keydn "ctrl+alt+shift"
  key Left 1 4
  keyup "ctrl+alt+shift"
  ## Fold/Unfold
  keydn "ctrl+alt"
  key Down 1
  key Left 1 4
  keyup "ctrl+alt"
  sleep 2
  ## Screen saver - Spinning Cube
  ./xdotool mousemove 0 1050
  ./xdotool click 1
  sleep 30
  ./xdotool click 1
  sleep 2
  ## Scale
  ./xdotool mousemove 1400 0
  sleep 3
  ./xdotool key Return
  sleep 2
  ## Shift switcher
  keydn "alt"
  key F2 1 10
  keyup "alt"
  sleep 2
  ## Ring switcher
  keydn "ctrl"
  key F1 1 10
  keyup "ctrl"
  sleep 2
  ## Spin cube
  keydn "ctrl+alt"
  key Left 1 4
  key Right 1 4
  keyup "ctrl+alt"
  sleep 2
  ./rotate_cube.sh 1
  sleep 1
  unapp gcalctool 1
  unapp gedit 1
  unapp gnome-nettool 1
  sleep 2
done