Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1 participants
- 144619 messages
Re: [Pharo-dev] Memory limit problems on Windows VM
by Tudor Girba
Thanks. I will test that.
Doru
On Sat, Jul 19, 2014 at 10:41 PM, Andres Valloud <
avalloud(a)smalltalk.comcastbiz.net> wrote:
> Keep in mind that, depending on how images are loaded, you won't be able
> to load images larger than about 2gb... you might want to test that.
>
>
> On 7/19/14 13:39 , Tudor Girba wrote:
>
>> Wow! I will certainly try this patch.
>>
>> Doru
>>
>>
>> On Fri, Jul 18, 2014 at 5:15 PM, Oscar E. A. Callaú
>> <oscar.apollo(a)gmail.com <mailto:oscar.apollo@gmail.com>> wrote:
>>
>> Well,
>>
>> I fixed the problem by modifying the Pharo.exe file with the 4GB
>> patch program (http://ntcore.com/4gb_patch.php)
>>
>> As mentioned before, I think the best solution is that Pharo vms
>> must be compiled with the flag LARGEADDRESSAWARE, so more memory
>> space is enabled for 64bits Windows OSs.
>>
>> Thanks guys
>>
>> Oscar
>>
>>
>> On Thu, Jul 17, 2014 at 11:03 PM, Andres Valloud
>> <avalloud(a)smalltalk.comcastbiz.net
>> <mailto:avalloud@smalltalk.comcastbiz.net>> wrote:
>>
>> I worked on that switch before, and IIRC it's just a linker
>> switch that marks executables a certain way. So, if you have
>> imagecfg.exe handy...
>>
>> http://support.microsoft.com/__kb/297812
>>
>> <http://support.microsoft.com/kb/297812>
>>
>>
>> On 7/17/14 19:25 , Oscar E. A. Callaú wrote:
>>
>> Well. It seems that Pharo vms must be compiled with that
>> option :/
>>
>> Cheers
>>
>>
>> On Wed, Jul 16, 2014 at 8:44 PM, <btc(a)openinworld.com
>> <mailto:btc@openinworld.com>
>> <mailto:btc@openinworld.com <mailto:btc@openinworld.com>>>
>>
>> wrote:
>>
>> __
>> Eliot Miranda wrote:
>>
>>
>>
>>
>> On Wed, Jul 16, 2014 at 2:21 PM, Oscar E. A. Callaú
>> <oscar.apollo(a)gmail.com
>> <mailto:oscar.apollo@gmail.com>
>> <mailto:oscar.apollo@gmail.com
>>
>> <mailto:oscar.apollo@gmail.com>__>> wrote:
>>
>> Hi,
>>
>> I'm using Windows 8.1 (update1) 64bits with 4GB
>> of physical
>> RAM. I only need 1.5GB of RAM, so I think I
>> don't need to
>> configure my OS to take /3GB of RAM.
>>
>>
>> Well my experience (and others) is that one can't
>> grow the heap
>> much above 1.1 Gb without using the /3Gb switch on
>> Windows XP. I
>> can't talk for 8.1. But if 8.x also limits memory
>> to 2Gb/process
>> unless the /3Gb switch is in effect then yes,
>> you'll need to use
>> the /3Gb switch.
>>
>> HTH
>> Eliot
>>
>>
>> Cheers
>>
>> On Wednesday, July 16, 2014, Eliot Miranda wrote:
>>
>> Hi Oscar,
>>
>>
>> On Wed, Jul 16, 2014 at 9:11 AM, Oscar E.
>> A. Callaú
>> <oscar.apollo(a)gmail.com
>> <mailto:oscar.apollo@gmail.com>> wrote:
>>
>> Hi guys,
>>
>> I'm running some experiments in
>> Pharo. My data
>> is aprox. 1.3GB. When I load my image
>> on Mac,
>> everything works perfectly. But, when I
>> try to load
>> the same image on Windows, I get this
>> error:
>>
>> Unable to commit memory (1326649344
>> bytes requested)
>>
>> I tried the Pharo VM, cogMT and NBcog
>> with and
>> without the option
>>
>> AddressSpaceLimit = 2048
>>
>> in the ini file
>>
>> Please help.
>>
>> What OS are you using? Have you read e.g.
>> http://msdn.microsoft.com/en-_
>> _us/library/windows/hardware/__dn613959(v=vs.85).aspx
>> <http://msdn.microsoft.com/en-
>> us/library/windows/hardware/dn613959(v=vs.85).aspx>
>>
>> <http://msdn.microsoft.com/en-
>> __us/library/windows/hardware/__dn613959%28v=vs.85%29.aspx
>>
>> <http://msdn.microsoft.com/en-
>> us/library/windows/hardware/dn613959%28v=vs.85%29.aspx>>?
>>
>>
>>
>> Here are some additional links...
>>
>> /LARGEADDRESSAWARE (Handle Large Addresses)
>> http://msdn.microsoft.com/en-__us/library/wz223b1z.aspx
>>
>> <http://msdn.microsoft.com/en-us/library/wz223b1z.aspx>
>>
>> Memory Limits for Windows and Windows Server Releases
>> http://msdn.microsoft.com/en-__us/library/windows/desktop/__
>> aa366778(v=vs.85).aspx
>>
>> <http://msdn.microsoft.com/en-us/library/windows/desktop/
>> aa366778(v=vs.85).aspx>
>> I learnt something new reading this article. For Win
>> 8.1 64-bit, the
>> /3GB switch is not applicable or required. However the
>> /LARGEADDRESSAWARE linker option is critical for both
>> 32-bit and
>> 64-bit VMs. Its only the default setting that changes
>> between
>> compiling 32-bit or 64-bit applications. Some extracts...
>>
>> Limits on memory and address space depend on whether the
>> IMAGE_FILE_LARGE_ADDRESS_AWARE value of the
>> LOADED_IMAGE structure
>> and 4-gigabyte tuning (4GT) are in use.
>> IMAGE_FILE_LARGE_ADDRESS_AWARE is set or cleared by
>> using the
>> /LARGEADDRESSAWARE linker option. 4-gigabyte tuning
>> (4GT), also
>> known as application memory tuning, or the /3GB switch,
>> is a
>> technology (**only applicable to 32 bit systems**) that
>> alters the
>> amount of virtual address space available to user mode
>> applications.
>>
>> On x64-bit MS Windows, User-Mode virtual address space
>> for each
>> 32-bit process
>> 4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set
>> 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared
>> (default)
>>
>> On x64-bit MS Windows, User-Mode virtual address space
>> for each
>> 64-bit process
>> 8 TB With IMAGE_FILE_LARGE_ADDRESS_AWARE set (default):
>> 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared
>>
>> cheers -ben
>>
>>
>> --
>> best,
>> Eliot
>>
>>
>>
>>
>> --
>> best,
>> Eliot
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>> www.tudorgirba.com <http://www.tudorgirba.com>
>>
>>
>> "Every thing has its own flow"
>>
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
July 19, 2014
Re: [Pharo-dev] Memory limit problems on Windows VM
by Andres Valloud
Keep in mind that, depending on how images are loaded, you won't be able
to load images larger than about 2gb... you might want to test that.
On 7/19/14 13:39 , Tudor Girba wrote:
> Wow! I will certainly try this patch.
>
> Doru
>
>
> On Fri, Jul 18, 2014 at 5:15 PM, Oscar E. A. Callaú
> <oscar.apollo(a)gmail.com <mailto:oscar.apollo@gmail.com>> wrote:
>
> Well,
>
> I fixed the problem by modifying the Pharo.exe file with the 4GB
> patch program (http://ntcore.com/4gb_patch.php)
>
> As mentioned before, I think the best solution is that Pharo vms
> must be compiled with the flag LARGEADDRESSAWARE, so more memory
> space is enabled for 64bits Windows OSs.
>
> Thanks guys
>
> Oscar
>
>
> On Thu, Jul 17, 2014 at 11:03 PM, Andres Valloud
> <avalloud(a)smalltalk.comcastbiz.net
> <mailto:avalloud@smalltalk.comcastbiz.net>> wrote:
>
> I worked on that switch before, and IIRC it's just a linker
> switch that marks executables a certain way. So, if you have
> imagecfg.exe handy...
>
> http://support.microsoft.com/__kb/297812
> <http://support.microsoft.com/kb/297812>
>
>
> On 7/17/14 19:25 , Oscar E. A. Callaú wrote:
>
> Well. It seems that Pharo vms must be compiled with that
> option :/
>
> Cheers
>
>
> On Wed, Jul 16, 2014 at 8:44 PM, <btc(a)openinworld.com
> <mailto:btc@openinworld.com>
> <mailto:btc@openinworld.com <mailto:btc@openinworld.com>>>
> wrote:
>
> __
> Eliot Miranda wrote:
>
>
>
>
> On Wed, Jul 16, 2014 at 2:21 PM, Oscar E. A. Callaú
> <oscar.apollo(a)gmail.com
> <mailto:oscar.apollo@gmail.com>
> <mailto:oscar.apollo@gmail.com
> <mailto:oscar.apollo@gmail.com>__>> wrote:
>
> Hi,
>
> I'm using Windows 8.1 (update1) 64bits with 4GB
> of physical
> RAM. I only need 1.5GB of RAM, so I think I
> don't need to
> configure my OS to take /3GB of RAM.
>
>
> Well my experience (and others) is that one can't
> grow the heap
> much above 1.1 Gb without using the /3Gb switch on
> Windows XP. I
> can't talk for 8.1. But if 8.x also limits memory
> to 2Gb/process
> unless the /3Gb switch is in effect then yes,
> you'll need to use
> the /3Gb switch.
>
> HTH
> Eliot
>
>
> Cheers
>
> On Wednesday, July 16, 2014, Eliot Miranda wrote:
>
> Hi Oscar,
>
>
> On Wed, Jul 16, 2014 at 9:11 AM, Oscar E.
> A. Callaú
> <oscar.apollo(a)gmail.com
> <mailto:oscar.apollo@gmail.com>> wrote:
>
> Hi guys,
>
> I'm running some experiments in
> Pharo. My data
> is aprox. 1.3GB. When I load my image
> on Mac,
> everything works perfectly. But, when I
> try to load
> the same image on Windows, I get this
> error:
>
> Unable to commit memory (1326649344
> bytes requested)
>
> I tried the Pharo VM, cogMT and NBcog
> with and
> without the option
>
> AddressSpaceLimit = 2048
>
> in the ini file
>
> Please help.
>
> What OS are you using? Have you read e.g.
> http://msdn.microsoft.com/en-__us/library/windows/hardware/__dn613959(v=vs.…
> <http://msdn.microsoft.com/en-us/library/windows/hardware/dn613959(v=vs.85).…>
>
> <http://msdn.microsoft.com/en-__us/library/windows/hardware/__dn613959%28v=v…
> <http://msdn.microsoft.com/en-us/library/windows/hardware/dn613959%28v=vs.85…>>?
>
>
>
> Here are some additional links...
>
> /LARGEADDRESSAWARE (Handle Large Addresses)
> http://msdn.microsoft.com/en-__us/library/wz223b1z.aspx
> <http://msdn.microsoft.com/en-us/library/wz223b1z.aspx>
>
> Memory Limits for Windows and Windows Server Releases
> http://msdn.microsoft.com/en-__us/library/windows/desktop/__aa366778(v=vs.8…
> <http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).a…>
> I learnt something new reading this article. For Win
> 8.1 64-bit, the
> /3GB switch is not applicable or required. However the
> /LARGEADDRESSAWARE linker option is critical for both
> 32-bit and
> 64-bit VMs. Its only the default setting that changes
> between
> compiling 32-bit or 64-bit applications. Some extracts...
>
> Limits on memory and address space depend on whether the
> IMAGE_FILE_LARGE_ADDRESS_AWARE value of the
> LOADED_IMAGE structure
> and 4-gigabyte tuning (4GT) are in use.
> IMAGE_FILE_LARGE_ADDRESS_AWARE is set or cleared by
> using the
> /LARGEADDRESSAWARE linker option. 4-gigabyte tuning
> (4GT), also
> known as application memory tuning, or the /3GB switch,
> is a
> technology (**only applicable to 32 bit systems**) that
> alters the
> amount of virtual address space available to user mode
> applications.
>
> On x64-bit MS Windows, User-Mode virtual address space
> for each
> 32-bit process
> 4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set
> 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared (default)
>
> On x64-bit MS Windows, User-Mode virtual address space
> for each
> 64-bit process
> 8 TB With IMAGE_FILE_LARGE_ADDRESS_AWARE set (default):
> 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared
>
> cheers -ben
>
>
> --
> best,
> Eliot
>
>
>
>
> --
> best,
> Eliot
>
>
>
>
>
>
>
>
> --
> www.tudorgirba.com <http://www.tudorgirba.com>
>
> "Every thing has its own flow"
July 19, 2014
Re: [Pharo-dev] Memory limit problems on Windows VM
by Tudor Girba
Wow! I will certainly try this patch.
Doru
On Fri, Jul 18, 2014 at 5:15 PM, Oscar E. A. Callaú <oscar.apollo(a)gmail.com>
wrote:
> Well,
>
> I fixed the problem by modifying the Pharo.exe file with the 4GB patch
> program (http://ntcore.com/4gb_patch.php)
>
> As mentioned before, I think the best solution is that Pharo vms must be
> compiled with the flag LARGEADDRESSAWARE, so more memory space is
> enabled for 64bits Windows OSs.
>
> Thanks guys
>
> Oscar
>
>
>
> On Thu, Jul 17, 2014 at 11:03 PM, Andres Valloud <
> avalloud(a)smalltalk.comcastbiz.net> wrote:
>
>> I worked on that switch before, and IIRC it's just a linker switch that
>> marks executables a certain way. So, if you have imagecfg.exe handy...
>>
>> http://support.microsoft.com/kb/297812
>>
>>
>> On 7/17/14 19:25 , Oscar E. A. Callaú wrote:
>>
>>> Well. It seems that Pharo vms must be compiled with that option :/
>>>
>>> Cheers
>>>
>>>
>>> On Wed, Jul 16, 2014 at 8:44 PM, <btc(a)openinworld.com
>>> <mailto:btc@openinworld.com>> wrote:
>>>
>>> __
>>> Eliot Miranda wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Wed, Jul 16, 2014 at 2:21 PM, Oscar E. A. Callaú
>>>> <oscar.apollo(a)gmail.com <mailto:oscar.apollo@gmail.com>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I'm using Windows 8.1 (update1) 64bits with 4GB of physical
>>>> RAM. I only need 1.5GB of RAM, so I think I don't need to
>>>> configure my OS to take /3GB of RAM.
>>>>
>>>>
>>>> Well my experience (and others) is that one can't grow the heap
>>>> much above 1.1 Gb without using the /3Gb switch on Windows XP. I
>>>> can't talk for 8.1. But if 8.x also limits memory to 2Gb/process
>>>> unless the /3Gb switch is in effect then yes, you'll need to use
>>>> the /3Gb switch.
>>>>
>>>> HTH
>>>> Eliot
>>>>
>>>>
>>>> Cheers
>>>>
>>>> On Wednesday, July 16, 2014, Eliot Miranda wrote:
>>>>
>>>> Hi Oscar,
>>>>
>>>>
>>>> On Wed, Jul 16, 2014 at 9:11 AM, Oscar E. A. Callaú
>>>> <oscar.apollo(a)gmail.com> wrote:
>>>>
>>>> Hi guys,
>>>>
>>>> I'm running some experiments in Pharo. My data
>>>> is aprox. 1.3GB. When I load my image on Mac,
>>>> everything works perfectly. But, when I try to load
>>>> the same image on Windows, I get this error:
>>>>
>>>> Unable to commit memory (1326649344 bytes requested)
>>>>
>>>> I tried the Pharo VM, cogMT and NBcog with and
>>>> without the option
>>>>
>>>> AddressSpaceLimit = 2048
>>>>
>>>> in the ini file
>>>>
>>>> Please help.
>>>>
>>>> What OS are you using? Have you read e.g.
>>>> http://msdn.microsoft.com/en-us/library/windows/hardware/
>>>> dn613959(v=vs.85).aspx
>>>> <http://msdn.microsoft.com/en-us/library/windows/hardware/
>>>> dn613959%28v=vs.85%29.aspx>?
>>>>
>>>>
>>>>
>>> Here are some additional links...
>>>
>>> /LARGEADDRESSAWARE (Handle Large Addresses)
>>> http://msdn.microsoft.com/en-us/library/wz223b1z.aspx
>>>
>>> Memory Limits for Windows and Windows Server Releases
>>> http://msdn.microsoft.com/en-us/library/windows/desktop/
>>> aa366778(v=vs.85).aspx
>>> I learnt something new reading this article. For Win 8.1 64-bit, the
>>> /3GB switch is not applicable or required. However the
>>> /LARGEADDRESSAWARE linker option is critical for both 32-bit and
>>> 64-bit VMs. Its only the default setting that changes between
>>> compiling 32-bit or 64-bit applications. Some extracts...
>>>
>>> Limits on memory and address space depend on whether the
>>> IMAGE_FILE_LARGE_ADDRESS_AWARE value of the LOADED_IMAGE structure
>>> and 4-gigabyte tuning (4GT) are in use.
>>> IMAGE_FILE_LARGE_ADDRESS_AWARE is set or cleared by using the
>>> /LARGEADDRESSAWARE linker option. 4-gigabyte tuning (4GT), also
>>> known as application memory tuning, or the /3GB switch, is a
>>> technology (**only applicable to 32 bit systems**) that alters the
>>> amount of virtual address space available to user mode applications.
>>>
>>> On x64-bit MS Windows, User-Mode virtual address space for each
>>> 32-bit process
>>> 4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set
>>> 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared (default)
>>>
>>> On x64-bit MS Windows, User-Mode virtual address space for each
>>> 64-bit process
>>> 8 TB With IMAGE_FILE_LARGE_ADDRESS_AWARE set (default):
>>> 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared
>>>
>>> cheers -ben
>>>
>>>
>>>> --
>>>> best,
>>>> Eliot
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> best,
>>>> Eliot
>>>>
>>>
>>>
>>>
>>
>
--
www.tudorgirba.com
"Every thing has its own flow"
July 19, 2014
Re: [Pharo-dev] Spotlight2 for Pharo40?
by Tudor Girba
It is working in Pharo 3.0, but it does not get installed as a global
shortcut properly, and it requires an override on Morphic.
Cheers,
Doru
On Sat, Jul 19, 2014 at 9:36 PM, stepharo <stepharo(a)free.fr> wrote:
> Hi sean and users of Spotlight2
>
> I did not tried it yet but I would like to know
> - is it working the way you want?
> - is it working in 40?
> - what about replacing the old one with this one?
>
> Stef
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
July 19, 2014
Re: [Pharo-dev] UITheme experience (please read) :)
by Tudor Girba
Definitely!
My post was about the second point.
Doru
On Sat, Jul 19, 2014 at 5:22 PM, stepharo <stepharo(a)free.fr> wrote:
> Hi doru
>
> I think that there are two points:
> - moving creation API from theme to classes (I'm doing this one to
> also create example of the widgets)
> Smalltalk ui theme newButton.... sucks :)
> - rethinking the theming architecture
>
> Stef
>
>
>
> On 19/7/14 14:16, Tudor Girba wrote:
>
> Hi Stef,
>
> I do not have time right now to go into details, so take this just as an
> acknowledgment that I have an interest in this topic :).
>
> My initial proposal that I sent to this list a while ago (some details
> are provided here:
> http://www.humane-assessment.com/blog/a-pharo-refactoring-story-adding-them…)
> went exactly in the direction of a ThemeStrategy that I call Themer. We
> used it already for several morphs around Glamour to play with the
> boundaries and it works well.
>
> I still think we need the UITheme but that should only provide a list of
> themers without any implementation. Like that we can package a uniform look
> throughout the whole environment. However, we should still be able to
> override the themer at the level of morph for quick prototyping and custom
> needs.
>
> I will get back to you.
>
> Cheers,
> Doru
>
>
>
>
> On Sat, Jul 19, 2014 at 9:15 AM, stepharo <stepharo(a)free.fr> wrote:
>
>> Hi guys
>>
>> I want to lower the importance of UITheme
>>
>> - first the factory API should be pushed in the respective classes
>> ie:
>>
>> UItheme>>newButtonIn: aThemedMorph for: aModel getState: stateSel action:
>> actionSel arguments: args getEnabled: enabledSel getLabel: labelSel help:
>> helpText
>> "Answer a new button."
>>
>> |b|
>> b := PluggableButtonMorph
>> on: aModel
>> getState: stateSel
>> action: actionSel
>> label: labelSel.
>> b
>> theme: self;
>> label: ' ' font: self buttonFont;
>> update: labelSel;
>> arguments: (args ifNil: [{b}]);
>> getEnabledSelector: enabledSel;
>> cornerStyle: (self buttonCornerStyleIn: aThemedMorph);
>> hResizing: #shrinkWrap;
>> vResizing: #shrinkWrap;
>> setBalloonText: helpText;
>> extent: b minExtent;
>> removeProperty: #theme.
>> ^b
>>
>>
>> should be transformed into
>>
>> PluggableButtonMorph>>newButtonFor: aModel getState: stateSel action:
>> actionSel arguments: args getEnabled: enabledSel label: label help: helpText
>> "Answer a new button."
>>
>> | b |
>> b := self on: aModel getState: stateSel action: actionSel.
>> b
>> arguments: (args ifNil: [{b}]);
>> hResizing: #shrinkWrap;
>> vResizing: #shrinkWrap;
>> label: label ;
>> getEnabledSelector: enabledSel;
>> setBalloonText: helpText;
>> extent: b minExtent;
>> hResizing: #rigid;
>> vResizing: #rigid.
>> ^b
>>
>>
>> Now I do not want to lose the theme so I'm working on that.
>>
>> - second I wanted to experiment with the theming architecture
>>
>> I did the following
>>
>> XPGrowlMorph
>>
>> Object < XPGrowlThemeStrategy
>> parentTheme := UITheme new
>>
>> XPGrowlThemeStrategy < XPGrowlDarkTheme
>> parentTheme := PharoDarkTheme new
>> growFillColor:
>> Color white
>> XPGrowlThemeStrategy < XPGrowlPharo30Theme
>> parentTheme := Pharo30Theme new
>> growFillColor:
>> Color red
>> minTextSize
>> ^ parentTheme minTextSize
>>
>> I did the same with XPSimpleButtonMorph
>>
>>
>> Conclusion:
>>
>> - Do we gain from object inheritance vs class?
>> I do not think that we want to change dynamical the theme chain
>> So I will make the widget strategy class from their theme
>>
>> PharoDarkTheme < XPGrowlDarkTheme
>>
>> Pharo30Theme < XPGrowlPharo30Theme
>>
>> - cons we may have duplicated behavior accross theme => traits?
>>
>> - Do we gain having widgets specific theming strategy
>> - cons this generate a lot of classes
>> so we will see
>>
>> + with inheritance we reuse a lot
>> + probably we can reduce the API of UItheme (see below)
>>
>>
>> - Can we reduce the API of UITheme
>> buttonBorderColor
>> listBorderColor
>> â¦.
>>
>> Yes probably doing
>>
>> Pharo3Theme>>buttonBorderColor
>>
>> =>
>>
>> Pharo30ButtonStrategy>>borderColor
>>
>> -> but should be experimented
>>
>>
>> - From a widget point of view, if we want to have possibility to see the
>> same widgets in different theme at the same time
>> this raises the problem of the injection (or recomputation) of the theme
>> values.
>> Example below:
>> We want to specify a theme but the new is calling initialize and the
>> values are computed with a default/current theme.
>>
>>
>> XPGrowlMorph new
>> theme: XPPharo3ThemeStrategy new;
>> label: 'The time' contents: TimeStamp now;
>> skin;
>> openInWorld.
>>
>> XPGrowlMorph new
>> theme: XPDarkThemeStrategy new;
>> label: 'The time' contents: TimeStamp now;
>> openInWorld.
>>
>> => Question is it worth because with a default theme we would have it
>> nearly working.
>>
>> Stef
>>
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
July 19, 2014
Spotlight2 for Pharo40?
by stepharo
Hi sean and users of Spotlight2
I did not tried it yet but I would like to know
- is it working the way you want?
- is it working in 40?
- what about replacing the old one with this one?
Stef
July 19, 2014
Re: [Pharo-dev] New Cog VMs available
by stepharo
Thanks eliot.
This is cool to see all these fixes and progress from the VM side.
Stef
On 19/7/14 04:04, Eliot Miranda wrote:
> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3048.
>
> CogVM source as per VMMaker.oscog-eem.826/r3048
>
> Fix the ZipPlugin (InflatePlugin&DeflatePlugin) to no longer depend on
> specific
> instance sizes for ReadStream and WriteStream which allows some
> leniency in
> redefining these classes. Fixes occasionaly Monticello commit bugs with
> large packages after loading Collections-eem.567.
>
> Fix compilation warnings in stringForCString:
>
> Add a -warnpid flag that causes warning to print the pid;
> useful in debugging multi-image tests (i.e. magma).
>
> Reimplement the backward count in interpreted methods, storing the count
> in IFrameFlags, hence eliminating the requirement that the jump happens
> consecutively N times in a single method with no backward jumps in any
> other
> method. The Chameneos benchmark has this pattern and so two methods don't
> get jitted. This eliminates lastBackwardJumpMethod & backwardJumpCount.
>
> Spur:
> Fix bad bug in remapObj: that confused the test for old vs
> new and hence tried to copyAndForward old objects.
>
> Fix bug in processWeaklings that could remember a weak object twice.
>
> Mark the methods used by SpurMemoryManager>>globalGarbageCollect as
> inline: #never for profiling.
>
> Spur Newspeak:
> Initialize numIRCs before checking for quick prims.
>
>
> --
> best,
> Eliot
July 19, 2014
Re: [Pharo-dev] UITheme experience (please read) :)
by stepharo
Hi doru
I think that there are two points:
- moving creation API from theme to classes (I'm doing this one to
also create example of the widgets)
Smalltalk ui theme newButton.... sucks :)
- rethinking the theming architecture
Stef
On 19/7/14 14:16, Tudor Girba wrote:
> Hi Stef,
>
> I do not have time right now to go into details, so take this just as
> an acknowledgment that I have an interest in this topic :).
>
> My initial proposal that I sent to this list a while ago (some details
> are provided here:
> http://www.humane-assessment.com/blog/a-pharo-refactoring-story-adding-them…)
> went exactly in the direction of a ThemeStrategy that I call Themer.
> We used it already for several morphs around Glamour to play with the
> boundaries and it works well.
>
> I still think we need the UITheme but that should only provide a list
> of themers without any implementation. Like that we can package a
> uniform look throughout the whole environment. However, we should
> still be able to override the themer at the level of morph for quick
> prototyping and custom needs.
>
> I will get back to you.
>
> Cheers,
> Doru
>
>
>
>
> On Sat, Jul 19, 2014 at 9:15 AM, stepharo <stepharo(a)free.fr
> <mailto:stepharo@free.fr>> wrote:
>
> Hi guys
>
> I want to lower the importance of UITheme
>
> - first the factory API should be pushed in the respective classes
> ie:
>
> UItheme>>newButtonIn: aThemedMorph for: aModel getState: stateSel
> action: actionSel arguments: args getEnabled: enabledSel getLabel:
> labelSel help: helpText
> "Answer a new button."
>
> |b|
> b := PluggableButtonMorph
> on: aModel
> getState: stateSel
> action: actionSel
> label: labelSel.
> b
> theme: self;
> label: ' ' font: self buttonFont;
> update: labelSel;
> arguments: (args ifNil: [{b}]);
> getEnabledSelector: enabledSel;
> cornerStyle: (self buttonCornerStyleIn: aThemedMorph);
> hResizing: #shrinkWrap;
> vResizing: #shrinkWrap;
> setBalloonText: helpText;
> extent: b minExtent;
> removeProperty: #theme.
> ^b
>
>
> should be transformed into
>
> PluggableButtonMorph>>newButtonFor: aModel getState: stateSel
> action: actionSel arguments: args getEnabled: enabledSel label:
> label help: helpText
> "Answer a new button."
>
> | b |
> b := self on: aModel getState: stateSel action: actionSel.
> b
> arguments: (args ifNil: [{b}]);
> hResizing: #shrinkWrap;
> vResizing: #shrinkWrap;
> label: label ;
> getEnabledSelector: enabledSel;
> setBalloonText: helpText;
> extent: b minExtent;
> hResizing: #rigid;
> vResizing: #rigid.
> ^b
>
>
> Now I do not want to lose the theme so I'm working on that.
>
> - second I wanted to experiment with the theming architecture
>
> I did the following
>
> XPGrowlMorph
>
> Object < XPGrowlThemeStrategy
> parentTheme := UITheme new
>
> XPGrowlThemeStrategy < XPGrowlDarkTheme
> parentTheme := PharoDarkTheme new
> growFillColor:
> Color white
> XPGrowlThemeStrategy < XPGrowlPharo30Theme
> parentTheme := Pharo30Theme new
> growFillColor:
> Color red
> minTextSize
> ^ parentTheme minTextSize
>
> I did the same with XPSimpleButtonMorph
>
>
> Conclusion:
>
> - Do we gain from object inheritance vs class?
> I do not think that we want to change dynamical the theme chain
> So I will make the widget strategy class from their theme
>
> PharoDarkTheme < XPGrowlDarkTheme
>
> Pharo30Theme < XPGrowlPharo30Theme
>
> - cons we may have duplicated behavior accross theme => traits?
>
> - Do we gain having widgets specific theming strategy
> - cons this generate a lot of classes
> so we will see
>
> + with inheritance we reuse a lot
> + probably we can reduce the API of UItheme (see below)
>
>
> - Can we reduce the API of UITheme
> buttonBorderColor
> listBorderColor
> â¦.
>
> Yes probably doing
>
> Pharo3Theme>>buttonBorderColor
>
> =>
>
> Pharo30ButtonStrategy>>borderColor
>
> -> but should be experimented
>
>
> - From a widget point of view, if we want to have possibility to
> see the same widgets in different theme at the same time
> this raises the problem of the injection (or recomputation) of the
> theme values.
> Example below:
> We want to specify a theme but the new is calling initialize and
> the values are computed with a default/current theme.
>
>
> XPGrowlMorph new
> theme: XPPharo3ThemeStrategy new;
> label: 'The time' contents: TimeStamp now;
> skin;
> openInWorld.
>
> XPGrowlMorph new
> theme: XPDarkThemeStrategy new;
> label: 'The time' contents: TimeStamp now;
> openInWorld.
>
> => Question is it worth because with a default theme we would have
> it nearly working.
>
> Stef
>
>
>
>
>
> --
> www.tudorgirba.com <http://www.tudorgirba.com>
>
> "Every thing has its own flow"
July 19, 2014
Re: [Pharo-dev] [pharo-project/pharo-core] 5197e7: 40101
by stepharo
Thanks a lot for these ones.
stef
On 19/7/14 08:57, GitHub wrote:
> 13589 deprecated TimeStamp
> https://pharo.fogbugz.com/f/cases/13589
>
> 13590 TimeStamp has still instances
> https://pharo.fogbugz.com/f/cases/13590
July 19, 2014
Re: [Pharo-dev] UITheme experience (please read) :)
by stepharo
On 19/7/14 14:16, Tudor Girba wrote:
> Hi Stef,
>
> I do not have time right now to go into details, so take this just as
> an acknowledgment that I have an interest in this topic :).
>
> My initial proposal that I sent to this list a while ago (some details
> are provided here:
> http://www.humane-assessment.com/blog/a-pharo-refactoring-story-adding-them…)
> went exactly in the direction of a ThemeStrategy that I call Themer.
> We used it already for several morphs around Glamour to play with the
> boundaries and it works well.
Thanks I will read it.
I'm redoing the experience without object delegation but inheritance
(but this is a "detail").
>
> I still think we need the UITheme but that should only provide a list
> of themers without any implementation. Like that we can package a
> uniform look throughout the whole environment. However, we should
> still be able to override the themer at the level of morph for quick
> prototyping and custom needs.
>
> I will get back to you.
OKi
>
> Cheers,
> Doru
>
>
>
>
> On Sat, Jul 19, 2014 at 9:15 AM, stepharo <stepharo(a)free.fr
> <mailto:stepharo@free.fr>> wrote:
>
> Hi guys
>
> I want to lower the importance of UITheme
>
> - first the factory API should be pushed in the respective classes
> ie:
>
> UItheme>>newButtonIn: aThemedMorph for: aModel getState: stateSel
> action: actionSel arguments: args getEnabled: enabledSel getLabel:
> labelSel help: helpText
> "Answer a new button."
>
> |b|
> b := PluggableButtonMorph
> on: aModel
> getState: stateSel
> action: actionSel
> label: labelSel.
> b
> theme: self;
> label: ' ' font: self buttonFont;
> update: labelSel;
> arguments: (args ifNil: [{b}]);
> getEnabledSelector: enabledSel;
> cornerStyle: (self buttonCornerStyleIn: aThemedMorph);
> hResizing: #shrinkWrap;
> vResizing: #shrinkWrap;
> setBalloonText: helpText;
> extent: b minExtent;
> removeProperty: #theme.
> ^b
>
>
> should be transformed into
>
> PluggableButtonMorph>>newButtonFor: aModel getState: stateSel
> action: actionSel arguments: args getEnabled: enabledSel label:
> label help: helpText
> "Answer a new button."
>
> | b |
> b := self on: aModel getState: stateSel action: actionSel.
> b
> arguments: (args ifNil: [{b}]);
> hResizing: #shrinkWrap;
> vResizing: #shrinkWrap;
> label: label ;
> getEnabledSelector: enabledSel;
> setBalloonText: helpText;
> extent: b minExtent;
> hResizing: #rigid;
> vResizing: #rigid.
> ^b
>
>
> Now I do not want to lose the theme so I'm working on that.
>
> - second I wanted to experiment with the theming architecture
>
> I did the following
>
> XPGrowlMorph
>
> Object < XPGrowlThemeStrategy
> parentTheme := UITheme new
>
> XPGrowlThemeStrategy < XPGrowlDarkTheme
> parentTheme := PharoDarkTheme new
> growFillColor:
> Color white
> XPGrowlThemeStrategy < XPGrowlPharo30Theme
> parentTheme := Pharo30Theme new
> growFillColor:
> Color red
> minTextSize
> ^ parentTheme minTextSize
>
> I did the same with XPSimpleButtonMorph
>
>
> Conclusion:
>
> - Do we gain from object inheritance vs class?
> I do not think that we want to change dynamical the theme chain
> So I will make the widget strategy class from their theme
>
> PharoDarkTheme < XPGrowlDarkTheme
>
> Pharo30Theme < XPGrowlPharo30Theme
>
> - cons we may have duplicated behavior accross theme => traits?
>
> - Do we gain having widgets specific theming strategy
> - cons this generate a lot of classes
> so we will see
>
> + with inheritance we reuse a lot
> + probably we can reduce the API of UItheme (see below)
>
>
> - Can we reduce the API of UITheme
> buttonBorderColor
> listBorderColor
> â¦.
>
> Yes probably doing
>
> Pharo3Theme>>buttonBorderColor
>
> =>
>
> Pharo30ButtonStrategy>>borderColor
>
> -> but should be experimented
>
>
> - From a widget point of view, if we want to have possibility to
> see the same widgets in different theme at the same time
> this raises the problem of the injection (or recomputation) of the
> theme values.
> Example below:
> We want to specify a theme but the new is calling initialize and
> the values are computed with a default/current theme.
>
>
> XPGrowlMorph new
> theme: XPPharo3ThemeStrategy new;
> label: 'The time' contents: TimeStamp now;
> skin;
> openInWorld.
>
> XPGrowlMorph new
> theme: XPDarkThemeStrategy new;
> label: 'The time' contents: TimeStamp now;
> openInWorld.
>
> => Question is it worth because with a default theme we would have
> it nearly working.
>
> Stef
>
>
>
>
>
> --
> www.tudorgirba.com <http://www.tudorgirba.com>
>
> "Every thing has its own flow"
July 19, 2014