[amsn]Groepen volgorde veranderen

Pagina: 1
Acties:

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:09
Ik gebruik amsn om te msn'en, maar omdat mijn contacten er nogal wat zijn, heb ik ze ingedeeld in groepen. Maar zoals MSN ze op alfabet indeelt, doet amsn dit met group-ID's (volgens mij zoiets maak ik op uit het feit dat als je een group verwijdert het ID blijft bestaan: zie bugs).

Mijn vraag is nu: Waar en hoe kan ik die ID's veranderen zodat ik zelf de volgorde kan bepalen? Tis namelijk erg irritant om je overigen bovenaan te zien en te moeten scrollen voor belangrijke contacten...

De search van GoT en Google geven ook geen antwoord en de FAQ van amsn ook niet

[ Voor 10% gewijzigd door Paultje3181 op 04-03-2003 13:31 ]


  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:09
ik heb gister nog eens gekeken in alle bestanden en het lijkt erop dat group.tcl de groepen regelt, maar volgens mij zijn dit gewoon algemene punten. Is er ook een speciaal per user van? Ik kon niks vinden, maar het zag er wel een beetje hocuspocus uit. (weet niks van compilen, programmeren enzo...)

  • terrapin
  • Registratie: Februari 2002
  • Niet online
kai@afraid:~/.amsn$ cat ~/.amsn/contactlist.txt
# AMSN-Contact-List version 1.0
# AMSN-Contact-List date Sun Jul 21 10:25:55 2002
# AMSN-Contact-List info FL(forward) RL(reverse) AL(allow) BL(block)
-- -- AL -- blaataap@mail.local (gid -1)
FL RL AL -- blaataap2@mail.local (gid 0) AAP
Ik denk dat gid de group is, -1 betekent verwijderd (of gebant?).
Maak gewoon een backup en kloot er wat mee zou ik zeggen..
Misschien is dit bestand echter dynamisch??

The higher that the monkey can climb, The more he shows his tail


  • terrapin
  • Registratie: Februari 2002
  • Niet online
Nog wat beter gekeken:
het bestand 'amsn' is ook een tcl bestand. Daarin is het volgende te vinden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Decide which grouping we are going to use
   if {$config(orderbygroup)} {
       set glist [lsort [::groups::GetList]]
       set gcnt [llength $glist]
       # Now setup each of the group's defaults
       for {set i 0} {$i < $gcnt} {incr i} {
           set gid [lindex $glist $i]
           set ::groups::uMemberCnt($gid) 0
       }
   } else {     # Order by Online/Offline
       # Defaults already set in setup_groups
       set glist [list online offline]
       set gcnt 2
   }


Volgens mij wordt in de 'for {set i 0} {$i < $gcnt} {incr i}'-loop de volgorde bepaald.. Misschien dit een beetje aanpassen?

The higher that the monkey can climb, The more he shows his tail


  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:09
ik heb net doorgelezen, en ook abook.tcl (regelt adresboek) maar het lijkt erop dat continue een nieuwe ID binnengehaald wordt.
# Used to fetch the group ID so that the caller can order by
# group if needed. Returns -1 on error.
# ::abook::getGroup my@passport.com -id : returns group id
# ::abook::getGroup my@passport.com -name : return group name
proc getGroup {passport how} {
variable contacts

if { ![info exists contacts($passport)] } {
status_log "E: Group: unknown contact $passport!\n" red
return -1
}

set groupId [lindex $contacts($passport) 0]
if {$how == "-id"} {
return $groupId
}
set groupName [::groups::GetName $groupId]
return $groupName
}
Dit komt uit mijn abook.tcl, ik heb geprobeerd om $how == "-id" te veranderen in $how == "-name" Maar dan vind ie mijn contacten niet in mijn lijst. Andere opties?

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:09
terrapin schreef op 05 maart 2003 @ 18:54:
Nog wat beter gekeken:
het bestand 'amsn' is ook een tcl bestand. Daarin is het volgende te vinden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Decide which grouping we are going to use
   if {$config(orderbygroup)} {
       set glist [lsort [::groups::GetList]]
       set gcnt [llength $glist]
       # Now setup each of the group's defaults
       for {set i 0} {$i < $gcnt} {incr i} {
           set gid [lindex $glist $i]
           set ::groups::uMemberCnt($gid) 0
       }
   } else {     # Order by Online/Offline
       # Defaults already set in setup_groups
       set glist [list online offline]
       set gcnt 2
   }


Volgens mij wordt in de 'for {set i 0} {$i < $gcnt} {incr i}'-loop de volgorde bepaald.. Misschien dit een beetje aanpassen?
Die loop telt het aantal mensen in de groep, niet de ID. Als je op 6 zet, heb je ineens 1100 vrienden :D LOL

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:09
Functioneel schopje?

Ik heb dus in een aantal bestanden gekeken, maar ik word er niet echt heel veel wijs uit. Misschien dat anderen nog dingen weten? Heb moet ergens in die .tcl bestanden staan. Of zou het kunnen dat die group ID door msn passport geregeld worden? En dat MSN gewoon een optie heeft: rangschik de groepen op alfabet (zo staan ze namelijk) ipv op groupID?

Lijkt me niet echt nuttig aangezien je al bij groupID een functie maakt, maar aan de andere kant, je kan wel zelf je groepsvolgorde bepalen, zonder dat je met die ID's gaat klooien.

  • MadEgg
  • Registratie: Februari 2002
  • Nu online

MadEgg

Tux is lievvv

Die loop haalt begint met:

code:
1
       set glist [lsort [::groups::GetList]]

Dit haart met ::groups::GetList de lijst van groepen op, en sorteert die vervolgens met gsort.
Ik denk echter dat deze GetList een lijst met gid's ophaalt in plaats van een lijst met namen. Het gevolg is dus dat hij ze sorteerd op deze id.

Je zou kunnen proberen dit te veranderen in:
code:
1
       set glist [::groups::GetList]


Het gevolg daarvan is dat de groepen op de volgorde komen waarop hij ze binnenkrijgt. Het is in ieder geval een andere volgorde waarschijnlijk, maar welke?
Ik ga ut zelf ook ff proberen.

edit:

Bij mij staat het in een ander bestand, gui.tcl. Andere versie?

Met ::groups::GetName $gid kan je de naam krijgen. Wat je dus moet doen is elke gid in die array de naam ophalen, die in een andere array zetten, vervolgens die array sorteren en uit het resultaat de gid's weer op de goede volgorde zetten.

[ Voor 23% gewijzigd door MadEgg op 11-03-2003 14:46 ]

Tja


  • MadEgg
  • Registratie: Februari 2002
  • Nu online

MadEgg

Tux is lievvv

Okee, het is gelukt.

In gui.tcl vanaf regel 2320(maar bij andere versies dus in amsn ??) heb ik:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   # Decide which grouping we are going to use
   if {$config(orderbygroup)} {
       set glist [lsort [::groups::GetList]]
       set gcnt [llength $glist]
       # Now setup each of the group's defaults
       for {set i 0} {$i < $gcnt} {incr i} {
       set gid [lindex $glist $i]
       set ::groups::uMemberCnt($gid) 0
       }
   } else { # Order by Online/Offline
       # Defaults already set in setup_groups
       set glist [list online offline]
       set gcnt 2
   }


veranderd in:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
   # Decide which grouping we are going to use
   if {$config(orderbygroup)} {
       set thelist [::groups::GetList]
       set listcnt [llength $thelist]
       set thelistnames [list]
       for {set i 0} {$i < $listcnt} {incr i} {
        set gid [lindex $thelist $i]
        set thename [::groups::GetName $gid]
        lappend thelistnames $thename
       }
       set sortlist [lsort $thelistnames]
       set glist [list]
       for {set i 0} {$i < $listcnt} {incr i} {
        for {set j 0} {$j < $listcnt} {incr j} {
         if {[lindex $sortlist $i] == [lindex $thelistnames $j]} {
          lappend glist [lindex $thelist $j]
          break
         }
        }
       }

       #set glist [lsort [::groups::GetList]]
       set gcnt [llength $glist]
       # Now setup each of the group's defaults
       for {set i 0} {$i < $gcnt} {incr i} {
       set gid [lindex $glist $i]
       set ::groups::uMemberCnt($gid) 0
       }
   } else { # Order by Online/Offline
       # Defaults already set in setup_groups
       set glist [list online offline]
       set gcnt 2
   }


Nu is mijn lijst alfabetisch gesorteerd. Als iemand de code wat efficienter kan maken, be my guest :p
Gelijk maar ff op amsn project page gesubmit.

[ Voor 43% gewijzigd door MadEgg op 11-03-2003 15:43 ]

Tja


  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:09
heee, bij mij werkt het ook :D het lijkt erop dat dit dynamische bestanden zijn die per versie verschillen.
Het staat namelijk niet in regel 2320... Maar ja. Voor versie 0.71 (Tarball) staat iig alles in amsn (zonder extensie, je kunt het gewoon openen met een editor. Die regels veranderen en het staat op alfabet.

Thnx MadEgg!!!!!!!!!!!!!

  • MadEgg
  • Registratie: Februari 2002
  • Nu online

MadEgg

Tux is lievvv

Paultje3181 schreef op 11 March 2003 @ 16:44:
heee, bij mij werkt het ook :D het lijkt erop dat dit dynamische bestanden zijn die per versie verschillen.
Het staat namelijk niet in regel 2320... Maar ja. Voor versie 0.71 (Tarball) staat iig alles in amsn (zonder extensie, je kunt het gewoon openen met een editor. Die regels veranderen en het staat op alfabet.

Thnx MadEgg!!!!!!!!!!!!!
Kijk daar hebben we 'm al :) Ik heb versie 0.80a.

Alstu :)

Tja

Pagina: 1