Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - uni_instructor

#1
Dear Liviu

below I added an updated version of my Autohotkey-script which provides additional menu-hotkeys for FET.
Since your recent version does not support alt-hotkeys for the menu bar I had to change my script in a way that it should support different font & window sizes, so generated mouse-clicks on specific menu pop-ups no longer necessary.
Maybe it also might be useful for other users.

Regards
UI

;====================================================================================
; MS-WIN - FET GUI Autohotkey script  - tested on FET 6.3.0
; provides 5  additional hotkeys for
;
;  (1) CTRL+g            starting a timetable generation from open activity planing dialog window 
;
;  (2) CTRL+f            aborting timetable generation and reopening activity planing dialog window 
;
;  (3) CTRL+w            opening both teacher and student timetables   
;
;  (4) CTRL+t            opening all-time constraints window
;
;  (5) SHIFT+CTRL+t      opening all-time constraints window & enables sorting
;
;  (6) ALT+SHIFT+CTRL+t  opening all-time constraints window & enables last filter & enables sorting
;
;
;  CAUTION : (Re-)defining hotkeys on MS-Windows may block pre-defined (system) hotkeys !

;====================================================================================
#SingleInstance, force
#Persistent
#NoEnv
CoordMode, Mouse, Screen
SetTitleMatchMode, 2
SetTitleMatchMode, slow
window_border := 40
 
return

;====================================================================================
^g::    ;(1) Hotkey handler for Ctrl+g / replace by your own hotkey
 
 if not WinExist("ahk_exe fet.exe")
 {
    MsgBox  ERROR: FET not running!
    return
  }   
 else
 {

  WinActivate, ahk_exe fet.exe

  WinGetPos , X_FET_winpos, Y_FET_winpos, FET_Win_Width, FET_Win_Height, ahk_exe fet.exe, , ,
 
  x_pos := X_FET_winpos + FET_Win_Width/2  ; window center
 
  y_pos := Y_FET_winpos + window_border  ; window border
 
 
  Click, %x_pos%, %y_pos%              ;get focus on FET Main window
  Sleep 100
  Send {Escape}  ; leave dialog window
  Sleep 100
  Send {Escape}  ; leave dialog window
  Sleep 100
  Send {Escape}  ; leave dialog window
 
  Sleep 100      ; wait 100ms
  Send ^e        ; send CTRL+e to keyboard / opens timetable generation window / replace by your own language specific hotkey
  Sleep 100
  Send {enter}   ; start timetable generation

 }

return
;====================================================================================
^f::   ;(2) Hotkey handler for Ctrl+f / replace by your own hotkey

 if not WinExist("ahk_exe fet.exe")
 {
    MsgBox  ERROR: FET not running!
    return
  }   
 else
 {
  WinActivate, ahk_exe fet.exe

  Send {Escape}   ; abort timetable generation
  Sleep 100
  Send {Escape}   ; leave report window
  Sleep 200
  Send ^a         ; open activity planing dialog CTRL+a / replace by your own language specific hotkey
 }
return
;====================================================================================
^w::  ; hotkey for opening both teacher and student timetables
 
 if not WinExist("ahk_exe fet.exe")
 {
    MsgBox  ERROR: FET not running!
    return
  }   
 else
 {
   WinActivate, ahk_exe fet.exe
   
   WinGetPos , X_FET_winpos, Y_FET_winpos, FET_Win_Width, FET_Win_Height, ahk_exe fet.exe, , ,

   x_pos := X_FET_winpos + FET_Win_Width/2  ; window center
 
   y_pos := Y_FET_winpos + window_border  ; window_border
   
   
   Send {Escape}   
   Sleep 50
   Send {Escape}   
   Sleep 50
   
   Click, %x_pos%, %y_pos%              ;get focus on FET Main window
   Sleep 50

   Send {alt}                           ;enable FET menu bar & navigate to desired menu entry
   Sleep 50                             ;navigate to timetable --> teachers
   Send {Right}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {Down}
   Sleep 50
   Send {Down}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {enter} ; open window

 
  Click, %x_pos%, %y_pos%            ;get focus on FET Main window
   Sleep 50

   Send {alt}                           ;enable FET menu bar & navigate to desired menu entry
   Sleep 50                             ;navigate to timetable --> classes
   Send {Right}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {Down}
   Sleep 50
   Send {Down}
   Sleep 50
   Send {Down}
   Sleep 50
   Send {Right}
   Sleep 50
   Send {enter} ; open window
   
 }
return

;====================================================================================
^t::  ; hotkey for opening all-time constraints window

 if not WinExist("ahk_exe fet.exe")
 {
    MsgBox  ERROR: FET not running!
    return
  }   
 else
 {
  WinActivate, ahk_exe fet.exe

  WinGetPos , X_FET_winpos, Y_FET_winpos, FET_Win_Width, FET_Win_Height, ahk_exe fet.exe, , ,

  x_pos := X_FET_winpos + FET_Win_Width/2  ; window center
 
  y_pos := Y_FET_winpos + window_border  ; window_border

  Send {Escape}   
  Sleep 50
  Send {Escape}   
  Sleep 50
 
  Click, %x_pos%, %y_pos%              ;get focus on FET Main window
  Sleep 50
 
  Send {alt}                           ;enable FET menu bar & navigate to desired menu entry --> Menu Data
   Sleep 50                            ;navigate to all-time constraints window

  Send {Right}
  Sleep 50
 
  send {Down 12}

  send {enter} ; open window
 }
return

;====================================================================================
+^t::  ; hotkey for opening all-time constraints window & enables sorting

  if not WinExist("ahk_exe fet.exe")
 {
    MsgBox  ERROR: FET not running!
    return
  }   
 else
 {
  WinActivate, ahk_exe fet.exe
 
  WinGetPos , X_FET_winpos, Y_FET_winpos, FET_Win_Width, FET_Win_Height, ahk_exe fet.exe, , ,

  x_pos := X_FET_winpos + FET_Win_Width/2  ; window center
 
  y_pos := Y_FET_winpos + window_border  ; window_border 

 
  Send {Escape}   
  Sleep 50
  Send {Escape}   
  Sleep 50
 
  Click, %x_pos%, %y_pos%              ;get focus on FET Main window
  Sleep 50

  Send {alt}                          ;enable FET menu bar & navigate to desired menu entry --> Menu Data
  Sleep 50                            ;navigate to all-time constraints window

  Send {Right}
  Sleep 50 
 
  send {Down 12}
 
  Sleep 50
  send {enter} ; open window
 
  Send {Tab 8}
  Send {Space}
 }
 
return

;====================================================================================
!+^t::  ; hotkey for opening all-time constraints window  & enables last filter & enables sorting

  if not WinExist("ahk_exe fet.exe")
 {
    MsgBox  ERROR: FET not running!
    return
  }   
 else
 {
  WinActivate, ahk_exe fet.exe
 
  WinGetPos , X_FET_winpos, Y_FET_winpos, FET_Win_Width, FET_Win_Height, ahk_exe fet.exe, , ,

  x_pos := X_FET_winpos + FET_Win_Width/2  ; window center
 
  y_pos := Y_FET_winpos + window_border  ; window_border 

 
  Send {Escape}   
  Sleep 50
  Send {Escape}   
  Sleep 50
 
  Click, %x_pos%, %y_pos%              ;get focus on FET Main window
  Sleep 50

  Send {alt}                          ;enable FET menu bar & navigate to desired menu entry --> Menu Data
  Sleep 50                            ;navigate to all-time constraints window

  Send {Right}
  Sleep 50 
 
  send {Down 12}
 
  Sleep 50
  send {enter} ; open window
 
  Send {Tab 7}
  Send {Space}
  Sleep 100 
  send {enter}
  Sleep 50 
  Send {Tab}
} Send {Space}
 
return

;====================================================================================

^F1::           ;HELP Infos

MsgBox FET-GUI Tool - Help`n`n(1) CTRL+g          starting a timetable generation from open activity planing dialog window`n`n(2) CTRL+f          aborting timetable generation and reopening activity planing dialog window`n`n(3) CTRL+w          opening both teacher and student timetables`n`n(4) CTRL+t          opening all-time constraints window`n`n(5) SHIFT+CTRL+t    opening all-time constraints window & enables sorting`n`n(6) ALT+SHIFT+CTRL+t  opening all-time constraints window & enables last filter & enables sorting
return


;====================================================================================
; Further docs can be found at:
; https://www.autohotkey.com/
; https://www.autohotkey.com/docs/Hotkeys.htm
; https://www.autohotkey.com/docs/KeyList.htm
;====================================================================================



#2
Dear Liviu,

the timetable printing dialog offer two buttons: Preview / Teaser
I am wondering what the difference between both buttons/functions is?
(see attached figure below)
Both buttons seem to produce the same window.

Best regards

UI

#3
Suggestions / Set default tags when adding a new activity
February 25, 2022, 08:57:15 AM
Dear Liviu,

yesterday I had an idea concerning the activity-tags:
When I create new activities I have to add some standard-tags in the majority of all cases.
That task causes many additional mouse clicking.  :(

It would be a real help if I could pre-define a set of default tags that will be added automatically when an new activity is opened for editing. At least a kind of "Add default tags"-button in the "Add activity"-dialog would be helpful. The default-tags to be added can be defined/changed in the "Activity tags" dialog.
As I see there already exist two "Printable/Not printable" buttons for activity-tags.
Adding two "Set as default / Set as no-default"-buttons would fit well into the "Activity tags" dialog window.


Best regards

UI
#4
Dear Liviu,

you are right, there is a notification option. 'Beep' is already marked.
Nevertheless when FET completes no sound can be on Linux heard.  :(  (Using L-Mint 20.3)

Fortunately I can trigger a command.   :)

notify-send 'FET done'  did it.  :)  :)


The new Win-32-Bit build is not such important. Volker can do that later on.


Best regards  :)

UI
#5
Dear Liviu,

I was testing your recent Linux FET 6.3.0 version (from AppImage & qt5.tar.bz2).
I am not sure but is it intended that the Linux version does not produce any acoustic signaling when FET completes timetable generation?  :-\
I think an additional setting would be useful so that optional acoustic signaling can be enabled if needed.

Btw. could Volker lift up the 32-Bit Windows release to version 6.3.0 ? (It is still missing on his homepage)

Best regards  :)

UI

#6
Snapshots / Re: FET-6.2.5-snapshot available
December 16, 2021, 04:11:29 PM
Dear Liviu,   :)

I tested your recent snapshot version.
It is working  :) , but I got the impression that you created a special case of the common constraint "students set must respect the minimum gaps between an ordered pair of activity tags"
The common constraint does not allow activity tags of the same type whereas the new constraint closes that gap.

Wouldn't it be more reasonable to integrate that new special case (pair of identical activity tags) into the common constraint?
Or are there other reasons that prevent from implementing that special case ? (e.g. logical restrictions ...)


Best regards

UI

#7
Dear Liviu

thank you for your suggested workaround. :)
I will give it a try.

Regards

UI
#8
Dear Liviu,

I tested your new beta with different filter selections.
It worked as expected.  :)

I think it is a good idea to add the negation option to all filters in the Activities Dialog.

Regards

UI
#9
Liviu,

would it be possible to add a negation (x) box at the activities selection filter ?
This would give me the option to show all activities without a specific activity-tag.

Regards

UI
#10
Dear Liviu,

I tested your current AppImage. It worked fine.  :-)  :-)

Regards

UI
#11
Dear Liviu,

the set of activity-tag related planning constraints appear to be a reasonable addon for optimized plannings.

I defined different activity tags (short, middle, long) for a selection of activities of different duration.

The constraint  "A students set must respect the minimum gaps between an ordered pair of activity tags" is quite useful if I want to avoid certain activity sequences (eg. middle- duration, long-duration and reverse) without any pause in between.
The current version of FET (6.2.4) does not allow to set the constraint with pairs of equal activity tags (e.g. long, long or middle, middle  duration).
Why do they have to be different?

Regards UI


#12
I downloaded all three new Linux versions and tested them.

All of them worked without any problems. :):):)
#13
Thank you for your efforts! :):):)

I downloaded all three versions of FET6.22 an tested them:

fet-6.2.2-gnu-linux-executable-v2-qt5.tar.bz2
fet-6.2.2-gnu-linux-executable-v2-qt6.tar.bz2
fet-6.2.2-x86_64.AppImage

I got all versions running! :):):)

AppImage reported following errors after starting from command-line:
(A change of language settings is accepted.)

./fet-6.2.2-x86_64.AppImage
qt.qpa.xcb: QXcbConnection: XCB error: 14 (BadIDChoice), sequence: 465, resource id: 1, major code: 53 (CreatePixmap), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 466, resource id: 1, major code: 55 (CreateGC), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 467, resource id: 1, major code: 72 (PutImage), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 13 (BadGC), sequence: 468, resource id: 67108873, major code: 60 (FreeGC), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 469, resource id: 1, major code: 139 (Unknown), minor code: 4
qt.qpa.xcb: QXcbConnection: XCB error: 4 (BadPixmap), sequence: 470, resource id: 1, major code: 54 (FreePixmap), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 143 (Unknown), sequence: 471, resource id: 67108874, major code: 139 (Unknown), minor code: 27
qt.qpa.xcb: QXcbConnection: XCB error: 143 (Unknown), sequence: 472, resource id: 67108874, major code: 139 (Unknown), minor code: 7
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 475, resource id: 67108875, major code: 138 (Unknown), minor code: 23
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 476, resource id: 67108875, major code: 138 (Unknown), minor code: 23
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 477, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 478, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0
.
.
.





FET_Tool_LX/fet-6.2.2_qt6$ ./fet.sh
Message box: "Translation for specified language not loaded - maybe the translation file is missing - setting the language to en_US (US English)"
It is not possible to change language settings.


qt.qpa.xcb: QXcbConnection: XCB error: 14 (BadIDChoice), sequence: 465, resource id: 1, major code: 53 (CreatePixmap), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 466, resource id: 1, major code: 55 (CreateGC), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 467, resource id: 1, major code: 72 (PutImage), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 13 (BadGC), sequence: 468, resource id: 67108873, major code: 60 (FreeGC), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 469, resource id: 1, major code: 139 (Unknown), minor code: 4
qt.qpa.xcb: QXcbConnection: XCB error: 4 (BadPixmap), sequence: 470, resource id: 1, major code: 54 (FreePixmap), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 143 (Unknown), sequence: 471, resource id: 67108874, major code: 139 (Unknown), minor code: 27
qt.qpa.xcb: QXcbConnection: XCB error: 143 (Unknown), sequence: 472, resource id: 67108874, major code: 139 (Unknown), minor code: 7
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 475, resource id: 67108875, major code: 138 (Unknown), minor code: 23
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 476, resource id: 67108875, major code: 138 (Unknown), minor code: 23
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 477, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 478, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 616, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 617, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 1620, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 6 (BadCursor), sequence: 1621, resource id: 67108875, major code: 2 (ChangeWindowAttributes), minor code: 0



fet-6.2.2_qt5 - no error messages while starting from command-line. A change of language settings is accepted.

I will keep an eye on the AppImage and report unusual behavior.

Regards UI   :) :)
#14
I was wondering why Tumbleweed crashed.

I tested openSUSE-Tumbleweed-XFCE-Live-x86_64-Snapshot20211101-Media.iso on  VirtualBox 6.1.28 and it worked.  :)
Btw. the ISO offers a boot-option as live-system. At least that should work.

#15
Dear Liviu,

QuoteI tried VirtualBox, installation of openSUSE Tumbleweed 15.2 froze after a few minutes, installing a package. I had to reboot.

I might install a small real SSD or try again with VirtualBox, a bit later.

I will think of a SSD of maybe ~35 euros, I think I will buy one tomorrow and do the job with it.

I am sorry that your installation attempt failed. I am not sure if the purchase of an additional SSD would be really necessary. You can also try another distro.

Btw. what version of VirtualBox are you using? Recent version ist VirtualBox 6.1.28
Some distros provide rather old versions of VirtualBox  in their repositories.

https://www.virtualbox.org/wiki/Linux_Downloads    gives some information concerning the direct installation from Oracle's repositories.

What is your HOST-OS ?  (Debian?)
inxi -Fz     may reveal some infos on your host-system.

Was the VM-setup correct? (#CPUs < #CPUs of host system, #RAM < #RAM of of host system ...)
VirtualBox can crash if more resources are consumed by the VM than are available on your host system.


QuoteI suppose glibc 2.31 is OK?

glibc 2.31 would be Ok, I think.

Regards

UI